• 検索結果がありません。

ブロック・ベース・デザイン・フロー

ドキュメント内 Intoroduction to Quartus IIマニュアル Ver. 4.2 (ページ 113-132)

フロー

従来のトップ・ダウン・デザイン・フローでは、デザインに対してネットリストは 1つだけです。トップダウン・デザイン・フローでは、デザインを実装するときに、

デザインの個々のモジュールはデザイン全体の異なるパフォーマンスを持つことが 可能です。ボトムアップ・ブロック・ベース・デザイン・フローでは、各モジュー ルに対して別々のネットリストが存在します。これにより設計者は、各モジュール を個別に最適化し、トップレベル・デザインに組み込むブロック・ベース・デザイ ンを作成できます。ブロック・ベース・デザインは、次のデザイン・フローで使用 できます。

モジュール・デザイン・フロー: このフローでは、トップレベル・デザインで デザインを分割し、個別のサブモジュールでインスタンスします。各モジュー ルは個々に開発可能で、各モジュールをトップレベル・デザインに組み込むこ とができます。配置は、手動またはQuartus II開発ソフトウェアにより決定さ れます。

第 6 章: ブロック・ベース・デザイン

Quartus IIブロック・ベース・デザイン・フロー

インクリメンタル・デザイン・フロー:このフローでは、システムを作成し、

最適化した後、オリジナルのシステムのパフォーマンスにほぼ影響しない将来 的なモジュールを追加します。

チームベース・デザイン・フロー: このフローでは、デザインを個々のモジュー ルに分割し、モジュールをインスタンスしてトップレベル・デザインに接続し ます。他のチーム・メンバは、それより低いレベルのモジュールについて、各 モジュールに別のプロジェクトを作成したり、トップレベル・デザイン用のア サインメントを使用します。低いレベルのモジュールが完成したら、これをトッ プレベル・デザインにインポートし、最終コンパイルおよび検証を行います。

3つのデザイン・フローのすべてにおいて、回路の物理構造に関して体系づけるか、

またはクリティカル・パスによってデザインを機能ブロックに分割することで、す べての開発レベルでのパフォーマンスを維持することができます。図 1に、基本的 なブロック・ベース・デザイン・フローを示します。

図 1. ブロック・ベース・デザイン・フロー

䎴䏘䏄䏕䏗䏘䏖䎃䎬䎬 䭺䮺䮘䭫䮰䯂䮎䯃䮆䮠䯃䮀

䏔䏘䏄䏕䏗䏘䏖䏂䏆䏇䏅 䮩䭿䮬䯃䮲䎃䎤

䮩䭿䮬䯃䮲䎃䎥

䮩䭿䮬䯃䮲䎃䎦

䮩䭿䮬䯃䮲䎃䎤䎃

䎹䎴䎰䮜䭨䭫䮲䎃䎋䎑䏙䏔䏐䎌䎃䬙䭗䭂 䎴䏘䏄䏕䏗䏘䏖䎃䎬䎬䎃⸳ቯ䮜䭨䭫䮲䎃䎋䎑䏔䏖䏉䎌

䮩䭿䮬䯃䮲䎃䎦

䮩䭿䮬䯃䮲䎃䎥

䮩䭿䮬䯃䮲䎃䎤 䮏䮊䮞䮳䮠䮲䯂䮎䭽䭫䮺

୘䫽䬽䮩䭿䮬䯃䮲䬽 䮎䭽䭫䮺䫺ᬌ⸽䬬䬦䬵䮴䮊䭶

୘䫽䬽䮩䭿䮬䯃䮲䭡 䮏䮊䮞䮳䮠䮲䯂䮎䭽䭫䮺䭇⛔ว 䮩䭿䮬䯃䮲䎃䎥䎃

䎹䎴䎰䬙䭗䭂䎴䎶䎩䮜䭨䭫䮲

䎰䏒䏇䏘䏏䏈䎃䎦 䎹䎴䎰䬙䭗䭂䎴䎶䎩䮜䭨䭫䮲

第 6 章: ブロック・ベース・デザイン LogicLock領域

LogicLock 領域

LogicLock領域は、デバイス上でのサイズ (高さと幅) およびロケーションで定義さ れます。領域のサイズおよびロケーションをマニュアルで指定するか、または Quartus II開発ソフトウェアで自動的に作成することができます。表 1に、Quartus II 開発ソフトウェアで指定可能なQuartus II LogicLock領域の主なプロパティを示し ます。

LogicLockデザイン・フローを使用して、親領域および子領域を宣言することで、領 域のグループの階層構造を定義できます。Quartus II開発ソフトウェアは、子領域 を親領域の境界内に完全に配置します。親領域をデバイス上のロックされた場所に 制約することなく、親領域に関連する子モジュールをロックできます。

Timing Closure Floorplan、 LogicLock Regions Window コマンド (Assignmentsメ ニュー)、Project NavigatorのHierarchyタブ、またはTclスクリプトを使用して、

LogicLock領域を作成および変更できます。すべてのLogicLockアトリビュートおよ 表 1. LogicLock領域のプロパティ

プロパティ 動作

状態 (State) フローティング (Floating) または ロック (Locked)

フローティング領域では、Quartus II開発ソフトウェアはデバイス 上の領域のロケーションを決定します。ロック領域は、ユーザ定 義のロケーションが使用されます。フロアプランでは、ロック領 域は実線で、フローティング領域は破線で表示されます。ロック 領域のサイズは固定する必要があります。

サイズ (Size) 自動 (Auto) または 固定 (Fixed)

