内部时钟的定义:

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进行约束。

转载于:https://www.cnblogs.com/-9-8/p/5950388.html

generated clock相关推荐

  1. (43)生成时钟Generated Clock简介

    (43)生成时钟Generated Clock简介 1 文章目录 1)文章目录 2)时序约束引言 3)FPGA时序约束课程介绍 4)生成时钟Generated Clock简介 5)技术交流 6)参考资 ...

  2. clock constrain

    Asynchronous Clocks :两个时钟不知道他们之间的相位关系 In most cases, primary clocks can be treated as asynchronous. ...

  3. STA series --- 7.Configuring the STA SDC(PATR-I clock define)

    序: 本篇内容,基于阅读J. Bhasker • Rakesh Chadha著作<Static Timing Analysis for Nanometer Designs>后进行的总结以及 ...

  4. 数字IC后端流程——(四)时钟树综合Clock Tree Synthesis

    参考原博地址:https://blog.csdn.net/weixin_46752319/article/details/107387584 ICC时钟树综合 时钟树综合就是指从某个clock的roo ...

  5. CLOCK电子计算机上表示什么,深入浅出SDC - clock定义(上)

    前序 上次跟大家介绍了SDC的主要构成(如果想要查看可以点击下方蓝色链接),从中可以看出,所有SDC构成中最基本的就是clock的定义,它作为所有SDC的基础,贯穿到几乎所有SDC指令当中.因此,今天 ...

  6. Vivado中用于时钟操作的几个Tcl命令

    前言 理论上,使用Tcl可以在Vivado上完成一切操作,但是没必要,因为命令太多,很难记忆,我们只需要知道几个常用的即可,方便我们使用Vivado. 对于时序约束,我们常用的tcl命令,最多的是时钟 ...

  7. 【 Vivado 】时钟类型

     Vivado进行时序分析,对时钟的约束是必不可少的,设计中的时钟可分为一下几种: Primary Clocks 主时钟: Generated Clocks 衍生时钟: Virtual Clocks ...

  8. 时序约束,STA的QA

    (1) clock Q1.1什么是同步时钟? 时钟频率是整倍数,并且相互之间的相位是固定而且相差可预知的,才可以称得上是同步时钟.其他的都算异步时钟. 比如, 5M,10M是同步 2M,3M一般算异步 ...

  9. 静态时序分析的约束命令

    Timequest共包括13条约束命令(从timequest工具constrants下拉菜单可选的约束命令,实际不止这么多),分别是: Creat clock Creat generated cloc ...

最新文章

  1. 嵌入式中的 *(volatile unsigned int *)0x500 解释
  2. python最好用的助手_想学Python的小伙伴注意了,pip工具或许是您最好的助手!本文详解安装教程哦!...
  3. Linux系统安装中文环境,中文帮助,中文输入法的实现
  4. [深度学习TF2] 梯度带(GradientTape)
  5. 过年啦!抽奖发2022元红包!
  6. c语言小车倒车程序,STC12C5A60S2串口演示程序(C语言版)
  7. classdefnotfound本地不报错_四种解决Nginx出现403 forbidden 报错的方法
  8. tree edit distance
  9. Maven的安装与配置(详细版)
  10. 传真服务器维护,DreamFax传真服务器
  11. 弹性模量及刚度之间的关系
  12. SSD原理解读-从入门到精通
  13. Java 嵌入 SPL 轻松实现 Excel 文件合并
  14. 前端人脸识别框架tracking.js,解决ios浏览器调摄像头黑屏的问题,兼容pc、安卓、ios。
  15. javascript代码规范及格式化工具
  16. 浅谈ElasticSearch
  17. 我的个人博客是如何申请百度联盟通过的?
  18. IGBT体二极管参数
  19. 数据链路层----交换机原理
  20. word中两端对齐之后文字之间空格很大

热门文章

  1. loops_per_jiffy的计算
  2. MATLAB 验证时域和频域卷积定理
  3. 2021.5.10-5.17 人工智能行业每周技术动态
  4. 课程:信任沟通的六个核心技巧
  5. 图像去噪之自适应维纳滤波
  6. 计算机桌面图标下的字都有颜色,我的电脑桌面上图标下的文字变成白色底纹
  7. 不黑学社聘请王晓婷女士出任法律合规专门委员会主任孙溟㠭为王晓婷颁发聘书
  8. 贪心算法---会议室问题
  9. 达梦中创建dblink链接oracle
  10. ThreadPoolTaskExecutor和ThreadPoolExecutor