module tb; | |
import tlul_pkg::*; | |
import trial1_reg_pkg::*; | |
// Clock gen | |
logic clk, rst_n; | |
parameter CLK_PERIOD = 10ns; | |
initial begin | |
clk = 0; | |
forever begin | |
#(CLK_PERIOD/2) clk = ~clk; | |
end | |
end | |
// Reset gen | |
initial begin | |
rst_n = 1'b1; | |
#(CLK_PERIOD/2.5) rst_n = 1'b0; | |
#(CLK_PERIOD*4) rst_n = 1'b1; | |
repeat(10000) | |
@(posedge clk); | |
$finish; | |
end | |
// BUS interface | |
tl_h2d_t tl_h2d; | |
tl_d2h_t tl_d2h; | |
//logic bus_reg_valid; | |
//logic bus_reg_ready; | |
//bus_reg_t bus_reg; | |
//logic reg_bus_valid; | |
//logic reg_bus_ready; | |
//reg_bus_t reg_bus; | |
// auto generated signals to/from reg/hw | |
trial1_hw2reg_t hw2reg; | |
trial1_reg2hw_t reg2hw; | |
trial1_reg_top dut ( | |
.clk_i (clk), | |
.rst_ni (rst_n), | |
.tl_i (tl_h2d), | |
.tl_o (tl_d2h), | |
//.bus_reg_valid, | |
//.bus_reg_ready, | |
//.bus_reg, | |
//.reg_bus_valid, | |
//.reg_bus_ready, | |
//.reg_bus, | |
.reg2hw, | |
.hw2reg | |
); | |
trial1_test test ( | |
.clk, | |
.rst_n, | |
.tl_h2d (tl_h2d), | |
.tl_d2h (tl_d2h), | |
//.bus_reg_valid, | |
//.bus_reg_ready, | |
//.bus_reg, | |
//.reg_bus_valid, | |
//.reg_bus_ready, | |
//.reg_bus, | |
.reg2hw, | |
.hw2reg | |
); | |
endmodule |