Vhdl 在体系结构内部定义的类型在体系结构外部是否已知?

Vhdl 在体系结构内部定义的类型在体系结构外部是否已知?,vhdl,Vhdl,我有一个状态机,它使用的组件本身就是一个状态机。为了实现状态机,我使用了一种新类型: type state_machine is ( st_idle, st_cycle_1, ... st_cycle_17 ); 这是在内部状态机的体系结构中定义的。我还可以定义一个类型state\u machine,它将在外部组件的体系结构中具有其他状态,而不会发生冲突吗?可以。架构内的类型定义是本地定义,在该特定架构外无法看到。 因此,可以在所有体系结构中反

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

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

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

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

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