program flash memory through JTAG on FPGA

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
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



Re: program flash memory through JTAG on FPGA

Quoted text here. Click to load it
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
http://www.geocities.com/jimwu88/chips



Re: program flash memory through JTAG on FPGA
Quoted text here. Click to load it

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

Re: program flash memory through JTAG on FPGA
snipped-for-privacy@yahoo.com (Andy Peters) writes:

Quoted text here. Click to load it

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.

Quoted text here. Click to load it

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?
We've slightly trimmed the long signature. Click to see the full one.
Re: program flash memory through JTAG on FPGA
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
Xilinx Applications

Petter Gustad wrote:
Quoted text here. Click to load it

Re: program flash memory through JTAG on FPGA

Hi,

There's a tool called Universal Scan that does just what
you are looking for.  http://www.universalscan.com /
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

Re: program flash memory through JTAG on FPGA

Quoted text here. Click to load it

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



Re: program flash memory through JTAG on FPGA

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:
Quoted text here. Click to load it

Re: program flash memory through JTAG on FPGA

Quoted text here. Click to load it

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



Re: program flash memory through JTAG on FPGA
It may be pretty easy to do this. I've done a little research, it seems
there's a JTAG language called Serial Vector Format or SVF. Check out
XAPP503. It also appears that iMPACT can play something called XSVF format
files through the Xilinx JTAG cables. There's a utility included with
XAPP058 called SVF2XSVF. Mix together with some Perl scripts, piece of cake,
right? ;-)
Does this make sense? Am I on the right track? Anybody done anything
similar? Like to share your experiences?
cheers, Syms

Quoted text here. Click to load it



Re: program flash memory through JTAG on FPGA

Quoted text here. Click to load it


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?
We've slightly trimmed the long signature. Click to see the full one.
Re: program flash memory through JTAG on FPGA
Quoted text here. Click to load it

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! ;-)



Re: program flash memory through JTAG on FPGA

Quoted text here. Click to load it

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?
We've slightly trimmed the long signature. Click to see the full one.
Re: program flash memory through JTAG on FPGA
Quoted text here. Click to load it
want
Quoted text here. Click to load it

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

-a

Re: program flash memory through JTAG on FPGA
Quoted text here. Click to load it


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:
http://www.altera.com/literature/lit-nio2.jsp

Regards,

Jesse Kempa
Altera Corp.
jkempa at altera dot com

Site Timeline