五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ù)組的表示的評論 (共 條)

分享到微博請遵守國家法律
裕民县| 彝良县| 威海市| 黄浦区| 黎城县| 玉田县| 南和县| 苏州市| 遂平县| 高雄市| 南华县| 思南县| 五家渠市| 华宁县| 江北区| 东源县| 雅江县| 宣恩县| 洞口县| 玉林市| 广州市| 周口市| 杭州市| 荔浦县| 徐汇区| 临朐县| 德州市| 威宁| 龙山县| 平遥县| 商洛市| 太和县| 静安区| 义乌市| 阳高县| 广宁县| 鄂托克前旗| 新巴尔虎左旗| 沈阳市| 宁明县| 贡山|