请教仿真中的错误。
** Error: (vsim-7) Failed to open SDF file "netgen/par/traffic_light_timesim.sdf" in read mode.
# No such file or directory. (errno = ENOENT)
# ** Error: (vsim-SDF-3445) Failed to parse SDF file "netgen/par/traffic_light_timesim.sdf".
#Time: 0 psIteration: 0Region: /glblFile: D:/completed_design/traffic_light based on FPGA/traffic_light/traffic_light/netgen/par/glbl.v
linux下还有D:/?
没看明白?
你说的什么意思?没看明白?我是windows啊.
简单处理:将SDF文件移到仿真目录下,
SDF反标时只写文件名,估计和WIN的目录有关系
真实奇怪了,我即使把三个文件拷贝出来到一个文件夹中test.vglbl.vtraffic_light.v和traffic_light.sdc.
重新建立modelsim过程,仿真时还是出现一样的错误.而且文件夹的目录竟然还是netgen/par/traffic_light_timesim.sdf.
目录明明在start simulate中改了啊.
楼上的方法也试了,还是出现同样的错误.
我已经接近崩溃的边缘,盼高手帮帮忙.我实在搞不明白了.谢谢.
找到错误的 原因了,费了两天时间;•在ise中process中点开Implement Design左边的加号,再点开Place&route,右击Generate post-place&route Simulation Model, 打开Simulation Model Properties中 Include $sdf_annotate Function In Verilog File
项选,选中的话会在生成的post-place&route Simulation Model(.v文件)中wire定义完后加入initial $sdf_annotate(“netgen/par/traffic_light_timesim.sdf”);一句话;在这也就是说,在modelsim 仿真时新建的工程下必须有netgen/par目录,并且traffic_light_timesim.sdf也必须在这个目录里,而且sdf文件名是不能变的.倘若在ise新建的工程目录下新建modelsim工程,目录没出错,但出现Fail read “netgen/par/traffic_light_timesim.sdf” in read model的错误;我将里面的测试文件,.sdf文件和生成的.v文件拷贝到一个新的文件夹中,在新的文件夹中新建modelsim工程,我感觉要么修改生成的.v文件中出现的目录,要么取消该属性项的选择. 倘若取消的话回有什么样的后果我还闹不清楚,但也能仿出来.还望各位指教啊/
sdf和网表是一一对应的,ISE在生成文件中替你加入了$sdf_annotate,
最好由自己手工处理这些事情,省得出错
自己控制仿真过程是好习惯
简单处理:将SDF文件移到仿真目录下,
^^^^^^^^^^^^^^^^move xxx.sdf into simulation directory
SDF反标时只写文件名,估计和WIN的目录有关系
^^^^^^^^^^^^
$sdf_annotate("xxx.sdf",TB.UUT);