44
PlanAhead ソフトウェア チュートリアル パーシャル リコンフィギュレーション フ ローの概要 UG743 (v 13.1) 2011 3 1

PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

PlanAhead ソフ トウェア チュート リアル

パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

Page 2: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com UG743 (v 13.1) 2011 年 3 月 1 日

The information disclosed to you hereunder (the “Information”) is provided “AS-IS” with no warranty of any kind, express orimplied.Xilinx does not assume any liability arising from your use of the Information.You are responsible for obtaining anyrights you may require for your use of this Information.Xilinx reserves the right to make changes, at any time, to the Informationwithout notice and at its sole discretion.Xilinx assumes no obligation to correct any errors contained in the Information or toadvise you of any corrections or updates.Xilinx expressly disclaims any liability in connection with technical support orassistance that may be provided to you in connection with the Information.XILINX MAKES NO OTHER WARRANTIES,WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE INFORMATION, INCLUDING ANYWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OFTHIRD-PARTY RIGHTS.

© Copyright 2011 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included herein aretrademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.

本資料は英語版 (v 13.1) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあ り ます。

日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

改訂履歴次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 改訂内容

2011 年 3 月 1 日 13.1 ISE 13.1 リ リース用に改訂

Page 3: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 3UG743 (v 13.1) 2011 年 3 月 1 日

改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

PlanAhead ソフ トウェア チュート リアル : パーシャル リコンフ ィギュレーシ ョ ン フローの概要

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5チュート リ アルの目標. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5はじめに. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5チュート リ アルの手順. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9手順 1 : HDL ソースからのネッ ト リ ス トの合成 (オプシ ョ ン) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10手順 2 : プロジェク トの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11手順 3 : リ コンフ ィギャブル パーティシ ョ ンの作成と リ コンフ ィギャブル モジュールの追加 . . . 13手順 4 : リ コンフ ィギャブル モジュールの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15手順 5 : ブラ ッ ク ボッ クス モジュールの追加 (オプシ ョ ン) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17手順 6 : リ コンフ ィギャブル パーティシ ョ ンのフロアプラン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19手順 7 : パーティシ ョ ン ピンと リ コンフ ィギャブル パーティシ ョ ンのインターフェイス タイ ミ ング 24手順 8 : パーシャル リ コンフ ィギュレーシ ョ ンのデザイン ルール チェッ クの実行 . . . . . . . . . . . 26手順 9 : コンフ ィギュレーシ ョ ンのインプリ メン ト とプロモート . . . . . . . . . . . . . . . . . . . . . . . . . . 28手順 10 : 追加コンフ ィギュレーシ ョ ンの作成と インプリ メン ト . . . . . . . . . . . . . . . . . . . . . . . . . . 32手順 11 : コンフ ィギュレーシ ョ ンの検証. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38手順 12 : ビッ ト ファ イルの生成とダウンロード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39ま とめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

付録 A : その他のリソースザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43パーシャル リ コンフ ィギュレーシ ョ ン資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43PlanAhead 資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

目次

Page 4: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

4 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

Page 5: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 5UG743 (v 13.1) 2011 年 3 月 1 日

PlanAhead ソフ トウェア チュート リアル : パーシャル リコンフ ィギュレーシ ョ ン フローの概要

概要

このチュート リ アルでは、 HDL 合成から BIT ファ イルの生成およびダウンロードまでの単純な

パーシャル リ コンフ ィギュレーシ ョ ン (PR) デザインを作成します。 PlanAhead™ ソフ ト ウェアで

デザインをインプリ メン トおよび解析するのには、ザイ リ ンクス ソフ ト ウェア ツールが使用されま

す。パーシャル リ コンフ ィギュレーシ ョ ン デザインには、CORE Generator™ および ChipScope™Pro などのその他のツールも使用できますが、このチュート リ アルでは説明しません。このチュート

リ アルは、 パーシャル リ コンフ ィギュレーシ ョ ンおよびザイ リ ンクス ソフ ト ウェアを使用した

FPGA デザインのインプリ メンテーシ ョ ンを学ぶ必要のある場合に使用します。パーシャル リ コン

フ ィギュレーシ ョ ンの詳細は、付録 A 「その他のリ ソース」に示す『パーシャル リ コンフ ィギュレー

シ ョ ン ユーザー ガイ ド』 (UG702) を参照してください。

メモ : このチュート リ アルでは、 ISE® Design Suite の PlanAhead ソフ ト ウェア製品に含まれる機

能を使用しています。その他の機能については、別の PlanAhead チュート リ アルで説明します。付

録 A 「その他のリ ソース」 の PlanAhead のチュート リ アルのリ ンクを参照してください。

チュート リアルの目標

このチュート リ アルを終了する と、PlanAhead ソフ ト ウェアを使用して PR プロジェク ト を設定、実

行および管理できるよ うにな り ます。具体的には、リ コンフ ィギャブル パーティシ ョ ンを作成し、リ

コンフ ィギャブル モジュールを追加し、そのリ コンフ ィギャブル パーティシ ョ ンの Pblock 範囲を

定義し、PR 専用の DRC チェッ クを実行し、コンフ ィギュレーシ ョ ンを作成およびインプリ メン ト

し、 コンフ ィギュレーシ ョ ンを検証し、ハード ウェアでパーシャル リ コンフ ィギュレーシ ョ ンに必

要な BIT ファ イルを生成します。

はじめに

ソフ トウェア要件

PlanAhead ソフ ト ウェアは、 ISE® Design Suite ソフ ト ウェアをインス トールする と インス トール

されます。チュート リ アルを始める前に、PlanAhead が起動できるか、チュート リ アル デザイン デー

タがインス トールされているかを確認して ください。

インス トール方法およびその詳細は、 付録 A 「その他のリ ソース」 に示される 『ISE Design Suite :インス トールおよびライセンス ガイ ド』 (UG798) を参照してください。

Page 6: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

6 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

はじめに

パーシャル リ コンフ ィギュレーシ ョ ンの機能を使用するには、パーシャル リ コンフ ィギュレーシ ョ

ン用の FlexLM ライセンスを取得する必要があ り ます。30 日間限定の無料ライセンスを取得する場

合は、ザイ リ ンクスの FAE (フ ィールド アプリ ケーシ ョ ン エンジニア) にご連絡いただくか、http://japan.xilinx.com/getproduct から取得してください。 オプシ ョ ンで ML605 ボード と USB ダウン

ロード ケーブルを使用してハード ウェアでテス トするこ と もできます。

ハードウェア要件

大規模デバイスで PlanAhead ソフ ト ウェアを使用するには、 2GB 以上の RAM が推奨されます。

1GB で十分ですが、 パフォーマンスに影響のでるこ と もあ り ます。

チュート リアル デザイン ファイルのディ レク ト リ

このチュート リ アルでは UG743_design_files.zip リ ファレンス デザインを使用します。 この

ファ イルは、 書き込み権のあるディ レク ト リに解凍しておいてください。 リ ファレンス デザイン

のコピーは、 http://japan.xilinx.com/support/documentation/dt_planahead_planahead13-1_tutorials.htm からダウンロードできます。

解凍されたデータ ディ レク ト リは、 このチュート リ アルでは <Extract_Dir> と記述します。

チュート リ アルのサンプル データは、チュート リ アルを実行中に変更されます。各チュート リ アル

を実行する前に、 まず元のデータのコピーを取っておいてください。

このチュート リ アルには、既にインプリ メン ト済みのプロジェク ト ファ イルが含まれます。サンプ

ル データのディ レク ト リでは、容量を削減するために、インプリ メンテーシ ョ ン ファ イルの一部が

削除され、 必要なデータのみが残されています。

チュート リアル デザインの説明

このチュート リ アルの FPGA デザインは、 http://japan.xilinx.com/ml605 に記述されているザイ リ

ンクス ML605 プロ ト タイプ ボードをターゲッ トにしています。 ターゲッ ト デバイスは Virtex®-6xc6vlx240tff1156-1 です。FPGA デバイスは読み込まれる リ コンフ ィギャブル モジュールによって

異なる順番で LED を駆動します。デザインにはリ コンフ ィギャブル パーティシ ョ ンが 2 つ含まれ、

そのうち 1 つにはエンベデッ ド ブロ ッ ク RAM、 も う 1つはエンベデッ ド I/O バッファが使用され

ています。 異なるブロ ッ ク RAM データを含むブロ ッ ク RAM モジュールを リ コンフ ィギュレー

