国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

網絡和變量的未壓縮數組

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

掃碼添加小助手

加入工程師交流群

數字硬件建模SystemVerilog(九)-網絡和變量的未壓縮數組

SystemVerilog有兩種類型的數組:壓縮數組和非壓縮數組。壓縮數組是連續存儲的位的集合,通常稱為向量。非壓縮數組是網絡或變量的集合。

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

未壓縮數組的基本聲明語法為:

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

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

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

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

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

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

[size]

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

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

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

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

訪問數組元素

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

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

數組索引也可以是網絡或變量的值,如下一個示例所示:

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

復制數組(陣列)

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

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

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

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

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

數組列表賦值

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

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

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

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

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

此數組分配相當于以下各項的單獨分配:

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

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

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

數組元素的位選擇和部分選擇

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

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

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

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

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

審核編輯 :李倩

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

    關注

    1

    文章

    1672

    瀏覽量

    51597
  • 變量
    +關注

    關注

    0

    文章

    616

    瀏覽量

    29505
  • 數組
    +關注

    關注

    1

    文章

    420

    瀏覽量

    27351

原文標題:SystemVerilog(九)-網絡和變量的未壓縮數組

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于凌羽派的OpenHarmony北向應用開發:ArkTS語法-數據類型和變量聲明

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

    面向嵌入式部署的神經網絡優化:模型壓縮深度解析

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

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

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

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

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

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

    的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域, 初始化的全局變量初始化的靜態變量
    發表于 12-25 07:54

    linux的壓縮和解壓操作

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

    電能質量在線監測裝置的數據壓縮存儲功能對數據傳輸速度的影響有多大?

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

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

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

    數組的初體驗

    程序中也需要容器,只不過該容器有點特殊,它在程序中是一塊連續的,大小固定并且里面的數據類型一致的內存空間,它還有個好聽的名字叫數組。可以將數組理解為大小固定,所放物品為同類的一個購物袋,在該購 物
    發表于 11-25 08:06

    二維數組介紹

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

    NMSIS神經網絡庫使用介紹

    用于存儲im2col數據。 變量說明: conv1_wt, conv2_wt,conv3_wt是卷積層權重矩陣 conv1_bias, conv2_bias,conv3_bias是卷積層偏置數組
    發表于 10-29 06:08

    PLC中Static和Temp變量的區別

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

    低內存場景下的高效壓縮利器:FastLZ壓縮庫應用實踐指南

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

    Ansible Playbook中的變量使用技巧

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

    神經網絡壓縮框架 (NNCF) 中的過濾器修剪統計數據怎么查看?

    無法觀察神經網絡壓縮框架 (NNCF) 中的過濾器修剪統計數據
    發表于 03-06 07:10