• 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:

    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

  • 相关阅读:
    在单向链表中删除指定的key
    双向链表反转
    单向链表反转
    认识异或运算
    二分查找
    插入排序
    冒泡排序
    选择排序
    go 语言环境安装
    欧几里得算法
  • 原文地址:https://www.cnblogs.com/halflife/p/16310602.html
Copyright © 2020-2023  润新知