はじめに
お久しぶりです。2015年度に「赤面ブログ」を担当していましたとぷぅです。
今は 3年目社員としてサポートに励んでいます。
さて、今回は HyperLynx® というツールを使ってみたのでご紹介したいと思います。さっそくはじめていきましょう。
私はある日 インテル® PSG(旧アルテラ)のメルマガ(マンスリー・ニュース・アップデート)から IBIS model generation の YouTube のビデオへたどり着きました。
このビデオでは、Quartus® II (Quartus Prime) での IBIS ファイルの生成方法が紹介されており、この通りにやってみると確かに IBIS ファイルが生成されました。
ですが、、この先の紹介がない!どのように使えばいいのか困った私が先輩に聞いてみると「HyperLynx だよ!」という回答が。というわけで実際にやってみました。
IBIS ファイルを作ってみた
まずは Quartus で IBIS ファイルを作ってみました。ビデオでは、Quartus II でしたが私はもちろん現在使用している Quartus Prime ver16.1 を使います。
デバイスは Cyclone® V を選択、IBIS ファイルを生成する設定を ON にして、フルコンパイルを実行します。今回は DDR3 コントローラー IP の Example Design を使ってみました。
図1:Quartus Prime の Settings から IBIS ファイル生成の設定
フルコンパイルが終了して、プロジェクト・フォルダーを見てみると、、board フォルダーができています。そしてこの中に、、、
ありました!ddr3_ctrl_01_example.ibs というファイルができています。これが IBIS ファイルですね。ファイル名はプロジェクトの名前で生成されています。

さぁ、IBIS ファイルができたので、やっと HyperLynx を使っていきます。HyperLynx は既にインストール済みです。
おっと、その前に。。。
HyperLynx とは?
HyperLynx とは MentorGraphics 社の基板検証ツールです。プリント基板の伝送路の信号品質や電源プレーン解析などをおこなうことができます。基板設計における問題を早期に発見することができるのです。
⇒ 詳細はこちら
HyperLynx 起動
HyperLynx SI/PI を起動します。(HyperLynx シリーズには SI/PI 以外にもありますが、それはまた別の機会にご紹介します)
起動すると下図(図2)のような画面が立ち上ります。今回はこの中の New SI Schematic をクリックします。
図2:HyperLynx が起動したら使用するシート(Schematic / Board / SI / PI 等)を選択
すると、何もないシートが起動しました(図3)。
図3:SI 用の Schematic シートを起動
これが HyperLynx SI の LineSim で使用するシートです。LineSim とはプリシミュレーションやプリ解析などと呼ばれるもので、デバイス間の伝送路のトポロジーをシート上に作成し伝送路シミュレーションをおこないます。
このプリシミュレーションは、基板のレイアウトや配線を決定する前の解析であり、これによってトポロジーの妥当性をチェックしたりすることができます。
トポロジーの作成
シート上にトポロジーを作っていきましょう。
おっと、その前に本来ならば基板の層構成を設定しなければいけません。今回はサンプルということでデフォルトの設定を使っていきます。
ちなみに層構成は Stackup Editor から設定します。デフォルトだと、下記(図4)のような6層基板の設定になっています。
図4:Stackup Editor で基板の層構成を変更可能
Stackup Editor ウィンドウを閉じてトポロジーを作ります。
Cyclone V と DDR3 間のアドレス信号の伝送路をシミュレーションしてみましょう。
まずは、ドライバーを追加します。シート上部にある下記のメニューバーの一番左のアイコンが IC ピンです。
図5:Schematic 用の各要素(これらを組み合わせてトポロジーを作成)
このアイコンをクリックしシート上の置きたい場所で再度クリックすると、下記(図6)のように IC ピンが配置されます。
図6:ドライバーピンを配置
次に伝送路を追加します。伝送路は左から4番目のアイコンです。伝送路を置いたらドライバーの IC ピンと接続します。
最後にもうひとつ IC ピンを置いて、伝送路と接続します。
これで最もシンプルなトポロジーが完成です(図7)。
図7:簡単なトポロジーが完成
さて、シミュレーションをする前にやらなければならないことがもう一つ。それは、IC ピンモデルの割り当てです。
図7 をよく見るとドライバーとレシーバーの IC ピンが ???? となっているのがわかります。これは IC ピンモデルが何も割り当てられていないためです。
IC ピンモデルの割り当て
Schematic 上のドライバーの IC ピンをダブルクリックします。Assign Models というウィンドウが起動するので、Select ボタンをクリックして Select IC Model ウィンドウを開きます。
ここで先ほど作成した ddr3_ctrl_01_example.ibs を選択すると、Device に 5CGXFC7.. というデバイスの型番が表示されます。Signal 欄でシミュレーションするピン(モデル)を選択します。今回はアドレスピンをシミュレーションしたいので mem_a[0] ピンを選択します(図8)。
図8:Quartus で生成した IBIS モデルから mem_a[0] ピンを選択
ここでワンポイント★
このように mem_a[0] と選択しましたが、この mem_a というのはデザイン内のピン名です。これが Quartus で IBIS ファイルを生成する一つのメリットです。
詳しくは 次回★
IBIS モデルの中からシミュレーションに使用するピン(モデル)を選択しましたので、 Schematic 上の IC ピンに図9 のようにモデルが割り当てられました。。
図9:ドライバに IBIS モデルの割り当てが完了
レシーバー側も同様に設定します。今度は DDR の IBIS モデルを使用する必要があります。これは使用するメモリーベンダーより入手します。Web からダウンロードできるものもありますので確認してみてください。
レシーバーのモデル設定も完了すると図10 のようになります。これでシミュレーションの準備が整いました。
図10:レシーバにも IBIS モデル割り当て完了
早速シミュレーションしたいところですが、今回はここまで。
次回 はシミュレーションを実行してみます。お楽しみに!