program flash memory through JTAG on FPGA

R

rat

Guest
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
 
Petter Gustad <newsmailcomp6@gustad.com> wrote in message news:<87ekpnr2pu.fsf@zener.home.gustad.com>...
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.
Ah, neat! I didn't know you could do that. Learn something new every day...

-a
 
"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?
Thanks a lot!

Regards

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
 
"Symon" <symon_brewer@hotmail.com> writes:

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?

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?
 
"Petter Gustad" <newsmailcomp6@gustad.com> wrote in message
news:874qq9dhoy.fsf@filestore.home.gustad.com...
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.
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! ;-)
 
"Symon" <symon_brewer@hotmail.com> writes:

"Petter Gustad" <newsmailcomp6@gustad.com> wrote in message
news:874qq9dhoy.fsf@filestore.home.gustad.com...

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.

Hi Petter,
What did you use for the physical connection between your PC and JTAG
target? Or was it an embedded application?
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?
 

Welcome to EDABoard.com

Sponsor

Back
Top