FPGA时序分析与约束(0)——目录与传送门

一、简介

        关于时序分析和约束的学习似乎是学习FPGA的一道分水岭,似乎只有理解了时序约束才能算是真正入门了FPGA,对于FPGA从业者或者未来想要从事FPGA开发的工程师来说,时序约束可以说是一道躲不过去的坎,所以这个系列我们会详细介绍FPGA时序分析与约束的相关内容。

        我们在设计FPGA的时候往往是进行多方面性能的权衡来实现设计的最优化,在可实现的情况下,我们一般会期望处理速率越快越好,但是与理论不同,在实际的硬件设计的时候,一个逻辑上正确的设计仍然会因为现实世界中的实现问题而失败!

二、基础知识

        你总得知道点什么,我们才能继续聊下去。

2.1 组合电路时序

FPGA时序分析与约束(1)——组合电路时序-CSDN博客文章浏览阅读773次,点赞11次,收藏12次。在可实现的情况下,我们一般会期望fpga处理速率越快越好,但是与理论不同,在实际的硬件设计的时候,一个逻辑上正确的设计仍然会因为现实世界中的实现问题而失败!本文中我们介绍了组合电路的时序问题,定义了tcd和tpd两个重要参数,明确了如何寻找一个组合逻辑电路的最短路径Shortest Path和最长路径LongestPath(更常规的叫法是关键路径Critical Path),然后我们分析了组合逻辑毛刺产生的原因及影响https://blog.csdn.net/apple_53311083/article/details/132368941

2.2 时序电路时序

FPGA时序分析与约束(2)——时序电路时序-CSDN博客文章浏览阅读3.5k次,点赞41次,收藏44次。本文我们介绍了时序电路中的时序问题,这是我们进行进一步时序分析内容学习的重要理论基础,首先我们介绍了D触发器相关内容,着重说明了建立时间和保持时间的含义和产生原因,然后引入了触发器的输出时序,最后介绍了时序电路系统的设计约束。https://blog.csdn.net/apple_53311083/article/details/132626131

2.3 时钟不确定性

FPGA时序分析与约束(3)——时钟不确定性_clock uncertainty包括什么-CSDN博客文章浏览阅读1.2k次,点赞12次,收藏13次。本文主要介绍了FPGA中时钟的不确定性问题,FPGA中的时钟不确定性由2部分组成,时钟抖动和时钟偏移,时钟抖动由时钟内部产生,是时钟的固有参数,时钟偏移是由于时钟到达不同部分的时间不一致导致的,与FPGA的设计结构,布局布线等有关。_clock uncertainty包括什么https://blog.csdn.net/apple_53311083/article/details/132631389

2.4 时序分析,时序约束,时序收敛

FPGA时序分析与约束(4)——时序分析,时序约束,时序收敛-CSDN博客文章浏览阅读361次,点赞10次,收藏10次。本文中我们学习了时序分析,时序约束,时序收敛的含义,我们主要采用的时序分析方法是静态时序分析法,在后文中,我们将正式开始介绍如何进行时序分析。https://blog.csdn.net/apple_53311083/article/details/132629963

2.5 时序路径

FPGA时序分析与约束(5)——时序路径-CSDN博客文章浏览阅读3.6k次,点赞49次,收藏55次。介绍了时序分析过程中时序路径的基本概念,分别介绍了FPGA中常见的4种时序路径:(1)引脚到寄存器(从FPGA的输入端口到目的寄存器的数据输入端口)(2)寄存器到寄存器(从源寄存器的时钟端口到目的寄存器的数据输入端口)(3)寄存器到引脚(从源寄存器的时钟端口到FPGA的输出端口)(4)引脚到引脚(从FPGA的输入端口到FPGA的输出端口)。这部分的内容是我们进行后续时序分析及时序约束的重要基础。https://blog.csdn.net/apple_53311083/article/details/132641522

2.6 综合基础知识

FPGA时序分析与约束(6)——综合的基础知识-CSDN博客文章浏览阅读1.9k次,点赞62次,收藏46次。与综合相关的一些问题的性质和约束的必要性。随着设计复杂性的不断提高,为了能够正确地表示的要求和关系,约束自身也变得越来越复杂https://blog.csdn.net/apple_53311083/article/details/133965507

2.7 通过Tcl扩展SDC

FPGA时序分析与约束(7)——通过Tcl扩展SDC-CSDN博客文章浏览阅读879次,点赞13次,收藏8次。通过使SDC 扩展到Tcl,特定于工具的命令可以与原生的Tcl结构,如变量、表达式、语句和子程序相混合,使其成为实现工具非常强大的语言。术语“Synopsys公司设计约束”(又名SDC,Synopsys Design Constraints)用于描述对时序、功率和面积的设计要求,是EDA工具中用于综合、STA和布局布线最常用的格式。该类别包括帮助设计人员放宽要求地命令,此命令是由其他命令所规定的,从而提供了约束放宽的适用范围,下表给出了此类约束,表格中标有星号的命令也可提供额外的收紧(而不是放宽)。https://blog.csdn.net/apple_53311083/article/details/133979334

