aboutsummaryrefslogtreecommitdiffstats
path: root/testbench.cc
diff options
context:
space:
mode:
authorOlof Kindgren <olof.kindgren@gmail.com>2018-03-04 21:20:29 +0100
committerOlof Kindgren <olof.kindgren@gmail.com>2018-03-04 21:20:29 +0100
commit70ea50e60dbb9dc13835f0c7c34b0015e0513196 (patch)
treece74e0d3e697d22b62a748636a4aa6987eaa52ca /testbench.cc
parent2ba76e03116d6e8bfbb53681597458ee10299d05 (diff)
downloadpicorv32-70ea50e60dbb9dc13835f0c7c34b0015e0513196.tar.gz
picorv32-70ea50e60dbb9dc13835f0c7c34b0015e0513196.zip
Add verilator testbench
Diffstat (limited to 'testbench.cc')
-rw-r--r--testbench.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/testbench.cc b/testbench.cc
new file mode 100644
index 0000000..81c6273
--- /dev/null
+++ b/testbench.cc
@@ -0,0 +1,27 @@
+#include "Vpicorv32_wrapper.h"
+#include "verilated_vcd_c.h"
+
+int main(int argc, char **argv, char **env)
+{
+ Verilated::commandArgs(argc, argv);
+ Verilated::traceEverOn(true);
+ Vpicorv32_wrapper* top = new Vpicorv32_wrapper;
+
+ VerilatedVcdC* tfp = new VerilatedVcdC;
+ top->trace (tfp, 99);
+ tfp->open ("testbench.vcd");
+ top->clk = 0;
+ int t = 0;
+ while (!Verilated::gotFinish()) {
+ if (t > 200)
+ top->resetn = 1;
+ top->clk = !top->clk;
+ top->eval();
+ tfp->dump (t);
+ t += 5;
+ }
+ tfp->close();
+ delete top;
+ exit(0);
+}
+