From 91d71c41e0dfc2ec55ca7006536e7b52caa466a3 Mon Sep 17 00:00:00 2001 From: Minyong Li <ml10g20@soton.ac.uk> Date: Mon, 23 Aug 2021 22:45:28 +0100 Subject: [PATCH] testbench/CanCore.tb.v: add testbench for CanCore --- testbench/CanCore.tb.v | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 testbench/CanCore.tb.v diff --git a/testbench/CanCore.tb.v b/testbench/CanCore.tb.v new file mode 100644 index 0000000..6174d5f --- /dev/null +++ b/testbench/CanCore.tb.v @@ -0,0 +1,50 @@ +// Testbench for core.CanCore +// SPDX-FileCopyrightText: 2021 Minyong Li <ml10g20@soton.ac.uk> +// SPDX-License-Identifier: GPL-3.0-or-later + +`timescale 100ps/1ps + +module CanCoreTest; + +reg clock; +reg reset; +reg io_take; +wire io_halted; +reg [6:0] io_programMemory_read_addr; +wire [19:0] io_programMemory_read_data; +reg io_programMemory_write_en; +reg [6:0] io_programMemory_write_addr; +reg [19:0] io_programMemory_write_data; +reg [3:0] io_dataMemory_read_addr; +wire [511:0] io_dataMemory_read_data; +reg io_dataMemory_write_en; +reg [3:0] io_dataMemory_write_addr; +reg [511:0] io_dataMemory_write_data; + +CanCore canCore (.*); + +always #1 clock = ~clock; + +initial begin + clock <= 0; + reset <= 1; + io_take <= 0; + io_programMemory_read_addr <= 0; + io_programMemory_write_addr <= 0; + io_programMemory_write_en <= 0; + io_programMemory_write_addr <= 0; + io_programMemory_write_data <= 0; + io_dataMemory_read_addr <= 0; + io_dataMemory_write_en <= 0; + io_dataMemory_write_addr <= 0; + io_dataMemory_write_data <= 0; + + // Quartus Prime starts the simulator under + // fpga/<board>/simulation/<simulator>/ ; change the path if needed. + $readmemh("../../../../firmware/test/test.prog.hex", canCore.programMemory.mem); + $readmemh("../../../../firmware/test/test.data.hex", canCore.dataMemory.mem); + + $stop; +end + +endmodule -- GitLab