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

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

3天内不再提示

解析SDF的Header Section信息与Cell Entries信息

sanyue7758 来源:全栈芯片工程师 2023-05-06 09:54 次阅读

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

db9ced20-eb53-11ed-90ce-dac502259ad0.png

1. SDF Version Entry,包括1.0、2.1、3.0,SDF3.0是1995年release。

2. Design Name Entry,设计顶层名

3. Date Entry,SDF生成日期,PT或Tempus产生

4. Vendor Entry,Vendor信息,如下图

dbbbf454-eb53-11ed-90ce-dac502259ad0.png

5. Program Version Entry

6. Hierarchy Divider Entry

7. Voltage Entry,SDF3.0官方解释如下

dbd0d78e-eb53-11ed-90ce-dac502259ad0.png

8. Process Entry,SDF3.0官方解释如下

dbec8e2a-eb53-11ed-90ce-dac502259ad0.png

9. Temperature Entry,SDF3.0官方解释如下

dc01b57a-eb53-11ed-90ce-dac502259ad0.png

dc170a4c-eb53-11ed-90ce-dac502259ad0.png

10.Timescale Entry,SDF3.0官方解释如下

dc28b22e-eb53-11ed-90ce-dac502259ad0.png

下文继续讲解SDF文件的第二部分Cell Entries:

dc44dc92-eb53-11ed-90ce-dac502259ad0.png

完整的Delay Entries信息格式如下:

dc5f1f44-eb53-11ed-90ce-dac502259ad0.png

PATHPULSE

PATHPULSEPERCENT

ABSOLUTE Delays

INCREMENT Delays

1. PATHPULSE 举例说明:

dc74364a-eb53-11ed-90ce-dac502259ad0.png

当从i1到o1输出的低电平脉冲小于13ns时,该低电平脉冲直接被忽略;

当从i1到o1输出的低电平脉冲介于13ns~21ns时,输出为X态;

当从i1到o1输出的低电平脉冲大于21ns时,正常输出低电平;

dc85cd42-eb53-11ed-90ce-dac502259ad0.png

2. PATHPULSEPERCENT

本质上和PATHPULSE是一回事,只不过是按照path延时比例来计算什么时候丢弃输入脉冲宽度不足的信号(pulse rejection limit),什么时候将输入脉冲宽度不足的信号显示为X态(X limit)。比如:

dc9a02ee-eb53-11ed-90ce-dac502259ad0.png

以上图为例,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 Delays中的物理延时数据就是用来替换verilog specify中的延时数据的。

4. INCREMENT Delays

用来叠加在verilog specify中的延时数据上的,INCREMENT Delays是存在负数的情况的,叠加后的延时若是负数的话,某些EDA工具可能不支持或直接强制延时为0。

dca8234c-eb53-11ed-90ce-dac502259ad0.png

上面介绍了SDF3.0的Header Section以及Cell Entries的Delay Entries部分内容,下面继续解析Delay Entries剩下的部分。

dcb98fa6-eb53-11ed-90ce-dac502259ad0.png

5. Delay Definition Entries

ABSOLUTE and INCREMENT delays都采用同样的Delay Definition结构,其结构语法如下:

dcd00df8-eb53-11ed-90ce-dac502259ad0.png

6. Specifying Delay Values

Delay Values在delval_list里面指定,最多一共有12个小括号,每个小括号里面有3个值,用":"隔开,分别代表minimum、typical、maximum的延时值;在delval_list里面包含如下情况:

dce2b124-eb53-11ed-90ce-dac502259ad0.png

若12个delval值都指定了,那么每一个delval分别代表:

dcfbe2e8-eb53-11ed-90ce-dac502259ad0.png

若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值被指定:

dd09e4ce-eb53-11ed-90ce-dac502259ad0.png

但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。

dd1e22a4-eb53-11ed-90ce-dac502259ad0.png

8. Conditional Path Delays

语法如下,QSTRING作为Condition Labels是可选的。

dd32eb80-eb53-11ed-90ce-dac502259ad0.pngdd43f77c-eb53-11ed-90ce-dac502259ad0.png

特别需要注意的是,在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 LabelsName进行占位。

10. Output Retain Delays

输出端口output/bidirectional port的数据在输入发生变化后保持的时间,通常发生在memory/register file的数据选择端/地址端到数据输出端的路径。