シ ョ ンする と、 8 個の GPIO LED の LED の順序が変更されます。異なるステート マシン遷移を含

む I/O モジュールを リ コンフ ィギュレーシ ョ ンする と、4 個の LED の回転方向が時計回りか反時計

回りに変わり ます。

Page 7: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 7UG743 (v 13.1) 2011 年 3 月 1 日

はじめに

チュート リアルの概要

ソフ トウェア ツール フロー

パーシャル リ コンフ ィギュレーシ ョ ンではト ップダウン インプリ メンテーシ ョ ンを使用してボ ト

ムアップ合成方法を使用します。このよ うなデザインおよびこのチュート リ アルでは、XST (XilinxSynthesis Technology) を使用してデザインを合成し、インプ リ メンテーシ ョ ンに PlanAhead を使用

します。その他のツールおよび手法を使用しても、問題なくパーシャル リ コンフ ィギュレーシ ョ ン

デザインをインプリ メン トできます。

X-Ref Target - Figure 1

図 1 : デザインの概要 - パーシャル リコンフ ィギュレーシ ョ ン

����������� ������� ���

���������� �� �� �������

���������� �� �� �������

� �����

�� ���� ������

����� �

Page 8: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

8 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

はじめに

プロジェク ト ディ レク ト リおよび HDL デザインの構造

部分的にリ コンフ ィギャブルな FPGA デザインを構築して合成するには、ブラ ッ ク ボッ クス とボ ト

ムアップ合成方法を使用する必要があ り ます。 リ コンフ ィギャブル モジュールはそれぞれ個別のプ

ロジェク ト と して合成され、 ネッ ト リ ス トが個別に生成されます。 上位レベルのデザインはリ コ

ンフ ィギャブル モジュールをブラ ッ ク ボッ クス と してインスタンシエートするので、 リ コンフ ィ

ギャブル モジュールのネッ ト リ ス トは 上位レベルのネッ ト リ ス トに含まれません。

X-Ref Target - Figure 2

図 2 : ソフ トウェア フローの概要

!"��������# ���$���#�%������� ���� &�'����#�(�&�����#�#����)�����������*�����������������������++++++++

���,� ���,����� )-��#�,� �����*���.*�� ),����� )�����&,� �����*���.*�� ),���/����/0,� �����*���.*�����,���/����//0,� �����*���.*�����,��� ������*�

++++++1)��)���

��&���&

) �

� �

������ 1)��)���

��&���&

) �

� �

��������� �&�� ��� ��������#

��� �&�� ��� ��������#

���

�������

Page 9: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 9UG743 (v 13.1) 2011 年 3 月 1 日

チュート リアルの手順

このチュート リ アルのディ レク ト リ構造は次のよ うにな り ます。

<Extract_Dir>- Implementation-> 合成結果 (スク リプ ト手法が使用される場合は

インプリ メンテーシ ョ ン結果も)- Synth -> PlanAhead プロジェク トおよび結果- PlanAhead -> PlanAhead プロジェク トおよび結果- Source -> HDL ソース ファ イルと制約ファイル- Tools -> コマンド ラ イン フローの Tcl スク リプ ト (このチュート リ アルでは説明なし)

リ コンフ ィギャブル モジュール (RM) はそれぞれ別に合成されるので、 上位レベル モジュール用

のディ レク ト リが別にあ り ます。 個別の RM は Source および Implementation ディ レク ト リ内に含

まれます。

ImplementationTop ( 上位レベルとすべてのスタティ ッ ク ロジッ ク)BramFirst (BRAM リ コンフ ィギャブル モジュールの 初のバージ ョ ン)BramSecond (BRAM リ コンフ ィギャブル モジュールの 2 つ目のバージ ョ ン)CountCW (カウンタの時計回りバージ ョ ン)CountCCW (カウンタの反時計回りバージ ョ ン)

上位レベルのソース ファ イル <Extract_Dir>/Source/Top/Top.v を開きます。 このデザイ

ンの 2 つのリ コンフ ィギャブル モジュール (recon_block_bram および recon_block_count) は HDLでブラ ッ ク ボッ クス と して宣言されています。 これらのブロ ッ クに対する下位の HDL 記述は提供

されていません。

チュート リアルの手順

このチュート リ アルは、 次の手順で構成されています。

「手順 1 : HDL ソースからのネッ ト リ ス トの合成 (オプシ ョ ン)」

「手順 2 : プロジェク トの作成」

「手順 3 : リ コンフ ィギャブル パーティシ ョ ンの作成と リ コンフ ィギャブル モジュールの追加」

「手順 4 : リ コンフ ィギャブル モジュールの追加」

「手順 5 : ブラ ッ ク ボッ クス モジュールの追加 (オプシ ョ ン)」

「手順 6 : リ コンフ ィギャブル パーティシ ョ ンのフロアプラン」

「手順 7 : パーティシ ョ ン ピンと リ コンフィギャブル パーティシ ョ ンのインターフェイス タイ ミ ング」

「手順 8 : パーシャル リ コンフ ィギュレーシ ョ ンのデザイン ルール チェッ クの実行」

「手順 9 : コンフ ィギュレーシ ョ ンのインプリ メン ト とプロモート 」

「手順 10 : 追加コンフ ィギュレーシ ョ ンの作成と インプ リ メン ト 」

「手順 11 : コンフ ィギュレーシ ョ ンの検証」

「手順 12 : ビッ ト ファ イルの生成とダウンロード」

Page 10: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

10 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 1 : HDL ソースからのネッ ト リス トの合成 (オプシ ョ ン)

手順 1 : HDL ソースからのネッ ト リス トの合成 (オプシ ョ ン)PlanAhead ではパーシャル リ コンフ ィギュレーシ ョ ン フローの HDL プロジェク トがサポート さ

れないので、 PlanAhead プロジェク ト を作成する前に XST を使用して合成をしておく必要があ り

ます。 このチュート リ アルに含まれるファイルでは、 XST を既に実行済みです。 また、 含まれる

NCG ファ イルを使用するこ と もできます。 この NGC ファ イルを使用する場合は、 「手順 2 : プロ

ジェク トの作成」 に進んでください。

XST プロジェク ト ファ イルは、 次のディレク ト リにあ り ます。

• <Extract_Dir>/_bram_led/ImplementationSynth/Top/Top.xst

• <Extract_Dir>/ImplementationSynth/Top/Top.prj

Top.xst では、 I/O バッファが自動挿入されるよ うになっています。 これはデフォルトです。

-iobuf YES

すべてのリ コンフ ィギャブル モジュールの XST プロジェク ト ファ イルでは、この属性は NO に設

定する必要があ り ます。これは、下位レベルのモジュールには I/O バッファを挿入できないからです

(後で説明される U2_RP_Count リ コンフ ィギャブル パーティシ ョ ンのよ うな特殊な場合を除く )。

<Extract_Dir>/Tools ディ レク ト リで Tcl スクリプ ト を実行してすべてのモジュールを合成

1. <Extract_Dir>/Implementation ディレク ト リから次のコマンドを実行します。

tclsh ../Tools/xpartition.tcl ../Tools/data_synth.tcl

このスク リプ トによ り、XST が呼び出され、Source ディ レク ト リの Verilog ファ イルが合成さ

れます。

• <Extract_Dir>/Source/Bram* のモジュールの場合は、 RM にブロ ッ ク RAM が含ま

れます。

• <Extract_Dir>/Source/Count* のモジュールの場合は、RM に I/O バッファが含まれ

ます。

XST で生成された NGC ネッ ト リ ス ト ファ イルは <Extract_Dir>/ImplementationSynth/<module> ディ レク ト リに保存されています。

メモ : 合成ツールに Synplify Pro を使用する場合は、 上記を実行前に data_synth.tcl ファ イル

を次のよ うに修正して ください。

SYNTH_TOOL "synplify_pro" \

このオプシ ョ ンを設定する と、<Extract_Dir>/ImplementationSynth/<module> ディ レク ト

リの Synplify Pro プロジェク ト ファ イルが使用されます。

Page 11: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 11UG743 (v 13.1) 2011 年 3 月 1 日

手順 2 : プロジェク トの作成

手順 2 : プロジェク トの作成

PlanAhead を起動し、 新規プロジェク ト を作成

1. PlanAhead ソフ ト ウェアを起動します。

• Windows の場合、 Xilinx PlanAhead のデスク ト ップ アイコンをダブルク リ ッ クするか、

