3

我使用 Xilinx ISE 在 VHDL 中实现了一个 16 位 ALU 和一个寄存器文件。我被问到我的设计使用了多少片,我不知道如何回答这个问题。我没有使用特定芯片或模拟芯片,我只是编写了 vhdl 并使用测试台对其进行了调试。

有没有办法让 ISE 生成我的设计使用的切片数量?还是我需要检查所有代码并计算我的操作?还是像定义我使用的组件类型一样简单?

4

2 回答 2

4

要真正了解您的设计将使用哪些资源,请使用地图报告。实施设计并在映射报告文件中查看设计中每个模块的使用情况(切片、切片寄存器(或触发器)、LUTS、LUTRAM、BRAM、DSP 等)的分层报告。在 ISE 13.2 中,即 _map.mrp 文件的第 13 节。您可能必须在地图中启用 -detail 开关。

切片可能是一个具有欺骗性的指标(尤其是在地图报告之后),因为如果您只使用切片的单个元素,它会将整个切片计算为已使用。您必须了解切片中的内容才能真正了解使用次数的含义。例如,Virtex 6 每个切片有 8 个触发器和 4 个 6 输入 LUTS。

如果您只查看综合编号(切片触发器和切片 LUTS),您可能会错过您的设计使用的任何网表黑盒(即 coregen 元素、microblaze、系统生成器或以网表形式提供的第三方 IP)。

于 2011-10-12T18:13:58.500 回答
1

呃,我想通了。

诀窍是单击要获取切片计数的任何模块,然后通过转到 Source->Set as top level module 将其设置为顶级模块。一旦你这样做了,在 Processes 窗格下(确保模块在 Sources 窗格中仍然突出显示)转到 Synthesize - XST 并双击“View Synthesis Report”。然后在该报告中列出该模块的片数。

于 2011-10-11T02:45:36.833 回答