DC综合简单总结(1)】的更多相关文章

 DC综合简单总结(1)  *****************set_dont_touch和set_dont_touch_network**************** ? 在综合的过程中,为了不让DC工具自动优化一些我们不希望其优化的模块(比如CLK)我们通常都会设置set_ideal_network和set_dont_touch,我理解为前者在timing_report的时候忽略延迟,后者阻止DC插入buffer. 那么dont_touch的属性,能不能穿过logic?  set_dont_…
DC综合简单总结(2) 建立时间和保持时间和数据输出延时时间 一.概念 建立时间和保持时间都是针对触发器的特性说的. 建立时间(Tsu:set up time) 是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间. 保持时间(Th:hold time) 是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是指这个最小的保持时间. 输出…
DC综合环境的一些概念 启动文件 .synopsys_dc_setup 采用Tcl格式,包含工艺库的路径信息和其他环境变量 不同位置启动顺序 1.Synopsys安装目录 2.用户家目录 3.项目工作目录 系统库变量 target_library 指定工艺库的名称,其单元对应与设计人员想让DC推断并最终映射的库单元. 扩展名".db"(eg.smic13_ss.db) link_library 只用于参考的库链接,也就是DC不是使用link_library中的单元进行推断. 注意lin…
       综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是RTL CODE.很多人入门都用HDL做设计,就以为HDL就只是用来做设计的,没有看到HDL最初始的一面,所以在验证时,就无法用好HDL另外一部分强大的功能.有时间还是可以看看Writing Testbench这本书,增强对HDL语言在验证方面作用的了解,也是提高对HDL认识很好的补充.       …
