xilinx spartan3an系列fpga:
一個CLB包含4個SLICE,其中左邊兩個SLICE可用於存儲、移位寄存器和邏輯配置,稱爲SLICEM;右邊的兩個SLICE只能用於邏輯組合,稱爲SLICEL。每個SLICE中有2個LUT,2個存儲單元,多路複用器,進位鏈等。一個LUT和一個存儲單元稱爲一個LOGIC CELL,因此通常一個SLICE等效於2.25個LOGIC
CELL。
1、bram 的輸出需要時鐘,dram在給出地址後既可輸出數據。
2、bram有較大的存儲空間,是fpga定製的ram資源;而dram是邏輯單元拼出來的,浪費LUT資源
3、dram使用更靈活方便些
補充:
1、較大的存儲應用,建議用bram;零星的小ram,一般就用dram。但這只是個一般原則,具體的使用得看整個設計中資源的冗餘度和性能要求
2、dram可以是純組合邏輯,即給出地址馬上出數據,也可以加上register變成有時鐘的ram。而bram一定是有時鐘的。
3、如果要產生大的FIFO或timing要求較高,就用BlockRAM。否則,就可以用Distributed RAM。
在Xilinx Asynchronous FIFO CORE的使用時,有兩種RAM可供選擇,Block memory和Distributed memory。差別在於,前者是使用FPGA中的整塊雙口RAM資源,而後者則是拼湊起FPGA中的查找表形成。
- 問 -
分佈式和Block RAM的區別
- 答 -
CLB單元生成的distribute ram ,CLB是FPGA的基本單元,block ram也是基本單元,但分佈ram要由CLB單元生成。由CLB生成分佈式ram,消耗邏輯資源。而block ram則固定在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可實現Distribut
RAM,而Distribut RAM是由SliceM中的LUT實現。CLB的結構下所示:
Matric -------SliceM(2) SliceL(3)--------Y1
Switch ------ SliceM(0) SliceL(1)--------Y0
| |
| |
X0 X1
這裏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實現Distribut
RAM時使用SliceM中的SRL16存儲單元麼?” 因爲SRL16用的就是LUT,所以,如果這個LUT作爲Distribute RAM使用了,則就不能再作爲SRL16使用了。
distributed ram && block ram
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Verilog例化(調用)模塊注意事項
llxxyy507
2020-06-24 03:41:15
Verilog操作符(邏輯操作符,位操作符,遞減操作符Reduction Operators),異或運算
1,Verilog邏輯操作符 邏輯操作符 功能 A與B的運算 C與D的運算 && 邏輯與 A&&B= 0 C&&D= 1 | | 邏輯或 A| |B= 1 C| |D= 1 ! 邏輯非
llxxyy507
2020-06-24 03:41:15
靜態時序分析的基本方法06
littbi
2020-02-23 14:43:16
靜態時序分析的基本方法04
littbi
2020-02-23 14:43:16
debussy 使用
Alan5555
2020-02-23 05:56:47
signal tap
Alan5555
2020-02-23 05:56:47
Module 'rom' is not defined 錯誤的解決辦法
Alan5555
2020-02-23 05:56:47
modelsim改變波形背景顏色
Alan5555
2020-02-23 05:56:47
.mif 文件 注意的地方
Alan5555
2020-02-23 05:56:47
數字集成電路設計-8-一個簡單sobel圖像邊緣檢測加速器的設計,實現,仿真與綜合
Rill
2020-02-22 12:12:27
關於verilog中綜合的過程,可綜合與不可綜合的理解
F~C~H
2020-02-20 19:47:23
Verilog例化(調用)模塊注意事項
llxxyy507
2020-06-24 03:41:15
Verilog操作符(邏輯操作符,位操作符,遞減操作符Reduction Operators),異或運算
1,Verilog邏輯操作符 邏輯操作符 功能 A與B的運算 C與D的運算 && 邏輯與 A&&B= 0 C&&D= 1 | | 邏輯或 A| |B= 1 C| |D= 1 ! 邏輯非
llxxyy507
2020-06-24 03:41:15
靜態時序分析的基本方法06
littbi
2020-02-23 14:43:16
靜態時序分析的基本方法04
littbi
2020-02-23 14:43:16