vivado时序约束和优化
0、经验1、即使通过的是同一个LUT6,或者是LUT4延迟都不会一样。2、1、学习进度04:如何科学设计FPGA时序约束基础了解时序分析模型_哔哩哔哩_bilibili 21:14s需要归纳一下建立时间和保持时间的计算。2、相关资料参考视频基础篇05如何科学设计FPGA:VIVADO中的时序约束和分析以及进阶技巧_哔哩哔哩_bilibili升级篇05如何科学设计FPGA:VIVADO中的时序约束和分析以及进阶技巧_哔哩哔哩_bilibili参考文章菜鸟教程的3.3 Verilog 建立时间和保持时间 | 菜鸟教程csdn写的很好的文章目录《时序分析、时序约束和时序收敛》专栏的说明与导航_fpga时序约束与分析目录-CSDN博客第一章时序分析、时序约束和时序收敛1--时序分析、时序约束和时序收敛分别都是什么-CSDN博客3、D触发器的建立时间建立时间setup time和保持时间hold time:建立时间就是时钟触发事件来临之前数据需要保持稳定的最小时间以便数据能够被时钟正确的采样。保持时间就是时钟触发事件来临之后数据需要保持稳定的最小时间以便数据能够被电路准确的传输。slack松弛的在这里是是余量的意思。Tcq的意思是T(clock to q),也就是时钟到Q端花费的时间不叫Tdq是因为值的传递是由时钟驱动的可能data即D变化了时钟没有来值依旧不会变化。Tslack要求到达的时间-实际到达的时间菜鸟教程这一段写的很好得到公式如下Tcq Tcomb Tsu Tclk Tskew 1如果使用Tslack来做表达那么就是Tslack Tcq Tcomb Tsu Tclk Tskew更基础推导详见视频04:如何科学设计FPGA时序约束基础了解时序分析模型_哔哩哔哩_bilibili如果这个还是不太好理解可以从基础一点去推导这个公式:数据到达时间Tclk1TcqTcomb数据要求时间Tclk2Tclk-Tsu又因为数据到达时间 数据要求时间Tclk1TcqTcomb Tclk2Tclk-Tsu推得TcqTcomb Tsu Tclk2Tclk-Tclk1有因为时钟偏移TskewTclk2- Tclk1最后得到公式 TcqTcomb Tsu Tclk TskewTclk 是时钟周期。强行理解这个公式就是寄存器Tcq组合逻辑延迟Tcomb建立时间Tsu 要在一个时钟周期内完成由于有时钟偏移就是要在一个时钟周期时钟偏移内完成。4、D触发器的保持时间保持时间余量Tslack保持时间应满足数据到达时间 要求到达时间Tclk1 Tcq Tcomb T Tclk2 T Thd推得 Tcq Tcomb Tskew Thd强行理解就是因为时钟周期大T消掉了数据路径上的Tcq和组合逻辑延迟Tcomb 应该大于 时钟周期相关的Tskew和Thd这样数据才能维持到保持时间之后。5、同步时钟和异步时钟是同一个时钟的倍频或者别的关系或者说是一个MMCM一个PLL出来的一个源头的都是同步时钟。否则为异步时钟。我看到评论区有个说法我觉得是对的同步时钟就是知道其中的一个时钟什么时候上升沿我就能知道另一个什么时候上升沿这样就能做时序分析。异步时钟哪怕两个时钟的频率和相位都相等你也不知道它什么时候上升沿。UP主说MMCMMixed-Mode Clock Manager和PLLPhase-Locked Loop都是时钟管理单元MMCM的调频能力强PLL的调相能力强。6、vivado时序进入时序约束界面理论1、vivado中默认所有的时钟都是有关系的都做时钟约束2、如果有异步时钟需要进行异步时钟约束设置源时钟建立源时钟输入时钟的参数时钟周期时钟周期和频率互为反比一个增加一个就减少1Ghz对应1ns那么时钟周期增加10倍变成10ns时钟频率就会减少10倍变成0.1Ghz。上升沿和下降沿一般按照占空比50%。然后下图点击OK后摁住ctrls保存即可。随后会生成约束文件如果要修改约束的时钟频率修改约束文件里面的tcl脚本即可。如果我想修改时钟周期为800Mhz只需要按照下图进行操作要修改时钟频率要改变时钟的下降沿。重新布局布线查看建立时间余量最小min是分析建立时间最大max是分析保持时间。min_max默认两个都分析。其余项保持默认然后点击OK即可。一般图中两项都是正数即可说明都是满足情况的点击即可查看最坏的时序也就是建立时间余量最少的情况。参数的解释1.Name (路径名称)解释这列显示时序路径的名称用于标识具体的时序路径。在设计中每条路径都会有一个唯一的名称。举例Path 1Path 2等。假设有一个时序路径是从寄存器reg1到寄存器reg2则可能命名为Path 1。这样便于开发人员或工具对时序进行分析和查看。2.Slack (时序裕度)解释时序裕度是指路径的实际延迟与设计所要求的时序之间的差距。它表示时序是否满足要求。如果时序裕度为负表示时序违例即信号传输的时间超出了时钟周期。举例假设某路径的实际延迟为 8.5ns而要求的时序为 10ns那么时序裕度为10ns - 8.5ns 1.5ns此时时序满足裕度为正。如果实际延迟为 12ns时序裕度为10ns - 12ns -2ns这表示时序违例。3.Levels (应该指的是逻辑门的级数)解释级别表示路径中涉及的寄存器或逻辑单元的层数。路径中级别越高表示信号从源寄存器到目标寄存器的传播过程中经过了更多的逻辑门或触发器。举例如果路径从寄存器reg1直接连接到寄存器reg2则该路径的级别为 2因为有两个寄存器。如果路径从reg1到logic_gate1再到reg2则该路径的级别为 3因为路径经过了一个逻辑门。4.Routes (布线数量)解释该列显示信号从源到目的的布线数量通常表示信号传播路径的复杂度。布线数量高通常意味着路径复杂可能影响时序延迟。举例假设路径Path 1涉及两段布线连接reg1到reg2则布线数量为 2。如果路径经过多次逻辑单元涉及多个布线段则布线数量可能会增加如布线数量为 5。5.High Fanout (高扇出应该是1个信号被分成了几个)解释表示一个信号源连接到多个接收端的情况。高扇出意味着一个信号源驱动多个寄存器或逻辑单元。扇出较高的路径可能会引起较大的时序延迟因为信号需要传播到多个地方。举例如果一个信号源signal_A驱动了 3 个寄存器reg1、reg2和reg3那么该路径的高扇出为 3。如果信号源驱动了 5 个寄存器则高扇出为 5。6.From (路径来源)解释表示时序路径的起始点。通常是一个寄存器或逻辑单元表示信号从哪里开始传播。举例假设信号从寄存器reg1开始传播那么From列会显示reg1。如果路径的起始点是组合逻辑门logic_gate1那么From列显示logic_gate1。7.To (路径目的地)解释表示时序路径的终点通常是另一个寄存器或逻辑单元表示信号最终传播到哪里。举例假设信号传播到寄存器reg2那么To列会显示reg2。如果信号最终到达逻辑单元logic_gate2那么To列显示logic_gate2。8、寄存器的C端和D端在图中的某些路径中你可能会看到类似以下的情况Count_module_u0/cnt_value_reg[7]/CC端表示这是寄存器的时钟输入。Count_module_u0/cnt_value_reg[7]/DD端表示这是寄存器的数据输入端。综合举例假设有一条时序路径路径名称为Path 1其从Count_module_u0/cnt_value_reg[7]寄存器reg7开始到r_led_reg寄存器r_led结束。假设这条路径的时序裕度为 1.5ns路径级别为 2布线数量为 3扇出为 4信号从reg7到r_led其路径的各个字段将是Name: Path 1Slack: 1.5nsLevels: 2Routes: 3High Fanout: 4From:Count_module_u0/cnt_value_reg[7]To:r_led_reg通过这些字段Vivado能够帮助你了解每条路径的时序信息识别潜在的时序问题并进行优化。7、细看查看报告双击查看时序路径详细情况这个报告展开如下。查看每一个阶段增加的时延源时钟路径以下图为例时钟进入IBUF内部之后偏移增加了1.382ns,这个时候整个路径时延为01.382时钟在IBF内部经过了一连串逻辑之后输出时偏移增加了1.824ns,这个时候整个路径时延为01.3821.8243.206ns数据路径FDRE是Xilinx FPGA器件中的一种基础触发器类型全称为Flip-flop,D-type, synchronousReset, clockEnable即带同步复位和时钟使能的D触发器。LUT4LUT6是组合逻辑综合出来的查找表。net是线网连接逻辑的时延。数据路径Data Path通常指的是信号从一个寄存器Flip-Flop或触发器的Q端输出端出发经过组合逻辑电路最终到达下一级寄存器的D端输入端的传播路径。前面的Incr对于FDRE来说是C到D端的延迟如下图的0.443。如下图的对于LUT来说是固有延迟物理特性如下图的0.105.由于线路是并行的所以我们其实只需要关心延时最大的如下图的6.641ns的线路然后如果需要优化对其进行优化即可。目的时钟路径总结根据报告能够看出路径的时间裕度8.149ns往下能看到数据路径的数据实际到达目标寄存器的时间是6.641ns,此时时钟到达目标寄存器的时间是14.791ns两者相减也能得到时间裕度8.149ns8、约束衍生时钟和异步时钟需要再去看视频05如何科学设计FPGA:VIVADO中的时序约束和分析以及进阶技巧_哔哩哔哩_bilibili从大概1小时的时候开始

