UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor electric_eye
Visitor
526 Views
Registered: ‎02-16-2019

Daisy chained Spartan 6 JTAG programming using SPI Flash

Jump to solution

Hello, Xilinx community it's been awhile since I posted, I'll get right to it!

I have 2 XC6SLX9's that I'm trying to program using 1 JTAG connector. Each Spartan6 has it's own 8Mb SPI Flash, a W25Q80. It is on Xilinx's list of approved SPI Flash's. Each Spartan 6 has identical VCCINT of 1.2V, VCCAUX of 2.5V and VCCO of 1.8V. Will this schematic work?

JTAG V1.2.jpg
0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
431 Views
Registered: ‎06-06-2018

Re: Daisy chained Spartan 6 JTAG programming using SPI Flash

Jump to solution

Hi @electric_eye ,


That is ok about the master/slave mixup I believe. It's just the order they are programmed?

-----In your case you need to configure first the below Flash/FPGA 1st and then upper Flash/FPGA. You are good to go, each FPGA will get succesfully configured.

      Note : DONE pin will not wait for both FPGA to get configured. If FPGA is configured, DONE pin of corresponding FPGA will go high. Same with INIT_B and PROG_B pins.

Regarding the Flash I chose W25Q80EW because the W25Q80BW is EOL and is recommended as a direct substitute. It has a higher speed rating and the same 1Mx8 spec. I'll have to keep my fingers crossed on that one I guess.

-----Don't  guess. Check the command set of both the Flash are matching. If it is matching you can follow below workaround: 

       Note : It is a workaround, not a solution. It may work.

     You can also test non supported Flash using skip ID Test (Note: This method is not officially supported.)

    For e.g. "W25Q80DV" compatible with "W25Q80BV" seems to have the command set together. It is possible to avoid ID check by setting environment variable                 XIL_IMPACT_SKIPIDCODECHECK

   Following is the snapshot showing how the skip idcode environment variable has to be applied for impact tool:

    1.JPG.png



 Regards,

Deepak D N

--------------------------------------------------------------------------------------------------------------------------------

Please Reply or give kudo or Mark it as an Accepted Solution.

----------------------------------------------------------------------------------------------------------------------------------


5 Replies
Xilinx Employee
Xilinx Employee
488 Views
Registered: ‎06-06-2018

Re: Daisy chained Spartan 6 JTAG programming using SPI Flash

Jump to solution

Hi @electric_eye,

SPI Flash supported by ISE14.7 is W25Q80BW. For more information please refer ISE 14.7 Supported Flashes.Hope you are using the same. please confirm.

In your schematic, Please take care of the FPGA and SPI Flash Interface signals termination. Please refer page 42 of UG380 (v2.10).

From your schematic, you can program the SPI Flashes using Indirect programming and you can configure both FPGA using same JTAG connector.

In your case each FPGA will be configured by there respective SPI Flashes after the SPI flashes are programmed through JTAG using indirect programming. But it will not act like Serial daisy chain. For it to act like serail daisy chain refer page 149 of UG380 (v2.10).

Note : Bottom FPGA is also Master, not slave according to your schematic.

I belive you are placing each FPGA on 2 different board and using same JTAG Connection. In that case you are good to go, if you take care of the Interface Termination and Flash support as I specified above.

Regards,

Deepak D N

--------------------------------------------------------------------------------------------

Please reply or give kudo or Mark it as an Accepted Solution.

--------------------------------------------------------------------------------------------

 

Visitor electric_eye
Visitor
448 Views
Registered: ‎02-16-2019

Re: Daisy chained Spartan 6 JTAG programming using SPI Flash

Jump to solution

Deepak, thank you very much for responding. I'm sorry it took me so long to reply...

So I do not actually need daisy chain setup as that depends on 1 Flash/PROM to setup multiple Spartan 6's. I would like to have each Spartan 6 have it's own Flash to avoid more complexity.

That is ok about the master/slave mixup I believe. It's just the order they are programmed?

Regarding the Flash I chose W25Q80EW because the W25Q80BW is EOL and is recommended as a direct substitute. It has a higher speed rating and the same 1Mx8 spec. I'll have to keep my fingers crossed on that one I guess.

0 Kudos
Xilinx Employee
Xilinx Employee
432 Views
Registered: ‎06-06-2018

Re: Daisy chained Spartan 6 JTAG programming using SPI Flash

Jump to solution

Hi @electric_eye ,


That is ok about the master/slave mixup I believe. It's just the order they are programmed?

-----In your case you need to configure first the below Flash/FPGA 1st and then upper Flash/FPGA. You are good to go, each FPGA will get succesfully configured.

      Note : DONE pin will not wait for both FPGA to get configured. If FPGA is configured, DONE pin of corresponding FPGA will go high. Same with INIT_B and PROG_B pins.

Regarding the Flash I chose W25Q80EW because the W25Q80BW is EOL and is recommended as a direct substitute. It has a higher speed rating and the same 1Mx8 spec. I'll have to keep my fingers crossed on that one I guess.

-----Don't  guess. Check the command set of both the Flash are matching. If it is matching you can follow below workaround: 

       Note : It is a workaround, not a solution. It may work.

     You can also test non supported Flash using skip ID Test (Note: This method is not officially supported.)

    For e.g. "W25Q80DV" compatible with "W25Q80BV" seems to have the command set together. It is possible to avoid ID check by setting environment variable                 XIL_IMPACT_SKIPIDCODECHECK

   Following is the snapshot showing how the skip idcode environment variable has to be applied for impact tool:

    1.JPG.png



 Regards,

Deepak D N

--------------------------------------------------------------------------------------------------------------------------------

Please Reply or give kudo or Mark it as an Accepted Solution.

----------------------------------------------------------------------------------------------------------------------------------


Visitor electric_eye
Visitor
419 Views
Registered: ‎02-16-2019

Re: Daisy chained Spartan 6 JTAG programming using SPI Flash

Jump to solution

Deepak, thanks so much for your insight. I really appreciate it!

0 Kudos
Visitor electric_eye
Visitor
416 Views
Registered: ‎02-16-2019

Re: Daisy chained Spartan 6 JTAG programming using SPI Flash

Jump to solution
When I get the boards in, I'll post back about the W25Q80EW compatibility.
0 Kudos