91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

網(wǎng)絡(luò)和變量的未壓縮數(shù)組

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-05-20 10:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)字硬件建模SystemVerilog(九)-網(wǎng)絡(luò)和變量的未壓縮數(shù)組

SystemVerilog有兩種類型的數(shù)組:壓縮數(shù)組和非壓縮數(shù)組。壓縮數(shù)組是連續(xù)存儲的位的集合,通常稱為向量。非壓縮數(shù)組是網(wǎng)絡(luò)或變量的集合。

集合中的每個網(wǎng)絡(luò)或變量稱為數(shù)組元素。未壓縮數(shù)組的每個元素的類型、數(shù)據(jù)類型和向量大小都完全相同。每個未壓縮的數(shù)組元素可以獨立于其他元素存儲;這些元素不需要連續(xù)存儲。軟件工具,如仿真器和綜合編譯器,可以以工具認(rèn)為最佳的任何形式組織未壓縮數(shù)組的存儲。

未壓縮數(shù)組的基本聲明語法為:

2694f634-d7d6-11ec-bce3-dac502259ad0.png

數(shù)組的維度定義了數(shù)組可以存儲的元素總數(shù)。未壓縮的數(shù)組可以用任意數(shù)量的維度聲明,每個維度存儲指定數(shù)量的元素。聲明數(shù)組維度有兩種編碼樣式:顯式地址和數(shù)組大小。

顯式地址樣式指定方括號之間數(shù)組維度的起始地址和結(jié)束地址,格式為:

26a77ee4-d7d6-11ec-bce3-dac502259ad0.png

Start_address 和 end_address可以是任何整數(shù)值,數(shù)組可以以地址0、地址512或被建模硬件所需的任何地址開始。起始地址和結(jié)束地址之間的范圍表示數(shù)組維度的大小(元素數(shù))。

數(shù)組大小樣式定義要存儲在方括號中的元素數(shù)(類似于C語言數(shù)組聲明樣式)。

[size]

使用array_size樣式,起始地址始終為0,結(jié)束地址始終為size-1

以下是一些未壓縮的數(shù)組聲明示例:

26b89e40-d7d6-11ec-bce3-dac502259ad0.png

前面的mem聲明是16位logic變量的一維數(shù)組。一維陣列有時被稱為內(nèi)存陣列,因為它通常用于仿真硬件內(nèi)存設(shè)備(如RAMROM)的存儲。

訪問數(shù)組元素

可以使用數(shù)組索引引用未壓縮數(shù)組的每個元素,索引緊跟在數(shù)組名稱之后,并且位于方括號中,多維數(shù)組需要多組方括號才能從數(shù)組中選擇單個元素:

271d1ea6-d7d6-11ec-bce3-dac502259ad0.png

數(shù)組索引也可以是網(wǎng)絡(luò)或變量的值,如下一個示例所示:

275837fc-d7d6-11ec-bce3-dac502259ad0.png

復(fù)制數(shù)組(陣列)

如果兩個數(shù)組(陣列)具有相同的布局,則可以使用賦值語句將一個未壓縮的數(shù)組(陣列)復(fù)制到另一個未壓縮的數(shù)組(陣列)。也就是說,這兩個數(shù)組(陣列)必須存儲相同向量大小的相同數(shù)據(jù)類型,必須具有相同的維度數(shù),并且每個維度的大小都相同-

數(shù)組(陣列)復(fù)制會將源數(shù)組(賦值的右側(cè))的每個元素復(fù)制到目標(biāo)數(shù)組(陣列)(賦值的左側(cè))中相應(yīng)的元素。兩個數(shù)組(陣列)的索引編號不需要相同。數(shù)組(陣列)的布局和類型必須完全匹配。

27aa9128-d7d6-11ec-bce3-dac502259ad0.png

與復(fù)制數(shù)組(陣列)的方式類似,如果兩個切片的布局相同,則可以將數(shù)組(陣列)的一部分(稱為數(shù)組(陣列)切片)復(fù)制到另一個數(shù)組(陣列)的切片。切片是數(shù)組(陣列)一維內(nèi)的一個或多個連續(xù)編號的元素。

在成為SystemVerilog之前,最初的Verilog語言將對數(shù)組(陣列)的訪問限制為一次只能訪問數(shù)組中的一個元素。不允許對數(shù)組(陣列)的多個元素進行數(shù)組(陣列)復(fù)制和讀/寫操作。

