VHDL中枚举类型的表示值

问题描述 投票:0回答:0

在 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 版,但找不到提及具体值分配的内容。

vhdl
© www.soinside.com 2019 - 2024. All rights reserved.