chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Verilog中的二維數組說明

電子工程師 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2020-09-28 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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];

但要是只需要讀一位或者多個位,就要麻煩一點,因為Verilog不允許讀/寫一個位。這時,就需要使用一個變量轉換一下:(wolf點評:菜鳥易犯的錯誤,注意?。?/p>

例如:

data_out = my_memory[address];

data_out_it_0 = data_out[0];

這里首先從一個單元里面讀出數據,然后再取出讀出的數據的某一位的值。

初始化內存

初始化內存有多種方式,這里介紹的是使用readmemb和readmemb和readmemh系統(tǒng)任務來將保存在文件中的數據填充到內存單元中去。readmemb和readmemb和readmemh是類似的,只不過readmemb用于內存的二進制表示,而readmemb用于內存的二進制表示,而readmemh則用于內存內容的16進制表示。這里 以$readmemh系統(tǒng)任務來介紹。

語法

$readmemh(“file_name”, mem_array, start_addr, stop_addr);

注意的是:

file_name是包含數據的文本文件名,mem_array是要初始化的內存單元數組名,start_addr 和 stop_addr是可選的,指示要初始化單元的起始地址和結束地址。

下面是一個簡單的例子:

module memory ();

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

initial begin

$readmemh(“memory.list”, my_memory);

end

endmodule

這里使用內存文件memory.list來初始化my_memory數組。

而下面就是一個內存文件的例子。

// Comments are allowed (wolf點評:段注釋也可以,空行空格不影響?。?/p>

CC // This is first address i.e 8‘h00

AA // This is second address i.e 8’h01

@55 // Jump to new address 8‘h55

5A // This is address 8’h55

69 // This is address 8‘h56

對于內存文件,要注意的是下列幾點:

a、注釋標記//在內存文件中是被允許的;

b、使用@符號將跳到新的目標地址,沒有@符號就表示地址將順序遞增。

關于這個系統(tǒng)任務,有下列常見的用法:

1、順序初始化所有的數組單元;

這種情況下,可以使用@符號來指示地址,也可以不使用它,而只在每一行存放要存放的數據。

這樣數據將順序按地址遞增存放,從0地址開始。

2、只初始化部分的數組單元;

這種情況下,可以使用@符號來指示下一個要初始化的地址,然后對該地址單元進行初始化。例

如下列的內存文件就只初始化8’h00,8‘h01,8’h55和8‘h564個內存地址單元。

// Comments are allowed

CC // This is first address i.e 8’h00

AA // This is second address i.e 8‘h01

@55 // Jump to new address 8’h55

5A // This is address 8‘h55

69 // This is address 8’h56

3、只初始化數組的地址區(qū)間的一部分單元。

這個時候,還可以使用$readmemh任務的start_addr 和 stop_addr選項來指定初始化的范圍。

例如,只初始化100到104這5個單元,就可以這么做:

內存文件memory.list定義為:

CC

AA

55

5A

69

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    30

    文章

    1370

    瀏覽量

    114140
  • 數組
    +關注

    關注

    1

    文章

    420

    瀏覽量

    27114

原文標題:Verilog中的二維數組及其初始化

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    二維數組介紹

    ] = { {1, 2,3}, {4, 5,6},{7, 8, 9}};array[1][1] = 5; 或許你以為在內存 array 數組會像一個二維矩陣: 123456789 可實際上它是這樣
    發(fā)表于 11-25 07:42

    中航光電推出二維FA光纖陣列組件

    中航光電研制的二維FA光纖陣列組件作為OCS光交換設備的關鍵組件,用于實現陣列光信號的輸入和輸出功能;該組件集成了二維光纖陣列和二維透鏡陣列,通過者的精確耦合對準,實現準直光束的穩(wěn)定
    的頭像 發(fā)表于 09-10 18:19 ?1798次閱讀

    哪款二維碼模組適合嵌入戶外取餐柜,用于掃二維

    在智能取餐柜普及的當下,二維碼模組作為核心交互組件,其性能直接影響用戶體驗與設備穩(wěn)定性。針對戶外場景的特殊需求,深圳遠景達物聯(lián)網推出的LV4300Pro系列二維碼模組,憑借工業(yè)級設計與場景化技術優(yōu)化
    的頭像 發(fā)表于 09-10 15:00 ?450次閱讀
    哪款<b class='flag-5'>二維</b>碼模組適合嵌入戶外取餐柜,用于掃<b class='flag-5'>二維</b>碼

    【嘉楠堪智K230開發(fā)板試用體驗】+二維碼識別

    二維碼識別 二維碼識別本質上是一個通過圖像處理技術定位并矯正圖像二維碼區(qū)域,然后根據其特定編碼規(guī)則讀取黑白模塊的進制數據,并利用內置的
    發(fā)表于 08-22 20:16

    基于STM32的二維碼識別源碼+二維碼解碼庫lib

    基于STM32的二維碼識別源碼+二維碼解碼庫lib,推薦下載!
    發(fā)表于 05-28 22:04

    基于STM32的二維碼識別源碼+二維碼解碼庫lib

    基于STM32的二維碼識別源碼+二維碼解碼庫lib項目實例下載! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發(fā)表于 05-23 20:45

    JCMsuite二維光柵的定義和仿真

    光柵是光衍射的周期性結構。它能把入射的光束衍射成幾束向不同方向發(fā)散的光束。 二維光柵 二維光柵在兩個水平方向上都具有周期性。存在兩個晶格矢量因此當幾何結構移位一個晶格矢量時, 下圖顯示了一個正方形
    發(fā)表于 05-19 08:53

    基于RK3576開發(fā)板的二維碼生成

    檔介紹了如何快速上手二維碼生成,包括源碼工程下載、開發(fā)環(huán)境搭建、例程編譯與運行。通過EASY-EAI API,用戶可輕松生成二維碼圖片,API封裝了二維碼生成工具,提供了詳細的調用說明
    的頭像 發(fā)表于 05-10 15:19 ?952次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>二維</b>碼生成

    二維碼讀取器是干嘛的

    二維碼讀取器(用于二維碼讀取的機器),作為一種現代化的自動識別技術設備,正日益滲透到我們生活的方方面面。從商場購物到物流配送,從醫(yī)療管理到工業(yè)生產線,二維碼讀取器憑借其高效、準確的讀取能力,發(fā)揮
    的頭像 發(fā)表于 03-17 15:57 ?856次閱讀
    <b class='flag-5'>二維</b>碼讀取器是干嘛的

    請問LabView如何直接發(fā)送二維數組到DMD上顯示?

    LabView如何直接發(fā)送二維數組到DMD上顯示。 在LabView,調用int LoadData(UCHAR*RowData,long length)遇到兩個問題,1
    發(fā)表于 02-27 07:30

    二維影像掃描引擎可以應用于哪些行業(yè)?

    零售行業(yè),二維影像掃描引擎成為提升顧客購物體驗和店鋪運營效率的關鍵工具。從商品庫存管理到快速結賬,二維掃描器能夠迅速識別商品上的條碼或二維碼,減少人工錄入錯誤,
    的頭像 發(fā)表于 02-14 14:59 ?868次閱讀
    <b class='flag-5'>二維</b>影像掃描引擎可以應用于哪些行業(yè)?

    二維周期光柵結構(菱形)光波導的應用

    建模,包括所有效應(例如相干、偏振和衍射)。我們通過對專利WO2018/178626提到的設備進行建模來證明這一能力,該設備由復雜的一二維菱形光柵結構組成。 建模任務:專利WO2018
    發(fā)表于 01-23 10:37

    二維掃碼頭有效掃描距離是多少,影響二維掃描頭掃碼的因素有哪些

    在現代科技快速發(fā)展的今天,二維碼掃描已經成為我們日常生活和工作不可或缺的一部分,無論是支付、物流追蹤還是信息獲取,都離不開二維碼的掃描。那么,二維掃描頭的有效掃描距離究竟是多少?又有
    的頭像 發(fā)表于 01-15 16:26 ?1880次閱讀
    <b class='flag-5'>二維</b>掃碼頭有效掃描距離是多少,影響<b class='flag-5'>二維</b>掃描頭掃碼的因素有哪些

    /二維條碼識讀器可以應用于哪些行業(yè)?

    /二維條碼識讀器,作為現代信息技術的重要組成部分,其應用范圍極為廣泛,幾乎涵蓋了所有需要高效、準確信息處理的行業(yè)。以下是一/二維條碼識讀器在幾個關鍵行業(yè)
    的頭像 發(fā)表于 01-10 00:00 ?922次閱讀
    一<b class='flag-5'>維</b>/<b class='flag-5'>二維</b>條碼識讀器可以應用于哪些行業(yè)?

    RS232接口的二維影像掃描引擎,廣泛用在醫(yī)療設備上掃一二維

    在醫(yī)療設備領域,二維碼的應用日益廣泛,它作為信息的快速傳遞和識別手段,為醫(yī)療管理、患者追蹤、設備維護等環(huán)節(jié)帶來了極大的便利。而在這背后,RS232接口的二維影像掃描引擎扮演著至關重要的角色,它以
    的頭像 發(fā)表于 12-23 16:02 ?905次閱讀
    RS232接口的<b class='flag-5'>二維</b>影像掃描引擎,廣泛用在醫(yī)療設備上掃一<b class='flag-5'>維</b><b class='flag-5'>二維</b>碼