原创 【转】Xilinx FPGA 开发中遇到的问题及解决途径

2011-3-21 20:41 4125 5 5 分类: FPGA/CPLD

转自http://www.eefocus.com/leageshine/blog/08-01/142179_f13c8.html比我自己写的清楚明白

Q:
Checking timing specifications ...
Checking Partitions ...
Checking expanded design ...
Partition Implementation Status ------------------------------- FATAL_ERROR:HierarchicalDesignC:PartitionHelper.c:226:1.6.4.2 - ERROR : IPartitionHelper::IsPartition called with a null block. Process will terminate. For more information on this error, please consult the Answers Database or open a WebCase with this project attached at http://www.xilinx.com/support.
A:
没办法,只能新建一个工程,把需要的文件拷贝过来。事故起因可能是:Project property改过TOP Level file type :NGC/NGO, 并实现;破坏了.ise文件的结构。可能。

Q:
顶层文件top中明明有若干个module(M1,M2...)的实例,在ISE的Source视图,top的层次却不显示其子模块M1,M2...。
A:
一个原因可能是顶层文件有语法错误,例如,某处多写一个";"。

Q:
ERROR:HDLCompilers:87 - "cam.v" line 89 Could not find module/primitive 'CAM_V5_1' A:
In ISE 9.1i, Project Navigator does not properly handle the support files for IP cores with EDN netlist. As a method by which to work around this issue, if the IP core supports VHDL, the Functional Model Target Language for the core can be changed to VHDL. To do this, select the IP core in the sources window, then right-click View HDL Functional Model, and select Properties.
 
Q:
行为仿真正确,但是到布线后仿真,输出有信号但错误,确信频率没有问题,那么会是什么原因? A:
如果实例化某module,而只连接了其部分端口,其无连接的端口在行为仿真时认为是无关值x或z,而在后防真时被认为是0,如果无连接的端口中有模块中的关键信号而被错误地认为0,则会出现结果错误,而非逻辑本身的错误。

Q:
用Coregen生成的Tri-mode ethernet MAC core,用xco文件,会出现SpeedIs100和SpeedIs10100无输出,时钟错误,逻辑混乱。
A:
用.v文件代替xco文件,错误消失,原因未知。

Q:
ERROR:NgdBuild:604 - logical block 'camcon_inst/data_fifo' with type 'll_fifo_0_1_16_8_32_2_1_false' could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file, or the misspelling of a type name. Symbol 'll_fifo_0_1_16_8_32_2_1_false' is not supported in target 'virtex2p'.
A:
综合工具使用的是Synplify,ll_fifo带有实例化参数,处理后的文件名很怪,不能解析。综合工具改用XST,就没有这个问题了,可见Synplify和ISE结合的并不好。

Q:
本来好好的ll_fifo,其输入由直接连接组合逻辑改成了先组合逻辑后时序寄存,却无论如何也得不到正确的输出了。可以确定与输出端口的dst_rdy信号无关。
A:
原因是输入信号经过时序寄存时,时钟沿用的不对,应该用下降沿。约定输入用下降沿采样,输出用上升沿。


NOTE:
在ISE中,双击Modelsim仿真,在运行过程中不要试图带开Modelsim的property修改选项,会导致严重的后果。ISE 的GUI出现严重错误,重启ISE后错误不出现,但是会出现奇怪的现象:每次Synthesis完成以后,刷新ISE的界面后,貌似会修改Synthesis生成的文件,使得process窗口中XST图标再度变成Out of date的图标,也就是需要重新综合。重新安装了ISE的运行环境也不行。全部重装了ISE,问题依旧,才知道不是ISE的问题,可能是工程文件被损坏了。重建工程吧。


NOTE: Xilinx CoreGenerator 生成的FIFO,独立时钟,Distributed RAM实现,标准FIFO,一次rden有效一个时钟,也就是一次读出一个数据,其读出的第一个数据是无效数据。器件也从第二个开始正确数据。而First Word Fall Through方式。。。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条