Update Verilator authored by Toru Koizumi's avatar Toru Koizumi
......@@ -31,7 +31,7 @@ $ sudo apt-get install verilator
これを実行する(`$ obj_dir/Vtop`)ことで、シミュレーションが行われます。
```
#include <iostream>
#include <cstdio>
#include <verilated.h>
#include "Vtop.h"
......@@ -56,7 +56,8 @@ void uart_rx(unsigned int u) {
} else if( s != 0 && s + 1000000000000 / uart_Hz / 2 * (2*b+3) < timer_ps ) {
c |= u << b;
if( ++b == 8 ) {
std::cout << c << std::flush;
std::putchar(c);
std::fflush(stdout);
s = 0;
}
}
......@@ -66,7 +67,6 @@ void uart_rx(unsigned int u) {
int main() {
Vtop top;
top.sysclk = 0;
top.sysclk = 1;
top.eval();
top.cpu_resetn = 0;
top.eval();
......@@ -75,13 +75,14 @@ int main() {
top.sysclk = 0;
top.eval();
top.cpu_resetn = 1;
top.eval();
for( std::size_t cycle = 0; cycle < max_cycle; ++cycle ) {
top.sysclk = 0;
top.eval();
top.sysclk = 1;
top.eval();
uart_rx(top.uart_tx);
uart_rx(top.uart_rx_out);
timer_ps += 1000000000000 / clock_Hz;
}
}
......
......