赛灵思
直播中

蔡芸菲

7年用户 147经验值
私信 关注
[问答]

Spartan3A SVF配置

对于除Spartan3A之外的多个设备,我已成功创建了一个SVF文件,以使用第三方边界扫描工具配置设备。
我用Acculogic。
所以我使用的过程是:
1.影响:将位文件加载到Jtag链中
2.通过选择文件位置并对零件进行编程来生成SVF文件。
3.打开第三方工具(Acculogic)
4.加载SVF文件并运行它。
对于Virtex6,这很好用。
我使用Altera部分进行了类似的处理,它也运行良好。
现在我已经转移到Spartan3A,我们在很多板上都有它,它根本不起作用。
它通过ID代码检查,但一旦它启动流配置数据它永远不会出来。
INIT_B永远不会变低,DONE永远不会变高。
我已经尝试了很多东西来试图弄清楚到底发生了什么,但到目前为止还没有运气。
有没有人用spartan3A做同样的事情?
有什么建议么?
调试技巧将特别受到重视,因为我无法找出任何方法来找出实际出错的地方。
对于踢,我会附加我正在尝试使用的SVF。
谢谢
Spartan3A SVF.svf 2420 KB

以上来自于谷歌翻译


以下为原文

For several devices other than the Spartan3A, I have succesfully created an SVF file to configure the device with a 3rd party boundary scan tool.  I use Acculogic.

So the process I use is:
1.  Impact:  Load the bit file into the Jtag chain
2.  Generate an SVF file by choosing a file location and programming the part.
3.  Open the 3rd Party tool (Acculogic)
4.  Load the SVF file and run it.

For Virtex6 this worked fine.  I did a similar process with an Altera part and it also worked fine.  Now I have moved on to Spartan3A which we have on many boards, and it simply does not work.  It gets through the ID code checks, but once it starts streaming configuration data it never comes out.  INIT_B never goes low and DONE never goes high.  I have tried MANY MANY things to try to figure out what is going on but have had no luck so far.

Has anyone had success doing the same thing with a spartan3A?

Any suggestions?  Debugging tips would be especially appreciated as I can't figure out any way to find out what is actually going wrong.

For kicks, I'll attach the SVF I'm trying to use.

Thanks
            Spartan3A SVF.svf ‏2420 KB

回帖(3)

李玉林

2019-6-19 11:37:30
嗨,
尝试遵循此调试路径 -
(1)直接在iMPACT中进行所有操作。
这将确保操作有效,如果不是,则会给您更详细的错误。
然后 -
(2)在iMPACT中播放SVF文件。
你也看到了失败吗?
(3)故障后用iMPACT检查设备状态寄存器。
调试 - >读取设备状态。
有关如何解码的信息,请参阅此AR  -  http://www.xilinx.com/cn/support/answers/24024.htm。
这会告诉你哪里出了问题
提示 -
你的JTAG菊花链是否包含任何其他设备?
- 如果这些设备需要TRST,应拉高。
您在Bitgen选项中是否有“等待DCI”或“等待DCM” - 如果是这样,请关闭它们。
- 保罗

以上来自于谷歌翻译


以下为原文

Hi S,
 
Try following this debug path -
 
(1) Carry out all operations in iMPACT directly. This will ensure the operations are valid and give you more verbose errors if they are not. Then -
(2) Play the SVF file in iMPACT. Do you also see the failure?
(3) After failure check the devices status register with iMPACT. Debug -> Read Device Status. Refer to this AR for how to decode it - http://www.xilinx.com/support/answers/24024.htm. This will tell you where things are going wrong
 
Tips - 
Does your JTAG daisy chain include any other devices? - If these devices need TRST that should be pulled high.
Do you have "Wait fo DCI" or "Wait for DCM" in your Bitgen options - if so turn these off.
 
-Paul
 
举报

刘凯

2019-6-19 11:43:51
谢谢您的回复。
是的,我已经完成了所有这些,尽管我忘了表明重要的一点...... SVF文件在影响方面表现良好。
它只适用于我尝试使用的第三方工具。
现在每个人的反应都是说它是第三方工具。
也许是这样,但是当我使用相同的过程,第三方工具和所有工作时,我很难用于其他2个部件,一个Xilinx和一个Altera。
我正在寻找的是Spartan3A的独特之处,它产生的SVF(例如与Virtex6生成的SVF相比),以及任何可能导致它在影响中起作用而不在其他地方起作用的东西。
此外,任何人都可以通过Spartan3A验证他们已经完成了这项工作,并且已经成功使用这种类型的SVF来玩除了影响之外的任何其他硬件/软件。
以下是我对状态寄存器内容的了解,来自Xilinx员工,我有状态寄存器报告:
在调查状态寄存器读取后,我可以看到GTS_CFG_B,GWE和GHIGH和DONE没有变高。
这表示启动顺序未完成(FF和BRam不可写,设备不接收整个配置比特流等)。
GHIGH低表示从未进入启动序列。
在将所有配置数据发送到FPGA之后,fpga全部配置好,然后GHIGH将被置位,告诉您进入启动序列。
此时,所有内容都保持在重置状态,并且IO保持在三态。
如果GHIGH永远不会发生,GTS和GWE也不会。
由于GHIGH很低,因此数据不好,您需要查看配置流的数据质量。

以上来自于谷歌翻译


以下为原文

Thank you for your reply.
 
Yes I have done all of this, allthough I forgot to indicate that important point...The SVF file plays fine in impact. 
 
It only doesn't work with the 3rd party tool I am trying to use.  Now everybody's reaction will be to say it is the 3rd party tool.  Maybe so, but I have a hard time with that when the same exact process, 3rd party tool and all, works fine for 2 other parts, one Xilinx and One Altera. 
 
What I'm looking for is whatever it could be that is unique about the Spartan3A and it's generated SVF (compared to a Virtex6 generated SVF for example), and anything that might cause it to work in impact but not elsewhere.  Also anyone out there that can verify they have done this before with Spartan3A, have had success with this type of SVF to play on any other hardware/software besides impact.
 
Here is what I know about the status register contents, from a Xilinx employee to whom I have the status register report:
 
After investigating the status register read, I can see that GTS_CFG_B, GWE, and GHIGH and DONE are not going high.  This indicates the startup sequence is not finished (FF and BRam is not writable, device does not receive entire config bitstream, etc etc).  The GHIGH low indicates this never got to the startup sequence.  After all the config data is sent into the FPGA, the fpga is all configured then GHIGH will get asserted, telling you to go into startup sequence.  At this point everything is held in reset, and IOs are held in a tristate. 
 
If GHIGH never occurs, GTS and GWE won't either.
 
Since GHIGH is low, it's bad data and you need to look at the data quality of the config stream.
举报

刘凯

2019-6-19 11:49:19
我确实让Spartan3A配置了相同的SVF文件,使用了quartus pod和名为urjtag的软件。
所以这个问题似乎指向了Acculogic。
Acculogic认为Spartan3A在暂停状态方面与TAP控制器不兼容。
Apparanetly Acculogic使用PAUSE状态和部件canont处理它。
谁知道这是真的吗?

以上来自于谷歌翻译


以下为原文

I did get Spartan3A to configure with the same SVF file, using a quartus pod and software called urjtag.  So the issue seems to point to Acculogic.  Acculogic thinks Spartan3A is non-compliant in the TAP controller with regards to the PAUSE state.  Apparanetly Acculogic uses the PAUSE state and the part cannont handle it.  Anyone know if this is true?
 
 
举报

更多回帖

发帖
×
20
完善资料,
赚取积分