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 ...
随机推荐
- 阿里二面:谈谈ThreadLocal的内存泄漏问题?问麻了。。。。
引言 ThreadLocal在Java多线程编程中扮演着重要的角色,它提供了一种线程局部存储机制,允许每个线程拥有独立的变量副本,从而有效地避免了线程间的数据共享冲突.ThreadLocal的主要用途 ...
- Docker网络模型以及容器通信
本篇接着上篇:[Docker0网络及原理探究],继续深入探究容器网络通信原理,通过学习Docker网路驱动模型,更好地解决容器间的通信问题 1.Docker的网络驱动模型 1.1.Docker的网络驱 ...
- FFmpeg开发笔记(九)Linux交叉编译Android的x265库
<FFmpeg开发实战:从零基础到短视频上线>一书的"12.1.2 交叉编译Android需要的so库"介绍了如何在Windows环境交叉编译Android所需FF ...
- Log4Net使用示例
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...
- #回滚莫队,链表#洛谷 6349 [PA2011] Kangaroos
题目传送门 分析 首先区间 \([l,r]\) 与 \([L,R]\) 相交当且仅当 \(l\leq R\) 且 \(L\leq r\)(其实就是完全覆盖或者有一端点在区间中) 而且坐标范围太大了,如 ...
- 将py文件编译成pyc
核心代码 import compileall compileall.compile_file("a.py", legacy=True, force=True) 演示步骤 1.新建 ...
- Java构建工具:Maven与Gradle的对比
在Java码农的世界里,构建工具一直是一个不可或缺的元素.一开始,世上是只有一个构建工具的那就是Make后来发展为GNU Make.但是由于需求的不断涌现,这个小圈子里又逐渐衍生出其他千奇百怪的构建工 ...
- 【转】CentOS安装VMware Tools
[转]CentOS安装VMware Tools VMware 是非常好的虚拟机软件.如果系统安装了VMware Tools以后对虚拟机的性能会提升很多的.下面是如果在CentOS系统内安装VMware ...
- redis 简单整理——redis 的哈希基本结构和命令[三]
前言 简单介绍一下哈希基本结构和命令. 正文 什么是hash呢? hash也可以叫做字典.关联数组. 哈希类型是键本身又是一个键值对结构: value={{field1,value1},...{fie ...
- docker 应用篇————dockerfile[十四]
前言 简单介绍一下dockerfile. 正文 dockerfile就是docker image的构建文件. 然后来运行一下. 然后就产生了test:1.0 这个镜像. 然后启动一下你就发现了这个镜像 ...