时序分析笔记

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

目录

前言

一、周期约束

二、建立时间和保持时间

三、时序路径

四、时序模型


前言

约束文件笔记,傅里叶的猫的视频。


一、周期约束

时序约束就是告诉软件输入从那个引脚输入信号,输入信号要延迟多少时间,时钟周期是多少。

让布局布线后的电路能够满足需求。不加时序约束,软件就无法得知时钟周期是多少,无法提供时序警告的功能。

两个概念:
发起端/发起寄存器/发起时钟/发起沿:指的是产生数据的源端

接收端/接收寄存器/捕获时钟/捕获沿:指的是接收数据的目的端

二、建立时间和保持时间

建立时间就是在上升沿,数据保持不变的最小时间。保持时间就是在上升沿来到后,数据保持不变的最小时间。不满足这两个时间就会发生时序违例。

亚稳态是指,收端寄存器没能够满足建立时间和保持时间,导致输出不稳定的情况。

建立时间和保持时间由器件特性决定,当选择了FPGA,那么器件就确定好了。

可以到对应的AC和DC手册里查看。

三、时序路径

四类路径,片间路径(1和3),片内路径(2和4)。

对于时序路径,需要关注的是起点和终点。

四、时序模型

一个完整的时序路径包括,源时钟路径、数据路径、目的时钟路径。

源时钟路径:指的是时钟信号从其源头(如时钟发生器、PLL输出或外部晶振)到目标寄存器(如触发器的时钟输入端)的完整传播路径。直接影响建立时间(Setup Time)和保持时间(Hold Time)的计算。

数据路径:是指数据信号从一个寄存器的输出端(发送寄存器)传输到另一个寄存器的输入端(接收寄存器)的完整路径。它是时序分析的核心对象之一,直接决定了数据能否在时钟的有效沿(如上升沿或下降沿)到达目标寄存器,并满足建立时间(Setup Time)和保持时间(Hold Time)**的要求。

目的时钟路径:(或称为捕获时钟路径)是指时钟信号从时钟源(如晶振、PLL输出)到捕获寄存器(即接收数据的寄存器)时钟输入端(CLK引脚)的完整传播路径。它是时序分析的关键组成部分,直接影响建立时间(Setup Time)和保持时间(Hold Time)的裕量计算。

该时序模型的要求为

Tclk ≥ Tco + Tlogic + Trouting + Tsetup - Tskew

其中,Tco为发端寄存器时钟的输出时间;Tlogic为组合逻辑延迟;Trouting为两级寄存器之间的布线延迟;Tsetup为收端寄存器建立时间;Tskew为两级寄存器的时钟歪斜,其值等于时钟同边沿到达两个寄存器时钟端口的时间差;Tclk为系统所能达到的最小时钟周期。

简单来说就是,这个时序模型能够正常工作的要求是,从发端时钟上升沿开始,到这个时钟周期结束,数据能够到达接收端寄存器,也就是系统的时钟周期要大于发端寄存器产生数据和接收端寄存器获得上升沿的时间,这个时间不包括保持时间,也就是说满足这个要求,接收端寄存器未必能够正常获取数据。

skew分为两种,positive skew和negative skew,其中positive skew见下图,这相当于增加了后一级寄存器的触发时间。就是后一级寄存器触发的时间晚于发端寄存器。

这个时钟歪斜应该是同一个时钟到达不同寄存器产生的。

但对于negative skew,则相当于减少了后一级寄存器的触发时间,如下图所示。

就是接收寄存器采集数据的时间提前了,和发端寄存器的时钟相比。

发送端寄存器产生的数据,数据经过Tco、Tlogic、Trouting后到达接收端,同时还要给接收端留出Tsetup的时间。而时钟延迟了Tskew的时间。

因此有:

Tdata_path + Tsetup <= Tskew + Tclk

Tdata_path=Tco+Tlogic+Trouting

对于同步设计Tskew可忽略(认为其值为0),因为FPGA中的时钟树会尽量保证到每个寄存器的延迟相同。

保持时间:用于确保寄存器能够正确采样和存储数据。它定义了在时钟信号的有效边沿(如上升沿或下降沿)之后,输入数据必须保持稳定的最短时间。如果数据在保持时间内发生改变,可能导致寄存器进入亚稳态(Metastability)或捕获错误值,最终引发电路功能故障。

