verilog memory


memory 定義

命名規則:reg[n-1:0] 存儲器名[m-1:0]

說明:這是m個n位的存儲器,該存儲器的地址范圍是0-(m-1)

eg:

reg[7:0]  data_rd[99:0];//100個8位的存儲器,地址范圍0~99

賦值:memo[200] = 4'b1010;

說明:給第200地址單元賦值4'b1010;

精確到位:memo[56][2]

說明:第56地址的第2位數據

賦值:wire data=memo[56][1];

說明:把memo中第56地址的第1位數據賦值給data;

賦值:wire data=memo[56][31:0];

說明:把memo中第56地址的前32位數據賦值給data;

memory 初始化賦值

(1)

$readmemh("data.txt",data_rd);//16進制為存儲器賦值

$readmemb("data.txt",data_rd);//16進制為存儲器賦值

這些系統任務從指定的文本文件中讀取數據並加載到存儲器。文本文件必須包含相應的二進制或者十六進制數。

eg:

initial
begin
$readmemh("data.txt",data_rd);//16進制為存儲器賦值
for(n=0;n<=99;n=n+1)
$display("%h",data_rd[n]);
end

(2)分別對存儲器中的每個字賦值。例如:
     reg [0:3] Xrom [1:4];
     Xrom[1] = 4'hA;
     Xrom[2] = 4'h8;
     Xrom[3] = 4'hF;
     Xrom[4] = 4'h2;


免責聲明!

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



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