FPGA最大工作频率教程
FPGA最大工作频率教程
1. Quartus的时序分析
作为编译过程的一部分,Quartus对布局布线的电路做时序分析。在编译报告里,展开“Timing Analyzer”,这里有几种不同模型的时序分析结果。我们参考最慢的一种模型:Slow 1200mV 85C Model。展开这个模型,选择Fmax Summary,这个时钟频率是当前电路在不违背触发器建立时间的前提下的最大工作频率。
2.合理的时序分析的要求
为了使分析起作用,被分析的电路必须包含寄存器和一个驱动寄存器的有效时钟。如果没有实现这些,工具将返回:“No paths to report”。
3. 电路的最大工作频率
虽然第1部分里提到Fmax Summary,但这个名称容易误导。那个频率不一定是电路实际可以达到的频率。打开工程的SDC(Synopsys Design Constraints)文件,将看到类似这样的一行命令:
create_clock -period "50.0 MHz" [get_ports MAX10_CLK1_50]
SDC文件里的命令表明实验板上的晶阵的频率是50MHz,这个时钟作为设计输入。Quartus综合后的电路需要至少工作在50MHz,一旦实现这个目标,Quartus将优化设计的其他方面,占用更少的资源或更低的功耗。
图1描述了4个信号在寄存器里传输时需要的时间接近一个完整的时钟信号的周期,这个时钟信号就是最接近这个电路的最大工作频率。

