一、逻辑综合的主要步骤

synthesis = translation + logic optimization + gate mapping

DC工作流程主要分为这三步

Translation :主要把描述RTL级的HDL语言,在约束下转换成DC内部的统一用门级描述的电路(Generic Boolean Gates)(DC自己的库表现),以GTECH或者没有映射的ddc形式展现。也就是说此阶段没有用到工艺库。

Logic optimization :就是把统一用门级描述的电路进行优化,就是把路径调整一下,门给改一下等等。

Gate mapping :门级映射,把优化了的统一门级描述,DC用工艺厂商的工艺库把电路给映射出来,得到一个.ddc文件。这个.ddc文件可以包含许多丰富的信息,比如映射的门电路信息网表.v格式的网表延时信息(sdf)工作约束(sdc)等信息。(.ddc不能用文本编辑器打开)。.ddc这个包含的网表文件是实际意义的网表文件,而.v这个形式的网表文件是用来做后仿真的文件。

二、逻辑综合的具体步骤

1、在Linux下,启动DC。打开命令行,输入 dc_shell –gui

2、设置库文件。

点击File - Setup

设置

(1)Search path :当在Link Library中无法找到某些模块时,DC会在Search Path下的库中自动找对应的模块。比如Synopsis的DesignWare中的库就缺省包含在了Search Path下,这也就是为什么一般不需要手动设置Synthetic Library的原因。在Verilog源文件中,如果找不到include的文件,也会在Search Path下寻找。

(2)Link library 和 Target library :Link library 和 target library 统称为 technology library(即工艺库,习惯称之为综合库),technology library 由半导体制造商提供,包含相关 cell 的信息及设计约束标准,后缀一般为".db",其中:

Target library: 在门级优化及映射的时候提供生成网表的 cell,即DC 用于创建实际电路的库。

Link library: 提供设计网表中的 cell,可以跟target_library使用同一个库,但是 DC 不用 link library中的 cell 来综合设计。

当 DC 读入设计时,它自动读入由 link library 变量指定的库。当连接设计时,DC 先搜寻其内存中已经有的库,然后在搜寻由 link library 指定的库。

注:当读入的文件是门级网表时,需要把 link library 指向生成该门级网表的库文件,否则 DC 因不知道网表中门单元电路的功能而报错。

(3)Symbol library :Symbol library 提供 Design Vision GUI 中设计实现的图形符号,如果你使用脚本模式而不使用 GUI,此库可不指定 Symbol library

(4)Synthetic library :即为 Designware library ,名字上翻译是综合库,但却常称之为IP库,而不是直译。特殊的 Designware library 是需要授权的(比如使用多级流水线的乘法器),默认的标准 Designware 由 DC 软件商提供,无需指定。

3、读入verilog RTL文件

点击 File - Read 选择自己的verilog文件

4、Check Design 检查设计

点击 Design - Check Design

5、在下方dc shell命令行输入set_max_area 0(按最小的面积综合)

6、在下方dc shell命令行输入compile –map_effort medium –area_effort medium(为优化面积而做出的努力程度)

7、在下方dc shell命令行输入report_cell

8、查看综合后的电路面积

面积为3468.54719,这个面积是电路中的门级器件的面积,不包括内部金属线的面积,根据经验,最终的电路面积 ≈ 此面积/0.7。

因为我们实验室不需要自己做后仿真,所以跑DC的唯一目的就是看面积,我暂时也没搞清楚为什么不需要设置时钟约束,环境约束等。

参考链接:

https://www.jianshu.com/p/a891ef3fe71e

https://zhuanlan.zhihu.com/p/82716151

