こんにちは!とぷぅです。

 

最近は、今まで使ったことがなかった Quartus® II の機能を使えるようになり、その便利さをますます感じております。

今回はその中から、IP の便利さ、使い方を、実際の経験談を交えて皆さんに紹介したいと思います。

(うまく使いこなすことができず、挫折を経験しました。。。)

1. IP とは

簡単に言うと、アルテラがあらかじめ用意しているデザインのことです。

しわしわの記事 にも IP についての記載があるので是非ご覧ください。

 

 IP は使えば使うほど設計工数を削減することができるので、是非使えるようになりたいと思いました。

そこで、まずは簡単な IP を生成してみようと思い、IP Catalog の中から ALTSQRT という IP を生成することにしました。

(この IP の機能については後程...)

 

2. IP の使い方

1. Quartus の IP Catalog (Tools メニュー) から生成したい IP を選び、ダブルクリック もしくは Add ボタンを押します。 (図1)

図1. IP の選択

2. 生成するフォルダ先とその末尾に IP のファイル名 (今回は sqrt ) を指定し、生成する言語の種類 (今回は Verilog) を選択 (図2)

図2. フォルダと IP 名を指定、言語選択

3. 選択した IP の画面 (ウィザード) が表示されます。

このウィザードを用いて自分の仕様を満たす IP を簡単にパラメータ設定できます。 (図3)

また、この IP の詳細情報は、右上の Documentation ボタンをクリックすることで、ユーザーガイドが表示されます。

図3. ウィザード画面による IP のパラメータ設定

この ALTSQRT という IP の機能は「入力値を平方した値を出力する」というものです。

設定が完了したら Finish をクリックします。

以上で IP の生成は完了です。

 

早速作成した IP を自分のデザインに組み込もうと思い、IP の生成先に指定したフォルダを確認してみると sqrt.v が生成されていました!!

 

このとき私は

「 .v ファイルの中には、入力値を平方した値を出力する機能の記述がされている」

と思い、どのような記述がされているのか気になりました。

そこで、ファイルの内容を見ようと思い、

Quartus II の File メニュー ⇒ Open から sqrt.v  を指定し [開く(O)] をクリックしました。

すると ……、

図4. .v ファイルを Open して出てきた画面

あれ?またウィザードが出てきた??? (図4)

これでは、また 3. に戻ってしまい同じことの繰り返しになってしまいます。

言語によるデザインが表示されると思っていた私は少しびっくりしました。

 

デザインのコードを見ることをあきらめ、作成したデザイン・ファイルをプロジェクトに登録しました。(図5)

図5. Project Navigator (Files)

Project Navigator (Files) に登録されている sqrt.v ファイルを見ていた私は

再びファイルの内容を見たい衝動に駆られ、とっさにダブルクリックしました。

 

すると……

図6. Project Navigator (Files) からダブルクリックして開いた .v ファイル

なんと、コードが出現しました! (図8)

私の想いが伝わったのかもしれません。

 

…でも実は、(後から先輩に教わったのですが)

図4 の Open (File メニュー) で sqrt.v ファイルを指定した後に

"Open as オプション" を "Auto" から "Text" に切り替えて [開く(O)] ボタンをクリックすれば、sqrt.v がテキスト・エディタで開くのだそうです。

あぁ、私が無知なだけでした。お恥ずかしい…。

 

コードを下にスクロールすると module 宣言、ポート接続、インスタンス化を行っている HDL コードも確認できました。

sqrt.v をプロジェクトの最上位デザインとして登録し、コンパイルを実行します。

 

仕様どおりの回路になっているかどうか、シミュレーションで確認します。

シミュレーション結果を波形で見ると

入力値 (radical) の平方根を取ったものが 出力値 (q) として表れているので、仕様どおりのデザインを生成できたことがわかります。 (図7)

※ remainder には radical – q2の値が算出されています。

 

図7. ModelSim によるシミュレーション結果

まとめ

・ IP を使用することで、デザイン作成を簡単に行うことができる