7805|1

569

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

NC-Verilog仿真QuartusII10.0的问题 [复制链接]

一直用Cadence NC-Verilog(版本是5.10-p004)来做仿真验证。以前用QuartusII9.1一直没问题,最近用QuartusII10.0出问题了。在编译altera_mf.v时,报错:

ncvlog: *E,UMGENE (altera_mf.v,23972|5): An 'endgenerate' is expected [12.1.3(IE EE 2001)].

查看altera_mf.v的相应位置,发现它用了generate语句。不知是不是NC-Verilog对generate支持不好的原因。

有没有什么办法?NC-Verilog的最新版本是什么呢?
此帖出自FPGA/CPLD论坛

最新回复

LDV3.4(S1)   使用NC-Verilog内置的profiler NC-Verilog在仿真引擎内开发了一个profiler工具。该工具每秒中断仿真器100次,并将终端时的结构记录下来,生成一个日志文件。日志文件里列出了被中断次数最多的模块、代码行和结构类型。这些信息可以帮助你诊断是哪些代码或模块在仿真时耗费了最多的时间。通过修改这些模块,就能提升仿真效率。 Profiler功能很容易启动,并对仿真只产生非常小的影响。 % ncverilog +ncprofile <other_options> or % ncsim –profile snapshot_name <other_options> 在仿真结束时,profiler会创建一个日志文件(ncprof.out),文件里列出了profile运行的细节。关于如何利用profiler日志文件,可参考Cadence在线文档(Cadence NC-Verilog Simulator Help, Version 3.4, Chapter 14)。 禁止时序验证来提升效率 缺省情况下,如果在设计中考虑了时序,NC-Sim将进行标准延迟格式(SDF)的全时序标注(annotation),并在仿真时检查时序。在进行功能验证时,如果你不需要仿真时序,就可以通过禁止一些时序检查功能来提高NC-Sim的仿真速度。这样虽然不能验证时序,但是提高了仿真效率,减少了仿真内存需求。 下面是一些用来禁止时序检查的一些命令行。 % ncverilog +delay_mode_distributed +notimingcheck +noneg_tchk 或 % ncelab –delay_mode dist –notimingchecks –noneg_tchk 下面还列出了关于时序的全局选项: ncverilog option                                 ncelab option +nonotifier                                         -nonotifier                    Disables notifier register +notimingcheck                                  -notimingchecks          Disables timing check +delay_mode_unit                             -delay_mode unit        Delay 1 simulation time unit +delay_mode_zero                             -delay_mode zero      Zero delay +delay_mode_distributed                   -delay_mode dist       Ignores specify block delays Cadence LDV 3.3(2001年7月)增加了通过一个时序控制文件来为各个模块设置时序选项的功能。你可以模块为单位来设置是否进行时序检查,是否允许I/O路径延迟、端口延迟、库单元延迟和全时序检查。时序控制文件里要写明要配置的实例(instance)。命令行语法是: % ncverilog +nctfile <timing_ctl_file> <other options> 或 % ncelab –tfile <timing_ctl_file> snapshot_name <other_options> 时序控制文件的语法在Cadence 在线文档(Cadence NC-Verilog Simulator Help, Version 3.4, Chapter 8)中可以找到。 提高SDF的精度 时序信息通过SDF文件传递给一个设计。在LDV 3.1以前的版本里,缺省的SDF精度是10ps。从LDV 3.1开始,所有的时序宽度(包括小于10ps的)都允许使用,这样仿真的时序结果更加精确,但是仿真变得更慢。在多数情况下,10ps就足够了,因此你也许想用下面的方法来改变精度: % ncverilog +ncelabargs+”-sdfprecision 10ps” <other options> 或 % ncelab –sdf_precision [10ps|1ps|100fs] <other_options> 关于负时序(negative timing)检查 LDV 3.3缺省的仿真配置为负时序检查。这样,LDV 3.3和以前的版本的仿真结果就有所不同。 负时序检查有下列的选项: ncverilog option                       ncelab option +neg_tchk                               -neg_tchk           Still exists for backward compatibility +noneg_tchk                          -noneg_tchk       Sets negative timing checks to zero                                                                           (matches previous behavior) 设置访问属性 缺省情况下,NC在非调试模式运行,仿真速度很快。可以通过设置访问属性和行调试(line-debug)功能来配置在仿真过程中信号、模块、和代码的访问属性。这样做降低了仿真的速度。 如果你想在代码中设置断点,就必须使用行调试选项。该选项对仿真效率影响非常大。 % ncverilog +linedebug <other options> 或 % ncvlog –linedebug <other_options> <verilog_source_files> 也可以设置设计的全局访问属性。下列的命令可以用来配置设计为允许读、写和交叉访问(connectivity access)。 % ncverilog +access+[rwc] <other options> 或 % ncelab –access [rwc] snapshot_name <other_options> r : read capability for waveform dumping, code coverage, etc w : write access for modifying values through PLI or tcl code c : connectivity access to querying drivers and loads in C or tcl 前面曾经提到过,这些选项将降低仿真的速度。读属性是通常要使用的,它对仿真性能影响非常小。 为了给部分对象、模块或实例设置访问属性,可以创建一个访问属性文件,并在文件中说明那些对象的访问属性。然后用在运行 elaborator 时使用 –afile选项。 % ncverilog +ncafile+<access_filename> <other _options> or % ncelab -afile <access_filename> snapshot_name <other_options> % ncsim snapshot_name <other options> 也可以用 –genafile 选项来自动生成访问属性文件。当仿真使用了Tcl、PLI或probing功能,无法提前确定对象的访问属性,就可以采用自动生成访问属性文件的方法。Elaborator 在生成仿真快照(snapshot)时会考虑你给出的 –genafile选项;然后,当运行仿真时,Tcl或PLI访问过的对象就会被记录下来。退出仿真的时候,访问属性文件就生成了。举个例子: % ncverilog +ncgenafile+access.txt <other _options> 或 % ncelab -genafile access.txt test.top <other_options> % ncsim test.top <other options> 仿真运行完成后,生成了一个access.txt 文件。你可以通过 –afile 选项来使用这个文件(象前面介绍的那样): % ncverilog +ncafile+access.txt <other _options> 或 % ncelab -afile access.txt test.top <other_options> 访问属性文件的语法可在Cadence 在线文档(Cadence NC-Verilog Simulator Help, Version 3.4, Chapter 8) 中找到。  详情 回复 发表于 2010-11-11 10:52
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

