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: 
Highlighted
Voyager
Voyager
10,055 Views
Registered: ‎02-10-2012

Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Hey ,

So I am working with Vivado 2014.4 and I am trying to program the SPI flash memory attached to the Artix XC7a35T so that the device can boot from the flash memory. It is a simple VHDL design with no embedded component and hence I have no use for SDK flash programer design flow. I am trying to follow the procedure mentioned in UG908 Vivado Design Suite
User Guide : Programming and Debugging.

 

I have my bit file and used the write_cfgmem tcl command to successfully create my mcf file. Now the problem is when I try to add Configuration Memory Device there is no support for Winbond flash memories!

 

According to answer record 61497 :

http://www.xilinx.com/support/answers/61497.html

It says that there is currently no plan to support Winbond SPI flashes.


I tried to use IMPACT 14.7 to try the indirect programming method as described clearly in  XAPP586 -  Using SPI Flash with 7 Series FPGAs. No luck what so ever!

IMPACT refuses to even detect the FPGA in the first place when you initilize chain.

I read some where we can use only vivado 2014.x tools to work with ARTIX XC7A35T devices. Is that really true ? Without the support for winbond flash memories how is one supposed to program the SPI flash of modules containing winbond flash memory ? Is there some workaround I am not aware of ?

 

Waiting in anticipation.

Kind Regards
Arvind

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
18,222 Views
Registered: ‎01-15-2008

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

HI Arvind,

 

No there will be no new release of iMPACT tools.

you will need to go with the supported flashes of vivado with Artix incase you want to use vivado programmer tool.

 

--Krishna

0 Kudos
11 Replies
Scholar pratham
Scholar
10,042 Views
Registered: ‎06-05-2013

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Hi,

Yes it is true that Winbond SPI flashes are not supported.

It is also true that you have to use Vivado to work with ARTIX device. here is the list of supported spi and bpi flashes

 

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug908-vivado-programming-debugging.pdf (Page no 141)

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Voyager
Voyager
10,029 Views
Registered: ‎02-10-2012

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Hi Pratham,

 

Thank you for your quick reply. Please correct me if I am wrong , if I understand your reply correctly - Since Vivado is the ONLY Xilinx Tool that supports the latest Artix revision and since Vivado Programmer only supports Micron and Spansion Flash memories  there is no way to program other SPI flashs attached to the latest Artix Modules using any of Xilinx Software Tools ? 

 

-Arvind

0 Kudos
Xilinx Employee
Xilinx Employee
10,017 Views
Registered: ‎07-23-2012

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution
Yes your understanding is correct.
-----------------------------------------------------------------------------------------------
Please mark the post as "Accept as solution" if the information provided answers your query/resolves your issue.

Give Kudos to a post which you think is helpful.
0 Kudos
Voyager
Voyager
10,016 Views
Registered: ‎02-10-2012

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Thank you for your reply. I know ISE has reached a sustaining phase but  Is there any plan of Xilinx to release just the IMPACT stand alone programing tool that supports the latest ARTIX module for the future?

 

Kind Regards

Arvind

0 Kudos
Moderator
Moderator
18,223 Views
Registered: ‎01-15-2008

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

HI Arvind,

 

No there will be no new release of iMPACT tools.

you will need to go with the supported flashes of vivado with Artix incase you want to use vivado programmer tool.

 

--Krishna

0 Kudos
Voyager
Voyager
9,999 Views
Registered: ‎02-10-2012

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Thank you for your replies.

0 Kudos
Adventurer
Adventurer
9,759 Views
Registered: ‎10-14-2013

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Why on earth have you dropped down support for something that was supported in ISE?

I have Artix module with Winbond SPI, and now the flow is to make the bitstream in Vivado and program the SPI in ISE Impact.

 

I was just waiting for the support to come, but is it really so you are dropping and forcing customers to update their hardware ($$$) just because of software support? Very satisfied customers indeed.

Adventurer
Adventurer
9,754 Views
Registered: ‎10-14-2013

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

I noticed Winbond W25Q128 is supported with Zynq, but not with Artix/Kintex. And I can guess that there is no sense making reason why this is supported with Zynq, but not with other 7-series - just made to be there limitation? Maybe some of Xilinx own first Zynq evaluation board revisions were shipped to customers with Winbond SPI chips?

0 Kudos
Visitor jpiat
Visitor
115 Views
Registered: ‎02-16-2012

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Hi,

 

i'amrunning into the same issue after designing a board assuming their would be no porblem using a winbond chip (my bad) ... I am looking for a simple solution and i think that i may have a lead. Using vivado for a programming an eeprom, there is a tick box to generate a svf file. This svf file, load the bitstream that does JTAG->SPI on the FPGA and then execute a sequence of SPI commands before loading the bitstream to the eeprom. I generated the SVF for my design using a  mt25ql128 eeprom and i believe that it should be possible to modify the SVF to initialise a W25Q128FV before loading the bitstream. This would still be a bit convoluted (generate SVF, patch SVF, play SVF), but would still allow to use winbond flash memories. To do so it should only be a matter of generating  a SVF to load a ZynQ with Winbond memory and, generate a SVF to load a artix with micron/spansion memory and then just find the differences ...

0 Kudos
Visitor jpiat
Visitor
64 Views
Registered: ‎02-16-2012

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

Hi,

 

based on my last post, i tried the described method and it works ! What one need to do is to attach a memory to the FPGA (type  mt25ql128-spi-x1_x2_x4) and use the "Generate SVF" option when programming the memory (only tick program and erase). Then you patch the SVF file using the following bash script (Linux users only ...)

 

#!/bin/sh

sed -i 's/FREQUENCY 6.00E+06 HZ;/FREQUENCY 6.00E06 HZ;/g' $1
sed -i 's/RUNTEST 0.100000 SEC;/RUNTEST 600000 TCK;/g' $1
sed -i 's/RUNTEST 3.000000 SEC;/RUNTEST 12000000 TCK;/g' $1
sed -i 's/RUNTEST 0.005000 SEC;/RUNTEST 30000 TCK;/g' $1

sed -i 's/TDO (0000000000000000000000000000000000000000000005d0c0010000000000000000) MASK (0000000000000000000000000000000000000000000007fff807f800000000000000)//g' $1

This script change the SEC unit of RUNTEST into TCK (because xsvflib doesnot like SEC) units and then just disable the id check for the memory type. You can then play this file using a SVF player http://www.clifford.at/libxsvf/

or like i did, build your own player using a raspberry pi (https://github.com/jpiat/xsvflib-pi.git). The programming is fairly long so you'd better compress the bistream (set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] in xdc). It just works, so i don't see any reason why Xilinx does not support this memory manufacturer for the Artix devices.  I don't have any stability issues for now and the bistream is loaded in 2x mode pretty fast.

0 Kudos
Visitor audreyspency
Visitor
57 Views
Registered: ‎02-09-2019

Re: Artix XC7a35T Indirect programing of Winbond W25Q128FV SPI Flash

Jump to solution

hank you for your reply. I know ISE has reached a sustaining phase but Is there any plan of Xilinx to release just the IMPACT stand alone programing tool that supports the latest ARTIX module for the future?

0 Kudos