FPGA时序约束基础

news/2024/10/20 17:45:25

一、时序约束的目的
由于实际信号在FPGA内部期间传输时,由于触发器等逻辑期间并非理想期间,因此不可避免地存在传输延时,这种延迟在高速工作频率、高逻辑级数时会造成后级触发器地建立时间和保持时间不满足,造成时序违例。(这也是为什么需要把FPGA设计不能以高级编程语言思想看的原因,设计时,需要做到“心中有电路”)一般来说在一个高速系统(时钟频率大于100M),或存在高速信号如DDR,千兆网络等情况下,必须进行时序分析和约束,以提高系统的鲁棒性和稳定性。
二、基本概念
2.1 建立时间和保持时间
setup time是指在时钟有效沿(下图为上升沿)之前,数据输入端信号必须保持稳定的最短时间。

hold time是指在时钟有效沿(下图为上升沿)之后,数据输入端信号必须保持稳定的最短时间。hold time时序检查确保新数据不会在触发器稳定输出初始数据之前过早到达D端而覆盖其初始数据。

简单来说:数据传输至触发器时,数据必须在时钟的建立时间前保持稳定,而且数据必须保持到时钟的保持时间点后才能撤销,才能保证该级触发器可以正常寄存该数据。
三、模型分析
下面以经典的时序分析模型分析:

如图,data信号传输经存在DFF1、组合逻辑后传输至DFF2,由于触发器延迟tco和组合逻辑延时,clk1传输延迟,
因此建立时间余量为:
Tslack = (T-tsu+tclk2)-(tclk1+tco+tdelay),
保持时间余量为:
Thd_slack = (T+tdelay+tco+tclk1)-(T+thd+tclk2)
以上可以看出,系统的极限性能参数(时钟能跑多快,即T的大小)只与建立时间余量有关。

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

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

相关文章

CSS基础速刷 - 非布局样式(未完待续)

全称:Cascading Style Sheet2. 选择器选择器 { 属性:值; 属性:值; } 选择器用于匹配HTML元素,有不同的匹配规则,多个选择器可以叠加。 浏览器解析CSS选择器方式和我们写选择器的方式是相反的:从右往左选择器分类伪元素(双冒号)是真实存在的元素,可以被显示出来的元素…

Using MATLAB with CANoe 快读

近期领导交给了一个非常有意思的任务:尝试实现在不同工况下的HSI测试,并给了Matlab这个提示。当然我并不实现交互的具体算法,但是要懂得Matlab接口的测试调用和上层General测试框架的搭建。 资料来源:Using MATLAB with CANoe 1.0 Overview 目的是为了拓展CANoe的Node功能…

Linux宝塔面板安装Windows环境搭建企业

宝塔面板是一款非常流行的服务器管理软件,支持多种操作系统,包括Linux。以下是基于CentOS系统的宝塔面板安装步骤: 1. 检查系统环境确保您的服务器操作系统为CentOS 7.x 或更高版本。 确保服务器有公网IP地址。2. 关闭防火墙(可选) 3. 安装宝塔面板打开终端或SSH连接到您的…

CTF学习(2):Misc(你竟然赶我走)

1.查看图片的详细信息查找flag 2.查看图片是否隐藏宽高,通过修改高度使flag出现 3.根据图片的文件类型选择工具查看是否隐藏flag 4.(这道题)使用010 editor---将图片转为16进制 搜索文本获取 flag

20222302 2024-2025-1 《网络与系统攻防技术》实验三实验报告

1.实验内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧 (2)通过组合应用各种技术实现恶意代码免杀 (3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本 2.实验过程 任务一:正确使用msf编码器,veil-evasio…

mac 系统更新ruby

mac 系统更新ruby mac 系统更新遇到的机器坑爹的情况: 无法更新ruby 的情况,就是更新的时候提示版本过低无法更新 前提知晓: Homebrew Homebrew 是 macOS 和 Linux 系统上的一个流行的包管理器,用于简化软件的安装、管理和配置。它允许用户通过简单的命令行界面来安装、更新…

【蓝桥杯】C++ 第20场 小白入门赛

一、四个亲戚 题目 四个亲戚 题目分析 字面意思:Daiyu+‘kind’ 代码#include <iostream> using namespace std; int main() {cout<<"Daiyukind";return 0; }二、黛玉泡茶 题目 黛玉泡茶 题目分析 1.我们可以c 2.然后c 3.计算c,如果不能,整除后的答案…

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

2024-2025-1 20241314 《计算机基础与程序设计》第四周学习总结 作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第四周作业作业正文 正文教材学习内容总结 计算机系统计算机组成:中央处理器(CPU):负责…