記事 ID: 000080950 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/08/27

明示的に要求された Load-Store Units (LSUs) が 3 深いネスト内で使用されている場合、インテル® HLS コンパイラーがクラッシュするのはなぜですか?

環境

    インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

インテル® High Level Synthesis Compiler バージョン 20.1 以前のバージョンで問題が発生したため、make ファイルを実行すると以下に致命的なエラーメッセージが表示される場合があります。これは、3 ディープ・ループのネスト内に明示的に要求された Load-Store Units (LSUs) を使用して可変レイテンシー・マスターにアクセスすると、インテル® HLS コンパイラーがクラッシュするためです。

スタックダンプ:

/lib64/libc.so.6 (__libc_start_main 0x100)[0x7f6e050d6d20]

//../../llvm/bin/aocl-opt(0x2b701)[0x7f6e0cc47701]

HLS メイン・オプティマイザーにエラーが発生しました。

make: *** [dut] ƒGƒ‰ [ 1

解決方法

この問題を回避するには、関数の引数に「volatile」というキーワードを追加してください。例えば:

無効
関数 (hls_stable_argument

volatile *,// "volatile" をここに追加)

{ ... }

この問題は、インテル® High Level Synthesis Compiler バージョン 20.2 以降修正されています。

関連製品

本記事の適用対象: 1 製品

インテル® プログラマブル・デバイス

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。