System Verilog學習筆記(十一)——數組(1)

System Verilog學習筆記(十一)——數組(1)

非組合型(unpacked)

  • 成員之間存儲數據都是相互獨立的
  • 可以索引非組合型數組或者數組片段的能力
  • 聲明方式:
logic [310] data [1024];
logic [31:0] data [0:1023]; //兩種都是一維的
  • 初始化需要通過‘{}來對數組的每一個維度進行賦值
int d [0:1][0:3] ='{'{7,3,0,5},'{2,0,1,6}};
  • 用’{ }和default關鍵詞對其進行初始化
  • 非組合型數組在發生數組間拷貝時,要求左右兩側操作數的維度和大小必須一致。

組合型(packed)

  • 聲明方式
wire [3:0] select; //4-bit 
reg [63:0] data; //64-bit
logic [3:0][7:0] data; //二維數組
  • 定義結構體的存儲方式
typedef struct packed{
logic [7:0] crc;
logic [63:0] data;
} data_word;
data_word [7:0] darray;
  • 初始化和向量初始化一致
logic [3:0][7:0] a =32'h0;
logic [3:0][7:0] b ={16'hz, 16'h0};
logic [3:0][7:0] c ={16{2'b01}};
  • 組合型數組會被視為向量,因此當賦值左右兩側操作數的大小和維度不同時也可以做賦值。

foreach循環結構

  • SV添加foreach循環來對一維或者多維數組進行循環索引,而不需要指定該數組的維度大小。
  • foreach循環結構中的變量無需聲明
  • foreach循環結構中的變量是只讀的,其作用域只在此循環結構中。

系統函數

  • $dimensions(array_name):用來返回數組的維度
  • $left(array_name, dimension):返回指定維度的最左索引值
  • $right,low,high
  • $size(array_name, dimension):用來返回指定維度的尺寸大小
  • $increment(array_name,dimension):如果指定維度的最左索引值大于或者等于最右索引值,那么返回1,否則返回-1.
  • $bits(expression):用來返回數組存儲的比特數目

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714369.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714369.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714369.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

黑馬JUC筆記

黑馬JUC筆記 1.概覽 2.進程與線程 2.1 進程與線程 進程 程序由指令和數據組成,但這些指令要運行,數據要讀寫,就必須將指令加載至 CPU,數據加載至內存。在 指令運行過程中還需要用到磁盤、網絡等設備。進程就是用來加載指令、管…

Cisco Secure ACS 5.8.0.32 安裝 + Crack 教程

Cisco Secure ACS 5.8.0.32 安裝 Crack 教程 前言系統環境開始安裝 開始破解導入授權文件 前言 在ESXi 6.7 上經歷過無數次的安裝嘗試 測試了各種兼容版本都沒有安裝成功,記最后一次安裝成功的過程. 系統環境 服務器 : Dell R720xd CPU : E5-2620 v2 系統 : ESXi 6.7…

簡單控件屬性設置

1、設置文本的內容 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"…

十四、Qt主機信息與網絡編程

一、主機信息 1、主機信息接口 QHostInfo&#xff1a;獲取主機名稱和IP地址QNetWorkInterface&#xff1a;獲取主機的所有網絡接口&#xff0c;包括子網掩碼和廣播地址等 &#xff08;1&#xff09;使用 項目添加模塊QT network2、實現程序 &#xff08;1&#xff0…

【01】openEuler 源碼安裝 PostgreSQL

openEuler 源碼安裝 PostgreSQL 部署環境說明Shell 前端軟件包管理器基礎概念YUM 簡介DNF 簡介 源碼安裝 PostgreSQL環境變量&#xff08;env&#xff09;設置臨時環境變量設置永久環境變量設置 初始化數據庫&#xff08;initdb&#xff09; 數據庫基本操作數據庫基本配置&…

WiFi協議的調制技術介紹

調制技術是WiFi協議的核心部分&#xff0c;它負責將數據轉換成可以在無線信道中傳輸的信號。WiFi協議采用正交頻分復用&#xff08;OFDM&#xff09;調制技術&#xff0c;該技術通過將數據分成多個子載波進行傳輸&#xff0c;提高了信道利用率和抗干擾能力。 OFDM調制的工作原…

推特API(Twitter API)V2 用戶關注

前面章節已經介紹使用code換取Token的整個流程了&#xff0c;這里不再重復闡述了&#xff0c;下面我們獲取到用戶token以后如何幫用戶自動關注別人。需要參數關注者的用戶ID&#xff08;token授權用戶&#xff09;以及關注的目標用戶ID。用戶ID如何獲取可以看上一章節獲取用戶信…

c++結構體內存對齊

結構體內存對齊 試試運行下面的例子 #include <stdio.h> #include <stdlib.h>using namespace std;struct A{char c;int i; };struct B{char c; int i; double d; };struct C{char c;int i;double d;char c1; };int main(){printf("sizeof(A): %d\n"…

SparkStreaming在實時處理的兩個場景示例

簡介 Spark Streaming是Apache Spark生態系統中的一個組件&#xff0c;用于實時流式數據處理。它提供了類似于Spark的API&#xff0c;使開發者可以使用相似的編程模型來處理實時數據流。 Spark Streaming的工作原理是將連續的數據流劃分成小的批次&#xff0c;并將每個批次作…

適配器模式 詳解 設計模式

適配器模式 適配器模式是一種結構型設計模式&#xff0c;其主要作用是解決兩個不兼容接口之間的兼容性問題。適配器模式通過引入一個適配器來將一個類的接口轉換成客戶端所期望的另一個接口&#xff0c;從而讓原本由于接口不匹配而無法協同工作的類能夠協同工作。 結構 適配…

想要調用淘寶開放平臺API,沒有申請應用怎么辦?

用淘寶自定義API接口可以訪問淘寶開放平臺API。 custom-自定義API操作 taobao.custom 公共參數 注冊賬號獲取API請求地址 名稱類型必須描述keyString是調用key&#xff08;必須以GET方式拼接在URL中&#xff09;secretString是調用密鑰api_nameString是API接口名稱&#xf…

Docker與虛擬機比較

在對比Docker和虛擬機前&#xff0c;先簡單了解下虛擬化&#xff0c;明確Docker和虛擬機分別對應的虛擬化級別&#xff0c;然后對Docker和虛擬機進行比較。需要注意的是&#xff0c;Docker和虛擬機并沒有什么可比性&#xff0c;而是Docker使用的容器技術和虛擬機使用的虛擬化技…

【K8S類型系統】一文梳理 K8S 各類型概念之間的關系(GVK/GVR/Object/Schema/RestMapper)

參考 k8s 官方文檔 https://kubernetes.io/zh-cn/docs/reference/https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/ 重點 Kubernetes源碼學習-kubernetes基礎數據結構 - 知乎 重點 Kubernetes類型系統 | 李乾坤的博客 重點 k8s源碼學習-三大核心數…

前端學習第二天-html提升

達標要求 了解列表的分類 熟練掌握列表的用法 熟練掌握表格的結構構成 合并單元格 表單的組成 熟練掌握表單控件分類的使用 1.列表 1.1 無序列表 <ul>&#xff1a;定義無序列表&#xff0c;并且只能包含<li>子元素。 <li>&#xff1a;定義列表項&a…

LZO索引文件失效說明

在hive中創建lzo文件和索引時&#xff0c;進行查詢時會出現問題.hive的默認輸入格式是開啟小文件合并的&#xff0c;會把索引也合并進來。所以要關閉hive小文件合并功能&#xff01;

Matlab:元胞自動機

元胞自動機是一種基于離散空間的動態系統&#xff0c;由許多簡單單元按照某些規則進行相互作用和演化而形成的復雜結構。元胞自動機可以用于模擬物理、生物、社會等領域的現象&#xff0c;以及進行優化、圖像處理、噪聲生成等方面的應用。 例1&#xff1a;生命游戲 nextState…

maven項目報錯Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin:2.2

如果IDEA整合maven沒有問題&#xff0c;還是報這個錯誤&#xff0c;很大可能是由于在下載過程中存在網絡問題&#xff0c;導致文件下載一半而停止&#xff0c;但是已經在倉庫中存在這個文件夾&#xff0c;解決方法是刪除文件夾重新下載即可。 刪除本地倉庫下的\org\apache\mav…

(算法)位運算

常見的位運算符&#xff1a; 給定一個數n判斷他的二進制第x位是0還是1 把第x位修改為1 因為是只是修改n的某個位置&#xff0c;所以不應該移動改變n 既然修改為1&#xff0c;那么就要想到 | 運算符 把第x位修改為0 因為修改為0,所以要用&運算符 位圖思想 判定字符串…

C++17之std::invoke: 使用和原理探究(全)

目錄 1.概述 2.輔助類 3.原理分析 4.總結 1.概述 在之前的 C 版本中&#xff0c;要調用不同類型的可調用對象&#xff0c;需要使用不同的語法&#xff0c;例如使用函數調用運算符 () 來調用函數或函數指針&#xff0c;使用成員訪問運算符 -> 或 . 來調用成員函數。這樣的…

二維碼門樓牌管理系統技術服務的深度解析

文章目錄 前言一、標準地址名稱的定義與重要性二、二維碼門樓牌管理系統的核心技術三、標準地址名稱在二維碼門樓牌管理中的應用四、二維碼門樓牌管理系統的優勢與挑戰五、展望未來 前言 在數字化浪潮中&#xff0c;二維碼門樓牌管理系統以其高效、便捷的特性&#xff0c;正逐…