generated clock
内部时钟的定义:
create_generated_clock,通过-source,-edges,-divide_by,-multiply_by来执行clock沿。
create_generated_clock -name DIVIDE -source [get_ports SYSCLK] -divide_by 2 [get_pins FF1/Q]
-source来指定参考时钟,以它的rising edge来进行后续的edge操作。
最后的get_pins,指定generated clock的定义点,之后fanout的clock,称为该clock。
-edges操作,指定{上升沿,下降沿,上升沿} -edges{1 5 7}
generated clock的定义也会create一个新的clock domain,供PT分析。
generated clock可以进行shift移位,这个时间不作为clock latency来进行计算。
create_generated_clock -edges {3 5 9} -edge_shift {2.2 2.2 2.2} -name DIV3 -source [get_ports SYSCLK] [get_pins U4/QN]
-name选项,指定generated clock的名字。
-edge_shift选项,指定相对于edge的移动时间。
在一个source的port上有多个clock时,可以通过-master_clock来选择某一个作为source。
这时,同时使用-source和-master_clock
generated clock的选择,使用-filter选项或者搜索名字规则。
set_false_path -from [get_clocks CLK_DIV*] -to [get_clocks CLKB]
set_false_path -from [get_clocks CLK* -filter "is_generated==TRUE"] -to [get_clocks CLKB]
去掉定义的generated clock
remove_generated_clock
generated clock的source latency会继承master clock的source latency,所以generated clock的source latency一般会比master的大。
PT选择,generated clock内的worst-case path来计算generated clock的source latency。
source latency表示源时钟自带的延时,network latency表示CTS之后clock tree insertion delay,所以DC阶段不需要设置network latency,
除非不同的clock有不同的clock tree insertion delay,又不想平衡这些clock,
Pulse clock:算是一种特殊的clock,通过PG模块(Pulse generated)产生,使用set_clock_sense来进行定义,
set_clock_sense -pulse rise_triggered_high_pulse get+pins and2/z
对于pulse的建模有四种方式:rise_tiggered_high_pulse
rise_tiggered_low_pulse
fall_tiggered_low_pulse
fall_tiggered_high_pulse
通过set_pulse_clock_min_width和set_pulse_clock_max_width来对clock pulse的width进行约束。
generated clock的更多相关文章
- CTS 如何处理 gating clock 和 generated clock
1. CTS 时会将 ICG cell 作为 implicit nostop pin 处理,直接穿透,以 ICG cell 后面的 sink 点作为真正的 sink 来长 tree 2. CTS 时会 ...
- clock gating and PLL
一个gating的clock是指:clock network除了包含inverter和buffer外,还有其他logic. PrimeTime会自动的对gating input进行setup和hold ...
- clock divider
一个clock的产生: 1) Clock source的选择: cgm_mux5(.clk_out, .clk_in0, .clk_in1, .clk_in2, .clk_in3, .clk_in4, ...
- clock时钟
①时钟的偏移(skew):时钟分支信号在到达寄存器的时钟端口过程中,都存在有线网等延时,由于延时,到达寄存器时钟端口的时钟信号存在有相位差,也就是不能保证每一个沿都对齐,这种差异称为时钟偏移(cloc ...
- Timequest GUI
Tasks界面 使用Tasks界面可以访问常用命令,例如生成网表建立报告等. 两个常用命令位于Tasks界面中:打开工程和编写SDC文件.其他命令在下面的文件夹中: Netlist Setup Rep ...
- STA分析(七) sdc
STA分析前的环境设置,包括:setup clocks,specifying IO characteristics 1)定义一个master clock:create_clock -name .. - ...
- 【黑金原创教程】【TimeQuest】【第七章】供源时钟与其他
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- Xilinx Spartan6常用资源Verilog例化
// DSP48A1 : In order to incorporate this function into the design, // Verilog : the following insta ...
- vivado下创建基本时序周期约束
创建基本时钟周期约束.(验证我们的设计能否在期望的频率上运行) (学习记录,晚一点会做实验传上来的.) 时钟基本概念:https://blog.csdn.net/wordwarwordwar/arti ...
随机推荐
- C#中如何在字符串中设置上标
一.HTML中:如字符串"21st" 想要把st 设置为上标,在html标签中是21<sup>st</sup> 二.C#编辑器中你可以使用 unicode ...
- Node.js的DES加解密和MD5加密
最基本的就是经常用的md5加密算法 代码如下 var MD5=function (data) { var _encrymd5 = require('crypto').createHas ...
- TCP和UDP的聊天
TCP聊天 TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议. 1.一个TCP连接必须要经过三次"对话"才能建立起来,其中的过程非 ...
- 常见26个jquery使用技巧详解(比如禁止右键点击、隐藏文本框文字等)
来自:http://www.xueit.com/js/show-6015-1.aspx 本文列出jquery一些应用小技巧,比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器. ...
- DOS中cmd里常见的命令
我们使用计算机接触最频繁的就是DOS.DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件,说得简单些,DOS就是人给机器 ...
- javascript 数组的深度复制
javascript 数组的深度复制 一般情况下,使用 "=" 可以实现赋值.但对于数组.对象.函数等这些引用类型的数据,这个符号就不好使了. 1. 数组的简单复制 1.1 简单遍 ...
- oracle initialization or shutdown in progress问题解决步骤
今天像往常一样打开电脑,启动plsql工具连接数据库,但是尽然连接不了,报了“oracle initialization or shutdown in progress”的提示信息,从操作系统 ...
- 笔记本(WIN7|XP)发射wifi信号 当无线路由使用
Windows7系统 第一步:是你的电脑上要有两个网卡一个有线一个无线(笔记本应该都有)台式机可以考虑买个USB无线网卡(50左右) 第二步:win+R CMD 输入(只输入红色部分) netsh ...
- Lua语言
下载使用Subline作为编辑器 1. 2.函数使用 function sayHello() print ('hello torch') end 3.定义变量 a print (a) 4.引入文件 r ...
- el 表达式 和 ognl表达式
el (expression language) el 基础操作符 el 能够隐含对象(就是可以直接访问的) el 的两种使用方式,第二种好像在jsp中没有什么用,主要用于jsf el能够访问的对象( ...