2017-03-12 43 views
0

こんにちは私はプログラミングの世界では初めてです。エース171クラスのプロジェクトがありますが、私自身はそれを理解しようとしていますが、できません。私は正常に設計した2ビットコンパレータを設計する必要がある前にプロジェクトを持っていました。今私はその2ビットコンパレータを取って、それを変更するだけでなく、私の拡張2ビットプログラムを使用してお互いに8ビットを比較するいくつかのより多くのVerilogコードを書くことになっています。私の問題は、どこから始めるべきかわからないことです。私の教授は、常にブラックボックスと真理値表から始めると言っていました。私の最初の本能は、私が間違っていることが分かっている16ビットの真理値表を作成することです。しかし、私はどこから始めるべきか分からないのですか?助言がありますか?道がどこから始まるのかがわかるような気がする。 下記の私の2ビットコンパレータコード。2ビットコンパレータのVerilog 8ビットコンパレータどこから始めますか?

//two 2-bit input Values Comparer Behavioral Dataflow 

//Defining Module and Parameters 

module BcompareA(A, B, GT, EQU, LT); 

input [1:0] A; 
input [1:0] B; 

output GT;//when a is greater than b 
output EQU;//when a is equal to b 
output LT;//when a is less than b 

//Boolean Output Descriptions 

assign GT = A[1]&~B[1] 
      | A[1]&A[0]&~B[0] 
      | A[0]&~B[1]&~B[0] 


assign EQU = ~A[1]&~A[0]&~B[1]&~B[0] 
      | ~A[1]&A[0]&~B[1]&B[0] 
      | A[1]&A[0]&B[1]&B[0] 
      | A[1]&~A[0]&B[1]&~B[0] 


assign LT = ~A[1]&B[1] 
      | ~A[1]&~A[0]&B[0] 
      | ~A[0]&B[1]&B[0] 


endmodule 
+0

ビット '[7:6]、[5:4]、[3:2]、[1:0]'を比較する4つの2ビットコンパレータを定義し、 'GT '、' EQU'と '' LT'はシグナルを送りますか? – Qiu

答えて

0

あなたは[7:6]ビットのペアを比較するために、あなたに2ビットのコンパレータを使用する必要があり、[5,4]、... はEQU出力を開始します - それが最も簡単です。すべてのペアが等しい場合、AとBは等しくなります。論理は単純です。 Aが最上位ビットが大きい(GT_76 == 1)か、または最高ビットが等しい(EQU_76 == 1)、次のペアがより大きい(GT_54 = 1)などであることに注意してください。 最後にAもしそれが大きくなくても等しくなければ、より少なくなる。

関連する問題