我有一个非常简单的VHDL模块,由几行代码组成。问题是,当我生成比特流时,我结束了 一个巨大的比特流。我猜这是因为XST增加了许多额外的信息以便比特流 可以在FPGA上独立运行。
然而,出于我的目的,单独看模块的比特流的大小而没有任何额外的零碎,这将是有趣的,仅仅是vaniall模块。 Xilinx ISE 12.1中有一个允许我这样做的选项吗?
非常感谢, RICHI
答案 0 :(得分:4)
比特流包含您所定位设备的每个可配置资源的信息,无论您的实际设计利用率如何。当您对FPGA进行编程时,位文件将被输入到器件中,配置您不使用的部件以及您使用的部件。因此,位文件的大小完全由目标设备决定。
如果要查看模块正在使用的资源的细分,请查看map生成的.mrp文件中的“第14节 - 按层次结构使用”部分。
答案 1 :(得分:1)
正如Chiggs所说,对于您定位的每个设备,比特流的大小始终相同。 (你可以通过打开fpga_editor来看到这一点,保存一个空的NCD文件并转换成比特流......仍然是相同的大小!)或者换句话说,每个配置存储单元必须设置(带有0或1)配置。
但事实上,你可以做你所要求的。它被称为动态重新配置,为此工具将生成比特流片段,这些片段一起构成整个比特流。首先,您使用常规比特流配置设备,然后您可以动态地重新配置位于其上的比特流部分,而其余的FPGA正常运行! (干净,没有?)
无论如何,这就是你要求的,但我不确定你想要的是什么......你想要实现的目标是什么?
答案 2 :(得分:0)
很抱歉跳进讨论,但我不认为250KB在任何方面都是一个巨大的比特流!我使用了3500个逻辑片的非常小的FPGA,它给了我3MB的比特流。这里要考虑一件重要的事情。如果您尝试初始化任何RAM,那么比特流将携带额外的位,这些位是FPGA中BRAM模块的初始化位。这可以为比特流添加额外的内存。但平均而言,整个FPGA矩阵都是用存储在Offchip / OnChip Flash中的位写入的,其中存储了位文件,所以它不应该在运行之间改变。