自動サイズ領域では、Quartus II開発ソフトウェアは、コンテンツ が指定された領域の適切なサイズを決定します。固定領域は、ユー ザ定義の形状およびサイズが使用されます。

リザーブ (Reserved)

オンまたはオフ リザーブ・プロパティにより、エンティティに対する領域内のリ ソースで当該領域に割り当てられていないものを、Quartus II開発 ソフトウェアが使用できるかどうかを定義できます。リザーブ・プ ロパティがオンになっている場合、領域に割り当てられた項目だ けが境界内に配置可能です。

施行 (Enforcement)

ハードまたは ソフト

ソフト領域では、タイミング要求を重視し、デザイン全体の性能 が向上するようであれば、一部のエンティティを領域外に置くこ とができます。ハード領域では、Quartus II開発ソフトウェアは、

領域の境界外にコンテンツを配置することはできません。

原点 (Origin) 任意のフロアプラ ンのロケーション

原点は、フロアプランにおける LogicLock 領域の配置を定義しま す。

第 6 章: ブロック・ベース・デザイン LogicLock領域

Timing Closure Floorplanを使用して、LogicLock領域アサインメントを作成および 編集できます。Create New Regionボタンを使用して、Timing Closure Floorplan上 でフロアプラン・ビュー、NodeFinder、またはProject NavigatorのHierarchyタブ からノードをドラッグ・アンド・ドロップすることで、LogicLock領域を描画する ことができます。

LogicLock領域を作成した後は、LogicLock Regionsウィンドウを使用して、サイズ、

状態、幅、高さ、および原点を含むデザインのすべてのLogicLock領域を表示でき ます。また、新しいLogicLock領域も編集および追加できます。図 2を参照してく ださい。

図 2. LogicLock Regionsウィンドウ

また、LogicLock Regions Propertiesダイアログを使用して既存のLogicLock領域を 編集したり、Back-Annotate Assignmentsダイアログを使用してLogicLock領域にあ るすべてのノードをバック・アノテーションしたり、デザインのLogicLock領域につ いての情報を表示したり、また不正なアサインメントを含む領域を特定できます。

さらに、LogicLock 領域に、ソース・ノードおよびディスティネーション・ノード をベースにしたパスベース・アサインメント、ワイルドカード代入、および両アサ インメントのフィッタ・プロパティを追加できます。優先順位の設定により、

Quartus II 開発ソフトウェアがパスベースおよびワイルドカード・アサインメント

の重複を解決する順序を指定できます。LogicLock Region Propertiesダイアログか らPriorityダイアログを開くことができます。図 3を参照してください。

第 6 章: ブロック・ベース・デザイン LogicLock領域

図 3. LogicLock Region Propertiesダイアログ

Analysis & Elaborationまたはフル・コンパイルを実行した後は、Quartus II開発ソ フトウェアで、Project NavigatorのHierarchyタブにデザインの階層構造が表示され

ます。 この表示にある任意のデザイン・エンティティをクリックし、そこから新規

LogicLock 領域を作成するか、Timing Closure Floorplan でエンティティを既存の LogicLock領域にドラッグします。

また、コマンド・ラインまたはQuartus II Tcl Consoleウィンドウで、LogigLock領 域コンテンツを割り当てるLogicLock Tclコマンドを用意しています。このTclコマ ンドを使用して、フローティングおよび自動サイズ LogicLock 領域を作成したり、

ノードまたは階層構造を領域に追加したり、階層構造境界を保持したり、配置結果 をバック・アノテーションしたり、領域をインポートおよびエクスポートしたり、

また中間合成結果を保存できます。

第 6 章: ブロック・ベース・デザイン 中間合成結果の保存

中間合成結果の保存

エンティティのLogicLock制約情報を含む、対応するQSFを使用して、デザインにあ るエンティティの VQM ファイル (.vqm) を作成することで、ブロック・ベース

LogicLock デザイン・フローと関連する個々のエンティティの合成結果を保存でき

ます。

カスタム・ロジックのブロックをデザインするか、検証済みのIPのブロックをイン スタンスします。そして、そのブロックにアサインメントを行い、機能およびパ フォーマンスを検証します。その後、ブロックをロックして配置およびパフォーマ ンスを固定し、さらに他のデザインにインポートできるようにブロックをエクス ポートします。この方法では、ブロックは個別にデザイン、テスト、最適化され、

より大きいデザインに統合されるときに、そのパフォーマンスを保持します。

さらに、中間合成結果をVQMファイルに保存し、アサインメントをインポートする プロジェクトのVQMファイルでエンティティを置き換えることで、新規プロジェク トで合成されたノード名がインポートされたアサインメントのノード名と対応して いることを確認します。

VQM ファイルとしての中間合成結果の保存、アサインメントのバック・アノテー

ション、LogicLock領域を含むデザインのQSFのエクスポートおよびインポートの基

本的な流れは次の通りです。

1. LogicLock領域を作成します。

2. デザインをコンパイルします。

3. Back-Annotate Assignments (拡張タイプ) ダイアログを使用して、LogicLock 領域 (複数可) のロジック配置をロックします。

関連情報 参照先

Quartus II開発ソフトウェアにおけるLogicLock の使い方

アルテラWebサイトのQuartus II Handbook、Volume 2のChapter 10「LogicLock Design Methodology」

Quartus II ヘ ル プ の「Overview: Using LogicLock Regions」

Quartus IIチュートリアルの「LogicLock module」

ドキュメント内 Intoroduction to Quartus IIマニュアル Ver. 4.2 (ページ 113-132)