Changes
Page history
Update Verilator
authored
Nov 18, 2020
by
Toru Koizumi
Show whitespace changes
Inline
Side-by-side
Verilator.md
View page @
69a561f6
...
...
@@ -7,7 +7,7 @@ VerilatorはオープンソースのVerilog HDLシミュレータです。
Verilog HDLの記述をC++に変換し、コンパイル後にシミュレーションするため非常に高速という特徴があります。
一方、高速化のためにVerilog HDLの一部の機能が使えないという制約があります。
また、テストベンチをC
/C
++で書く必要があります。
また、テストベンチをC++で書く必要があります。
## Verilatorのインストール
...
...
@@ -23,7 +23,7 @@ $ sudo apt-get install verilator
適当な作業ディレクトリを用意し、そこにVerilog HDLのソースファイルを置いたとします。
そのディレクトリに、C
/C
++で書かれたテストベンチファイルを作成します。例を一番下に書きました。
そのディレクトリに、C++で書かれたテストベンチファイルを作成します。例を一番下に書きました。
`$ verilator --cc top.v -exe test_bench.cpp`
とコマンドを実行することで、
`obj_dir`
というディレクトリが作成されます(Vivadoでは出ないLintエラーの警告が出るかもしれません)。このディレクトリの中には、C++に変換された
`top.v`
である
`Vtop.cpp`
などが含まれています。
...
...
@@ -65,8 +65,12 @@ void uart_rx(unsigned int u) {
int main() {
Vtop top;
top.sysclk = 0;
top.eval();
top.sysclk = 1;
top.eval();
top.cpu_resetn = 0;
top.eval();
top.sysclk = 0;
top.eval();
top.sysclk = 1;
...
...
@@ -80,7 +84,7 @@ int main() {
top.eval();
top.sysclk = 1;
top.eval();
uart_rx(top.uart_
rx_ou
t);
uart_rx(top.uart_t
x
);
timer_ps += 1000000000000 / clock_Hz;
}
}
...
...
...
...