Fixed video, kbd and buzzer
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
//==============================================================
|
||||
// Test ALU state preparation for DAA instruction
|
||||
//==============================================================
|
||||
`timescale 100 ns/ 100 ns
|
||||
|
||||
module test_prep_daa;
|
||||
|
||||
// ----------------- INPUT -----------------
|
||||
reg [3:0] low_sig; // Input data bus A (independent)
|
||||
reg [3:0] high_sig; // Input data bus B (independent)
|
||||
|
||||
// ----------------- OUTPUT -----------------
|
||||
wire low_gt_9_sig; // low bus > 9
|
||||
wire high_gt_9_sig; // high bus > 9
|
||||
wire high_eq_9_sig; // high bus == 9
|
||||
|
||||
// ----------------- TEST -------------------
|
||||
`define CHECK \
|
||||
assert(low_gt_9_sig==low_sig>9 && high_gt_9_sig==high_sig>9 && high_eq_9_sig==(high_sig==9));
|
||||
|
||||
initial begin
|
||||
low_sig = 4'h0;
|
||||
high_sig = 4'h0;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h1;
|
||||
high_sig = 4'h1;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h2;
|
||||
high_sig = 4'h2;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h3;
|
||||
high_sig = 4'h3;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h4;
|
||||
high_sig = 4'h4;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h5;
|
||||
high_sig = 4'h5;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h6;
|
||||
high_sig = 4'h6;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h7;
|
||||
high_sig = 4'h7;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h8;
|
||||
high_sig = 4'h8;
|
||||
#1 `CHECK
|
||||
low_sig = 4'h9;
|
||||
high_sig = 4'h9;
|
||||
#1 `CHECK
|
||||
low_sig = 4'hA;
|
||||
high_sig = 4'hA;
|
||||
#1 `CHECK
|
||||
low_sig = 4'hB;
|
||||
high_sig = 4'hB;
|
||||
#1 `CHECK
|
||||
low_sig = 4'hC;
|
||||
high_sig = 4'hC;
|
||||
#1 `CHECK
|
||||
low_sig = 4'hD;
|
||||
high_sig = 4'hD;
|
||||
#1 `CHECK
|
||||
low_sig = 4'hE;
|
||||
high_sig = 4'hE;
|
||||
#1 `CHECK
|
||||
low_sig = 4'hF;
|
||||
high_sig = 4'hF;
|
||||
#1 `CHECK
|
||||
|
||||
#1 $display("End of test");
|
||||
end
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Instantiate prep-DAA block
|
||||
//--------------------------------------------------------------
|
||||
alu_prep_daa alu_prep_daa_inst
|
||||
(
|
||||
.low(low_sig) , // input [3:0] low_sig
|
||||
.high(high_sig) , // input [3:0] high_sig
|
||||
.low_gt_9(low_gt_9_sig) , // output low_gt_9_sig
|
||||
.high_eq_9(high_eq_9_sig) , // output high_eq_9_sig
|
||||
.high_gt_9(high_gt_9_sig) // output high_gt_9_sig
|
||||
);
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user