100 MHz 信号から 10 クロック サイクルしか持続しないクロックを作成しようとしています。クロックはパルス信号から有効になります。
- パルス信号が 1 になるたびに、clock2 は 100 MHz の clock1 に 10 サイクル追従します。
- 私はVHDLで作業しています
100 MHz 信号から 10 クロック サイクルしか持続しないクロックを作成しようとしています。クロックはパルス信号から有効になります。
- パルス信号が 1 になるたびに、clock2 は 100 MHz の clock1 に 10 サイクル追従します。
100 MHzのクロックが入力として与えられているということですか?
そうだとすれば、小さなステートマシンとカウンターがこれにアプローチする良い方法でしょう。ステートマシンには、アイドルとカウントの2つの状態があります。次の状態ロジックは、パルス信号がハイの場合、状態をアイドルからカウントに変更します。カウント状態にある間、カウンターはインクリメントし、カウンターが10に達すると、状態はアイドル状態に戻ります。カウント状態のとき、出力ロジックはクロック信号を出力に転送します。アイドル状態のとき、出力は「0」になります。
ステートマシンの作成の詳細については、VHDLでステートマシンを実装する方法を参照してください。
カウンタの作成の詳細については、VHDLのカウンタを参照してください。
clock_inputは入力である100MHzクロックであり、clock_generatedは出力です。
出力ロジックにはマルチプレクサが含まれます。
clock_generated <= clock_input when state=count else '0';