Design compiler综合教程相关推荐

  1. 安装design compiler的教程

    安装design compiler的教程 教程开始 design compiler工具介绍和所需环境 准备工作 启动installer安装软件 安装DC和scl 在windows下生成license以 ...

  2. Design Compiler综合出来的网表中出现\**SEQGEN**,解决方案

    出现这个问题的主要原因是代码综合时候找不到cell library,link出现问题. 在我的代码里,是因为compile ultra后面多加了 -incremental,导致子模块找不到cell l ...

  3. Design Compiler指南——后综合过程

    本文我们着重讨论使用Design Compiler综合大型设计时要注意的一些问题,比如怎样调整综合方法,出现约束违反后怎样修正,怎样给不同的子模块作时序和负载预算,以及给整个设计在具体综合之前先作一个 ...

  4. Design Compiler指南——预综合过程

    预综合过程是指在综合过程之前的一些为综合作准备的步骤,包括Design Compiler的启动.设置各种库文件.创建启动脚本文件.读入设计文件.DC中的设计对象.各种模块的划分以及Verilog的编码 ...

  5. verilog case语句_浅谈Design Compiler -- Verilog语言结构到门级的映射

    昨天的文章中,我们了解到Design Compiler(DC)作为Synopsys公司开发的一款用于电路综合的EDA工具,在全球数字电路市场去得了巨大的成功,它的设计初衷是将用Verilog HDL语 ...

  6. 逻辑综合重点解析55题(Design Compiler篇)

    1.逻辑综合(Logic Synthesis)分为哪三个步骤? 逻辑综合的行为是将数字电路的寄存器传输级描述(RTL,Register Transfer Level)"综合"成门级 ...

  7. 逻辑综合重点解析(Design Compiler篇)

    前言 本文摘录自微信公众号 "数字芯片实验室" 欢迎关注 1.逻辑综合(Logic Synthesis)分为哪三个步骤? 逻辑综合的行为是将数字电路的寄存器传输级描述(RTL,Re ...

  8. sip 时序图_Tcl与Design Compiler (五)——综合库(时序库)和DC的设计对象(下)

    ~  回复  以下关键词  查看更多IC设计教程 ~ 目前支持的关键词有: Innovus                            ICC or IC Compiler DC or De ...

  9. DC1+2: Tcl与Design Compiler (一二)——前言+DC综合与Tcl语法结构概述+DCT/DCG+wireloadmodel+Comments

    DCbasic and TCL命令 本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 1.逻辑综合的 ...

最新文章

  1. iOS开发之使用XMPPFramework实现即时通信(二)
  2. Tensor Decomposition
  3. 苹果iPhone XI奋起直追?直接升级四摄镜头
  4. linux安装界面意思,为linux安装图形化界面
  5. Python+matplotlib绘图使用Latex引擎渲染坐标轴刻度文本上标
  6. mysql索引和事务_MySQL事务和索引
  7. 计算机教师个人能力不足,教师个人信息技术能力分析优势和不足.docx
  8. 开源免费跨平台且超级傻瓜的视频分割的软件VidCutter(附CSDN下载)
  9. 七牛 html 上传,在七牛上传之后如何自己自定义上传完成处理并在页面显示。_html/css_WEB-ITnose...
  10. 无线网卡、以太网驱动消失,“没网络”并且重新下载驱动仍然出现感叹号(windows仍在设置此设备的类配置,代码56)解决方法,绝对绝对有效
  11. python快速处理excel表格-python 处理 Excel 表格
  12. ftp上传软件,五款ftp优秀的ftp上传软件
  13. fastadmin 百度编辑器无法上传图片的几种原因和修改方法
  14. 概率论总结(四): 大数定律及中心极限定理
  15. css之@media网页适配
  16. python处理excel数据并对数据进行打分
  17. Ubuntu 22.04 修改IP
  18. PostgreSQL日期加减
  19. linux分区安装win7,安装linuxmint与win7双系统的经验
  20. 用户标签体系的设计和效果评估

热门文章

  1. nvidia驱动升级和nvidia-docker2安装
  2. Windows无法访问 请检查名称的拼写。否则,网络可能有问题...错误代码:0x80004005
  3. 表单输入框聚焦输入内容显示叉叉清除效果
  4. lisp角度转换弪度_角度和弧度换算(角度和弧度怎么换算)
  5. 这些手写代码会了吗?少年
  6. C. Chocolate Bunny
  7. 3*3 数字拼图(去除无解的随机组合)
  8. idea中src/main/resources目录下的applicationContext.xml文件访问src/main/webap目录下的配置文件
  9. 智见深度|京东ToB越过山丘
  10. 二十世纪最伟大的十大算法