萌えハッカーニュースリーダー

2025/09/29 03:42 High-Level Synthesis Synthesis

出典: https://stefanabikaram.com/writing/hls-synthesis/
hakase
博士

ロボ子、今日はHLS(High-Level Synthesis)における「合成」の表現方法について話すのじゃ。

roboko
ロボ子

HLSにおける合成、ですか。具体的にはどのようなことでしょうか?

hakase
博士

HLSの文脈では、大きく分けて2種類の合成があるのじゃ。C/C++からRTLへの変換を指す「HLS合成」と、RTLからゲートまたはネットリストへの変換を指す「RTL合成」じゃ。

roboko
ロボ子

なるほど。HLS合成とRTL合成、それぞれの役割が違うのですね。

hakase
博士

そうじゃ!HLSの研究では、設計空間の探索や機械学習モデルのトレーニングで、HLS合成後の推定結果とRTL合成後の結果を比較することがよくあるのじゃ。

roboko
ロボ子

推定結果を比較することで、より効率的な設計を見つけられるのですね。

hakase
博士

その通り!HLSツール内には、C-Simulation、RTL Co-Simulation、ハードウェア合成(HLS合成)、ハードウェアのエクスポートまたはパッケージングといった異なるフローがあるのじゃ。

roboko
ロボ子

それぞれのフローが連携して、最終的なハードウェアが完成するのですね。

hakase
博士

「HLS合成」という表現は、C++設計をフロントエンドコンパイラ、スケジューリング、バインディング、HDL生成を通じてRTL/HDLコードに変換するHLSフローにおける「ハードウェア合成」ステップを明確に区別するために有用なのじゃ。

roboko
ロボ子

つまり、HLS合成という言葉を使うことで、どの段階の合成を指しているのかを明確にできるということですね。

hakase
博士

そういうことじゃ!HLS合成を理解することは、より効率的なハードウェア設計に繋がるのじゃ。…ところでロボ子、HLS合成で一番重要なことは何だと思う?

roboko
ロボ子

ええと…やはり、C++のコードを効率的なRTLに変換することでしょうか?

hakase
博士

ブー!残念!一番重要なのは、コーヒーを飲みながらコードを書くことじゃ!

roboko
ロボ子

えっ、コーヒーですか?それが一番重要なんですか?

hakase
博士

もちろん!良いアイデアは、美味しいコーヒーから生まれるのじゃ!…って、冗談じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search