ASIC DC综合的理解 DC综合流程 输入设计文件+指定的工艺库文件+约束文件 经过DC的综合,输出满足期望的门级网表及综合报告 输入输出数据 输入文件:设计文件(verilog等).工艺库(db).约束文件 输出文件:网表(Netlist).report DC对输入数据的理解 设计对象 DC将读入的设计进行解析,分成不同的设计对象. DC将设计对象分为八种不同的类型: 设计(Design) 单元(Cell) 引用(Reference) 端口(Port) 连线(Net) 时钟(Clock) 库…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 1.基本流程概述 首先给三个图,一个图是高层次设计的流程图: 下面是我对这张图的理解: ① 设计之前,准备好库.HDL代码的思想.约束生成:然后根据设计思想用 RTL 源码详细地.完整地为设计建立模型.定义设计中寄存器结构和数目.定义设计中的组合电路功能.定义设计中寄存器时钟等等的设计规格和实现. ② 完成 RTL 源码…
划分与编码风格 合理的设计划分和好的HDL编码风格对成功的综合影响很大. 逻辑划分是成功综合(和布局布线,如果布图是层次化的)的关键. 综合划分 "分而治之" 把复杂的设计化简为更简单的和易处理的模块. 1.相关组合逻辑保持在同一个模块中. 2.为设计复用进行划分. 3.根据功能分割模块. 4.结构模块与随机模块分离. 5.合理限制模块的大小. 6.划分顶层(I/O压焊块.边界扫描和核心逻辑相分离). 7.不要在顶层添加粘合逻辑. 8.将状态机从其他逻辑中分离出来. 9.避免一个模块有…
1.逻辑综合的概述 synthesis = translation + logic optimization + gate mapping . DC工作流程主要分为这三步 Translation : 翻译,主要把描述RTL级的HDL语言,在约束下转换成DC内部的统一用门级描述的电路(Generic Boolean Gates)(DC自己的库表现),以GTECH或者没有映射的ddc形式展现. Logic optimization :逻辑优化, 就是把统一用门级描述的电路进行优化,就是把路径调整一下…
转载:https://www.cnblogs.com/IClearner/p/6617207.html 1.逻辑综合的概述 synthesis = translation + logic optimization + gate mapping . DC工作流程主要分为这三步 Translation : 翻译,主要把描述RTL级的HDL语言,在约束下转换成DC内部的统一用门级描述的电路(Generic Boolean Gates)(DC自己的库表现),以GTECH或者没有映射的ddc形式展现. L…
Design Compiler and the Design Flow 步骤 将HDL描述的设计输入到Design Compiler中 Design Compiler使用technology libraries, synthetic or DesignWare libraries, and symbol libraries执行综合过程,并展示综合结果. 将HDL翻译为门级描述之后,Design Compiler优化和映射设计到指定的工艺库. 优化之后准备测试综合结果,查看是否满足设计要求. 综合…
#****************************************************************************** # File : syn_example.tcl # Author : Lyu Yang # Date : 2018-12-09 # Description : Design Compiler #************************************************************************…
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 前面一直说到综合库/工艺库这些东西,现在就来讲讲讲综合库里面有什么东西,同时也讲讲synopsys的Design Ware库.主要内容分为三个部分:标准单元库.DC的设计对象.Design Ware库. (1)标准单元库 绝大多数的数字设计流程都是基于标准单元的半定制设计流程.标准单元库包含了反相器.缓冲.与非.或非.与或非.锁存器.触发器等等逻辑…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 对进行时序路径.工作环境.设计规则等进行约束完成之后,DC就可以进行综合.优化时序了,DC的优化步骤将在下面进行讲解.然而,当普通模式下不能进行优化的,就需要我们进行编写脚本来改进DC的优化来达到时序要求.理论部分以逻辑综合为主,不涉及物理库信息.在实战部分,我们将在DC的拓扑模式下进行.(本文主要参考虞希清的<专用集成…
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 概述 前面也讲了一些综合后的需要进行的一些工作,这里就集中讲一下DC完成综合了,产生了一些文件,我们就要查看它生成的网表和信息,下面就来介绍DC综合完成之后要进行哪些工作: 也就是说,DC一般完成综合后,主要生成.ddc..def..v和.sdc格式的文件(当然还有各种报告和log) .sdc文件:标准延时约束文件: 里面都是一些约束,用来给后端的…
MFC控件第一讲.DC编程 一丶简介 什么是DC,DC有什么用. DC成为设备描述符表. DC的作用就是可以进行绘制. 比如我们的窗口都是绘制出来的.  DC可以简单理解为.没一个窗口程序都有一块内存用于绘制.我们只需要获取这块内存即可. MFC 中 的CDC类 就是封装了HDC 跟GDI函数. 并且派生出了四个不同场景下的类. 注意HDC 则是windows中真正的DC. 配合GDI函数进行操作绘制的. MFC只不过封装了一下. 派生出来的类常用的有三个. 1.CPaintDc 用户在窗口的客…
第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCSTR lpWindowName); 第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NULL代替. 比如现在有一个窗口名为"无标题.txt - 记事本"的记事本程序.那么我就可以用上面的函数获得这个…
综合(synthesis) = 转换(translation) + 优化(logic optimization) + 映射(gate mapping): 转换阶段将HDL语言描述的电路用门级逻辑实现.对于DC使用gtech.db库中的门级单元来实现HDL语言描述的电路,得到初始的未优化的电路.优化与映射时综合工具对初始电路进行分析,去掉冗余单元.并根据约束条件(环境约束和设计约束)对路径进行优化,将优化后的电路映射到由制造商提供的工艺库上. 综合的特点 1. 综合是限制条件驱动的,限制条件就是综…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 时序约束可以很复杂,这里我们先介绍基本的时序路径约束,复杂的时序约束我们将在后面进行介绍. 在本节的主要内容如下所示: ·时序路径和关键路径的介绍 ·建立时间.保持时间简述 ·时钟的约束(寄存器-寄存器之间的路径约束) ·输入延时的约束 ·输出延时的约束 ·组合逻辑的约束 ·结合设计规格进行实战 RTL代码描述了电路的时…
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 前面介绍的设计都不算很复杂,都是使用时钟的默认行为作为电路的约束,都存在有路径给你约束,即信号的变化要在一个时钟周期内完成,并达到稳定值,以满足寄存器的建立和保持的要求.此外进行可测性设计(design for test)时,为了提高测试的覆盖率,我们经常使用多路(multiplex,简称mux)传输电路的控制时钟,使电路的时钟信号可以由输入端直接…
前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析.由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具:更精确的功耗分析可以采用PT,关于PT的功耗分析可以查阅其他资料,这里不涉及使用PT的进行功耗分析. (1)功耗分析与流程概述 上一个小节中讲解了功耗的构成,并且结合工艺库进行简要地介绍了功耗的计算.但是实际上,我们根本不可能人工地计算实际的大规模集成电路的功耗,我们往往借助EDA工具帮我们分析电路的功耗.这里我们就介绍一下EDA…
在 sta 分析时,经常会碰到 clock gating cell (一般是 ICG cell 或者 latch)引起的 violation,这种 violation 很常见,而且往往很难修. 为什么 gating cell 容易出问题?出了 violation 又该如何解呢? 首先,gating cell 容易出问题是因为其一般出现在 clock path 的中间,而且往往比较靠近 clock source,其latency 较小,当 tool 去check gating cell 的timi…
目录 1. 常见问题 2. 常见的复位方式 3. 合理的复位设计 3.1 复位电平 3.2 异步复位同步化 3.3 恰到好处的复位 4. 补充 4.1 所谓的上电初始化 参考文献 一开始接触到FPGA,肯定都知道"复位",即简单又复杂.简单是因为初学时,只需要按照固定的套路--按键开关复位,见寄存器就先低电平复位一次,这样一般情况可以解决99%的问题,甚至简单的设计,就不可能有问题.复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结核底层的设计来考虑问题. 1. 常见问题 自…
1.1 什么是DC?DC(Design Compiler)是Synopsys公司的logical synthesis工具,它根据design description和design constraints自动综合出一个优化了的门级电路.它可以接受多种输入格式,如HDL.Schematics.Netlist等,并能生成多种性能 report,在reducing design time的同时提高了设计的性能.1.2 DC能接受多少种输入格式?支持 .db..v..vhd..edif..vgh..lib…
一.DesignWare是什么 摘自https://zhidao.baidu.com/question/473669077.html DesignWare是SoC/ASIC设计者最钟爱的设计IP库和验证IP库.它包括一个独立于工艺的.经验证的.可综合的虚拟微架构的元件集合,包括逻辑.算术.存储和专用元件系列,超过140个模块.DesignWare和 Design Compiler的结合可以极大地改进综合的结果,并缩短设计周期.Synopsys在DesignWare中还融合了更复杂的商业IP(无需…
前期接口设计用的是Vivado18.3+Modelsim10.6,逻辑综合及版图生成的环境是Ubuntu16,逻辑综合用的工具Design Compiler,生成版图用的工具是Encounter. 下面是关于我做的CameraLink接口的ASIC逻辑综合和版图设计流程,重点介绍了逻辑综合过程: (1)CameraLink接口实现 (2)功能仿真 (3)逻辑综合 (4)布局布线及版图生成 (5)后仿真 1.CameraLink接口实现 1.1.接口设计 Camera Link接口标准是数字相机和…
arteris公司提供一系列工具,来完成NOC的生成,包括model,netlist,TB,script 生成包括三个阶段: NoC specification Phase:使用FlexArtist Specification Editor,定义socket,domain(power,clock) mapping(Memory,Connectivity,User bits) 之后可以进行Exploration,进行program model和architecture model的simulati…

