I'm designing an Altera NIOS (could be Xilinx equivalent) CPU system with external FLASH (and RAM) memory. The Altera FPGA (probably ACEX1K) has a JTAG port so when I get the 1st prototype I can download a configuration using the JTAG. But how can I program the FLASH when it's soldered on the board? I can't find a FLASH with a JTAG interface. I can't preprogram the FLASH since I don't have the code before assembly and probably want to change it even in the field. Any suggestions? Thanks George
FLASH memory programming with Altera NIOS and same question for Xilinx
Started by ●January 9, 2004
Reply by ●January 9, 20042004-01-09
"George" <george.martin@att.net> wrote in message news:e9d879fa.0401090645.6a5aa1ff@posting.google.com...> I'm designing an Altera NIOS (could be Xilinx equivalent) CPU system > with external FLASH (and RAM) memory. The Altera FPGA (probably > ACEX1K) has a JTAG port so when I get the 1st prototype I can download > a configuration using the JTAG. But how can I program the FLASH when > it's soldered on the board? > > I can't find a FLASH with a JTAG interface. I can't preprogram the > FLASH since I don't have the code before assembly and probably want to > change it even in the field. > > Any suggestions? > > Thanks > GeorgeWhat about using the jtag to configure the fpga (including the NIOS and a small boot program in "rom"), and then use the NIOS to download a program via a serial cable, ethernet, or other interface and burn the flash with that?
Reply by ●January 9, 20042004-01-09
George, David's description is correct for Xilinx/MicroBlaze as well. I can tell you first hand because I've done what you've described. You can use the MDM (debug module) for JTAG and take the boot program out of the picture, or use XMDSTUB (what David describes as a small boot program) in Block RAM to connect via either JTAG or serial. XMD is a .tcl environment so you can easily use the EDK provided flash.tcl (or modify it if you need to use a different part or bus width) in order to read in your files and transfer them over to the Flash part. You could also avoid the debugger (XMD) altogether and write your own small program to live in Block RAM and move data to Flash that way (perhaps via a serial cable or ethernet). I'd be willing to wager that Nios has very similar capabilities and methods, but for obvious reasons I have only used the MicroBlaze solution for this. Best of luck. Ryan Laity Xilinx Applications David Brown wrote:> "George" <george.martin@att.net> wrote in message > news:e9d879fa.0401090645.6a5aa1ff@posting.google.com... > >>I'm designing an Altera NIOS (could be Xilinx equivalent) CPU system >>with external FLASH (and RAM) memory. The Altera FPGA (probably >>ACEX1K) has a JTAG port so when I get the 1st prototype I can download >>a configuration using the JTAG. But how can I program the FLASH when >>it's soldered on the board? >> >>I can't find a FLASH with a JTAG interface. I can't preprogram the >>FLASH since I don't have the code before assembly and probably want to >>change it even in the field. >> >>Any suggestions? >> >>Thanks >>George > > > What about using the jtag to configure the fpga (including the NIOS and a > small boot program in "rom"), and then use the NIOS to download a program > via a serial cable, ethernet, or other interface and burn the flash with > that? > > >
Reply by ●January 9, 20042004-01-09
"David Brown" <david@no.westcontrol.spam.com> wrote in message news:<btnb6m$63k$1@news.netpower.no>...> "George" <george.martin@att.net> wrote in message > news:e9d879fa.0401090645.6a5aa1ff@posting.google.com... > > I'm designing an Altera NIOS (could be Xilinx equivalent) CPU system > > with external FLASH (and RAM) memory. The Altera FPGA (probably > > ACEX1K) has a JTAG port so when I get the 1st prototype I can download > > a configuration using the JTAG. But how can I program the FLASH when > > it's soldered on the board? > > > > I can't find a FLASH with a JTAG interface. I can't preprogram the > > FLASH since I don't have the code before assembly and probably want to > > change it even in the field. > > > > Any suggestions? > > > > Thanks > > George > > What about using the jtag to configure the fpga (including the NIOS and a > small boot program in "rom"), and then use the NIOS to download a program > via a serial cable, ethernet, or other interface and burn the flash with > that?I think you mean "rom" is housed in the fpga. Perhaps a small boot program would fit into the the FPGA rom space. But I'm afraid a full fpga would not have enough space. I'll look into that and post a follow up message here. Any ohter suggestions.
Reply by ●January 9, 20042004-01-09
george.martin@att.net (George) wrote in message news:<e9d879fa.0401090645.6a5aa1ff@posting.google.com>...>But how can I program the FLASH when it's soldered on the board? > > I can't find a FLASH with a JTAG interface. I can't preprogram the > FLASH since I don't have the code before assembly and probably want to > change it even in the field.If all the flash pins are attached to the Altera, you can use the JTAG boundary scan capabilities of the Altera to program the flash. Google "jtag flash program" came up with many vendors of tools and software that does this. Alan Nishioka alann@accom.com
Reply by ●January 10, 20042004-01-10
george.martin@att.net (George) writes:> I think you mean "rom" is housed in the fpga. Perhaps a small boot > program would fit into the the FPGA rom space. But I'm afraid a full > fpga would not have enough space. I'll look into that and post a > follow up message here. Any ohter suggestions.Altera has a boot monitor program called GERMS. You can upload a FPGA configuration with GERMS in on-board ROM. You can then use nios-run to upload and run code NIOS code, which again could read data from some other interface and upload the FPGA configuration to the FLASH (as others have suggested). If you plan on a production run (and test) I would suggest looking into programming the FLASH using the JTAG port of the FPGA. JTAG Technologies (and others) have software for this: (http://www.jtag.com/index.php?lg=en&p=3210) Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?