dd59025c-eb53-11ed-90ce-dac502259ad0.png

dd6e6c8c-eb53-11ed-90ce-dac502259ad0.png  

dd899f7a-eb53-11ed-90ce-dac502259ad0.png

第一个delval(4,5,7)是rising trigger情况下的do,从0到X的延时; 第二个delval(5,6,9)是falling trigger情况下的do,从1到X的延时;

11. Port Delays

dd9be0a4-eb53-11ed-90ce-dac502259ad0.png

12. Interconnect Delays

ddb9db90-eb53-11ed-90ce-dac502259ad0.png

13. Device Delays

ddd75a3a-eb53-11ed-90ce-dac502259ad0.png

下文继续讲解SDF文件的Timing ChecksEntries、Timing Environment Entries两个部分

(一)SDF3.0Timing Checks主要分以下两种:

VCS/NC-Verilog后仿真在timing violation时报出warning;

Timing Sign-Off工具报出timing check violations;

以时序分析工具Sign-Off为主,后仿为辅,SDF3.0Timing Checks具体的类型如下:

1. Setup Timing Check

dded340e-eb53-11ed-90ce-dac502259ad0.png

2. Hold Timing Check

de032afc-eb53-11ed-90ce-dac502259ad0.png

3. SetupHold Timing Check

注意,示例中~reset必须为真(Ture),timing check才会进行,此外,12是建立时间要求,9.5是保持时间要求。

de175072-eb53-11ed-90ce-dac502259ad0.png

4. Recovery Timing Check

de30c46c-eb53-11ed-90ce-dac502259ad0.png

5. Removal Timing Check

de46e83c-eb53-11ed-90ce-dac502259ad0.png

6. Recovery/Removal Timing Check

示例中,recovery time为1.5个time unit,removal time为0.8个time unit。

de58b8a0-eb53-11ed-90ce-dac502259ad0.png

7. Skew Timing Check

de735d04-eb53-11ed-90ce-dac502259ad0.png

8. Width Timing Check

示例中,第一个minimum pulse width检查是posedge clock驱动的high phase;第二个minimum pulse width检查是negedge clock驱动的low phase;

de8e4bc8-eb53-11ed-90ce-dac502259ad0.png

9. Period Timing Check

示例中,两个连续上升沿之间或两个连续下降沿之间的最小Cycle时间。

dea57514-eb53-11ed-90ce-dac502259ad0.png

10. No Change Timing Check

示例中,addr提前write下降沿4.5个time unit, addr晚于write上升沿3.5个time unit。

deb939fa-eb53-11ed-90ce-dac502259ad0.png

(二)SDF3.0Timing Environment Entries

SDF3.0Timing Environment Entries分成Constraints与Timing Environment两个部分,首先解析Constraints。

1.Constraints

首先,SDF3.0Timing Environment包括以下几类constraints:

a)Path Constraint

针对timing analysis中发现的关键路径添加的约束,PR工具可以利用这些约束优化physical design,该约束指定路径的最大延时; 如下图, y.z.i3是path起点,a.b.o1是path终点,25.1是起点和终点之间的maximum rise delay,15.6是起点和终点之间的maximum fall delay。

ded4f5f0-eb53-11ed-90ce-dac502259ad0.png  

deef0d50-eb53-11ed-90ce-dac502259ad0.png

b)Period Constraint

时钟树上common clock到其驱动的leaf cell的路径的最大延迟约束。

df03b3f4-eb53-11ed-90ce-dac502259ad0.png  

df1be258-eb53-11ed-90ce-dac502259ad0.png

c)Sum Constraint

顾名思义,指的是几条路径的延时之和。示例中,约束两条net的延时之和小于67.3个time unit。

df3148dc-eb53-11ed-90ce-dac502259ad0.png

df469444-eb53-11ed-90ce-dac502259ad0.png

d)Skew Constraint

df5c5180-eb53-11ed-90ce-dac502259ad0.png

df703d58-eb53-11ed-90ce-dac502259ad0.png

2.Timing Environment

SDF3.0Timing Environment Entries分成Constraints与Timing Environment两个部分,上文解析了Constraints,现在解析Timing Environment。Timing Environment包含以下4点约束

a)Arrival Time

df8518c2-eb53-11ed-90ce-dac502259ad0.png

b)Departure Time

