こんにちは、しわしわです。

前回はメモリ IP の生成方法及びメモリプリセットについての記事を書きました。

今回はメモリプリセットを用いる際の注意点や保存・呼び出し方法についてです。

1.メモリプリセットの注意点

先輩『メモリ IP を作る練習としてお客様と同じ条件のメモリ IP を生成してみよう』

 

ということで、さっそく FPGA とメモリを確認、その後対応するプリセットを選択しメモリ IP を生成しました。

 

先輩『値が間違っているよ』

しわしわ『プリセットを使いましたよ?』

先輩『プリセットは使用するメモリの最大動作周波数での値が設定されるから、実際に使用する周波数によって値を変える必要があるよ』

しわしわ『……!!』


プリセットの値は、使用する FPGA とメモリに対する最大動作周波数でのパラメータが使用されています。

最大動作周波数で動作させないときはパラメータの変更が必要になります。

2.メモリパラメータの計算

今回はお客様と同じ条件のメモリ IP を生成する、ということなので Cyclone® V と JEDEC DDR3-1066E 1GB ×8メモリの組み合わせで、

ハード IP、スピードグレード:6、動作周波数:350 MHz、クロックレート:Full に設定します。

使用するメモリのデータシートを読み取り、数値を入力していきます。

Memory Timing、Memory Parameters、Board Settings の値を変更する必要がありますが、例としてパラメータの tRTP (Read To Precharge time) の値を計算してみます。

計算方法は下記の通りです。動作周波数が350 MHz の場合、tRTP の値は 11.4 になります。

※各種パラメータの詳しい設定方法及び説明は下記を参照してください

 

・パラメータ設定画面の右上にある『Documentation』

・『DDR3 UniPHY IP におけるメモリパラメータの設定方法

しわしわ『毎回この作業をすると思うと手間ですね…、やっぱりメモリ IP を生成するのって大変ですね』

先輩『ユーザー設定したパラメータをプリセットとして保存できるよ』

しわしわ『……!!』

3.プリセットの保存と呼び出し

メモリプリセットは、一度パラメータ設定をしておけばその条件を保存し、いつでも使うことが出来ます。

Quartus Prime の Tools ⇒ IP Catalog ⇒メモリ IP の選択 ⇒ 生成フォルダと HDL 言語を選択しメモリパラメータ入力画面を表示させます。

 

プリセットを選択後、パラメータの計算と動作周波数やクロックレートの値を変更します。

パラメータを変更できたら画面右下の『New』を押すとプリセットの保存画面に移行します。

ここではプリセットの名前と説明、保存ディレクトリ及び保存したいプリセットの項目を選択できます。

『Save』を押すことで設定した値のプリセットが保存されます。

今回は名前を『Preset 1』にして保存します。

プリセットの一覧を見ると今回作成したプリセット、『Preset 1』が追加されていることが分かります。

 『Preset 1』を選択し『Apply』を押すことで保存したデータが反映されます。

今回の記事でカスタマイズしたメモリプリセットの保存及び呼び出し方法が分かったので、効率的なメモリ IP の生成や各オプションの ON,OFF を切り替えたときの動作確認などに役立てていきたいと思います。

4.まとめ

・プリセットの値は、使用する FPGA とメモリに対する最大動作周波数でのパラメータ値が入力される。

・ユーザー設定したパラメータはプリセットとして簡単に保存・呼び出しが可能。

5.おまけ

カスタマイズしたメモリプリセットは、プリセット生成画面で設定したディレクトリと名前で保存されますので、このファイルをコピーすることで、他のプロジェクトでもプリセット情報を活用することができます。

 

しわしわの メモリシリーズ

『SDR と DDR ~ FPGA による DDR データの処理~』

  FPGAによるDDRデータの処理についてまとめました。

 

『メモリ IP ~正確で効率的なデータ転送~』

  メモリIPの構成要素と概要についてまとめました

 

『メモリ IP ~FPGA の選定~』

  どの FPGA がどのメモリをサポートしているか選定方法についてまとめました

 

『メモリ IP ~生成とパラメータ入力~』

  メモリIPの生成方法と簡単にパラメータ設定が出来るプリセットについてまとめました

 

『メモリ IP ~プリセットの保存と呼び出し~』

  メモリIPのプリセットを用いる際の注意点とプリセットの保存方法及び呼び出し方法についてまとめました