FPGARelated.com
Forums

program flash memory through JTAG on FPGA

Started by rat May 12, 2004
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


"rat" <rattt@col.edu.cn> wrote in message
news:c7ujmp$1phn$1@mail.cn99.com...
> 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?
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 jimwu88NOOOSPAM@yahoo.com http://www.geocities.com/jimwu88/chips
"rat" <rattt@col.edu.cn> wrote in message news:<c7ujmp$1phn$1@mail.cn99.com>...
> 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?
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
Bassman59a@yahoo.com (Andy Peters) writes:

> "rat" <rattt@col.edu.cn> wrote in message news:<c7ujmp$1phn$1@mail.cn99.com>... > > 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? > > 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.
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.
> 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.
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?
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:
> Bassman59a@yahoo.com (Andy Peters) writes: > > >>"rat" <rattt@col.edu.cn> wrote in message news:<c7ujmp$1phn$1@mail.cn99.com>... >> >>>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? >> >>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. > > > 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. > > >>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. > > > 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 >
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
Eric Crabill wrote:

> 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.
In the last issue of Xcell-Journal (49) there is an article about it. They call it "inexpensive" ;-)
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:
> > Eric Crabill wrote: > > > 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. > > In the last issue of Xcell-Journal (49) there is an article > about it. They call it "inexpensive" ;-)
Eric Crabill wrote:

> 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...
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
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
"E.S." <emu@ecubics.com> wrote in message
news:wN4rc.31$_J1.18@fe39.usenetserver.com...

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