こんにちは。梅おにぎりです。研修で インテル® Quartus® Prime 開発ソフトウェア のフル・コンパイル・フローについて勉強しました。そのフローがこちら。

 

それぞれの工程でどのようなことが行われているかを理解することができましたが、論理合成と配置配線についてはどうしてもイメージが湧きません。そのため今回は論理合成と配置配線について勉強していきます。

 

 

 

論理合成とは HDL で記述された回路や Block Diagram / Schematic File に書かれた回路の最適化を行うことです。下図を例にとって説明します。

 1 の図をよく見ると青丸で囲まれた部分が無駄であることがわかると思います。これではリソースも無駄に使われてしまうことになってしまいます。論理合成ではこのような論理の無駄をなくしてくれます。1 の図を実際に Quartus II で論理合成した結果が 2 の図です。ここでは青丸の部分がただの配線として処理されています。

 

ちなみに インテル® Quartus® Prime 上では下図のボタンを押すか processing メニューの Start から Start Analysis & Synthesis で論理合成まで行うことができます。

 

 

配置配線は論理合成した回路を実際のデバイス上でどのように配置し、さらにどのように配線するかを決定することです。下図を例にとって説明します。

FPGA は下図のように多数のロジック・エレメント (LE) 等とそれをつなぐ配線から構成されています。デザイン・サイズにもよりますが論理合成後の回路の実現には多数の LE が使用されます。その多数の LE をどこに配置し、どのように繋ぐかを決定するのが配置配線です。

 

 

 さらに インテル® Quartus® Prime では配置配線の結果をグラフィカルに表示できる Chip planner という機能があります。これによってどこの LE が使われているか、どのように配線されているかを確認することができます。

 

ちなみに インテル® Quartus® Prime 上では processing メニューの Start から Start Fitter で配置配線まで行うことができます。

 

今までは何をしているのか理解せずに論理合成、配置配線をしていたので「大丈夫なのかぁ?」と不安に思うこともありました。

でもこれで論理合成、配置配線でどのようなことが行われているかが理解できました。

 

これからも研修中でわからなかったことをどんどん紹介していきたいと思います。