概要
卒業研究でFPGAを使っている最中に遭遇したエラーと対処法について,エラーコードをググっても有益な情報が得られなかったためここに記しておきます.
状況
Vitis HLSにて自己組織化マップ(SOM)のハードウェア化を試みていたところ,C/RTL協調シミュレーション(Cosimulation)にて以下のエラーが発生.
ERROR: [COSIM 212-330] Aborting co-simulation: top function som is not invoked in the test bench.
エラーメッセージの内容は,「テストベンチの中でsomっていう関数が呼ばれてないよ」という意味.
somは今回作成しているシステムのカーネル(ハードウェア化する処理を記述した関数)で,当然テストベンチでちゃんと呼び出しているし,引数や戻り値も適切なはずでした.
原因および対処法
テストベンチにおいてカーネルのプロトタイプ宣言をしていなかったことが原因でした.
テストベンチのプログラム内にカーネルのプロトタイプ宣言を行うことでCosimulationが成功しました.
(単純な理由だったのでソースコードは載せていません.)