在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

數(shù)字硬件建模SystemVerilog的結構體表達式

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-07-01 17:32 ? 次閱讀

數(shù)字硬件建模SystemVerilog-結構體(一)

c0744184-f67a-11ec-ba43-dac502259ad0.png

結構體

結構體用于將多個變量組合在一個通用名稱下。設計通常具有邏輯信號組,例如總線協(xié)議的控制信號,或狀態(tài)控制器內使用的信號。結構體提供了將這些相關變量捆綁在一起的方法。結構體中的所有變量都可以單個賦值,或者每個變量都可以單獨賦值。結構體包可以復制到具有相同定義的另一個結構體,并通過模塊端口、任務或函數(shù)進出。

結構體聲明結構體是使用struct關鍵字聲明的,類似于C語言。struct關鍵字后面跟著一個開始的大括號( { )變量聲明列表,結束的大括號(}),然后是結構體的名稱。

c08edf80-f67a-11ec-ba43-dac502259ad0.png

一個結構體可以將任意數(shù)量的變量數(shù)據(jù)類型捆綁在一起,用戶自定義類型、Parameter和localparam常量也可以包含在一個結構體中,結構體中的Parameter不能像模塊中的Parameter那樣重新定義,結構體中的參數(shù)被視為localparam。

結構體成員賦值結構體中的變量稱為結構體成員。每個成員都有一個名稱,可用于從結構體中選擇該成員。使用結構體的名稱引用結構體成員,后跟句點(。)然后是成員的名字。這與C中的語法相同。例如,要為前面結構體的address成員賦值,引用為:

c09ab922-f67a-11ec-ba43-dac502259ad0.png

結構體不同于數(shù)組,因為數(shù)組是所有類型和大小相同的元素的集合,而結構體是不同類型和大小的變量和常量的集合。另一個區(qū)別是,數(shù)組的元素是通過在數(shù)組中使用索引來引用的;結構體的成員是通過使用成員名稱來引用的。

整個結構體賦值可以為整個結構體指定一個結構體表達式。結構體表達式是使用逗號分隔的值列表形成的,這些值包含在標記’{}之間,這與將一組值分配給數(shù)組的方式相同,大括號必須包含結構體中每個成員的值。例如:

c0ad7e68-f67a-11ec-ba43-dac502259ad0.png

結構體表達式中的值必須按照在結構體中定義的順序列出,如前一示例所示。或者,結構體表達式可以指定要為其賦值的結構體成員的名稱,其中成員名稱和值用冒號(:)分隔。結構體表達式中的成員名稱稱為tags。指定成員名稱后,表達式列表可以是任意順序。

c0c2a1a8-f67a-11ec-ba43-dac502259ad0.png

在同一個結構體表達式中混合按名稱和按順序賦值是非法的。

結構體表達式中的默認值。結構體表達式可以通過指定默認值為一個結構體的多個成員指定值,默認值是使用default關鍵字指定的。

c0d37c4e-f67a-11ec-ba43-dac502259ad0.png

結構體表達式還可以包含對特定結構體成員的混合賦值,以及對所有其他成員指定默認值。

c0e449c0-f67a-11ec-ba43-dac502259ad0.png

結構體中的枚舉數(shù)據(jù)類型。前兩個帶有默認值的示例存在語義錯誤,分配給結構體成員的默認值必須與成員的數(shù)據(jù)類型兼容。由于大多數(shù)SystemVerilog變量都是弱類型的,因此幾乎所有默認值都是兼容的。然而,枚舉數(shù)據(jù)類型變量的類型更強。對枚舉數(shù)據(jù)類型變量的賦值必須是其枚舉列表中的標簽,或者是同一枚舉數(shù)據(jù)類型定義的另一個枚舉變量。

上述instruction_word 的兩個賦值語句試圖將opcode的默認值賦值為0。這是opcode的非法值,它是一個opcode_t枚舉數(shù)據(jù)類型變量(opcode_t的typedef定義是之前枚舉變量章節(jié))。當結構體的成員是枚舉數(shù)據(jù)類型變量時,結構體表達式必須為該成員指定合法的顯式值。可以為所有其他成員指定默認值。例如:

c0f4dc90-f67a-11ec-ba43-dac502259ad0.png

