1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. HDL PROJECT Block Memory Generator(8.4)でURAMを使用する方法(一例)

TECHブログ

HDL PROJECT Block Memory Generator(8.4)でURAMを使用する方法(一例)

HDL PROJECT Block Memory Generator(8.4)でURAMを使用する方法(一例)

FPGA設計中にBlock Memory GeneratorでURAMを使用するケースがありました。

HDL PROJECTのため、URAMを使用するにはXPMから生成する必要がありますが、BLOCK DESIGNを使用する場合においては、Block Memory GeneratorからURAMを選択することが可能です。

そこで本ブログでは、HDL DESIGNを使用したIPIのモジュールを読み出し方法で、Block Memory GeneratorからURAMを選択する方法を紹介します。

TOOL
: Vivado™ Ver 2020.2
DEVICE
: ZCU104 Evolution Boar
IP
: Block Memory Generator(8.4)

目次

背景

FPGA(RTL BASE)設計中にURAMを使用する時に、Block Memory GeneratorでURAMの選択ができない場合に、URAMを使用するにはXPMから生成することが必要です。

現象

Vivado™でPROJECTを作成し、IP catalogからBlock Memory Generatorを開くと下図のようになり、BRAMとURAMの選択が表示されません。(XPMから生成する必要あり)

出典:Vivado™ ML Edition


IPインテグレーター(BLOCK DESIGN)の使用のPROJECTでは下図のようにURAMの選択ができます。

出典:Vivado™ ML Edition

方法

IPインテグレーターを使用したBLOCKのBlock Memory Generatorで必要なモジュールを生成し、RTL PROJECTに読み込みする方法もあるので、以下に具体的なやり方を紹介いたします。

1. 生成用PROJECTを新規作成

出典:Vivado™ ML Edition

2. 新規BLOCKデザインを作成

出典:Vivado™ ML Edition

3. IPを追加

+を押して、Block Memory GeneratorでIPを追加します。

出典:Vivado™ ML Edition


出典:Vivado™ ML Edition

4. IP設定

IP、IP名を必要に応じて設定します。

IP

出典:Vivado™ ML Edition

IP名

出典:Vivado™ ML Edition

5. 外部PORTを生成

IPを選択し、右クリックからMake Externalで外部PORTを生成します。

出典:Vivado™ ML Edition


出典:Vivado™ ML Edition

6. RTLを生成

Create HDL WrapperでRTL PROJECTインポートに必要なRTLを生成します。

出典:Vivado™ ML Edition


出典:Vivado™ ML Edition

以下のようにRTL WrapperとIPのTOPファイルが生成されます。

出典:Vivado™ ML Edition

7. RTL PROJECTにインポート

生成されたIPをRTL PROJECTにインポートします。RTL PROJECTを開き、もしくは新規RTL PROJECTを作成します。

出典:Vivado™ ML Edition

8. ファイルインポート

add source→add or create design sourceを選択し、必要なファイルをインポートします。

出典:Vivado™ ML Edition


\project_1.srcs\sources_1\bd\design_URAMTEST\ip\design_URAMTEST_blk_mem_gen_0_1\design_URAMTEST_blk_mem_gen_0_1.xciを追加します。

出典:Vivado™ ML Edition


出典:Vivado™ ML Edition


\project_1.gen\sources_1\bd\design_URAMTEST\synth\design_URAMTEST.vを追加します。

出典:Vivado™ ML Edition


scan and add RTL include files into projectとcopy source into projectを選択し、finishをクリックします。

出典:Vivado™ ML Edition


出典:Vivado™ ML Edition

おわりに

いかがでしたでしょうか。
以上でRTL PROJECTにURAMが有効になっているIPが追加されました。
次回は複数URAMを使用した時に動作周波数を改善する方法を紹介したいと思います。

弊社ではFPGA設計や回路図設計、レイアウト設計、ソフトウェア設計、筐体設計などを受託開発しています。サービス内容をWEBサイトに掲載していますので、ぜひご覧ください。

設計受託・ODMの概要については
こちら

FPGAの活用に際して設計検討などありましたら、お気軽にお問い合わせください。

FPGAの活用・設計検討の
お問い合わせはこちら

最後までお付き合いいただきありがとうございました。