はじめに

こんにちは。ついに正式に配属が決まったなみぃです。
私はツール、デバイス関連の評価や対応を行うチームに配属となりました。

前回は FPGA への電源供給をする Enpirion® という電源 IC について記事を書きました。
ここまで知識が付けばきっと FPGA で開発が行えるのではと思います。
そのためには インテル® FPGA(旧 アルテラ) 開発ツールである Quartus® が必須です!
そこで今回は Quartus Prime の便利な機能についてご紹介します。

Quartus Primeとは?

Quartus Prime とは インテル® FPGA の設計をするためのツールです。
これがあれば
・回路設計
・論理合成
・配置配線
・タイミング検証
・デバイスへのプログラミング
など開発で最低限必要な工程が全て行えます。
インテル® FPGA を使用する場合はこのツールが必須なのです。

ちなみに「回路設計」とは、以前の記事 FPGAとは?超初級編 で書いたハードウェア言語によるデジタル回路設計の事です。

ピン配置

先日、同期のくらみぃが Quartus でのピン配置の方法を二部構成で記事にしていましたね。
迷子なピンを救い出せ! FPGA ピン配置 前編
迷子なピンを救い出せ! FPGA ピン配置 後編
なので、今回はその補足としてピン配置の際に使える Quartus の便利機能について学びました。

くらみぃが紹介した方法は Pin Planner を使って GUI でピン配置を行う方法でした。
でも、世の中には GUI ではなくテキストベースを好む方もいるはずですね…。
そんな思いをくみ取ってくれたのかテキストベースでピンを配置する方法もありました!

テキストベースでのピン配置

まず必要なのが Quartus Settings File ( .qsf ) というファイルです。
.qsf とは Quartus Prime に関する、タイミング以外のすべての設定と制約を保存しているファイルです。
このファイルを編集することによってコマンド形式で設定の変更、プログラムの実行などが行えます。
早速このファイルを開いてみましょう。

図 1 .qsf ファイルの開き方

Quartus 上の「File メニュー」 ⇒ 「Open」⇒ 「.qsf ファイルを選択」
これだけで簡単に開くことが出来ます。ただ、最初はフィルタリングされていて表示されていない場合もあるのでご注意を。

開いてみると…。こんな感じです。

図 2 .qsf ファイルの中身

ピンの情報を見てみると「set_location_assignment PIN_~ -to ~」と書かれていますね。
これが .qsfファイルででピンの配置を設定している部分です。
ここを見ると、どのピンがどこに配置されているのかが分かります。

では、この画面で編集を行ってみましょう。
今回は「PIN_P8-to a」を「PIN_A6-to a」に変えてみます。

図 3 .qsf ファイルのピン情報編集

保存後、変更した設定が Pin Planner に反映されているか確認してみましょう。

図 4 Pin Planner

変更されていますね。本当にテキストベースで変更が出来ました!
でも、これをどう使っていくのか分かりませんので、使用の一例を教えていただきました。

コメントアウトを利用したピン配置の変更

例えばPin Planner にてピン配置を行いましたが、そのピン配置はまだ確定ではなく変更を行う可能性があったとします。
そんな時、念のためピン配置の履歴を残しておきたいと思うことはありませんか?

そうです。テキストベースでのピン配置ならば可能なのです。方法は簡単です。

.psf の目的ピン配置情報部分をコメントアウト (無効化しコメントして残すこと) すれば簡単に初期化かつ履歴を残すことが可能です!
履歴が残っているのでピン配置の設定を戻したい時はその部分のコメントアウトを解除するだけです!

図 5 コメントアウトによる初期化

更にこの履歴を用いて一部のピン配置を元に戻してみます!

図 6 履歴を用いてピン配置を元に戻す

まとめ

・Quartus Prime は インテル® FPGA を開発するための必須ツールでありFPGA の設計フローを全て実行可能である。
・テキストベースでのピン配置法は簡単!
1..qsf ファイルを開く
2.set_location_assignment のピン配置情報を編集

Quartus Prime にはいろんな便利機能があるのですね。
また、何か便利機能を学んだら記事にしていくので皆さまお楽しみに!!