Project

General

Profile


module FT816_tb();

reg [5:0] btn;
reg [5:0] prev_state;
reg clk;
always #10 clk <= ~clk;

initial begin
#1 clk <= 1'b0;
#50 btn <= 6'h00;
#50 btn <= 6'h3D;
#20000 btn[1] <= 1'b1;
#2000 btn[1] <= 1'b0;
end

FT816Sys2 u1
(
.btn(btn),
.xclk(clk),
.Led(),
.sw(8'h00)
);

always @(posedge clk)
begin
prev_state <= u1.u1.u1.state;
if (prev_state != u1.u1.u1.state) begin
$display("%d %c ad=%h db=%h pc=%h ir=%h %s", $time, u1.u1.u1.rw ? " " : "W",
u1.u1.u1.ad, u1.u1.u1.db,
u1.u1.u1.pc, u1.u1.u1.ir, u1.u1.u1.fnStateName(u1.u1.u1.state));
end
end

endmodule
(8-8/48)