相关新闻

在闲鱼上怎么挣米?

在闲鱼上怎么挣米?

目录: 一、发布流程 二、货物源头 三、如何增加好评数量 1、各行业数据查询 2、综合类货源网站 3、垂直类货源站点 4、产业带类目 四、虚拟服务零成本赚米 1、七夕蛤蟆与布谷鸟 2、非洲祝福 一、发布流程 1)寻找货源:在阿里巴巴、…

2026/10/13 17:04:01 阅读更多 →
halcon 破解 学习 下载安装教程(2022版)

halcon 破解 学习 下载安装教程(2022版)

「101【Halcon22.11】破解版教程」 /~98503Zpjof~:/ 链接:https://pan.quark.cn/s/e9fb995008b81、解压 halcon-22.11.1.0-x64-win64.zip2、双击 som.exe打开网页,关闭弹窗选择 AVALIABLE,显示可安装的软件安装之前,需进行一些设置…

2026/10/13 17:07:13 阅读更多 →
基于改进MP-GWO算法的无人机集群协同航迹规划

基于改进MP-GWO算法的无人机集群协同航迹规划

1. 项目概述在无人机集群协同作业领域,航迹规划一直是核心难题。传统方法往往面临计算复杂度高、动态环境适应性差等问题。我们团队基于改进的MP-GWO(多策略并行灰狼优化)算法,开发了一套适用于多智能体无人机系统的协同航迹规划方…

