From aba8a9f6f4c7589889a7134b5592369395ec498e Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sat, 3 Aug 2024 12:32:22 -0400 Subject: soc: pimc: Add initial testbench Signed-off-by: Ian Moffett --- tb/soc/irq/tb_pimc.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tb/soc/irq/tb_pimc.cpp (limited to 'tb/soc') diff --git a/tb/soc/irq/tb_pimc.cpp b/tb/soc/irq/tb_pimc.cpp new file mode 100644 index 0000000..8dd0186 --- /dev/null +++ b/tb/soc/irq/tb_pimc.cpp @@ -0,0 +1,35 @@ +#include +#include +#include +#include +#include "Vpimc.h" +#include "Vpimc___024root.h" + +#define MAX_SIM_ITER 100 + +int main(int argc, char** argv, char** env) { + Vpimc *pimc = new Vpimc; + + Verilated::traceEverOn(true); + VerilatedVcdC *m_trace = new VerilatedVcdC; + pimc->trace(m_trace, 5); + m_trace->open("waveform.vcd"); + + pimc->notify = 1; + pimc->irq_in = 0b00000010; /* Pulse IRQ line high */ + + for (int i = 0; i < MAX_SIM_ITER; ++i) { + if (i == 5) { + pimc->irq_in = 0b00000000; + } + + pimc->clk ^= 1; + pimc->eval(); + m_trace->dump(i); + } + + m_trace->close(); + delete pimc; + exit(EXIT_SUCCESS); +} + -- cgit v1.2.3