SDF生成——为动态时序仿真

标准延迟格式或SDF包括设计中所有单元的时序信息,它为仿真门级网表提供时序信息。

1 SDF文件

SDF文件包括设计中每个单元的时序信息,基本的时序数据由以下几部分组成:

——IOPATH延迟

——INTERCONNECT延迟

——SETUP时序检查

——HOLD时序检查

IOPATH延迟指定单元延迟,其计算依据输出连线负载和输入信号的转换时间。

INTERCONNECT延迟是基于路径的点到点的延迟,包括驱动们和被驱动门间的RC延迟。它指定了从驱动单元的输出引脚到被驱动单元的输入引脚的连线延迟。

SETUP和HOLD时序检查包括决定每个单元所需的建立和保持时间的数值,这些值是基于工艺库中的特征值。

2 SDF文件生成

可为布图前或布图后仿真生成SDF文件。在将提取的RC延迟值和寄生电容反标注到DC或PT之后,由DC或PT生成布图后SDF。布图后的值代表了同设计相关的实际延迟。可用如下命令生成SDF文件:

2.1 生成布图前SDF文件

布图前的数值包括基于线载模型的延迟值,布图前网表也不包括时钟树。因此在生产布图前SDF时,有必要近似布图后时钟树的延迟。

为了生产布图前SDF,下列命令通过定义时钟延迟、扭曲和转换时间来模拟布线后时钟树的值:

如上所示,通过设置(确定)这些值,设计人员假设所得的SDF文件也包括这些值,也就是说,从时钟源到终点(触发器的时钟输入端口)的时钟延迟固定在2.0,然而情况并非如此。DC只用上述命令进行静态时序分析,并不将这一信息输出到SDF文件。

2.2 生成布图后SDF文件

布图后设计包括时钟树信息,因此,布图后SDF文件生成不再需要在布图前阶段修正时钟树延迟、扭曲和时钟转换时间所需的所有步骤,而是在时钟网络中传播时钟以提供真实的延迟和转换时间。

对于最终的SDF生成,只应向DC或PT反标注提取的寄生电容和RC延迟。当为仿真生成布图后SDF文件时,可用如下命令向设计反标注提取的数据并指定时钟信息。

2.3 时序检查相关问题

有时在仿真过程中,产生的未知值(X)会导致仿真失败。产生这些未知值是由于建立保持时间违例造成的。大多数时候,这些违例是真实的,然而也有设计者可能希望忽略同设计的某些部分相关的一些违例,但仍验证其余的情况。通常这是办不到的,因为仿真器无法在选择的基础上关闭X的生产。

通常对整个设计几乎所有仿真器都提供忽略时序违例的能力,它们不具有忽略设计中一个单元的单独实例的时序违例的能力。为避免这种问题并成功仿真,可能需要有选择地对构建在SDF文件中的建立和保持时间的值设定为假。SDF文件是基于实例的(而不是基于单元的),因此容易获得时序检查的选择定位。不用手动从SDF文件中删除建立和保持时间结构,更好的方法是仅对违例的触发器在SDF文件中把建立和保持时间置零,也就是说,用零来取代现有的建立和保持时间。向仿真器反向标注为零值的建立和保持时间,可防止它生成未知值(如果建立和保持时间都是零,就不会有任何违例),从而使得仿真能顺利地运行。可用如下的命令执行这一步:

dc_shell > set_annotated_check 0 -setup -hold -from REG1/CLK -to REG1/D

2.4 虚假延迟计算问题

单元的延迟计算是基于单元的输入转换时间和输出负载电容,单元的输入转换时间是基于驱动单元(前一单元)的转换延迟求得的。如果驱动单元不止包含一个时序弧,那么将用最坏的转换时间作为被驱动单元的输入。当为了仿真生成SDF文件时,这将会引起一个大的问题。

考虑如图所示的逻辑:

信号reset和signal_a是实例U1的输入。假定信号reset不是关键的,而signal_a是我们真正感兴趣的。信号reset是一个慢信号,因而这个信号的转换时间要比具有较快转换时间的signal_a更长。这将为单元U1计算出两个转换延迟值(从A到Z额2ns和从B到Z的0.3ns)。当生成SDF时,这两个值将作为单元U1单元延迟的部分单独写出。然而现在问题出现了,DC使用这两个值的哪一个为单元U2计算转换时间?DC使用前一个门(U1)的最坏(最大)转换值作为被驱动门(U2)的输入转换时间。这将为单元U2计算一个大的延迟值。

为避免这一问题,需要指示DC不要为单元U1的引脚A到引脚Z的时序弧进行延迟计算:

dc_shell > set_disable_timing U1 -from A -to Z

在《高级ASIC芯片综合》一书的第11章11.2.5节提供了相应的布图前后SDF生成的DC脚本。可在微信公众号【数字IC与应用系统】内回复“高级ASIC芯片综合”获得该书的电子版。

参考文献

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 数字 IC top-down 设计流程 拿到一个芯片设计项目,首要做的事就是确定好系统功能、性能、物理尺寸、 设计...
    古城阳光阅读 5,652评论 0 3
  • 以下三个是最经常被问到的,基本上属于介绍性的题目,无所谓正确答案,在我看来,这些不算真正的问题。 Discuss ...
    蜀湘情缘阅读 6,109评论 0 8
  • 1. 设计约束 上一节描述了设计环境的约束: https://mp.weixin.qq.com/s?__biz=M...
    我喜欢唱跳rap打篮球阅读 1,547评论 0 1
  • 来源:系统时序基础理论 对于系统设计工程师来说,时序问题在设计中是至关重要的,尤其是随着时钟频率的提高,留给数据传...
    暗夜望月阅读 2,636评论 0 2
  • 有了正确和优化的网表,用户可以用布图工具将设计转化为它的物理形式。虽然布图是一个复杂的过程,但可归纳为如下三个基本...
    我喜欢唱跳rap打篮球阅读 510评论 0 1