自定義和匿名結構體用戶自定義類型可以使用typedef關鍵字從結構體中創(chuàng)建。將結構體聲明為用戶自定義類型不會分配任何存儲空間。在使用該結構體之前,必須聲明該用戶自定義類型的網(wǎng)絡或變量。

c1181944-f67a-11ec-ba43-dac502259ad0.png

不使用typedef的結構體被定義為匿名結構體。使用typedef聲明的結構體被視為自定義結構體。匿名結構體和自定義結構體都可以在模塊中定義,但這些本地(局部)定義只能在該模塊中使用。自定義結構體也可以在包中定義,并導入到需要結構體定義的設計塊中。包中定義的自定義結構體可用于多個模塊和驗證測試臺。

結構體復制一個自定義結構體可以復制到另一個自定義結構體,只要這兩個結構體是從同一個自定義結構體定義聲明的。以下示例使用了上節(jié)中所示的結構體定義和聲明。

匿名結構體不能作為一個整體復制,但可以一次復制一個成員:

c13cae12-f67a-11ec-ba43-dac502259ad0.png

原文標題:SystemVerilog-結構體(一)

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

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

    關注

    8

    文章

    7128

    瀏覽量

    89361
  • 硬件
    +關注

    關注

    11

    文章

    3371

    瀏覽量

    66374
  • 存儲空間
    +關注

    關注

    0

    文章

    55

    瀏覽量

    10709

原文標題:SystemVerilog-結構體(一)

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

