EmbeddedRelated.com
Forums

Programming FPGA

Started by seecwriter March 17, 2011
I have a requirment for a Rabbit to program a flash-based Xilinx FPGA
via a JTAG interface. The Rabbit would receive the data file via a
serial port and program the FPGA via its JTAG port. I've found alot of
info on using a JTAG port, but nothing that defines how to implement
the interface.

Does anyone know where I can get that level of detail? And words of
wisdom from anyone who's done this before are always welcome.

Steve

Steve,
A quick google search revealed the following Xilinx document titled
"Xilinx In-System Programming Using an
Embedded Microcontroller" that may be helpful to you:

http://www.xilinx.com/support/documentation/application_notes/xapp058.pdf

--Mike

Last time we tried this, we discovered that the JTAG spec would have
cost us a lot of money. The faster solution was to use SPI to the FPGA.
I don't know which device you are using and whether it can do SPI, but I
think that is how the flash based devices work. We are using the
xc3s700.

-Pete F

-----Original Message-----
From: r... [mailto:r...]
On Behalf Of seecwriter
Sent: Thursday, March 17, 2011 3:17 PM
To: r...
Subject: [rabbit-semi] Programming FPGA

I have a requirment for a Rabbit to program a flash-based Xilinx FPGA
via a JTAG interface. The Rabbit would receive the data file via a
serial port and program the FPGA via its JTAG port. I've found alot of
info on using a JTAG port, but nothing that defines how to implement the
interface.

Does anyone know where I can get that level of detail? And words of
wisdom from anyone who's done this before are always welcome.

Steve

Pete,

I'm looking into this again. We are using a XC95288XL CPLD. Once we
get this working we'll move on to an FPGA.

Looking at AppNote 058 sample code, it bit thumps the JTAG pins. And
it appears that a hardware SPI would not work because it changes modes
by setting TMS and toggling TCK once. You can't do that with HW SPI.

What data type did you use?

Steve

--- In r..., "Fournier, Peter" wrote:
>
> Last time we tried this, we discovered that the JTAG spec would have
> cost us a lot of money. The faster solution was to use SPI to the FPGA.
> I don't know which device you are using and whether it can do SPI, but I
> think that is how the flash based devices work. We are using the
> xc3s700.
>
> -Pete F
>
>
> -----Original Message-----
> From: r... [mailto:r...]
> On Behalf Of seecwriter
> Sent: Thursday, March 17, 2011 3:17 PM
> To: r...
> Subject: [rabbit-semi] Programming FPGA
>
> I have a requirment for a Rabbit to program a flash-based Xilinx FPGA
> via a JTAG interface. The Rabbit would receive the data file via a
> serial port and program the FPGA via its JTAG port. I've found alot of
> info on using a JTAG port, but nothing that defines how to implement the
> interface.
>
> Does anyone know where I can get that level of detail? And words of
> wisdom from anyone who's done this before are always welcome.
>
> Steve
>
>
I can't send you a file here, I'll send one to your email.

For others who are reading this, the FPGA we are using is a Xilinx XC3S700-4FG400. This one (there may be others as well) has a built in SPI programming capability. We also included JTAG capability for design testing. It took a couple of jumpers and an extra glue chip or two, but it works.

-Pete F

-----Original Message-----
From: r... [mailto:r...] On Behalf Of seecwriter
Sent: Wednesday, January 09, 2013 7:11 PM
To: r...
Subject: [rabbit-semi] Re: Programming FPGA

Pete,

I'm looking into this again. We are using a XC95288XL CPLD. Once we get this working we'll move on to an FPGA.

Looking at AppNote 058 sample code, it bit thumps the JTAG pins. And it appears that a hardware SPI would not work because it changes modes by setting TMS and toggling TCK once. You can't do that with HW SPI.

What data type did you use?

Steve

--- In r..., "Fournier, Peter" wrote:
>
> Last time we tried this, we discovered that the JTAG spec would have
> cost us a lot of money. The faster solution was to use SPI to the FPGA.
> I don't know which device you are using and whether it can do SPI, but
> I think that is how the flash based devices work. We are using the
> xc3s700.
>
> -Pete F
>
>
> -----Original Message-----
> From: r... [mailto:r...]
> On Behalf Of seecwriter
> Sent: Thursday, March 17, 2011 3:17 PM
> To: r...
> Subject: [rabbit-semi] Programming FPGA
>
> I have a requirment for a Rabbit to program a flash-based Xilinx FPGA
> via a JTAG interface. The Rabbit would receive the data file via a
> serial port and program the FPGA via its JTAG port. I've found alot of
> info on using a JTAG port, but nothing that defines how to implement
> the interface.
>
> Does anyone know where I can get that level of detail? And words of
> wisdom from anyone who's done this before are always welcome.
>
> Steve
>
>