38 lines
868 B
Verilog
38 lines
868 B
Verilog
`include "../../src/beepo.v"
|
|
`timescale 100us/10ns
|
|
|
|
`define assert(signal, value) \
|
|
if (signal !== value) begin \
|
|
$display("ASSERTION FAILED in %m: signal != value"); \
|
|
$finish; \
|
|
end
|
|
|
|
module tb_adding();
|
|
reg clk = 0;
|
|
|
|
Beepo #(
|
|
.FREQ(1),
|
|
.UART_BAUD(1_000_000)
|
|
) bep (
|
|
.i_clk(clk)
|
|
);
|
|
|
|
localparam CLK_PERIOD = 1.0;
|
|
always #(CLK_PERIOD/2) clk=~clk;
|
|
|
|
initial begin
|
|
$dumpfile("build/dump.vcd");
|
|
$dumpvars(0, tb_adding,
|
|
bep.r_arg_regs[0], bep.r_arg_regs[1],
|
|
bep.r_arg_regs[2], bep.r_arg_regs[3],
|
|
bep.r_registers[1]
|
|
);
|
|
end
|
|
|
|
// should probably do more granular tests
|
|
initial #10000 begin
|
|
`assert(bep.r_registers[1], 64'h2020202040406090);
|
|
$display("[ADDING] All tests passed");
|
|
$finish;
|
|
end
|
|
endmodule |