简谈FPGA设计中系统运行频率计算方法与组合逻辑的层级
时间:2023-01-03 16:00:00
简谈FPGA系统运行频率计算方法和设计中组合逻辑的层次
今天和大侠简单聊聊大侠。FPGA系统运行频率计算方法和设计中组合逻辑的层次,不多说,装载。
我们的设计需要多少容量的芯片?我们的设计能跑多快?这是两个经常困扰工程师的问题。对于前一个问题,我们也可以先用大芯片实现原型,然后选择大小合适的芯片。对于后者,我们需要一个更准确的估计,我们的设计可以运行50M,100M 还是133M?
先来看看Fmax 它是如何计算出来的。图(1)是用来计算的通用模型FPGA是的。我们可以看到,Fmax 受Tsu , Tco , Tlogic 和 Troute 影响四个参数。( 由于使用FPGA 这里不考虑时钟的抖动)。
时钟周期 T = Tco Tlogic Troute Tsu
时钟频率 Fmax = 1/Tmax
其中:
Tco :D 触发器的输出延迟
Tlogic :组合逻辑延迟
Troute :布线延时
Tsu :D 触发器的建立时间
让我们看看上面的图片:图1。上图是时钟周期的计算模型。由此可见,它正在受到影响Fmax 在四个参数中,针对某个设备Tsu 和Tco 它是固定的,所以我们在设计中只需要考虑两个参数Tlogic 和Troute.通过好的设计和一些,比如Pipeline 的技巧,我们可以把Tlogic 和Troute 控制在一定范围内。满足我们的要求Fmax.
经验表明,一个好的设计通常可以将组合逻辑的层次控制在4 层以内,即( Lut Levels 《=4 ) 。而Lut Levels( 组合逻辑的层次 )将直接影响Tlogic 和Troute 的大小。如果组合逻辑层次多,组合逻辑层次多Tlogic 和Troute 相反, 组合逻辑的层次较少,则Tlogic 和Troute 延迟小。
让我们回头看看Xilinx 和Altera 的FPGA 它是如何形成的。是由Logic Cell ( Xilinx )或 Logic Element( Altera )这种基本结构和连接每个基本结构Logic Cell 或Logic Element 构成连线资源。无论是Logic Cell 还是 Logic Element ,排除各自的特点,取其共性为4 输入搜索表和一个D 触发器。如图(2)所示。任何复杂的逻辑都是由基本单元组成的。图(3)。上一个D 触发器输出到下一个D 触发器的输入LUT 组合逻辑的层次是层次( Lut Levels )。因此,所有用于在电路中实现组合逻辑的延迟都是Tlut 的总和。在这里取Lut Levels = 4 。故Tlogic = 4 * Tlut 。
解决的 Tlogic 以后,我们来看看Troute 怎样计算?由于Xilinx 和Altera 布线资源的设计不同,Xilinx 布线延出布线延迟模型,因此更难分析。幸运的是,行业对布线延迟和逻辑延迟的统计分析表明,逻辑延迟和布线延迟的比例约为1:1 1:2.因为我们选择的大量芯片已经进入0.18um 和0.13um 深亚微米工艺,因此,逻辑延迟与布线延迟的比例为1:2.
下表是我们常用的一些 Xilinx 和Altera 设备性能估算。我们选择每个系列的最低速度等级。Altera 的APEX ,APEX II 我们选择不同规模的系列设备参数EP20K400E 和 EP2A15 作代表。
以EP20K400E-3 数据计算得出。
以 EP2A15-9 数据计算得出。
大家好,我是【FPGA精益求精,不断推荐好文章。