1,FPGA中寄存器的数量怎么估算

FPGA内部有M4K或M9K可以当存储器,用寄存器来当存储器不划算。每个LE中包涵有4LUT和一个寄存器,256*16*49 = 200704,15000LE不够用。

FPGA中寄存器的数量怎么估算

2,FPGA 总的逻辑资源怎么算

可以根据器件型号的后缀来判断,例如Altera的Stratix系列:EP4SE230,约230K(228000)个LEEP4SE820,约820K(813050)个LEEP2S90,约90K(90960)个LEEP2S180,约180K(179400)个LEXilinx的Virtex系列:V4SX35,约35K(34560)个LEV4SX55,约55K(55296)个LEV6SX315T,约315K(314880)个LE经验之谈,以供参考

FPGA 总的逻辑资源怎么算

3,如何分析fpga的片上资源使用情况

  一、 如何得到 LUT 与 REG 的使用比例 我们先看一个 FPGA 工程的编译结果报告: 在这个报告中,我们可以看到如下信息: Total logic elements 24071/24624(98%): 该芯片中共有 24624 个 LE 资源,其中的 98%在这个工程的这次编译中得到了使用。 Total combinational functions 21612/24624(88%): 该芯片的 24624 个 LE 资源中,88%用于实现组合逻辑。 Dedicated logic registers 8858/24624(36%): 该芯片的 24624 个 LE 资源中,36%用于实现寄存器,即时序逻辑。 就是从上述信息中,我得到了组合逻辑与时序逻辑的使用比例——21612/8858 = 2.4:1。 二、 一份更详细的资源利用率报告 在这个报告中, 有一点可能会令人困惑: 为什么 Total combinational functions 与 Dedicated logic registers 之和 (30470) 大于 Total logic elements 24071) 甚至大于该芯片的总资源 ( , (24624) 我们再来看一份更详细的资源使用报告——Fitter Resource Usage Summary: 。 这份报告包含很多信息,在这里我们只需要关心 Total logic elements 一项。Total logic elements 24071/24624(98%)由三种使用情 况不同的 LE 资源组成:仅用于实现组合逻辑的 LE(Combinational with no register 15213),仅用于实现时序逻辑的 LE(Register only 2459),同时用于实现组合逻辑和时序逻辑的 LE(Combinational with a register 6399)。 三、 从 Resource Property Editor 看 LE 的使用情况 在进一步分析这些数据之前, 我们有必要回顾一下 FPGA 的基本组成元素 LE Logic Element) ( 的结构和功能。 Altera 的 Cyclone 以 III 系列 FPGA 芯片为例,其 LE 内部结构如下图所示: 这个 LE 同时用于实现组合逻辑和时序逻辑,其中蓝色部分为组合逻辑(一个 4 输入 LUT),其中黄色高亮部分为时序逻辑(一个 D 触发 器)。 我们再来看一个更有趣的 LE: 这个 LE 也同时用于实现组合逻辑和时序逻辑,与上一幅图不同的地方在于,这里的组合逻辑(4 输入 LUT)与时序逻辑(REG)并没有连 接关系。组合逻辑从 COMBOUT 直接输出,时序逻辑从 REGOUT 输出。这种互不相关的组合逻辑与时序逻辑共用同一个 LE 的情况很特殊, 这是采用了 Register Packing 资源优化技术之后的实现方式。如果没有采用这一资源优化技术,就要用两个 LE 来分别实现相应的组合 逻辑和时序逻辑。 明白了上面这两幅图,大家也能由此类推,想象出仅用于实现组合逻辑的 LE(Combinational with no register)和仅用于实 现时序逻辑的 LE(Register only)该是什么样子。 四、 “数字终于对(凑)上了!” 我们回到前面关于资源利用率分析的部分。有了上面介绍的知识,大家应该能够把资源利用率报告中三种使用情况不同的 LE 区 分开了。 我们把“同时用于实现组合逻辑和时序逻辑的 LE(6399)”分别加到“仅用于实现组合逻辑的 LE(15213)”和“仅用于实现 时序逻辑的 LE(2459)”上面, 就可以得到“全部组合逻辑”(Total combinational functions = 6399 + 15213 = 21612)和“全 部寄存器”(Dedicated logic registers = 6399 + 2459 = 8858)两个数值了。这两个数值就是第一幅图中关于资源利用率的汇总报 告结果,它们的比例恰好就是 2.4:1。 由于 6399 这个数字被使用了两次,所以我们最初关于“Total combinational functions 与 Dedicated logic registers 之和 (30470 = (6399 + 15213) + (6399 + 2459))大于 Total logic elements(24071 = 6399 + 15213 + 2459)”的困惑也得到了解答。 五、 总结 由于 FPGA 设计中用到的组合逻辑与时序逻辑的数量不均衡,部分 LE 会仅用于实现组合逻辑或时序逻辑;进一步,由于布局位 置的限制,单独实现组合逻辑或时 序逻辑的两个 LE 可能不能合并到一个 LE 中实现。所以,在资源利用率报告中会出现三种使用情况不 同的 LE。 由于过长的组合逻辑链(级联的 LUT)会引入较大的延时,而插入 Register(时序逻辑)能够把一条较长的组合逻辑链分割成 几条较短的组合逻辑链,有 效地缩短关键路径和次关键路径的长度,进而提高 FPGA 设计的整体时序性能,所以组合逻辑与时序逻辑的 使用比例可以作为评价 FPGA 设计时序性能的一个辅 助参数。 过于复杂的组合逻辑也会占用多个 LE。我们在编写 HDL 代码的时候,不能单独把减少 Register 的使用量作为节省资源的手段, 而应该兼顾组合逻辑与时 序逻辑,根据目标 PLD 器件的底层结构,编写组合逻辑和时序逻辑比例符合 PLD 器件资源比例的代码。

如何分析fpga的片上资源使用情况


文章TAG:fpgafpga  h264需要多少个le  FPGA中寄存器的数量怎么估算  
下一篇