1

それ自体がステート マシンであるコンポーネントを使用するステート マシンがあります。ステート マシンを実装するために、新しい型を使用しています。

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

これは、内部ステート マシンのアーキテクチャ内で定義されます。state_machine衝突することなく、外部コンポーネントのアーキテクチャで他の状態を持つ型を定義することはできますか?

4

1 に答える 1

3

はい、できます。アーキテクチャ内の型定義はローカル定義であり、その特定のアーキテクチャの外では見ることができません。
したがって、FSM 型など、すべてのアーキテクチャで同じ型名を何度も使用することができます。これが妥当かどうかは別の問題であり、一概に答えることはできません。個人的には、FSM に自己文書化された名前を使用することを好みます。これは、他の人 (および数週間後には私自身) がコードを確認するのに非常に役立つからです。小さな FSM の場​​合、またはモジュールに FSM が 1 つしかない場合 (それ自体は十分に文書化されています)、これはそれほど大きな問題ではありません。

ただし、アーキテクチャ内の型定義が、インポートされたライブラリの型定義と衝突する可能性があります。言及するだけです。

于 2012-11-04T13:52:12.990 に答える