【问题标题】:FPGA resource estimationFPGA资源估计
【发布时间】:2013-08-14 20:50:17
【问题描述】:

我通过计算一个组件所需的触发器数量来估计我的资源使用情况。例如,当我为ins_controldata(简单计数器和一些 I/O)估计它时,我使用了 32 个触发器。当我查看该组件的详细映射报告时,第 13 节 - 层次结构的利用,我看到我的估计接近用于该组件的切片寄存器的数量。每个切片有 4 个 LUT 和 8 个触发器。

现在,当我对有限状态机 inst_xtm640 执行相同操作时,我估计我的触发器使用量约为 43(包括 6 个状态所需的 3 个触发器)。当我查看地图报告时,我发现我的估计或多或少是正确的(+-10% 错误)。但是所需的 slice 数量远远高于所需的 slice 寄存器和 LUT。用 LUT 看是 40,应该只有 20 左右。

为什么要为这个组件使用额外的切片?是为了速度优化吗?

+----------------------------------------------------------------------------------+
| Module               | Partition | Slices*       | Slice Reg     | LUTs          |                                                            
+----------------------------------------------------------------------------------+
| ++inst_controldata   |           | 6/6           | 35/35         | 20/20         |
| +++inst_xtm640       |           | 40/40         | 57/57         | 88/88         |
+----------------------------------------------------------------------------------+

编辑: 我想我自己找到了它,但总是欢迎其他输入:

并非所有切片都已完全使用。所以这并不意味着如果我使用 88 个 LUTS 和 57 个切片寄存器,我将使用 22 个切片。有些切片没有完全使用,所以这会使切片使用率更高。此外,还将使用额外的切片来满足时序限制。

【问题讨论】:

    标签: resources vhdl slice fpga state-machine


    【解决方案1】:

    您的编辑确实是正确的。 合成器有时是一个非常不可预测的东西,尤其是您的约束是什么以及您针对什么进行优化是获得结果的关键。

    如果您要针对大小(面积)进行优化,您的估计值可能会更接近。 你的系统越大越复杂,这对你最终的位置和路线的影响就越大。这就是为什么当您查看您的小示例时,结果更接近。

    这也是您不应该“填满”您的 FPGA 的一个很好的理由。 剩下的空间越多,优化器关闭时间的效率就越高。 这当然是对资源的“浪费”,但可能会带来更好的结果。

    我收到的关于 FPGA 布局的一个建议是不要详细说明合成器没有运行空间。例如。不要用逻辑做触发器,而是使用语言的抽象。只要您知道结果是如何达到的,就让合成器完成它的工作,找出什么是必要的以及如何优化它,它通常会做得更好

    \保罗

    【讨论】:

      【解决方案2】:

      在赛灵思工具链中,将 LUT 和寄存器分配给特定切片的构建步骤称为“映射”。默认情况下,特别是如果您的设计仅占用少量设备资源,map 不会尝试将尽可能多的 LUT 和寄存器打包到一个切片中。这就是为什么您看到的切片数比预期的要多。

      您可以通过将 -c (Pack Slices) 选项设置为 1 来强制 map 更积极地打包切片:

      -c [包装因子]

      packfactor(对于非零值)是目标切片密度 百分比。

      • packfactor 值为 0 指定只有相关逻辑(具有公共信号的逻辑)应打包到单个 Slice 中,并且 产生最不密集的设计。
      • packfactor 为 1 会产生最大的打包密度,因为打包机正在尝试 1% 的切片利用率。
      • packfactor 为 100 意味着只会出现足够多的不相关的包,以适应设备的 100% 利用率。这导致最小 堆积密度。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-18
        • 2016-08-10
        • 1970-01-01
        • 2020-03-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多