オンチップ・メモリ クイック・ガイド for Cyclone III

オンチップ・メモリ クイック・ガイド for Cyclone III
ver.9.1
2010 年 1 月
1. はじめに
アルテラ社製 FPGA デバイスにおいてオンチップ・メモリ(FPGA 内部で RAM や ROM などを構成)を実現するには、
Memory Compiler メガファンクションを使用します。
Memory Compiler メガファンクションは、Cyclone® シリーズ, Arria® シリーズ, Stratix® シリーズ, HardCopy® シリーズにて利
用可能です。使用するデバイスやメモリのタイプによって Memory Compiler メガファンクションのパラメータも異なりますので、
ご使用デバイスのデータ・シートを必ずご確認ください。
この資料では、Quartus® II の MegaWizardTM Plug-In Manager で Cyclone III のオンチップ・メモリを実現する方法をご紹
介します。
2. 操作方法
オンチップ・メモリは RAM: 1-PORT, RAM: 2-PORT, RAM: 3-PORT, ROM: 1-PORT, ROM: 2-PORT の各モードを
MegaWizard Plug-In Manager にて生成することができます。この章では MegaWizard Plug-In Manager の操作を以下のフ
ローに沿ってご紹介します。
†
2-1. MegaWizard Plug-In Manager の起動
†
2-2. オンチップ・メモリ・ファンクションの選択
†
2-3. パラメータの設定
2-1. MegaWizard Plug-In Manager の起動
① Quartus II 上の Tool メニュー ⇒ MegaWizard Plug-In Manager をクリックします。
② “Create a new custom megafunction variation” を選択し、Next をクリックします。
Page 1 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
【補足① : MegaWizard Plug-In Manager にて既存のアルテラ・ファンクションを変更】
すでに MegaWizard Plug-In Manager で作成済みのデザインを編集する場合は、“Edit an existing custom megafunction
variation” を選択します。編集したいデザイン・ファイルを選択し、Next ボタンをクリックします。その後、パラメータの編集を
行います。(2-3. パラメータの設定 へ進んでください。)
編集したいファイルを選択
して、“Next” をクリック
2-2. オンチップ・メモリ・ファンクションの選択
MegaWizard Plug-In Manager [page 2a] で、以下の設定を行います。
デバイスの選択
出力ファイルの言語を選択
出力先ディレクトリを指定。出力ファイル名
(ファンクション名: 任意)を入力。
メ ガ フ ァ ン ク シ ョ ン ・ リ ス ト か ら Installed Plug-Ins ⇒
Memory Compiler より、使用するオンチップ・メモリを選択
ver.9.1
2010 年 1 月
Page 2 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
2-3. パラメータの設定
パラメータの設定を行います。(使用デバイスにより、使用オプション・レンジなどが異なりますのでご利用になるデバイス
のデータ・シートを必ずご確認ください。また、MegaWizard Plug-In Manager 上の “About”、“Documentation” などでも
ALTPLL の詳細やユーザー・ガイドなどがご参照できます。)
また各メモリのモードによりパラメータ設定の画面が異なります。本節では、各メモリのモードごとに設定方法をご紹介します。
2-3-1. RAM: 1-PORT
2-3-2. RAM: 2-PORT
2-3-3. RAM: 3-PORT
2-3-4. ROM: 1-PORT
2-3-5. ROM: 2-PORT
2-3-1. RAM: 1-PORT
1
Parameter Settings タブ
{ Widths/Blk Type/Clk タブ
バス幅、メモリ・サイズなどを設定します。設定終了後 “Next” をクリックします。
デバイス選択
メガフ ァ ンク ション・リス トから
Installed Plug-Ins ⇒ Memory
バス幅の指定
Compiler より、使用するオンチ
サイズの設定
ップ・メモリを選択
配置ブロックの選択(Auto、メモリ・ブ
ロックのタイプ、ロジック・エレメント)、
1 ブロック辺りの最大ワード数の指定
クロック系統の設定(入力クロックと
出力クロックの独立)
使用リソース数
を表示
ver.9.1
2010 年 1 月
Page 3 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
{ Regs/Clken/Byte Enable/Aclrs タブ
シングルクロック、入力/出力別クロック、Read/Write 別クロックからメモリのクロック仕様を選択します。リード・イネーブ
ルの設定をします。設定終了後 “Next” をクリックします。
データ出力をレ ジスタ
出力に設定
クロック・イネーブル
の設定
クリア信号入力ポートの追加
リード・イネーブル信号
入力ポートの追加
【補足② : More Options …. の設定】
クロック・イネーブルおよびクリア信号の設定は、“More Options…” ボタンの設定でより詳細な設定を行うことができます。
ver.9.1
2010 年 1 月
Page 4 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
{ Read During Write Option タブ
ライト時のリード・データのオプション設定ができます。設定終了後 “Next” をクリックします。
【補足③ : Read During Write オプションの設定】
Read During Write Option タブでは、ライト時にリードされるデータの種類を “New Data”, “Old Data”, “Don’t Care” から
選択可能です(デフォルト “New Data”)。下の例では “New Data”, “Old Data” をシミュレーション結果により比較しており、
上図が “New Data”、下図が “Old Data” のシミュレーション結果です。
New Data
ライトしたデータが逐次出力される
Old Data
ライトされてあるデータが逐次出力される
ver.9.1
2010 年 1 月
Page 5 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
{ Mem Int タブ
使用しているオンチップ・メモリの初期値設定などを行うことができます。設定終了後 “Next” をクリックします。
メモリ初期値ファイル
使用の有無
使用するメモリ初期値ファイル
のパス指定
In-system Memory Content
Editor を使用する際に設定
2
EDA タブ
このメガファンクションを EDA Tool でファンクション・シミュレーションする場合に必要なシミュレーション・ライブラリが表示
されます。ALTPLL をシミュレーションする場合は、“altera_mf” ライブラリが必要です。
ver.9.1
2010 年 1 月
Page 6 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
3
Summary タブ
サマリです。また、この操作により生成される出力ファイルを指定します。(選択したファイル・フォーマットにより出力される
ファイル内容が異なります。)Finish ボタンをクリックすると、指定したファイルが生成されメモリ・ファンクションの作成完了
です。
™
™
AHDL の場合
・
<ファンクション名>.tdf : AHDL のデザインファイル
・
<ファンクション名>.ppf : PinPlanner インポート・ファイル
・
<ファンクション名>.inc : AHDL で呼びだす時のインクルード・ファイル
・
<ファンクション名>.cmp :VHDL で呼び出すためのコンポーネント記述
・
<ファンクション名>.bsf :回路図で呼び出すためのシンボルファイル
・
<ファンクション名>_inst.tdf : AHDL で呼び出したときのインスタンス記述テンプレート
・
<ファンクション名>_waveforms.html :サンプル波形ファイル
・
<ファンクション名>_wave*.html :サンプル波形ファイル
Verilog HDL の場合
・
™
<ファンクション名>.v : Verilog HDL のデザインファイル
・
<ファンクション名>.ppf : PinPlanner インポート・ファイル
・
<ファンクション名>.inc : AHDL で呼びだす時のインクルード・ファイル
・
<ファンクション名>.cmp :VHDL で呼び出すためのコンポーネント記述
・
<ファンクション名>.bsf :回路図で呼び出すためのシンボルファイル
・
<ファンクション名>_inst.v : Verilog HDL で呼び出したときのインスタンス記述のテンプレート
・
<ファンクション名>_bb.v :Verilog でのブラック・ボックスファイル
・
<ファンクション名>_waveforms.html :サンプル波形ファイル
・
<ファンクション名>_wave*.html :サンプル波形ファイル
VHDL の場合
・
<ファンクション名>.vhd : VHDL のデザインファイル
・
<ファンクション名>.ppf : PinPlanner インポート・ファイル
・
<ファンクション名>.inc : AHDL で呼びだす時のインクルード・ファイル
・
<ファンクション名>.cmp :VHDL で呼び出すためのコンポーネント記述
・
<ファンクション名>.bsf :回路図で呼び出すためのシンボルファイル
・
<ファンクション名>_inst.vhd : VHDL で呼び出したときのインスタンス記述のテンプレート
・
<ファンクション名>_waveforms.html :サンプル波形ファイル
・
<ファンクション名>_wave*.html :サンプル波形ファイル
ver.9.1
2010 年 1 月
Page 7 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
2-3-2. RAM: 2-PORT
1
Parameter Settings タブ
{ General タブ
使用デバイス、デュアルポート RAM の種類などを選択します。
デバイス選択
使用するデュアルポート
RAM のタイプ選択
メモリ・ サイ ズの表記を
選択(ワード or ビット)
使用リソース数
を表示
{ Widths/Blk Type/Clk タブ
バス幅、メモリ・サイズなどを選択します。
メモリのワード数
バス幅の選択
配置ブロックの選択(Auto、メモリ・ブ
ロックのタイプ、ロジック・エレメント)、
1 ブロック辺りの最大ワード数の指定
ver.9.1
2010 年 1 月
Page 8 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
{ Clks/Rd, Byte En タブ
クロック、各イネーブルの設定をします。
クロック系統の種類を
選択
リード・イネーブル信号
入力ポートの追加
バイトイネーブル・ポ
ートの追加
{ Regs/Clkens/Aclrs タブ
クロック・イネーブル、リセット信号の設定を行います。
リード・イネーブル・ポ
ートの追加
クロック・イネーブル信号
入力ポートの追加
リセット信号入力ポート
の追加
ver.9.1
2010 年 1 月
Page 9 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
{ Output1
※ Output2 は、Clks/Rd, Byte En タブで “Dual clock: use separate ‘input’ and ‘output’ clocks” を選択した場合のみ表示
されます。
片方がライト時で、もう片方がリード
している場合の出力オプション設定
{ Output2
※ Output1 は、General タブで “With two read/write ports” を選択した場合のみ表示されます。
本紙 6 頁 “Read During Write Option タブ” 項を参照
{ Mem Int
本紙 6 頁参照
2
EDA タブ
本紙 6 頁参照
3
Summary タブ
本紙 7 頁参照
ver.9.1
2010 年 1 月
Page 10 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
2-3-3. RAM: 3-PORT
1
Parameter Settings タブ
{ Widths, Blk Type, Clk, Rdens タブ
バス幅、メモリ・サイズを
設定
配置ブロックの選択(Auto、メモリ・ブ
ロックのタイプ、ロジック・エレメント)、
1 ブロック辺りの最大ワード数の指定
クロック系統の種
類を選択
リード・イネーブル
信号入力ポートの
追加
{ Regs, Clokens, Aclrs タブ
データ出力を
レジスタ出力
に設定
クロック・イネーブル信号入力
ポートの追加
リセット信号入力ポート
の追加
ver.9.1
2010 年 1 月
Page 11 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
{ Mem Int
本紙 6 頁参照
2
EDA タブ
本紙 6 頁参照
3
Summary タブ
本紙 7 頁参照
2-3-4. ROM: 1-PORT
1
Parameter Settings タブ
{ General
デバイス選択
バス幅、メモリ・サイズを
設定
配置ブロックの選択(Auto、メモリ・ブ
ロックのタイプ、ロジック・エレメント)、
1 ブロック辺りの最大ワード数の指定
クロック系統の種
類を選択
使用リソース数
を表示
{ Regs/Clkens/Aclrs
本紙 4 頁参照
{ Mem Int
本紙 6 頁参照
2
EDA タブ
本紙 6 頁参照
3
Summary タブ
本紙 7 頁参照
ver.9.1
2010 年 1 月
Page 12 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
2-3-5. ROM: 2-PORT
1
Parameter Settings タブ
{ Widths/Blk Type
デバイス選択
メモリ・ サイ ズの表記を
選択(ワード or ビット)
ワード数の選択
バス幅の選択
配置ブロックの選択(Auto、メモリ・ブ
ロックのタイプ、ロジック・エレメント)、
1 ブロック辺りの最大ワード数の指定
使用リソース数
を表示
{ Clks/Rd, Byte En
本紙 9 頁参照
{ Regs/Clkens/Aclrs
本紙 4 頁参照
{ Mem Int
本紙 6 頁参照
2
EDA タブ
本紙 6 頁参照
3
Summary タブ
本紙 7 頁参照
ver.9.1
2010 年 1 月
Page 13 of 14
Altima Corporation
オンチップ・メモリ クイック・ガイド for Cyclone III
弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を一読いただいた上でご使用ください。
1.
本資料は非売品です。許可無く転売することや無断複製することを禁じます。
2.
本資料は予告なく変更することがあります。
3.
本資料の作成には万全を期していますが、万一ご不明な点や誤り、記載漏れなどお気づきの点がありましたら、弊社までご一報いただければ幸いです。
4.
本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響については、責任を負いかねますのであらかじめご了承ください。
5.
本資料は製品を利用する際の補助的な資料です。製品をご使用になる場合は、英語版の資料もあわせてご利用ください。
横浜本社
〒222-8563
大阪営業所
〒532-0003
名古屋営業所
〒460-0003
宇都宮営業所
〒321-0953
ver.9.1
横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155 FAX 045-476-2156
大阪市淀川区宮原 3-4-30 ニッセイ新大阪ビル 17 階 TEL 06-6397-1053
FAX 06-6397-1054
名古屋市中区錦 1-6-5 名古屋錦シティビル 7 階 TEL 052-202-1024 FAX 052-202-1025
宇都宮市東宿郷 4-2-24 センターズビル 7 階 TEL 028-637-4488 FAX 028-637-4489
2010 年 1 月
Page 14 of 14
Altima Corporation