program flash memory through JTAG on FPGA

Hi, In my design, there is a flash memory chip connecting to fpga chip, I want to program the flash memory through the JTAG port on the FPGA, where can I find some introduction? Thanks a lot!

Regards

Reply to
rat
Loading thread data ...

want

The basic idea is that you put the FPGA in EXTEST and take control all the IOs via the JTAG port, so you have complete access to the flash memory.

HTH, Jim snipped-for-privacy@yahoo.com

formatting link

Reply to
Jim Wu

I don't think it's possible to do this. The FPGA JTAG ports are dedicated to boundary scan, and in the case of CPLDs, are used for device programming. You can't access the JTAG controller directly in FPGA logic.

However, you could implement your own JTAG TAP controller in the FPGA and wire that to the flash controller, and bring your JTAG signals out on regular I/O pins.

-a

Reply to
Andy Peters

Look at Jim's message. You can control all the IO's on the FPGA through the FPGA. Then you can apply patterns on the pins connected to the flash to program it. In general you can do this with most JTAG devices. I've programmed I2C proms through the JTAG port of on of our ASICs. The tricky part is to generate the JTAG patterns to do the programming.

I guess rat might be interested to put the FPGA bitstream into the flash in order to program the FPGA. In this case there is no loaded FPGA on the board.

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?
Reply to
Petter Gustad

You could also implement a MicroBlaze system with the processor, a memory controller peripheral (EMC), and a Debug Module (MDM) in the FPGA. You'd configure the FPGA via JTAG and then connect your PC to the MDM via JTAG and XMD. With this arrangement, you're using JTAG as your connection to the debug module which is running in the FPGA. It's not terribly fast(see XMD documentation for more information) but it's getting faster and it'll definitely get the job done. You could also use another connection to a terminal/PC such as ethernet or RS232 to make this transfer of data, it just depends upon what you have available to you.

I believe that there are also companies who specialize in using the boundary scan "XTEST" capability to program storage parts such as Flash just as Petter described - you may also wish to look into that.

Best regards, Ryan Laity Xil> snipped-for-privacy@yahoo.com (Andy Peters) writes:

Reply to
Ryan Laity

Hi,

There's a tool called Universal Scan that does just what you are looking for.

formatting link
I had some students using it at SJSU to program an Intel Flash attached to a Spartan-IIE. I was impressed with the tool.

Eric

Reply to
Eric Crabill

In the last issue of Xcell-Journal (49) there is an article about it. They call it "inexpensive" ;-)

Reply to
E.S.

Hi,

I have no idea what it costs, the students were able to make use of the downloadable demo version, and they were even offered technical support when they ran into trouble...

Eric

"E.S." wrote:

Reply to
Eric Crabill

But it costs more that the ChipScope, and that makes me wonder ;-)

Anyway, I was thinking all the time, that such a tool would be nice to have from xilinx. They have all the chip definitions in house already, they sell you the needed JTAG dongles anyway, and have to update the drivers, so getting something like the picoblaze to program flash, shouldn't be a big thing. (My guess is, it would be a walk in the park for Ken)

And as I have pretty much a PC for doing xilinx parts alone, so it still works when I need it (no Word,outlook, no viruses,..) I really try to cut the amount of different packages from diiferent vendors to minimum.

Just my .2

Reply to
E.S.

Reply to
Symon

want

Ah, neat! I didn't know you could do that. Learn something new every day...

-a

Reply to
Andy Peters

If you're using an Altera FPGA (Stratix/Cyclone, etc.), and a common flash interface (CFI)-compliant flash device, you might consider giving Nios II (released this week) a try for your programming needs. It includes a CFI flash interface component and flash programmer that operates via JTAG as you describe. Built-in support exists for Altera Nios dev boards, and there is an document describing how to customize the flash-programmer for your own board.

If you're interested, check out chapter 13 of the Processor Reference Manual and the Flash Programmer User guide here:

formatting link

Regards,

Jesse Kempa Altera Corp. jkempa at altera dot com

Reply to
Jesse Kempa

I've written my own software to program an fpga from an svf file. If you want to program a flash isp using jtag you will need (in addition to a svf parser) to parse the bsdl files for all the devices in the scan chain as well. You should also read the netlist (edif in most cases) or some other description of which pins are connected to the flash.

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?
Reply to
Petter Gustad

Hi Petter, What did you use for the physical connection between your PC and JTAG target? Or was it an embedded application? Thanks, Syms. p.s. Look, I've bottom posted, just for you! ;-)

Reply to
Symon

I've done several versions. One was the pci bus (i.e. isp on a pci card). The other was ethernet.

I've been thinking of making the latter into a product since it's quite user friendly. You don't need a device driver on the PC side. You simply use one of the tftp client programs out there and transfer the data to the programmer.

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?
Reply to
Petter Gustad

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.