1

我有一个状态机,它使用一个本身就是状态机的组件。为了实现状态机,我使用了一种新类型:

type state_machine is
    (
    st_idle,
    st_cycle_1,
    ...
    st_cycle_17 
    );

这是在内部状态机的架构内部定义的。我是否还可以定义一个类型,该类型state_machine将在外部组件的体系结构中具有其他状态而不会发生冲突?

4

1 回答 1

3

是的你可以。架构内的类型定义是本地定义,在该特定架构之外无法看到。
因此,可以在所有体系结构中一遍又一遍地使用相同的类型名称,例如 FSM 类型。这是否合理是另一个问题,一般无法回答。我个人更喜欢为 FSM 使用自我记录的名称,因为这对于查看您的代码的其他人(以及几周后的我自己)会很有帮助;对于小型 FSM 或者如果模块中只有一个 FSM(其本身有据可查),这不是什么大问题。

然而,架构中的类型定义可能与导入库的类型定义发生冲突。顺便提一下。

于 2012-11-04T13:52:12.990 回答