verilog學習(9)實戰之存儲器&奇偶校驗


一:關於RAM的存儲容量

  硬件數據手冊在描述存儲容量時,通常給出地址的總個數與一個地址的存儲位寬(不包括錯誤檢測位與奇偶校驗位)

  例如:256k*16的RAM芯片可以存儲256kbit=256*1024bit=28*210=218bit,這里一個地址的存儲位寬為16(數據線數目);總線的寬度為:218/16=214,即14根地址線;容量218=16*214(數據線數目*2地址線數目)。

  下面我們將設計一個帶有奇偶校驗位的“1kb*32”的靜態RAM的verilog模型。該存儲器的容量為1024bit;一個地址存儲位寬為32(數據線數目);共有1024/32=32個地址,址線的尋址空間為0-32,addr的位寬為5(reg[4:0])。

二:奇偶校驗位

  奇偶檢驗在RAM里很常用,每個地址的比特1(或者0)的數目都被記錄了下來,然后每個地址分配一個額外的比特,根據1(或者0)的比特數目將它賦為1或0;

  例如偶校驗,在數據最高位加入1bit數據,使得1的個數位偶數;這里可以使用異或來表示;

  

 

三:計帶有奇偶校驗位的1kb*32的靜態RAM

  

1:由上面的理解,Addr為reg[4:0],DataI為32位reg[31:0],內部存儲器為reg[32:0] Storage[31:0],加上奇偶校驗位一共32位,包含32個地址。

2:主要代碼

  

  

 3:make

  

4:打開dve

  

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM