はじめに
お久しぶりです。2015年度に「赤面ブログ」を担当していましたとぷぅです。
今は 3年目社員としてサポートに励んでいます。
さて、今回は HyperLynx® というツールを使ってみたのでご紹介したいと思います。さっそくはじめていきましょう。
私はある日 インテル® PSG(旧アルテラ)のメルマガ(マンスリー・ニュース・アップデート)から以下、IBIS model generationの YouTube のビデオへたどり着きました。
<IBIS model generation>
https://www.youtube.com/watch?v=izcVsZGu2Ws
このビデオでは、Quartus® II (Quartus Prime) での IBIS ファイルの生成方法が紹介されています。この通りにやってみると確かに IBIS ファイルが生成されました。
ですが、、この先の紹介がない!どのように使えばいいのか困った私が先輩に聞いてみると「HyperLynx だよ!」という回答が。というわけで実際にやってみました。
IBIS ファイルを作ってみた
まずは Quartus で IBIS ファイルを作ってみました。ビデオでは、Quartus II でしたが私はもちろん最新版の Quartus Prime ver16.1 を使います。
デバイスは Cyclone® V を選択、IBIS ファイルを生成する設定を ON にして、フルコンパイルを実行します。今回は DDR3 コントローラー IP の Example Design を使ってみました。
作成方法の詳細な手順は上記動画をご覧ください。(7分弱です)

フルコンパイルが終了して、プロジェクト・フォルダーを見てみると、、board フォルダーができています。そしてこの中に、、、
ありました!ddr3_ctrl_01_example.ibs というファイルができています。これが IBIS ファイルですね。ファイル名はプロジェクトの名前で生成されています。

さぁ、IBIS ファイルができたので、やっと HyperLynx を使っていきます。HyperLynx は既にインストール済みです。
おっと、その前に。。。
HyperLynx とは?
HyperLynx とは MentorGraphics 社の基板検証ツールです。プリント基板の伝送路の信号品質や電源プレーン解析などをおこなうことができます。基板設計における問題を早期に発見することができるのです。
⇒ 詳細はこちら
HyperLynx 起動
HyperLynx SI/PI を起動します。(HyperLynx シリーズには SI/PI 以外にもありますが、それはまた別の機会にご紹介します)
起動すると下図(図2)のような画面が立ち上ります。今回はこの中の New SI Schematic をクリックします。

すると、何もないシートが起動しました(図3)。

これが HyperLynx SI の LineSim で使用するシートです。LineSim とはプリシミュレーションやプリ解析などと呼ばれるもので、デバイス間の伝送路のトポロジーをシート上に作成し伝送路シミュレーションをおこないます。
このプリシミュレーションは、基板のレイアウトや配線を決定する前の解析であり、これによってトポロジーの妥当性をチェックしたりすることができます。
トポロジーの作成
シート上にトポロジーを作っていきましょう。
おっと、その前に本来ならば基板の層構成を設定しなければいけません。今回はサンプルということでデフォルトの設定を使っていきます。
ちなみに層構成は Stackup Editor から設定します。デフォルトだと、下記(図4)のような6層基板の設定になっています。

Stackup Editor ウィンドウを閉じてトポロジーを作ります。
Cyclone V と DDR3 間のアドレス信号の伝送路をシミュレーションしてみましょう。
まずは、ドライバーを追加します。シート上部にある下記のメニューバーの一番左のアイコンが IC ピンです。

このアイコンをクリックしシート上の置きたい場所で再度クリックすると、下記(図6)のように IC ピンが配置されます。

次に伝送路を追加します。伝送路は左から4番目のアイコンです。伝送路を置いたらドライバーの IC ピンと接続します。
最後にもうひとつ IC ピンを置いて、伝送路と接続します。
これで最もシンプルなトポロジーが完成です(図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)。

ここでワンポイント★
このように mem_a[0] と選択しましたが、この mem_a というのはデザイン内のピン名です。これが Quartus で IBIS ファイルを生成する一つのメリットです。
詳しくは次回★
IBIS モデルの中からシミュレーションに使用するピン(モデル)を選択しましたので、 Schematic 上の IC ピンに図9 のようにモデルが割り当てられました。。

レシーバー側も同様に設定します。今度は DDR の IBIS モデルを使用する必要があります。これは使用するメモリーベンダーより入手します。Web からダウンロードできるものもありますので確認してみてください。
レシーバーのモデル設定も完了すると図10 のようになります。これでシミュレーションの準備が整いました。

早速シミュレーションしたいところですが、今回はここまで。
次回シミュレーションを実行してみます。お楽しみに!