一、xilinx fpga嵌入式存儲單元
RAM----隨機存取存儲器:上電工作時可以隨時從任何一個指定的地址寫入(存入)或讀出(取出)信息。缺點是一旦斷電所存儲的數據將隨之丟失。RAM在計算機和數字系統中用來暫時性存儲程序、數據和中間結果。
???
分類:
(1)Block RAM (BRAM-----塊RAM)
(2)LUT (可以構成DRAM。分布式RAM)
(3)shift register? -----平移寄存器
二、BRAM和DRAM的區別
在FPGA中,我們將ram分為兩類,DRAM和BRAM
BRAM:block_ram由一定數量固定大小的存儲器塊構成,使用BRAM資源不占用額外的邏輯資源,并且速度快。
DRAM:利用查找表為電路實現存儲器。既可以實現芯片內部存儲,又可以提高資源利用率;不過分布式RAM實現大規模的存儲器會占用大量的LUT,可用來實現邏輯的查找表就會減少,因此建議僅在需要小規模的存儲器時,使用分布式RAM。
區別:
1、BRAM是使用FPGA中整塊的RAM資源;
2、DRAM是FPGA中查找表拼湊出來的,要占用邏輯資源;
3、從物理上看,BRAM是單純的存儲資源,但要一塊一塊的使用,不像DRAM想要多少要多少;
4、DRAM可以是純組合邏輯,即給出地址馬上出數據,BRAM是有時鐘的 。
三、xilinx中RAM的配置分類
(1)single port ram 單端口 : 一組地址線,讀寫分時進行
實驗1:https://blog.csdn.net/loveyousosad/article/details/140045343?spm=1001.2014.3001.5501
實驗2:https://blog.csdn.net/loveyousosad/article/details/140096177?spm=1001.2014.3001.5501
(2)simple dual port? ram 簡單雙端口(偽雙端口):完整的兩組數據和地址線,但是一個端口只能讀,另一個端口只能寫,而且不能同時進行。
實驗:https://blog.csdn.net/loveyousosad/article/details/140145711?spm=1001.2014.3001.5501
(3)dual port ram 雙端口(真雙端口):兩個端口都可以讀寫
實驗:https://blog.csdn.net/loveyousosad/article/details/140157904?spm=1001.2014.3001.5501