在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6136|回复: 10

modelsim p&r后仿真

[复制链接]
发表于 2003-11-2 21:53:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我用quartus 生成的网表文件 top.vo 延迟文件 top.sdo 前仿的testbench 为 top_test.v
我的top.vo已经成功加载(器件库和延迟都加了),怎么用top_test.v 啊?
斑竹帮忙啊,我就差一点就成功了
发表于 2003-11-2 22:17:54 | 显示全部楼层

modelsim p&r后仿真

直接编译以后加载就可以了。
发表于 2003-11-3 09:17:30 | 显示全部楼层

modelsim p&r后仿真

对。
发表于 2003-11-3 09:19:12 | 显示全部楼层

modelsim p&r后仿真

如果你的testbench写的比较规范的话,你的前后仿真testbench使用方法一样。
在做后仿真时将网表文件“*.vo”作为一个设计顶层文件来调用,延迟文件由vo文件调用。
 楼主| 发表于 2003-11-4 11:10:18 | 显示全部楼层

modelsim p&r后仿真

好像不行啊,我不知道哪错了
我把我的步骤说一下
文件 top.v test.v共两个   top.v是设计文件 test.v是测试文件
前方真没问题
综合把top.v综合生成 top.vo 和 top_v.sdo 因为test.v不可综合,所以综合
与test.v无关
后仿真,器件库已经综合好,然后该怎么办啊?
如果compile top.vo,load top.vo(加上器件库和sdo文件),都没问题,但是没激励阿
如果compile top.vo,load test.v (加上器件库和sdo文件),就报错

大虾能不能详细说一下步骤,我搞晕了!!!
发表于 2003-11-4 12:08:45 | 显示全部楼层

modelsim p&r后仿真

请将报错信息帖出来。
 楼主| 发表于 2003-11-4 15:00:25 | 显示全部楼层

modelsim p&r后仿真

vsim -L F:/test/modelsim_simulation/source/lib -sdfmax /=F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo work.test
# vsim -L F:/test/modelsim_simulation/source/lib -sdfmax /=F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo work.test
# Loading work.test
# Loading work.counter
# WARNING: [TSCALE] - Module 'counter' has a `timescale directive in effect, but previous modules do not
#        Region: /test/U_counter
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_io
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_asynch_io
# Loading F:/test/modelsim_simulation/source/lib.dffe_io
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_lcell
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_asynch_lcell
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_lcell_register
# Loading F:/test/modelsim_simulation/source/lib.PRIM_DFFE
# Loading F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo
# ERROR: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo(41): Failed to find INSTANCE '/test/in_enable_in/asynch_inst'
# ERROR: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo(50): Failed to find INSTANCE '/test/in_clk_in/asynch_inst'
# ERROR: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo(59): Failed to find INSTANCE '/test/in_reset_in/asynch_inst'
# ERROR: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo(68): Failed to find INSTANCE '/test/out_counter_0_/lecomb'
# ERROR: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo(80): Failed to find INSTANCE '/test/out_counter_0_/lereg'
# WARNING: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo: This file is probably applied to the wrong instance.
# WARNING: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo: Ignoring subsequent missing instances from this file.
# WARNING: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo: Failed to find any of the 9 instances from this file.
# WARNING: F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo: Try instance '/test/U_counter' - it contains all instance paths from this file.
# ** Fatal: Failed to parse SDF file 'F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo'.
#    Time: 0 ps  Iteration: 0  Instance: /test/U_counter/out_counter_out_1_/io_reg
# FATAL ERROR while loading design
# Error loading design
我怀疑是sdf的对象搞错了。我load的是test.v他是测设文件,下一层例化了我的设计
counter.v ,counter.vo是由counter.v 综合生成。我觉得sdf应到反标到counter.vo上,而我load的是test.v 而且sdf默认反标的顶层模块,所以错了,但我怎么改征啊?
下面是我load counter.vo的信息,是正确的
# vsim  
vsim -L F:/test/modelsim_simulation/source/lib -sdfmax /=F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo work.counter
# vsim -L F:/test/modelsim_simulation/source/lib -sdfmax /=F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo work.counter
# Loading work.counter
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_io
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_asynch_io
# Loading F:/test/modelsim_simulation/source/lib.dffe_io
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_lcell
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_asynch_lcell
# Loading F:/test/modelsim_simulation/source/lib.apex20ke_lcell_register
# Loading F:/test/modelsim_simulation/source/lib.PRIM_DFFE
# Loading F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo
但是如果这样,我的test.v怎么用啊?这样load没有激励阿。所以我就不知道怎么办好了,请帮帮忙!!!
发表于 2003-11-4 15:08:57 | 显示全部楼层

modelsim p&r后仿真

应该是SDF作用的范围搞错了。
将 /=F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo 改为
     /counter实例/=F:/test/modelsim_simulation/source/simulation/modelsim/counter_v.sdo
     
试一试
发表于 2003-11-4 15:51:38 | 显示全部楼层

modelsim p&r后仿真

你说对了,是没有反标上.你怎么加sdf文件的?估计你做错了.
发表于 2003-11-4 18:45:33 | 显示全部楼层

modelsim p&r后仿真

[这个贴子最后由老扁在 2003/11/04 07:39pm 第 1 次编辑]

一种方法是:
vsim -sdfmax /test/U_counter_v =。。。。
另一种最普遍的方法是:在你的test.v里写
$sdf_annotate("。。。。/counter_v.sdo", test.u_counter_v, , , "maximum");
-----
修改:
俺上面最后好像写错了,呵呵
应该是 $sdf_annotate("。。。。/counter_v.sdo", u_counter, , , "maximum");
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-8 18:37 , Processed in 0.025076 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表