數(shù)組列表賦值

可以為未壓縮的數(shù)組或數(shù)組的一個片段分配一個值列表,這些值包含在每個數(shù)組維度的’{and}大括號之間。

27e54750-d7d6-11ec-bce3-dac502259ad0.png

列表語法類似于在C中為數(shù)組指定值列表,但在大括號前添加了撇號使用’-“作為開頭分隔符”表明,所包含的值是表達式列表,而不是SystemVerilog連接運算符(后面會詳細(xì)介紹)。

還可以使用嵌套列表為多維數(shù)組分配值列表。嵌套的列表集必須與數(shù)組的維度完全匹配。

284c7cfe-d7d6-11ec-bce3-dac502259ad0.png

此數(shù)組分配相當(dāng)于以下各項的單獨分配:

287a0b06-d7d6-11ec-bce3-dac502259ad0.png

通過指定默認(rèn)值,可以為未壓縮數(shù)組的所有元素指定相同的值。默認(rèn)值是使用’{default:}指定的,如以下代碼段所示:

28e0bd6a-d7d6-11ec-bce3-dac502259ad0.png

數(shù)組元素的位選擇和部分選擇

可以從數(shù)組元素向量中選擇一位或一組位。必須首先選擇數(shù)組的單個元素,然后進行位選擇或部分選擇。

291f81bc-d7d6-11ec-bce3-dac502259ad0.png

通過端口將數(shù)組傳遞給任務(wù)和函數(shù)。任何類型和任意數(shù)量的未壓縮數(shù)組都可以通過模塊端口傳遞,也可以傳遞到任務(wù)和函數(shù)參數(shù)。端口或任務(wù)/函數(shù)形式參數(shù)也必須聲明為數(shù)組,端口或參數(shù)數(shù)組必須與要傳遞的數(shù)組具有相同的布局(與數(shù)組復(fù)制的規(guī)則相同)。

294e0ec4-d7d6-11ec-bce3-dac502259ad0.png

最初的Verilog語言只允許簡單的向量通過模塊端口,或傳遞到任務(wù)或函數(shù)參數(shù)。要傳遞上述示例中表數(shù)組的值,需要256個端口,數(shù)組的每個元素一個端口。

審核編輯 :李倩

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

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51663
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    616

    瀏覽量

    29513
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    420

    瀏覽量

    27372

