C/RTL 協調シミュレーションを使用して RTL デザインを検証するには、次の条件のうち少なくとも 1 つが満たされている必要があります。
- 最上位関数が
ap_ctrl_chain
またはap_ctrl_hs
ブロック レベル インターフェイスを使用して合成されている。 - デザインが純粋に組み合わせである。
- 最上位関数の開始間隔 (II) が 1 である。
- すべてのインターフェイスが、
axis
またはap_hs
インターフェイス モードでインプリメントされるストリーミングの配列である。注記:hls::stream
変数は自動的にap_fifo
インターフェイスとしてインプリメントされます。
これらの条件の少なくとも 1 つでも満たされない場合、次のメッセージが表示されて C/RTL 協調シミュレーションが停止します。
@E [SIM-345] Cosim only supports the following 'ap_ctrl_none' designs: (1)
combinational designs; (2) pipelined design with task interval of 1; (3) designs with
array streaming or hls_stream ports.
@E [SIM-4] *** C/RTL co-simulation finished: FAIL ***
重要: デザインがブロック レベルの I/O プロトコル
ap_ctrl_none
を使用するように指定されていて、デザインにブロッキング以外の動作を使用する hls::stream
が含まれる場合は、C/RTL 協調シミュレーションが必ず終了するとは限りません。最上位関数引数が AXI4-Lite インターフェイスとして指定されている場合、関数の戻り値も AXI4-Lite インターフェイスとして指定する必要があります。