DC综合简介及基本流程
一:首先我们要知道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综合简介及基本流程相关推荐
- DC综合——学习笔记
DC综合--学习笔记 一.DC综合简介 1.1 什么是综合? 1.2 综合需要的文件 1.3 综合输出的文件 1.4 电路综合的要求 1.4.1 综合脚本的要求 1.4.2 综合结果的要求 二.DC综 ...
- Tcl与Design Compiler (三)——DC综合的流程
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 1.基本流程概述 首先给三个图,一个图是高层次设计 ...
- 【DC综合】逻辑综合的实施流程
逻辑综合实施流程 1. DC启动 1.1 四种启动方式 1.2 日志文件 1.3 启动文件 2. 读入设计文件 2.1 read 2.2 analyze&elaborate 2.3 link ...
- Design Compiler - DC综合的流程(三)
转载文章,来源出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner ========================================= ...
- Design Compiler (三)——DC综合的流程
1.基本流程概述 首先给三个图,一个图是高层次设计的流程图: 下面是我对这张图的理解: ① 设计之前,准备好库.HDL代码的思想.约束生成:然后根据设计思想用 RTL 源码详细地.完整地为设计建立模型 ...
- DC综合的一些基本概念
转载:https://www.cnblogs.com/leaftime/archive/2013/08/15/3259156.html 1.1 什么是DC? DC(Design Compiler)是S ...
- DC综合后处理(查看生成的网表和报告)
[转载]DC综合后处理 - Thomas的文章 - 知乎,作者:IC_learner, https://zhuanlan.zhihu.com/p/161061612 概述 前面也讲了一些综合后的需要进 ...
- 20211110:DC综合的一些简单概念总结(2)
DC综合的一些简单概念总结(2) 问题描述 分析与解答 每日总结 这些概念皆为一些必须理解的基础,经济基础决定上层建筑,学习也是同理.务必深化这些简单但是很基础的东西.做到别人问起时你可以侃侃而谈的效 ...
- 20211109:DC综合的一些简单概念理解记录
DC综合的一些简单概念总结 问题描述 分析与解答 每日总结 首先写在最前面,关于我的个人博客只是一个学习记录,方便我在需要回顾时可以更快的找出这些知识点来回顾,而不是单纯的为了记录而记录.各位共勉! ...
最新文章
- Ubuntu 14.04 64位字体美化(使用文泉驿微黑)
- 使用 Trace32 对 FLASH 编程
- Active Diretory 全攻略(八)--组策略(2)
- Java面对对象的核心是啥_Java面向对象核心技能
- 各大视觉技术看透女神吗
- 零基础如何学好Python?这2点一定要明白
- Python表示不甘心,汤姆大叔送书,Python抢书之毫秒级跟进--获取服务器时间
- windows10开启Webdav文件服务
- Docker删除容器命令
- 【200以内素数】C语言
- 4 基于pyecharts的python数据可视化——散点图和折线图的绘制
- ionic android 教程,Ionic Capacitor Android环境搭建 创建项目
- Windows-Exploit-Suggester
- Latex写paper时增加脚注
- Linux: sd 0:0:1:0: timing out command, waited 1080s, 访问磁盘错误
- C# 读取西门子S7系列PLC教程及源码
- python学习三-基础语法
- 用tkinter做一个代码编辑器(语法高亮,直接运行)
- PostMessage,SendMessage,GetMessage,PeekMessage,TranslateMessage,DispatchMessage的用法集合
- ttttttttttt
热门文章
- S60手机系统错误对照表
- 我的世界怎么免费开一个服务器是正版,我的世界怎么开一个服务器
- 构建海量数据平台-云梯生态系统
- ns手柄pc驱动_PC和Switch通吃利器,北通宙斯精英手柄助你一臂之力!
- creator 跳跃弧线_CocosCreator零基础制作游戏《极限跳跃》
- LeetCode 137.Single Number II 只出现一次的数字 II
- 傲腾内存 可以用ghost系统_创新无止境!英特尔2020继续用“芯”改变世界
- Python分析《蜘蛛侠:英雄远征》11万条猫眼评论
- 达州市公安局探索IT运维新领域 北塔软件BTSO支撑“金盾工程”高效运转
- 1. Rectangle的基本使用