原文標(biāo)題:SystemVerilog(九)-網(wǎng)絡(luò)和變量的未壓縮數(shù)組

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于凌羽派的OpenHarmony北向應(yīng)用開發(fā):ArkTS語法-數(shù)據(jù)類型和變量聲明

    isActive}`); console.log(`初始化變量: ${uninitializedVar}, 類型: ${typeof uninitializedVar}`); console.log(`空值
    發(fā)表于 02-26 14:24

    面向嵌入式部署的神經(jīng)網(wǎng)絡(luò)優(yōu)化:模型壓縮深度解析

    1.為什么需要神經(jīng)網(wǎng)絡(luò)模型壓縮? 神經(jīng)網(wǎng)絡(luò)已經(jīng)成為解決復(fù)雜機器學(xué)習(xí)問題的強大工具。然而,這種能力往往伴隨著模型規(guī)模和計算復(fù)雜度的增加。當(dāng)輸入維度較大(例如長時序窗口、高分辨率特征空間)時,模型需要
    的頭像 發(fā)表于 02-24 15:37 ?4996次閱讀
    面向嵌入式部署的神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)</b>優(yōu)化:模型<b class='flag-5'>壓縮</b>深度解析

    MinGW-w64工具集壓縮包的下載

    MinGW-w64工具集壓縮包的下載 這是MinGW-w64工具集壓縮包的下載進度界面,文件名為x86_64-13.2.0-release-posix-seh-ucrt-rt_v11-rev0.7z
    發(fā)表于 02-07 04:59

    “明牌”對局,自變量開源模型超越pi0

    “明牌”對局,自變量開源模型超越pi0
    的頭像 發(fā)表于 01-10 12:00 ?5600次閱讀
    “明牌”對局,自<b class='flag-5'>變量</b>開源模型超越pi0

    嵌入式C語言中各變量存儲位置

    的存儲是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 初始化的全局變量初始化的靜態(tài)變量
    發(fā)表于 12-25 07:54

    linux的壓縮和解壓操作

    1、 壓縮/解壓操作 在開發(fā)中,很多時候會遇到某些文件要進行壓縮的操作,比如文件較大不方便傳輸?shù)臅r候,可能會考慮對文件進行壓縮,以減少文件傳輸?shù)臅r間。 比如在網(wǎng)絡(luò)中傳輸文件的時候,就會
    發(fā)表于 12-23 06:56

    電能質(zhì)量在線監(jiān)測裝置的數(shù)據(jù)壓縮存儲功能對數(shù)據(jù)傳輸速度的影響有多大?

    極端實時性場景有輕微延遲(可忽略) 。影響程度核心取決于 數(shù)據(jù)量、壓縮比、傳輸帶寬、硬件是否加速 四大變量,以下是精準(zhǔn)量化分析: 一、核心量化對比:壓縮前后傳輸速度差異(全場景覆蓋) 以常見數(shù)據(jù)類型(暫態(tài)錄波、穩(wěn)態(tài)歷史數(shù)據(jù))和傳
    的頭像 發(fā)表于 12-11 16:45 ?1289次閱讀
    電能質(zhì)量在線監(jiān)測裝置的數(shù)據(jù)<b class='flag-5'>壓縮</b>存儲功能對數(shù)據(jù)傳輸速度的影響有多大?

    第7章 變量進階與點陣LED(7.1 7.2)

    走在馬路上的時候,經(jīng)常會看到馬路兩側(cè)有一些LED點陣的廣告牌,這些廣告牌看起來絢爛奪目,非常吸引人,而且還會變化很多種不同的顯示方式。本章就會學(xué)習(xí)到點陣LED的控制方式,同時也會學(xué)習(xí)C語言變量的進階
    的頭像 發(fā)表于 12-10 16:25 ?359次閱讀

    數(shù)組的初體驗

    程序中也需要容器,只不過該容器有點特殊,它在程序中是一塊連續(xù)的,大小固定并且里面的數(shù)據(jù)類型一致的內(nèi)存空間,它還有個好聽的名字叫數(shù)組??梢詫?b class='flag-5'>數(shù)組理解為大小固定,所放物品為同類的一個購物袋,在該購 物
    發(fā)表于 11-25 08:06

    二維數(shù)組介紹

    大家不要認(rèn)為二維數(shù)組在內(nèi)存中就是按行、列這樣二維存儲的,實際上,不管二維、三維數(shù)組… 都是編譯器的語法糖。 存儲上和一維數(shù)組沒有本質(zhì)區(qū)別,舉個例子: int array[3][3
    發(fā)表于 11-25 07:42

    常用變量的介紹

    extern:用在全局變量上表示該變量在其他文件中已經(jīng)定義;用在函數(shù)上作用同全局變量; static:用在全局變量上,和非靜態(tài)全局變量相比,
    發(fā)表于 11-21 07:05

    NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹

    用于存儲im2col數(shù)據(jù)。 變量說明: conv1_wt, conv2_wt,conv3_wt是卷積層權(quán)重矩陣 conv1_bias, conv2_bias,conv3_bias是卷積層偏置數(shù)組
    發(fā)表于 10-29 06:08

    PLC中Static和Temp變量的區(qū)別

    大家好,收到粉絲投稿,讓博主講下Static變量和Temp變量的區(qū)別,新入行的兄弟可能會對這兩個概念不太能理解。
    的頭像 發(fā)表于 09-24 14:51 ?1420次閱讀
    PLC中Static和Temp<b class='flag-5'>變量</b>的區(qū)別

    低內(nèi)存場景下的高效壓縮利器:FastLZ壓縮庫應(yīng)用實踐指南

    在資源受限環(huán)境中,數(shù)據(jù)壓縮既要追求速度又要節(jié)省內(nèi)存。本文聚焦FastLZ壓縮庫,深入探討其在低內(nèi)存場景下的應(yīng)用實踐,通過解析其核心算法與優(yōu)化策略,帶您掌握如何利用該庫實現(xiàn)快速壓縮,滿足嵌入式系統(tǒng)、物
    的頭像 發(fā)表于 07-22 15:13 ?392次閱讀
    低內(nèi)存場景下的高效<b class='flag-5'>壓縮</b>利器:FastLZ<b class='flag-5'>壓縮</b>庫應(yīng)用實踐指南

    Ansible Playbook中的變量使用技巧

    在inventory中定義的連接變量(比如ansible_ssh_user);優(yōu)先級第二。
    的頭像 發(fā)表于 04-15 10:26 ?993次閱讀