Vengineerの戯言

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

Xilinx ZynqMP SoC VIP の中を調べる(その14)

はじめに

Xilinx ZynqMP SoC VIP の中を調べる(その13)

今回は、C言語側のテストプログラムを複数個使う場合について説明します。

テストプログラムはいっぱいある

1つのテストプログラムでテストができるというのは、ほとんどありません。なので、複数のテストプログラムを使って、検証します。

今、3つのテストプログラム (test1.cpp test2.cpp test3.cpp) があるとします。それぞれをテストプログラムとして実行するには、下記のように、xscコマンドでテストプログラムをコンパイルおよび共有ライブラリにし、simulate.sh にてシミュレーションを実行するだけです。

xsc testX.cpp
./simulate.sh

SystemVerilogでテストシナリオ(テストプログラム)を書くと、

  • compile.sh
  • elaborate.sh
  • simulate.sh

のように、simulate.sh だけでなく、compile.sh と elaborate.sh を実行する必要があります。

テストプログラムを DPI-C で C言語で書くと、テストプログラムを xsc コマンドでコンパイル必要はありますが、一般的には、compile.sh と elaborate.sh を実行するよりも遥かに短い時間で行えます。

おわりに

14回にわたって、Xilinx ZynqMP SoC VIP の中を調べました。後半(その9~14)では、DPI export task を使って、テストプログラムをC言語で書くためにどうすればいいかについても説明しました。

2017年に xsim + Zynq VIP + DPI-C で使えなかったのですが、最新版の 2022.1 では 使えるようになりました。

どの時点で使えるようになったまでかはわかりませんでしたが、これで

Xilinx xsim でも SystemVerilog DPI-C による Software Driven Verification ができるようになったのは、非常に嬉しいですね。