[ス ター ト ] → [プロ グ ラ ム] → [Xilinx ISE Design Suite 13] → [PlanAhead] →

[PlanAhead] をク リ ッ ク します。

• Linux の場合は、 <Extract_Dir>/PlanAhead ディ レク ト リに移動し、 planAhead と入

力します。

PlanAhead の Getting Started ページが開きます。

2. [Create New Project] のリ ンクをク リ ッ ク します。

[Create a New PlanAhead Project] ページが開きます。

3. [Next] をク リ ッ ク します。

[Project Name] ページが開きます。

4. プロジェク ト名とディ レク ト リ を選択し、 [Next] をク リ ッ ク します。

5. [Specify synthesized (EDIF or NGC) netlist] をオンにし [Set PR Project] をオンにしたら

[Next] をク リ ッ ク します (図 3)。X-Ref Target - Figure 3

図 3 : デザイン ソースの指定

Page 12: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

12 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 2 : プロジェク トの作成

6. [Top Netlist File] で <Extract_Dir>/ImplementationSynth/Top/Top.ngc を参照し、[開く ] をク リ ッ ク し、 [Next] をク リ ッ ク します。 オプシ ョ ンのネッ ト リ ス ト ディ レク ト リは設定

しないでください。

メモ : オプシ ョ ンのネッ ト リ ス ト ディレク ト リは、スタティ ッ ク ロジッ クに関連する下位レベ

ルのネッ ト リ ス トがある場合にのみ PR プロジェク トで使用されるべきです。 リ コンフ ィギャ

ブル モジュール (RM) に関連する下位レベルのネッ ト リ ス トは後で追加します。

7. [Constraint Files] ページで [Add Files] ボタンをク リ ッ ク し、次のユーザー制約ファイル (UCF)を指定します。

<Extract_Dir>/Source/UCF/top_ml605.ucf

8. [OK] をク リ ッ ク し、 [Next] をク リ ッ ク します。

[Default Part] ページでは、ネッ ト リ ス トがスキャンされ、 適なパーツが自動的に選択されま

す。

9. xc6vlx240tff1156-1デバイスが選択されているこ とを確認し、 [Next] をク リ ッ ク します。

10. [New Project Summary] ページで図 4 のよ うにプロジェク トが設定されているこ とを確認した

ら、 [Finish] をク リ ッ ク します。X-Ref Target - Figure 4

図 4 : 新規プロジェク トのサマリ

Page 13: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 13UG743 (v 13.1) 2011 年 3 月 1 日

手順 3 : リ コンフ ィギャブル パーティシ ョ ンの作成とリコンフ ィギャブル モジュールの追加

手順 3 : リコンフ ィギャブル パーティシ ョ ンの作成と リコンフ ィギャブル モジュールの追加

U1_RP_Bram のリコンフ ィギャブル パーティシ ョ ン (RP) を作成

1. Flow Navigator の [Netlist Design] ボタンをク リ ッ ク してネッ ト リ ス ト を メモ リに読み込みま

す。

リ コンフ ィギャブル モジュール (RM) にはまだネッ ト リ ス ト を割り当てていないので、定義さ

れていないインスタンスがあるこ とを示すメ ッセージが表示されます。

2. [OK] をク リ ッ ク します。

メモ : このチュート リ アルで記述されるウ ィンド ウやツールの多くは、[Netlist Design] ビュー

が開いている場合にのみ使用可能です。 [Netlist Design] を閉じた場合、 またはプロジェク ト を

一度閉じてから開きなおした場合は、 Flow Navigator の [Netlist Design] ボタンをク リ ッ ク し

て [Netlist Design] ビューを開き直す必要があ り ます。

3. [Netlist] ビューで U1_RP_Bram を選択して右ク リ ッ ク し、[Set Partition] を選択します。これ

によ り Set Partition ウ ィザードが起動されます。

X-Ref Target - Figure 5

図 5 : 定義されていないモジュールがあることを示す警告メ ッセージ

X-Ref Target - Figure 6

図 6 : パーティシ ョ ンと リコンフ ィギャブル モジュールの設定

Page 14: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

14 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 3 : リコンフ ィギャブル パーティシ ョ ンの作成と リコンフ ィギャブル モジュールの追加

4. ウ ィザードの 初のページで [Next] をク リ ッ ク し、 選択されていない場合は [is areconfigurable Partition] をオンにします。 [Next] をク リ ッ ク します。

5. [Reconfigurable Module Name] に BramFirst という名前を付け、 選択されていない場合は

[Netlist already available for this Reconfigurable Module] を選択し、[Next] をク リ ッ ク します。

6. [Top Netlist File] で <Extract_Dir>/SynthImplementation/BramFirst/recon_block_bram.ngc を参照します。

7. [開く ] をク リ ッ ク し、 [Next] をク リ ッ ク します。

メモ : RM に関連する下位レベルのネッ ト リ ス トがある場合、オプシ ョ ンのネッ ト リ ス ト ディ

レク ト リはこ こで追加できますが、 この場合はあ り ません。

8. [Next] をク リ ッ ク してオプシ ョ ンの制約ファイルの画面を飛ばします。

こ こでモジュール レベルの制約ファイルを追加できますが、この場合はファイルがあり ません。

9. [Set Partition Summary] ページを確認したら [Finish] をク リ ッ ク してウ ィザードを終了しま

す。

これで、U1_RP_Bram のリ コンフ ィギャブル パーティシ ョ ンが作成されました。[Netlist] ビューの

アイコンは から に変更され、 U1_RP_Bram の下にリ コンフ ィギャブル モジュールが 1 つ表示されます (図 7)。 このインスタンスは、[Physical Constraints] ビューで Pblock と して表示され

るよ うにもなっています。

U2_RP_Count の RP を作成

1. U2_RP_Count を選択して右ク リ ッ ク し、 [Set Partition] を選択します。

2. リ コンフ ィギャブル パーティシ ョ ンを設定する前に、 [Yes] をク リ ッ ク し、 ネッ ト リ ス ト デザ

インを保存します。

3. 次の設定で Set Partition ウ ィザードを終了します。

• 選択されていない場合は [is a reconfigurable partition] をオン

• リ コンフ ィギャブル モジュール名を CountCW に指定

• 選択されていない場合は [Netlist already available for this Reconfigurable Module] をオン

X-Ref Target - Figure 7

図 7 : リコンフ ィギャブル パーティシ ョ ンのアイコン

Page 15: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 15UG743 (v 13.1) 2011 年 3 月 1 日

手順 4 : リ コンフ ィギャブル モジュールの追加

• [Top Netlist File] を <Extract_Dir>/implementationSynth/CountCW/recon_block_count.ngc に設定

これによ り、 リ コンフ ィギャブル パーティシ ョ ンそれぞれに 1 つのリ コンフ ィギュレーシ ョ ン モジュールが含まれるこ とにな り ます。 次の手順では、 RP に RM を追加する方法について説明しま

す。

手順 4 : リコンフ ィギャブル モジュールの追加

RP U1_RP_Bram にリコンフ ィギャブル モジュール (RM) を追加

1. [Netlist] ビューで U1_RP_Bram を選択して右ク リ ッ ク し、 [Add Reconfigurable Module] を選択します。 これによ り Add Reconfigurable Module ウ ィザードが起動されます。

2. 初のページで [Next] をク リ ッ ク します。

3. [Reconfigurable Module] に BramSecond と入力し、選択されていない場合は [Netlist alreadyavailable for this Reconfigurable Module] をオンにし、 [Next] をク リ ッ ク します。

4. [Top Netlist File] で <Extract_Dir>/ImplementationSynth/BramSecond/recon_block_bram.ngc を参照します。

5. オプシ ョ ンのネッ ト リ ス ト ディ レク ト リに追加する下位レベルのネッ ト リ ス トはないので、

[Next] をク リ ッ ク して続行します。

6. [Next] をク リ ッ ク してオプシ ョ ンのモジュール レベル制約ファイルの画面を飛ばします。

7. [Add Reconfigurable Module Summary] ページを確認したら [Finish] をク リ ッ ク してウ ィザー

ドを終了します。

U2_RP_Count に RM を追加

1. U2_RP_Count を選択して右ク リ ッ ク し、 [Add Reconfigurable Module] を選択します。

X-Ref Target - Figure 8

図 8 : リコンフ ィギャブル モジュールの追加

Page 16: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

16 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 4 : リコンフ ィギャブル モジュールの追加

2. 次の設定で Add Reconfigurable Module ウ ィザードを終了します。

• リ コンフ ィギャブル モジュール名を CountCCW に指定

• 選択されていない場合は [Netlist already available for this Reconfigurable Module] をオン

• [Top Netlist File] を <Extract_Dir>/implementationSynth/CountCW/recon_block_count.ngc に設定

この段階で、リ コンフ ィギャブル モジュール (RM) が 1 つ各リ コンフ ィギャブル パーティシ ョ ンに

追加され、 [Netlist] ビューは図 9 のよ うに表示されているはずです。 各リ コンフ ィギャブル パー

テ ィシ ョ ンの下にはネッ トおよびプ リ ミ テ ィブが リ ス ト されます。 これらのネッ トおよびプ リ ミ

ティブは現在アクティブになっている RM 用のもので、チェッ クマークの付いた黄色のひし形アイ

コンが表示されます。図 9 では、BramSecond および CountCCW がアクティブ モジュールです。ア

クティブにする RM を変更する場合は、 それを右ク リ ッ ク して [Set as Active ReconfigurableModule] を選択します。

少し時間をとって、さまざまな リ コンフ ィギャブル モジュールに関連するプリ ミ ティブを確認して

ください。 U1_RP_Bram に関連する RM の RAMB36、 CountCW/CountCCW の Primitives フォル

ダの下には、 スライス ロジッ ク (LUT、 XORY、 FDR) があるほか、 OBUF プリ ミ ティブがあ り ま

す。OBUF プリ ミ ティブは、「手順 6 : リ コンフ ィギャブル パーティシ ョ ンのフロアプラン」 で リ コ

ンフ ィギャブル パーティシ ョ ンのエリア グループ範囲に含める必要があるため、 特に重要です。X-Ref Target - Figure 9

図 9 : リコンフ ィギャブル モジュールを追加した後の [Netlist] ビュー

Page 17: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 17UG743 (v 13.1) 2011 年 3 月 1 日

手順 5 : ブラック ボックス モジュールの追加 (オプシ ョ ン)

手順 5 : ブラック ボックス モジュールの追加 (オプシ ョ ン)ブラ ッ ク ボッ クス モジュールはすべてのパーシャル リ コンフ ィギュレーシ ョ ン デザインに必要な

わけではないので、 この手順はオプシ ョ ンです。 ブラ ッ ク ボッ クス モジュールを作成する と、

BitGen 段階で空白の BIT ファ イルを生成できます。 この BIT ファ イルの使用については、 付録 A「その他のリ ソース」 に示す 『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG702) を参照して ください。

ブラック ボックス モジュールを U1_RP_Bram へ追加

1. [Netlist] ビューで U1_RP_Bram を選択して右ク リ ッ ク し、 [Add Reconfigurable Module] を選択します。 Add Reconfigurable Module ウ ィザードが表示されます。

2. 初のページで [Next] をク リ ッ ク します。

3. 新しいリ コンフ ィギャブル モジュールに BramBB という名前を付け、[Add this Reconfigurablemodule as a black box without a netlist] を選択し、 [Next] をク リ ッ ク します。

ブラ ッ ク ボッ クス モジュールに関連するネッ ト リ ス トや制約ファイルはないので、ウ ィザード

ではこの情報について尋ねるウ ィンド ウは表示されません。

4. [Add Reconfigurable Module Summary] ページを確認したら [Finish] をク リ ッ ク してウ ィザー

ドを終了します。

ブラック ボックス モジュールを U2_RP_Count へ追加 1. [Netlist] ビューで U1_RP_Bram を選択して右ク リ ッ ク し、 [Add Reconfigurable Module] を

選択します。 Add Reconfigurable Module ウ ィザードが表示されます。

2. 次の設定で Add Reconfigurable Module ウ ィザードを終了します。

• リ コンフ ィギャブル モジュール名を CountBB に指定

• [Add this Reconfigurable module as a black box without a netlist] をオン

このオプシ ョ ンの手順を終了する と、[Netlist] ビューの各リ コンフ ィギャブル パーティシ ョ ン (RP)の下にブラ ッ ク ボッ クス モジュールが 1 つずつ表示されます (図 10)。 RM のネッ ト またはプリ ミ

ティブは表示されなくな り ます。 これはブラ ッ ク ボッ クス リ コンフ ィギャブル モジュールが現在

アクティブで、 このモジュールに関連するロジッ クまたはネッ トがないためです。

Page 18: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

18 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 5 : ブラック ボックス モジュールの追加 (オプシ ョ ン)

X-Ref Target - Figure 10

図 10 : ブラック ボックス モジュールを含む [Netlist] ビュー

Page 19: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 19UG743 (v 13.1) 2011 年 3 月 1 日

手順 6 : リコンフ ィギャブル パーティシ ョ ンのフロアプラン

手順 6 : リコンフ ィギャブル パーティシ ョ ンのフロアプラン

各リ コンフ ィギャブル パーティシ ョ ン (RP) には、 どの物理リ ソースがリ コンフ ィギャブル パー

ティシ ョ ンの一部であるか指定する AREA_GROUP 範囲制約を含める必要があ り ます。 この例の

場合、 リ コンフ ィギャブル パーティシ ョ ンは U1_RP_Bram と U2_RP_Count です。

リ コンフ ィギャブル パーティシ ョ ンに関連する AREA_GROUP 範囲制約の一部ではない物理制約

は、すべてスタティ ッ ク ロジッ クの一部です。スタティ ッ ク ロジッ クはパーシャル リ コンフ ィギュ

レーシ ョ ンの影響を受けないので、 リ コンフ ィギュレーシ ョ ン プロセス中も動作可能な状態のまま

になり ます。 AREA_GROUP 範囲制約は、 RP が 「手順 3 : リ コンフ ィギャブル パーティシ ョ ンの

作成と リ コンフ ィギャブル モジュールの追加」 で説明された [Set Partition] コマンドを使用して作

成されるまで、 作成するべきではあ り ません。

pblock_U1_RP_Bram の AREA_GROUP 範囲を作成

1. [Netlist] ビューで BramFirst と CountCW をそれぞれ右ク リ ッ ク し、 どちらでも [Set asActive Reconfigurable Module] を選択して、アクティブな リ コンフ ィギャブル モジュールにし

ます。

PlanAhead では、アクティブな リ コンフ ィギャブル モジュール (RM) の AREA_GROUP 範囲

に必要な リ ソースがレポート されるので、ブラ ッ ク ボッ クスの RM は必ずアクティブになって

いないよ うにして ください。 1 つのリ コンフ ィギャブル パーティシ ョ ン (RP) に関連付けれた

異なる RM がさまざまな リ ソースを使用する場合、 その RP の AREA_GROUP 範囲には RMで使用される リ ソースの上位集合を含める必要があ り ます。

2. レイアウ ト メニュー ボタンから [Floorplanning] をク リ ッ ク し、 レイアウ ト ビューを [DesignAnalysis] から [Floorplanning] に変更します。

3. [Physical Constraints] ビューをク リ ッ ク し、 現在の Pblock すべてのリ ス ト を表示します。

X-Ref Target - Figure 11

図 11 : アクティブなリコンフ ィギャブル モジュールの設定

Page 20: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

20 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 6 : リコンフ ィギャブル パーティシ ョ ンのフロアプラン

PlanAhead では AREA_GROUP 制約が Pblock と呼ばれ、リ コンフ ィギャブル パーティシ ョ ン

と して定義されたモジュールの Pblock が自動的に作成されます。

4. [Physical Constraints] ビューでリ コンフ ィギャブル パーティシ ョ ンの pblock_U1_RP_Bramを選択します。

5. [Device] ビューの左側で [Set Pblock Size] ボタン をク リ ッ ク します。

pblock_U1_RP_Bram を右ク リ ッ ク し、 [Set Pblock Size] を選択しても同じ操作を実行でき

ます。

6. 複数のスライス ロジッ ク と少なく と も RAMB36 (ピンクの列) を 1 つ含めるよ うな長方形を描

画します。

7. 長方形を描画したら、 図 12 のよ うに [SLICE] と [RAMB36] をオンにします。

8. [OK] をク リ ッ ク します。

pblock_U2_RP_Count の AREA_GROUP 範囲を作成

1. pblock_U2_RP_Count を選択します。

2. [Set Pblock Size] を使用し、スラ イス ロジッ ク と I/O ロジッ クを含めるよ うな長方形を描画し

