赞
踩
在学习使用FIFO的过程中,什么时候使用dram、bram及uram呢,一直困扰我很久。我在网上查阅资料,也没有一个比较完善的说法。经过我请教大神,总结以下的使用方法,与各位同享,理解不透彻之处,多多包涵。
fifo中对于ram使用有dram、bram及uram三种。
dram即distributed ram,分布式ram,在位宽大,深度较浅的时候使用或者深度较浅的时候使用,第一次使用听到时候是不是一点概念也没有,我也是。我理解就是depth小于64,对深度没有特别要求,不需要一定缓存一定的数据,这时候就采用dram。
bram即block ram,块ram,一般分为16k和36k两种,16k一般分为36*512(36是位宽,512是深度),16*1024(16是位宽,1024是深度),36k也是同理分为36*1024,72*512两种。一般才深度较深时候使用bram。但这个时候得考虑利用率得问题。比如说,需要缓存4bit*4096深度,这时候如果使用bram,就得好用4个bram,利用率为4/16,非常低,消耗fpga资源,在资源比较宝贵得情况下是不容许得。这时候就可以把4bit*4096转换成16*1024,这样一个1bram拼接个小深度dram就可以解决,资源利用率大大提高。
uram即ultra ram,在深度很深情况,bram满足不了,使用uram来代替,uram是深度是远大于bram得。但是有的芯片没有uram。
在fpga开发前行的路上,知识悦分享,越通透。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。