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:

  1. 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最大工作频率教程的更多相关文章

  1. xilinx 赛灵思fpga verilog hdl 教程

    http://www.eefocus.com/article/08-03/37231s.html http://wenku.baidu.com/link?url=5mdkMmm4BGGi7gRdgSk ...

  2. FPGA书籍

    Xilinx FPGA开发实用教程(第2版) 徐文波,田耘 著

  3. 关于FPGA学习路线

    1.参考FPGA厂商的参考资料,将某系列FPGA所有芯片资料下载下来,有针对性的做参考. 2.参考FPGA厂商开发板以及相应的参考设计,在开发板里有众多的外围接口电路,基本涵盖了常用的应用场合.同时也 ...

  4. FPGA中如何实现除法?

    摘自:<xilinx FPGA 开发实用教程> 1)被除数重复的减去除数,直到检测到余数小于除数为止,优点:对于除数与被除数相差较小的情况下合适 2)通过如下图片方式实现+状态机.优点:挺 ...

  5. FPGA加三移位算法:硬件逻辑实现二进制转BCD码

    本文设计方式采用明德扬至简设计法.利用FPGA来完成显示功能不是个很理想的方式,当显示任务比较复杂,要通过各种算法显示波形或者特定图形时,当然要用单片机通过C语言完成这类流程控制复杂,又对时序要求不高 ...

  6. 目标反射回波检测算法及其FPGA实现(准备篇): 用Verilog-HDL状态机控制硬件接口

    基于FPGA的目标反射回波检测算法及其实现(准备篇) :用Verilog-HDL状态机控制硬件接口 前段时间,开发了一个简单的目标反射回波信号识别算法,我会分几篇文章分享这个基于FPGA的回波识别算法 ...

  7. 兼顾FPGA和单片机

    当今,FPGA和单片机的应用非常广泛,在有FPGA知识的基础上,笔者认为可以把FPGA作为主要的学习目标,单片机作为辅助技能.其实二者是相互促进的.不管是FPGA还是单片机的开发其实都是基于较强的逻辑 ...

  8. 【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程

    Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它 ...

  9. 转 让FPGA替代GPU的6大顾虑,你确定不看看吗?

    最近FPGA又频频被各AI领域的巨头看好,比如微软.百度.科大讯飞都对FPGA应用前景有所期待.那么如果让你选择FPGA作为AI计算系统的主力军,你会有什么样的顾虑? 这几天,已经退役的AlphaGo ...

  10. 计算机组成原理 — FPGA 现场可编程门阵列

    目录 文章目录 目录 FPGA FPGA 的应用场景 FPGA 的技术难点 FPGA 的工作原理 FPGA 的体系结构 FPGA 的开发 FPGA 的使用 FPGA 的优缺点 参考文档 FPGA FP ...

随机推荐

  1. KingbaseES创建外键与Mysql的差异

    Mysql mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.23 | +-----------+ ...

  2. C++中自定义事件与委托

    自定义事件,和委托其实是一类操作. 在蓝图中都表现为红色方块. 自定义事件通过DECLARE_EVENT(ClassName, EventName)来创建一个属于ClassName的EventName ...

  3. 官宣!禅道与极狐(GitLab)达成深度合作,携手推进开源开放DevOps生态发展

    近日,禅道与著名编程开源开发平台极狐(GitLab)公司签署战略合作,双方将重点探索适用于中国用户DevOps全生命周期解决方案,并将在开源培训和教育.云服务解决方案等多个领域深度合作,共同助力国内D ...

  4. 2 CSS基本选择器

    2 基本选择器 id选择器 id选择器使用"#"进行标识,后面紧跟id名,其基本语法格式为: #id名{属性1:属性值1;属性2:属性值2;属性3:属性值3;} 该语法中,id名即 ...

  5. #并查集,线性筛#nssl 1470 X

    分析 显然答案就是\(2^{连通块个数}-2\), 将每个数的质数所在的集合合并, 最后判断连通块个数即可(线性筛少了个等号改了半天QWQ) 代码 #include <cstdio> #i ...

  6. 学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程

    Python 可以用于数据库应用程序.最流行的 NoSQL 数据库之一是 MongoDB MongoDB MongoDB 将数据存储在类似 JSON 的文档中,使数据库非常灵活和可扩展. 您可以在 M ...

  7. 你真会判断DataGuard的延迟吗?

    这是一个比较细节的知识点,但必须要理解这个才能准确判断Oracle ADG的延迟情况. 以前做运维工作时,记得是要同时重点关注v$dataguard_stats视图中的几个字段的值,分别是:NAME. ...

  8. POJ2251 基础bfs

    题目: 你进入了一个3D的宝藏地宫中探寻宝藏到了宝藏,你可以找到走出地宫的路带出宝藏,或者使用炉石空手回家. 地宫由立方体单位构成,立方体中不定会充满岩石.向上下前后左右移动一个单位需要一分钟.你不能 ...

  9. CentOS 防火墙配置实战精要

    防火墙是服务器最重要的安全屏障,正确的操作对应用也是非常非常关键,本文参考了一些实战经验并经过实验验证,集众家之长做了简单的归纳整理,希望能帮助你更好地操作防火墙. 设置CentOS防火墙开放端口 在 ...

  10. docker 应用篇————tomcat例子[七]

    前言 虽然我干的事情和java不多,但是例子是为了熟悉原理,而不是为了例子而例子的,故而整理一下tomcat的例子. 正文 使用官方示例: 然后运行一下. 没有找到然后进行下载了. 可以看到这里就已经 ...