單口 RAM(Single RAM)、雙口 RAM(Dual RAM)、簡(jiǎn)單雙口 RAM(Simple-Dual RAM)、真雙口 RAM(True-Dual RAM)有什么不同?
對(duì)于 分布式 RAM,支持簡(jiǎn)單雙口 RAM 和雙口 RAM,不能配置成真雙口 RAM。
問(wèn)題在于:Xilinx 給出的 DRAM(分布式 RAM)支持雙口,我把雙口認(rèn)為包含真雙口了,不對(duì)。
先總結(jié)一下,如有不對(duì),歡迎私信聯(lián)系批評(píng)指正。
對(duì)于 BRAM(Block RAM,塊 RAM)
在 BRAM Controller 控制器下,支持單口 RAM、真雙口 RAM、單口 ROM 和雙口 ROM;
在不使用 AXI 的控制器情況下,支持單口 RAM、簡(jiǎn)單雙口 RAM、真雙口 RAM,單口 ROM 和雙口 ROM。
單口RAM:
1 個(gè)時(shí)鐘,1 個(gè)讀寫(xiě)地址(要么讀用,要么寫(xiě)用),可以讀也可以寫(xiě),但是不能同時(shí)讀寫(xiě);
簡(jiǎn)單雙口 RAM:
2 個(gè)端口,有相互獨(dú)立的時(shí)鐘,一個(gè)口專門(mén)負(fù)責(zé)寫(xiě),一個(gè)口專門(mén)負(fù)責(zé)讀;
真雙口 RAM:
和簡(jiǎn)單雙口的區(qū)別:
簡(jiǎn)單雙口是一個(gè)口專門(mén)讀,一個(gè)口專門(mén)寫(xiě);
真雙口是 2 個(gè)口都可以讀寫(xiě);
真雙口可以看成是 2 個(gè)單口拼起來(lái)的,且 2 個(gè)單口共享存儲(chǔ)器。
單口 ROM 和 雙口 ROM
雙口 ROM 可以看成是 2 個(gè)單口拼起來(lái)的,且 2 個(gè)單口共享存儲(chǔ)區(qū)。
對(duì)于 DRAM(Distribute RAM,分布式 RAM)
ROM
給地址,出對(duì)應(yīng)地址的數(shù)據(jù),沒(méi)有時(shí)鐘
RAM:支持單口、簡(jiǎn)單雙口、雙口。
(注意!這里的雙口和真雙口不同,DRAM 不支持真雙口 RAM)
單口 RAM:讀寫(xiě)共用地址 a[5:0],寫(xiě)數(shù)據(jù)時(shí) we 拉高,不能同時(shí)讀寫(xiě);
簡(jiǎn)單雙口 RAM:1 個(gè)讀地址,1 個(gè)寫(xiě)地址,1 個(gè)輸入,1 個(gè)輸出;
雙口 RAM:1 個(gè)通道共享讀寫(xiě)(等同于單口),1 個(gè)通道只讀,2 個(gè)輸出,
spo 數(shù)據(jù)對(duì)應(yīng) a 地址,dpo 數(shù)據(jù)對(duì)應(yīng) dpra 地址;
a[5:0],讀寫(xiě)共用的地址,當(dāng) we = 1 時(shí)表示寫(xiě)地址,將 d[15:0] 寫(xiě)入 RAM,當(dāng) we = 0 時(shí),將 a[5:0] 地址的數(shù)據(jù)從 spo[15:0] 上輸出;
dpra[5:0] 只用于讀的地址,讀出 dpra[5:0] 上的數(shù)據(jù),從 dpo[15:0] 輸出。
當(dāng)進(jìn)行讀取時(shí),簡(jiǎn)單雙口一次讀取 1 個(gè)數(shù)據(jù),雙口可以同時(shí)讀取出 2 個(gè)數(shù)據(jù)。
四口 RAM:1 個(gè)通道共享讀寫(xiě),3 個(gè)通道只讀;
單口:
WE = 1 寫(xiě)入,使用的實(shí)際上是 WA[6:1] 地址,寫(xiě)入發(fā)生在時(shí)鐘的上升沿,時(shí)序邏輯;
WE = 0 讀出,使用的是 A[6:1] 地址,地址線上有地址,數(shù)據(jù)立刻讀出,組合邏輯輸出;
單口情況下,A 和 WA 連在一起,共享讀寫(xiě)地址線;
雙端口:
?一個(gè)用于同步寫(xiě)入和異步讀取的端口
第一個(gè)函數(shù)發(fā)生器與共享讀寫(xiě)端口地址相連
?一個(gè)用于異步讀取的端口
第二函數(shù)發(fā)生器具有連接到第二個(gè)讀端口地址的A輸入,并且 WA 輸入與第一讀/寫(xiě)端口地址共享
如下圖所示為雙口 DRAM 的讀寫(xiě)仿真:
(1)在 WE = 0 時(shí),兩個(gè)口均為讀出口,A 口的地址線 ADDR[3:0] 的地址為 0,在 SPO[7:0] 上讀出數(shù)據(jù) 17,B 口的地址線 DPRA[3:0] 為 0,在 DPO[7:0] 上讀出數(shù)據(jù) 17;
(2)在 WE = 1 時(shí),A 口為寫(xiě)入口,B 口是只讀口,此時(shí)仍為讀出口,A 口向地址 0 寫(xiě)入數(shù)據(jù) D[7:0] = 34,B 口仍為讀,讀出 0 地址的數(shù)據(jù) 34;
簡(jiǎn)單雙端口
?一個(gè)用于同步寫(xiě)入的端口(沒(méi)有來(lái)自寫(xiě)入端口的數(shù)據(jù)輸出/讀取端口)
?一個(gè)用于異步讀取的端口
原文標(biāo)題:Xilinx的分布式RAM和塊RAM——單口、雙口、簡(jiǎn)單雙口、真雙口的區(qū)別
文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
RAM
+關(guān)注
關(guān)注
8文章
1352瀏覽量
114393 -
Xinlix
+關(guān)注
關(guān)注
0文章
6瀏覽量
7987
原文標(biāo)題:Xilinx的分布式RAM和塊RAM——單口、雙口、簡(jiǎn)單雙口、真雙口的區(qū)別
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論