LDV3.4(S1)

 

使用NC-Verilog内置的profiler

NC-Verilog在仿真引擎内开发了一个profiler工具。该工具每秒中断仿真器100次,并将终端时的结构记录下来,生成一个日志文件。日志文件里列出了被中断次数最多的模块、代码行和结构类型。这些信息可以帮助你诊断是哪些代码或模块在仿真时耗费了最多的时间。通过修改这些模块,就能提升仿真效率。

Profiler功能很容易启动,并对仿真只产生非常小的影响。

% ncverilog +ncprofile <other_options>

or

% ncsim –profile snapshot_name <other_options>

在仿真结束时,profiler会创建一个日志文件(ncprof.out),文件里列出了profile运行的细节。关于如何利用profiler日志文件,可参考Cadence在线文档(Cadence NC-Verilog Simulator Help, Version 3.4, Chapter 14)。

禁止时序验证来提升效率

缺省情况下,如果在设计中考虑了时序,NC-Sim将进行标准延迟格式(SDF)的全时序标注(annotation),并在仿真时检查时序。在进行功能验证时,如果你不需要仿真时序,就可以通过禁止一些时序检查功能来提高NC-Sim的仿真速度。这样虽然不能验证时序,但是提高了仿真效率,减少了仿真内存需求。

下面是一些用来禁止时序检查的一些命令行。

% ncverilog +delay_mode_distributed +notimingcheck +noneg_tchk

% ncelab –delay_mode dist –notimingchecks –noneg_tchk

下面还列出了关于时序的全局选项:

ncverilog option                                 ncelab option

+nonotifier                                         -nonotifier                    Disables notifier register

+notimingcheck                                  -notimingchecks          Disables timing check

+delay_mode_unit                             -delay_mode unit        Delay 1 simulation time unit

+delay_mode_zero                             -delay_mode zero      Zero delay

+delay_mode_distributed                   -delay_mode dist       Ignores specify block delays

Cadence LDV 3.3(2001年7月)增加了通过一个时序控制文件来为各个模块设置时序选项的功能。你可以模块为单位来设置是否进行时序检查,是否允许I/O路径延迟、端口延迟、库单元延迟和全时序检查。时序控制文件里要写明要配置的实例(instance)。命令行语法是:

% ncverilog +nctfile <timing_ctl_file> <other options>

% ncelab –tfile <timing_ctl_file> snapshot_name <other_options>

时序控制文件的语法在Cadence 在线文档(Cadence NC-Verilog Simulator Help, Version 3.4, Chapter 8)中可以找到。

提高SDF的精度

时序信息通过SDF文件传递给一个设计。在LDV 3.1以前的版本里,缺省的SDF精度是10ps。从LDV 3.1开始,所有的时序宽度(包括小于10ps的)都允许使用,这样仿真的时序结果更加精确,但是仿真变得更慢。在多数情况下,10ps就足够了,因此你也许想用下面的方法来改变精度:

% ncverilog +ncelabargs+”-sdfprecision 10ps” <other options>

% ncelab –sdf_precision [10ps|1ps|100fs] <other_options>

关于负时序(negative timing)检查

LDV 3.3缺省的仿真配置为负时序检查。这样,LDV 3.3和以前的版本的仿真结果就有所不同。

负时序检查有下列的选项:

ncverilog option                       ncelab option

+neg_tchk                               -neg_tchk           Still exists for backward compatibility

+noneg_tchk                          -noneg_tchk       Sets negative timing checks to zero

                                                                          (matches previous behavior)

设置访问属性

缺省情况下,NC在非调试模式运行,仿真速度很快。可以通过设置访问属性和行调试(line-debug)功能来配置在仿真过程中信号、模块、和代码的访问属性。这样做降低了仿真的速度。

如果你想在代码中设置断点,就必须使用行调试选项。该选项对仿真效率影响非常大。

% ncverilog +linedebug <other options>

% ncvlog –linedebug <other_options> <verilog_source_files>

也可以设置设计的全局访问属性。下列的命令可以用来配置设计为允许读、写和交叉访问(connectivity access)。

% ncverilog +access+[rwc] <other options>

% ncelab –access [rwc] snapshot_name <other_options>

r : read capability for waveform dumping, code coverage, etc

w : write access for modifying values through PLI or tcl code

c : connectivity access to querying drivers and loads in C or tcl

前面曾经提到过,这些选项将降低仿真的速度。读属性是通常要使用的,它对仿真性能影响非常小。

为了给部分对象、模块或实例设置访问属性,可以创建一个访问属性文件,并在文件中说明那些对象的访问属性。然后用在运行 elaborator 时使用 –afile选项。

% ncverilog +ncafile+<access_filename> <other _options>

or

% ncelab -afile <access_filename> snapshot_name <other_options>

% ncsim snapshot_name <other options>

也可以用 –genafile 选项来自动生成访问属性文件。当仿真使用了Tcl、PLI或probing功能,无法提前确定对象的访问属性,就可以采用自动生成访问属性文件的方法。Elaborator 在生成仿真快照(snapshot)时会考虑你给出的 –genafile选项;然后,当运行仿真时,Tcl或PLI访问过的对象就会被记录下来。退出仿真的时候,访问属性文件就生成了。举个例子:

% ncverilog +ncgenafile+access.txt <other _options>

% ncelab -genafile access.txt test.top <other_options>

% ncsim test.top <other options>

仿真运行完成后,生成了一个access.txt 文件。你可以通过 –afile 选项来使用这个文件(象前面介绍的那样):

% ncverilog +ncafile+access.txt <other _options>

% ncelab -afile access.txt test.top <other_options>

访问属性文件的语法可在Cadence 在线文档(Cadence NC-Verilog Simulator Help, Version 3.4, Chapter 8) 中找到。

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表