summaryrefslogtreecommitdiff
path: root/sim/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sim/main.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/sim/main.cpp b/sim/main.cpp
index f082464..cc1c596 100644
--- a/sim/main.cpp
+++ b/sim/main.cpp
@@ -5,6 +5,13 @@
5 5
6#include "Vtop.h" 6#include "Vtop.h"
7 7
8std::uint64_t phases = 0;
9
10double sc_time_stamp()
11{
12 return (double)phases / 2;
13}
14
8int main(int argc, const char *argv[]) 15int main(int argc, const char *argv[])
9{ 16{
10 Verilated::commandArgs(argc, argv); 17 Verilated::commandArgs(argc, argv);
@@ -21,31 +28,29 @@ int main(int argc, const char *argv[])
21 28
22 std::cout << "*** RESET SEQUENCE ***\n"; 29 std::cout << "*** RESET SEQUENCE ***\n";
23 30
24 std::uint64_t time = 0;
25
26 top.native_clk = 0; 31 top.native_clk = 0;
27 top.reset_n = 0; 32 top.reset_n = 0;
28 top.eval(); 33 top.eval();
29 vcd.dump(++time); 34 vcd.dump(++phases);
30 35
31 top.native_clk = 1; 36 top.native_clk = 1;
32 top.eval(); 37 top.eval();
33 vcd.dump(++time); 38 vcd.dump(++phases);
34 39
35 top.native_clk = 0; 40 top.native_clk = 0;
36 top.reset_n = 1; 41 top.reset_n = 1;
37 top.eval(); 42 top.eval();
38 vcd.dump(++time); 43 vcd.dump(++phases);
39 44
40 std::cout << "*** MAIN LOOP ***\n"; 45 std::cout << "*** MAIN LOOP ***\n";
41 46
42 for (unsigned int i = 0; i < 100000 && !Verilated::gotFinish(); ++i) { 47 for (unsigned int i = 0; i < 10000 && !Verilated::gotFinish(); ++i) {
43 top.native_clk = 1; 48 top.native_clk = 1;
44 top.eval(); 49 top.eval();
45 vcd.dump(++time); 50 vcd.dump(++phases);
46 top.native_clk = 0; 51 top.native_clk = 0;
47 top.eval(); 52 top.eval();
48 vcd.dump(++time); 53 vcd.dump(++phases);
49 } 54 }
50 55
51 std::cout << "\n"; 56 std::cout << "\n";