FPGA时序分析与约束(4)——时序分析,时序约束,时序收敛

news2025/1/22 16:57:59

一、前言

        在之前的文章中,我们介绍了组合电路的时序和时序电路的时序问题,之后又把理想化的时钟变成了实际的时钟考虑了进来,在阅读本文之前,强烈推荐优先阅读本系列之前的文章,毕竟这是我们继续学习的基础,前文链接:

FPGA时序分析与约束(3)——时钟不确定性

接下来我们将介绍3个在解决FPGA时序问题时经常出现的词,分辨时序分析,时序约束,时序收敛的含义。 

二、时序分析

1、什么是时序分析

        从硬件描述语言(HDL)编写的RTL设计代码生成网表(逻辑门之间的配线信息)的过程称之为逻辑综合。最终决定逻辑综合所生成的电路网表在FPGA中以何种方式实现的两道工序成为布局和布线。FPGA内部规则地摆放着大量设计好的电路和电路间配线,用于实现用户设计。所谓的FPGA的设计流程,就是决定专为FPGA综合生成的电路摆放在哪里,电路之间以什么样的方式连接的过程。

        为了保证设计好的电路能够正常工作,不单要保证功能(逻辑)正确,还必须要保证时序正确。时序分析本质上就是一种时序检查,目的是检查设计中所有的D触发器是否能够正常工作,也就是检查D触发器的同步端口(数据输入端口)的变化是否满足建立时间要求(Setup)和保持时间要求(Hold);检查D触发器的异步端口(异步复位端口)的变化是否满足恢复时间要求(Recovery)和移除时间要求(Removal)。

2、时序分析分类

        时序分析可以分成2种:静态时序分析(STA)和动态时序分析。

2.1 动态时序分析

        将布局布线生成的布线延迟信息反标注到门级网表中进行仿真,检查是否存在时序违例。此时的仿真包括门延迟和布线延迟信息,能够较好反应芯片的实际工作情况。因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题。

2.2 静态时序分析

        采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。

        由于基于仿真的方法分析每个逻辑值并进行动态时序分析的方法太过耗时,所以FPGA的性能评估主要采用的是静态时序分许(Static Timing Analysis,STA)。

三、时序约束

        理解了时序分析,时序约束也就不难理解了。我们在进行静态时序分析之前需要撰写基本的时序约束文件,告知时序引擎一些必要的信息(比如时钟,输入输出延时等)。若没有正确的时序约束,那么时序分析的结果是没有意义的。

        简单来说,时序约束就是我们设计者对于系统的时序要求,通过约束文件的方式来告知综合工具,综合工具才能以此为依据进行电路综合,布局布线。毕竟在FPGA中,“高速通道”是有限的,如果一条路线对于时序没有高要求,那完全可以采用“低俗通道”来替代实现

四、时序收敛

        时序约束描述了电路中的时序要求和时序路径,而实际电路中的各种时钟和信号延迟会影响时序路径的实际延迟。如果时序约束和实际电路之间的延迟不能匹配,会导致电路中的时序错误。

        时序收敛过程可以通过FPGA设计工具进行自动化分析和优化。在进行时序分析时,设计工具会基于时序约束和设计的布局进行路径分析,计算每个时序路径的最长延迟。如果某个时序路径的延迟超过了时序约束,则需要进行手动优化,如优化布局,调整时钟频率等。如果时序路径的延迟小于时序约束,则可以将该时序路径标记为无误差,继续进行后续的时序分析和优化。时序收敛是基于实际电路和时序约束之间的匹配,它是FPGA设计中非常重要的一个环节。一个成功的时序收敛不仅会确保电路的正确性,还可以提高电路的运行速度和可靠性。

        简单说就是时序收敛是我们根据EDA工具给出的时序报告,不断优化完善我们时序问题的过程。

五、总结

        本文中我们学习了时序分析,时序约束,时序收敛的含义,我们主要采用的时序分析方法是静态时序分析法,在后文中,我们将正式开始介绍如何进行时序分析。

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

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

相关文章

Elasticsearch 8.X 可以按照数组下标取数据吗?

1、线上环境问题 老师、同学们,有人遇到过这个问题么,索引中有一个 integer 数组字段,然后通过脚本获取数组下标为1的值作为运行时字段,发现返回的值是乱的,并不是下标为1的值, 具体如下: DELETE my_index …

36岁男子自称被裁,曾是前500强公司市场总监,最后接受做外买

(点击即可收听) 最近有一个新闻,上了头条,36岁男子自称被裁,是前500强公司市场总监,一年没找到工作,以前不信年龄是道坎 以为自己的经验和履历,能在找到一份相匹配的工作不成问题 但是现实却很残酷,一年后,仍然没有找到对口的工作,即使降低了薪资标准,可依旧找不到 都说疫情前难…

逻辑回归Logistic

回归 概念 假设现在有一些数据点,我们用一条直线对这些点进行拟合(这条直线称为最佳拟合直线),这个拟合的过程就叫做回归。进而可以得到对这些点的拟合直线方程。 最后结果用sigmoid函数输出 因此,为了实现 Logisti…

3D视觉测量:形位公差 面对面垂直度(附源码)

