Article header library fpga intermediate  7

配置制約した下位エンティティを別プロジェクトへ適用させる方法(概要)

Article header hanako 25x25  60

こんにちは。
マクニカでインテル® FPGA 製品の技術サポートをしている インテル・アルテラ・ハナコ です。

以前、Quartus® Prime で下位エンティティの配置を指定する Logic Lock (ロジック・ロック) を紹介しましたが、今回はその応用編として、Logic Lock で配置指定した下位エンティティを、別のプロジェクトで適用させる方法をご紹介します。

下図は、プロジェクト A で Logic Lock により FPGA に配置したエンティティ X を、プロジェクト B で FPGA にインプリメントした際のイメージ図です。

Article header img1  20

エンティティ X におけるプロジェクト間の適用イメージ

このように、プロジェクト A の開発段階でエンティティ X に Logic Lock で配置制約を与えておけば、プロジェクト B においても配置状況をそのまま継承することができます。

この方法により、エンティティ X はプロジェクト B でもタイミングを Fix した状態が維持できるため、 プロジェクト Bにおけるデザイン全体のタイミング・クロージャ―の工数軽減が期待できます。

概要

下図は、Logic Lock 設定した下位エンティティを別プロジェクトへ適用させるための作業を、イメージ化したものです。

Article header img2  13

Logic Lock した下位エンティティを別プロジェクトへ適用させる作業イメージ

プロジェクト間で配置制約したエンティティ X のコンパイル結果を継承するには、プロジェクト A の時点でエンティティ X に対して Logic Lock 設定の他に、“パーティション” と言う論理的な枠組みを作成します。その後、プロジェクト A においてコンパイルを実行し制約通りに配置させます。

このコンパイル結果をプロジェクト B に継承するため、エンティティ X の論理回路情報とコンパイル結果を含んだ特殊なファイル “パーティション・ファイル” を生成します。

パーティション・ファイルは、使用する Quartus Prime のエディションによりフォーマットが異なります。

表1. Quartus Prime のエディションとパーティション・ファイルの関係
Quartus Prime Standard Edition Quartus Prime Exported Partition File (.qxp)
Quartus Prime Pro Edition Quartus Prime Partition Database File (.qdb)


プロジェクト B では、プロジェクト A で生成したパーティション・ファイルを HDL ソース・ファイルの代わりに使用してコンパイルを実行します。
つまり、このフローを採用したい場合には、プロジェクト A の時点で該当するエンティティにパーティションを作成してコンパイル作業をする必要があります。

関連情報: インクリメンタル・コンパイルを使ってみよう


各エディションの作業フロー

Quartus Prime のエディションにより作業フローが異なります。

Quartus Prime Standard Edition

下図は、Standard Edition における作業をフローチャート化したものです。下位エンティティのパーティションに対してパーティション・ファイル qxp をエクスポートし、別のプロジェクトで再利用します。

Article header img3  22

Standard Edition の作業フロー

では、このフローを Quartus Prime のメニューでご紹介します。

配置制約した下位エンティティを別プロジェクトへ適用させる方法 (Standard Edition)

Quartus Prime Pro Edition

Pro Edition には、パーティションの仕様に以下の2パターンがあります。いずれも、パーティションに対してパーティション・データーベース・ファイル qdb をエクスポートし、別のプロジェクトで再利用します。

表2. Pro Edition におけるパーティションの仕様
コア・パーティション コア・リソース(LUT、レジスタ、M20Kメモリブロック、およびDSP)のみを含めることができます。
ルート・パーティション ルート・パーティションには、周辺リソース(I/O、HSSIO、PCIe、PLLを含む)、および関連するコア・リソースが含まれますが、コア・パーティションは今後の開発のために Open のままにします。


下図は、Pro Edition における作業をフローチャート化したものです。

Article header img4  16

コア・パーティションの作業フロー (Pro Edition)

Article header img5  11

ルート・パーティションの作業フロー (Pro Edition)

では、このフローを Quartus Prime のメニューでご紹介します。

配置制約した下位エンティティを別プロジェクトへ適用させる方法 (Pro Edition) (※ 近日公開予定)

おすすめ記事/資料はこちら

おすすめ FAQ はこちら

関連タグ