提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • Slow to Fast Clock Domains?
  • 总结

注意:这里的时钟都是同源的,这是Timing across Clock Domain分析的基础。如果时钟是异步的,那么需要设置set_false_path

Slow to Fast Clock Domains?

Let us examine the setup and hold checks when a path goes from a slower clock domain to a faster clock domain. This is shown in Figure 8-22.

时钟定义:

 create_clock -name CLKM -period 20 -waveform {0 10} [get_ports CLKM]create_clock -name CLKP -period 5 -waveform {0 2.5} [get_ports CLKP]

When the clock frequencies are different for the launch flip-flop and the capture flip-flop, STA is performed by first determining a common base period. An example of a message produced when STA is performed on such a design with the above two clocks is given below. The faster clock is expanded so that a common period is obtained.

Figure 8-23 shows the setup check. **By default**, the most constraining setup edge relationship is used, which in this case is the very next capture edge. Here is a setup path report that shows this.



Notice that the launch clock is at time 0ns while the capture clock is at time 5ns. As discussed earlier, hold checks are related to the setup checks and ensure that the data launched by a clock edge does not interfere with the previous capture. Here is the hold check timing report.

In the above example, we can see that the launch data is available every fourth cycle of the capture clock. Let us assume that the intention is not to capture data on the very next active edge of CLKP, but to capture on every 4th capture edge. This assumption gives the combinational logic between the flip-flops four periods of CLKP to propagate, which is 20ns. We can do this by setting the following multicycle specification:

set_multicycle_path 4 -setup -from [get_clocks CLKM] -to [get_clocks CLKP] -end

The -end specifies that the multicycle of 4 refers to the end point or the capture clock. This multicycle specification changes the setup and hold checks to the ones shown in Figure 8-24. Here is the setup report.




Figure 8-24 shows the hold check - note that the hold check is derived from the setup check and defaults to one cycle preceding the intended capture edge. Here is the hold timing report. Notice that the hold capture edge is at 15ns, one cycle prior to the setup capture edge.



In most designs, this is not the intended check, and the hold check should be moved all the way back to where the launch edge is. We do this by setting a hold multicycle specification of 3.

set_multicycle_path 3 -hold -from [get_clocks CLKM] -to [get_clocks CLKP] -end

The cycle of 3 moves the hold checking edge back three cycles, that is, to time 0ns. The distinction with a setup multicycle is that in setup, the setup capture edge moves forward by the specified number of cycles from the default setup capture edge; in a hold multicycle, the hold check edge moves backward from the default hold check edge (one cycle before setup edge). The -end option implies that we want to move the endpoint (or capture edge) back by the specified number of cycles, which is that of the capture clock. Instead of -end, the other choice, the -start option, specifies the number of launch clock cycles to move by; the -end option specifies the number of capture clock cycles to move by. The -end is the default for a multicycle setup and the -start is the default for multicycle hold.


总结

**

1.首先判断是

  • 快时钟采慢时钟
  • 找出这两个时钟的最大公约数 ,n ( The faster clock is
    expanded so that a common period is obtained.)

设置:

set_multicycle_path n -setup -from [get_clocks CLKM] -to [get_clocks CLKP] -end
set_multicycle_path n -hold -from [get_clocks CLKM] -to [get_clocks CLKP] -end

2.In summary, if a setup multicycle of N cycles is specified, then most likely a hold multicycle of N-1 cycles should also be specified. A good rule of thumb for multi-frequency multicycle path specification in the case of paths between slow to fast clock domains is to use the -end option. With this option, the setup and hold checks are adjusted based upon the clock*
**