2.8 时序引擎

​​​​​​FPGA时序分析与约束(8)——时序引擎-CSDN博客文章浏览阅读2.4k次,点赞60次,收藏31次。FPGA时序分析,时序引擎如何实现建立分析(setup),保持分析(hold),恢复时间分析(recovery)和移除时间分析(removal)。https://blog.csdn.net/apple_53311083/article/details/134095643

三、时钟约束

        对于时序分析和时序约束来说,最重要的就是时钟,这是一切的开始。

3.1 主时钟约束

FPGA时序分析与约束(9)——主时钟约束-CSDN博客文章浏览阅读590次,点赞18次,收藏12次。fpga时钟约束,create_clock详细解读,主时钟约束https://blog.csdn.net/apple_53311083/article/details/134102984

3.2 生成时钟

FPGA时序分析与约束(10)——生成时钟-CSDN博客文章浏览阅读1.3k次,点赞29次,收藏15次。如今的Soc在同一个芯片内包含多种异构设备。同一个芯片内可能包含高速的处理器和低速的存储器。这些工作在不同频率下的器件通常由不同的时钟触发。每个部分的运行是基于各自时钟的,这些会带来异步性的设计问题。这可能导致几个时钟都源于同一个主时钟,这些时钟称为生成时钟(衍生时钟、派生时钟)。https://blog.csdn.net/apple_53311083/article/details/134129986

3.3 时钟组

        还没写呢,有空一定

3.4 其他时钟特性

        别急

四、端口约束

FPGA时序分析与约束(13)——I/O接口约束-CSDN博客文章浏览阅读2.5k次,点赞68次,收藏29次。在应用了时钟约束后,所有寄存器到寄存器的路径都能定时。为了获得更加精准的FPGA外部时序信息,设计者需要为FPGA的I/O接口指定时序信息,一般时序工具只能获取FPGA器件内部的时序信息,对于FPGA器件引脚之外的时序信息,必须由设计者约束定义。如果没有指定的输入输出的,时序分析工具会假设在接口上使用最优时序要求并假设电路单元的组合逻辑本身具有整个周期,电路单元外部没有信号https://blog.csdn.net/apple_53311083/article/details/134335666

五、时序异常

5.1 虚拟路径

FPGA时序分析与约束(14)——虚拟路径-CSDN博客文章浏览阅读319次。到目前为止,我们已经看到了如何约束时钟和端口来指定设计中的时序要求,我们可以通过这些基础的约束命令来进行时序约束,但是时序分析工具默认的时序检查方式可能和我们实际工程实现的情况不同,通常来说是约束过紧,可能导致时序失败。此时,设计者就需要额外增加一下啊约束命令,用于调整既有的时序检查方式,以保证达到我们的设计预期。设计者额外增加的这部分约束,我们称之为时序异常(也有地方称之为时序例外约束)。本文中,我们重点关注虚拟路径。https://blog.csdn.net/apple_53311083/article/details/134365891

5.2 多周期路径

        会写的

5.3 最小延迟和最大延迟

        未完待续

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

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

相关文章

Python的sort()与sorted()排序函数的区别

文章目录 一、工具二、需求三、简单的使用例子四、原理分析Timsort算法主要特点:Timsort算法的工作原理:sort() 方法和 sorted() 函数的差异: 五、Python中的单例实现简单示例 一、工具 Python 3.10.0 pycharm 2022 二、需求 最近做项目的…

微服务学习:RestTemplateWebClient发起的http请求实现远程调用

http请求做远程调用是与语言无关的调用,只要知道对方的ip,端口,接口路径,请求参数即可 启动类中配置: Beanpublic RestTemplate restTemplate(){return new RestTemplate();} Sevice中书写方法 get Autowiredprivate RestTemp…

2023-2024 年重庆市职业院校技能大赛 高职组“软件测试”赛项样题

2023-2024 年重庆市职业院校技能大赛 高职组“软件测试”赛项样题 单元测试要求分析、代码设计、设计测试数据、编写测试脚本和 测试执行等;测试计划、测试报告文档设计与编写;Web 端测试用例 设计、测试执行和 Bug 记录; 自动化测试要求分析…

点击按住说话按钮事件有延迟

问题原因: 该问题原因是由于系统的某些手势 delaysTouchesBegan 属性为 YES,当按钮处在某些特定位置时触摸事件会先被这些系统的手势拦截,系统不响应才会继续分发,而按钮的 UIControlEventTouchDown 事件是需要立即响应的&#xf…

Python数据处理的六种方式总结,Python零基础学习

文章目录 前言1、dedup()去重并排序2、traverse()拆分嵌套数组3、filter()数据筛选4、groupby()分组运算5、select()遍历结果集6、sort()数据排序 总结 前言 在 Python 的数据处理方面经常会用到一些比较常用的数据处理方式,比如pandas、numpy等等。 今天介绍的这…

vue图片预览 90度旋转

