FPGA中与时序有关的概念
FPGA中与时序有关的概念
一、时序分析
时序分析是对整个时序进行分析的操作。作用就是了解设计的时序性能,一般而言就是最大时钟频率。时钟频率越高,设计的工作速度越快(忽略设计实现方法的不同导致的效率提升)。为了提高时钟频率,有一份完整的时序分析报告是必不可少的。
在quartus中的Timequest中,时序分析报告一般包括以下几方面的内容:
(1)最大时钟频率
这个参数只有在时序违规的情况下才会有,如果满足时序收敛的条件,这个参数则没有体现。
(2)全局时钟频率和相关时钟频率
这部分的报告是说明当前设计的时序分析的时钟约束。quartus中在没有特别声明或者使用PLL时,默认是1000M的时钟约束。一般而言,这个值是会产生时序违规的,所以可以通过第一次的时序分析报告来确认当前的设计的最大时钟频率。在后期的时序约束操作中,也可以通过这个页面查看约束的全局时钟和相关时钟。
(3)建立保持时间
这里会给出建立时间和保持时间的时序违规路径。可以根据时序余量的大小可以判断出关键路径,进而确认改进方法。一般来说,建立时间的违规会比较多,保持时间违规多出现在跨时钟域的情况下。路径,是连接时序和设计的桥梁。如果想要确认某个设计的局部时序,就需要通过路径锁定设计区域。路径,简单理解就是一个寄存器到另外一个寄存器传输数据的情况。
(4)最小脉冲宽度
这个参数是受制于FPGA的触发器单元的。触发器读取上升沿和下降沿需要时间,且处于电压稳定的考虑,也是需要时钟脉冲维持一段时间的。这个参数一般因器件而改变,不大受设计的影响(特殊手法除外)。
(5)其他参数
实际上,时序报告还会报告一些其他的参数:如输入延时,输出延时等,这些参数一般不和设计挂钩,只有在和PCB板时完成设计时,才会考虑这部分的问题。还有一些是根据环境做出的约束修正的参数。这部分的报告需要在具体的设计中加入。个人感觉可以将时序分析报告作为一个特殊的仿真,参数越详细,就越符合实际需求。
二、时序约束
时序约束,是约束的一种。在FPGA设计中,一般就有两种约束,管脚约束和时序约束。时序约束,目标是保证时序收敛。一般有两种情况:知道设计的时序要求和优化设计。这两种时序约束的方法是不一致的。对于已知时序要求的设计,可以将需要的时序要求做成时序约束,然后时序分析报告,然后约束加分析循环直至时序收敛。时序优化则是在时序不满足的状况下修改设计,将关键路径逐步优化,直至达到满意的程度。
具体的方法需要在每个实际的项目中学习,不过可以按照这两个情况初步确认分析的流程。
三、时序收敛
时序收敛,就是时序符合设计的要求的时序。这个概念对应的就是所有路径都存在时序余量。
FPGA中与时序有关的概念的更多相关文章
- FPGA中改善时序性能的方法_advanced FPGA design
本文内容摘自<advanced FPGA design>对应中文版是 <高级FPGA设计,结构,实现,和优化>第一章中的内容 FPGA中改善时序,我相信也是大家最关心的话题之一 ...
- 【转】关于FPGA中建立时间和保持时间的探讨
时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错:因而明确FPGA设计中决定系统时钟的因素,尽 ...
- 【转载】FPGA 中的latch 锁存器
以下这篇文章讲述了锁存器的一些概念和注意事项.原文标题及链接: FPGA 中的latch 锁存器 - 快乐至永远上的博客 - 与非博客 - 与网 http://www.eefocus.com/liuy ...
- FPGA中的时序分析(一)
谈及此部分,多多少少有一定的难度,笔者写下这篇文章,差不多是在学习FPGA一年之后的成果,尽管当时也是看过类似的文章,但是都没有引起笔者注意,笔者现在再对此知识进行梳理,也发现了有很多不少的收获.笔者 ...
- 【黑金原创教程】【TimeQuest】【第一章】TimeQuest 静态时序分析模型的概念
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/ ...
- FPGA中的delay与latency
delay和latency都有延迟的意义,在FPGA中二者又有具体的区别. latency出现在时序逻辑电路中,表示数据从输入到输出有效经过的时间,通常以时钟周期为单位. delay出现在组合逻辑电路 ...
- FPGA中的时序分析(四)
常用约束语句说明 关于Fmax 上述是实现Fmax的计算公式,clock skew delay的计算如下图, 就是两个时钟的差值.到头来,影响Fmax的值的大小就是组合逻辑,而Fmax是针对 ...
- FPGA中RAM使用探索
FPGA中RAM的使用探索.以4bitX4为例,数据位宽为4为,深度为4. 第一种方式,直接调用4bitX4的RAM.编写控制逻辑对齐进行读写. quartus ii 下的编译,资源消耗情况. 85C ...
- 低成本FPGA中实现动态相位调整
在FPGA中,动态相位调整(DPA)主要是实现LVDS接口接收时对时钟和数据通道的相位补偿,以达到正确接收的目的.ALTERA的高端FPGA,如STRATIX(r) 系列中自带有DPA电路,但低端的F ...
- FPGA中竞争冒险问题的研究
什么是竞争冒险? 1 引言 现场可编程门阵列(FPGA)在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能. FPGA可以替代其他PLD或者各种中小规模数 ...
随机推荐
- 基于keras的残差网络
1 前言 理论上,网络层数越深,拟合效果越好.但是,层数加深也会导致梯度消失或梯度爆炸现象产生.当网络层数已经过深时,深层网络表现为"恒等映射".实践表明,神经网络对残差的学习比对 ...
- Spring Cloud Gateway微服务网关快速入门
介绍 Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring C ...
- 2021-07-01 原生js获取文件数据
原理 手动用js创建一个type为file的DOM元素. 在读取到数据后,清空手动创建的DOM元素.返回得到的Promise类型的文件数据files. const getFilesPromise = ...
- CXP协议的传输层介绍 8b/10b编码
8b/10b编码与K码 upconnection 和downconnection均使用8b/10b编码,因此我们先简单回顾一下8b/10b吧 8B/10B编码被广泛应用到高速串行总线,如IEEE139 ...
- 第126篇: 异步函数(async和await)
好家伙,本篇为<JS高级程序设计>第十章"期约与异步函数"学习笔记 ES8 的 async/await 旨在解决利用异步结构组织代码的问题. 为为此增加了两个新关键 ...
- 借助 Terraform 功能协调部署 CI/CD 流水线-Part 1
在当今快节奏的开发环境中,实现无缝.稳健的 CI/CD 流水线对于交付高质量软件至关重要.在本文中,我们将向您介绍使用 Bitbucket Pipeline.ArgoCD GitOps 和 AWS E ...
- linux vs code extension C# `GLIBC_2.27' not found
settings中omnisharp:useModernNet改为true reboot虚机
- RocketMQ为什么这么快?我从源码中扒出了10大原因!
大家好,我是三友~~ RocketMQ作为阿里开源的消息中间件,深受广大开发者的喜爱 而这其中一个很重要原因就是,它处理消息和拉取消息的速度非常快 那么,问题来了,RocketMQ为什么这么快呢? 接 ...
- vscode 尾逗号不自动删除 'comma-dangle': 'off' eslint vue
vscode 尾逗号不自动删除 'comma-dangle': 'off' eslint 外层环境说明 vscode eslint - .elintrs.js vue - vue开发 vetur - ...
- javascript web development es6 pdf js - Cheat Sheet 表格 [vuejs / webcomponents-cheatsheet-2021] 共3套
ES6 预览 VUE2 预览 webcomponents 预览 ES6 2019 pdf下载: https://files.cnblogs.com/files/pengchenggang/javasc ...