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

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

3天内不再提示

常用的时序反标方法和EDA工具反标方法

sanyue7758 来源: 硅芯思见 2023-10-25 16:13 次阅读

前段时间,一个朋友聊叙到这个后仿真任务命令都咋用,随即整理了下,可以完成基本的后仿真不成问题,但是如果还要完成一些其他的幺蛾子,那就需要各位仔细研读各工具的UserGuide了。下文如果觉得有帮助,烦请“三连”,当然加鸡腿也是可以的。。。哈哈哈,开玩笑了,只要对需要的人有用即可。

后仿真时,需要使用sdf对网表记性反标,即对网表中的时序信息记性“替换”,本文将示例常用的时序反标方法和一些EDA工具反标方法。

1 采用SystemVerilog(Verilog)系统任务

SystemVerilog和Verilog中在过程块中使用系统任务$sdf_annotate实现sdf文件对于网表的反标,其使用格式如下:

$sdf_annotate(sdf_file,module_instance,config_file,log_file,mtm_spec,scale_factors,scale_type);

其中各参数的主要意义如下:

sdf_file:指定要使用的sdf文件;

module_instance:指定sdf文件要反标的设计层次,需要注意的是此时指定的是例化名而非模块名。同时该参数本身是可选择的,默认实例名为调用$sdf_annotate所在模块的实例名(注意顶层模块名与实例名相同,可参阅《【168】仿真时为什么顶层不例化》);

config_file:指定进行反标时一些详细的反标控制信息,该选项可选,一般不指定,详细看参考各EDA工具帮助手册;

log_file:指定保存反标过程中产生的log信息文件名,该选项可选,建议指定,以方便查阅反标过程中的信息;

mtm_spec:指定反标的时序类型,也是可选项,反标常用类型主要有下表几种。

关键字 说明
MAXMIN 反标时选用最大延迟值
MINIMUM 反标时选用最小延迟值
TOOL_CONTROL(默认) 默认值,由仿真工具指定
TYPICAL 反标时选用典型值

这里需要注意,该参数为字符串类型,所以在任务中指定表格中的参数时需要给对应的关键字加上双引号。

scale_factors:指定最大延迟、最小延迟和典型延迟值的缩放因子,该选项也是可选的,一般情况下也不指定。该参数可以实现对于反标值的缩放,默认值为1.01.0,当然也可以指定不同的值,实现延迟值的不同缩放比例,例如,scale_factors设置为“1.2:1.3:1.4”,此时sdf中指定的反标值为“24”,那么实际反标给网表的值为“1.2*21.4*4”,即此时的实际反标值为“2.45.6”;

scale_type:该参数也属于可选项,用于指定缩放因子具体作用的延迟值,指定该参数后,confg_file中指定的配置文件中的SCALE_TYPE将会被覆盖掉,该参数可以指定的关键字如下表所示。

关键字 说明
FROM_MAXMIN 缩放因子仅作用于最大延迟值
FROM_MINIMUM 缩放因子仅作用于最小延迟值
FROM_MTM(默认) 缩放因子作用于min/typ/max
FROM_TYPICAL 缩放因子仅作用于典型值

【示例】

ca55c9b0-730c-11ee-939d-92fbcf53809c.png

其中第二个参数top_tb是要反标模块的例化名,一般从顶层开始写起。个人比较推荐使用该方法,因为该方法不依赖于具体的EDA工具,而下述的方法依赖于具体的EDA工具,也因此,这些依赖于具体工具的命令不能复用。

2 EDA工具反标

因为反标操作是发生在析构(elaboration)阶段完成的,所以可以在工具的析构阶段增加对应的参数实现反标操作。下面将针对Synopsys的VCSMX和Cadence的NCSIM进行示例说明。

2.1 VCSMX(Synopsys)

2.1.1命令行

在析构命令中增加如下参数选项,可以实现指定层次和sdf的反标,具体格式如下:

-sdf min|typ|maxfile_sdf

注意其中min、typ和max是可选的,根据需要指定。

【示例】

ca77b584-730c-11ee-939d-92fbcf53809c.png

【反标信息】

ca82cbfe-730c-11ee-939d-92fbcf53809c.png

2.1.2 预编译方式

上面在析构命令中直接指定反标层次和sdf文件的方式存在一个问题,那就是如果我们的设计代码进行了修改,但是sdf文件并没有修改,此时如果编译完后,在析构的时候还要再进行一次sdf文件的解析反标,将会比较耗费时间,为此,一般的EDA工具都提供了另外一种反标方式,即对sdf文件进行预编译,如果sdf文件并没有修改,仅设计文件进行修改,此时就可以采用sdf预编译方式,具体操作步骤如下示例。

【示例】

ca8deb88-730c-11ee-939d-92fbcf53809c.png

【反标信息一】在系统任务$sdf_annotate中添加要使用的已经预编译的反标文件

ca97066e-730c-11ee-939d-92fbcf53809c.png

【反标信息二】在析构命令中加入已经预编译的反标文件,大家可以仔细观察下两者差异。

ca9f5878-730c-11ee-939d-92fbcf53809c.png

另外,在VCSMX中,还可以指定sdf预编译生成文件的保存路径,指定方式如下:

cab52072-730c-11ee-939d-92fbcf53809c.png

2.2 NCSIM

在NCSIM中使用较多的反标方式除了调用$sdf_annotate之外,就是采用命令文件的方式,其主要特点也是将sdf的编译与设计的编译分开,将sdf单独编译,在析构时再指定已经编译好的sdf文件,其具体操作如下示例。

