本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 对进行时序路径.工作环境.设计规则等进行约束完成之后,DC就可以进行综合.优化时序了,DC的优化步骤将在下面进行讲解.然而,当普通模式下不能进行优化的,就需要我们进行编写脚本来改进DC的优化来达到时序要求.理论部分以逻辑综合为主,不涉及物理库信息.在实战部分,我们将在DC的拓扑模式下进行.(本文主要参考虞希清的<专用集成…
已经学习DC的使用有一段时间了,在学习期间,参考了一些书,写了一些总结.我也不把总结藏着掖着了,记录在博客园里面,一方面是记录自己的学习记录,另一方面是分享给大家,希望大家能够得到帮助.参考的书籍有很多,大概如下: 虞希清老师的<专用集成电路设计实用教程> 西电出版社的<数字IC系统设计> 好像还有<SoC设计方法与实现> <数字集成电路设计与技术> 当然,还有synopsys公司的Design Compiler 1 workshop 基本上是参考上面几本书…
1.逻辑综合的概述 synthesis = translation + logic optimization + gate mapping . DC工作流程主要分为这三步 Translation : 翻译,主要把描述RTL级的HDL语言,在约束下转换成DC内部的统一用门级描述的电路(Generic Boolean Gates)(DC自己的库表现),以GTECH或者没有映射的ddc形式展现. Logic optimization :逻辑优化, 就是把统一用门级描述的电路进行优化,就是把路径调整一下…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 1.基本流程概述 首先给三个图,一个图是高层次设计的流程图: 下面是我对这张图的理解: ① 设计之前,准备好库.HDL代码的思想.约束生成:然后根据设计思想用 RTL 源码详细地.完整地为设计建立模型.定义设计中寄存器结构和数目.定义设计中的组合电路功能.定义设计中寄存器时钟等等的设计规格和实现. ② 完成 RTL 源码…
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 前面一直说到综合库/工艺库这些东西,现在就来讲讲讲综合库里面有什么东西,同时也讲讲synopsys的Design Ware库.主要内容分为三个部分:标准单元库.DC的设计对象.Design Ware库. (1)标准单元库 绝大多数的数字设计流程都是基于标准单元的半定制设计流程.标准单元库包含了反相器.缓冲.与非.或非.与或非.锁存器.触发器等等逻辑…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 本文的主要内容是讲解(约束针对的是逻辑综合下的约束,而实战部分则是在DC的拓扑模式下进行): ·环境属性的约束 ·设计规则的约束 ·面积的约束 ·实战(部分)环境属性的约束 1.工作环境属性约束 输入/输出端口及其驱动属性是设计规格的一部分,工作环境的约束,是对这个规格约束的一部分. 工作环境约束一方面是设置DC的工作环…
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 概述 前面也讲了一些综合后的需要进行的一些工作,这里就集中讲一下DC完成综合了,产生了一些文件,我们就要查看它生成的网表和信息,下面就来介绍DC综合完成之后要进行哪些工作: 也就是说,DC一般完成综合后,主要生成.ddc..def..v和.sdc格式的文件(当然还有各种报告和log) .sdc文件:标准延时约束文件: 里面都是一些约束,用来给后端的…
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 本文将描述在Design Compliler中常用到的命令,这些命令按照流程的顺序进行嵌套讲解,主要是列举例子:大概的讲解布局如下所示: 大概有11个部分,下面我们逐个部分进行(简单的)介绍的举例. 1.tcl的命令和结构 tcl的命令和结构请参照第二节的内容: http://www.cnblogs.com/IClearner/p/6617207.…
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 前面介绍的设计都不算很复杂,都是使用时钟的默认行为作为电路的约束,都存在有路径给你约束,即信号的变化要在一个时钟周期内完成,并达到稳定值,以满足寄存器的建立和保持的要求.此外进行可测性设计(design for test)时,为了提高测试的覆盖率,我们经常使用多路(multiplex,简称mux)传输电路的控制时钟,使电路的时钟信号可以由输入端直接…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 时序约束可以很复杂,这里我们先介绍基本的时序路径约束,复杂的时序约束我们将在后面进行介绍. 在本节的主要内容如下所示: ·时序路径和关键路径的介绍 ·建立时间.保持时间简述 ·时钟的约束(寄存器-寄存器之间的路径约束) ·输入延时的约束 ·输出延时的约束 ·组合逻辑的约束 ·结合设计规格进行实战 RTL代码描述了电路的时…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 主要内容有: ·启动环境的概述 ·路径变量的定义与解释 ·库的指定与解释 (1)启动环境配置简述 我们按照前面的基本流程使用DC进行设置,但是这里主要使用的是脚本,因此不能一条一条命令进行演示其效果.在启动DC之前,首先要配置DC的启动环境,也就是那些库的设定.配置DC的启动环境主要是.synopsys_dc.setup…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 这里来讲一下formality的使用,貌似跟tcl和DC没有很强的联系:然而说没有联系,也是不正确的.在综合完成之后,可以进行形式验证.此外这里不是专门讲解formality的使用的,因此只会简单地实践一下它的用法. formality是Synopsys公司的形式验证工具,上一节我们得到了综合后的设计,这里我们就要验证综…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 之前讲了基本的时序路径约束,现在我们来看一下其他的约束,然后通过实战来讲解一些其他的约束.实战中也没有前面的"理论"中的约束类型,但是可以通过实战来了解其他的约束.本文的具体内容是: ·多时钟同步约束 ·门控时钟的约束 (实战:) ·正负边沿触发器的约束 ·输入输出延时的非默认约束 ·输入输出有多个路径驱动(类…
综合(synthesis) = 转换(translation) + 优化(logic optimization) + 映射(gate mapping): 转换阶段将HDL语言描述的电路用门级逻辑实现.对于DC使用gtech.db库中的门级单元来实现HDL语言描述的电路,得到初始的未优化的电路.优化与映射时综合工具对初始电路进行分析,去掉冗余单元.并根据约束条件(环境约束和设计约束)对路径进行优化,将优化后的电路映射到由制造商提供的工艺库上. 综合的特点 1. 综合是限制条件驱动的,限制条件就是综…
在Design Compiler中,Verilog文件可以用read_verilog命令读入,用link命令连接.以下是连接两个文件RegisterFile.v和Test.v的脚本: # Read design files file mkdir ./work define_design_lib WORK -path ./work read_verilog {RegisterFile.v Test.v} current_design Test link 其中define_design_lib指定中…
一.关键配置 1. 配置文件的位置 MySQL配置文件 /etc/my.cnf 或者 /etc/my.cnf.d/server.cnf 几个关键的文件:.pid文件,记录了进程id.sock文件,是内部通信使用的socket接口,比3306快.log文件,日志文件.cnf或.conf文件,配置文件安装目录:basedir数据目录:datadir 2. 在哪里保存你的数据 基本配置,指定数据目录,my.cnf或者server.cnf [mysqld]user = mysqlport = 3306s…
set_optimize_register    true compile  -ultra 调整pipleline各级的组合逻辑,使得各级组合逻辑的延迟跟接近 对非pipeline进行优化: register retiming set_dont_retime限制retime优化 .svf储存了设计中的更改信息,是交给形式验证工具使用的 check_timing用来检查约束是否完整 report_timing在综合之后,用来检查综合之后的设计是否有违规 -input_pins加上这个选项,会分别报…
       综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是RTL CODE.很多人入门都用HDL做设计,就以为HDL就只是用来做设计的,没有看到HDL最初始的一面,所以在验证时,就无法用好HDL另外一部分强大的功能.有时间还是可以看看Writing Testbench这本书,增强对HDL语言在验证方面作用的了解,也是提高对HDL认识很好的补充.       …
二.RTL级低功耗设计(续) 前面一篇博文我记录了操作数隔离等低功耗设计,这里就主要介绍一下使用门控时钟进行低功耗设计. (4)门控时钟 门控时钟在我的第一篇博客中有简单的描述,这里就进行比较详细的描述吧.我们主要学习门控时钟电路是什么.什么使用门控时钟.综合库里的门控时钟.如何使用门控时钟.对门控时钟的一些处理.手动插入门控时钟.我们重点介绍如何使用门控时钟和门控时钟的处理. ①门控时钟概述 门控时钟有两种方案:一种直接针对寄存器的时钟进行门控,一种对模块级别的时钟进行门控.相比之下,直接对寄…
转载: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…
前期接口设计用的是Vivado18.3+Modelsim10.6,逻辑综合及版图生成的环境是Ubuntu16,逻辑综合用的工具Design Compiler,生成版图用的工具是Encounter. 下面是关于我做的CameraLink接口的ASIC逻辑综合和版图设计流程,重点介绍了逻辑综合过程: (1)CameraLink接口实现 (2)功能仿真 (3)逻辑综合 (4)布局布线及版图生成 (5)后仿真 1.CameraLink接口实现 1.1.接口设计 Camera Link接口标准是数字相机和…
ASIC DC综合的理解 DC综合流程 输入设计文件+指定的工艺库文件+约束文件 经过DC的综合,输出满足期望的门级网表及综合报告 输入输出数据 输入文件:设计文件(verilog等).工艺库(db).约束文件 输出文件:网表(Netlist).report DC对输入数据的理解 设计对象 DC将读入的设计进行解析,分成不同的设计对象. DC将设计对象分为八种不同的类型: 设计(Design) 单元(Cell) 引用(Reference) 端口(Port) 连线(Net) 时钟(Clock) 库…
Tcl的背景 Tcl(读作tickle)诞生于80年代的加州大学伯克利分校,作为一种简单高效可移植性好的脚本语言,目前已经广泛应用在几乎所有的EDA工具中.Tcl 的最大特点就是其语法格式极其简单,采用纯粹的 [命令 选项 参数] 形式,是名副其实的"工具命令语言"( 即Tcl的全称Tool Command Language).Tk 是 Tcl"图形工具箱"的扩展,它提供各种标准的 GUI 接口项,以利于迅速进行高级应用程序开发. Tcl 在EDA软件中的应用 在V…
#****************************************************************************** # File : syn_example.tcl # Author : Lyu Yang # Date : 2018-12-09 # Description : Design Compiler #************************************************************************…
在dc家族系列中,DC_V,DC_E为根本的DC(Design Compiler)对象,具有dc所具有的根本fearture,DC在synopys对象系列中地位,无足轻重,也是业界应用最普遍的综合对象,比拟candence的RC(RTL compiler)有更大的客户群.进入到亚微米工艺下,DCT/DCG已逐步成为优化时序的一种选择.在解释这个成绩之前,就我所接触到的DC相干的license成绩,简述一下synopsys的生财之道. 可以说DC是synopsys最挣钱的EDA对象,除根本的fea…
Design Compiler and the Design Flow 步骤 将HDL描述的设计输入到Design Compiler中 Design Compiler使用technology libraries, synthetic or DesignWare libraries, and symbol libraries执行综合过程,并展示综合结果. 将HDL翻译为门级描述之后,Design Compiler优化和映射设计到指定的工艺库. 优化之后准备测试综合结果,查看是否满足设计要求. 综合…
1 Target Library Design Compiler uses the target library to build a circuit. During mapping, Design Compiler selects functionally correct gates from the target library. It also calculates the timing of the circuit, using the vendor-supplied timing da…
1 synthesis steps 1) Search Paths rc:/> set_attribute lib_search_path path / rc:/> set_attribute script_search_path path /  rc:/> set_attribute hdl_search_path path / 2) Target Technology Library rc:/> set_attribute   library  lib_name.lib  - …
PS:字丑,禁止转载!!! 首先先写出大概的流程,然后是一些教材的理论知识总结,最后是进行lab2的一些流程概述. 教材的理论知识总结主要是:数字集成电路物理设计学习总结--布图规划和布局 -->数据准备(设置).加载设计并切换到floorplan模式 --> 创建拐角(Corner)和电源地(P/G)单元并定义他们pad的位置 -->创建floorplan -->在电源/接地信号和I / O焊盘,宏和标准单元的所有电源/接地引脚之间建立"逻辑"连接 -->…
如何学习FPGA 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/k331922164/article/details/44626989 PS:笔者强烈建议诸位注册一个EETOP的账号,每天签到或者发贴.回贴就有积分了,里面的资源非常丰富,各种软件.资料都能找到.一.入门首先要掌握HDL(HDL=verilog+VHDL). 第一句话是:还没学数电的先学数电.然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL.因为veri…