我正在编写一个具有通用参数的状态机,并且某些状态的存在取决于此。由于我在枚举之类的东西中定义了我的状态(不知道它的 vhdl 术语),我想知道我是否可以根据泛型来定义这个枚举,有点像这样:
generic(x: bool); -- in the entity
....
architecture ...
if x then generate
type states_t is (State1, State2, State3ifX)
else
type states_t is (State1, State2)
end generate;
variable state : states_t;
begin
case state is
....
if x then generate
when State3ifX =>
...
end if;
end case
end architecture;
我是否必须承担自重(状态 3 的逻辑,掉入其中的危险(在我的情况下无关紧要,因为我不希望有辐射),额外的一点,因为ceil(ld(3))=2 > ld(2)=1
),或者是否有可能去除不必要的状态?
(在我的情况下,有几个状态可以被剥离,但是单独的架构不值得付出努力)