硬件語言定義數組

1.用Verilog語言定義數組

這裏的內存模型指的是內存的行爲模型。Verilog中提供了兩維數組來幫助我們建立內存的行爲模型。具體來說,就是可以將內存宣稱爲一個reg類型的數組,這個數組中的任何一個單元都可以通過一個下標去訪問。這樣的數組的定義方式如下:

reg [wordsize : 0] array_name [0 : arraysize];

      例如:

reg [7:0] my_memory [0:255];

其中 [7:0] 是內存的寬度,而[0:255]則是內存的深度(也就是有多少存儲單元),其中寬度爲8位,深度爲256。地址0對應着數組中的0存儲單元。

         如果要存儲一個值到某個單元中去,可以這樣做:

         my_memory [address] = data_in;

      而如果要從某個單元讀出值,可以這麼做:

         data_out = my_memory [address];

   2. 用VHDL語言定義數組

TYPE RAMType is ARRAY(arraysize downto 0) OF std_logic_vector(wordsize DOWNTO 0);--定義這樣的結構體數組
SIGNAL mem:RAMType:=(others=>(others=>'0'));--使用mem[7]

使用方法:mem(index)<= datain;


發佈了13 篇原創文章 · 獲贊 24 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章