【示例】

cac16d50-730c-11ee-939d-92fbcf53809c.png

反标信息同上,此处不再赘述。另外,如果使用nc的64模式进行仿真,那么在编译析构命令中加上“-64bit”即可。

当然上述EDA工具对应的各种命令还有很多对应的参数,想了解的朋友可以参考对应工具的UserGuide,示例中仅是一些基本设置项,大家可以根据需要记性调整。

审核编辑:汤梓红

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

    关注

    50

    文章

    4040

    浏览量

    133412
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109980
  • System
    +关注

    关注

    0

    文章

    165

    浏览量

    36881
  • eda
    eda
    +关注

    关注

    71

    文章

    2708

    浏览量

    172865
  • 时序
    +关注

    关注

    5

    文章

    385

    浏览量

    37274

原文标题:常用的后仿真绝绝子---(VCSMX&NCSIM)

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

收藏 人收藏

    评论

    相关推荐

    关于POWERPCB元件编号ORCAD的研究

    `关于POWERPCB元件编号ORCAD的研究`
    发表于 08-20 14:38

    Cadence 16.5 Concept HDL原理图后每个元件出现CDS_PART_NAME信息

    Cadence 16.5 Concept HDL原理图后每个元件出现CDS_PART_NAME信息,整个原理图看着非常凌乱,如图所示。在原理图打包Export physical完成后,查看
    发表于 04-01 00:29

    Cadence 16.5 Concept HDL原理图打包后电源、地网络显示为红色

    Cadence 16.5 Concept HDL原理图打包后电源、地网络显示为红色,如图所示,是什么原因产生的呢?怎样消除?求大神赐教,谢谢!!!
    发表于 04-01 01:09

    金橙子打卡labview打开发没头绪?c#封装成dll后labview调用真香!

    对接会面临很多数据类型和指针的调用问题。labview如何调用?我们的方法是直接用c#封装dll后提供labview调用。初始化与初始化函数名]返回值: 通用错误码备注:]使用条件:1确保库连接成功.2确保有库函数的地址.使用方法
    发表于 07-26 01:18

    如何将PT产生的SDF文件设计进行后仿真?

    RT,现在后端已把PR数据导出交付给了前端,我想问问,如何将PT产生的SDF文件设计进行后仿真呢?现在知道需要将SDF文件引入到testbench里,所以问题很简单如何在testbench里加
    发表于 06-23 06:50

    招标评方法的适用性研究

    由于招标评对象的多样性,普遍适用的评方法是不存在的。基于对现行及在研的几种主要评方法(包括最低投标价法,多属性分析法,基于不确定性理论
    发表于 03-25 17:07 7次下载

    直流锅炉汽温、汽压控制系统的架正规化设计

    本文针对直流锅炉的控制特点,将架正规化设计方法应用到直流锅炉汽温、汽压控制系统的鲁棒、解s设计中。其仿真结果证明,此控制方案具有良好的控制品质。〔关键词〕
    发表于 01-12 17:17 9次下载

    基于熔丝的FPGA的测试方法

    基于熔丝的FPGA的测试方法_马金龙
    发表于 01-07 19:08 2次下载

    熔丝FPGA配置和编程方法

    熔丝FPGA ,然后讨论了熔丝FPGA的编程方法,由此引出了位流文件的格式和熔丝单元编程信息格式,最后提出了熔丝FPGA位流文件生成
    发表于 11-18 11:19 1.1w次阅读
    <b class='flag-5'>反</b>熔丝FPGA配置和编程<b class='flag-5'>方法</b>

    激电路工作原理和如何进行激电路变压器的设计详细方法说明

    介绍了 UPS 中常用的辅助电源拓扑-激电路。详细分析了激电路工作原理,重点围绕着激电路能量传递的核心-隔离变压器,进行讨论。详细介绍了变压器的设计
    发表于 05-06 08:00 57次下载
    <b class='flag-5'>反</b>激电路工作原理和如何进行<b class='flag-5'>反</b>激电路变压器的设计详细<b class='flag-5'>方法</b>说明

    传感器怎么用_色传感器接线方法

    本文首先阐述了色传感器的概念,其次阐述了色传感器使用说明,最后介绍了色传感器接线方法
    发表于 01-17 11:24 1.6w次阅读

    单端激式开关电源RCD激钳位电路设计方法

    单端激式开关电源RCD激钳位电路设计方法(电源技术应用停刊时间)-单端激式开关电源RCD激钳位电路设计
    发表于 08-31 13:05 169次下载
    单端<b class='flag-5'>反</b>激式开关电源RCD<b class='flag-5'>反</b>激钳位电路设计<b class='flag-5'>方法</b>

    简单实用的激开关电源变压器设计方法

    简单实用的激开关电源变压器设计方法(电源技术版面费多少)-简单实用的激开关电源变压器设计方法
    发表于 09-24 17:06 201次下载
    简单实用的<b class='flag-5'>反</b>激开关电源变压器设计<b class='flag-5'>方法</b>

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

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

    极图实验数据的分析方法

    柱状图,这是一种平行投影图,不是传统的极射投影图;第2种方法是利用极射投影规律绘制出极图,把实测晶面的衍射强度相对比值极图。
    的头像 发表于 11-05 11:37 228次阅读
    <b class='flag-5'>反</b>极图实验数据的分析<b class='flag-5'>方法</b>