我有一个状态机,它使用一个状态机本身的组件。要实现状态机,我使用的是新类型:
type state_machine is
(
st_idle,
st_cycle_1,
...
st_cycle_17
);
在内部状态机的体系结构中定义。我是否还可以定义一个类型state_machine
,它将在外部组件的体系结构中具有其他状态而不会发生冲突?
答案 0 :(得分:3)
是的,你可以。体系结构中的类型定义是本地定义,不能在该特定体系结构之外看到 因此,可以在所有体系结构中反复使用相同的类型名称,例如:作为FSM类型。如果这是合理的另一个问题,一般无法回答。我个人更喜欢为FSM使用自我记录的名称,因为这对于其他人(以及我自己几周后)查看您的代码可能会有很大帮助;对于小型FSM或如果模块中只有一个FSM(本身已有详细记录),这不是一个大问题。
但是,体系结构中的类型定义可能与导入的库的类型定义冲突。只是提一下。