一:首先我们要知道DC综合是用来干什么的。

DC综合用一句话概括就是将RTL级描述的电路在工艺、面积、时序等约束下转换为基于工艺库的门级网表。综合包括三个阶段:转换、优化、

1.转换:将RTL级描述转换为DC通用的GTECH库原件组成的RTL级网表。

2.优化:根据设计者施加的延时、面积等约束条件,对电路进行优化。

3.映射:将优化之后的电路映射到工艺库上,形成一个门级网表。

二:准备工作

1.自己需要综合的RTL工程文件;

2.libraries工艺库文件;

3.编写的.synosys_dc.setup文件(在上一个文章中有)和tcl文件

三:设置综合环境

设置一些约束信息,可以写成tcl文件,也可以自己在终端输入每一条命令。

#---------------------------------------------------------read_verilog {a.v b.v c.v top.v}  //读取.v文件current_design top                //设置设计的顶层文件set PERIOO_100M [expr (1.0/100.0)*1000]create_clock -period $PERIOO_100M -waveform [list 0 5] [get_ports nice_clk] //创建时钟set_clock_uncertainty -setup 0.2 [get_clocks nice_clk]  //定义时钟不确定性信息,set_clock_uncertainty -hold 0.05 [get_clocks nice_clk]  //建立时0.2ns,保持时间0.05ns
//创建输入延时,从输入引脚到第一个寄存器之间的延时set DFF_CKQ 0.638set IP_DELAY [expr 0.02 + $DFF_CKQ]set_input_delay $IP_DELAY -clock nice_clk [remove_from_collection [all_inputs] nice_clk]
//创建输出延时,从输出寄存器到输出引脚之间的延时set DFF_SETUP 0.546set OP_DELAY [expr 0.02 + $DFF_SETUP]set_output_delay $OP_DELAY -clock nice_clk [all_outputs]         set_drive 0 {nice_clk nice_rst_n}  //设置输入驱动,等于0,就是输入驱动无穷大set_load 4.013 [all_outputs]      //设置输出负载,输出端驱动负载能力的大小set_max_area 0           //将设计的最大面积进行约束,设为0,就会尽可能的优化面积
//让每个port都有单独的buffer驱动的意思,主要影响后期的布局布线。set_fix_multiple_port_nets -all -buffer_constants [get_designs]replace_synthetic -ungroup    //将设计中的运算符替换成IP库中指定的运算符check_design   //检查设计link           //链接

四:综合输出的文件

1.ddc文件:保留综合结果的DDC文件,之后可以直接load这个文件,查看综合结果

2..综合后的.v 门级网表文件 (用于后端给PT做STA)

3..综合后的.sdc 时序约束文件,用于布局布线

4.sdf文件,标准延时格式,用于静态分析和后仿。

DC综合简介及基本流程相关推荐

  1. DC综合——学习笔记

    DC综合--学习笔记 一.DC综合简介 1.1 什么是综合? 1.2 综合需要的文件 1.3 综合输出的文件 1.4 电路综合的要求 1.4.1 综合脚本的要求 1.4.2 综合结果的要求 二.DC综 ...

  2. Tcl与Design Compiler (三)——DC综合的流程

    本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 1.基本流程概述 首先给三个图,一个图是高层次设计 ...

  3. 【DC综合】逻辑综合的实施流程

    逻辑综合实施流程 1. DC启动 1.1 四种启动方式 1.2 日志文件 1.3 启动文件 2. 读入设计文件 2.1 read 2.2 analyze&elaborate 2.3 link ...

  4. Design Compiler - DC综合的流程(三)

    转载文章,来源出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner ========================================= ...

  5. Design Compiler (三)——DC综合的流程

    1.基本流程概述 首先给三个图,一个图是高层次设计的流程图: 下面是我对这张图的理解: ① 设计之前,准备好库.HDL代码的思想.约束生成:然后根据设计思想用 RTL 源码详细地.完整地为设计建立模型 ...

  6. DC综合的一些基本概念

    转载:https://www.cnblogs.com/leaftime/archive/2013/08/15/3259156.html 1.1 什么是DC? DC(Design Compiler)是S ...

  7. DC综合后处理(查看生成的网表和报告)

    [转载]DC综合后处理 - Thomas的文章 - 知乎,作者:IC_learner, https://zhuanlan.zhihu.com/p/161061612 概述 前面也讲了一些综合后的需要进 ...

  8. 20211110:DC综合的一些简单概念总结(2)

    DC综合的一些简单概念总结(2) 问题描述 分析与解答 每日总结 这些概念皆为一些必须理解的基础,经济基础决定上层建筑,学习也是同理.务必深化这些简单但是很基础的东西.做到别人问起时你可以侃侃而谈的效 ...

  9. 20211109:DC综合的一些简单概念理解记录

    DC综合的一些简单概念总结 问题描述 分析与解答 每日总结 首先写在最前面,关于我的个人博客只是一个学习记录,方便我在需要回顾时可以更快的找出这些知识点来回顾,而不是单纯的为了记录而记录.各位共勉! ...

最新文章

  1. Ubuntu 14.04 64位字体美化(使用文泉驿微黑)
  2. 使用 Trace32 对 FLASH 编程
  3. Active Diretory 全攻略(八)--组策略(2)
  4. Java面对对象的核心是啥_Java面向对象核心技能
  5. 各大视觉技术看透女神吗
  6. 零基础如何学好Python?这2点一定要明白
  7. Python表示不甘心,汤姆大叔送书,Python抢书之毫秒级跟进--获取服务器时间
  8. windows10开启Webdav文件服务
  9. Docker删除容器命令
  10. 【200以内素数】C语言
  11. 4 基于pyecharts的python数据可视化——散点图和折线图的绘制
  12. ionic android 教程,Ionic Capacitor Android环境搭建 创建项目
  13. Windows-Exploit-Suggester
  14. Latex写paper时增加脚注
  15. Linux: sd 0:0:1:0: timing out command, waited 1080s, 访问磁盘错误
  16. C# 读取西门子S7系列PLC教程及源码
  17. python学习三-基础语法
  18. 用tkinter做一个代码编辑器(语法高亮,直接运行)
  19. PostMessage,SendMessage,GetMessage,PeekMessage,TranslateMessage,DispatchMessage的用法集合
  20. ttttttttttt

热门文章

  1. S60手机系统错误对照表
  2. 我的世界怎么免费开一个服务器是正版,我的世界怎么开一个服务器
  3. 构建海量数据平台-云梯生态系统
  4. ns手柄pc驱动_PC和Switch通吃利器,北通宙斯精英手柄助你一臂之力!
  5. creator 跳跃弧线_CocosCreator零基础制作游戏《极限跳跃》
  6. LeetCode 137.Single Number II 只出现一次的数字 II
  7. 傲腾内存 可以用ghost系统_创新无止境!英特尔2020继续用“芯”改变世界
  8. Python分析《蜘蛛侠:英雄远征》11万条猫眼评论
  9. 达州市公安局探索IT运维新领域 北塔软件BTSO支撑“金盾工程”高效运转
  10. 1. Rectangle的基本使用