2026/10/13 17:49:24 阅读更多 →

最新新闻

Linux调度器入门:从CFS到负载均衡,理解CPU时间分配与性能排查

Linux调度器入门:从CFS到负载均衡,理解CPU时间分配与性能排查

一年前我接手一个在线服务时遇到过一件怪事:机器负载不高,CPU 总占用也只有 30% 上下,可接口的 P99 延迟动不动就飙到几百毫秒。查了半天网络、数据库、锁,最后才发现问题出在 Linux 调度器身上——某个 CPU 密集型的后台任务把核…

2026/10/14 21:55:04 阅读更多 →
Java LinkedList源码深度解析:双向链表设计哲学与性能真相

Java LinkedList源码深度解析:双向链表设计哲学与性能真相

1. 项目概述:为什么一个链表值得花三天时间逐行读透?“JDK源码解析——LinkedList”这个标题看起来平平无奇,甚至有点老派。但如果你真打开java.util.LinkedList的源码文件,从第1行package java.util;开始往下读,到第3…

2026/10/14 21:55:04 阅读更多 →
Flink Checkpoint机制深度解析:原理、调优与故障排查

Flink Checkpoint机制深度解析:原理、调优与故障排查

1. 项目概述:为什么“checkpoint”这个词在Flink现场总被反复提起“Flink checkpoint杂谈”——光看标题,你可能以为这是篇技术随笔,但实际它背后站着的是整个流处理系统稳定运行的命门。我在某公司做实时数仓架构支撑的三年里,几…

2026/10/14 21:55:04 阅读更多 →
温湿度阈值模型生产落地:调度框架与三层架构实践复盘

温湿度阈值模型生产落地:调度框架与三层架构实践复盘

搞数据分析或者物联网数据接入的朋友,应该都有过这种体验:模型在离线脚本里跑得飞飞起,准确率看着也不错,可一旦要接入业务系统、定时执行、还得让运维同学能接手维护,就开始到处冒烟。最近我正好把一个温湿度阈值模型…

2026/10/14 21:55:04 阅读更多 →
微博评论情感分析实战:从爬虫清洗到BERT+CNN微调

微博评论情感分析实战:从爬虫清洗到BERT+CNN微调

简介:本资源是一套完整的微博中文评论情感分析实战项目,面向Python初学者及NLP入门学习者,聚焦社交媒体文本挖掘与情感倾向判别这一典型应用场景。项目基于20万条真实微博评论数据,提供从数据清洗、jieba分词、停用词过滤&#xf…

2026/10/14 21:55:04 阅读更多 →
URP中HDR贴图全链路实战:从导入到Shader采样与性能优化

URP中HDR贴图全链路实战:从导入到Shader采样与性能优化

1. 为什么普通贴图做不出真实光照做Unity渲染的人,迟早会在某个下午盯着一个半成品场景发愁:明明贴图分辨率够高、模型没毛病、光照方向也对,但渲染结果就是“塑料感”十足——高光发灰、暗部死黑、Bloom效果怎么调都像一层廉价雾。这时候如果…

2026/10/14 21:54:01 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →