关于block ram
时间:10-02
整理:3721RD
点击:
我现在需要一块宽度为432bit,深度为54的存储器,xilinx平台。由于数据宽度很大,深度却很小,用block ram 或者分布式ram来存储的话,都比较浪费资源
请问有没有其他的存储方法来代替呢?
请问有没有其他的存储方法来代替呢?
xilinx fpga里的block ram一个就能存32kbit了吧。block ram完全能胜任啊。直接用coregen生成一个432宽,54深的ram就行
是可以,但是所使用的block ram数量和数据的宽度、深度都有关系,并不是说小于32k的数据量就一定只用一个block ram, 我这个宽度太大了,需要14个block ram拼凑,所以说很浪费资源。
试了下在virtex5上用coregen做,只要6个36kbit bram
我上面说错了,我需要的是真双口的ram,应该是12个,而不是14个,如果是单口的话,是6个
哦xilinx fpga的片上存储资源只有block ram和lut作为分布式ram了,除此之外还真想不出有什么别的
只能用blockram了
block RAM资源紧张的话,FPGA时用寄存器做吧
如果你对数据的实时存储没那么急迫的话,可以考虑减少RAM宽度改用深度的方法啊,比如第一个32位放第一深度,第二个32位放第二个深度……读出来的时候再拼出来就行。
这样做的时候,要想个法子来寻找对齐点,以免在发生意外时借位了,比如简单的方法,设定第31bit为标志符,如果是第一个数据,就写1,其它的写0,你从RAM读出来解的时候根据这个来对齐。
