rggenでレジスタの属性をexternにしてリードすると
modelsim altera editionで以下のエラーでsimが止まってしまう。
writeは大丈夫。
原因不明。
→原因はDPI-CのTask_BFM_Read32の記述の問題でした。externは関係なかったです。rggenでつくったRTLじゃないものでもエラーになりました。
DPI-C側のCテスト記述がミスってるとわかりづらいのですね・・。
Fatal: (SIGSEGV) Bad handle or reference.
これはいろんなよくわからないエラーの時に出る感じがする。
\# ** Fatal: (SIGSEGV) Bad handle or reference. \# Time: 1818750 ps Iteration: 1 Process: /top/tm/#INITIAL#82(#ublk#53370781#83) File: QSYS_CORE_tm.sv \# Fatal error in Task Task_BFM_Read32 at QSYS_CORE_tm.sv line 58
ちなみにexternで出てきたbus ifの処理は以下。 active,valueにさわるとエラーになるので消した。
assign sram_bus_if.ready = 1'b1; assign sram_bus_if.status = RGGEN_OKAY; assign sram_bus_if.read_data = '1; // assign sram_bus_if.active = 1'b1; // assign sram_bus_if.value = '1;