首页>>科技 >>内容

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

发布时间:2023-07-29 15:00:17编辑:温柔的背包来源:

很多朋友对详解芯片SDF文件,MCU芯片全流程设计不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

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

SDF文件是在VCS/NC-Verilog之后运行仿真时,将STD/IO/Macro门级verilog中指定的延迟信息替换为QRC/Star-RC提取的实际物理延迟信息。如果SDF文件的条件信息不在verilog的指定中,则会报SDFCOM_INF的警告,即IOPATH not found。

本文分析了SDF的Header Section信息和Cell Entries信息,特别是Cell Entries的Delay Entries信息。

下面将讨论SDF 文件的第一部分,即标头部分。

1. SDF 版本录入,包括1.0、2.1、3.0,SDF3.0 于1995 年发布。 2. Design Name Entry,设计顶级名称3. Date Entry,SDF 生成日期,PT 或Tempus 生成4. Vendor Entry,供应商信息,如下图

5.程序版本入口6.Hierarchy Divider入口7.电压入口,SDF3.0官方解释如下

8.进程入口,SDF3.0官方解释如下

9.温度入口,SDF3.0官方解释如下

10.时间刻度入口,SDF3.0官方解释如下

下面继续解释SDF文件的第二部分,Cell Entries:

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

路径脉冲

路径脉冲百分比

绝对延误

增加延误

1. 路径脉冲示例:

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

当i1到o1输出低电平脉冲在13ns~21ns之间时,输出为X状态;

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

2. PATHPULSEPERCENT 本质上与PATHPULSE 相同,只不过是根据路径延迟比计算何时丢弃输入脉宽不足的信号(脉冲抑制限制)、何时将输入脉宽不足的信号显示为X 状态(X限制)。例如:

以上图为例,从高到低的延迟为37,因此脉冲抑制限制为37 的25%,X 限制为37 的35%。

3. 绝对延误

ABSOLUTE Delays中的物理延迟数据用于替换verilog指定中的延迟数据。

4. 增加延误

它用于叠加在verilog指定的延迟数据上。 INCRMENTDelays 为负数。如果叠加的延迟为负数,有些EDA工具可能不支持或者直接强制延迟为0。

上面介绍了SDF3.0的Header部分和Cell Entries的Delay Entries,下面对其余Delay Entries进行分析。

5. 延迟定义条目

ABSOLUTE和INCRMENT延迟都使用相同的Delay Definition结构,其结构语法如下:

6.指定延迟值延迟值在delval_list中指定。总共最多有12 个括号。每个括号内有3个值,以‘:’分隔,分别代表最小值、典型值和最大值的延迟值; delval_list 包含以下条件:

如果指定12个delval值,每个delval代表:如果指定2个delval值,第一个delval代表01('rising')的延迟值,第二个delval代表10('falling')的延迟值;如果指定3个delval值,第一个delval代表延迟值01('上升'),第二个delval代表延迟值10('下降'),第三个delval代表-Z('Z转变') 延迟值;如果指定了6个delval值,则分别代表0:1、10、0Z,Z:1、1Z,Z0;例如,如下,IO PATH 有6 个delvals 值被指定:

但0-1和1-0的延时都是默认的,下面四个括号分别对应0Z、Z:1、1Z、Z0。 SDF3.0 支持此语法,注释器工具在反向标记时不会替换verilog 指定0-1、1-0 转换延迟值。 7. 输入/输出路径延迟如下,port_spec 是输入/双向IO,并且可以有边缘标识符。 port_instance 是输出/双向IO,不能有边缘标识符。

8. Conditional Path Delays 语法如下,QSTRING 作为条件标签是可选的。

特别需要注意的是,模型中为路径指定的条件都不为TRUE,但信号仍必须在路径上传播,因此,CONDELSE 可用于指定脱靶条件: CONDELSE ( IOPATH port_spec port_instance delval_list ) 9. 条件标签QSTRING 是可选的条件标签,一些EDA 工具在反向标记时可能会使用Condition LabelsName 作为占位符。 10. Output Retain Delays 输出端口输出/双向端口的数据在输入变化后保持的时间,通常发生在存储器/寄存器文件的数据选择端/地址端到数据输出端的路径上。

第一个delval(4,5,7)是上升触发情况下的do,从0到X的延迟;第二个delval (5, 6, 9) 是下降触发情况下的操作,从1 到X 11。 端口延迟

12. 互连延迟

13. 设备延迟

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

(1) SDF3.0时序检查主要分为以下两种:

当时序违规发生时,VCS/NC-Verilog 后仿真报告警告;

时序签核工具报告时序检查违规情况;

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

2. 保持时序检查

3.SetupHold 时序检查注意,示例中~reset 必须为真(Ture),才会执行时序检查。另外,12是建立时间要求,9.5是保持时间要求。

4. 恢复时序检查

5. 移除时间检查

6. 在恢复/移除定时检查示例中,恢复时间为1.5 个时间单位,移除时间为0.8 个时间单位。

7. 时差时序检查

8. 在宽度时序检查示例中,第一个最小脉冲宽度检查是由posege 时钟驱动的高相位;第二个最小脉冲宽度检查是由下降沿时钟驱动的低相位;

9. 在周期时序检查示例中,两个连续上升沿或两个连续下降沿之间的最小周期时间。

10. 在No Change Timing Check 示例中,addr 比write 的下降沿提前4.5 个时间单位,addr 比write 的上升沿晚3.5 个时间单位。

(2) SDF3.0Timing Environment Entries SDF3.0Timing Environment Entries 分为两部分,约束和时序环境。首先,分析约束条件。 1. 约束首先,SDF3.0Timing环境包括以下类型的约束: a) 路径约束是添加到时序分析中找到的关键路径上的约束。 PR 工具可以使用这些约束来优化物理设计。约束指定路径的最大延迟;如下图所示,y.z.i3为路径的起点,a.b.o1为路径的终点,25.1为起点与终点之间的最大上升延迟,15.6为路径之间的最大下降延迟起点和终点。

b) 周期约束从公共时钟到它在时钟树上驱动的叶单元的路径上的最大延迟约束。

c) Sum Constraint,顾名思义,是指多条路径的时延之和。在该示例中,两个网络所限制的延迟之和小于67.3 个时间单位。

d) 倾斜约束

2.时序环境SDF3.0时序环境条目分为两部分:约束和时序环境。上面分析了约束,现在分析时序环境。时序环境包含以下4 个约束a) 到达时间

b) 出发时间

c) 松弛时间

d) 波形规格

实用MCU+ISP图像处理芯片布局

实际ISP图像算法效果

知识星球发起启动MCU项目。大家将参与MCU项目规范启动的讨论。我会把设计、验证、DFT、后端的所有知识点都列出来,大家一起完善。

介绍以项目驱动的方式进行MCU芯片全流程设计的方法;完善相关清单和签核清单样本;让星球成员熟悉SoC架构、设计流程、开发进度、项目管理;

黄飞

以上知识分享希望能够帮助到大家!