URL
https://opencores.org/ocsvn/a-z80/a-z80/trunk
Subversion Repositories a-z80
[/] [a-z80/] [trunk/] [cpu/] [registers/] [test_latch.sv] - Rev 3
Compare with Previous | Blame | View Log
//==============================================================// Test 8-bit latch block//==============================================================`timescale 100 ns/ 100 nsmodule test_latch;// ----------------- CLOCKS AND RESET -----------------// Define one full T-clock cycle delay`define T #2bit clk = 1;initial repeat (30) #1 clk = ~clk;// ----------------------------------------------------// Bi-directional bus with 3-statereg [7:0] db; // Drive it using these wireswire [7:0] db_sig; // Read it using these wiresreg oe_sig;reg we_sig;// ----------------- TEST -------------------`define CHECK(arg) \assert(db_sig===arg);initial beginoe_sig = 0;we_sig = 0;// Test bidirectional data bus and leave it at Z`T db = 8'hAA;`T db = 'z;`T `CHECK(8'hz);// Write a byte into the latch`T db = 8'h55;`T we_sig = 1;`T we_sig = 0;`T db = 'z;// Read latch`T db = 'z;`T oe_sig = 1;`T `CHECK(8'h55);`T oe_sig = 0;`T $display("End of test");end// Drive a 3-state bidirectional bus with this statementassign db_sig = db;//--------------------------------------------------------------// Instantiate register latch//--------------------------------------------------------------reg_latch reg_latch_inst(.clk(clk),.oe(oe_sig) , // input oe_sig.we(we_sig) , // input we_sig.db(db_sig[7:0]) // inout [7:0] db_sig);endmodule