STA圣经之: Slow to Fast Clock Domains相关推荐

  1. 《Go语言圣经》练习8.1 clock

    <Go语言圣经>练习8.1 多个server对1个client 题目如下: 练习 8.1: 修改clock2来支持传入参数作为端口号,然后写一个clockwall的程序,这个程序可以同时与 ...

  2. 《Static Timing Analysis for Nanometer Designs》汇总传送门

    文章目录 [第一章 绪论](https://blog.csdn.net/yueguangmuyu/article/details/125721646) [第二章 STA相关概念](https://bl ...

  3. 《静态时序分析实用方法》第八章翻译

    第 8 章 时序验证(Timing Verification) 描述了时序检查,这个各种时序检查是作为各种时序分析的一部分执行.其中包括amongst others - setup.保持和异步恢复和移 ...

  4. 快慢指针类型(Fast Slow pointers)

    Pattern: Fast & Slow pointers, 快慢指针类型 介绍部分来自:链接:https://www.zhihu.com/question/36738189/answer/9 ...

  5. 数字IC设计学习笔记_静态时序分析STA_ STA基本概念

    数字IC设计学习笔记 STA基本概念 1. STA基本概念 2. 时序弧概念 Timing Arc 3. 建立时间和保持时间概念 4. 时序路径概念Timing Path 5. 时钟域概念clock ...

  6. 静态时序分析 第二章 STA概念

    第二章 STA概念 2.1 CMOS逻辑设计(CMOS Logic Design) 2.1.1 基本MOS结构(Basic MOS Structure) 2.1.2 CMOS逻辑门( CMOS Log ...

  7. 静态时序分析(STA)附秋招面试提问

    什么是STA? 静态时序分析(Static Timing Analysis):是分析.调试并确认一个门级系统设计时序性能的方法.检验门级电路的最大延迟,以保证在指定的频率下,能否满足建立时间的要求:检 ...

  8. k64 datasheet学习笔记25--Multipurpose Clock Generator (MCG)

    0.前言 MCG模块为MCU提供了几种可选时钟源.模块包含一个FLL和一个PLL.FLL使用内部或外部参考时钟是可控的,PLL受外部参考时钟控制 模块可以选择FLL或PLL输出时钟,或内/外部参考时钟 ...

  9. 静态时序分析(STA)—— 基本概念

    目录 1.时序弧 1.1.单元延时 1.电平转换延时 2.逻辑门延时 2.建立.保持时间 2.1.建立时间 2.2.保持时间 3.时序路径 4.时钟域(CD) 5.操作条件 参考说明 前面几篇讲述了 ...

最新文章

  1. java文件锁定_如何使用java锁定文件(如果可能的话)
  2. Java String.split()用法小结
  3. 比拼 Kafka , 大数据分析新秀 Pulsar 到底好在哪
  4. 在一个JSP页面中包含另一个JSP页面的三种方式
  5. python如何创建问答窗口_在tkin中创建一个新的单独窗口
  6. python前端界面模板_Python编程flask使用页面模版的方法
  7. 评价微型计算机总线的性能指标,计算机组成原理学习笔记(3):总线
  8. HDU 3916 Sequence Decomposition 【贪心】
  9. 【python】sys.stdout输出不换行
  10. 12.引入依赖项目的时候,如果找不到jar
  11. DAM的内涵正在改变
  12. Jenkins不同job之间传递参数
  13. Flutter仿美团应用开发笔记-入门篇
  14. iOS 点击Application icon加载推送通知Data
  15. win10下标注工具sloth的安装及使用
  16. Reincarnation hdu4622 hash解法
  17. 数据结构实验报告-实验四-实现桶式排序和基于桶式排序的基数排序
  18. Warning: Attempt to present * on * which is already presenting *
  19. matlab hsi颜色空间,RGB与HSI颜色空间互换函数(matlab)
  20. Home Assistant 入门安装

热门文章

  1. 城际铁路列车控制系统
  2. Vulkan 预旋转处理设备方向
  3. Javascript异步编程方法有哪些
  4. 电动机故障诊断——数据预处理
  5. 如何解决“缺失kernelbase.dll”问题?kernelbase.dll的修复问题
  6. png、jpg、gif、webp这些图片格式分别什么时候使用
  7. Oracle 配置Linux环境 ArcGIS Server 64位客户端创建SDE
  8. 腾讯、百度、阿里面试经验
  9. VLSI数字信号处理系统——第九章滤波器和变换中的算法强度缩减
  10. 2022中国碳交易与碳管理国际峰会邀请函