df9cf41a-eb53-11ed-90ce-dac502259ad0.png

c)Slack Time

dfb03a5c-eb53-11ed-90ce-dac502259ad0.png

d)Waveform Specification

dfc849bc-eb53-11ed-90ce-dac502259ad0.png    





审核编辑:刘清

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

    关注

    4

    文章

    268

    浏览量

    31829
  • 脉冲信号
    +关注

    关注

    6

    文章

    399

    浏览量

    37009
  • 低电平
    +关注

    关注

    1

    文章

    115

    浏览量

    13300

原文标题:一文讲透芯片后仿中的SDF

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

收藏 人收藏

    评论

    相关推荐

    芯片后仿之SDF 3.0解析(三)

    本文接着解析SDF3.0的Timing Checks Entries、Timing Environment Entries两个部分。
    的头像 发表于 04-16 11:08 1813次阅读
    芯片后仿之<b class='flag-5'>SDF</b> 3.0<b class='flag-5'>解析</b>(三)

    [1.3.1]--信息安全模型:信息在传输、存储、处理过程中保护信息的CIA

    信息安全工业信息安全
    jf_75936199
    发布于 :2023年02月05日 19:18:50

    [1.4.1]--信息时代和信息的价值_clip001

    信息安全工业信息安全
    jf_75936199
    发布于 :2023年02月05日 19:19:27

    [1.4.1]--信息时代和信息的价值_clip002

    信息安全工业信息安全
    jf_75936199
    发布于 :2023年02月05日 19:20:08

    信息是个啥?

    信息
    橙群微电子
    发布于 :2023年07月24日 09:21:15

    连接任意一台HOST,并得到它的HEADER信息

    连接任意一台HOST,并得到它的HEADER信息$fp = fsockopen ("phpwizard.net", 80, &$errnr, &
    发表于 01-11 09:21

    QuartusII警告信息解析

    本帖最后由 eehome 于 2013-1-5 09:53 编辑 QuartusII警告信息解析
    发表于 08-20 17:25

    简要解析USB Type-C的相关信息

    简要解析USB Type-C的相关信息
    发表于 05-21 06:28

    SDF是什么?有何应用

    SDF-4.0隧道施工风机威廉希尔官方网站 ***隧道施工风机(SDF)系列
    发表于 09-02 09:09

    CAN报文解析需要知道DBC的哪些信息排序方式

    CAN总线中报文数据读取方法motorola编码格式的CAN报文解析需要知道DBC的哪些信息排序方式读取方式发送方式注motorola编码格式的CAN报文解析知道CAN报文的DBC,即可按以下
    发表于 01-12 07:28

    请问HarmonyOS编程如何获取手机信息的基站小区Cell值?

    HarmonyOS之Java编程如何获取手机信号的基站小区Cell值,获取手机信息强度度如-88dBm麻烦帮帮忙!谢谢!以前的Android 的GsmCellLocation location
    发表于 04-22 10:06

    什么是Cell

    什么是Cell  英文缩写: Cell 中文译名: 信元 分  类: 解  释: 在异步转移模式(ATM)传送信息时,信息
    发表于 02-22 17:30 3747次阅读

    如何将HTTP里面的Header信息记录到访问日志里

    不得不承认Nginx用的非常广泛,然而Nginx的访问日志在分析问题时也有很大用途,那么Nginx日志要想增加一些自定义信息就尤为重要了。比如本篇文章就教你如何将HTTP里面的Header信息记录到访问日志里。
    的头像 发表于 07-01 11:29 2940次阅读

    详解芯片SDF文件 MCU芯片全流程设计

    SDF文件是在VCS/NC-Verilog后仿真运行时将STD/IO/Macro门级verilog中specify的延迟信息替换为QRC/Star-RC抽取的实际物理延时信息
    发表于 05-08 10:30 1.2w次阅读
    详解芯片<b class='flag-5'>SDF</b>文件 MCU芯片全流程设计

    芯片后仿之SDF 3.0解析

    SDF文件是在VCS/NC-Verilog后仿真运行时将STD/IO/Macro门级verilog中specify的延迟信息替换为QRC/Star-RC抽取的实际物理延时信息,所以如果SDF
    的头像 发表于 12-18 09:56 1330次阅读
    芯片后仿之<b class='flag-5'>SDF</b> 3.0<b class='flag-5'>解析</b>