静态时序分析Static Timing Analysis4——多时钟域和多时钟时序检查

news2025/1/24 14:32:43

文章目录

  • 前言
  • 一、多时钟域时序分析
    • 1、慢时钟域到快时钟域
      • 1.1 建立时间检查
      • 1.2 保持时间检查
      • 1.3 多周期检查
    • 2、快时钟域到慢时钟域
      • 2.1 建立时间检查
      • 2.2 保持时间检查
      • 2.3 合理的约束
    • 3、总结
  • 二、多时钟
    • 1、整数倍关系
    • 2、非整数倍关系
  • 三、相位移动


前言

2023.4.12 这里讲的多时钟域和多时钟都是指的同步电路,异步电路是不进行STA的,如果是CDC的话,直接就set_false_path


一、多时钟域时序分析

1、慢时钟域到快时钟域

在快时钟域的第一个上升沿检查是最为严格的

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]

在这里插入图片描述

在这里插入图片描述

1.1 建立时间检查

在这里插入图片描述
在这里插入图片描述

1.2 保持时间检查

在这里插入图片描述
在这里插入图片描述

1.3 多周期检查

-end:指定了多周期4是用于终点(endpoint)或捕获时钟的
在快时钟的第四个周期检查的好处:刚好是慢时钟的第一个周期,数据稳定了

set_multicycle_path 4 -setup -from [get_clocks CLKM] -to [get_clocks CLKP] -end
 
set_multicycle_path 3 -hold -from [get_clocks CLKM] -to [get_clocks CLKP] -end  //把hold时间检查,挪到前面,在0ns检查

在这里插入图片描述

在这里插入图片描述

2、快时钟域到慢时钟域

在这里插入图片描述

2.1 建立时间检查

从setup4时钟沿发送数据,开始检查,是最严格的,留给组合逻辑的时间最短

在这里插入图片描述
在这里插入图片描述

2.2 保持时间检查

在这里插入图片描述
在这里插入图片描述

2.3 合理的约束

-start:针对的是起点的时钟
由于前面对建立时间的约束太严格了,所以稍微放宽松些

set_multicycle_path 2 -setup -from [get_clocks CLKP] -to [get_clocks CLKM] -start
set_multicycle_path 1 -hold -from [get_clocks CLKP] -to [get_clocks CLKM] -start

在这里插入图片描述

3、总结

  • end和start选项:-start指作用在前面的时钟,-end是后面
  • 要确定想要检查的周期边沿,hold是在setup的基础上向前移动一个周期
  • 和上一节讲的特殊路径检查中多周期路径检查的区别:虽然都用到了set_multicycle_path来约束路径,但是前者是同一个时钟,只是组合逻辑消耗了多个周期;这里是两个时钟频率不同造成的多周期差异,是不同的时钟

二、多时钟

1、整数倍关系

多个时钟,找最小公倍数的部分,下面就是20ns
在这里插入图片描述
最严格的检查就是在15ns开始
在这里插入图片描述
在这里插入图片描述

hold time则是从0开始检查

在这里插入图片描述

2、非整数倍关系

找最小公倍数40ns

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

在这里插入图片描述

从CLKM到CLKP:

  • 24ns发送,25ns接收是最严格的,如果这种情况都能满足时序要求,说明其他情况也可以。
  • 保持时间依旧是0ns时刻开始检查。

从CLKP到CLKM:

  • 15ns到16ns去检查建立时间
  • hold从0开始检查
    在这里插入图片描述

三、相位移动

create_clock -period 2.0 -waveform {0 1.0} [get_ports CKM]
create_clock -period 2.0 -waveform {0.5 1.5} [get_ports CKM90]

在这里插入图片描述

这种情况下,只有1/4个周期,常常难以满足建立时间要求
0开始,0.5ns检查

在这里插入图片描述
在这里插入图片描述

但是对于保持时间,有点类似前面的半周期路径,因此可以很容易满足
2ns开始,0.5ns检查

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

干货满满!MES生产制造管理全流程分析

