最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【教程】Verilog中數(shù)組的表示

2023-02-01 09:46 作者:明德?lián)P易老師  | 我要投稿


FPGA中的二維數(shù)組其實不是真正意義上的數(shù)組,而是由多個寄存器組成的ROM或RAM。


具體來說,就是可以將內(nèi)存宣稱為一個reg類型的數(shù)組,這個數(shù)組中的任何一個單元都可以通過一個下標(biāo)去訪問。
這樣的數(shù)組定義方式如下:
reg [wordsize : 0]??memory_name [0 : memorysize];
其中[wordsize : 0]是內(nèi)存的寬度,而 [0 : memorysize]則是內(nèi)存的深度(也就是有多少存儲單元)。

如果要存儲一個值到某個單元中去,可以這樣做:
memory_name [address] = data_in;

如果要讀取每個單元的值,可以這么做:
data_out = memory_name [address];

由于Verilog不允許讀/寫一個位,所以需要讀寫一位或者多個位時的操作要麻煩點:
data_out = memory_name [address];
data_out_0 = data_out [0];
這里首先從一個單元讀出數(shù)據(jù),然后再取出數(shù)據(jù)的某一位的值。

初始化內(nèi)存
初始化內(nèi)存有多種方式,這里介紹的是使用$readmemb和$readmemh系統(tǒng)任務(wù)來講保存在文件中得數(shù)據(jù)填充到內(nèi)存單元中去。

$readmemb和$readmemh是類似得,只不過$readmemb用于內(nèi)存得二進制表示,

$readmemh用于內(nèi)存內(nèi)容得十六進制表示。這里以$readmemh系統(tǒng)任務(wù)來介紹


語法:$readmemh("file_name", mem_array, start_addr, stop_addr);


注意的是:file_name是包含數(shù)據(jù)的文本文件名,mem_array是要初始化的內(nèi)存單元數(shù)組名,

start_addr 和 stop_addr是可選的,指示要初始化單元的起始地址和結(jié)束地址。

如果對寄存器組進行在復(fù)位得時候進行置0,可以參考如何往寄存器組中寫入數(shù)據(jù)



【教程】Verilog中數(shù)組的表示的評論 (共 條)

分享到微博請遵守國家法律
抚顺市| 吐鲁番市| 甘谷县| 元朗区| 长白| 大城县| 滦南县| 鄄城县| 新化县| 峨眉山市| 内江市| 宁波市| 蒙阴县| 蓝山县| 金阳县| 张掖市| 武冈市| 宝兴县| 宜良县| 沈丘县| 苏州市| 屯昌县| 东阿县| 乌拉特中旗| 泰兴市| 获嘉县| 鄂温| 原平市| 鄂托克旗| 通州市| 大英县| 博客| 宁都县| 长春市| 泉州市| 大新县| 景德镇市| 陇川县| 正镶白旗| 来凤县| 通渭县|