DC课程笔记-数字逻辑综合工具-DC Environment Attributes
文章目录
- 课程内容笔记46:57开始至末尾
本节来源网络视频笔记
主要介绍DC的时序timing约束
课程内容笔记46:57开始至末尾
移除设计
remove_design -hierarchy
查看所有的design设计
list_designs
重新读入设计:
analyze -format verilog [list top.v counter.v fsm_moor.v]
elaborate -architecture verilog top
此时可以不用link,也不用current design
虽然都进来了,但是应该检查读进来的设计是否有问题,要在综合之前检查。前面两个命令会检查语法错误,至于check_design有无递归设计,或者引脚连错。
check_design
通常,如果进行check_design进行检查时候,会返回一个值如果是0那么就会有错,所以我们定义了如下脚本,同样如果我们进行link的时候,link也会返回一个值,如果这个值是0,就代表link有错。exit就代表退出DC
if {[link]==0} {echo "link with error";exit
}
if {[check_design]==0} {echo "Check designing with error! ";exit;}
为了确保在添加约束之前,约束是干净的,需要把之前的约束给清楚掉。所以建议,reset_design,此时你的设计是非常干净的,因为此时还没有约束。
reset_design
此时开始创建约束,下面创建了一个时钟周期的约束,如果没有-name那么默认这个时钟的名字就等价于这个端口的名字,都叫clk_i,当然还可以加-waveform [list 0 5],对于单沿触发一般影响不大
create_clock -period 10 [get_ports clk_i]
下面还要输入input delay,外面留6成,里面留4成,并且需要指定你相对于哪一个参考时钟
set_input_delay 6 -clock clk-i [all_inputs]
由于输入时钟端口不需要做一个delay,因此需要把输入时钟端口的delay给排除掉
remove_input_delay [get_ports clk_i]
此时设置输出端口的延迟,相对于时钟端口clock clk_i
set_output_delay 6 -clock clk_i [all_outputs]
在DC进行综合之前需要对所有的路径添加约束,除了跨时钟域的可以设置为false_path。如果你不添加完成,他如何选择合适的cell,所以必须要全部添加约束。用check_timing检查有没有漏掉的时钟约束
check_timing
此时约束路径全部有了之后,可以跑一个简单的综合
compile
在综合完毕后,可以先看一下有没有违规的地方。
report_constraint -all_violators
此时线负载模型、驱动、面积等等都没有约束。此时约束条件是比较宽松的。
如何检查自己的tcl约束脚本是否正确。
dcprocheck filename.tcl
DC课程笔记-数字逻辑综合工具-DC Environment Attributes相关推荐
- DC课程笔记-数字逻辑综合工具-DC Synthesis Optimization Techniques
文章目录 课程内容笔记00:00开始至 本节视频来源于DC视频教程,本节主要约束环境 课程内容笔记00:00开始至 芯片的输出端口要驱动一个负载,如何在DC综合时候就模仿在流片回来后的输出管脚的负载, ...
- 数字逻辑综合工具-DC-04 ——怎样增加时序约束(Timing Constraints)
数字逻辑综合工具-DC-04 --怎样增加时序约束(Timing Constraints) 逻辑综合的过程为:转化 优化 映射 另外还有环境约束和面积约束 时序有三个大的方面 input logic ...
- 数字逻辑综合工具实践-DC-08——静态时序分析(STA)
数字逻辑综合工具-DC-08 时序分析 综合结束之后,如何确定这个网表能不能用. [Timing Reports] report_timing Incremental 信息包含了Net 和 Cell一 ...
- 数字逻辑综合工具实践-DC-07 ——综合优化(二)和RTL coding 和DFT
数字逻辑综合工具实践-DC-07 --综合优化(二)和RTL coding 和DFT 主要内容: 1. Pipeline优化 2. RTL设计时的一些注意事项 3. DFT简介 (DFT是后端里很重要 ...
- 数字逻辑综合工具-DC-06——综合优化过程
数字逻辑综合工具-DC-06 --综合优化过程 编译的策略:Top-down (做设计有两种策略:top-down 和 bottom-up) 设计一定是一种层次化的结构,一层一层地去例化 Top-do ...
- EDA实验课课程笔记(七)——DC(Design Compiler)的简介及其图像化使用(一)
本博文用于记录DC的基本知识及一些相关的最基本概念.然后配合演示视频,对DC有一个最初步的认识.参考学校老师的PPT讲解,以及实验指导书中的内容. Design Compiler的简介及其图像化使用 ...
- 数字逻辑综合工具-DC-11——一些其它命令和综合之后的文件
对于reset 和clock这种大扇出的信号来说,必须要人为设置为ideal network,不要让DC动它,因为线负载模型对于这些大扇出的情况估算不准. 如果不添加don't touch属性的话,D ...
- 数字逻辑综合工具实践-DC-10——CDC约束
[分频时钟input delay] (找短的间隔) [多时钟output delay] 记得要用add_delay 也是找短的 [时钟之间的uncertainty] 模仿两个时钟之间的偏移量 要用-f ...
- Linux环境下EDA软件的使用——数字IC设计DC综合篇
Linux环境下EDA软件的使用--数字IC设计DC综合篇 目前,绝大部分集成电路设计所用到EDA软件都是Linux版本,对于芯片工程师,熟悉一款EDA软件是入门的必修课,当然要真正的掌握会是十分 ...
最新文章
- SQL Server 批量主分区备份(One Job)
- [pytorch、学习] - 4.2 模型参数的访问、初始化和共享
- 【超详细教程】如何使用TypeScript和GraphQL开发应用
- 78oa mysql_78oa系统版本升级方法
- EXT.NET复杂布局(二)——报表
- linux 漏洞 poc,CVE-2017-11176: 一步一步linux内核漏洞利用 (二)(PoC)
- 宝塔无法安装php5,宝塔无法安装phpmyadmin怎么办
- [转]何时使用委托而不使用接口(C# 编程指南)
- java telnet 交换机_华为交换机 telnet 配置(极简版)
- 【PostgreSQL-9.6.3】物化视图
- Go 语言为Fibonacci函数实现Read方法
- 机器视觉的发展现状和前景分析
- rabbitmq使用_RabbitMQ 简介以及使用场景
- 计算机内存体系与Java 内存模型
- 树莓派能学linux吗,用树莓派能高效学习Linux和Python吗?
- 金仓数据库 KingbaseES 插件参考手册 sys_qualstats
- D3基础 | 条形图
- 比赛推送:ML/NLP/推荐/CV,一大波比赛来袭!
- 如何复制权限受限PDF文件的内容(亲测有效,Microsoft Edge打开pdf文件)
- java sencha_Sencha学习入门