簡體   English   中英

如何定義記錄類型的默認值

[英]How to define default value for record type

是否可以為記錄類型或任何用戶定義的類型定義默認值?

類似於(偽VHDL):

type t_foo is record
    a : integer := 4;
    b : std_logic := '0';
end record;

要么

subtype glarp is integer range 0 to 10 := 5;

編輯:將glarp從類型更改為子類型定義。

我有把評論變成答案的自由。 記錄類型的初始值可以由該類型的常量定義。

type t_foo is record
    a : integer;
    b : std_logic;
end record;

constant INIT_T_FOO : t_foo := (a => 4, b => '0');

signal bar : t_foo := INIT_T_FOO;

這種方法的缺點是,每次定義t_foo類型的對象時,用戶都必須確保設置正確的初始值。 使用常量定義初始值可以節省一些輸入,並使以后更容易更改初始值。 但是同樣,不可能以這種方式強制執行特定的初始值,這全都取決於編碼准則和人為錯誤,因此這是次優的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM