Vhdl 如何确定设计使用的切片数

Vhdl 如何确定设计使用的切片数,vhdl,fpga,xilinx,Vhdl,Fpga,Xilinx,我使用Xilinx ISE用VHDL实现了一个16位ALU和一个寄存器文件。我被问到我的设计使用了多少片,我不知道如何回答这个问题。我没有使用特定的芯片或模拟芯片,我只是编写了vhdl并使用测试台对其进行调试 有没有办法让ISE生成我的设计使用了多少个切片?还是我需要检查所有代码并计算操作数?还是像定义我使用的组件类型那样简单?啊,我想出来了 诀窍是单击要获取切片计数的任何模块,并通过转到Source->set as top level module将其设置为顶级模块。完成此操作后,在“流程”窗

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

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

啊,我想出来了


诀窍是单击要获取切片计数的任何模块,并通过转到Source->set as top level module将其设置为顶级模块。完成此操作后,在“流程”窗格下(确保该模块仍在“源代码”窗格中突出显示),转到Synthesis-XST并双击“查看合成报告”。然后,该模块的切片数将列在该报告中。

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

切片可能是一个欺骗性的度量(尤其是在映射报告之后),因为如果只使用切片的单个元素,它将按使用情况计算整个切片。您必须理解切片中的内容,才能真正理解使用编号的含义。例如,Virtex 6每片有8个触发器和4个6输入LUT


如果只查看合成编号(片触发器和片LUT),您可能会错过设计中使用的任何网络列表黑匣子(即coregen元件、microblaze、系统生成器或以网络列表形式交付的第三方IP)。

您考虑过签出吗?(我不知道你的问题在那里会不会更好,根本不知道我的领域。)这很有帮助,但我仍然找不到我想要的。谢谢你!啊,我知道了。诀窍是单击要获取切片计数的任何模块,并通过转到Source->set as top level module将其设置为顶级模块。完成此操作后,在“流程”窗格下(确保该模块仍在“源代码”窗格中突出显示),转到Synthesis-XST并双击“查看合成报告”。然后,该模块的切片数将列在该报告中。我会在一段时间内把这个作为一个答案发布(我暂时没有足够的代表回答我自己的问题)。你应该把它作为一个答案发布。回答你自己的问题很好,你甚至可以从中获得一些声誉:)我会的,我只需要等6个小时-u-在这种情况下,我应该如何查看切片计数?我认为即使我只使用了一个组件,它也会计算一个切片,所以我认为应该将其视为“最坏情况”的评估。但是你说它会打折一些元素。在这种情况下,这个指标有什么帮助呢!?当你说切片计数时,你正在查看的度量的文本是什么?它是说X片还是X片寄存器/LUT。在综合之后和实现之前,这些工具实际上只知道需要多少寄存器和多少LUT。需要映射和放置来确定该数量或寄存器和LUT需要多少片。简单地除以每个片的LUT/寄存器的数量通常是不现实的。