0

読み取り/書き込みイネーブルを設定して読み取ることにより、チップからのデータフローを制御するステートマシンを作成しています。私のクロックは 27 MHz で動作しており、周期は 37 ns です。ただし、通信しているチップの仕様では、「読み取り要求」信号を少なくとも 50 ns 保持する必要があります。もちろん、私の周期は 37 ns であるため、これを 1 サイクルで行うことはできません。

私は、実際に読み取りを完了した次の状態にフラグを立てる以外に何もしない追加の状態を作成できると考えました。したがって、別の期間遅延を追加します (「読み取り要求」を 74 ns 保持することを意味します) が、これはできません。良い習慣のように聞こえます。

他のオプションは、おそらくカウンターを使用することですが、まだ行っていない別のオプションがあるのではないでしょうか?

ステートが 1 クロック周期よりも長く続く必要がある場合、ステート マシンにどのように遅延を実装する必要がありますか?

ありがとう!

T1 は 50 ns より大きくなければなりません (T1 は 50 ns より大きくする必要があります)完全なデータシートについては、こちらを参照してください。

4

1 に答える 1

1

遅延は、クロックを使用してのみ確実に実行できます-余分な状態を介して、または既存の状態でカウンターを使用して、余分な「ティック」を追加することは、私の心には完全に受け入れられます。低速の外部チップで同じステート マシンを再利用する場合 (または FPGA に供給するために別のクロック周波数を使用する場合)、カウンターはより柔軟になる可能性があります。ステートマシンへの「待機」状態。

于 2012-10-25T16:19:29.873 に答える