ます。

U2_RP_Count には UCF ファ イルで I/O ピン配置が既に含まれるので、 AREA_GROUP 範囲

には次のピンを含める必要があ り ます。 これらのピンはフロアプランで確認できます。

• AD21

• AH27

• AE21

X-Ref Target - Figure 12

図 12 : Pblock リソース (pblock_U1_RP_Bram) の設定

Page 21: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 21UG743 (v 13.1) 2011 年 3 月 1 日

手順 6 : リコンフ ィギャブル パーティシ ョ ンのフロアプラン

• AH28

3. 長方形を描画したら、 図 13 のよ うに [SLICE] と [IOB] リ ソースをオンにします。

4. [OK] をク リ ッ ク します。

RM 入力または出力フ リ ップフロ ップ (またはその他の入力/出力ロジッ ク ) がある場合は、

ILOGIC および OLOGIC のよ うなその他のロジッ ク もオンにして含めるこ とができます。 こ

のデザインには、 そのよ うな リ ソースは含まれません。

5. フロアプランを確認し、 必要な変更を加えます。

結果のフロアプランは、 図 14 のよ うになるはずです。

X-Ref Target - Figure 13

図 13 : Pblock リソース (pblock_U2_RP_Count) の設定

Page 22: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

22 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 6 : リコンフ ィギャブル パーティシ ョ ンのフロアプラン

6. U2_RP_Count に必要なピンが AREA_GROUP 範囲内にあるかど うかを確認します。

AD21、AH27、AE21 および AH28 ピンは、図 14 のよ うに U2_RP_Count の AREA_GROUP範囲の長方形内に含まれる必要があ り ます。 また、 この長方形が I/O 列の右側を含めているこ

とに注意して ください。 この I/O 列の右側には I/O 配線リ ソースがあるので、 AREA_GROUP範囲に含めないと、配線でインプ リ メンテーシ ョ ン エラーになり ます。これは、リ コンフ ィギャ

ブル モジュールの配線リ ソースが、 すべて AREA_GROUP 範囲で定義されるよ うに、 リ コン

フ ィギャブル パーティシ ョ ン内に含まれる必要があるからです。

[Device] ビューでこれらのピンが AREA_GROUP 範囲内にあるかど うかを確認するには、

[Edit] → [Find] をク リ ッ ク し、 AD21 を名前に含むサイ ト を検索します。 UCF には既に LOC制約が含まれるので、 このピンが [Device] ビューでハイライ ト されます。 [View] → [FitSelection] をク リ ッ ク し (または F9 を押し )、ハイライ ト されたサイ ト を拡大します。同じ手順

で AH27、 AE21、 AH28 ピンも検索できます。

7. U1_RP_Bram に必要な RAMB36 が AREA_GROUP 範囲内にあるかど うかを確認します。

[Physical Constraints] ビューで pblock_U1_RP_Bram をク リ ッ ク し、 [Statistics] をク リ ッ ク

します (図 13)。 RAMBFIFO36E1 の使用可能な数が必要な数を超えているこ とがわかり ます。

X-Ref Target - Figure 14

図 14 : 最終的な AREA_GROUP 範囲

Page 23: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 23UG743 (v 13.1) 2011 年 3 月 1 日

手順 6 : リコンフ ィギャブル パーティシ ョ ンのフロアプラン

前の手順で作成した AREA_GROUP 範囲制約は PlanAhead で表示できます。

8. まず [File] → [Save Design] をク リ ッ ク してデザインを保存します。

9. Flow Navigator で [Project Manager] をク リ ッ ク します。

これによ り [Sources] ビューが起動され、デザイン ソースおよび制約がすべて表示されます。

10. [Constraints] の下で UCF ファ イルを探し、 ダブルク リ ッ ク してファ イルを開きます。

次のよ うなエ リ ア グループ制約が表示されるはずです。

INST "U1_RP_Bram" AREA_GROUP = "pblock_U1_RP_Bram";AREA_GROUP "pblock_U1_RP_Bram" RANGE=SLICE_X48Y60:SLICE_X55Y79;AREA_GROUP "pblock_U1_RP_Bram" RANGE=RAMB36_X3Y12:RAMB36_X3Y15;INST "U2_RP_Count" AREA_GROUP = "pblock_U2_RP_Count";AREA_GROUP "pblock_U2_RP_Count" RANGE=SLICE_X56Y20:SLICE_X67Y79;AREA_GROUP "pblock_U2_RP_Count" RANGE=IOB_X1Y20:IOB_X1Y79;

11. レイアウ ト メニューから [Design Analysis] を選択し、 PlanAhead をデフォルト ビューに戻し

ます。

X-Ref Target - Figure 15

図 15 : Pblock (pblock_U1_RP_Bram) の統計

Page 24: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

24 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 7 : パーティシ ョ ン ピンと リコンフ ィギャブル パーティシ ョ ンのインターフェイス タイ ミング

手順 7 : パーティシ ョ ン ピンと リコンフ ィギャブル パーティシ ョ ンのインターフェイス タイ ミング

パーティシ ョ ン ピンは、 グローバル ロジッ クでも専用配線でもないすべてのリ コンフ ィギャブル

パーティシ ョ ンのインターフェイス信号のパーシャル リ コンフ ィギュレーシ ョ ン フローで必要で

す。 パーティシ ョ ンはリ コンフ ィギャブル パーティシ ョ ンへ既知の配線を提供し、 インプリ メン

テーシ ョ ンが実行される と NGDBuild で自動的に挿入されます。これらは以前のバージ ョ ンのパー

シャル リ コンフ ィギュレーシ ョ ン フローのバス マクロに代わるテク ノ ロジです

現在、 パーティシ ョ ン ピンのインプ リ メンテーシ ョ ンには、 プロキシ ロジッ クの LUT1 が必要で

す。 LUT1 は、 リ コンフ ィギャブル パーティシ ョ ンの入力および出力パスに挿入されます。 リ コン

フ ィギャブル パーティシ ョ ンの両側の境界でこれらの入力および出力にレジスタを付けるこ とを

お勧めします。これによ り、 リ コンフ ィギャブル パーティシ ョ ン インターフェイスに関連するタイ

ミ ング ク ロージャ問題を 小限に抑えるこ とができます。 これらのガイ ド ラインに従っている場

合、 このインターフェイスに制約を付けるには単純な PERIOD 制約で十分なこ とがほとんどです。

ただし、 タイ ミ ング要件の厳しい場合、 パーティシ ョ ン ピンに TPSYNC 制約を作成するか、 スタ

ティ ッ ク ロジッ クに LOC 制約を追加して、スタティ ッ ク ロジッ ク とパーティシ ョ ン ピン間の配線

遅延を 小限に抑える必要があ り ます。パーティシ ョ ン ピンへの TPSYNC 制約の追加については、

付録 A 「その他のリ ソース」 に示す 『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』

(UG702) を参照して ください。

コンフ ィギュレーシ ョ ンすべてで同じスタティ ッ ク ロジッ クのインプリ メンテーシ ョ ンが使用さ

れるので、まず もタイ ミ ング ク リ ティカルな リ コンフ ィギャブル モジュールのタイ ミ ングを満た

すこ とが重要です。 このチュート リ アルの RP インターフェイスは、 さまざまな RM 間で非常に類

似しているので、グローバル PERIOD 制約で十分に RP インターフェイスのタイ ミ ングを満たすこ

とができます。

PERIOD 制約をデザインに追加

1. [Netlist Design] ビューで [Timing Constraints] タブをク リ ッ ク します。

2. このタブで右ク リ ッ ク して [New Timing Constraint] を選択するか、 上部の [New TimingConstraint] ボタン をク リ ッ ク します。

3. [Basic group (TNM)] グループ カテゴ リ をク リ ッ ク し、 次の値を設定します。

• [Group name] :clk_p

• [Group type] :Net

• [TNM type] :TNM_NET

• [Predefined group] :空白

• [Net] :clk_p

4. [OK] をク リ ッ ク し、 制約を追加します。

5. も う 1 度 [New Timing Constraint] を実行します。 [Timespec period] グループ カテゴ リ をク

リ ッ ク し、 次の値を設定します。

• [TimeSpec name] :TS_clk_p

• [Period] :5 ns

• 参照ボタンをク リ ッ ク し [Group constraints type] で User defined を、 [User definedgroups] で clk_p を設定