CDC

CDC中最重要的问题是metastability问题. 加入Synchronizer来进行异步时钟的同步,两级的Sync,第二级仍然会出现亚稳态的概率由MTBF决定. MTBF:mean time between fail,数值越大越好,MTBF=1/(Fclk*Fdata*X). 在频率越高的情况下,MTBF越小,而且clock周期也短,此时可以考虑4级Sync. 在sending clock domain,先将数据用reg打一拍,消除glitch,而且减小了Fdata的频率,这样做CDC时,…
本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 对于一个游戏来说,画面的华丽程度在很大程度上决定了它的火热程度,记得以前初中时候我在网上找游戏玩时,首先看的就是画面是不是好看,技能是不是酷炫,呵呵.而精美游戏的实现就是通过贴图来实现啦,因此要想做出一个好游戏,光有Coder是不够的,必须要有给力的美工,当然还要有好的…
Synopsys逻辑工艺库(DC综合) 逻辑库包括仅与综合过程有关的信息且通过DC用于设计的综合和优化. 这一信息包括引脚到引脚的时序.面积.引脚类型和功耗以及其他DC需要的必须数据. 逻辑库是一个文本(通常扩展名".lib"),通过使用Library Compiler(LC)编译生成带有扩展名名".db"的二进制文件. 以SMIC的逻辑综合库为例:库文件下载地址 逻辑库基础 逻辑库包括一下信息: 库类 库级属性 环境描述 单元描述 库类 库类语句指定库名,接着是一…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 本文的主要内容是讲解(约束针对的是逻辑综合下的约束,而实战部分则是在DC的拓扑模式下进行): ·环境属性的约束 ·设计规则的约束 ·面积的约束 ·实战(部分)环境属性的约束 1.工作环境属性约束 输入/输出端口及其驱动属性是设计规格的一部分,工作环境的约束,是对这个规格约束的一部分. 工作环境约束一方面是设置DC的工作环…