阅读本文您将了解:1.什么是MES生产管理流程;2.MES生产管理流程具体步骤;3.实施MES生产管理流程优势;4.MES生产管理流程中可能会遇见的问题。 一、什么是MES生产管理流程 MES生产管理系统(又称制造执行系统&#xff0…

Java开发 - 公共字段的自动填充

前言 如果说Java开发中有什么是让人很烦的一件事,那一定是无尽的填充字段,本篇作为观众瑰宝系列第二篇,将带来公共字段填充相关的知识点,学完此篇,让你摆脱公共字段填充带来的麻烦,节省代码,降…

定时任务:从Timer、STPE、Quartz 到 XXL-JOB

java.util.Timerjava.util.concurrent.ScheduledThreadPoolExecutor 简称STPEQuartzXXL-JOB 基本套路 定时任务基本上都是在一个while(true)或for(;;)死循环中(每次循环判断定时程序是否终止或暂停),从任务存放的地(可以是内存的…

电脑重装系统后会怎样?

​有小伙伴的电脑系统运行缓慢卡顿,现在想通过重装系统来解决问题。咨询电脑重装系统会怎么样对系统有影响吗,现在小编就带大家看看电脑重装系统后会怎样。 方法/步骤: 一、电脑重装系统会怎么样 1、我们的电脑重装系统后,电脑…

Java面试题总结 | Java基础部分(持续更新)

Java基础 文章目录Java基础一个Java文件里可以有多个类吗(不含内部类)?创建对象的方法面向对象和面向过程简述自动装箱拆箱Java代码块执行顺序java中的基本数据类型对应的字节数包装类型和基本数据类型的场景java中的关键字分类final关键字st…

【微信小程序】小程序基础入门01

😉博主:初映CY的前说(前端领域) ,📒本文核心:微信小程序的入门介绍 【前言】小程序是一种不需要下载、安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也实现…

Flink 优化 (三) --------- 反压处理

目录一、概述1. 反压的理解2. 反压的危害二、定位反压节点1. 利用 Flink Web UI 定位2. 利用 Metrics 定位三、反压的原因及处理1. 查看是否数据倾斜2. 使用火焰图分析3. 分析 GC 情况4. 外部组件交互一、概述 Flink 网络流控及反压的介绍:https://flink-learning.…

threejs-后期通道效果汇总

文章目录前言后期处理通道汇总简单通道效果FilmPassDotScreenPassBloomPassUnrealBloomPassOutlinePassGlitchPassHalftonePass高级通道效果掩码效果MaskPass景深效果 BokehPass景自定义效果 ShaderPass总结前言 Threejs提供了很多后期处理通道,配合 THREE.EffectC…

【并发编程Python】一文了解Python并发编程,协程、线程、进程

并发编程简介和一些前缀知识 并发编程是使得程序大幅度提速的。在并发编程中,程序可以同一时间执行多个任务,这有助于提高程序的吞吐量和响应时间。并发编程设计的主要概念包括线程、锁、同步、信号量、进程间通信等。 前缀知识: IO&#x…

信息系统项目管理师第四版知识摘编:第22章 组织通用治理​

第22章 组织通用治理​ 组织治理是协调组织利益相关者之间关系的一种制度安排,目标是为了确保组织的高效决策,实现利益相关者之间的利益均衡,提高组织的绩效,确保组织运行的可持续发展。​ 22.1组织战略​ 组织战略是组织高质量…

一文读懂:低代码开发平台对企业效益有什么作用?

一文读懂:低代码开发平台对企业效益有什么作用? 近年来,企业数字化转型的需求越来越迫切,但面临着IT人才不足、成本高昂等痛点问题,于是零代码平台应运而生,成为企业数字化转型的重要工具。 市面上的零代…

基于支持向量机SVM的脑部肿瘤识别,脑电波样本熵提取

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的的脑部肿瘤识别分类预测 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它…

Spring boot+Vue博客平台:文章列表展示、文章分类与标签管理模块实现

本文将详细介绍如何实现博客平台中的文章列表展示、文章分类与标签管理功能,包括前端的Vue组件设计和后端的Spring Boot接口实现。在阅读本文后,您将了解如何设计和实现高效、易用的文章列表展示、文章分类与标签管理功能。 一、文章列表展示 1.设计思…

电脑蓝屏错误MACHINE-CHECK-EXCEPTION重装系统教程

电脑蓝屏错误MACHINE-CHECK-EXCEPTION重装系统教程分享。最近有用户电脑遇到了蓝屏问题,正常使用电脑的时候常常会出现了蓝屏错误代码“MACHINE-CHECK-EXCEPTION”。那么遇到这个问题要怎么去进行系统的重装呢?来看看以下的具体操作方法教学吧。 准备工作…

JVM/GC/CMS

CMS (Concurrent Mark Sweep) jdk1.4后期版本开始引入的新gc算法ParNew(新生代) CMS(老年代)组合使用使用标记-清除算法目标:适合于B/S等对响应时间要求高的场景缺点:运行结束产生大量空间碎片缺点:由于分配给用户使用的老年代空间不足造成…

一文快速回顾 Servlet、Filter、Listener

什么是Servlet? 前置知识: Web 服务器:可以指硬件上的,也可以指软件上的。从硬件的角度来说, Web 服务器指的就是一台存储了网络服务软件的计算机;从软件的角度来说, Web 服务器指的是一种软件…

使用codon加速你的python程序

使用codon加速你的python程序 作为高性能 Python 编译器,Codon 可将 Python 代码编译为本机机器代码,而无需任何运行时开销。在单线程上,Python 的典型加速大约为 10-100 倍或更多。Codon 的性能通常与 C/C 的性能相当。与 Python 不同&#…

Three.js教程:第一个3D场景

推荐:将NSDT场景编辑器加入你3D工具链其他工具系列:NSDT简石数字孪生下面的代码完整展示了通过three.js引擎创建的一个三维场景,在场景中绘制并渲染了一个立方体的效果,为了大家更好的宏观了解three.js引擎, 尽量使用了…

【linux】进程和线程的几种状态及状态切换

文章目录一、进程的状态1.1 进程的三种状态1.2 三种状态转换图1.3 三种状态之间的转换1.4 linux下的进程进程状态二、线程的状态三、总结一、进程的状态 1.1 进程的三种状态 进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进…

安装spacy+zh_core_web_sm避坑指南

目录 一、spacy简介 二、安装spacy 三、安装zh_core_web_sm 四、安装en_core_web_sm 五、效果测试 5.1 英文测试 5.2 中文测试 一、spacy简介 spacy是Python自然语言处理(NLP)软件包,可以对自然语言文本做词性分析、命名实体识别、依赖…