Page 25: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 25UG743 (v 13.1) 2011 年 3 月 1 日

手順 7 : パーティシ ョ ン ピンと リコンフ ィギャブル パーティシ ョ ンのインターフェイス タイ ミング

6. [OK] をク リ ッ ク し、制約を追加します。 [Timing Constraint] ビューは図 16 のよ うになってい

るはずです。これが clk_p に接続される同期パスすべてを制約するグローバル タイ ミ ング制約

です。 これはリ コンフ ィギャブル パーティシ ョ ン用のタイ ミ ング制約ではあ り ません。

7. [File] → [Save Design] をク リ ッ ク してデザインを保存し、Project Manager に戻って UCF を確

認します。 UCF 制約ファイルには次の制約が含まれるはずです。

TIMESPEC TS_clk_p = PERIOD "clk_p" 5 ns;NET "clk_p" TNM_NET = "clk_p";

X-Ref Target - Figure 16

図 16 : [Timing Constraints] ビュー (pblock_U1_RP_Bram)

Page 26: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

26 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 8 : パーシャル リコンフ ィギュレーシ ョ ンのデザイン ルール チェ ックの実行

手順 8 : パーシャル リコンフ ィギュレーシ ョ ンのデザイン ルール チェ ックの実行

有効なデザインをインプリ メン トするには、パーシャル リ コンフ ィギュレーシ ョ ン特有のデザイン

ルールに従う必要があ り ます。これらのルールの中には、PlanAhead DRC の機能に既に含まれてい

るものもあ り、 [Partial Reconfig] および [Partition] の項目の下に含まれています。 これらのチェッ

クは、 コンフ ィギュレーシ ョ ンをインプリ メン ト して BIT ファ イルを生成する前に、 PR デザイン

で実行する必要があ り ます。

通常のデザインでは、すべての PlanAhead DRC を実行するこ とをお勧めします。このチュート リ ア

ルでは、 パーシャル リ コンフ ィギュレーシ ョ ンとパーティシ ョ ンの DRC のみを実行します。

パーシャル リコンフ ィギュレーシ ョ ンとパーティシ ョ ンの DRC を実行

1. Flow Navigator で [Netlist Design] の下の [Run DRC] をク リ ッ ク します。

2. [Run DRC] ダイアログ ボッ クスで [Partition] と [Partial Reconfig] ルールをオンにし、[OK] をク リ ッ ク します。

X-Ref Target - Figure 17

図 17 : [Run DRC] ボタン

Page 27: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 27UG743 (v 13.1) 2011 年 3 月 1 日

手順 8 : パーシャル リ コンフ ィギュレーシ ョ ンのデザイン ルール チェ ックの実行

3. [DRC Results] ビュー [Details] 列でメ ッセージを確認します。 [Severity] 列に注目してくださ

い。 Advisory (アドバイザリ )、 Warning (警告)、 Error (エラー )、 Fatal (致命エラー ) のいずれ

かが表示されます。 この場合、 一番危険度の高いのは Warning です (図 19)。

X-Ref Target - Figure 18

図 18 : [Partition] と [Partial Reconfig] の DRC の指定

X-Ref Target - Figure 19

図 19 : [DRC Results] ビュー

Page 28: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

28 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 9 : コンフ ィギュレーシ ョ ンのインプリ メン ト とプロモート

手順 9 : コンフ ィギュレーシ ョ ンのインプリ メン ト とプロモート

各リ コンフ ィギャブル パーティシ ョ ンにはそれに関連する リ コンフ ィギャブル モジュールが複数

含まれますが、 リ コンフ ィギャブル パーティシ ョ ンには 1 度に 1 つの リ コンフ ィギャブル モジュールしかインプリ メン トできません。

アクティブな リ コンフ ィギャブル モジュールとスタティ ッ ク ロジッ クを合わせたものは、 「コン

フ ィギュレーシ ョ ン」 と呼ばれ、これだけで完全なデザインです。1 つのパーシャル リ コンフ ィギュ

レーシ ョ ン プロジェク トに対して複数のコンフ ィギュレーシ ョ ンがあるので、 さまざまな リ コン

フ ィギャブル モジュールをインプリ メン トでき、フルおよびパーシャル BIT ファ イルが生成できま

す。各コンフ ィギュレーシ ョ ンのインプリ メンテーシ ョ ンは独立して実行され、NGD、NGM、NCD、

PCF およびレポート ファ イルといった形式で出力されます。特定コンフ ィギュレーシ ョ ンの NCDを FPGA Editor で開いたり、ゲート レベルのシ ミ ュレーシ ョ ンを実行したり、各コンフ ィギュレー

シ ョ ンにはそれぞれザイ リ ンクスのソフ ト ウェア ツールおよびデバッグ機能を使用できます。

このチュート リ アルのデザインは、次の RM セッ ト とその結果の BIT ファ イルを使用した 2 つのコ

ンフ ィギュレーシ ョ ンのみで完全にインプリ メン トできます。

Configuration-------------config_1 RMs:BramFirst, CountCW Bits: config_1.bit (full bit file) config_1_U1_RP_Bram_BramFirst_partial.bit config_1_U2_RP_Count_CountCW_partial.bit

config_2 RMs:BramSecond, CountCCW Bits: config_2.bit (full bit file) config_2_U1_RP_Bram_BramSecond_partial.bit config_2_U2_RP_Count_CountCCW_partial.bit

ま とめ :

• フル BIT ファ イルの config_1.bit には BramFirst および CountCW リ コンフ ィギャブル

モジュールが含まれます。

• config_2.bit には BramSecond と CountCCW リ コンフ ィギャブル モジュールが含まれま

す。

その他 2 つのコンフ ィギュレーシ ョ ン セッ トでも独自のフル BIT ファ イルの生成が可能ですが、こ

れらは前にインプリ メン ト されたモジュールを再利用するので、パーシャル BIT ファ イルは上記の

コンフ ィギュレーシ ョ ンで生成されたパーシャル BIT ファ イルとまった く同じにな り ます。

Configuration ------------- config_3 RMs:BramFirst, CountCCW Bits: config_3.bit (full bit file) config_3_U1_RP_Bram_BramFirst_partial.bit config_3_U2_RP_Count _CountCCW_partial.bit

config_4 RMs:BramSecond, CountCW Bits: config_4.bit (full bit file) config_4_U1_RP_Bram_BramSecond_partial.bit config_4_U2_RP_Count_CountCW_partial.bit

PlanAhead ソフ ト ウェアでのコンフ ィギュレーシ ョ ンのインプリ メンテーシ ョ ンは、 「run」 といい

ます。 run はコンフ ィギュレーシ ョ ンごとに作成する必要があ り ます。

PlanAhead では、 プロジェク ト を作成する と コンフ ィギュレーシ ョ ンが自動的に作成されますこの

コンフ ィギュレーシ ョ ン用に設定される RM は、プロジェク トに RM が追加された順序によって異

Page 29: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 29UG743 (v 13.1) 2011 年 3 月 1 日

手順 9 : コンフ ィギュレーシ ョ ンのインプリ メン ト とプロモート

なり ます。これは、各 RP に定義された 初の RM がこのコンフ ィギュレーシ ョ ン (チュート リ アル

では BramFirst と CountCW) 用に設定されるからです。

フル BIT ファ イルでコンフ ィギュレーシ ョ ンされた FPGA には、コンフ ィギュレーシ ョ ンにインプ

リ メン ト された RM が含まれます。 フル BIT ファ イルを読み込んだ後にスタティ ッ ク ロジッ クの

みが動作する必要のあるシステムの場合、 すべての RP に対してブラ ッ ク ボッ クスを含めたコン

フ ィギュレーシ ョ ンをインプリ メン ト します。 この場合、出力されるパーシャル BIT ファ イルは効

率的なよ うに空白になり ます。

config_1 コンフ ィギュレーシ ョ ンをインプリ メン ト

1. config_1 に設定される RM ramFirst と CountCW であるこ とを確認します。

a. [Design Runs] ビュー ([Window] → [Design Runs]) で config_1 を選択し、

b. [Implementation Run Properties] ビューで [Partitions] タブをク リ ッ ク します (図 20)。

c. リ ス ト される [Module Variants] が BramFirst と CountCW でない場合は、 変更してくだ

さい。

2. Flow Navigator で [Implement] をク リ ッ ク し、 インプリ メンテーシ ョ ンを実行します。

[Design Runs] ビューの [Status] フ ィールドに NGDBuild、 MAP、 PAR、 TRCE の何が実行さ

