一文讲透芯片后仿中的SDF
SDF文件是在vcs/nc-verilog后仿真运行时将STD/IO/Macro门级verilog中specify的延迟信息替换为QRC/Star-RC抽取的实际物理延迟信息,如果SDF文件的条件信息在verilog的specify中没有的话,就会报SDFCOM-INF的warning,意思是IOPATH not found。
本文解析SDF的Header Section信息,Cell Entries信息,尤其重点讲解Cell Entries的delay Entries信息。
下文先讲SDF文件的第一部分Header Section
1:SDF version Entry,包括1.0,2.1,3.0,SDF3.0是1995年release
2:Design Name Entry,设计顶层名
3:Data Entry,SDF生成日期,PT或Tempus产生
4:Vendor Entry,Vendor信息,如下图
Example:
5:Program Version Entry
6:Hierachy Divider Entry
7:Voltage Entry,SDF3.0官方解释如下
Example:
8:Process Entry,SDF3.0官方解释如下
9:Temperature Entry,SDF3.0官方解释如下:
Example:
10:Timescale Entry ,SDF3.0官方解释如下:
下文继续讲解SDF文件的第二部分Cell Entries:
完整的Delay Entries信息格式如下:
PATHPULSE
PATHPULSEPERCENT
ABSOLUTE Delays
INCREMENT Delays
1:PATHPULSE
i:当从i1到o1输出的低电平脉冲小于13ns时,该低电平脉冲直接被忽略;
ii:当i1到o1输出的低电平脉冲介于13ns~21ns时输出为X态;
iii:当i1到o1输出的低电平脉冲大于21ns时,正常输出低电平;
2:PATHPULSEPRECENT
本质上和PATHPULSE是一回事,只不过是按照path演示比例来计算什么时候丢弃输入脉冲宽度不租的信号(pulse rejection limit)什么时候将输入脉冲宽度不租的信号显示为X态,比如:
以上图为例,the high-to-low delay is 37,因此 the pulse rejection limit is 25% of 37 and the X limit is 35% of 37
3:ABSOLUTE DELAYS
ABSOLUTE DELAY 中的物理延时数据就是用来替换verilog specify中的延时数据的。
4:INCREMENT DELAYS
用来叠加在verilog specify中的延时数据上的,increment delays 是存在负数的情况的,叠加后的延时若是负数的话,某些EDA工具可能不支持或者直接轻质延时为0。
上面介绍了SDF3.0的Header Section以及Cell Entrise的Delay Entries部分内容,下面继续解析Delay Entries剩下的部分。
5:Delay Defination Entries
ABSOLUTE and INCREMENT delays都采用同样的Delay Definition结构,其结构语法如下:
6:Secifying Delay Values
Delay Values 在delval_list里面指定,最多一共有12个小括号,每个小括号里面有3个值,用”:“分开,分别代表minimum,typical,maximum的延时值;在delval_list里面包含如下情况。
若12个delval值都被指定了,那么每一个delval分别代表:
如上图中所示:
若2个delval值被指定,第一个delval代表01(rising)延时值,第二个delval代表10(falling)延时值。
若3个delval值被指定,第一个delval代表01(rising)延时值,第二个delval代表10(falling)延时值,第三个delval代表-Z(Z transition)延时值。
若6个delval值被指定,那么他们分别代表01,10,0Z,Z1,1Z,Z0;
举例说明,如下,IO path有6个delval值被指定:
但是0-1,1-0的延时都缺省,后面四个括号分别对应0Z,Z1,1Z,Z0 ,这种语法SDF3.0是支持的,annotator工具反标的时候就不会替换verilog specify的0-1,1-0转换延迟值。
7:input/output path delays
如下,port_spec是输入/双向IO,可以有edge identifier
port_instance是输出/双向IO,不能有edge identifier
8:Conditional Path Delays
语法如下,QSTRING 作为Condition Labels是可选的。
特别需要注意的是,在none of the conditions specified for the path in the model are TRUE but a signal must still be propagated over the path,因此,CONDELSE可以用来指定条件脱靶的情况:
CONDELSE ( IOPATH port_spec port_instance delval_list )
9. Condition Labels
QSTRING作为Condition Labels是可选的,有些EDA工具反标的时候可能会用Condition Labels Name进行占位。
10. Output Retain Delays
输出端口output/bidirectional port的数据在输入发生变化后保持的时间,通常发生在memory/register file的数据选择端/地址端到数据输出端的路径。
第一个delval(4,5,7)是rising trigger情况下的do,从0到X的延时;
第二个delval(5,6,9)是falling trigger情况下的do,从1到X的延时;
11. Port Delays
12. Interconnect Delays
13. Device Delays
下文继续讲解SDF文件中的Timing Check Entries,Timing Environment Entres两个部分
(一)SDF3.0 Timing Checks主要分以下两种
VCS/NC-Verilog后仿真在timing violation时报出warning;
Timing Sign-Off工具报出timing check violations;
以时序分析工具Sign-Off为主,后仿为辅,SDF3.0 Timing Checks具体的类型如下:
1. Setup Timing Check
2. Hold Timing Check
3. SetupHold Timing Check
注意,示例中~reset必须为真(Ture),timing check才会进行,此外,12是建立时间要求,9.5是保持时间要求。
4. Recovery Timing Check
5. Removal Timing Check
6. Recovery/Removal Timing Check
示例中,recovery time为1.5个time unit,removal time为0.8个time unit。
7. Skew Timing Check
8. Width Timing Check
示例中,第一个minimum pulse width检查是posedge clock驱动的high phase;第二个minimum pulse width检查是negedge clock驱动的low phase;
9. Period Timing Check
示例中,两个连续上升沿之间或两个连续下降沿之间的最小Cycle时间。
10. No Change Timing Check
示例中,addr提前write下降沿4.5个time unit, addr晚于write上升沿3.5个time unit。
(二)SDF3.0 Timing Environment Entries
SDF3.0 Timing Environment Entries分成Constraints与Timing Environment两个部分,首先解析Constraints。
1.Constraints
首先,SDF3.0 Timing Environment包括以下几类constraints:
如下图, y.z.i3是path起点,a.b.o1是path终点,25.1是起点和终点之间的maximum rise delay,15.6是起点和终点之间的maximum fall delay。
b)Period Constraint
时钟树上common clock到其驱动的leaf cell的路径的最大延迟约束。
c)Sum Constraint
顾名思义,指的是几条路径的延时之和。示例中,约束两条net的延时之和小于67.3个time unit。
d)Skew Constraint
2.Timing Environment
现在解析Timing Environment。Timing Environment包含以下4点约束:
a)Arrival Time
b)Departure Time
c)Slack Time
d)Waveform Specification
一文讲透芯片后仿中的SDF相关推荐
- 面试问题-理解数字后仿,其次针对性理解数字后仿中的sdf文件(约束文件)的作用
理解数字后仿,其次针对性理解数字后仿中的sdf文件(约束文件)的作用 1)什么是sdf文件 2)如何反标sdf文件? 1,什么是数字后仿? 2,什么是门级网表? 3,什么是sdf文件 4,如何反标sd ...
- 7. 重磅硬核 | 一文聊透对象在JVM中的内存布局,以及内存对齐和压缩指针的原理及应用
重磅硬核 | 一文聊透对象在JVM中的内存布局,以及内存对齐和压缩指针的原理及应用 大家好,我是bin,又到了每周我们见面的时刻了,我的公众号在1月10号那天发布了第一篇文章?<从内核角度看IO ...
- 10自带sftp服务器_一文讲透FTP和SFTP的区别
阅读本文约需要10分钟,您可以先关注我们或收藏本文,避免下次无法找到. FTP和SFTP都是文件传输协议,我们知道FTP使用的是20和21端口,SFTP使用的是22端口.另外,SFTP前面的S应该是S ...
- js打印线程id_一文讲透“进程,线程和协程”
一文讲透"进程,线程和协程" 本文从操作系统原理出发结合代码实践讲解了以下内容: 什么是进程,线程和协程? 它们之间的关系是什么? 为什么说Python中的多线程是伪多线程? 不同 ...
- 双线macd指标参数最佳设置_一文讲透双线MACD指标及其实战运用
原标题:一文讲透双线MACD指标及其实战运用 船长的舍得交易体系技术理论模型中,我们要用到两大指标,分别是均线系统和双线MACD指标. 很多小伙伴都喜欢用双线MACD这个指标,但是90%的人都不知道其 ...
- 【敏捷开发】一文讲透敏捷管理中的DoR、DoD与AC
文章目录 一.需求侧:DoR 案例: DoR是什么? 如何建立DoR的标准? DoR样例 1.需求 2.交互 3.架构 二.研发侧:DoD DoD是什么? 如何建立DoD的标准? DoD样例 三.用户 ...
- 一文讲透『大神修炼心法』!35岁让自己过的越来越好!
Cocos 的老铁,如果你这几天没有被麒麟子给卷到?那说明你还没有真正进入 Cocos 圈子里来.为什么这么说呢?看下面. 3月1号 23:57 | 2800+字 麒麟子全方位解读 Cocos Cyb ...
- 【hadoop】一文讲透hdfs的delegation token
1.概述 转载并且补充:一文讲透hdfs的delegation token 最近我也在研究这个,学习一下. 1.1 起因 我最近在做FLink kerberos认证.我在flink配置文件中配置正确的 ...
- 一文讲透植物内生菌研究怎么做 | 微生物专题
内容导览 1. 隐秘而强大的植物内生菌 2. 难以区分的植物内生菌 3. 更好的植物内生细菌测序方法 3.1 LNA-16S测序鉴定内生细菌原理 3.2 LNA-16S测序鉴定内生细菌占比高达99% ...
最新文章
- 轻松掌控全链路服务监控:方案概述与对比 | 真的很干!
- android手机变微软手机号码,手机居然变平板?微软沦落到抄袭5年前安卓设计
- Organization Unit buffer - OOATTRCUST
- IntelliJ IDEA 配置文件位置
- 17 CO配置-控制-产品成本控制-产品成本计划编制-定义成本核算类型
- 如何实现多风格选择 样式实时切换?
- Web 前端怎样入门?
- 在java中创建线程有几种办法_Java中创建线程的几种主流方式
- EDB*Plus的当前路径问题
- Excel的一些工作中不算是常见,但是遇到时常常不知所错的,问题,与解决方案。
- 有关字符串的算法(KMP,Manacher,BM)陆续补充
- Unity3D:TCPSocket模块
- 聊天机器人与自动问答技术
- 员工身高体重决定能否晋升?自如回应
- 1. MyBatis框架介绍
- (Yuni)2021-02-16常见的DOS命令使用
- 我跟敏捷开发的故事--三面墙
- UI设计转行交互怎么样?【萧蕊冰】
- 中企故事汇:铁匠之乡借东风出海
- nc测试UDP是否正常
热门文章
- L-smooth,L-Lipschiz continuous,continuously differentiable含义理解和区分
- 王者荣耀服务器什么时候维护完,王者荣耀维护到几点?王者荣耀今天几点维护完?...
- 用Python帮我写一段新年烟花代码
- HTML — 淡入淡出边框按钮
- mysql连接字符串_MySQL连接字符串中的几个重要步骤
- mysql连接串_[MySQL] - MySQL连接字符串总结
- JSON数据采集网关
- 使用App Ops修改APP隐藏权限(Android)
- 图像处理之滤镜、图文排版的开发详解,从入门到起飞
- jfif格式怎么转换成jpg?