関連記事 FPGAの記事一覧
FPGA
これからFPGAを使って遊んでみたいと思っているので、設計・論理合成・シミュレーションができるQuartusの勉強を始めたいと思います。
Quartusのダウンロード
QuartusはAltera社が開発したツールだと思いますが、AlteraはIntel社に買収されたようで、今はIntelのホームページからダウンロードできます。
ダウンロードはIntelのアカウントがないとだめなので、必要事項を記入し、本登録も済ませました。早速サインインしてダウンロードしようと思いましたが、サインインできません。。。
何度かトライしましたが、ダメです。。。
ですが、理由はわかりませんが、サインインできていないのにダウンロードができました。
原因はなんだったのでしょう???もし同じ現象の方がいらっしゃったら諦めずに何度かダウンロードをトライしてみてください。
最終的にはQuartus Prime Lite Edition 18.1をダウンロードして、無事にインストールできました。
Quartusの起動
Quartusを起動すると以下の画面が表示されます。まずは新規プロジェクトを作成するので、”New Project Wizard”をクリックします。

以下の画面が表示されるので、”Next”をクリックします。

プロジェクトの保存先とプロジェクト名を入力して”Next”をクリックします。ここではプロジェクト名を”FPGAtest”としました。

“Project Type”は”Empty project”を選択して”Next”をクリックします。

“Add Files”は何もせずに”Next”をクリックします。

次は、”Family, Device & Board Settings”です。
これはどの型式のFPGAを使うかの選択です。
今は何でも良いのですが、今後はTerasic社のDE0-Nanoボードで遊びたいと思っているので、そのボードに実装されているFPGAにあわせたいと思います。
“Family”で”Cyclone Ⅳ E”を選ぶと、リストに”EP4CE22F17C6″が表示されるので、それを選択して”Next”をクリックします。

“EDA Tool Settings”は何もせずに”Next”をクリックします。

最後に以下の画面が出るので”Finish”をクリックします。

以下の画面が表示されてプロジェクトの作成は終了です。

新規回路図の作成
FPGAは回路図で設計する、VHDLやVerilog HDLなどで言語設計する手法がありますが、まずは回路図で設計してQuartusの動作チェックをしたいと思います。
メニューの”File”から”New”を選択すると、以下の画面が表示されるので”Block Diagram/Scematic File”を選択します。

OKを押すと以下の画面が表示されます。

これで新規回路図の作成は完了です。
部品配置と配線
新規回路図を作成したので、次は部品を配置していきます。
ここでは単純に2入力1出力のAND回路を設計してみます。
この場合、必要になる部品は、入力ピンが2本、出力ピンが1本、そして2入力のAND素子が1個です。
まずは入力ピンを配置してみます。以下の画面の”Symbol Tool”のアイコンをクリックします。

すると以下の画面が出るので、”Name”欄に”input”と入力すると、右側に入力ピンのシンボルが表示されます。

OKを押したら、配置したい場所にマウスのカーソルを移動させクリックします。するとその場所に入力ピンが配置されます。
もう一度クリックすると、2本目の入力ピンも回路図上に配置されます。

入力ピンの配置が終了したら、次は出力ピンです。
“Symbol Tool”のアイコンをクリックしたら、今度は”Name”欄に”output”と入力します。
OKを押したら、配置したい場所にカーソルを移動させクリックします。
入出力ピンの配置が完了すると以下のような画面になります。

最後は2入力のAND素子の配置です。
“Symbol Tool”のアイコンをクリックしたら、”Name”欄に”AND2″と入力します。
OKを押したら適切な場所に1個配置します。
これで部品の配置は完了です。
そしたら次は部品同士を接続する配線です。”Orthogonal Node Tool”のアイコンをクリックすると配線ができます。

ドラッグして配線を完了すると以下のような画面になります。

これで部品配置と配線は完了です。
コンパイル
次はコンパイルをしてみます。このコンパイルで回路図のチェックとか論理合成をしてくれるのかな???
“Start Compilation”のアイコンをクリックします。

“保存しますか?”と聞かれたら、”Yes”を選択して作成した回路図を保存しておきます。
コンパイルが終わると以下のような画面が表示されます。Warningが沢山出ていますが、Errorは出ていないのでWarningは無視しておきます。

シミュレーション
コンパイルが終わったらシミュレーションをして動作確認をしてみます。
ここでは”University Program VWF”を使ってシミュレーションをしてみます。
“File”から”New”を選択すると以下が表示されるので、”University Program VWF”を選択してOKを押します。

すると以下の新しいウィンドウが表示されるので、左側のウィンドウにカーソルを移動させ、右クリックして”Insert Node or Bus”を選択します。

以下の画面が表示されたら”Node Finder”を選択します。

以下の画面が表示されたら”List”をクリックします。

すると、入力ピンが2本、出力ピンが1本表示されます。

そしたら、”>>”を押して3本とも”Selected Nodes”に追加し、”OK”を押します。

以下の画面が表示されるので、”OK”を押します。

すると以下のようにピンが左側のウインドウに表示されます。上2つが入力ピンで、一番下が出力ピンです。

次はシミュレーションするために、入力信号を決めてあげます。上2つの入力ピンに対して、HighレベルまたはLowレベルを決めてあげる作業です。
初期状態では、全区間がLowレベルになっているので、Highレベルの区間だけを設定してあげます。
Highレベルの設定は、Highに設定したい区間をドラッグして選択し、”Forcing High(1)”のアイコンをクリックします。

すると、選択した区間がHighレベルの波形に変わります。
その作業を繰り返して、2本の入力ピンに対して、入力信号を定義してあげて、以下のような画面を作成してあげます。

そしたら、やっとシミュレーションの実行です。
“Simulation”メニューから”Run Functional Simulation”を選択します。

“保存しますか?”と聞かれたら、保存を選択します。
そしたらシミュレーションが始まり以下のような画面が表示されます。

シミュレーションが終わると、新しいウィンドウが現れて、そこにシミュレーション結果が表示されます。
一番下の出力ピンの波形を確認すると、ちゃんとAND演算がされていますね!

これでQuartusが無事に動作することが確認できたので、次回はVHDLにも挑戦していきます。
関連記事 FPGAの記事一覧