れているかが表示されます。進捗状況は PlanAhead 右上のステータス バーにも表示されます。

[Compilation Log] ビューにはさらに詳細が表示されます。

3. config_1 コンフ ィギュレーシ ョ ンをプロモート します。

X-Ref Target - Figure 20

図 20 : コンフ ィギュレーシ ョ ン モジュール (config_1)

Page 30: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

30 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 9 : コンフ ィギュレーシ ョ ンのインプリ メン ト とプロモート

config_1 は問題なく インプリ メン トできたので、 次はプロモートできます。 初のコンフ ィ

ギュレーシ ョ ンをプロモート しな くてもほかのコンフ ィギュレーシ ョ ンは実行できますが、 コ

ンフ ィギュレーシ ョ ン間のパーシャル BIT ファ イル同士が競合してしまいます。プロモートす

るコンフ ィギュレーシ ョ ンは 1 つだけです。複数のコンフ ィギュレーシ ョ ン間で互換性のある

パーシャル BIT ファ イルを出力するには、このプロモート したコンフ ィギュレーシ ョ ンからス

タティ ッ ク ロジッ クをインポートするよ うにほかのすべてのコンフ ィギュレーシ ョ ンで設定

する必要があ り ます。 これによ り、すべてのコンフ ィギュレーシ ョ ン間で一貫したプロキシ ロジッ クにな り ます。

複数コンフ ィギュレーシ ョ ン間の互換性は、「手順 11 : コンフ ィギュレーシ ョ ンの検証」 の方法

に従って、 パーシャル リ コンフ ィギュレーシ ョ ン検証を使用する とチェッ クできます。

4. Flow Navigator で [Promote Partitions] ボタンをク リ ッ ク します (図 21)。

5. [Promote Partitions] ダイアログ ボッ クスで [OK] をク リ ッ ク します。

6. [Configurations] タブをク リ ッ ク し (開いてない場合は [Window] → [Configurations] をク リ ッ

ク )、 ステータスが [Promoted] に変更されているこ とを確認して ください (図 22)。

X-Ref Target - Figure 21

図 21 : [Promote Partitions] ボタン

Page 31: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 31UG743 (v 13.1) 2011 年 3 月 1 日

手順 9 : コンフ ィギュレーシ ョ ンのインプリ メン ト とプロモート

X-Ref Target - Figure 22

図 22 : [Promoted] ステータス

Page 32: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

32 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 10 : 追加コンフ ィギュレーシ ョ ンの作成とインプリ メン ト

手順 10 : 追加コンフ ィギュレーシ ョ ンの作成とインプリ メン ト

新しいコンフ ィギュレーシ ョ ンの作成

1. Flow Navigator の [Implement] ド ロ ップダウン リ ス トから [Create New ImplementationRuns] をク リ ッ ク します (図 23)。

Create Multiple Runs ウ ィザードで新しいコンフ ィギュレーシ ョ ンを作成します。

2. 初のページで [Next] をク リ ッ ク します。

3. [Setup Implementation Run] ページで [Next] をク リ ッ ク します。

[Choose Implementation Strategies and Reconfigurable Modules] ページでは、 インプリ メン

テーシ ョ ン ス ト ラテジを選択し、コンフ ィギュレーシ ョ ンにどのリ コンフ ィギャブル モジュー

ル (RM) を使用するか定義して、複数コンフ ィギュレーシ ョ ンを作成できます。既に config_2という新しいコンフ ィギュレーシ ョ ンが表示されています。

4. 名前を付け替えるこ と もできますが、このチュート リ アルでは config_2 をそのまま使用しま

す。

5. [Parition Action] 列の ボタンをク リ ッ ク し、[Specify Partition] ダイアログ ボッ クスを開き

ます (図 24)。

X-Ref Target - Figure 23

図 23 : 新規インプリ メンテーシ ョ ン run の作成

Page 33: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 33UG743 (v 13.1) 2011 年 3 月 1 日

手順 10 : 追加コンフ ィギュレーシ ョ ンの作成とインプリ メン ト

デフォルトの [Module Variant] は、プロジェク トで現在アクティブになっている RM によって

異なり ます。 この場合、 BramFirst と CountCW がアクティブです。 これらは既にインプ リ メ

ン ト されインポート されているので、 [Import] に設定され、 インポート ディ レク ト リ も設定さ

れています。

6. BramSecond および CountCCW RM をインプリ メン トするコンフ ィギュレーシ ョ ンを作成す

るため、 [Module Variant] 列をこれらの RM と同じよ うに変更します (図 25)。

これらのリ コンフ ィギャブル モジュールはまだインプリ メン ト (またはプロモート ) されてい

ないので、 [Action] フ ィールドは [Implement] に変更します。

X-Ref Target - Figure 24

図 24 : インプリ メンテーシ ョ ン run の作成

Page 34: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

34 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 10 : 追加コンフ ィギュレーシ ョ ンの作成とインプリ メン ト

7. [Promote Partitions] ダイアログ ボッ クスで [OK] をク リ ッ ク します。

8. オプシ ョ ン : ブラ ッ ク ボッ クス モジュールを作成するオプシ ョ ンの手順を実行した場合、それ

らのモジュールをインプリ メン トするコンフ ィギュレーシ ョ ンを追加で作成します。

a. [Choose Implementation Strategies and Reconfigurable Modules] ページで [More] ボタン

をク リ ッ ク し、 config_3 を追加します。

X-Ref Target - Figure 25

図 25 : [Specify Partition] ダイアログ ボックス (BramSecond/CountCCW)

Page 35: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 35UG743 (v 13.1) 2011 年 3 月 1 日

手順 10 : 追加コンフ ィギュレーシ ョ ンの作成とインプリ メン ト

b. [Partition Action] 列の参照ボタンをク リ ッ ク し、 [Module Variants] を BramBB と

CountBB に設定します。

9. [Choose Implementation Strategies and Reconfigurable Modules] ページで [Next] をク リ ッ ク

します。

10. [Launch Options] ページで [Do not launch now] をオンにし、 [Next] をク リ ッ ク します。

コンフ ィギュレーシ ョ ンはこ こから起動するこ と もできますが、 こ こでは新しいコンフ ィギュ

レーシ ョ ンを次に続く手順で作成していきます。

11. [Create New Runs Summary] ページで [Finish] をク リ ッ ク しウ ィザードを終了します。

[Design Runs] ビューにウ ィザードで作成した新しいコンフ ィギュレーシ ョ ンが表示されま

す。

12. [Design Runs] ビューで新しいコンフ ィギュレーシ ョ ンを選択し、

13. [Implementation Run Properties] ビューの [Partitions] タブをク リ ッ ク し (図 27)、 [ModuleVariants] および [Action] 列を確認します。

X-Ref Target - Figure 26

図 26 : [Specify Partition] ダイアログ ボックス (BramBB/CountBB)

Page 36: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

36 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 10 : 追加コンフ ィギュレーシ ョ ンの作成とインプリ メン ト

[Static Logic] が [Import] に設定されているので、config_1 からのプロモート された結果がイ

ンポート されます。

14. コンフ ィギュレーシ ョ ンを右ク リ ッ ク し、 [Launch Runs] を選択します。

新しいコンフ ィギュレーシ ョ ンが複数ある場合、 config_1 の場合とは違って結果が互いに依

存しないので、それらを一緒に (使用可能な場合は複数プロセッサで) 起動するこ と もできます

(図 28)。

15. [Launch Selected Runs] ダイアログ ボッ クスで [Launch runs on Local Host] をオンにし、適切

なジ ョブ数 (使用するプロセッサ数) を選択し、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 27

図 27 : コンフ ィギュレーシ ョ ン設定の確認

Page 37: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 37UG743 (v 13.1) 2011 年 3 月 1 日

手順 10 : 追加コンフ ィギュレーシ ョ ンの作成とインプリ メン ト

X-Ref Target - Figure 28

図 28 : run の実行

Page 38: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

38 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 11 : コンフ ィギュレーシ ョ ンの検証

手順 11 : コンフ ィギュレーシ ョ ンの検証 複数のコンフ ィギュレーシ ョ ンがインプリ メン ト されたら、 それらを比較して、 スタティ ッ ク ロ

ジッ クおよびパーティシ ョ ン ピンがすべてのコンフ ィギュレーシ ョ ンで一貫しているかど うかを