文章目录 0. 测试效果1. 基本内容2. 实现方法2. 代码实现3. 参考文章目录:3D视觉测量目录微信:dhlddxB站: Non-Stop_0. 测试效果 1. 基本内容 垂直度用于描述被测要素相对基准(面/轴)的垂直(90)程度。是一个表面或轴线与一个基准面(通常是垂直于图纸纸面的一个面)之间的…

Leetcode 16.07 最大数值

编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。 示例: 输入: a 1, b 2 输出: 2 我的答案: 为了找出两个数中的较大者,而不使用比较或条件语句,我们可以…

Linux常用命令——cupsdisable命令

在线Linux命令查询工具 cupsdisable 停止指定的打印机 补充说明 cupsdisable命令用于停止指定的打印机。 语法 cupsdisable(选项)(参数)选项 -E:当连接到服务器时强制使用加密; -U:指定连接服务器时使用的用户名; -u&#…

【无公网IP内网穿透】异地远程访问本地SQL Server数据库

目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内网穿透的注册 3.本地网页发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 1.前言 数据库的重要性相信大家…

jdk-8u371-linux-x64.tar.gz jdk-8u371-windows-x64.exe 【jdk-8u371】 全平台下载

jdk-8u371 全平台下载 jdk-8u371-windows-x64.exejdk-8u371-linux-x64.rpmjdk-8u371-linux-x64.tar.gzjdk-8u371-macosx-x64.dmgjdk-8u371-linux-aarch64.tar.gz 下载地址 迅雷云盘 链接:https://pan.xunlei.com/s/VNdLL3FtCnh45nIBHulh_MDjA1?pwdw4s6 百度…

uni-app之android离线打包

一 AndroidStudio创建项目 1.1,上一节演示了uni-app云打包,下面演示怎样androidStudio离线打包。在AndroidStudio里面新建空项目 1.2,下载uni-app离线SDK,离线SDK主要用于App本地离线打包及扩展原生能力,SDK下载链接h…

2023开学礼新疆理工学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》许少辉新财经理工

2023开学礼新疆理工学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》许少辉新财经理工

GraalVM Community Edition 22.3.3

https://github.com/graalvm/graalvm-ce-builds/releases/ 按需下载 https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.3/graalvm-ce-java11-windows-amd64-22.3.3.ziphttps://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.3/nat…

山西电力市场日前价格预测【2023-09-03】

日前价格预测 预测明日(2023-09-03)山西电力市场全天平均日前电价为316.78元/MWh。其中,最高日前电价为405.32元/MWh,预计出现在19: 15。最低日前电价为249.46元/MWh,预计出现在12: 15。 价差方向预测 1: 实…

公司文件数据防泄密软件——「天锐绿盾透明加密防泄密系统」

天锐绿盾透明加密防泄密系统是一款利用驱动层透明加密技术实现电子文件安全加密的防护产品。该系统集成了密码学、访问控制和审计跟踪等技术手段,对企事业单位电子文件的存储、访问、传播和处理过程进行全方位防护,从源头上保障数据安全和使用安全。 PC访…

springboot web开发登录拦截器

在SpringBoot中我们可以使用HandlerInterceptorAdapter这个适配器来实现自己的拦截器。这样就可以拦截所有的请求并做相应的处理。 应用场景 日志记录,可以记录请求信息的日志,以便进行信息监控、信息统计等。权限检查:如登陆检测&#xff…

.NET之后,再无大创新

回想起来,2001年发布的.NET已经是距离最近的一次软件开发技术的整体创新了,后续的新技术就没有在各个端都这么成功的了。.NET是Windows平台下软件开发技术的巨大变革。在此之前,有VB、C(MFC)、JSP,在此之后…

cms系统稳定性压力测试出现TPS抖动和毛刺的性能bug【杭州多测师_王sir】

一、并发线程数100,分10个阶梯,60秒加载时间,运行1小时进行压测,到10分钟就出现如下 二、通过jstat -gcutil 16689 1000进行监控

go-zero jwt 鉴权快速实战

前面我们分享了 go-zero 的快速实战以及日志组件的剖析,本次我们来实战使用 go-zero jwt 鉴权 本次文章主要是分享关于 go-zero 中 jwt 的使用方式,会以一个 demo 的方式来进行实战,对于使用 goctl 工具以及安装细节就不在赘述,有…

计算机图形软件(三)6-5 一个完整的OpenGL程序、OpenGL的出错处理

一个完整的OpenGL程序 给出构成一个完整程序的所有部分之前还是有一些任务需要完成。对于显示窗口,我们可以选择背景颜色。我们需要组织一个过程来包含创建显示图形所必需的OpenGL 函数。 要像图3.2 那样使用 RCB 颜色值将显示窗口的背景颜色设定为白色可以使用 Ope…

报错处理:Disk space full

报错环境: Linux 具体报错: No space left on device,磁盘空间已满 排错思路: 当磁盘空间耗尽时,会出现磁盘空间已满的错误。这可能是由于磁盘上的文件过多或者某个文件系统占用了过多磁盘空间。 解决方法:…

Opencv图像暗通道调优

基于雾天退化模型的去雾算法,Opencv图像暗通道调优,(清华版代码)对普通相片也有较好的调优效果,相片更通透。 结合代码实际运行效果、算法理论模型、实际代码。我个人理解,实际效果是对图像的三个颜色通道…