2017-03-08 40 views
1

我想知道凿子中RegMem的用法差异,以及我如何决定在常见情况下选择哪种方法。我认为当存储大量数据时,Mem是最好的想法,因为它会将数据存储到SRAM而不是使用FPGa片内的触发器,对吗?将触发器中的位向量存储而不是内存 - 凿子

如果我想实现一个大的寄存器文件(10x通常大小),是否最好使用Mem然后是Reg的位置?

回答

2

有几个区别。关于使用SRAM与触发器有关的一点是表面差异。实际上,大多数FPGA供应商都支持将内存实现为块存储器或触发器的想法。在功能上,它们将是相同的。由于大多数FPGA供应商采用其技术的方式,如果使用单块RAM中的一小块棉条,则基本上使用所有单块RAM。假设你的设备中有10个10块RAM。你实现了10个微小的存储器,每个只有字节宽可以说...你将使用全部10块RAM!这不好。如果你拥有的内存表很小,那么将它们作为触发器来实现,并保存大块的内存块。对于你自己的问题,你建议mem对大数据更好,这就是为什么这是真的。

下一个问题,是时机。事实证明,FPGA存储器的时序相对于Flops有时可能较慢。换句话说,如果你有一个你在内存中实现的缓冲区,并且发现你无法让设计在300Mhz下运行,那么你可以改变缓冲区来使用触发器,并且你可能会挤出你需要的额外速度你到300Mhz。

也有路由差异。根据您的设计,您可能会发现芯片的一个象限内的所有内存都被利用,所以现在设计正试图进入另一个象限以获得更多的Block RAM,从而导致您的逻辑分散开来。这也可能表现为时间不佳。如果你允许一些内存作为触发器实例,那么你可能会看到你的设计在象限中恢复成形,因为它不需要为额外资源拉伸。

这些是我在考虑使用内存而不是Flops时考虑的一些问题。

相关问题