要在 Vue 3 中实现点击按钮让图片旋转 90 度&#xff0c;你可以使用 CSS 转换和 Vue 的事件处理来完成。这里是一个基本的示例&#xff1a; 首先&#xff0c;在你的组件的模板中&#xff0c;添加一个按钮和一个应用转换的图像&#xff1a; <template> <div> <…

使用粗糙贴图制作粗纹皮革手提包3D模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

UniGui使用CSS优化PageControl

如题直接上代码 .x-tab-bar-default-top{background-image:none!important;background-color:#FFF !important;border-color:#f0f0f0 !important;border-left:none!important;border-right:none!important}.x-tab-bar-strip-default{border-color:#f0f0f0 !important;backgrou…

Redisson出现问题总结

org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required… channel: 出现此问题的原因为没有redis权限。解决方案在setAddress()后面加上setPassword()方法。 config.useSingleServer().setAddress("redis://localhost:6379").setPasswo…

Hugging Face 给普通用户提供了一个 2 vCPU 16GB 的免费空间

Hugging Face 给普通用户提供了一个 2 vCPU 16GB 的免费空间&#xff0c;并且支持部署 Gradio 构建的应用程序&#xff0c;非常方便&#xff0c;下面我们进入 https://huggingface.co/spaces/ &#xff0c;点击创建空间。

MySQL一 | SQL语句

目录 DDL语句 查询所有数据库 查询当前数据库 切换数据库 创建数据库 创建表 删除表 查询当前数据库所有表 查询表结构 查询指定表的键表语句 添加字段 修改数据类型 修改字段名和字段类型 删除字段 修改表名 删除表 删除指定表&#xff0c;并重新创建该表…

CCF: 202012-2 期末预测之最佳阈值--C++

#include<iostream> #include<bits/stdc.h>using namespace std;int main() {int n;//m位同学的数据int y[100001];//记录m位同学的安全指数int result[100001];//记录m位同学最后的挂科情况cin>>n;for(int i1;i<n;i){cin>>y[i]>>result[i];}…

unity 模型生成PNG图片并导出(可以任意控制方向和大小,本文提供三种方案)

提示&#xff1a;文章有错误的地方&#xff0c;还望诸位大神不吝指教&#xff01; 文章目录 前言一、插件RuntimePreviewGenerator&#xff08;方案一&#xff09;二、unity 官方提供的接口&#xff08;方案二&#xff09;三、方法三&#xff0c;可以处理单个模型&#xff0c;也…

华为OD机试真题-智能成绩表-2023年OD统一考试(C卷)

题目描述: 小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗? 输入描述: 第1行输入两个整数,学生人数n和科目数量m。0<n<100,0<m<10 第2行输入m个科目名称,彼此之间用空格隔开。科目名称只由英文字母构成,单个长度不超过10个字符…

Linux下C++静态链接库的生成以及使用

目录 一.前言二.生成静态链接库三.使用静态链接库 一.前言 这篇文章简单讨论一下Linux下如何使用gcc/g生成和使用C静态链接库&#xff08;.a文件&#xff09;。 二.生成静态链接库 先看下目录结构 然后看下代码 //demo.h#ifndef DEMO_H #define DEMO_H#include<string&g…

线程状态:深入理解多任务并发编程中的精髓

目录 引言 1. 线程状态概述 1.1 定义 1.2 线程状态图 2. 线程状态的转换 2.1 新建到就绪 2.2 就绪到运行 2.3 运行到阻塞 2.4 运行到等待和超时等待 2.5 运行到终止 3. 实际编程中的线程状态管理 3.1 合理使用wait()和notify() 3.2 谨慎处理阻塞状态 3.3 使用线程…

面试题之Docker篇

1、Docker 是什么&#xff1f; Docker一个开源的应用容器引擎&#xff0c;是实现容器技术的一种工具&#xff0c;让开发者可以打包他们的应用以及环境到一个镜像中&#xff0c;可以快速的发布到任何流行的操作系统上。 2、Docker的三大核心是什么? 镜像&#xff1a;Docker的镜…

Elastic Support Hub 转向语义搜索

作者&#xff1a;Chris Blaisure 我们很高兴与大家分享 Elastic Support Hub 最近的增强功能&#xff1a;它现在由语义搜索提供支持&#xff01; 但在我们更详细地了解对 Elastic Support Hub 所做的更改及其对客户的影响之前&#xff0c;我们需要花点时间解释语义搜索的概念&…

el-form表单校验值为0提示校验不通过

el-form表单校验输入框值为0时提示校验不通过 配置validator自定义校验方法 这里举例在结构代码里加入校验规则 <el-form-item:prop"num":rules"[{required: true,message: 请输入数量,trigger: change,},{validator,trigger: blur}]" ><el-inpu…

【安卓】安卓xTS之Media模块 学习笔记(3) VTS测试

1. 背景 接下来进行正式的VTS测试。本章节还是以Media模块相关进行介绍。 VTS主要测的是内核和HAL层&#xff0c;media的hal层是以openMax&#xff08;即将废弃&#xff0c;今日2023.12&#xff09; 和 Codec2 (后续主流) 接口为主。 这里我们只看Codec2的要求&#xff0c;CDD…