FPGA(Phillio開発ボード、ザイリンクスspartan3e、vhdlを使用)の使用方法を学んでいます。
着信パルスを(ハードコードされた)数値で除算する必要があります。
私は3つのオプションを見ることができます-大まかに、疑似コードとして(例として10カウントを使用):
- 入力立ち上がりエッジが1増加すると0に初期化され、10と比較されます。それらが等しい場合、0にリセットし、出力パルスをトリガーします
- 入力の立ち上がりエッジが1減少すると10に初期化され、0と比較されます。それらが等しい場合、10にリセットし、出力パルスをトリガーします
- 9に初期化しますが、出力ビットである先頭の「0」ビットが少なくとも1つあることを確認してください。入力の立ち上がりエッジで1減少します。出力ビットの立ち上がりエッジでリセットされます。
デューティサイクルは重要ではありません。
これらの1つは他のものより優れていますか?私が考えていないもっと良い方法はありますか?
コンパイラーに最適化の最良の機会を与える「標準的な」方法はありますか?