SDC是如何炼成的?IO约束篇 - 附Top和Block实战经验

From 老本 Benjamin RTL2GDS

IO约束在顶层和模块级的主要命令都是以下几个,但是实际应用的复杂程度不可同日而语,本篇会先介绍模块级IO约束实战经验,然后讲解顶层IO约束复杂性,过程中会介绍DDR接口时序。

set_input_delay

set_output_delay

set_driveset_driving_cell

set_input_transition

set_load...

各个命令的具体用法可以在PT中通过man了解详情,这里就不费劲重复了:pt_shell> man set_input_delay

模块级IO约束实战

上图给出了一种IN2REG路径的示意图,DUA为当前模块,外部有一个假想的虚拟寄存器在驱动CIN端口,这种情况下我们可通过以下命令来约束:

set period 8create_clock -name CLKP -period $period [get_ports CLKP]

#创建同频率的虚拟时钟create_clock -name vCLKP -period $period

#参考值为0.6,根据实际情况调整set_input_delay [expr 0.6 * $period] -clock vCLKP [get_ports CIN]

#假设端口buffer为BUFX4

set_driving_cell -lib_cell BUFX4 -pin Z [get_ports CIN]
 

虚拟时钟的作用

使用set_input_delay时,可以指定真实时钟CLKP,也可以指定虚拟时钟vCLKP,在CTS之前是没有区别的。然而,在CTS之后,如果指定的是真实时钟,那么虚拟寄存器的时钟延迟就被忽略了。如果指定的是虚拟时钟,工具往往可以根据内部真实时钟的平均延迟来估算外部虚拟寄存器的时钟延迟,更加合理。

一般地,为了让顶层的时序更容易满足,在模块级优化的时候,都会对自己内部的IN2REG和REG2OUT路径约束更加严格,可以设置外部的延迟为60%的时钟周期,给内部的数据路径留40%的空间。不过,具体问题需要具体分析了。

需要注意,set_input_delay 可以指定-max和-min选项,分别对应setup和hold时序检查,如果只是指定其中一个选项,或者都不指定,那么工具在检查setup和hold时,会使用相同的值。

端口Buffer和set_driving_cell配合使用

在实际项目中,为了避免模块之间,或者模块和顶层之间IO接口部分出现时序问题,一般会要求在靠近IO端口的地方添加具有一定驱动能力的端口Buffer。在这种情况下,可以通过set_driving_cell来模拟端口的真实外部环境。假如没有端口Buffer,也可以通过set_input_transition大致指定输入端口的驱动能力。

总体来说,set_driving_cell会考虑到OCV的影响,input transition是查表计算出来的,而set_input_transition比较简单粗暴,在IO端口时序不那么关键的时候,也可以使用。但在顶层,一般使用后者,因为IO单元的输入电容较大,芯片外部具备驱动能力较强的器件,标准单元库中没有buffer能够驱动。

顶层IO 约束实战

顶层IO约束在原理上与模块级没有本质区别,然而由于顶层需要与外部器件进行通讯,除了GPIO,还会接触到各种标准协议接口,例如UART,I2C,SPI,LVDS,DDR等等,在写SDC前需要读一读协议。更复杂的情况是,由于存在端口复用的情况,往往同一个端口具备多种时序要求,需要逐一定义。

上图是一个PinMux(也称为IOMux)的示意图,在SoC设计中非常常见,特别对于IO limited的芯片来说,PinMux是很有必要的。看似复杂,其实只要各个击破就能达到目标,SDC标准制定者已经为我们考虑到了这一点,通过set_input_delay的选项-add_delay,可以对同一个端口设置多重约束,例如:

set_input_delay [expr 0.6 * $periodA] -clock CLKA [get_ports CIN] -add_delay

set_input_delay [expr 0.3 * $periodB] -clock CLKB [get_ports CIN] -add_delay

另外,针对顶层输出数字端口,需要根据芯片使用的实际情况set_load,一般的GPIO端口负载电容都在pF级别。



原文地址:https://www.cnblogs.com/lelin/p/12652405.html

时间: 2024-11-01 17:31:20

SDC是如何炼成的?IO约束篇 - 附Top和Block实战经验的相关文章

一个简单RPC框架是如何炼成的(I)——开局篇

开场白,这是一个关于RPC的相关概念的普及篇系列,主要是通过一步步的调整,提炼出一个相对完整的RPC框架. RPC(Remote Procedure Call Protocol)--远程过程调用协议,基于C/S模型.网络上有一篇文章写得不错,可以去了解一下相关概念深入浅出RPC 这里,直接使用一下上面作者的一个示意图 总结下来就是有4块核心内容 RPC数据的传输.如上面的RPCConnector,RPCChannel.它们主要负责数据传输这一块, 具体客户端与服务器之间的连接是不是socket连