因为寄存器获取数据时需要时间的。

reg2在边沿2时刻刚刚捕获reg1在边沿1时刻发出的数据,若reg1在边沿2时刻发出的数据过快到达reg2,则会冲掉前面的数据,从而不满足保持时间。因此保持时间约束的是同一个边沿。

需要满足:

Tdata_path =  Tco + Tlogic + Trouting ≥ Tskew + Thold

Tco和Tskew以及Thold由器件决定,只能通过代码来更改Tlogic和Trouting。

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

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

相关文章

六十天前端强化训练之第二十八天之Composition 函数完全指南

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、核心概念解析 1.1 什么是 Composition 函数 1.2 为什么需要封装 1.3 设计原则 二、实战案例&#xff1a;鼠标跟踪器 2.1 未封装版本 2.2 封装后的 Composition 函数…

MySQL 锁机制详解

MySQL 锁机制详解 5.1 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源&#xff08;CPU、 RAM、I/O&#xff09;的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有 效性是所有数…

常见中间件漏洞攻略-Apache篇

漏洞名称&#xff1a;Apache HTTP Server 路径穿越漏洞-CVE-2021-41773 第一步&#xff1a;拉取环境、启动环境 #拉取环境 docker pull blueteamsteve/cve-2021-41773:no-cgidhttp://121.40.229.129:8080#启动环境 docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:n…

站群服务器是什么意思呢?

站群服务器是一种专门为托管和管理多个网站而设计的服务器&#xff0c;其核心特点是为每个网站分配独立的IP地址。这种服务器通常用于SEO优化、提高网站权重和排名&#xff0c;以及集中管理多个网站的需求。以下是站群服务器的详细解释&#xff1a; 一、站群服务器的定义 站群…

Excel 小黑第22套

对应大猫22 新建一行&#xff0c;输入第一个人名字&#xff0c; 填充 -快速填充 修改员工编号&#xff08;1—001&#xff09;&#xff1a;选中所有员工编号&#xff0c;开始 -数据组 -自定义数字格式 000 在所有空表格单元格中输入数字0&#xff1a;选中修改的表格范围&#…

多传感器融合 SLAM LVI-SAM

目录 LVI-SAM 简介 A. 系统概述 B. 视觉惯导系统 C.雷达惯导系统 LVI-SAM 安装编译 编译 LVI-SAM 常见问题 LVI-SAM 工程化建议 LVI-SAM 简介 源码地址:https://github.com/TixiaoShan/LVI-SAM 如无法下载,换用 gitee 版本:https://gitee.com/inf_lee/LVI-SAM 改进…

Linux shell脚本3-if语句、case语句、for语句、while语句、until语句、break语句、continue语句,格式说明及程序验证

目录 1.if 控制语句 1.1 if 语句格式 1.2 程序验证 2.case语句 2.1case语句格式 2.2程序验证 2.2.1 终端先执行程序&#xff0c;在输入一个数 2.2.2 终端执行程序时同时输入一个预设变量 2.2.3 case带有按位或运算和通配符匹配 3.for语句 3.1for语句格式 3.2程序验…

图解模糊推理过程(超详细步骤)

我们前面已经讨论了三角形、梯形、高斯型、S型、Z型、Π型6种隶属函数&#xff0c;下一步进入模糊推理阶段。 有关六种隶属函数的特点在“Pi型隶属函数&#xff08;Π-shaped Membership Function&#xff09;的详细介绍及python示例”都有详细讲解&#xff1a;https://lzm07.b…

001-JMeter的安装与配置

1.前期准备 下载好JMeter : https://jmeter.apache.org/download_jmeter.cgi 下载好JDK : :Java Downloads | Oracle 中国 下载图中圈蓝的JMeter和JDK就行&#xff0c;让它边下载&#xff0c;我们边往下看 2.为什么要下载并安装JDK ? JMeter 是基于 Java 开发的工具&#…

英伟达有哪些支持AI绘画的 工程

