set_clock_groups有三个选项:-asynchronous,-logically_exclusive,-physically_exclusive,在使用时必须选择其中一个。

1、-asynchronous

异步时钟不需要做 timing check ,示例如图1,如果 C1 和 C2 这两个 clock 是异步的,那么一般是不需要 check 这条 path 的,此时就可以用如下命令来告诉工具:

set_clock_group -asynchronous  -group C1 -group C2

图1

2、logical exclusive

逻辑互斥,如果一个电路中有两个 clock,彼此间不存在timing check,例如,有一个选择信号控制的两个 clock,如图2,这样的两个 clock 是应该声明成 logical exclusive 的,命令如下:

create_clock -period 10 -name C1 -waveform {0 5} [get_ports C1]
create_clock -period 12 -name C2 -waveform {0 6} [get_ports C2]
set_clock_groups -logically_exclusive -group C1 -group C2

图2

这种情况出现除了使用set_clock_groups还可以使用set_false_path。

set_false_path-from [get_clocks C1] -to [get_clocks C2]
set_false_path-from [get_clocks C2] -to [get_clocks C1]

3、physical exclusive

物理层面的互斥,比如定义在同一个port/pin上的不同clock,如图3。此时C1 clock(F3)和C2 clock (F4)之间存在timing check,但是F1->F2之间的timing check,因为clock path经过MUX的选择,所以只能是C1->C1或C2->C2,不可能存在C1->C2或C2->C1,此时需要在MUX后定义两个generate clock,然后使用set_clock_groups -physically_exclusive对两个generate clock设置物理层面的互斥。

create_clock -period 10 -name C1 -waveform {0 5  } [get_ports C1]
create_clock -period 20 -name C2 -waveform {0 12} [get_ports C2]
create_generated_clock -name GC1 -divide_by 1 \-source [get_pins mux1/A] [get_pins mux1/Z] -combinational
create_generated_clock -name GC2 -divide_by 1 \-source [get_pins mux1/B] [get_pins mux1/Z] -combinational -add
set_clock_groups -physically_exclusive -group GC1 -group GC2

图3

4、SI分析

在做SI分析时-physical exclusive不分析group之间的串扰,-logical exclusive只分析timing window重叠部分的crosstalk,-asynchronous认为timing window无限大(infinite window:timing window完全交错,任意时刻都要做SI分析),此时的SI影响比较大。这部分可以参考PT的user guide。

静态时序分析—set_clock_groups相关推荐

  1. DC静态时序分析之时钟篇

    DC静态时序分析之时钟篇 博主微信:flm13724054952,不懂的有疑惑的也可以加微信咨询,欢迎大家前来投稿,谢谢! 引言介绍 在芯片设计或者FPGA设计里面,根据有无时钟,将电路设计分为时序逻 ...

  2. FPGA的设计艺术(3)静态时序分析

    前言 本文首发:FPGA的设计艺术(3)静态时序分析,我的易百纳技术社区专栏. 同行邀请消息:FPGA/IC Technology Exchange 什么是静态时序分析(STA)? 静态时序分析介绍 ...

  3. 静态时序分析的概念以及约束的作用理解

    何谓静态时序分析(Static Timing Analysis,简称STA) 它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析 ...

  4. 【转载】静态时序分析

    1.   背景 静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告. 进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性.对 ...

  5. 静态时序分析——基础概念

    一.简述 静态时序分析是检查系统时序是否满足要求的主要手段.以往时序的验证依赖于仿真,采用仿真的方法,覆盖率跟所施加的激励有关,有些时序违例会被忽略.此外,仿真方法效率非常的低,会大大延长产品的开发周 ...

  6. delay 芯片时序output_【第二章 STA概念 上】静态时序分析圣经翻译计划

    本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19 本章节介绍CMOS技术的基础知识以及执行静态时序分析所涉及的术语. 2.1 ...

  7. (108)FPGA面试题-介绍STA静态时序分析及其作用

    1.1 FPGA面试题-介绍STA静态时序分析及其作用 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-介绍STA静态时序分析及其作用: 5)结束语. 1 ...

  8. 以下不属于时序逻辑电路的有_静态时序分析圣经翻译计划——附录B:SDF

    本附录将介绍标准延迟标注格式,并说明了如何在仿真中执行反标. 延迟格式描述了设计网表的单元延迟和互连走线延迟,无论设计是用两种主要硬件描述语言(VHDL或Verilog HDL)中的哪一种所描述的. ...

  9. 中set无效是怎么回事_静态时序分析圣经翻译计划——第十章:鲁棒性检查 (中)...

    10.5 时钟门控检查 当一个门控信号(gating signal)可以控制逻辑单元中时钟信号(clock signal)的路径时,将会执行时钟门控检查(clock gating check),一个示 ...

最新文章

  1. 以太坊公链私链_如何使用以太坊构建汽车制造供应链系统
  2. Java实现内嵌浏览器
  3. 图解http协议头实例分析
  4. ServeJson undefined (type *MainController has no field or method ServeJson
  5. Shiro-550反序列化漏洞复现
  6. 开源开放 | DeepKE发布新版本:支持低资源、长篇章、多任务的图谱抽取开源框架(浙江大学)...
  7. 软件工程(总体设计①设计过程)
  8. 华为云大数据轻模式体验:忘掉底层烦恼,专注数据开发
  9. TensorFlow的安装方法
  10. 直接拿来用!一文学会 Docker 镜像!
  11. 游戏筑基开发之环形数组(C语言)
  12. Julia :元编程、宏
  13. 【树上贪心】Tree with Small Distances【codeforces-Round #506-div3-E】
  14. 各个国家的邮编规则集
  15. 在python3中、下列输出变量a的正确写法是_超星尔雅大数据Python答案免费微信公众号...
  16. png在线转换icns
  17. 5种小型设备上深度学习推理的高效算法
  18. 数据分析入门——推荐基础书以及实用网站
  19. Canal-adapter的简单配置
  20. 如何寻找已注册dll的路径

热门文章

  1. C# 二十年语法变迁之 C# 8参考
  2. 绩效评估的作用有哪些
  3. 这个岗位国内人才缺口超30万,突破职场瓶颈,薪资飙升。
  4. Linux远程管理工具汇总
  5. 鸿蒙系统智能电视用时间长了会不会卡,电视越用越卡?原来是存储满了 教你解决...
  6. 使用FRP内网穿透实现外网访问局域网并远程连接
  7. 虹膜识别之路(一):深度学习现有CNN下的虹膜识别
  8. 献给新手,如何阅读Linux源码(转)
  9. 异常:javax.xml.ws.WebServiceException: Could not find wsdl:binding operation info for web method sayHi
  10. HTML语言中的car是什么意思,s是什么元素?