From 3b13cb7d690ba1891f008d2905fcfb36049c71ff Mon Sep 17 00:00:00 2001 From: bryan newbold Date: Tue, 8 Oct 2013 23:33:18 -0400 Subject: clean up test stuff --- tb/complicated_test.v | 37 ------------------------- tb/main_tb.v | 36 ------------------------ tb/rot13_tb.v | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++ tb/rot13_tb.wcfg | 48 ++++++++++++++++++++++++++++++++ tb/trivial_test.v | 36 ------------------------ 5 files changed, 125 insertions(+), 109 deletions(-) delete mode 100755 tb/complicated_test.v delete mode 100755 tb/main_tb.v create mode 100755 tb/rot13_tb.v create mode 100644 tb/rot13_tb.wcfg delete mode 100755 tb/trivial_test.v (limited to 'tb') diff --git a/tb/complicated_test.v b/tb/complicated_test.v deleted file mode 100755 index 731c0c7..0000000 --- a/tb/complicated_test.v +++ /dev/null @@ -1,37 +0,0 @@ -`timescale 1ps/1ps -module complicated_test; - - reg CLK100; -always @(CLK100) begin - #4980.00 CLK100 <= ~CLK100; -end - -initial begin - #0 CLK100 <= 1'b0; // the first event that sets the clock in motion -end - - -reg [3:0] Switch_input; -wire [3:0] LED_output; -wire FPGA_RESET; - -main main_i ( - .PUSH_BUTTON_RESET_RAW(FPGA_RESET), - .SYSTEMCLOCK(CLK100), - .gpio_led(LED_output), - .gpio_switch(Switch_input) - ); - - -initial begin - #0 Switch_input <= 4'h00; - $display("FAIL"); - $display("Switch set to zero"); - #1000000 Switch_input <= 4'h01; - $display("Switch set to one"); - #2000000 - $display("PASS"); - $finish(); -end - -endmodule diff --git a/tb/main_tb.v b/tb/main_tb.v deleted file mode 100755 index b0f1346..0000000 --- a/tb/main_tb.v +++ /dev/null @@ -1,36 +0,0 @@ -`timescale 1ps/1ps -module main_tb; - - reg CLK100; -always @(CLK100) begin - #4980.00 CLK100 <= ~CLK100; -end - -initial begin - #0 CLK100 <= 1'b0; // the first event that sets the clock in motion -end - - -reg [3:0] Switch_input; -wire [3:0] LED_output; -wire FPGA_RESET; - -main main_i ( - .PUSH_BUTTON_RESET_RAW(FPGA_RESET), - .SYSTEMCLOCK(CLK100), - .gpio_led(LED_output), - .gpio_switch(Switch_input) - ); - - -initial begin - #0 Switch_input <= 4'h00; - $display("Switch set to zero"); - #1000000 Switch_input <= 4'h01; - $display("Switch set to one"); - #2000000 - $display("PASS"); - $finish(); -end - -endmodule diff --git a/tb/rot13_tb.v b/tb/rot13_tb.v new file mode 100755 index 0000000..1ec21c4 --- /dev/null +++ b/tb/rot13_tb.v @@ -0,0 +1,77 @@ +`timescale 1ns/1ps +module rot13_tb; + +reg synth_clk_12mhz; +always @(synth_clk_12mhz) begin + #41.6665 synth_clk_12mhz <= ~synth_clk_12mhz; +end + +initial begin + // the first event that sets the clock in motion + #0 synth_clk_12mhz <= 1'b0; +end + +reg reset; +integer nfail; + +reg [7:0] in_char; +wire [7:0] out_char; + +rot13 rot13_inst ( + .clock(synth_clk_12mhz), + .reset(reset), + .in_char(in_char), + .out_char(out_char) +); + +task check_rot13; + input [7:0] a; + input [7:0] b; + begin + in_char <= a; + #100 // 100 ns delay + if (out_char !== b) begin + nfail = nfail + 1; + $display("FAIL: '%c' -> '%c' (got '%c')", a, b, out_char); + end else begin + $display("'%c' -> '%c'", a, out_char); + end + end +endtask + +initial begin + nfail = 0; + $display("=================== start %m"); + #0 + reset <= 1'b1; + #1000 + reset <= 1'b0; + #100 + + check_rot13("A", "N"); + check_rot13("a", "n"); + check_rot13("N", "A"); + check_rot13("n", "a"); + check_rot13("M", "Z"); + check_rot13("m", "z"); + check_rot13("Z", "M"); + check_rot13("z", "m"); + check_rot13(".", "."); + check_rot13("8", "8"); + check_rot13("@", "@"); + check_rot13("[", "["); + check_rot13("`", "`"); + check_rot13("{", "{"); + + // uncomment the below to ensure failures are caught + //check_rot13("a", "a"); + + if (nfail !== 0) begin + $display("=================== %m: FAIL (%d problems)", nfail); + end else begin + $display("=================== %m: PASS"); + end + $finish(); +end + +endmodule diff --git a/tb/rot13_tb.wcfg b/tb/rot13_tb.wcfg new file mode 100644 index 0000000..171de9f --- /dev/null +++ b/tb/rot13_tb.wcfg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + synth_clk_12mhz + synth_clk_12mhz + + + reset + reset + + + in_char[7:0] + in_char[7:0] + ASCIIRADIX + + + out_char[7:0] + out_char[7:0] + ASCIIRADIX + + + Real Module + label + 128 128 255 + 230 230 230 + + + in_char[7:0] + in_char[7:0] + ASCIIRADIX + + + out_char[7:0] + out_char[7:0] + ASCIIRADIX + + diff --git a/tb/trivial_test.v b/tb/trivial_test.v deleted file mode 100755 index e12a52f..0000000 --- a/tb/trivial_test.v +++ /dev/null @@ -1,36 +0,0 @@ -`timescale 1ps/1ps -module trivial_test; - - reg CLK100; -always @(CLK100) begin - #4980.00 CLK100 <= ~CLK100; -end - -initial begin - #0 CLK100 <= 1'b0; // the first event that sets the clock in motion -end - - -reg [3:0] Switch_input; -wire [3:0] LED_output; -wire FPGA_RESET; - -main main_i ( - .PUSH_BUTTON_RESET_RAW(FPGA_RESET), - .SYSTEMCLOCK(CLK100), - .gpio_led(LED_output), - .gpio_switch(Switch_input) - ); - - -initial begin - #0 Switch_input <= 4'h00; - $display("Switch set to zero"); - #1000000 Switch_input <= 4'h01; - $display("Switch set to one"); - #2000000 - $display("PASS"); - $finish(); -end - -endmodule -- cgit v1.2.3