技术高手如何炼成?--转自知乎

原文地址:http://zhuanlan.zhihu.com/zhengyun/20270317 觉得蛮好,转给自己与相同问题的看看 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:郑昀链接:http://zhuanlan.zhihu.com/zhengyun/20270317来源:知乎 关键词:成长,知识体系,学习金字塔,论坛,博客,RCA,分享会本文档适用人员:技术人员 面试的时候,我会问面试者,你日常如何构建自己的知识体系,如何让自己更高更快更强?多数工程师并没有

day10--协成\异步IO\缓存

   协成(Gevent) 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.CPU只认识线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位置.     协程的好处: 1.无需线程上下文切换的开销: 2.

高性能的移动用户体验是这样炼成的!

在人际关系中,良好的第一印象是很重要的,人们愿意在彼此身上寻求信任与诚实,并期望在接下来的经历中重现和增强这些好感.相同的道理也体如今移动应用或互联网产品中.在打造良好的品牌信誉及其与终端用户之间持久信任关系的过程中,"设计"扮演着极其重要的角色. 在用户的期望中,移动应用应该是准确.友好和高效的.然而,移动设备自身的局限性确实为产品的设计带来了不少挑战.要打造值得信赖的移动应用用户体验,产品在性能方面的表现是极其重要的关键因素.  本文中,我们将对移动应用的设计与性能表现之间的关系进

[罗辑思维微信]怎样炼成世界级高手

随 着畅销书<异类>的流行,“练习一万小时成天才”这个口号现在是尽人皆知.也许仍然有不少人相信那些不出世的天才必有天生的神秘能力,但科学家通过大量的 调查研究已经达成共识,那就是所有顶级高手都是练出来的.不但如此,最近几年的科学进展,人们可能第一次拥有了一个关于怎样炼成天才的统一理论. 首 次提出“刻意练习”这个概念的是佛罗里达大学心理学家 K. Anders Ericsson.这套练习方法的核心假设是,专家级水平是逐渐地练出来的,而有效进步的关键在于找到一系列的小任务让受训者按顺序完成.这些

王者荣耀是怎样炼成的

王者荣耀是怎样炼成的(一)<王者荣耀>用什么开发,游戏入门,unity3D介绍 王者荣耀是怎样炼成的(二)<王者荣耀>unity安装及使用的小白零基础入门 Unity3d 引擎原理详细介绍.Unity3D引擎架构设计

钢铁是怎样炼成的

<钢铁是怎样炼成的>这本书作者是尼古拉?奥斯特洛夫斯基,他是一个普通的工人.红军战士.共青团基层干部.<钢铁是怎样炼 成的>的中有大量情节取材于他自身的经历.他同小说主人公保尔?柯察金一样,年幼家贫失学,做过小工,参加红军打过仗,负过伤,后来也是双目失明,全身瘫 痪.在身陷绝境的情况下,他不甘心于吃喝.呼吸.等死,于是拿起唯一还能利用的武器??笔,不,说笔也不准确,因为后来他连笔也拿不动了,而是靠口述,请 亲友笔录,历时三载,克服难以想象的困难,创作了这部不朽的杰作,实现了重返战斗

优秀的JavaScript模块是怎样炼成的

引言:如今的JavaScript已经是Web上最流行的语言,没有之一.从Github上的语言排行榜https://github.com/languages上即可看出,也是如今最为活跃的开源社区.随着Node的加入,JavaScript开枝散叶进入服务器领域,为这个语言榜的占比,也贡献了几分热度.尽管经历了Web2.0的洗礼 ,但在国内谈及开源,开源人士似乎都当这门语言并不存在,这也意味着国内的开发中坚阶层,并没有改变JavaScript以及前端过去二流形象的认识,也没意识到JavaScript如

【转】雄鹰计划-卓越工程师炼成记

原文网址:http://bbs.elecfans.com/jishu_400775_1_1.html 注意:雄鹰计划所有信息都将有朱兆祺ForARM进行实时更新,注意不良人士的骗局.这个计划全程免费.报名审核通过者凭借电子发烧友论坛用户名完成下面三项: 1.朱兆祺ForARM步步为营之单片机QQ群:110291944,凭借电子发烧友论坛用户名加入. 2.朱兆祺ForARM步步为营之单片机PCB领取,拍下时凭借电子发烧友论坛用户名领取: http://item.taobao.com/item.ht