在 Ada 中,可以为枚举类型赋予自定义表示值,如下所示:
type Traffic_Light_Color is (Red, Yellow, Green);
for Traffic_Light_Color use (Red => 0, Yellow => 1, Green => 2);
鉴于 VHDL 在很大程度上源自 Ada 并且它支持 Ada 的打字风格,是否可以在 VHDL 中使用类似的结构并将自定义值分配给枚举状态?更具体地说,我想将
std_logic_vector
的值分配给枚举状态,类似于以下内容:
type State_Machine is (Reset, Idle, Read, Write, Busy, Complete);
for State_Machine use (
Reset => "000",
Idle => "001",
Read => "010",
Write => "011",
Busy => "100",
Complete => "101"
);
VHDL 是否支持自定义表示值,如果支持,上述语法是否正确?我尝试搜索 LRM 的 1076-2000 版,但找不到提及具体值分配的内容。