0

Verilog を使用してプロジェクトを作成しました。2 つの 4 ビット数、マルチプレクサ (S0、S1) と 4 つのモジュール (加算器、減算器、xor) があります。出力は 4 ビットです。シンプルなアルミだと思います。それらすべてをモジュールとして含む Verilog コードを作成しました。DE0 ボードにピンを割り当てました。ご覧のとおり、出力は LED で見ることができます。それについては問題ありません。しかし、出力を LED の代わりに 7 セグメント ディスプレイに表示するにはどうすればよいでしょうか。ただし、結果は 2 進数ではなく 16 進数である必要があります。7セグメント表示についてもピンがあるので、LEDのように実装しようと思います。Verilogについては初めてです。初めてのプログラムになります。

  • S が 0 (00) の場合、加算結果は LED に表示されます。
  • S が 1 (01) の場合、減算結果は LED で表示されます。
  • S が 2 (10) の場合、AND 演算の結果が LED に表示されます。
  • S が 3 (11) の場合、XOR 演算の結果が LED に表示されます。

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

1

7 セグメント ディスプレイは、実際には 8 の字パターンの 7 つの LED (小数点用に 8 番目の LED) です。そのため、ディスプレイのそのセグメントに接続されたピンを LOW に駆動するだけでセグメントが点灯します (7 セグメント ディスプレイに接続されたピンについては、DE0 のハンドブックのセクション 4.3 を参照してください: ftp://ftp.altera .com/up/pub/Altera_Material/Boards/DE0/DE0_User_Manual.pdf )。これは、各セグメントを制御できることを意味しますが、4 ビットの数値をディスプレイに入力するだけでは、簡単に読み取れるものにはなりません。このためには、7 セグメントを点灯させるパターンを表す 4 ビット値から 7 ビット値へのコンバーターが必要になります (つまり、出力が4'b0001の場合、7 セグメントに 1 を表示させたいので、4'b00011 が表示される 7 ビット値に変換されます)。これは、Verilog を学習する際に挑戦する価値のある設計課題だと思います。そのため、4 ビットから 7 セグメントのディスプレイ モジュールのコードは提供しません。ただし、独自の作成で問題が発生した場合は、この回答に気軽にコメントしてください。または、大きな問題である場合は、新しい質問を作成してください。

于 2015-10-07T19:03:33.357 に答える