在架构内定义的类型是否可以在其外部知道?

时间:2012-11-04 13:10:57

标签: vhdl

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

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

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

1 个答案:

答案 0 :(得分:3)

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

但是,体系结构中的类型定义可能与导入的库的类型定义冲突。只是提一下。