vecadd_test.cpp -march=x86-64 x86 emualtion: ソフトウェアベースでのテスト $ ./a.out a = 0, 1, 2, 3, 4, 5, 6, 7 b = 0, 2, 4, 6, 8, 10, 12, 14 out = 0, 3, 6, 9, 12, 15, 18, 21 数秒でビルド完了 -> テストを実行 1秒未満で実行完了 実行結果に問題がなければCo-simulation へ ➚ 問題があれば修正、このTAT が短いことが利点 $ i++ vecadd.cpp vecadd_test.cpp -march=Agilex -ghdl 1分程度で高位合成完了 -> テストを実行 $ ./a.out a = 0, 1, 2, 3, 4, 5, 6, 7 b = 0, 2, 4, 6, 8, 10, 12, 14 out = 0, 3, 6, 9, 12, 15, 18, 21 1分程度でシミュレーション完了 実行結果に問題がなければテストは完了 x86 emulation はOK でもCo-simulation でNG の パターンもよくあるので注意 Co-simulation: ハードウェアベースでのテスト モジュールコード テストコード x86 emulation を指定 モジュールコード テストコード Co-simulation 実行の ためにデバイスを指定 テスト時の 波形を保存