0
私はスタート、ストップ、リセットボタンで制御できるnexys4でストップウォッチ回路を動作させています。だから私がスタートをクリックすると、カウンタは停止するかリセットするまでカウントを開始します。私は別のボタンを押すと、カウンタが1ビットだけインクリメントする機能を追加しようとしています。今はクロックが速すぎるので、増分ボタンを押すと、各クロックエッジでボタンが押されたことを検出しているので、増分ボタンを何回か押し上げます。どのくらいボタンを押したままにしても、どのようにボタンを1つだけ登録するには?デバンサー回路が必要ですか?ワンタッチボタンの検出方法は?
ありがとうございます。
ステートマシンのボタンを押して出力状態をカウンタに送信して、何をするか(カウントアップ、ストップ、インクリメントのいずれか)を伝える場合、どこに行くのですか?私はちょうどステートマシンにそれを投げることができますか?または、それが自分のモジュールであり、増分ボタンが押されたときに、それをこのモジュールに送り(debouncerを使用して)、カウンターに出力を送り、それを1ずつインクリメントするように指示しますか? http://imgur.com/a/b7iOe(コントローラーはステートマシンを保持しています) – user2817437
いいえ、私はデバウンサーのほかに働いています!デバウンサーは、 "inc_cntr <=〜resync [3]&resync [2]"行の直後に行くのでしょうか、それともそれ自身のモジュールでしょうか? – user2817437
私はあなたの次のボタンプロジェクトでおそらく再利用できるので、あなたのdebouncerを別のモジュールにします。私はシンクロナイザーの後にデバウンスするだろう。 inc_cntrパルスに予約すると良いでしょう。あなたはデバンサーがメタ安定になるのを望んでおらず、シンクロナイザーはそれを防ぐでしょう。 –