SDF文件详解

数字电路门级仿真及SDF反标

一、概述

从概念上来说,数字验证包含两方面的内容,一个是验证功能,另一个是验证时序。对应的仿真模型(不论是model,standard cell等)也不外乎这两个部分,功能部分由逻辑,udp元件或gate构成时序部分则包括了时序反标和时序检查两小块

平时我们所说的功能验证,也就是前仿真,实现了对功能进行验证的目的,时序被默认为理想情况,不包含延迟信息。门级仿真,也称为后仿真,除了功能验证外,最主要就是用来检查时序是否满足,有没有时序违例的情形

门级仿真根据网表不同,又可以分为综合后仿真,以及pnr后仿真。前者是用综合后的网表进行仿真,这时由于hold没有修,所以会出现不少时序违例的情况,真正timing clean的网表是后端做完布局布线,修修补补完timing的网表,我们称为pnr网表

       进行pnr网表的后仿真时,我们需要告知仿真工具cell与cell之间的延迟,D端到Q端的延迟,这里,我们就要请出主角SDF文件,闪亮登场!


二、什么是SDF文件?

SDF(Standard delay file)文件是把布局布线过程中器件延时和线延时的信息保留下来,据此就可以在路径时序分析时将整条路径的时序计算出来,再判断时序约束条件就能知道是否满足时序要求了。

三、如何反标SDF文件?

       反标SDF文件有两种方法,一种作为elaboration的选项指定,另一种是在bench中调用系统函数$sdf_annotate()来完成。

作为elaboration的选项

-sdfmin|typ|max:instance_name:file.sdf

如vcs-sdf min:top.i_test.:test.sdf

使用系统函数$sdf_annotate

$sdf_annotate (“sdf_file”[, module_instance] [,“sdf_configfile”][,“sdf_logfile”][,“mtm_spec”]

[,“scale_factors”][,“scale_type”]);

这里除了sdf_file必须给出外,其他参数可以使用默认值,如:$sdf_annotate(“test.sdf”);

要说明下参数scale_type,sdf文件中时序信息都会由3个数字组成,分别对应是minimum,typical,maximum三种情形下的延迟(当然,有时候会只有minimum和maximum的情况,那么typical的延迟没有就省略)。scale_type的可取值为:

FROM_MINIMUX

选择SDF文件中mininum timing

FROM_TYPICAL

选择SDF文件中typical timing

FROM_MAXIMUM

选择SDF文件中maximum timing

FROM_MTM

系统默认

四、如何确认成功反标呢?

反标完成后,可以从log中看到这样一句话:

例子

这样我们就反标完成了,接下来让我们通过后仿波形,验证下设计中延迟和sdf文件中延迟是否一致。我们在i_test中例化了一个DLY4类型的名为i_delay的cell。

从库文件中我们能够找到DLY4这个cell

可以看到DLY4这个cell里面包含了一个buf,功能是将输入A 延迟一点时间输出到Y,这个module里面包含了specify块,里面定义了A到Y的延迟。那么,我们在后仿过程中会使用这里specify的延迟么?

看下SDF文件中对DLY4如何定义的?

从SDF文件中,我们可以看到对于上升沿而言,A到Y的延迟分别是0.225(min),0.226(max)

将SDF反标进后仿网表,通过仿真我们来验证下A到Y的延迟值

至此,我们完成了一个cell的反标,并验证了后仿波形中信号的实际延迟和sdf中定义的相一致。再回到刚才提出的问题,在反标SDF后,specify块中定义的延迟值不再有用,取代的将是SDF文件中的延迟。

原文链接:https://blog.csdn.net/gsjthxy/article/details/126774342

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数字 IC top-down 设计流程 拿到一个芯片设计项目,首要做的事就是确定好系统功能、性能、物理尺寸、 设计...
    古城阳光阅读 11,896评论 0 3
  • 一、 STA 时序分析分为动态时序分析(DTA, Dynamic Timing Analysis)和静态时序分析(...
    飞奔的大虎阅读 5,875评论 0 4
  • 前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析。由于是面向数字IC前端设计的学习,所以这里的功...
    飞奔的大虎阅读 5,446评论 0 0
  • 以下三个是最经常被问到的,基本上属于介绍性的题目,无所谓正确答案,在我看来,这些不算真正的问题。 Discuss ...
    蜀湘情缘阅读 11,509评论 0 8
  • 标准延迟格式或SDF包括设计中所有单元的时序信息,它为仿真门级网表提供时序信息。 1 SDF文件 SDF文件包括设...
    我喜欢唱跳rap打篮球阅读 9,298评论 0 1

友情链接更多精彩内容