英伟达在AI绘画领域布局广泛&#xff0c;其自研工具与第三方合作项目共同构建了完整的技术生态。以下是其核心支持AI绘画的工程及合作项目的详细介绍&#xff1a; 一、英伟达自研AI绘画工具 1. GauGAN系列 技术特点&#xff1a;基于生成对抗网络&#xff08;GAN&#xff09;&…

Netty源码—4.客户端接入流程二

大纲 1.关于Netty客户端连接接入问题整理 2.Reactor线程模型和服务端启动流程 3.Netty新连接接入的整体处理逻辑 4.新连接接入之检测新连接 5.新连接接入之创建NioSocketChannel 6.新连接接入之绑定NioEventLoop线程 7.新连接接入之注册Selector和注册读事件 8.注册Rea…

2025.3.17-2025.3.23学习周报

目录 摘要Abstract1 文献阅读1.1 动态图邻接矩阵1.2 总体框架1.2.1 GCAM1.2.2 输出块 1.3 实验分析 总结 摘要 在本周阅读的文献中&#xff0c;作者提出了一种名为TFM-GCAM的模型。TFM-GCAM模型的创新主要分为两部分&#xff0c;一部分是交通流量矩阵的设计&#xff0c;TFM-GC…

生活电子类常识——搭建openMauns工作流+搭建易犯错解析

前言 小白一句话生成一个网站&#xff1f;小白一句话生成一个游戏&#xff1f;小白一句话生成一个ppt?小白一句话生成一个视频&#xff1f; 可以 原理 总体的执行流程是 1&#xff0c;用户下达指令 2&#xff0c;大模型根据用户指令&#xff0c;分解指令任务为多个细分步骤…

深入解析 Uniswap:自动做市商模型的数学推导与智能合约架构

目录 1. 自动做市商&#xff08;AMM&#xff09;模型的数学推导1.1 恒定乘积公式推导1.2 价格影响与滑点 2. Uniswap 智能合约架构解析2.1 核心合约&#xff08;Core&#xff09;2.1.1 工厂合约&#xff08;Factory&#xff09;2.1.2 交易对合约&#xff08;Pair&#xff09; 2…

高频面试题(含笔试高频算法整理)基本总结回顾20

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…

生成模型速通(Diffusion,VAE,GAN)

基本概念 参考视频https://www.bilibili.com/video/BV1re4y1m7gb/?spm_id_from333.337.search-card.all.click&vd_sourcef04f16dd6fd058b8328c67a3e064abd5 生成模型其实是主要是依赖概率分布&#xff0c;对输入特征的概率密度函数建模 隐空间&#xff08;latent space)…

Android在kts中简单使用AIDL

Android在kts中简单使用AIDL AIDL相信做Android都有所了解&#xff0c;跨进程通信会经常使用&#xff0c;这里就不展开讲解原理跨进程通信的方式了&#xff0c;最近项目换成kts的方式&#xff0c;于是把aidl也换成了统一的方式&#xff0c;其中遇到了很多问题&#xff0c;这里…

学习本地部署DeepSeek的过程(基于ollama)

DeepSeek除了支持在线调用服务接口外&#xff0c;还支持本地部署后调用本地服务&#xff0c;这样的好处是不需要api key&#xff0c;且资源独占&#xff0c;还能训练个人知识库。本文学习并记录本地部署DeepSeek的过程。   参考文献3中列出了不同模型对于电脑硬件的要求&…

文献分享: ColXTR——将ColBERTv2的优化引入ColXTR

1. ColXTR \textbf{1. ColXTR} 1. ColXTR原理 1.1. ColBERTv2 \textbf{1.1. ColBERTv2} 1.1. ColBERTv2概述 1.1.1. \textbf{1.1.1. } 1.1.1. 训练优化 1️⃣难负样本生成 初筛&#xff1a;基于 BM-25 \text{BM-25} BM-25找到可能的负样本重排&#xff1a;使用 KL \text{KL} KL…

Altium Designer数模电学习笔记

模电 电容 **退耦&#xff1a;**利用通交阻直&#xff0c;将看似直流的信号中的交流成分滤除 &#xff08;一般用在给MPU供电&#xff0c;尽量小一些&#xff0c;10nf~100nf~1uf以下&#xff09; **滤波&#xff1a;**也可以理解为给电容充电&#xff0c;让电容在电平为低时…