0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在EDA工具中屏蔽冗余的违例信息

sanyue7758 来源: 硅芯思见 2023-08-19 10:01 次阅读

在进行数字电路仿真时,经常会遇到很多时序为例,通常这些违例都是由网表中大量的时序检查报出的。这些常见的时序检查系统任务如下表所示:

时序检查系统任务 说明
$setuphold 检查建立时间和保持时间,当setup违例时,出现此信息
$setuphold 检查建立时间和保持时间,当hold违例时,出现此信息
$setup 检查建立时间
$hold 检查保持时间
$recovery 检查恢复时间(以复位信号为例,可以理解为rst必须在时钟沿之前的有效的最小时间),一般用于复位、置位等
$removal 检查撤销时间(以复位信号为例,可以理解为rst必须在时钟沿之后的有效的最小时间),一般用于复位、置位等
$recrem 检查恢复和撤销时间,一般常用于复位、置位等
$period 检查周期信号的最小周期,一般常用于时钟
$skew 检查两个信号之间的最大时间差
$width 检查脉冲的最小宽度

因为在仿真的过程中,有些报出的违例我们是不关心的,这些信息的大量出现可能会淹没我们真正需要观测的信息,为此需要在仿真时讲这些冗余的信息屏蔽掉。针对大家经常使用的NCSIM、VCS和ModelSim(QuestaSim),下文将说明如何在这两种EDA工具中屏蔽冗余的违例信息。

1 NCSIM

屏蔽使用的命令格式:

% irun-tfile myfile.tfile[other_options] source_files

上述命令中myfile.tfile中包含屏蔽信息,其中主要内容如下表:

参数 说明
-iopath
+iopath
不使能路径延迟
使能路径延迟
-prim
+prim
不使能指定的instance中原语的延迟
使能指定的instance中原语的延迟
-port
+port
删除指定的instance的port延迟
使能指定的instance的port延迟
[SystemTimingTask] -tcheck
[SystemTimingTask] +tcheck
屏蔽掉不关心的违例

【示例】*.tfile中内容格式

PATH top.foo -tcheck // 屏蔽所有关于foo的时序检查

PATH top.foo$setup $hold-tcheck // 屏蔽所有关于foo的setup和hold时序检查

PATH :SOC.lcsoc.syn_reg$setup-tcheck // 屏蔽:SOC.lcsoc.syn_reg的setup检查

注意:如果要屏蔽其他检查,只需将示例中的$setup或者$hold换成SystemTimingTask中的任何一个即可。

2 VCS

命令格式如下:

tcheck <-msg | -xgen> [-disable | -enable] [-r]

tcheck -query instance | port

上述命令使用时需要注意以下几点:

1>在simv的option中,即 % ./simv -ucli run.tcl,其中run.tcl中增加需要屏蔽的信号,将tcheck中的内容增加的run.tcl中;

2>该命令仅对Verilog/SystemVerilog使用;

3>该命令使用时,待检测的源代码必须包括时序检查系统任务,否则将会产生warning信息;

上述命令格式中使用的相关参数的说明如下表所示。

参数 说明
instance | port 要被屏蔽的时序检查的实例或者端口的全路径名称
tcheck_type 指定需要进行屏蔽的时序检查类型:HOLD|SETUP|SETUPHOLD|WIDTH|RECOVERY|REMOVAL|RECREM|PERIOD|SKEW|ALL
-disable | -enable 使能或不使能相关时序检查,如果要求屏蔽其中SETUP,则在tcheck_type指定SETUP后,需要在tcheck中使用-disable
-msg | -xgen A.指定的实例或者端口违例信息是否被显示
B.指定的实例或者端口notifier信息是否被显示
-r 指定是否递归式的对所有指定的instance及其以下层次所有的instance进行时序检查

【示例】(可以通过-ucli do.tcl直接添加到simv中)

tcheck {top_tb.C40010001} WIDTH -msg -disable

#对top_tb.C40010001不进行WIDTH时序检查,即屏蔽掉top_tb.C40010001的WIDTH检查

tcheck {top_tb.C40010001} -query

#显示对top_tb.C40010001的时序检查信息

3 ModelSim(QuestaSim)

命令格式如下:

tcheck_set[-quiet] [{-m | -n}] [-r [-v]] [ | ]

上述命令格式中使用的相关参数的说明如下表所示。

参数 说明
实例(模块或者线网)的全路径名称,该项是必须的
-m | -n 指定屏蔽操作的对象是模块还是线网,该项可选。
-m:此时命令中指定的instance是module(Verilog)或者entity(VHDL),此时的屏蔽操作将作用于指定的模块的所有实例
-n:此时命令中指定的instance指向一个线网,tcheck_set将应用于所有连接该线网的实例
-quiet 用于指定配置信息不显示于Transcript窗口,该参数的指定必须先于,该项可选
-r [-v] 指定是否递归式的对所有指定的instance及其以下层次所有的instance进行时序检查,默认情况下,递归过程中被改变的instance的信息不会输出到Transcript,可以用-v将这些信息输出至Transcript中,该项可选
tcheck_type 指定需要进行屏蔽的时序检查类型:HOLD|SETUP|SETUPHOLD|WIDTH|RECOVERY|REMOVAL|RECREM|PERIOD|SKEW|ALL
使能或者禁止是否将指定的时序检查违例信息和不定态产生的信息报出,该项可设置的值为“ON”和“OFF”,该项可选
控制指定时序检查的违例信息和不定态信息,其中必须先于,其中可设置的值为“ON”和“OFF”,该项可选

【示例】

tcheck_set top_tb.u1.u2 “(WIDTH (negedge clk))”OFF

#示例中,top_tb.u1.u2下的(WIDTH (negedge clk))检查产生的所有信息都将被屏蔽掉。如果对于示例中时序检查表达式的写法不了解,可以使用“tcheck_statustop_tb.u1.u2”来查看top_tb.u1.u2下所有的时序检查表达式,具体应用如下所示:

% tcheck_status top_tb.u1.u2

% #0 (WIDTH (negedge clk)) MsgOn XOn

% #1 (WIDTH (posedge clk)) MsgOn XOn

% #2 (SETUP (negedge d)(posedge clk)) MsgOn XOFF

% #3 (HOLD (posedge clk)(negedge d)) MsgOn XOFF

最后在使用上述EDA工具时,因为不同的工具提供的路径不同,在具体使用时,一定要使用对应的工具获得该工具可识别的路径信息。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    50

    文章

    4044

    浏览量

    133420
  • eda
    eda
    +关注

    关注

    71

    文章

    2709

    浏览量

    172899
  • 数字电路
    +关注

    关注

    193

    文章

    1600

    浏览量

    80501
  • 时序
    +关注

    关注

    5

    文章

    385

    浏览量

    37281
  • VCS
    VCS
    +关注

    关注

    0

    文章

    78

    浏览量

    9590

原文标题:NCSIM、VCS和QuestaSim(ModelSim)后仿真如何屏蔽违例!

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    检测内存泄漏和内存违例,Valgrind不可少!

    Valgrind可以检测内存泄漏和内存违例,但是用Valgrind生成的日志信息结合kcachegrind就可以查看C程序的执行线路图,调用时间,是做性能优化和查看代码的非常好的工具
    的头像 发表于 05-07 08:45 6410次阅读
    检测内存泄漏和内存<b class='flag-5'>违例</b>,Valgrind不可少!

    robei EDA简介Robei可视化EDA工具

    作者丨Robei君  图片 | Robei 没有EDA,就没有芯片,EDA是造芯的工具。 如果没有EAD软件,可能全球所有的芯片设计公司都得停摆,代工厂在进行工艺研发与优化时也将无工具
    发表于 01-05 14:20 6563次阅读
    robei <b class='flag-5'>EDA</b>简介Robei可视化<b class='flag-5'>EDA</b><b class='flag-5'>工具</b>

    NCSIM、VCS和QuestaSim后仿真如何屏蔽冗余违例信息呢?

    在进行数字电路后仿真时,经常会遇到很多时序为例,通常这些违例都是由网表中大量的时序检查报出的。
    的头像 发表于 01-03 09:43 2393次阅读

    EDA工具手册

    EDA工具手册. Cadence 软件是我们公司统一使用的原理图设计、PCB 设计、高速仿真、自动布线的EDA 工具。本篇Cadence 使用手册是一本基于Allegro SPB V
    发表于 03-11 15:11 0次下载

    多种EDA工具的FPGA协同设计

    摘 要:在FPGA开发的各个阶段,市场为我们提供了很多优秀的EDA工具。面对眼花缭乱的EDA工具,如何充分利用各种工具的特点,并规划好各种
    发表于 06-20 10:51 753次阅读

    IC设计Accellera先进库格式语言与EDA工具的结合

    IC设计Accellera先进库格式语言与EDA工具的结合应用 先进库格式(ALF)是一种提供了库元件、技术规则和互连模型的建模语言,不同抽象等级的ALF模型能被EDA同时用于IC
    发表于 12-26 14:43 724次阅读
    IC设计<b class='flag-5'>中</b>Accellera先进库格式语言与<b class='flag-5'>EDA</b><b class='flag-5'>工具</b>的结合

    Windows冗余清理工具

    电子发烧友网站提供《Windows冗余清理工具.exe》资料免费下载
    发表于 06-03 14:21 1次下载

    EDA设计流程及其工具

    EDA设计流程及其工具
    发表于 12-11 23:38 0次下载

    什么是EDA工具?目前全球EDA行业的现状是什么?

    EDA公司以卖EDA工具license费作为主要的商业模式。以某家EDA公司的PnR工具为例,一套license三年的使用费大约为100万美
    的头像 发表于 04-26 15:23 4w次阅读

    EDA的设计仿真工具——EasyEDA

    目前国内电子工程师使用的EDA设计工具主要还是以国外的设计工具为主,显然,国内EDA市场已被高度垄断。其实早在2014年开始,国内就已经诞生了一款专为国人的使用习惯研发的
    发表于 07-09 15:47 3518次阅读

    Vivado时序案例分析之解脉冲宽度违例

    脉冲宽度违例 - 高脉冲宽度违例 如需了解脉冲宽度违例的详情,请参阅报告时序汇总(Report Timing Summary) 的TPWS部分。 最严重的脉冲宽度违例在报告
    的头像 发表于 11-19 13:48 5513次阅读
    Vivado时序案例分析之解脉冲宽度<b class='flag-5'>违例</b>

    视频光流去除冗余信息的动作预测方法

    近年来使用光流作为输入特征的基于深度学习的动作预测方法逐渐成汋主流,但是光流由于环境因素等影响,极易引入无关的冗余信息,从而降低动作预测的精度,而现有方法并没有考虑到光流冗余
    发表于 05-12 11:13 4次下载

    EDA工具的发展特征

    、第五的位置。近三年来,在优势工具的巩固下,在2020年全球72.3亿美元的市场,前五大EDA工具企业控制了约85%市场,其中市场前三大企业的市场占有率近80%。除市场前三的
    发表于 06-12 10:32 4037次阅读
    <b class='flag-5'>EDA</b><b class='flag-5'>工具</b>的发展特征

    eda工具的技术来源 eda技术的设计方法

    EDA工具的技术来源主要包括描述统计学、可视化技术、探索性数据分析方法、数据挖掘技术,以及可交互性与用户界面设计。这些技术和方法的应用使得EDA工具成为数据分析和发现
    发表于 07-21 15:09 881次阅读

    eda工具软件有哪些 EDA工具有什么优势

    和预测提供基础。在进行EDA过程,使用合适的工具软件可以显著提升效率和准确性。本文将介绍几种常见的EDA工具软件。 Python和其相关的
    的头像 发表于 01-30 13:57 1104次阅读