同步时钟,异步时钟

news/2024/12/1 13:17:44/文章来源:https://www.cnblogs.com/chip-peace/p/18579692

 synchronous & asynchronous

在静态时序分析中,有一个很重要的概念是同步和异步

如果 launch clock 与 capture clock 有固定的相位差,那就是同步时序

如果两者没有固定的相位差,那就是异步时序

一般情况下,STA 只检查同步时序,不用检查异步时序

同步时序又分为以下几种情况:

a) launch 和 capture 的周期相同:

这种情况最简单,launch clock 发出的数据被一个周期后的capture clock 锁存,setup check 和 hold check 如下图:

 

b) launch 和 capture 的周期不同,且 launch 周期小于 capture 周期

这是典型的快时钟域到慢时钟域,此时有多个上升沿发出的数据可能被同一个capture 上升沿采集到,如下图:

 

那么在这种情况下,STA 工具会选择哪些边沿来做时序分析呢?

首先,launch 的周期是10ns,capture 的周期是 15ns,可以看出每隔30ns形成一个循环,所以只需要考虑30ns 以内的情况,后面的都是无限重复

工具会从这 30ns 内找出最苛刻的时钟边沿来做时序分析,对于 setup 来说,从 10ns 到 15 ns 这组的时序是最严格的,所以工具会选择这组来做 setup check; 而对于 hold, 从 0ns 到 0ns 这组的时序最严格,所以选择这组做 hold check,保证从 0ns 发出的数据不会干扰到capture edge 在 0ns 采集上一组数据

c) launch 和 capture 的周期不同,且 launch 的周期大于 capture 的周期

这是慢时钟域到快时钟域,那么此时又该选择哪些边沿来做时序分析?

 

首先,launch 的周期是 15, capture 的周期是10, 两者的最小共同周期就是 30ns, 而在 30ns 内,对于 setup 最严格的时序是从 15ns 到 20ns 这一组,所以工具会选择这组做 setup check,而对于hold, 最严格的依然是从 0ns 到 0ns, 所以选择这组做 hold check

 

总之,对于 launch 和 capture 周期不同的同步时序电路,只要先找出两者的最小共同周期,然后在这个周期内找到最苛刻的那组时钟沿,就可以快速分析出用来做 setup check 和 hold check 的时钟沿;比如下面这个例子,launch clock 的周期是6ns,capture 的周期是10ns,那么两者的最小周期就是 30ns,在这 30ns 内,最严格的 setup 是从 18ns 到 20ns,而最严格的 hold 依然是从 0ns 到 0ns 。

对于异步时序来说,由于无法确定launch 和 capture 的最小共同周期,各个时钟边沿之间也没有固定的时间差,所以是无法做时序分析的,对于跨时钟域的异步电路,需要在设计阶段就做好防护,采用多级 register、异步 FIFO 等方法确保数据的准确传输。

 
 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python数据爬取处理可视化,手把手全流程教学

这篇博客中,选取openjudge网站上“百练”小组中的用户答题数据,作为材料进行教学目录爬取主页面内容主页面内容提取需求数据爬取数据处理数据分析 网站地址:http://bailian.openjudge.cn/使用到的Python包:requests、pandas、re、BeautifulSoup、time、matplotlib、seaborn…

Nuxt.js 应用中的 render:island 事件钩子

title: Nuxt.js 应用中的 render:island 事件钩子 date: 2024/12/1 updated: 2024/12/1 author: cmdragon excerpt: 在 Nuxt.js 中,render:island 钩子允许开发者在构建“岛屿”HTML之前进行处理和修改。此钩子为实现复杂的客户端交互和动态内容提供了基本支持,特别适合与…

linux 软连接使用

转载请注明出处:在Linux系统中,软连接(Symbolic Link)是一种特殊类型的文件链接,类似于Windows系统中的快捷方式。它允许用户通过一个文件路径访问另一个文件或目录,而不需要拥有原始文件或目录的实际拷贝。软连接是通过文件名来引用文件或目录,而不是通过它们的物理位置…

2024.11多模态学习月报

2024年11月学习月报 SegEarth-OV SegEarth-OV是面向遥感图像的开放词汇语义分割模型。SegEarth-OV的模型架构为CLIP,并且采用SimFeatUp作为上采样器。由于FeatUp中的上采样器和下采样器都是可学习的,所以难以保证HR特征完整。于是在SimFeatUp中引入了一个额外的图片重建损失来…

湖北大学新星杯web-misc---wp from sorin

差一点akweb,算是一个小遗憾 WP----sorin 1\Ezhttp Exp如下:访问:得到flag 2\Robots Leak 直接git-dumper下载后, Git log Git showGit stash list 后pop1查看.flag.exe即可 3\Random_Door 爆破flag{{int(1-100)}}.php利用伪协议php://filter/convert.base64-encode/resour…

exe 安装为 windows服务

下载地址 http://www.nssm.cc/download只有一个exe文件放在 C:\Windows\nssm.exe命令行执行 nssm install

UI自动化基础知识

一、UI自动化测试介绍1、什么是自动化测试概念:由程序代替人工进行系统校验的过程1.1自动化测试能解决的问题?回归测试 (冒烟测试)针对之前老的功能进行测试,通过自动化的代码来实现。 针对上一个版本的问题的回归兼容性测试:web实例化不同的浏览器驱动相当于对不同的浏览器进…

AI大模型系列之一:大模型原理科普(深度好文)

.MathJax, .MathJax_Message, .MathJax_Preview { display: none }AI大模型系列之一:大模型原理科普(深度好文)目录 认识AI大模型家族 AI是什么? 机器学习是什么? 机器学习有哪些分支? 什么是强化学习? 深度学习属于哪一类学习? 生成式AI和深度学习是什么关系? 大语言…

Web自动化002-Web自动化元素定位及浏览器的相关操作

Web自动化002-Web自动化元素定位及浏览器的相关操作Web自动化元素定位及浏览器相关的操作标签=元素1.元素定位首先需要选择要被定位的元素(锁定被操作的元素)然后才能对元素进行具体操作(具体的操作方法) selenium第三方库中提供了两类定位的方法 find_element----->返回…

2024-2025-1 20241314 《计算机基础与程序设计》第十周学习总结

2024-2025-1 20241314 《计算机基础与程序设计》第十周学习总结 作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十周作业这个作业的目标 信息系统 数据库与SQL 人工智能与专家系统 人工神经网络 模拟与…

ElementUI上传多图的操作

一、使用ElementUI上传多图 1.在项目中引入ElementUI的相关组件<el-form-item label="详细图片"><!-- <el-upload:action="api_url+/api/upload.php"list-type="picture-card":file-list="picsUrl":on-success="hand…

十六进制色彩--代码参考表

来源:http://www.allfid.com/control/inpx/color.htm