色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認識你,還能領取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點評:菜鳥易犯的錯誤,注意!)

例如:

data_out = my_memory[address];

data_out_it_0 = data_out[0];

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

初始化內存

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

語法

$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點評:段注釋也可以,空行空格不影響!)

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、使用@符號將跳到新的目標地址,沒有@符號就表示地址將順序遞增。

關于這個系統任務,有下列常見的用法:

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、只初始化數組的地址區間的一部分單元。

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

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

內存文件memory.list定義為:

CC

AA

55

5A

69

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

    關注

    28

    文章

    1351

    瀏覽量

    110162
  • 數組
    +關注

    關注

    1

    文章

    417

    瀏覽量

    25980

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    二維內嵌掃碼模組用于自助儲物柜,快速掃描各種一二維條碼

    隨著科技的飛速發展,自助儲物柜已成為我們日常生活不可或缺的一部分,為公眾提供了極大的便利。而這一切的背后,離不開二維內嵌掃碼模組的強大支持。本文將深入探討二維內嵌掃碼模組在自助儲物柜
    的頭像 發表于 12-04 15:56 ?128次閱讀
    <b class='flag-5'>二維</b>內嵌掃碼模組用于自助儲物柜,快速掃描各種一<b class='flag-5'>維</b><b class='flag-5'>二維</b>條碼

    指針數組二維數組有沒有區別

    指針數組二維數組有沒有區別?比如這樣的兩個代碼。 int main(){ char *s1[] = { "hello", "world", "total" }; char s2[][6
    的頭像 發表于 11-24 11:12 ?192次閱讀

    工業二維碼讀碼器在電子制造業的應用

    工業二維碼讀碼器在電子制造業的應用主要體現在以下幾個方面:▲生產追溯管理工業二維碼讀碼器通過對電子產品上的二維碼進行快速掃描,實現了高效、準確的生產追溯管理。每件電子產品上都會有一個
    的頭像 發表于 11-13 16:19 ?206次閱讀
    工業<b class='flag-5'>二維</b>碼讀碼器在電子制造業<b class='flag-5'>中</b>的應用

    二維碼識讀設備有哪些類型

    隨著二維碼應用的日益普及,各類二維碼識讀設備也應運而生。這些設備不僅極大地方便了我們的日常生活,也為企業提供了更加高效便捷的服務。那么,你知道二維碼識讀設備都有哪些類型嗎?讓我們一起來了解一下。據
    的頭像 發表于 11-05 16:10 ?237次閱讀
    <b class='flag-5'>二維</b>碼識讀設備有哪些類型

    labview按行讀取二維數組之后再按讀取順序重新組成二維數組如何實現?

    labview用了index Array按索引一行行讀取二維數組之后想再按讀取順序重新組成一個二維數組如何實現,即第一次讀取的作為第一行,第
    發表于 10-25 21:06

    請問labview是否無法向matlab傳遞3數組

    經過一些測試,發現在matlab script只能傳二維數組,利用打包.net庫,好像還是只能傳遞二維數組。 是不是從底層就不支持,這兩種
    發表于 10-22 20:14

    二維掃描PDA用于倉庫管理

    在現代物流與倉儲行業的快速發展二維掃描PDA作為一項革命性技術,正逐步成為倉庫管理的核心工具。其卓越的信息化與自動化能力,不僅重塑了倉庫作業流程,更在提升工作效率、確保管理精度方面展現出無可比擬
    的頭像 發表于 09-10 14:22 ?252次閱讀
    <b class='flag-5'>二維</b>掃描PDA用于倉庫管理

    FPC軟板二維碼標識功能?簡直是黑科技!

    現在的黑科技是越來越多了,板子上印個二維碼用手機掃一下就能將 將二維碼變成你的電子產品說明書,用來介紹產品功能;呈現教學視頻, 個人覺得圖文二維碼的功能十分豐富,不僅擁有產品溯源與出入
    發表于 08-07 17:46

    Labview生成二維

    ?Labview 的一個Demo,生成二維碼。
    發表于 08-01 17:12 ?7次下載

    二維碼掃碼器/二維碼讀取設備嵌入園區閘機系統的應用

    二維碼閱讀設備集成至閘機系統,主要功能是通過掃描用戶的二維碼通行證來實施園區出入口的自動收費。此技術憑借二維碼的便利性及掃描設備的高效性,極大地提高了收費效率和精確度,減少了由于人
    的頭像 發表于 06-05 14:46 ?385次閱讀
    <b class='flag-5'>二維</b>碼掃碼器/<b class='flag-5'>二維</b>碼讀取設備嵌入園區閘機系統<b class='flag-5'>中</b>的應用

    技術|二維PDOA平面定位方案

    一、方案概述二維平面定位系統,采用UWB定位技術,精度可到30cm。通過PDOA算法,可實現單基站二維平面的實時人員定位,增強對危險區域的管控,有效預防安全事故發生。面對突發情況,能做到及時報警響應
    的頭像 發表于 06-04 14:53 ?991次閱讀
    技術|<b class='flag-5'>二維</b>PDOA平面定位方案

    二維PDMA可以使用描述符鏈嗎?

    我正在嘗試使用二維描述符連鎖。 編寫了一些二維描述符鏈的代碼。 但我有一些疑問,比如 1.二維 PDMA 可以使用描述符鏈嗎? 2.如果 1 是,請附上一些代碼 我們是否可以使用 2 個結構或只使用 1 個結構即可。
    發表于 05-31 08:16

    數組的轉換到二維數組后的行列增減問題

    請大佬指點,如VI,兩個求助點: 1、一數組大小,在停止Vi前把數組大小增加到4,在循環外設置了一數組的行數為0了,為啥再次運行VI后,
    發表于 05-11 00:25
    主站蜘蛛池模板: 奶水四溅54p| 久久久久久久伊人电影| 黄 色 网 站 免 费 涩涩屋| 欧美一道本一区二区三区| 尤物国产在线精品三区| 国产片MV在线观看| 十分钟免费观看高清视频大全| xnxx18美女| 欧美怡红院视频一区二区三区| 51vv视频社区| 久久夜色撩人精品国产| 在线欧美 精品 第1页| 久久永久影院免费| 最近高清日本免费| 猛烈抽插H1V1| no视频在线观看| 免费女性裸身照无遮挡网站| G0GO人体大尺香蕉| 免费观看a视频| 992交通广播| 青年医生插曲| www黄色大片| 日本亚洲中文字幕无码区| 成人免费精品视频| 天天色天天干天天| 国产亚洲精品久久精品69| 亚洲视频中文字幕在线观看| 久久精品国产清白在天天线| 在线播放无码字幕亚洲| 泷泽萝拉首部av| 99热都是精品| 欧美大片xxxxbbbb| 亚洲 无码 在线 专区| 人妖操女人| 97在线精品视频| 美女脱了内裤张开腿让男人桶到爽| 久久久这里有精品999| z00兽200俄罗斯| 在线中文字幕| 亚洲精品久久久无码AV片软件| 人与畜禽CROPROATION免费|