版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DC的作用,DC的使用流程,DC时序报告,DC在设计流程中的位置,什么是综合,实现在满足设计电路的功能、速度及面积等限制条件下,将行为级描述转化为指定的技术库中单元电路的连接。,逻辑综合,逻辑设计,库,约束,门级网表,为什么要进行DC,RTL代码是理想的情况 B. 实际电路 1门的延时 2导线的延时 3信号的转换时间 4时钟信号到达各个触发器的时间不相等,DC综合的三个阶段:,转译(translation): Translation 是指用HDL语言描述的电路转化为用GTECH库元件组成的逻辑电路的过程。GTECH是Synopsys的通用工艺库,它仅表示了逻辑函数的功能,并没有映射到具体的厂家
2、工艺库,也就是说独立于厂家工艺的。 优化(optimization)和映射(mapping) : Optimization是根据设计者对电路设定延时和面积等约束条件对电路进行优化设计的过程。它通过各种方法尽量满足设计者对电路的要求。 Mapping把用GTECH库元件构成的电路映射到某一固定厂家的工艺库上,此时的电路包含了厂家的工艺参数Library Cells;,SME 授课教案 2020年8月2日星期日,综合的目标,得到一个功能和时序都满足的网表: 面积最小化 功耗最小化 性能最大化,如何保证时序满足?,将电路划分为各种时序路径 计算电路中关键路径的setup time 与 hold ti
3、me是否满足,DC时序通路(timing path)的划分原理:,起点 1 所有的基本输入端(Primary Input) 2 所有时序单元的时钟输入端 终点 1 所有的基本输出端(Primary Output) 2 所有时序单元的数据输入端,DC四种时序路径的划分,四种路径: 基本输入到寄存器 触发器到触发器 触发器到输出 基本输入到基本输出,DC时序路径:,时间通路的划分,几个概念,数据传输需要的时间(Data Arrival Time):信号到达时间是指信号到达电路中某一点的真实时间,一般等于信号到达时序路径起点的时间加上信号在该时序路径上传播所用的时间。 要求到达时间(Data Req
4、uired Time):指期望信号到达电路中某一点的时间。 时序裕度(slack):指电路中某点处要求到达时间与实际信号到达时间的差值,建立时间和保持时间,建立时间(setup time):数据在时钟信号源到达之前必须要稳定的时间,如果建立时间不满足,数据不能正确打进时序逻辑单元 保持时间(hold time):数据在时钟信号源到达之后必须要稳定的时间,如果保持时间不够,数据被时序逻辑单元正确锁存 基本单元的延时(Tcq):门延时是指信号通过实际的标准单元所需要的时间.在时序逻辑单元中,反映为从时钟沿开始,到数据输出需要的时间 . 线延时:线延时是指由于导线的阻容而导致的信号传播延时,时序分析
5、,示意图,建立时间约束,保持时间约束,端口延时,定义了时钟也就定义了两个触发器之间的时间约束,因为在DC中默认两个触发器之间的时间路径是一个周期,通过设置时钟周期可以约束设计内部触发器之间的路径X,但是还有路径N和T没有约束。,输入延时,那么,从输入端口经过路径N到触发器DFF2的输入端所用的时间时钟周期输入延时,输出延时,那么,数据从触发器DFF3的D端到输出端口所用的时间时钟周期输出延时 这样,整个设计的路径就全部被约束了。,DC的使用流程,库文件简单说明,目标工艺库(Target_library): 是指将RTL级的HDL描述到门级时所需的标准单元综合库,它是由芯片制造商(Foundry
6、)提供的,包含了物理信息的单元模型。 链接库(link_library): 链接库可以是同target_library一样的单元库,或者是已综合到门级的底层模块设计,其作用如下:在由下而上的综合过程中,上一层的设计调用底层已综合模块时,将从link_library中寻找并链接起来。 符号库(symbol_libray): 显示电路时,用于标识器件,单元的符号库。,工艺库的格式,DC用到的工艺库是.db或者是.lib格式的 .lib格式的文件是可读得,通过此文件可以了解库的详细信息,比如说工作电压,操作温度,工艺偏差等等。 .db格式的库是二进制的,不可读。.db格式的库由.lib格式的库通过命
7、令read_lib生成。,工艺库的分类,逻辑库 物理库,工艺库的分类,逻辑库 只包含与综合过程有关的信息且通过DC用于设计的综合和优化。 它一般包括:引脚到引脚的时序,面积,引脚类型,功耗等等! 逻辑库 它包含单元的物理特征:物理尺寸,层信息,单元方位相关的数据,DC中的工艺库及其配置,GTECH库 GTECH库是Synopsys的通用工艺库。它由DC自带,是独立于厂家工艺的。该库中包含的元件仅代表一定的逻辑功能而不带有任何工艺参数。DC在转译时会先将HDL描述转化为GTECH库单元组成的电路。,DC的启动:,图形界面:在unix下面输入 dv db_mode就进入dc的图形界面。 命令行界面
8、: Shell模式:dc_shell Tcl模式:dc_shell-t,Set_operating_conditions 设置工作条件命令,工作条件包括三方面的内容温度、电压以及工艺。 在Foundry提供的工艺库里,它的各个单元的延时是在一个标准(nominal)条件下得到的,比如说温度25.0度、工艺参数1.0和工作电压1.8V。 工作条件一般分为三种:最好情况(best case)、典型情况(typical case)以及最差情况(worst case)。,Set_wire_load_model设置连线负载模型,在DC综合的过程中,连线延时是通过设置连线负载模型(wire load mo
9、del)确定的。 连线负载模型基于连线的扇出,估计它的电阻电容等寄生参数,它是也是由Foundry提供的。 我们可以让DC自动根据综合出来的模块的大小选择负载模型,这个选项在默认下是打开的。,Set_wire_load_model设置连线负载模型,Set_wire_load_model设置连线负载模型,如果连线连接的是不同的模块就要用到连线负载模式(set_wire_load_mode)这个命令了。 这有三种wire-load mode:top,enclosed,segmented,用于模拟各设计层次的net wire_load的关系。,Set_driving_cell 设置输入驱动,为了更加
10、准确的估计模块输入的时序,我们同样需要知道输入端口所接单元的驱动能力。在默认的情况下,DC认为驱动输入的单元的驱动能力为无穷大,也就是说,transition time为0。 按照该单元的输出电阻来计算transition time,从而计算输入端口到门单元电路的延迟。,Set_load 设置输出负载,估计模块输出的时序transition time DC默认输出负载为0. 单位由Foundry厂提供,一般是pf.,Set_max_transition 设置最大传输时间,Transition time 是指改变某线所驱动的pin所需要的时间,该时间的计算方法是基于工艺库的。 输出的传输时间是输
11、入传输时间以及输出负载的函数关系。 DC在优化的过程中就是确保设计的所有net的对应的传输时间小于所设定的最大传输时间。,Set_max_capacitance 设置线负载电容,Transition time不能提供对net(线)的电容的直接控制,我们可以使用set_max_capacitance命令实现独立于传输时间约束的最大容值的约束。 对于连接到输出pin上的net,其对应的容值是net本身的电容加上所连接的pin的容值,DC将这个计算结果与所设定的Max_capacitance比较,决定是否违反设计规则约束。,Set_max_fanout设置最大扇出负载,设置最大扇出负载约束就是指设置
12、了某线所能驱动的负载数量上限。 如果某线的扇出负载过重,DC可以通过改变单元的驱动强度来修正该约束违例的情况。,Set_clock_uncertainty 设置时钟不确定性,理想、dont touch 实际,Set_clock_uncertainty 设置时钟不确定性,实际的时钟达到各个触发器的时间不是一样的,它们之间有一个偏差,称为时钟偏差(Clock Skew)。 为了反映这个偏差,我们在综合的时候可以用一个命令来模拟它,即set_clock_uncertainty。,Set_clock_uncertainty 设置时钟不确定性,时钟周期最短10-0.5=9.5ns,Set_false_p
13、ath 设置虚假路径,False Path(伪路径)是指电路中的一些不需要考虑时序约束的路径,它一般出现在异步逻辑之中。 在异步多时钟网络中,时钟是不同的晶振产生的时钟。但是在默认情况下,DC并不知道,它会认为它们是同步的时钟网络而尽量去找两个时钟之间的最小捕捉时间,不但浪费了时间而且会产生出不符合要求的电路。,Set_multicycle_path 设置多周期路径,在FF1和FF2之前,存在一个BIG_LOGIC,假设我们允许它的延时在两个周期之内。,Set_multicycle_path 设置多周期路径,第一个语句说明建立时间是在FF1触发后的第二个周期后检查,第二个语句说明保持时间在FF
14、1触发后的第一个周期检查。可得此时的波形图如下:,Set_max_delay 设置最大延迟,对于异步逻辑来说,异步的置位和清零信号,并通过锁存器以及寄存器实现的,因为reset的信号穿过一些BLOCK,因而需要在顶层约束这个信号,约束方法如下面的例子. 例如我们现在要设置RESET的最大时延为5,Set_max_delay 设置最大延迟,首先选定reset端口,Attribute-Optimization Constraints-Timing Constraints 点击OK,完成reset的延迟设置. 相对应的脚本命令是: dc_shell set_max_delay 5 -from RES
15、ET,Set_max_delay 设置最大延迟,例二, 规定一个从EN到RDN的最小延迟为10的路径,设置步骤如下: 首先选定EN &RDN两个端口(用Ctrl键), Attribute- Optimization Constraints-Timing Constraints 设置相应的延迟时间点击OK,完成设置. 对应的脚本命令为: dc_shell set_max_delay 10 -from EN -to RDN,如何看时序报告:,通过产生的时序报告读出以下信息: 1)是setup time report还是hold time report? 2)时钟频率多少?,确定是setup time report还是hold time report? 看opratin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第八章第一节日本第二课时教学设计2023-2024学年七年级地理下册湘教版
- 第二单元 乐海泛舟 -演奏 摇篮曲 教学设计方案-2023--2024学年人音版初中音乐八年级下册
- 2026广东深圳九州光电子技术有限公司招聘包装工程师测试笔试历年参考题库附带答案详解
- 2026山东聊城市冠县冠州陆港供应链有限公司招聘笔试及拟人员笔试历年参考题库附带答案详解
- 2026安徽皖信人力资源管理有限公司招聘郎溪城区客户经理1人笔试历年参考题库附带答案详解
- 2026四川华丰科技股份有限公司招聘采购员岗位测试笔试历年参考题库附带答案详解
- 2026吉林四平市伊通满族自治县粮投发展有限公司招聘1人笔试历年参考题库附带答案详解
- 2026东风资产管理有限公司招聘2人笔试历年参考题库附带答案详解
- 2025贵州铜仁市“千名英才智汇铜仁”本地引才德江县乌江产业发展投资集团有限公司考试总笔试历年参考题库附带答案详解
- 2025浙江温州市平阳县县属国有企业招聘复检笔试历年参考题库附带答案详解
- ESG基础知识培训课件
- 法律效应的婚内保证书
- 育肥猪场月度汇报
- 多重耐药感染临床案例深度剖析
- 北京大学2022年强基计划笔试数学试题(解析版)
- 2024-2025学年清华大学版(2024)A版初中信息科技八年级下册(全册)知识点复习要点归纳
- 五年级下册数学期中必考易错题应用题六大类
- 密闭式静脉输血操作流程
- 审计案例第2章审计风险评估案例
- 2025年中国菠菜种植行业市场全景评估及发展战略规划报告
- 中国食物成分表标准版第6版
评论
0/150
提交评论