sip 时序图_Tcl与Design Compiler (五)——综合库(时序库)和DC的设计对象(下)
~ 回复 以下关键词 查看更多IC设计教程 ~
目前支持的关键词有:
Innovus ICC or IC Compiler
DC or Design Compiler PT or PrimeTime
User Guide or UG Leda
VCS Formality
工艺节点 低功耗
CTS vim or gvim
ICC2 IR-drop
...
本文转自 http://www.cnblogs.com/IClearner/ 作者:IC_learner在此,对作者的辛勤劳动致以最崇高的敬意!·反相器的综合模型综合库中主要给出了各端口的功能、电容、功耗及延时等信息(不同的库模型信息种类可能不一样)。反相器的功耗主要分为两部分:静态功耗和动态功耗。其中静态功耗是指泄漏功耗,动态功耗包括翻转时的短路功耗及节点电容的充放电所消耗的功耗。节点电容充放电消耗的功耗仅跟VDD、节点翻转率及节点电容有关。其中,VDD和节点电容是固定的,节点翻转率跟输入激励有关,需要通过仿真激励进行计算。因此,在综合库中,不列出充放电功耗。而短路功耗跟输入转换时间和节点电容有关,一般以查找表的形式给出(在综合库中,用internal_power表示)。具体的反相器的综合模型如下所示:当然,上面看到的只是部分内容,有些内容折叠起来了比如输入引脚的等效负载、输出引脚的短路功耗等被折叠起来了,下面进行讲解:引脚A表示反相器的输入(上图),展开后可以看到输入的引脚的等效负载,也就是等效电容的大小。输出管脚Y有:里面主要包含了引脚的功能(function)、短路功耗(internal_power)、时序信息(timing)、输出的最大负载(max_capacitance)等信息。短路功耗信息(internal_power):展开短路信息如下图所示:短路功耗与A管脚相关联,也就是与A管脚有关系。rise_power给出了Y从低到高时的短路功耗,功耗跟输入信号的转换时间(index_1)及节点电容(index_2)有关;根据不同的信息进行查表,表的值就是(value),7X7表示index_1是7,index_2也是7,因此value是7X7=49,如下图所示:也给出了从高到低的短路功耗(fall_power),功耗跟输入信号的转换时间及节点电容有关;具体内容类似从低到高时的短路功耗,不再详述。时序信息(timing):主要包括相关引脚、时序敏感类型、单元延时、转换时间等。Cell_rise 给出了Y从低到高时单元的延时,延时跟输入转换时间和节点电容有关:Rise_transition给出Y从低到高时输出的延时(transtion),跟输入转换时间和节点电容有关:Cell_fall、fall_transition:则是对应Y从高到低时的单元延时和输出延时,也是跟输入转换时间和节点电容有关。cell_leakage_power:单元的泄漏功耗有时候,也给出在不同条件时的泄漏功耗(也就是查表的方式):反相器作为组合逻辑最简单、最经典的模型,其综合库的模型内容就如上所示了,下面介绍时序逻辑的。·寄存器单元的综合模型寄存单元综合库模型主要包括以下内容:· 单元面积; ·D端短路功耗; ·D端的建立时间约束和保持时间约束; · 时钟引脚上的短路功耗; · 时钟引脚上的最小脉宽要求; · 输出端的短路功耗; · 输出端的延时; · 输出端的最大负载约束; · 单元的泄漏功耗。其综合库内容如下所示:上面综合库的具体内容下面进行具体叙述:D端口(引脚):输入端口,主要包含输入的等效负载、短路功耗、时序信息。internal_power,D端消耗的短路功耗:rise_power给出D端由低电平变到高电平时的短路功耗,跟输入转换时间有关,电容为定值:fall-power则给出D端由高电平变到低电平时的短路功耗,跟输入转换时间有关,电容为定值。Timing,时序信息:D的时序信息与“CK”端口有关,Setup_rising表明是setup(建立时间)的时序信息。rise-constraint:给出D端由低电平变到高电平时的setup约束,跟D端输入转换时间和时钟的转换时间有关:fall-constraint则给出D端由高电平变到低电平时的setup约束,跟输入转换时间和时钟的转换时间有关。前面我们看到,有两个timing,一个既然是建立时间了,那么另外一个就是保持时间了:rise-constraint:给出D端由低电平变到高电平时的hold约束,跟输入转换时间和时钟的转换时间有关:fall-constraint:给出D端由高电平变到低电平时的hold约束,跟输入转换时间和时钟的转换时间有关。CK端口:这个是时钟端口,主要给出了输入的负载、最大转换时间约束、短路电流、高低电平的最小脉宽要求,如下图所示。Internal_power,短路功耗:也是分为CK上升时跟下降时的短路功耗,与D端有关。min_pulse_width_high、min_pulse_width_low :给出了时钟高低电平的最小脉宽要求。ff:描述寄存器的功能。Q端口:主要描述Q的功能,短路功耗,时序信息,输出最大的负载电容。Internal_power,短路功耗:rise_power给出了输出端由低电平变到高电平时的短路功耗,跟输入转换时间、Q端负载及QN端负载有关:fall_power则输出端由高电平变到低电平时的短路功耗,跟输入转换时间、Q端负载及QN端负载有关。Timing,时序信息:说明Q端口与CK的上升沿有关。cell-rise给出Q端由低电平变到高电平时CK到Q的延时,跟输入转换时间和输出节点电容有关:rise-transitio给出了Q端由低电平变到高电平时Q端转换时间,跟输入转换时间和输出节点电容有关:cell-fall给出了Q端由高电平变到低电平时CK到Q的延时,跟输入转换时间和输出节点电容有关;fall-transition给出了Q端由高电平变到低电平时Q端转换时间,跟输入转换时间和输出节点电容有关。max_capacitance,则是最大输出负载电容约束。 QN管脚,跟Q管脚类似,不进行陈述了。cell_leakage_power给出了默认单元漏电流大小。而下面的不同漏电流,则是根据端口信号处在不同状态时的漏电流大小:注:对于有复位信号的寄存器,还有可能有下面的信息:· 复位引脚上的短路功耗;· 复位引脚上的最小脉宽要求; · 复位引脚上的recovery/removal时序约束; · 输出端的输出转换时间(相对于时钟); · 输出端的输出转换时间(相对于异步复位信号);· 输出端的延时(相对于异步复位信号); (2)DC的设计对象在了解了综合库之后,下面介绍一下DC的设计对象,虽然这个设计对象相对于综合库没有那么重要,但是还是要了解一下的。对于一个verilog代码模块,我们知道这是一个模块的名字是什么,这个模块的功能是什么,这个模块有哪些端口等等信息。但是对于DC来说,它不想我们那么理解,给它一个verilog模块,它把这个模块的内容当做设计对象(简称对象)来看。DC支持的对象和解释如下所示:DC支持8中设计对象:Design :具有某种或多种逻辑功能的电路描述;Cell :设计的 instance;Reference :cell 或 instance 在库中定义的名字;Port :design 的输入、输出;Pin :design 中 cell 的输入、输出;Net :ports 和 pins 之间或 pins 之间的信号名;Clock :被定义为时钟源的 pin 或 port;Library :cell 的集合,如:starget_library,link_library;在DC读入设计时候,可以通过下面命令查看这些对象:Query:访问某一个对象,Sizeof:查某一个(对象)集合的大小。对象具有某些属性,比如:端口(port)的属性有:方向、驱动单元、负载、最大电容约束等等单元(cell)的属性有:层次化、不触碰 等待;时钟的属性有:周期、抖动等;写约束,就是通过对设计对象的属性进行约束,至于要约束什么,怎么约束,在后面进行介绍。(3)Design Ware 库DesignWare是Synopsys提供的知识产权(Intellectual Property,简称IP)库。IP库分成可综合IP库(synthesizable IP,SIP) ,验证IP库(Verification IP,VIP)和生产厂家库(foundry 1ibraries)。IP库中包含了各种不同类型的器件。这些器件可以用来设计和验证ASIC, SoC和FPGA。库中有如下的器件:·积木块(Building Block)IP(数据通路、数据完整性、DSP和测试电路等等)。·AMBA总线构造(Bus Fabric)、外围设备(Peripherals)和相应的验证IP。·内存包(Memory portfolio)(内存控制器、内存BIST和内存模型等等)。·通用总线和标准I/O接口(PCI Express,PCI-X,PCI和USB)的验证模型。·由工业界最主要的明星IP供应商提供的微处理器(Microprocessor)和DSP核心。·生产厂家库(Foundry Libraries)。·板级验证IP·微控制器(Microcontrollers,如8051和6811)。·等等这里主要介绍集成在DC综合工具中的designware foundation库。所有的IP都是事先验证过的、可重复使用的、参数化的、可综合的,并且不受工艺的约束。常用的designware foundation库单元如下所示:使用IP库中的器件,可以用运算符号推论法(Operator Inferencing)或功能推论法(Functional Inferencing)。运算符号推论法是直接在设计中使用“+、一、*、>、一和功能推论法是在设计中例化(instantiate) DesignWare中某种算术单元,例如直接指定用库中的DWF_ mult_ tc,DWF_ div_ uns和DWF_sqrt_tc单元。由于DesignWare库中的所有器件都是事先验证过的,使用该IP库我们可以设计得更快,设计的质量更高,增加设计的生产力和设计的可重复使用性,减少设计的风险和技术的风险。对于每个运算符号,一般地说DesignWare库中会有多个结构(算法)来完成该运算。这样就允许DC在优化过程中评估速度/面积的折衷,选择最好的实现结果。对于一个给定的功能,如果有多个DesignWare的电路可以实现它,Design Compiler将会选择能最好满足设计约束的电路。此外使用DesignWare中的DW Foundation库是需要许可证的(license) , DW Foundation库提供了更好的设计质量(Quality of Result)。使用DesignWare中IP的方法如下图所示:Design Compile自动选择和优化算术器件。对于算术运算,我们并不需要在DC中指定标准的(基本的)综合库standard.sldb。标准的综合库standard.sldb包含内置的HDL运算符号,综合时DC会自动使用这个库。如果我们要使用性能更高的额外的IP库,例如DW_ foundation.sldb,我们必须指定这些库,如下所示:#Specify for use during optimizationset synthetic_library dw_foundation.sldb#Specify for cell resolution during linklappend link_library $synthetic_library本文的总结主要参考了《专用集成电路设计使用教程》、《数字IC系统设计》,局部图片来自这两本书。如果喜欢本公众号也请多多分享哟,谢谢您的关注
sip 时序图_Tcl与Design Compiler (五)——综合库(时序库)和DC的设计对象(下)相关推荐
- DC5:Tcl与Design Compiler (五)——综合库(时序库)和DC的设计对象+Comments
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 前面一直说到综合库/工艺库这些东西,现在就来讲讲讲 ...
- Design Compiler (五)——综合库(时序库)和DC的设计对象
前面一直说到综合库/工艺库这些东西,现在就来讲讲讲综合库里面有什么东西,同时也讲讲synopsys的Design Ware库.主要内容分为三个部分:标准单元库.DC的设计对象.Design Ware库 ...
- Tcl与Design Compiler (五)——综合库(时序库)和DC的设计对象
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 前面一直说到综合库/工艺库这些东西,现在就来讲讲讲 ...
- Tcl与Design Compiler 04——综合库(时序库)和DC的设计对象
转载出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 前面一直说到综合库/工艺库这些东西,现在就来讲讲讲综合库里面有什么东西,同时也讲讲syno ...
- ASIC设计学习笔记——使用Design Compiler进行综合
文章目录 前言 1. 基本概念 1.1 综合(Synthesis) 1.2 使用Design Compiler进行综合 2. 使用DC进行编译 2.1 进入DC环境 2.2 编译过程 2.2.1 设置 ...
- spi时序图怎么分析,怎么看懂spi时序图
我做产品的时候,最怕就是做IIC和SPI的通信. 这两种协议时序哪怕是延时时间有误差,都有可能导致通信不上. 出现问题的时候,如果没设备也很难排查问题到底出在哪里. 有时候这个产品写好的时序程序,换一 ...
- sip 时序图_时序图怎么看_教你如何看懂时序图 - 什么是时序图_时序图怎么看_教你如何看懂时序图...
时序图怎么看_教你如何看懂时序图 操作时序永远使用是任何一片IC芯片的最主要的内容.一个芯片的所有使用细节都会在它的官方器件手册上包含.所以使用一个器件事情,要充分做好的第一件事就是要把它的器件手册上 ...
- sip 时序图_简单几步让你看懂单片机时序图
操作时序永远是使用任何一片IC芯片的最主要的内容,看懂时序图,再操控这个芯片就非常容易了.而提取芯片器件手册上有用的信息是使用芯片的最基本步骤. 以液晶显示芯片1602为例 首先我们来看1602的引脚 ...
- sip 时序图_教你如何看懂时序图(小白如何快速轻松的看懂时序图)
操作时序永远是使用任何一片IC芯片的最主要的内容,看懂时序图,再操控这个芯片就非常容易了.而提取芯片器件手册上有用的信息是使用芯片的最基本步骤. 以液晶显示芯片1602为例 首先我们来看1602的引脚 ...
最新文章
- Java B2B2C多用户商城 springcloud架构-服务容错保护(Hystrix服务降级)
- 实时检测神经振荡可实现行为相关的神经反馈
- 一文读懂:从 Python 打包到 CLI 工具
- 欢乐纪中某A组赛【2019.7.9】
- 连接(交叉连接、内连接、外连接、自连接)
- matlab按某一列排序
- 读懂python代码_Python面试|一文让你读懂if __name__==’__main__’的含义
- 要求程序员加班?你就大错特错了
- 通过改变innerHTML的内容,动态增加选择项
- linux解析json指针,Linux下JSON通信协议的使用和解析
- azure云数据库_在Azure SQL数据库中保护数据的五种方法
- zabbix监控oracle rac,CentOS6.9下zabbix3.4.9通过orabbix1.2.3来监控oracle11gRAC
- Cursor finalized without prior close()
- 掘金网无极ip代理软件IOS版如何下载安装?
- 绘图工具java软件开发模板_仅适合程序员的uml绘图工具-plantuml
- Groovy - Groovy ambiguous method overload
- 如何正确撰写sci论文中的作者信息
- 【zznu-夏季队内积分赛3-G】2333
- 基础知识(HTML + CSS)整理
- vuepress-theme-reco + Github Actions 构建静态博客,部署到第三方服务器
热门文章
- Python一题三解:查找字符串中每个字符的首次出现
- 几行Python代码打造自己的磁盘垃圾文件清理器
- 【C++】之【运算符重载函数】
- 学习Opencv---例3.12----用imageROI来添加某范围的像素
- 二叉排序树删除节点_二叉排序树的创建、插入和删除
- 锁定计算机好在下游戏吗,巧用win7锁定计算机防止孩子沉迷游戏
- 头条限流是什么原因_抖音为什么会被限流?被限流了如何补救?
- 德力西双电源自动转换开关说明书_今日优品:南开区FLQ3-25双电源自动转换开关全国服务-老友网...
- r语言ggplot画两条曲线_R语言作图——Line plot with error
- mysql 5.5 性能测试,MySQL 5.5迁移到5.7的性能问题排查案例