Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

Xilinx xsim で Software Driven Verification ができるっぽい (その4)

はじめに

Xilinx xsim で Software Driven Verification ができるっぽい の4回目。

今回は、例題を見ていきます。

Vivado (2021.2) をインストールすると、examples/xsim/verilog/xsi/counter が Xilinx Simulator Interface の例題です。

ディレクトリの中身

$ ls counter.prj counter.v README run.bat run.csh set_env.csh testbench.cpp xsi_loader.cpp xsi_loader.h xsi_shared_lib.h

  • counter.prj : xelab のプロジェクトファイル
  • counter.v : verilog HDL コード
  • README : to do
  • run.bat : Windowsでのバッチファイル
  • run.csh : linux でのスクリプトファイル (csh)
  • set_env.csh : 環境設定ファイル
  • testbench.cpp : テストベンチのソースファイル
  • xsi_loader.cpp : Xilinx Simulator Interface の C++ ラッパーファイル
  • xsi_loader.h : Xilinx Simulator Interface の C++ ヘッダファイル
  • xsi_shared_lib.h : 共有ライブラリのラッパーファイル

to do

Linux では、

source set_env.csh
./run.csh

を実行すればいい。csh がインストールされていないときは、インストールする必要があります。

run.csh 内で、run_simulation を生成し、run_simulation を実行します。LD_LIBRARY_PATHに、${VIVADO_HOME}/lib/lxn64.o を追加する必要あり。

./run_simulation
Design DLL     : xsim.dir/counter/xsimk.so
Sim Engine DLL : librdi_simulator_kernel.so
Simulation time: 30

 *** starting to count ***
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
ERROR info @"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"
@"Counter++
"


 *** done counting ***
Total successful checks: 15
PASSED test

Ubuntu では動きました。。。

おわりに

4回に分けて、Xilinx Simulator Interface を使うことにより、Xilinx xsim で、Software Driven Verification ができるんじゃないかな?と思いました。