検証して ください。 これは、 BIT ファ イルに互換性があるかど うかを確認するために必要なチェッ

クです。

すべてのコンフ ィギュレーシ ョ ンで検証を実行

1. Flow Navigator の [Program and Debug] ド ロ ップダウン リ ス トから [Verify Configuration] をク リ ッ ク します (図 29)。

2. 相互に検証するため、 2 つ以上のコンフ ィギュレーシ ョ ンを選択し、 [OK] をク リ ッ ク します。

検証チェッ クがパスしたら、エラーがなかったこ とを示すメ ッセージが表示されます。これは、

BIT ファ イルを生成できるよ うになったこ とを意味します。

3. [OK] をク リ ッ ク してメ ッセージ ボッ クスを閉じます。

詳細なレポートが PlanAhead で開き、 <Extract_Dir>/PlanAhead/project_1/

project_1.runs/pr_verify.log に保存されます。

X-Ref Target - Figure 29

図 29 : コンフ ィギュレーシ ョ ンの検証

Page 39: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 39UG743 (v 13.1) 2011 年 3 月 1 日

手順 12 : ビッ ト ファイルの生成とダウンロード

手順 12 : ビッ ト ファイルの生成とダウンロード

コンフ ィギュレーシ ョ ンごとに複数の BIT ファ イルが生成されます。

• 生成されるのは、 電源投入時に FPGA をプログラムするのに使用可能なフル BIT ファ イルが

1 つ、

• 特定コンフ ィギュレーシ ョ ンに関連したさまざまなモジュールのロジッ クを含む RP それぞれ

に対してパーシャル BIT ファ イルが1 つずつです。どのパーシャル BIT ファ イルでも関連する

PR 領域を リ コンフ ィギュレーシ ョ ンするために使用できます。

このチュート リ アルでは、BramFirst、CountCW、BramSecond、CountCCW (オプシ ョ ンで BramBBおよび CountBB) を使用してコンフ ィギュレーシ ョ ンを作成しました。各コンフ ィギュレーシ ョ ン

の BIT ファ イルを生成するこ とで、 これらすべての RM のパーシャル BIT ファ イルが生成されま

した。 これらのパーシャル BIT ファ イルはいずれも、デバイスを 初にコンフ ィギュレーシ ョ ンす

るためのフル BIT ファ イルに関係なく、関連する PR 領域を リ コンフ ィギュレーシ ョ ンするために

使用できます。

すべてのコンフ ィギュレーシ ョ ンの BIT ファイルを生成

1. [Design Runs] ビューですべてのコンフ ィギュレーシ ョ ンを選択します。 右ク リ ッ ク し、

[Generate Bitstream] をク リ ッ ク します (図 30)。

2. パーシャル BIT ファ イルを生成するために特に設定する必要のある BitGen オプシ ョ ンはあ り

ませんので、 ダイアログ ボッ クスで [OK] をク リ ッ ク し、 BitGen を起動します。

パーシャル BIT ファ イルはフル BIT ファ イルと同じよ うに FPGA にダウンロード されます。

BIT ファ イルのダウンロード、検証、デバッグには、 iMPACT ソフ ト ウェア ツールを使用でき

ます。

3. USB ダウンロード ケーブルを ML605 と PC に接続します。

X-Ref Target - Figure 30

図 30 : BitGen の実行

Page 40: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

40 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

手順 12 : ビッ ト ファイルの生成とダウンロード

4. iMPACT をスタンドアロン モードで起動するには、Flow Navigator の [Program and Debug] ドロ ップダウン リ ス トから [iMPACT] をク リ ッ ク します (図 31)。

5. iMPACT のウ ィンド ウで [Boundary Scan] をダブルク リ ッ ク し、 [Initialize Chain] ボタン をク リ ッ ク します。

6. チェーンが問題なく認識されたら、 xc6vlx240t デバイスを右ク リ ッ ク して [Assign NewConfiguration File] をク リ ッ ク し、 次のフル BIT ファ イルを指定します。

<Extract_Dir>/PlanAhead/<project_name>/<project_name>.runs/config_1/config_1.bit

7. xc6vlx240t を再び右ク リ ッ ク し、 [Program] をク リ ッ ク します (図 32)。

ML605 の FPGA がフル BIT ファ イルを使用してプログラムされます。コンフ ィギュレーシ ョ ンに

は数秒かかり ます。

X-Ref Target - Figure 31

図 31 : iMPACT の起動

X-Ref Target - Figure 32

図 32 : iMPACT を使用したデバイスのコンフ ィギュレーシ ョ ン

Page 41: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 41UG743 (v 13.1) 2011 年 3 月 1 日

まとめ

パーシャル BIT ファイルの関連付け

1. xc6vlx240t デバイスを右ク リ ッ ク して [Assign New Configuration File] をク リ ッ ク し、 次の

パーシャル BIT ファ イルを指定します。

<Extract_Dir>/PlanAhead/<project_name>/<project_name>.runs/config_2/config_2_U1_RP_Bram_BramSecond_partial.bit.

2. xc6vlx240t を右ク リ ッ ク し、 [Program] をク リ ッ ク します。

パーシャル BIT ファ イルは非常に小さいので、FPGA のパーシャル リ コンフ ィギュレーシ ョ ンはす

ぐに終了します。

まとめ

このチュート リ アルでは、PlanAhead のパーシャル リ コンフ ィギュレーシ ョ ン プロジェク ト を作成

しました。この後、リ コンフ ィギャブル パーティシ ョ ンを 2 つ作成し、それぞれに複数のリ コンフ ィ

ギャブル モジュールを関連付けました。 AREA_GROUP 制約を使用して各リ コンフ ィギャブル

パーティシ ョ ンをデバイスのエリ アに制約付け、グローバル タイ ミ ング制約を作成してデザイン全

体に制約を付けました。 初のコンフ ィギュレーシ ョ ンをインプリ メン ト してプロモート し、 その

コンフ ィギュレーシ ョ ンからスタティ ッ ク ロジッ クをインポート してその他のコンフ ィギュレー

シ ョ ンを追加しました。 すべてのコンフ ィギュレーシ ョ ンに競合がないかど うか検証し、 BIT ファ

イルを生成しました。 後に BramFirst および CountCW モジュールを含む ML605 ボードにフル

BIT ファ イルをダウンロード し、 BramSecond モジュールのパーシャル BIT ファ イルを使用して

U1_RP_Bram RP を リ コンフ ィギュレーシ ョ ンしました。

Page 42: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

42 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

まとめ

Page 43: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン フローの概要 japan.xilinx.com 43UG743 (v 13.1) 2011 年 3 月 1 日

付録 A

その他のリソース

ザイリンクス リソース • 『ISE Design Suite : インス トールおよびラインセス ガイ ド』 (UG798) :

http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_1/iil.pdf

• 『ISE Design Suite 13 : リ リース ノート ガイ ド』 (UG631) : http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_1/irn.pdf

• ザイ リ ンクス資料 :http://japan.xilinx.com/support/documentation.htm

• ザイ リ ンクス用語集 :http://japan.xilinx.com/support/documentation/sw_manuals/glossary.pdf

• ザイ リ ンクス サポート :http://japan.xilinx.com/support

• ビデオ デモ :http://japan.xilinx.com/products/design_resources/design_tool/resources/index.htm

パーシャル リコンフ ィギュレーシ ョ ン資料

• 『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG702) : http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_1/ug702.pdf

• チュート リ アル :

• 『プロセッサ ペリ フェラルのパーシャル リ コンフ ィギュレーシ ョ ン』 (UG744) :http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_1/PlanAhead_Tutorial_Reconfigurable_Peripheral.pdf

PlanAhead 資料

• 『PlanAhead ユーザー ガイ ド』 (UG632) :http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_1/PlanAhead_UserGuide.pdf

• PlanAhead 手法ガイ ド :http://japan.xilinx.com/support/documentation/dt_planahead_planahead13-1_userguides.htm

• PlanAhead チュート リ アル :http://japan.xilinx.com/support/documentation/dt_planahead_planahead13-1_tutorials.htm

Page 44: PlanAhead ソフトウェア チュートリアルjapan.xilinx.com/support/documentation/sw_manuals_j/xilinx13_1/Pla… · ション ユーザー ガイド』 (UG702) を参照してください。

44 japan.xilinx.com パーシャル リコンフ ィギュレーシ ョ ン フローの概要

UG743 (v 13.1) 2011 年 3 月 1 日

付録 A : その他のリソース