收藏 人收藏

    評論

    相關推薦

    什么是正則表達式?正則表達式如何工作?哪些語法規(guī)則適用正則表達式

    正則表達式又稱規(guī)則表達式(Regular Expression,在代碼中常簡寫為 regex、regexp 或 RE),是一種用于匹配、查找、替換文本的強大工具。它能夠以特定的模式匹配字符串,從而
    的頭像 發(fā)表于 11-03 14:41 ?3860次閱讀
    什么是正則<b class='flag-5'>表達式</b>?正則<b class='flag-5'>表達式</b>如何工作?哪些語法規(guī)則適用正則<b class='flag-5'>表達式</b>?

    MATLAB符號表達式

    符號表達式是代表數(shù)字、函數(shù)、算子和變量的MATLAB字符串,或字符串數(shù)組。不要求變量有預先確定的值,符號方程式是含有等號的符號表達式。符號算術是使用已知的規(guī)則和給定符號恒等式求解這些符號方程的實踐
    發(fā)表于 09-22 15:45

    防范表達式的失控

    在C 語言中,表達式是最重要的組成部分之一,幾乎所有的代碼都由表達式構成。表達式的使用如此廣泛,讀者也許會產生這樣的疑問,像+ 、- 、3 、/ 、& & 這樣簡單的運算也會出現(xiàn)
    發(fā)表于 04-22 16:57 ?13次下載

    深入淺出boost正則表達式

    什么是正則表達式?正則表達式是一種用來描述一定數(shù)量文本的模式。Regex代表Regular Express. 如果您不知道什么是正則表達式,請看這篇文章:深入淺出之正則表達式
    發(fā)表于 09-08 18:09 ?9次下載

    OFDM的基帶信號表達式

    OFDM的基帶信號表達式1 OFDM的系統(tǒng)結構 OFDM的系統(tǒng)結構如圖1所示。
    發(fā)表于 10-20 16:07 ?6136次閱讀
    OFDM的基帶信號<b class='flag-5'>表達式</b>

    Verilog HDL硬件描述語言_表達式

    本章講述在Verilog HDL中編寫表達式的基礎。表達式由操作數(shù)和操作符組成。表達式可以在出現(xiàn)數(shù)值的任何地方使用。verilog相關教程材料,有興趣的同學可以下載學習。
    發(fā)表于 04-25 16:09 ?19次下載

    Python正則表達式的學習指南

    本文介紹了Python對于正則表達式的支持,包括正則表達式基礎以及Python正則表達式標準庫的完整介紹及使用示例。本文的內容不包括如何編寫高效的正則表達式、如何優(yōu)化正則
    發(fā)表于 09-15 08:00 ?0次下載
    Python正則<b class='flag-5'>表達式</b>的學習指南

    Python正則表達式指南

    本文介紹了Python對于正則表達式的支持,包括正則表達式基礎以及Python正則表達式標準庫的完整介紹及使用示例。本文的內容不包括如何編寫高效的正則表達式、如何優(yōu)化正則
    發(fā)表于 03-26 09:13 ?10次下載
    Python正則<b class='flag-5'>表達式</b>指南

    基于運算符信息的數(shù)學表達式檢索技術

    傳統(tǒng)的文本檢索技術主要面向一維文本,難以用于對二維結構數(shù)學表達式的檢索。針對該問題,通過引入公式描述結構,實現(xiàn)基于運算符信息的數(shù)學表達式檢索。利用公式描述
    發(fā)表于 04-29 15:58 ?2次下載
    基于運算符信息的數(shù)學<b class='flag-5'>表達式</b>檢索技術

    SystemVerilog-運算符/表達式規(guī)則

    RTL建模中廣泛使用的運算符是條件運算符,也稱為三元運算符,該運算符用于在兩個表達式之間進行選擇——表5-2列出了用于表示條件運算符的重點。
    的頭像 發(fā)表于 08-03 09:03 ?3200次閱讀

    Lambda表達式詳解

    C++11中的Lambda表達式用于 **定義并創(chuàng)建匿名的函數(shù)對象** ,以簡化編程工作。下面看一下Lambda表達式的基本構成。
    的頭像 發(fā)表于 02-09 11:28 ?1210次閱讀

    表達式與邏輯門之間的關系

    邏輯表達式是指表示一個表示邏輯運算關系的式子,是一個抽象的類似數(shù)學表達式,下面我們重點說明下其表達式與邏輯門之間的關系。
    的頭像 發(fā)表于 02-15 14:54 ?1671次閱讀
    <b class='flag-5'>表達式</b>與邏輯門之間的關系

    C語言的表達式

    在C語言中,表達式是由操作符和操作數(shù)組成。表達式可以由一個或者多個操作數(shù)組成,不同的操作符與操作數(shù)組成不同的表達式,因此,表達式才是C語言的基本。
    的頭像 發(fā)表于 02-21 15:09 ?1410次閱讀
    C語言的<b class='flag-5'>表達式</b>

    一文詳解Verilog表達式

    表達式由操作符和操作數(shù)構成,其目的是根據(jù)操作符的意義得到一個計算結果。表達式可以在出現(xiàn)數(shù)值的任何地方使用。
    的頭像 發(fā)表于 05-29 16:23 ?2889次閱讀
    一文詳解Verilog<b class='flag-5'>表達式</b>

    zabbix觸發(fā)器表達式 基本RS觸發(fā)器表達式 rs觸發(fā)器的邏輯表達式

    zabbix觸發(fā)器表達式 基本RS觸發(fā)器表達式 rs觸發(fā)器的邏輯表達式? Zabbix是一款開源的監(jiān)控軟件,它能通過監(jiān)控指標來實時監(jiān)測服務器和網(wǎng)絡的運行狀態(tài),同時還能提供警報和報告等功能來幫助管理員
    的頭像 發(fā)表于 08-24 15:50 ?1637次閱讀
    主站蜘蛛池模板: 国产va在线观看| 第四色激情网| 日日噜夜夜噜| 色婷婷精品| 啪啪色视频| 久久久噜噜噜久久中文字幕色伊伊| 免费在线观看a| 久久婷婷一区二区三区| 国产特黄1级毛片| 亚洲视频精选| avtt香蕉| 开心丁香婷婷深爱五月| rrr523亚洲国产片| 韩国男女无遮挡高清性视频| 国产69精品久久| 人色网| 日本免费视频| 五月综合激情网| 欧美一区二区三区四区视频| 国产综合色精品一区二区三区 | 国产黄mmd在线观看免费| 不卡的毛片| 日本亚洲在线| 亚洲swag精品自拍一区| 日本免费视频| 一区二区三区伦理| 白嫩少妇激情无码| 日本一级成人毛片免费观看| 在线视频这里只有精品| 康熙古代高h细节肉爽文全文| 8050午夜一级| 日本在线观看www| 国产一二精品| 日日射夜夜| 555成人免费影院| 五月婷婷色丁香| 精品一区二区三区免费毛片爱| 夜夜爱夜夜爽| 天天舔天天| 天天射视频| 天天摸天天操天天爽|