图1 4个信号的传输需要一个时钟周期来分辨
4. 达到最大工作频率
改变SDC文件里的时钟频率,并不能真的改变实验板上的时钟信号,只是改变了Quartus要实现的频率目标。
通过改变SDC里的时钟频率,可以迫使Quartus优化电路设计,提高电路的速度,直至优化后无法实现,这样也可以逐步尝试得到最大频率。
除非在非常特殊的情况下,如果一个数字设计在某个频率上运行,它也会在任何较低的频率上运行,所以增加时钟的频率不会损害最终设计的功能。反之则不然。就是说综合后能快跑的,当然也能慢跑。
那么尝试若干次,怎么才能知晓已经到达极限了呢?就是当Slow 1200mV 85C Model变成红色的字体时,最近一次能实现的频率就是最大工作频率。
References:
- EEC180 Tutorial: FPGA Maximum Operating Frequency EEC180, Digital Systems II
https://www.ece.ucdavis.edu/~bbaas/180/tutorials/fpga.timing.html
Written by YongfengXie
2022/05/25 Written
FPGA最大工作频率教程的更多相关文章
- xilinx 赛灵思fpga verilog hdl 教程
http://www.eefocus.com/article/08-03/37231s.html http://wenku.baidu.com/link?url=5mdkMmm4BGGi7gRdgSk ...
- FPGA书籍
Xilinx FPGA开发实用教程(第2版) 徐文波,田耘 著
- 关于FPGA学习路线
1.参考FPGA厂商的参考资料,将某系列FPGA所有芯片资料下载下来,有针对性的做参考. 2.参考FPGA厂商开发板以及相应的参考设计,在开发板里有众多的外围接口电路,基本涵盖了常用的应用场合.同时也 ...
- FPGA中如何实现除法?
摘自:<xilinx FPGA 开发实用教程> 1)被除数重复的减去除数,直到检测到余数小于除数为止,优点:对于除数与被除数相差较小的情况下合适 2)通过如下图片方式实现+状态机.优点:挺 ...
- FPGA加三移位算法:硬件逻辑实现二进制转BCD码
本文设计方式采用明德扬至简设计法.利用FPGA来完成显示功能不是个很理想的方式,当显示任务比较复杂,要通过各种算法显示波形或者特定图形时,当然要用单片机通过C语言完成这类流程控制复杂,又对时序要求不高 ...
- 目标反射回波检测算法及其FPGA实现(准备篇): 用Verilog-HDL状态机控制硬件接口
基于FPGA的目标反射回波检测算法及其实现(准备篇) :用Verilog-HDL状态机控制硬件接口 前段时间,开发了一个简单的目标反射回波信号识别算法,我会分几篇文章分享这个基于FPGA的回波识别算法 ...
- 兼顾FPGA和单片机
当今,FPGA和单片机的应用非常广泛,在有FPGA知识的基础上,笔者认为可以把FPGA作为主要的学习目标,单片机作为辅助技能.其实二者是相互促进的.不管是FPGA还是单片机的开发其实都是基于较强的逻辑 ...
- 【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程
Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它 ...
- 转 让FPGA替代GPU的6大顾虑,你确定不看看吗?
最近FPGA又频频被各AI领域的巨头看好,比如微软.百度.科大讯飞都对FPGA应用前景有所期待.那么如果让你选择FPGA作为AI计算系统的主力军,你会有什么样的顾虑? 这几天,已经退役的AlphaGo ...
- 计算机组成原理 — FPGA 现场可编程门阵列
目录 文章目录 目录 FPGA FPGA 的应用场景 FPGA 的技术难点 FPGA 的工作原理 FPGA 的体系结构 FPGA 的开发 FPGA 的使用 FPGA 的优缺点 参考文档 FPGA FP ...
随机推荐
- vivo 消息中间件测试环境项目多版本实践
作者:vivo 互联网中间件团队 - Liu Tao 在开源 RocketMQ 基础之上,关于[测试环境项目多版本隔离]业务诉求的落地与实践. 一.背景 在2022年8月份 vivo 互联网中间件团队 ...
- KingbaseES V8R3集群运维案例---failover切换故障分析
案例说明: KingbaseES V8R3集群主库数据库服务重启后,failover切换失败,分析failover失败的具体原因. 适用版本: KingbaseES V8R3 一.集群架构 node1 ...
- FineReport 自定义工具栏样式
虽然FR界面的工具栏已经很商业化,很好看了,但是总会有那么些需求希望你可以修改工具栏的样式. 修改工具栏样式的主要思路是: 通过JQ选择器选中需要调整的元素,然后修改他们的样式 接下来,我们尝试着对工 ...
- 【已解决】同时使用ajax和form表单传数据的冲突问题
昨天踩了一个大坑,下面总结一下: 前后端数据交互的两种方式: 1.ajax发起请求(请求中可以带有数据)并获取返回的数据 下面给出一个ajax的常见格式: 1 $.ajax({ 2 url:" ...
- 谈谈MyBatis持久层框架
谈谈 MyBatis 源自官方文档:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. ...
- Python 列表list方法clear( )和直接list [ ]的区别
x.clear()是将内存地址清空, x=[ ]会新开辟一个内存空间.
- #贪心,树#C 平衡的树
分析 处理出子树内剩余删减以及最大的剩余\(a\)和, 如果删了还是超过\(b\)输出无解 代码 #include <cstdio> #include <cctype> #de ...
- #线性基,点分治#洛谷 3292 [SCOI2016]幸运数字
题目 分析 题目就是将\(x\)到\(y\)路径上的线性基合并求解, 这里用的是点分治,每次换根到重心的时候维护前缀线性基, 查询的时候如果属于不同的子树就能询问答案,记得\(x=y\)要特判 代码 ...
- #树形dp,二次扫描换根法#洛谷 4284 [SHOI2014]概率充电器
题目 分析 充电很难做,考虑判断不充电的概率, 设\(dp[x]\)表示点\(x\)无法充电的概率,但是这样有后效性, 考虑先处理子树内的问题,那么 \(dp[x]=(1-p[x])\prod_{y\ ...
- OpenHarmony AI框架开发指导
一.概述 1.功能简介 AI 业务子系统是 OpenHarmony 提供原生的分布式 AI 能力的子系统.AI 业务子系统提供了统一的 AI 引擎框架,实现算法能力快速插件化集成. AI 引擎框架主要 ...