@@ -0,0 +1,52 @@
|
||||
//
|
||||
// Copyright (c) 2026 Mirocom Laboratories and MSP engineers.
|
||||
// All Rights Reserved.
|
||||
//
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
#include <verilated.h>
|
||||
#include <verilated_vcd_c.h>
|
||||
#include "Vsoc.h"
|
||||
#include "Vsoc___024root.h"
|
||||
|
||||
#define MAX_SIM_ITER 1000
|
||||
|
||||
int main(int argc, char** argv, char** env)
|
||||
{
|
||||
Vsoc *soc = new Vsoc;
|
||||
|
||||
Verilated::traceEverOn(true);
|
||||
VerilatedVcdC *m_trace = new VerilatedVcdC;
|
||||
soc->trace(m_trace, 5);
|
||||
m_trace->open("soc.vcd");
|
||||
|
||||
soc->clk_i = 0;
|
||||
soc->reset_i = 1; /* ACTIVE-LOW */
|
||||
|
||||
for (int i = 0; i < MAX_SIM_ITER; ++i) {
|
||||
soc->eval();
|
||||
m_trace->dump(i);
|
||||
|
||||
switch (i) {
|
||||
case 0:
|
||||
soc->reset_i = 0;
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
case 5:
|
||||
soc->reset_i = 1;
|
||||
break;
|
||||
case 6:
|
||||
break;
|
||||
case 10:
|
||||
break;
|
||||
}
|
||||
|
||||
soc->clk_i ^= 1;
|
||||
}
|
||||
|
||||
m_trace->close();
|
||||
delete soc;
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user