FPGA中block ram和distributed ram的區別
在Spartan-3系列FPGA中使用LUT構建分散式RAMhttp://xilinx.eetrend.com/tag/846?quicktabs_1=0
利用塊RAM實現資料延遲的一些問題http://bbs.eetop.cn/thread-431323-1-1.html
- 問 -
分散式和Block RAM的區別
- 答 -
CLB單元生成的distribute ram ,CLB是FPGA的基本單元,blockram也是基本單元,但分佈ram要由CLB單元生成。由CLB生成分散式ram,消耗邏輯資源。而blockram則固定在fpga內,無論使用與否都存在於那裡。當block ram不夠用時可以用邏輯資源生成分散式ram。
- 問 -
分散式RAM是如何產生的?
- 答 -
這裡以Virtex4為例說明:一個CLB由4個Slice組成,這4個Slice又分SliceM和SliceL,其中M是Memory的首字母,L是Logic的首字母,比較SliceM和SliceL,他們的區別就是SliceM的查詢表具有RAM和ROM的功能,而SliceL的則不具備。所以SliceM比SliceL多的功能就是做儲存器和移位。這樣就很清楚了:SliceM可實現DistributRAM,而Distribut RAM是由SliceM中的LUT實現。CLB的結構下所示:
Matric-------SliceM(2)SliceL(3)--------Y1
Switch------SliceM(0)SliceL(1)--------Y0
||
||
X0X1
這裡XNYM,X--列,N--列號,Y--行,M--行號,Xilinx FPGA內部結構是一種陣列結構。
- 問 -
請問SliceM除了可實現Distribut RAM之外還能實現什麼功能?
SliceM實現Distribut RAM時使用SliceM中的SRL16儲存單元麼?
- 答 -
如果看SliceM的圖,是看不到裡面有專麼這個SRL16的。其實SRL16就是一個基於查詢表結構的移位暫存器。而SRL16以primitive形式存在而已。在userguide中,也畫了SRLC16的圖,它就是一個查詢表。比較SliceM和SliceL,他們的區別就是SliceM的查詢表具有RAM和ROM的功能,而SliceL的則不具備。所以SliceM比SliceL多的功能就是做儲存器和移位。“SliceM實現DistributRAM時使用SliceM中的SRL16儲存單元麼?”因為SRL16用的就是LUT,所以,如果這個LUT作為DistributeRAM使用了,則就不能再作為SRL16使用了。
- 問 -
分散式和Block RAM的區別
- 答 -
CLB單元生成的distribute ram ,CLB是FPGA的基本單元,blockram也是基本單元,但分佈ram要由CLB單元生成。由CLB生成分散式ram,消耗邏輯資源。而blockram則固定在fpga內,無論使用與否都存在於那裡。當block ram不夠用時可以用邏輯資源生成分散式ram。
- 問 -
分散式RAM是如何產生的?
- 答 -
這裡以Virtex4為例說明:一個CLB由4個Slice組成,這4個Slice又分SliceM和SliceL,其中M是Memory的首字母,L是Logic的首字母,比較SliceM和SliceL,他們的區別就是SliceM的查詢表具有RAM和ROM的功能,而SliceL的則不具備。所以SliceM比SliceL多的功能就是做儲存器和移位。這樣就很清楚了:SliceM可實現DistributRAM,而Distribut RAM是由SliceM中的LUT實現。CLB的結構下所示:
Matric-------SliceM(2)SliceL(3)--------Y1
Switch------SliceM(0)SliceL(1)--------Y0
||
||
X0X1
這裡XNYM,X--列,N--列號,Y--行,M--行號,Xilinx FPGA內部結構是一種陣列結構。
- 問 -
請問SliceM除了可實現Distribut RAM之外還能實現什麼功能?
SliceM實現Distribut RAM時使用SliceM中的SRL16儲存單元麼?
- 答 -
如果看SliceM的圖,是看不到裡面有專麼這個SRL16的。其實SRL16就是一個基於查詢表結構的移位暫存器。而SRL16以primitive形式存在而已。在userguide中,也畫了SRLC16的圖,它就是一個查詢表。比較SliceM和SliceL,他們的區別就是SliceM的查詢表具有RAM和ROM的功能,而SliceL的則不具備。所以SliceM比SliceL多的功能就是做儲存器和移位。“SliceM實現DistributRAM時使用SliceM中的SRL16儲存單元麼?”