ver.9.1 2010 年 1 月 1. はじめに アルテラ社製 FPGA デバイスにおいてオンチップ メモリ (FPGA 内部で RAM や ROM などを構成 ) を実現するには Memory Compiler メガファンクションを使用します Memory Compiler メガファンクションは Cyclone シリーズ, Arria シリーズ, Stratix シリーズ, HardCopy シリーズにて利用可能です 使用するデバイスやメモリのタイプによって Memory Compiler メガファンクションのパラメータも異なりますので ご使用デバイスのデータ シートを必ずご確認ください この資料では Quartus II の MegaWizard TM 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 の起動 1 Quartus II 上の Tool メニュー MegaWizard Plug-In Manager をクリックします 2 Create a new custom megafunction variation を選択し Next をクリックします Page 1 of 14 Altima Corporation
補足 1 : 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
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 をクリックします デバイス選択 配置ブロックの選択 (Auto メモリ ブロックのタイプ ロジック エレメント ) 1 ブロック辺りの最大ワード数の指定 メガファンクション リストから バス幅の指定 Installed Plug-Ins Memory Compiler より 使用するオンチサイズの設定ップ メモリを選択 クロック系統の設定 ( 入力クロックと出力クロックの独立 ) 使用リソース数を表示 ver.9.1 2010 年 1 月 Page 3 of 14 Altima Corporation
Regs/Clken/Byte Enable/Aclrs タブ シングルクロック 入力 / 出力別クロック Read/Write 別クロックからメモリのクロック仕様を選択します リード イネーブルの設定をします 設定終了後 Next をクリックします データ出力をレジスタ出力に設定 クロック イネーブルの設定 クリア信号入力ポートの追加 リード イネーブル信号入力ポートの追加 補足 2 : More Options. の設定 クロック イネーブルおよびクリア信号の設定は More Options ボタンの設定でより詳細な設定を行うことができます ver.9.1 2010 年 1 月 Page 4 of 14 Altima Corporation
Read During Write Option タブ ライト時のリード データのオプション設定ができます 設定終了後 Next をクリックします 補足 3 : 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
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
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
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
Clks/Rd, Byte En タブ クロック 各イネーブルの設定をします クロック系統の種類を選択 リード イネーブル信号入力ポートの追加 バイトイネーブル ポートの追加 Regs/Clkens/Aclrs タブ クロック イネーブル リセット信号の設定を行います リード イネーブル ポートの追加クロック イネーブル信号入力ポートの追加 リセット信号入力ポートの追加 ver.9.1 2010 年 1 月 Page 9 of 14 Altima Corporation
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
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
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
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
弊社より資料を入手されましたお客様におかれましては 下記の使用上の注意を一読いただいた上でご使用ください 1. 本資料は非売品です 許可無く転売することや無断複製することを禁じます 2. 本資料は予告なく変更することがあります 3. 本資料の作成には万全を期していますが 万一ご不明な点や誤り 記載漏れなどお気づきの点がありましたら 弊社までご一報いただければ幸いです 4. 本資料で取り扱っている回路 技術 プログラムに関して運用した結果の影響については 責任を負いかねますのであらかじめご了承ください 5. 本資料は製品を利用する際の補助的な資料です 製品をご使用になる場合は 英語版の資料もあわせてご利用ください 横浜本社 222-8563 横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155 FAX 045-476-2156 大阪営業所 532-0003 大阪市淀川区宮原 3-4-30 ニッセイ新大阪ビル 17 階 TEL 06-6397-1053 FAX 06-6397-1054 名古屋営業所 460-0003 名古屋市中区錦 1-6-5 名古屋錦シティビル 7 階 TEL 052-202-1024 FAX 052-202-1025 宇都宮営業所 321-0953 宇都宮市東宿郷 4-2-24 センターズビル 7 階 TEL 028-637-4488 FAX 028-637-4489 ver.9.1 2010 年 1 月 Page 14 of 14 Altima Corporation