Fixed video, kbd and buzzer
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
//==============================================================
|
||||
// Test pin control unit
|
||||
//==============================================================
|
||||
`timescale 100 ns/ 100 ns
|
||||
|
||||
module test_pin_control;
|
||||
|
||||
// ----------------- CONTROL ----------------
|
||||
logic fFetch_sig=0;
|
||||
logic fMRead_sig=0;
|
||||
logic fMWrite_sig=0;
|
||||
logic fIORead_sig=0;
|
||||
logic fIOWrite_sig=0;
|
||||
logic T1_sig=0;
|
||||
logic T2_sig=0;
|
||||
logic T3_sig=0;
|
||||
logic T4_sig=0;
|
||||
|
||||
// ----------------- STATES ----------------
|
||||
wire bus_ab_pin_we_sig;
|
||||
wire bus_db_pin_oe_sig;
|
||||
wire bus_db_pin_re_sig;
|
||||
|
||||
// ----------------- TEST -------------------
|
||||
initial begin
|
||||
// Initial condition
|
||||
#1 assert(bus_ab_pin_we_sig==0 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
|
||||
// Activate formula for each signal
|
||||
fFetch_sig = 1;
|
||||
T1_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
T1_sig = 0;
|
||||
T3_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
fFetch_sig = 0;
|
||||
T1_sig = 0;
|
||||
T3_sig = 0;
|
||||
#1 assert(bus_ab_pin_we_sig==0 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
// Read phase
|
||||
fMRead_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==0 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
T1_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
// Write phase
|
||||
fMRead_sig = 0;
|
||||
fMWrite_sig = 1;
|
||||
fIORead_sig = 0;
|
||||
fIOWrite_sig = 0;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
// IO Read phase
|
||||
fMRead_sig = 0;
|
||||
fMWrite_sig = 0;
|
||||
fIORead_sig = 1;
|
||||
fIOWrite_sig = 0;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
// IO Write phase
|
||||
fMRead_sig = 0;
|
||||
fMWrite_sig = 0;
|
||||
fIORead_sig = 0;
|
||||
fIOWrite_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
fIOWrite_sig = 0;
|
||||
#1 assert(bus_ab_pin_we_sig==0 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
|
||||
// Test bus pin control
|
||||
T2_sig = 1;
|
||||
fMWrite_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==1 && bus_db_pin_re_sig==0);
|
||||
fMWrite_sig = 0;
|
||||
fIORead_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==0);
|
||||
T3_sig = 1;
|
||||
#1 assert(bus_ab_pin_we_sig==1 && bus_db_pin_oe_sig==0 && bus_db_pin_re_sig==1);
|
||||
|
||||
#1 $display("End of test");
|
||||
end
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Instantiate pin control
|
||||
//--------------------------------------------------------------
|
||||
|
||||
pin_control pin_control_inst
|
||||
(
|
||||
.fFetch(fFetch_sig) , // input fFetch_sig
|
||||
.fMRead(fMRead_sig) , // input fMRead_sig
|
||||
.fMWrite(fMWrite_sig) , // input fMWrite_sig
|
||||
.fIORead(fIORead_sig) , // input fIORead_sig
|
||||
.fIOWrite(fIOWrite_sig) , // input fIOWrite_sig
|
||||
.T1(T1_sig) , // input T1_sig
|
||||
.T2(T2_sig) , // input T2_sig
|
||||
.T3(T3_sig) , // input T3_sig
|
||||
.T4(T4_sig) , // input T4_sig
|
||||
.bus_ab_pin_we(bus_ab_pin_we_sig) , // output bus_ab_pin_we_sig
|
||||
.bus_db_pin_oe(bus_db_pin_oe_sig) , // output bus_db_pin_oe_sig
|
||||
.bus_db_pin_re(bus_db_pin_re_sig) // output bus_db_pin_re_sig
|
||||
);
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user