マイクロチップ - ロゴ PolarFire ファミリー FPGA カスタム フロー ユーザー ガイド
リベロSoCv2024.2

導入 (質問する)

Libero システムオンチップ (SoC) ソフトウェアは、完全に統合されたフィールド プログラマブル ゲート アレイ (FPGA) 設計環境を提供します。ただし、一部のユーザーは、Libero SoC 環境外でサードパーティの合成およびシミュレーション ツールを使用する必要がある場合があります。Libero は、FPGA 設計環境に統合できるようになりました。FPGA 設計フロー全体を管理するには、Libero SoC を使用することをお勧めします。
このユーザー ガイドでは、PolarFire および PolarFire SoC ファミリ デバイスのカスタム フローについて説明します。これは、Libero をより大きな FPGA 設計フローの一部として統合するプロセスです。サポートされているデバイス ファミリ® 次の表は、Libero SoC がサポートするデバイス ファミリの一覧です。ただし、このガイドの一部の情報は、特定のデバイス ファミリにのみ適用される場合があります。この場合、そのような情報は明確に識別されます。
表1. Libero SoCでサポートされるデバイスファミリ

デバイスファミリー 説明
PolarFire® PolarFire FPGA は、優れたセキュリティと信頼性を備え、中程度の密度で業界最低の電力を実現します。
PolarFire SoC PolarFire SoC は、決定論的かつコヒーレントな RISC-V CPU クラスターと、Linux® およびリアルタイム アプリケーションを可能にする決定論的 L2 メモリ サブシステムを備えた初の SoC FPGA です。

以上view (質問する)

Libero SoC は、SoC および FPGA 設計を開発するための完全に統合されたエンドツーエンドの設計環境を提供する一方で、Libero SoC 環境外でサードパーティ ツールを使用して合成とシミュレーションを実行する柔軟性も提供します。ただし、一部の設計手順は Libero SoC 環境内にとどめる必要があります。
次の表は、FPGA 設計フローの主な手順を示し、Libero SoC を使用する必要がある手順を示しています。
表1-1. FPGA設計フロー

設計フローのステップ リベロを使わなければならない 説明
設計エントリー: HDL いいえ 必要に応じて、Libero® SoC 外部のサードパーティ HDL エディター/チェッカー ツールを使用します。
デザインエントリー: コンフィギュレーター はい IP カタログ コア コンポーネント生成用の最初の Libero プロジェクトを作成します。
PDC/SDC制約の自動生成 いいえ 派生制約にはすべてのHDLが必要 file付録 C「制約の導出」で説明されているように、Libero SoC の外部で実行される場合は、 および derive_constraints ユーティリティを使用します。
シミュレーション いいえ 必要に応じて、Libero SoC 以外のサードパーティ ツールを使用します。バックエンド実装に使用されるターゲット デバイス、ターゲット シミュレーター、およびターゲット Libero バージョン用のコンパイル済みシミュレーション ライブラリをダウンロードする必要があります。
合成 いいえ 必要に応じて、Libero SoC 以外のサードパーティ ツールを使用します。
設計実装: 制約の管理、ネットリストのコンパイル、配置配線 (Overview) はい バックエンド実装用の 2 番目の Libero プロジェクトを作成します。
タイミングと電力の検証 はい 2番目のLiberoプロジェクトに留まります。
設計初期化データとメモリを構成する はい このツールを使用して、デバイス内のさまざまな種類のメモリと設計の初期化を管理します。2 番目のプロジェクトに留まります。
プログラミング File 世代 はい 2番目のプロジェクトに留まります。

MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 重要: あなた コンパイル済みのライブラリをダウンロードする必要があります。 コンパイル済みシミュレーションライブラリ サードパーティのシミュレータを使用するには、このページをご覧ください。
純粋なファブリックFPGAフローでは、HDLまたは回路図エントリを使用してデザインを入力し、それを直接渡します。
合成ツールに統合されました。フローは引き続きサポートされています。PolarFireとPolarFire SoC FPGAには、
Libero SoC IP のコンフィグレーション コア (SgCore) の使用を必要とする独自のハード IP ブロック
カタログ。SoC 機能を構成するブロックには特別な処理が必要です。

  • ポーラファイア
    – PF_UPROM
    – PF_SYSTEM_SERVICES
    – PF_CCC
    – PF クロック分割
    – PF_CRYPTO
    – PF_DRI
    – PF_INIT_MONITOR
    – PF_NGMUX
    – PF_OSC
    – RAM (TPSRAM、DPSRAM、URAM)
    – PF_SRAM_AHBL_AXI
    – PF_XCVR_ERM
    – PF_XCVR_REF_CLK
    – PF_TX_PLL
    – PF_PCIE
    – PF_IO
    – PF_IOD_CDR
    – PF_IOD_CDR_CCC
    – PF_IOD_GENERIC_RX
    – PF_IOD_GENERIC_TX
    – PF_IOD_GENERIC_TX_CCC について
    – PF_RGMII_TO_GMII
    – PF_IOD_OCTAL_DDR
    – PF_DDR3
    – PF_DDR4
    – PF_LPDDR3
    – PF_QDR
    – PF_CORESMARTBERT
    – PF_TAMPER
    – PF_TVS など。

前述の SgCores に加えて、FPGA ファブリック リソースを使用する Libero SoC カタログの PolarFire および PolarFire SoC デバイス ファミリで使用できる DirectCore ソフト IP が多数あります。
設計エントリでは、前述のコンポーネントのいずれかを使用する場合、設計エントリの一部 (コンポーネント構成) に Libero SoC を使用する必要がありますが、設計エントリの残りの部分 (HDL エントリなど) は Libero の外部で続行できます。Libero の外部で FPGA 設計フローを管理するには、このガイドの残りの部分で説明する手順に従ってください。
1.1 コンポーネントのライフサイクル(質問する)
次の手順では、SoC コンポーネントのライフ サイクルについて説明し、データの処理方法について説明します。

  1. Libero SoC のコンフィギュレータを使用してコンポーネントを生成します。これにより、次の種類のデータが生成されます。
    – HDL files
    - メモリ files
    – 刺激とシミュレーション files
    – コンポーネントSDC file
  2. HDLの場合 file外部設計エントリ ツール/プロセスを使用して、それらをインスタンス化し、HDL 設計の残りの部分に統合します。
  3. メモリ供給 fileと刺激 fileをシミュレーション ツールに追加します。
  4. 供給コンポーネントSDC file 制約生成のための制約派生ツール。詳細については、付録 C「制約の派生」を参照してください。
  5. 2 番目の Libero プロジェクトを作成し、合成後のネットリストとコンポーネント メタデータをインポートして、生成したものとプログラムしたものの間の接続を完了する必要があります。

1.2 Libero SoCプロジェクトの作成(質問する)
一部の設計手順は、Libero SoC 環境内で実行する必要があります (表 1-1)。これらの手順を実行するには、XNUMX つの Libero SoC プロジェクトを作成する必要があります。最初のプロジェクトは設計コンポーネントの構成と生成に使用され、XNUMX 番目のプロジェクトはトップレベル設計の物理的な実装に使用されます。
1.3 カスタムフロー(質問する)
次の図は以下を示しています。

  • Libero SoC は、Libero SoC 環境外のサードパーティの合成およびシミュレーション ツールと連携して、より大規模な FPGA 設計フローの一部として統合できます。
  • デザインの作成、ステッチからデバイスのプログラミングまで、フローにはさまざまなステップが含まれます。
  • 設計フローの各ステップで実行する必要があるデータ交換 (入力と出力)。

MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタムフロー - カスタムフローオーバーviewMICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 1 ヒント:

  1. SNVM.cfg、UPROM.cfg
  2. *.mem file シミュレーション用の生成: pa4rtupromgen.exe は UPROM.cfg を入力として受け取り、UPROM.mem を生成します。

カスタム フローの手順は次のとおりです。

  1. コンポーネントの構成と生成:
    a. 最初の Libero プロジェクトを作成します (参照プロジェクトとして使用)。
    b. カタログからコアを選択します。コアをダブルクリックしてコンポーネント名を付け、コンポーネントを構成します。
    これにより、コンポーネントデータが自動的にエクスポートされ、 fileコンポーネント マニフェストも生成されます。詳細については、コンポーネント マニフェストを参照してください。詳細については、コンポーネント構成を参照してください。
  2. Libero の外部で RTL 設計を完了します。
    a. コンポーネントHDLをインスタンス化する files.
    b. HDLの位置 filesはコンポーネントマニフェストにリストされている files.
  3. コンポーネントのSDC制約を生成します。制約導出ユーティリティを使用してタイミング制約を生成します。 file(SDC) に基づく:
    a. コンポーネント HDL files
    b. コンポーネントSDC files
    c. ユーザーHDL files
    詳細については、「付録 C - 制約の導出」を参照してください。
  4. 合成ツール/シミュレーションツール:
    a. HDLを取得する files、刺激 fileおよびコンポーネント マニフェストに記載されている特定の場所からのコンポーネント データ。
    b. Libero SoC 以外のサードパーティ ツールを使用して設計を合成およびシミュレーションします。
  5. 2 番目の (実装) Libero プロジェクトを作成します。
  6. デザイン フロー ツール チェーンから合成を削除します (プロジェクト > プロジェクト設定 > デザイン フロー > [合成を有効にする] チェック ボックスをオフにします)。
  7. デザインソースをインポートする files (合成ツールからの合成後 *.vm ネットリスト):
    – 合成後の*.vmネットリストをインポートする(File>インポート> 合成された Verilog ネットリスト (VM)。
    – コンポーネントメタデータ *.cfg fileuPROM および/または sNVM の場合は s。
  8. 任意のLibero SoCブロックコンポーネントをインポート fileブロック filesは*.cxz内にある必要があります file 形式。
    ブロックの作成方法の詳細については、 PolarFire ブロックフロー ユーザーガイド.
  9. 設計制約をインポートします。
    – インポートI/O制約 file(制約マネージャ > I/O属性 > インポート)。
    – フロアプランニング *.pdc をインポート file(制約マネージャ > フロア プランナー > インポート)。
    – *.sdcタイミング制約をインポート file(制約マネージャ > タイミング > インポート)。SDCをインポートします。 file 制約派生ツールによって生成されます。
    – *.ndc制約をインポート file(制約マネージャー > ネットリスト属性 > インポート)、ある場合。
  10. 制約 file およびツールの関連付け
    – 制約マネージャで、*.pdcを関連付けます file配置と配線を行うには、*.sdc file配置配線とタイミング検証、および*.ndc fileネットリストをコンパイルします。
  11. 完全な設計実装
    – 配置配線、タイミングと電力の検証、設計初期化データとメモリの構成、プログラミング file 世代。
  12. 設計を検証する
    – Libero SoC 設計スイートに付属の設計ツールを使用して、FPGA 上で設計を検証し、必要に応じてデバッグします。

コンポーネント構成(質問する)

カスタム フローの最初の手順は、Libero 参照プロジェクト (表 1-1 では最初の Libero プロジェクトとも呼ばれます) を使用してコンポーネントを構成することです。後続の手順では、この参照プロジェクトのデータを使用します。
前述のコンポーネントを使用している場合は、Overview 設計では、このセクションで説明する手順を実行します。
上記のコンポーネントをいずれも使用していない場合は、Libero の外部で RTL を記述し、それを合成およびシミュレーション ツールに直接インポートできます。その後、合成後のセクションに進み、合成後の *.vm ネットリストのみを最終的な Libero 実装プロジェクト (表 1-1 では XNUMX 番目の Libero プロジェクトとも呼ばれます) にインポートできます。
2.1 Liberoを使用したコンポーネント構成(質問する)
前述のリストから使用する必要があるコンポーネントを選択した後、次の手順を実行します。

  1. 新しい Libero プロジェクト (コア構成と生成) を作成します。最終設計の対象となるデバイスとファミリを選択します。
  2. カスタム フローに記載されているコアを 1 つ以上使用します。
    a. SmartDesign を作成し、必要なコアを構成して、SmartDesign コンポーネントでインスタンス化します。
    b. すべてのピンをトップレベルに昇格します。
    c. SmartDesign を生成します。
    d. シミュレーションツール(合成前、合成後、レイアウト後のいずれかのオプション)をダブルクリックしてシミュレータを起動します。起動後はシミュレータを終了できます。この手順でシミュレーションが生成されます。 fileプロジェクトに必要なものです。

MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 1 ヒント: Libero の外部で設計をシミュレートする場合は、この手順を実行する必要があります。
詳細については、「設計のシミュレーション」を参照してください。
e. プロジェクトを保存します。これが参照プロジェクトになります。
2.2 コンポーネントマニフェスト(質問する)
コンポーネントを生成すると、 fileは各コンポーネントごとに生成されます。コンポーネントマニフェストレポートには、 file生成され、その後の各ステップ(合成、シミュレーション、ファームウェア生成など)で使用される。このレポートには、生成されたすべての場所が表示されます。 fileカスタムフローを進めるために必要なもの。コンポーネントマニフェストにはレポート領域からアクセスできます。デザイン > レポートをクリックしてレポートタブを開きます。レポートタブには、manifest.txtのセットが表示されます。 files (オーバーview) が生成されます。これは、生成したコンポーネントごとに 1 つずつです。
ヒント: コンポーネントマニフェストを表示するには、コンポーネントまたはモジュールを「ルート」として設定する必要があります。 file レポート タブの内容。
あるいは、個別のマニフェストレポートにアクセスすることもできます file生成された各コアコンポーネントまたはSmartDesignコンポーネントごとに/コンポーネント/作業/ / / _manifest.txtまたは/コンポーネント/作業/ / _manifest.txt。マニフェストにアクセスすることもできます file Liberoの新しいコンポーネントタブから生成された各コンポーネントの内容。 file 場所はプロジェクト ディレクトリに関して記載されています。MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - Libero レポート タブ次のコンポーネント マニフェスト レポートに注目してください。

  • コアをSmartDesignにインスタンス化した場合は、 file _manifest.txt です。
  • コアのコンポーネントを作成した場合は、 _manifest.txt です。

設計に適用されるすべてのコンポーネントマニフェストレポートを使用する必要があります。例:ampたとえば、プロジェクトに1つ以上のコアコンポーネントがインスタンス化されたSmartDesignがあり、それらをすべて最終デザインで使用する場合は、 file設計フローで使用するために、すべてのコンポーネントのコンポーネント マニフェスト レポートにリストされます。
2.3 マニフェストの解釈 File(質問する)
コンポーネントマニフェストを開くと file、あなたはパスを見る fileLiberoプロジェクト内の機能と、デザインフローのどこでそれらを使用するかを示すポインター。次のような種類の機能が表示される場合があります。 fileマニフェスト内の file:

  • HDLソース fileすべての合成およびシミュレーションツール用
  • 刺激 fileすべてのシミュレーションツール
  • 制約 files

以下は、PolarFire コア コンポーネントのコンポーネント マニフェストです。MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - コンポーネント マニフェスト各タイプの file 設計フローの下流で必要になります。次のセクションでは、 fileマニフェストからデザインフローに組み込みます。

制約生成(質問する)

構成と生成を実行するときは、SDC/PDC/NDC制約を必ず記述/生成してください。 file設計に必要なパラメータを合成、配置配線、タイミング検証ツールに渡します。
制約を手動で記述する代わりに、Libero 環境外で制約の派生ユーティリティを使用して制約を生成します。Libero 環境外で制約の派生ユーティリティを使用するには、次の操作を行う必要があります。

  • ユーザーHDL、コンポーネントHDL、コンポーネントSDC制約を提供する files
  • トップレベルモジュールを指定する
  • 派生制約を生成する場所を指定します files

SDCコンポーネント制約は以下で利用可能です。 /コンポーネント/作業/ /コンポーネントの構成と生成後の / ディレクトリ。
設計の制約を生成する方法の詳細については、「付録 C - 制約の導出」を参照してください。

デザインの統合(質問する)

カスタムフローの主な機能の1つは、サードパーティの合成を使用できることです。
Libero以外のツール。カスタムフローはSynopsys SynplifyProの使用をサポートしています。
プロジェクトの場合は、次の手順に従います。

  1. 作成した Libero プロジェクトと同じデバイス ファミリ、ダイ、パッケージをターゲットとする新しいプロジェクトを合成ツールで作成します。
    a. 独自のRTLをインポートする fileいつも通りです。
    b. 合成出力を構造 Verilog (.vm) に設定します。
    ヒント: 構造 PolarFire でサポートされている合成出力形式は Verilog (.vm) のみです。
  2. コンポーネント HDL をインポートする fileを Synthesis プロジェクトに追加します。
    a. 各コンポーネントマニフェストレポートについて: file HDLソースの下 fileすべての合成およびシミュレーションツールでは、 file 合成プロジェクトに追加します。
  3. インポート file polarfire_syn_comps.v (Synopsys Synplifyを使用している場合)
    インストール場所>/data/aPA5M を Synthesis プロジェクトに追加します。
  4. 以前に生成されたSDCをインポートする file 派生制約ツール(付録を参照)を通じて
    としてample SDC制約)を合成ツールに組み込みます。この制約 file 合成ツールを制約して、より少ない労力とより少ない設計反復でタイミング クロージャを達成します。

MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 重要: 

  • 同じ*.sdcを使用する場合 file 設計実装フェーズで配置配線を制約するには、この*.sdcを合成プロジェクトにインポートする必要があります。これは、設計プロセスの実装フェーズで、合成されたネットリストと配置配線制約で設計オブジェクト名の不一致がないようにするためです。この*.sdcを含めない場合、 file 合成ステップでは、設計オブジェクト名の不一致により、合成から生成されたネットリストが配置配線ステップに失敗する可能性があります。
    a. ネットリスト属性 *.ndc がある場合は、それを合成ツールにインポートします。
    b. 合成を実行します。
  • 合成ツールの出力場所には*.vmネットリストがあります file 合成後に生成されます。設計プロセスを続行するには、ネットリストを Libero 実装プロジェクトにインポートする必要があります。

設計のシミュレーション (質問する)

Libero の外部で (つまり、独自のシミュレーション環境とシミュレータを使用して) 設計をシミュレートするには、次の手順を実行します。

  1. デザイン Files:
    a. 合成前シミュレーション:
    • RTL をシミュレーション プロジェクトにインポートします。
    • 各コンポーネント マニフェスト レポートについて。
    – それぞれをインポート file HDLソースの下 fileすべての合成およびシミュレーション ツールをシミュレーション プロジェクトに組み込みます。
    • これらをコンパイルする fileシミュレータの指示に従ってください。
    b. 合成後のシミュレーション:
    • 合成後の *.vm ネットリスト (デザインの合成で生成) をシミュレーション プロジェクトにインポートし、コンパイルします。
    c. レイアウト後のシミュレーション:
    • まず、デザインの実装を完了します (デザインの実装を参照)。最終的な Libero プロジェクトがレイアウト後の状態であることを確認します。
    • 「BackAnnotated を生成」をダブ​​ルクリックします FileLibero Design Flowウィンドウに2つの files:
    /デザイナー/ / _ba.v/vhd /デザイナー/
    / _ba.sdf
    • これら両方をインポートする fileをシミュレーション ツールに入力します。
  2. 刺激と構成 files:
    a. 各コンポーネントマニフェストレポートについて:
    • すべてコピー file刺激策の下で Fileすべてのシミュレーション ツール セクションの s を、シミュレーション プロジェクトのルート ディレクトリに追加します。
    b. Tclが fileシミュレーションの開始前に、前述のリスト(ステップ 2.a)内の が最初に実行されます。
    c. UPROM.mem: シミュレーションする4つ以上のデータストレージクライアントに対して「シミュレーションにコンテンツを使用する」オプションを有効にして設計でUPROMコアを使用する場合は、実行可能ファイルpa4rtupromgen (WindowsではpaXNUMXrtupromgen.exe)を使用してUPROM.memを生成する必要があります。 filepa4rtupromgen実行ファイルはUPROM.cfgを取得します file Tclスクリプトを通じて入力として file UPROM.memを出力する file シミュレーションに必要です。このUPROM.mem file シミュレーションを実行する前に、シミュレーションフォルダにコピーする必要があります。amppa4rtupromgen実行ファイルの使用方法を示すファイルは、次の手順で提供されます。UPROM.cfg file ディレクトリで入手可能/コンポーネント/作業/ / UPROM コンポーネントを生成するために使用した Libero プロジェクト内。
    d. snvm.mem: 設計でシステムサービスコアを使用し、コアのsNVMタブで、シミュレーションする1つ以上のクライアントに対して「シミュレーションにコンテンツを使用する」オプションを有効にして構成した場合、snvm.mem file 自動的に生成される
    ディレクトリ/コンポーネント/作業/ /システムサービスコンポーネントを生成するために使用したLiberoプロジェクト内のsnvm.mem file シミュレーションを実行する前に、シミュレーション フォルダーにコピーする必要があります。
  3. 作業フォルダーと、その作業フォルダーの下に simulation という名前のサブフォルダーを作成します。
    pa4rtupromgen 実行可能ファイルは、作業フォルダー内にシミュレーション サブフォルダーが存在することを想定しており、*.tcl スクリプトはシミュレーション サブフォルダーに配置されます。
  4. UPROM.cfgをコピーする file コンポーネント生成用に作成された最初の Libero プロジェクトから作業フォルダーに移動します。
  5. 次のコマンドを *.tcl スクリプトに貼り付け、手順 3 で作成したシミュレーション フォルダーに配置します。
    SampPolarFireおよびPolarFire Socファミリーデバイス用の*.tclを実行してURPOM.memを生成します。 file
    UPROM.cfgから
    set_device -fam -死ぬ-パッケージ
    入力設定 -パス
    set_sim_mem -パスFile/UPROM.mem>
    gen_sim -use_init を false にする
    ダイとパッケージに使用する適切な内部名については、*.prjxを参照してください。 file 最初の Libero プロジェクト (コンポーネント生成に使用)。
    引数 use_init は false に設定する必要があります。
    set_sim_memコマンドを使用して出力へのパスを指定します。 file UPROM.memは
    スクリプトの実行時に生成される file pa4rtupromgen 実行可能ファイルを使用します。
  6. コマンド プロンプトまたは cygwin ターミナルで、手順 3 で作成した作業ディレクトリに移動します。
    –script オプションを指定して pa4rtupromgen コマンドを実行し、前の手順で作成した *.tcl スクリプトを渡します。
    Windowsの場合
    /designer/bin/pa4rtupromgen.exe \
    –スクリプト/シミュレーション/ .tcl
    Linuxの場合:
    /bin/pa4rtupromgen
    –スクリプト/シミュレーション/ .tcl
  7. pa4rtupromgen実行ファイルの実行が成功したら、UPROM.memを確認します。 file *.tcl スクリプトの set_sim_mem コマンドで指定された場所に生成されます。
  8. sNVMをシミュレートするには、snvm.memをコピーします。 file 最初のLiberoプロジェクト(コンポーネント構成に使用)からシミュレーションプロジェクトの最上位のシミュレーションフォルダにコピーして、シミュレーションを実行します(Libero SoCの外部)。UPROMの内容をシミュレートするには、生成されたUPROM.memをコピーします。 file シミュレーションを実行するには、シミュレーション プロジェクトの最上位のシミュレーション フォルダーに追加します (Libero SoC の外部)。

MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 重要: SoC コンポーネントの機能をシミュレートするには、ここで説明するように、プリコンパイルされた PolarFire シミュレーション ライブラリをダウンロードし、シミュレーション環境にインポートします。詳細については、「付録 B - シミュレーション環境へのシミュレーション ライブラリのインポート」を参照してください。

デザインの実装(質問する)

ご使用の環境で合成および合成後のシミュレーションを完了したら、Liberoを再度使用して設計を物理的に実装し、タイミングと電力の解析を実行し、プログラミングを生成する必要があります。 file.

  1. デザインの物理的な実装とレイアウト用に新しい Libero プロジェクトを作成します。コンポーネント構成で作成した参照プロジェクトと同じデバイスをターゲットにすることを確認します。
  2. プロジェクトの作成後、デザイン フロー ウィンドウのツール チェーンから合成を削除します (プロジェクト > プロジェクト設定 > デザイン フロー > 合成の有効化のチェックを外す)。
  3.  合成後の*.vmをインポートする file このプロジェクトに参加して、(File > インポート > 合成された Verilog ネットリスト (VM))。
    MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 1 ヒント: このリンクを作成することをお勧めします fileそのため、デザインを再合成する場合、Libero は常に最新の合成後ネットリストを使用します。
    a. 「デザイン階層」ウィンドウで、ルート モジュールの名前を書き留めます。MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - 設計階層
  4. 制約を Libero プロジェクトにインポートします。制約マネージャーを使用して、*.pdc/*.sdc/*.ndc 制約をインポートします。
    a. インポートI/O *.pdc制約 file(制約マネージャ > I/O 属性 > インポート)。
    b. フロアプランニング *.pdc 制約をインポートする file(制約マネージャ > フロア プランナー > インポート)。
    c. *.sdcタイミング制約をインポートする file(制約マネージャ > タイミング > インポート)デザインに「Over」にリストされているコアが含まれている場合は、viewSDCをインポートするようにしてください file 派生制約ツールによって生成されます。
    d. *.ndc制約をインポートする file(制約マネージャー > ネットリスト属性 > インポート)。
  5. 制約の関連付け Fileツールを設計します。
    a. 制約マネージャを開く(制約の管理 > 制約の管理を開く) View).
    制約の横にある配置配線とタイミング検証チェックボックスをオンにします。 file 制約を確立する file ツールの関連付け。*.pdc制約を配置配線に関連付け、*.sdcを配置配線とタイミング検証の両方に関連付けます。*.ndcを関連付けます。 file ネットリストをコンパイルします。
    MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 1 ヒント: この *.sdc 制約により配置配線が失敗する file同じ*.sdcをインポートします file 合成して合成を再実行します。
  6. レイアウト手順を完了するには、「ネットリストのコンパイル」をクリックし、「配置と配線」をクリックします。
  7. デザイン初期化データとメモリの構成ツールを使用すると、不揮発性 µPROM、sNVM、または外部 SPI フラッシュ ストレージ メモリに保存されているデータを使用して、LSRAM、µSRAM、XCVR (トランシーバー)、PCIe などのデザイン ブロックを初期化できます。このツールには、デザイン初期化シーケンスの仕様、初期化クライアントの仕様、ユーザー データ クライアントを定義するための次のタブがあります。
    – デザイン初期化タブ
    – µPROMタブ
    – sNVMタブ
    – SPIフラッシュタブ
    – ファブリック RAM タブ
    ツールのタブを使用して、設計の初期化データとメモリを構成します。MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - データとメモリ設定が完了したら、次の手順を実行して初期化データをプログラムします。
    • 初期化クライアントを生成する
    • ビットストリームを生成またはエクスポートする
    • デバイスをプログラムする
    このツールの使用方法の詳細については、Libero SoCデザインフローユーザーガイドを参照してください。ツールのさまざまなタブを構成し、メモリ構成を指定するために使用されるTclコマンドの詳細については、 files (*.cfg)については、 Tcl コマンドリファレンスガイド.
  8. プログラミングを生成する File このプロジェクトから取得し、FPGA をプログラムするために使用します。

付録A-SampSDC制約(質問する

Libero SoC は、CCC、OSC、トランシーバーなどの特定の IP コアに対して SDC タイミング制約を生成します。SDC 制約を設計ツールに渡すと、より少ない労力と設計の繰り返しでタイミング クロージャを満たす可能性が高まります。制約で参照されるすべての設計オブジェクトに対して、最上位インスタンスからの完全な階層パスが提供されます。
7.1 SDCタイミング制約(質問する)
Libero IPコアリファレンスプロジェクトでは、このトップレベルのSDC制約は file 制約マネージャ(デザインフロー > 制約管理を開く)から利用できます。 View > タイミング > 制約の導出)。
MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー - アイコン 重要: 参照 これ file デザインに CCC、OSC、トランシーバ、その他のコンポーネントが含まれている場合は、SDC 制約を設定します。必要に応じて、デザイン階層に合わせて完全な階層パスを変更するか、Derive_Constraints ユーティリティと付録 C「コンポーネント レベルの SDC での制約の導出」の手順を使用します。 file.
保存する file 別の名前に変更してSDCをインポートする file 他のSDC制約と同様に、合成ツール、配置配線ツール、タイミング検証に適用できます。 files.
7.1.1 派生SDC File (質問する)
# これ file 以下のSDCソースに基づいて生成されました files:
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
PF_CCC_C0/PF_CCC_C0_0/PF_CCC_C0_PF_CCC_C0_0_PF_CCC.sdc
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
CLK_DIV/CLK_DIV_0/CLK_DIV_CLK_DIV_0_PF_CLK_DIV.sdc
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
TRANSMIT_PLL/TRANSMIT_PLL_0/TRANSMIT_PLL_TRANSMIT_PLL_0_PF_TX_PLL.sdc
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
DMA_INITIATOR/DMA_INITIATOR_0/DMA_INITIATOR.sdc
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
FIC0_INITIATOR/FIC0_INITIATOR_0/FIC0_INITIATOR.sdc
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
ICICLE_MSS/ICICLE_MSS.sdc
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
PF_PCIE_C0/PF_PCIE_C0_0/PF_PCIE_C0_PF_PCIE_C0_0_PF_PCIE.sdc
# /ドライブ/icicle_kit_ref_des/icicle-kit-リファレンスデザインマスター/MPFS_ICICLE/コンポーネント/作業/
PCIE_INITIATOR/PCIE_INITIATOR_0/PCIE_INITIATOR.sdc
# /ドライブ/aPA5M/コア/制約/osc_rc160mhz.sdc
# *** これを変更する file 派生制約を再実行すると失われます。***
create_clock -name {CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK} -周期6.25
[ get_pins { CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK } ] create_clock -name {REF_CLK_PAD_P} -period 10 [ get_ports { REF_CLK_PAD_P } ] create_clock -name {CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_PLL_0/txpll_isnt_0/
DIV_CLK} - 周期 8
[ get_pins { CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_PLL_0/txpll_isnt_0/DIV_CLK } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT0} - 25で乗算 - 32で除算 - ソース
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -位相0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT0 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT1} - 25で乗算 - 32で除算 - ソース
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -位相0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT1 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT2} - 25で乗算 - 32で除算 - ソース
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -位相0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT2 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT3} - 25で乗算 - 64で除算 - ソース
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -位相0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT3 } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/
Y_DIV} -divide_by 2 -source
[ get_pins { CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/A } ] [ get_pins { CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/Y_DIV } ] set_false_path -through [ get_nets { DMA_INITIATOR_inst_0/ARESETN* } ] set_false_path -from [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/rdGrayCounter*/cntGray* } ] -to [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
rdPtr_s1* } ] set_false_path -from [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/wrGrayCounter*/cntGray* } ] -to [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
wrPtr_s1* } ] set_false_path -through [ get_nets { FIC0_INITIATOR_inst_0/ARESETN* } ] set_false_path -to [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[0] PCIE/PF_PCIE_C0_0/
PCIE_1/INTERRUPT[1] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[2] PCIE/PF_PCIE_C0_0/PCIE_1/
INTERRUPT[3] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[4] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[5] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[6] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[7] PCIE/PF_PCIE_C0_0/
PCIE_1/WAKEREQ PCIE/PF_PCIE_C0_0/PCIE_1/MPERST_N } ] set_false_path -from [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/TL_CLK } ] set_false_path -through [ get_nets { PCIE_INITIATOR_inst_0/ARESETN* } ] 付録 B—シミュレーション環境へのシミュレーションライブラリのインポート (質問する)
Libero SoC での RTL シミュレーションのデフォルトのシミュレーターは ModelSim ME Pro です。
デフォルトのシミュレータ用のコンパイル済みライブラリは、Liberoのインストールディレクトリで利用可能です。 /Designer/lib/modelsimpro/precompiled/vlog for® 対応ファミリ。Libero SoC は、ModelSim、Questasim、VCS、Xcelium などの他のサードパーティ シミュレータ エディションもサポートしています。
、Active HDL、Riviera Pro。それぞれのコンパイル済みライブラリを以下からダウンロードしてください。 Libero SoC v12.0 以降 シミュレータとそのバージョンに基づきます。
Libero環境と同様に、run.do file Libero の外部でシミュレーションを実行するには作成する必要があります。
シンプルなrun.doを作成する file コンパイル結果、ライブラリマッピング、コンパイル、シミュレーションのためのライブラリを確立するためのコマンドがあります。手順に従って基本的なrun.doを作成します。 file.

  1. vlib コマンド vlib presynth を使用して、コンパイル結果を保存する論理ライブラリを作成します。
  2. vmapコマンドを使用して、論理ライブラリ名をプリコンパイルされたライブラリディレクトリにマップします。vmap 。
  3. ソースをコンパイルする files—言語固有のコンパイラコマンドを使用して設計をコンパイルする files を作業ディレクトリにコピーします。
    – .v/.sv の vlog
    – .vhd の場合は vcom
  4. 任意のトップレベル モジュールの名前を指定して、vsim コマンドを使用してシミュレーション用の設計をロードします。
  5. 実行コマンドを使用して設計をシミュレートします。
    デザインをロードすると、シミュレーション時間はゼロに設定され、実行コマンドを入力してシミュレーションを開始できます。
    シミュレータのトランスクリプトウィンドウでrun.doを実行します。 file run.doとしてシミュレーションを実行します。Sampル・ラン・ド file 次のように。

ACTELLIBNAME PolarFireを静かに設定し、PROJECT_DIRを「W:/Test/basic_test」と設定します。
{[file exists presynth/_info]} { echo “INFO: シミュレーションライブラリ presynth が存在します” } else
{ file 削除 -force presynth vlib presynth } vmap presynth presynth vmap PolarFire
“X:/Libero/Designer/lib/modelsimpro/precompiled/vlog/PolarFire” vlog -sv -work presynth
“${PROJECT_DIR}/hdl/top.v” vlog “+incdir+${PROJECT_DIR}/stimulus” -sv -work presynth “$
{PROJECT_DIR}/stimulus/tb.v” vsim -L PolarFire -L presynth -t 1ps presynth.tb に波形を追加 /tb/*
1000ns ログ /tb/* を実行して終了

付録 C—制約の導出 (質問する)

この付録では、Derive Constraints Tcl コマンドについて説明します。
9.1 制約の導出Tclコマンド(質問する)
derive_constraintsユーティリティは、Libero SoC設計環境外のRTLまたはコンフィギュレータから制約を導出するのに役立ちます。設計の制約を生成するには、ユーザーHDL、コンポーネントHDL、およびコンポーネント制約が必要です。 fileSDCコンポーネントの制約 filesは以下で入手可能です/コンポーネント/作業/ /コンポーネントの構成と生成後の / ディレクトリ。
各コンポーネントの制約 file set_component tcl コマンド (コンポーネント名を指定) と、構成後に生成された制約のリストで構成されます。制約は構成に基づいて生成され、各コンポーネントに固有です。
Example 9-1. コンポーネント制約 File PF_CCC コア用
元はampコンポーネント制約の file PF_CCC コアの場合:
コンポーネントの設定 PF_CCC_C0_PF_CCC_C0_0_PF_CCC
# マイクロチップ社
# 日付: 2021-Oct-26 04:36:00
# PLL #0 のベースクロック
create_clock -period 10 [ get_pins { pll_inst_0/REF_CLK_0 } ] create_generated_clock -divide_by 1 -source [ get_pins { pll_inst_0/
REF_CLK_0 } ] -phase 0 [ get_pins { pll_inst_0/OUT0 } ] ここで、create_clock と create_generated_clock は、それぞれ構成に基づいて生成される参照クロック制約と出力クロック制約です。
9.1.1 derive_constraintsユーティリティの使用(質問する)
設計全体にわたって制約を導出し、以前に提供されたコンポーネントSDCに基づいてコンポーネントの各インスタンスに新しい制約を割り当てます。 fileCCCリファレンスクロックの場合、リファレンスクロックのソースを見つけるためにデザインを逆方向に伝播します。ソースがI/Oの場合、リファレンスクロック制約はI/Oに設定されます。CCC出力または別のクロックソース(例:amp異なるコンポーネント (たとえば、トランシーバー、発振器) のクロックを使用する場合、他のコンポーネントのクロックを使用し、間隔が一致しない場合は警告を報告します。また、RTL にオンチップ発振器がある場合、制約の派生により、オンチップ発振器などの一部のマクロの制約も割り当てられます。
derive_constraintsユーティリティを実行するには、.tclファイルを提供する必要があります。 file 指定された順序で次の情報を含むコマンドライン引数。

  1. set_device セクションの情報を使用してデバイス情報を指定します。
  2. RTLへのパスを指定する fileセクション read_verilog または read_vhdl の情報を使用します。
  3. set_top_level セクションの情報を使用してトップレベル モジュールを設定します。
  4. コンポーネントSDCへのパスを指定 fileセクション read_sdc または read_ndc の情報を使用します。
  5. 実行する filederive_constraints セクションの情報を使用します。
  6.  SDC 派生制約へのパスを指定します file write_sdc または write_pdc または write_ndc セクションの情報を使用します。

Example 9-2. derive.tclの実行と内容 File
以下は例ですampderive_constraints ユーティリティを実行するためのコマンドライン引数。
$ /bin{64}/derive_constraints derive.tcl
derive.tclの内容 file:
# デバイス情報
set_device -family PolarFire -die MPF100T -speed -1
# リアルタイム files
read_verilog -mode system_verilog プロジェクト/コンポーネント/作業/txpll0/
txpll0_txpll0_0_PF_TX_PLL.v
read_verilog -mode system_verilog {プロジェクト/コンポーネント/作業/txpll0/txpll0.v}
read_verilog -mode system_verilog {プロジェクト/コンポーネント/作業/xcvr0/I_XCVR/
{xcvr0_I_XCVR_PF_XCVR.v} は、
read_verilog -mode system_verilog {プロジェクト/コンポーネント/作業/xcvr0/xcvr0.v}
read_vhdl -mode vhdl_2008 {プロジェクト/hdl/xcvr1.vhd}
#コンポーネントSDC files
トップレベルを設定する {xcvr1}
read_sdc -component {プロジェクト/コンポーネント/作業/txpll0/txpll0_0/
txpll0_txpll0_0_PF_TX_PLL.sdc}
read_sdc -component {プロジェクト/コンポーネント/作業/xcvr0/I_XCVR/
{xcvr0_I_XCVR_PF_XCVR.sdc} は、
#derive_constraintコマンドを使用する
派生制約
#SDC/PDC/NDC の結果 files
write_sdc {プロジェクト/制約/xcvr1_derived_constraints.sdc}
write_pdc {プロジェクト/制約/fp/xcvr1_derived_constraints.pdc}
9.1.2 デバイスの設定 (質問する)
説明
ファミリ名、ダイ名、速度グレードを指定します。
set_device -ファミリー-死ぬ-スピード
引数

パラメータ タイプ 説明
-家族 ファミリ名を指定します。可能な値は、PolarFire®、PolarFire SoC です。
-死ぬ ダイ名を指定します。
-スピード デバイスの速度グレードを指定します。指定できる値は STD または -1 です。
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0023 必須パラメータ - ダイがありません die オプションは必須であり、指定する必要があります。
エラー0005 不明なダイ「MPF30」 -die オプションの値が正しくありません。オプションの説明にある可能な値のリストを参照してください。
エラー0023 パラメータ - ダイに値が欠落している die オプションが値なしで指定されています。
エラー0023 必須パラメータ - ファミリーがありません ファミリー オプションは必須であり、指定する必要があります。
エラー0004 不明なファミリー「PolarFire®」 ファミリ オプションが正しくありません。オプションの説明にある可能な値のリストを参照してください。
…………続き
エラーコード エラーメッセージ 説明
エラー0023 パラメータ - ファミリーに値が欠落しています ファミリー オプションが値なしで指定されています。
エラー0023 必須パラメータ - 速度がありません 速度オプションは必須であり、指定する必要があります。
エラー0007 不明な速度 ' ' 速度オプションが正しくありません。オプションの説明にある可能な値のリストを参照してください。
エラー0023 パラメータ - 速度の値が欠落しています 速度オプションは値なしで指定されます。

Example
set_device -family {PolarFire} -die {MPF300T_ES} -speed -1
set_device -family SmartFusion 2 -die M2S090T -speed -1
9.1.3 verilog を読み込む (質問する)
説明
Verilogを読む file Verific を使用します。
read_verilog [-lib ] [-モード]file名前>
引数

パラメータ タイプ 説明
-ライブラリ ライブラリに追加するモジュールを含むライブラリを指定します。
-モード Verilog 標準を指定します。指定できる値は、verilog_95、verilog_2k、system_verilog_2005、system_verilog_2009、system_verilog、verilog_ams、verilog_psl、system_verilog_mfcu です。値は大文字と小文字を区別しません。デフォルトは verilog_2k です。
file名前 ベリログ file 名前。
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0023 パラメータ - lib に値が欠落しています lib オプションが値なしで指定されています。
エラー0023 パラメータ - モードに値が欠落しています モード オプションは値なしで指定されます。
エラー0015 不明なモード ' ' 指定された Verilog モードは不明です。モード オプションの説明で、可能な Verilog モードのリストを参照してください。
エラー0023 必須パラメータ file 名前がありません verilogなし file パスが提供されます。
エラー0016 Verificのパーサーにより失敗しました Verilog の構文エラー fileVerific のパーサーは、エラー メッセージの上にあるコンソールで確認できます。
エラー0012 set_deviceが呼び出されない デバイス情報が指定されていません。デバイスを記述するには、set_device コマンドを使用します。

Example
read_verilog -mode system_verilog {component/work/top/top.v}
read_verilog -mode system_verilog_mfcu デザイン.v
9.1.4 read_vhdl (質問する)
説明
VHDLを追加する file VHDLのリストに files.
read_vhdl [-lib ] [-モード]file名前>
引数

パラメータ タイプ 説明
-ライブラリ コンテンツを追加するライブラリを指定します。
-モード VHDL 標準を指定します。デフォルトは VHDL_93 です。指定できる値は vhdl_93、vhdl_87、vhdl_2k、vhdl_2008、vhdl_psl です。値は大文字と小文字を区別しません。
file名前 VHDL file 名前。
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0023 パラメータ - lib に値が欠落しています lib オプションが値なしで指定されています。
エラー0023 パラメータ - モードに値が欠落しています モード オプションは値なしで指定されます。
エラー0018 不明なモード ' ' 指定された VHDL モードは不明です。モード オプションの説明で、可能な VHDL モードのリストを参照してください。
エラー0023 必須パラメータ file 名前がありません VHDLなし file パスが提供されます。
エラー0019 invalid_path.v を登録できません file 指定されたVHDL file 存在しないか、読み取り権限がありません。
エラー0012 set_deviceが呼び出されない デバイス情報が指定されていません。デバイスを記述するには、set_device コマンドを使用します。

Example
read_vhdl -mode vhdl_2008 osc2dfn.vhd
read_vhdl {hdl/top.vhd}
9.1.5 トップレベルを設定する(質問する)
説明
RTL でトップレベル モジュールの名前を指定します。
set_top_level [-lib ]
引数

パラメータ タイプ 説明
-ライブラリ 最上位モジュールまたはエンティティを検索するライブラリ (オプション)。
名前 最上位のモジュールまたはエンティティ名。
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0023 必須パラメータのトップレベルがありません 最上位オプションは必須であり、指定する必要があります。
エラー0023 パラメータ - lib に値が欠落しています lib オプションは値なしで指定されます。
エラー0014 トップレベルが見つかりません図書館内 指定されたトップレベル モジュールは、提供されたライブラリで定義されていません。このエラーを修正するには、トップ モジュールまたはライブラリ名を修正する必要があります。
エラー0017 精巧に失敗した RTL 作成プロセスでエラーが発生しました。エラー メッセージはコンソールから確認できます。

Example
set_top_level {トップ}
set_top_level -lib hdl トップ
9.1.6 read_sdc (質問する)
説明
SDCを読む file コンポーネント データベースに追加します。
read_sdc -コンポーネントfile名前>
引数

パラメータ タイプ 説明
-成分 これは、制約を導出するときの read_sdc コマンドの必須フラグです。
file名前 SDCへの道 file.
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0023 必須パラメータ file 名前がありません。 必須オプション file 名前が指定されていません。
エラー0000 SDC file <file_path>は読み取り不可能です。 指定されたSDC file 読み取り権限がありません。
エラー0001 開けませんfile_path> file. SDC file 存在しません。パスを修正する必要があります。
エラー0008 set_componentコマンドがありませんfile_path> file SDCの指定コンポーネント file コンポーネントを指定しません。
エラーコード エラーメッセージ 説明
エラー0009 <List of errors from sdc file> SDC file 間違ったsdcコマンドが含まれています。例:ampル、

set_multicycle_path制約にエラーがある場合: コマンドread_sdcの実行中にエラーが発生しました:file_path> file: コマンド set_multicycle_path でエラーが発生しました: 不明なパラメーター [get_cells {reg_a}]。

Example
read_sdc -component {./component/work/ccc0/ccc0_0/ccc0_ccc0_0_PF_CCC.sdc}
9.1.7 read_ndc (質問する)
説明
NDCを読む file コンポーネント データベースに追加します。
read_ndc -コンポーネントfile名前>
引数

パラメータ タイプ 説明
-成分 これは、制約を導出するときの read_ndc コマンドの必須フラグです。
file名前 NDCへの道 file.
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0001 開けませんfile_path> file NDC file 存在しません。パスを修正する必要があります。
エラー0023 必須パラメータ AtclParamO_ がありません。 必須オプション file名前が指定されていません。
エラー0023 必須パラメータ - コンポーネントがありません。 コンポーネント オプションは必須であり、指定する必要があります。
エラー0000 国土安全保障省 file 'file_path>' は読み取り不可能です。 指定されたNDC file 読み取り権限がありません。

Example
read_ndc -component {component/work/ccc1/ccc1_0/ccc_comp.ndc}
9.1.8 derive_constraints (質問する)
説明
コンポーネントSDCをインスタンス化する fileを設計レベルのデータベースに追加します。
派生制約
引数

戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0013 トップレベルが定義されていません これはトップレベルのモジュールまたはエンティティが指定されていないことを意味します。この呼び出しを修正するには、
derive_constraints コマンドの前に set_top_level コマンドを実行します。

Example
派生制約
9.1.9 write_sdc (質問する)
説明
制約を書き込む file SDC 形式です。
書き込みfile名前>
引数

パラメータ タイプ 説明
<file名前> SDCへの道 file 生成されます。これは必須オプションです。 file 存在する場合は上書きされます。
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0003 開けませんfile パス> file. File パスが正しくありません。親ディレクトリが存在するかどうかを確認してください。
エラー0002 SDC file 'file 「path>」は書き込み可能ではありません。 指定されたSDC file 書き込み権限がありません。
エラー0023 必須パラメータ file 名前がありません。 SDC file パスは必須オプションであり、指定する必要があります。

Example
write_sdc “派生.sdc”
9.1.10 write_pdc (質問する)
説明
物理的な制約を書き込みます (制約の派生のみ)。
書き込みfile名前>
引数

パラメータ タイプ 説明
<file名前> PDCへの道 file 生成されます。これは必須オプションです。 file パスが存在する場合は上書きされます。
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0003 開けませんfile パス> file の file パスが正しくありません。親ディレクトリが存在するかどうかを確認してください。
エラー0002 PDC file 'file 「path>」は書き込み可能ではありません。 指定されたPDC file 書き込み権限がありません。
エラー0023 必須パラメータ file 名前がありません PDCは file パスは必須オプションであり、指定する必要があります。

Example
write_pdc “派生.pdc”
9.1.11 write_ndc (質問する)
説明
NDC制約を file.
書き込みfile名前>
引数

パラメータ タイプ 説明
file名前 NDCへの道 file 生成されます。これは必須オプションです。 file 存在する場合は上書きされます。
戻り値の型 説明
0 コマンドは成功しました。
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0003 開けませんfile_path> file. File パスが正しくありません。親ディレクトリが存在しません。
エラー0002 国土安全保障省 file 'file_path>' は書き込み可能ではありません。 指定されたNDC file 書き込み権限がありません。
エラー0023 必須パラメータ _AtclParamO_ がありません。 NDC file パスは必須オプションであり、指定する必要があります。

Example
write_ndc “派生.ndc”
9.1.12 add_include_path (質問する)
説明
検索するパスを指定します fileRTLを読むときは files.
追加インクルードパス
引数

パラメータ タイプ 説明
ディレクトリ 検索するパスを指定します fileRTLを読むときは fileこのオプションは必須です。
戻り値の型 説明
0 コマンドは成功しました。
戻り値の型 説明
1 コマンドが失敗しました。エラーが発生しました。コンソールでエラー メッセージを確認できます。

エラーのリスト

エラーコード エラーメッセージ 説明
エラー0023 必須パラメータのインクルード パスがありません。 ディレクトリ オプションは必須であり、指定する必要があります。

注: ディレクトリ パスが正しくない場合、add_include_path はエラーなしで渡されます。
ただし、Verific のパーサーにより、read_verilog/read_vhd コマンドは失敗します。
Example
add_include_path コンポーネント/作業/COREABC0/COREABC0_0/rtl/vlog/core

改訂履歴(質問する)

改訂履歴には、ドキュメントに実装された変更内容が記述されます。変更内容は、最新の出版物から順に改訂順にリストされます。

リビジョン 日付 説明
F 08/2024 この改訂では以下の変更が行われました。
• 付録 B「シミュレーション環境へのシミュレーション ライブラリのインポート」セクションを更新しました。
E 08/2024 この改訂では以下の変更が行われました。
• セクションを更新しましたview.
• 派生SDCのセクションを更新しました File.
• 付録 B「シミュレーション環境へのシミュレーション ライブラリのインポート」セクションを更新しました。
D 02/2024 このドキュメントは、v2024.1 からの変更なしで、Libero 2023.2 SoC Design Suite とともにリリースされています。
derive_constraints ユーティリティの操作に関するセクションを更新しました
C 08/2023 このドキュメントは、v2023.2 からの変更なしで、Libero 2023.1 SoC Design Suite とともにリリースされています。
B 04/2023 このドキュメントは、v2023.1 からの変更なしで、Libero 2022.3 SoC Design Suite とともにリリースされています。
A 12/2022 最初の改訂。

マイクロチップFPGAのサポート
マイクロチップFPGA製品グループは、カスタマーサービス、カスタマーテクニカルサポートセンター、 webサイト、および世界中の販売オフィス。
お客様の質問に対する回答がすでに提供されている可能性が高いため、サポートに連絡する前に Microchip のオンライン リソースにアクセスすることをお勧めします。
を通じてテクニカルサポートセンターに連絡してください webサイト サポート。 FPGAデバイスの部品番号を記載し、適切なケースカテゴリを選択して、デザインをアップロードします file■テクニカルサポートケースの作成中。
製品の価格設定、製品のアップグレード、更新情報、注文ステータス、承認など、技術以外の製品サポートについては、カスタマーサービスにお問い合わせください。

  • 北米からは800.262.1060にお電話ください
  • 海外からは650.318.4460にお電話ください
  • 世界中どこからでもファックス650.318.8044

マイクロチップ情報
マイクロチップ Webサイト
マイクロチップは、 webサイト www.microchip.com/。 これ webサイトは file顧客が簡単に利用できる情報を提供します。 利用可能なコンテンツには次のようなものがあります。

  • 製品サポート – データシートとエラッタ、アプリケーション ノートとampleプログラム、設計リソース、ユーザーガイド、ハードウェアサポートドキュメント、最新のソフトウェアリリース、アーカイブされたソフトウェア
  • 一般的なテクニカル サポート – よくある質問 (FAQ)、テクニカル サポートのリクエスト、オンライン ディスカッション グループ、Microchip デザイン パートナー プログラム メンバーのリスト
  • マイクロチップの事業–製品セレクターと注文ガイド、最新のマイクロチップのプレスリリース、セミナーとイベントのリスト、マイクロチップの営業所、販売代理店、工場の代表者のリスト

製品変更通知サービス
Microchip 社の製品変更通知サービスは、お客様が Microchip 社製品を最新の状態に保つのに役立ちます。 指定した製品ファミリまたは関心のある開発ツールに関連する変更、更新、改訂、または正誤表がある場合はいつでも、サブスクライバーは電子メール通知を受け取ります。 登録するには、にアクセスしてください www.microchip.com/pcn 登録手順に従ってください。

カスタマーサポート
Microchip 製品のユーザーは、いくつかのチャネルを通じてサポートを受けることができます。

  • 販売代理店または代理店
  • 現地営業所
  • エンベデッドソリューションエンジニア(ESE)
  • テクニカルサポート

サポートについては、販売代理店、担当者、または ESE にお問い合わせください。 現地の営業所もお客様をサポ​​ートします。 このドキュメントには、営業所と場所のリストが含まれています。 テクニカル サポートは、 webサイト: サポート
マイクロチップデバイスのコード保護機能
Microchip 製品のコード保護機能に関する次の詳細に注意してください。

  • Microchip 製品は、それぞれの Microchip データ シートに記載されている仕様を満たしています。
  • Microchip 社は、意図された方法で、動作仕様の範囲内で、通常の条件下で使用される場合、同社の製品ファミリは安全であると考えています。
  • マイクロチップは、その知的財産権を尊重し、積極的に保護します。 マイクロチップ製品のコード保護機能に違反する試みは固く禁じられており、デジタルミレニアム著作権法に違反する可能性があります。
  • Microchip 社も他の半導体メーカーも、自社のコードのセキュリティを保証することはできません。コード保護は、製品が「破られない」ことを保証するものではありません。コード保護は常に進化しています。Microchip 社は、自社製品のコード保護機能を継続的に改善することに尽力しています。

法的通知
この出版物およびここに記載されている情報は、Microchip製品の設計、テスト、およびアプリケーションとの統合を含め、Microchip製品でのみ使用できます。 この情報を他の方法で使用すると、これらの条件に違反します。 デバイスアプリケーションに関する情報は、お客様の便宜のためにのみ提供されており、更新によって置き換えられる場合があります。 アプリケーションが仕様を満たしていることを確認するのはユーザーの責任です。 追加のサポートについては、最寄りのMicrochip営業所にお問い合わせいただくか、次のURLで追加のサポートを受けてください。 www.microchip.com/en-us/support/design-help/client-support-services.
この情報は MICROCHIP によって「現状のまま」提供されます。 マイクロチップは、非侵害、商品性、および特定の目的への適合性の黙示の保証、または保証を含むがこれらに限定されない情報に関連して、明示的または黙示的、書面または口頭、法定またはその他を問わず、いかなる種類の表明または保証も行いません。その状態、品質、または性能に関連しています。 マイクロチップは、情報またはその使用に関連するあらゆる種類の間接的、特別、懲罰的、偶発的、または結果的な損失、損害、費用、または費用について、いかなる場合でも、たとえマイクロチップが事前に知らされていた場合でも、責任を負わないものとします。可能性または損害は予測可能です。 法律で認められる最大限の範囲で、情報またはその使用に関連するあらゆる請求に対する MICROCHIP の総責任は、お客様がその情報について MICROCHIP に直接支払った金額 (該当する場合) を超えないものとします。
Microchip 社のデバイスを生命維持および/または安全アプリケーションで使用する場合のリスクはすべて購入者の責任であり、購入者は、そのような使用から生じるあらゆる損害、賠償、訴訟、または費用から Microchip 社を防御し、補償し、免責することに同意するものとします。特に明記されていない限り、Microchip 社の知的財産権に基づくライセンスは、暗黙的またはその他の方法で譲渡されることはありません。
商標
Microchip の名前とロゴ、Microchip ロゴ、Adaptec、AVR、AVR ロゴ、AVR Freaks、BesTime、BitCloud、CryptoMemory、CryptoRF、dsPIC、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、maXTouch、 MediaLB、megaAVR、Microsemi、Microsemi ロゴ、MOST、MOST ロゴ、MPLAB、OptoLyzer、PIC、picoPower、PICSTART、PIC32 ロゴ、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SST ロゴ、SuperFlash、Symmetricom 、SyncServer、Tachyon、TimeSource、tinyAVR、UNI/O、Vectron、および XMEGA は、米国およびその他の国における Microchip Technology Incorporated の登録商標です。
AgileSwitch、ClockWorks、The Embedded Control Solutions Company、EtherSynch、Flashtec、Hyper Speed Control、HyperLight Load、Libero、motorBench、mTouch、Powermite 3、Precision Edge、ProASIC、ProASIC Plus、ProASIC Plus ロゴ、Quiet-Wire、SmartFusion、SyncWorld、TimeCesium、TimeHub、TimePictra、TimeProvider、および ZL は、米国 Microchip Technology Incorporated の登録商標です。
隣接キー抑制、AKS、アナログ・フォー・ザ・デジタル時代、Any Capacitor、AnyIn、AnyOut、拡張スイッチング、BlueSky、BodyCom、Clockstudio、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、動的平均マッチング、DAM、ECAN、Espresso T1S、EtherGREEN、EyeOpen、GridTime、IdealBridge、IGaT、インサーキット シリアル プログラミング、ICSP、INICnet、インテリジェント並列化、IntelliMOS、チップ間接続、JitterBlocker、ノブ オン ディスプレイ、MarginLink、maxCrypto、最大View、memBrain、Mindi、MiWi、MPASM、MPF、MPLAB 認定ロゴ、MPLIB、MPLINK、mSiC、MultiTRAK、NetDetach、Omniscient Code Generation、PICDEM、PICDEM.net、PICkit、PICtail、Power MOS IV、Power MOS 7、PowerSmart、PureSilicon、QMatrix、REAL ICE、Ripple Blocker、RTAX、RTG4、SAM-ICE、Serial Quad I/O、simpleMAP、SimpliPHY、SmartBuffer、SmartHLS、SMART-IS、storClad、SQI、SuperSwitcher、SuperSwitcher II、Switchtec、SynchroPHY、Total Endurance、Trusted Time、TSHARC、Turing、USBCheck、VariSense、VectorBlox、VeriPHY、 ViewSpan、WiperLock、XpressConnect、ZENA は、米国およびその他の国における Microchip Technology Incorporated の商標です。
SQTPは米国Microchip Technology Incorporatedのサービスマークです。
Adaptecのロゴ、Frequency on Demand、Silicon Storage Technology、およびSymmcomは、他の国におけるMicrochipTechnologyInc.の登録商標です。
GestIC は、Microchip Technology Inc. の子会社である Microchip Technology Germany II GmbH & Co. KG の他の国における登録商標です。
ここに記載されているその他すべての商標は、それぞれの会社の所有物です。
2024、Microchip Technology Incorporated およびその子会社。無断複写・転載を禁じます。
ISBN: 978-1-6683-0183-8
品質管理システム
マイクロチップの品質管理システムの詳細については、 www.microchip.com/quality.
世界的な販売とサービス

アメリカ大陸  アジア太平洋  アジア太平洋  ヨーロッパ
本社
2355 ウエスト チャンドラー ブールバード
チャンドラー、アリゾナ85224-6199
電話: 480-792-7200
ファックス: 480-792-7277
テクニカルサポート: サポート
Web 住所: マイクロチップ
アトランタ
ジョージア州ダルース
電話: 678-957-9614
ファックス: 678-957-1455
オースティン、テキサス州
電話: 512-257-3370
ボストン
マサチューセッツ州ウェストボロ
電話: 774-760-0087
ファックス: 774-760-0088
シカゴ
イリノイ州イタスカ
電話: 630-285-0071
ファックス: 630-285-0075
ダラス
アディソン、テキサス州
電話: 972-818-7423
ファックス: 972-818-2924
デトロイト
ミシガン州ノバイ
電話: 248-848-4000
ヒューストン、テキサス州
電話: 281-894-5983
インディアナポリス
ノーブルズビル、インディアナ州
電話: 317-773-8323
ファックス: 317-773-5453
電話: 317-536-2380
ロサンゼルス
カリフォルニア州ミッションビエホ
電話: 949-462-9523
ファックス: 949-462-9608
電話: 951-273-7800
ノースカロライナ州ローリー
電話: 919-844-7510
ニューヨーク、ニューヨーク州
電話: 631-435-6000
カリフォルニア州サンノゼ
電話: 408-735-9110
電話: 408-436-4270
カナダ – トロント
電話: 905-695-1980
ファックス: 905-695-2078
オーストラリア – シドニー
電話: 61-2-9868-6733
中国 – 北京
電話: 86-10-8569-7000
中国–成都
電話: 86-28-8665-5511
中国 – 重慶
電話: 86-23-8980-9588
中国–東莞
電話: 86-769-8702-9880
中国 – 広州
電話: 86-20-8755-8029
中国–杭州
電話: 86-571-8792-8115
中国–香港SAR
電話: 852-2943-5100
中国–南京
電話: 86-25-8473-2460
中国–青島
電話: 86-532-8502-7355
中国 – 上海
電話: 86-21-3326-8000
中国–瀋陽
電話: 86-24-2334-2829
中国–深セン
電話: 86-755-8864-2200
中国–蘇州
電話: 86-186-6233-1526
中国–武漢
電話: 86-27-5980-5300
中国–西安
電話: 86-29-8833-7252
中国–厦門
電話: 86-592-2388138
中国–朱海
電話: 86-756-3210040
インド – バンガロール
電話: 91-80-3090-4444
インド–ニューデリー
電話: 91-11-4160-8631
インド–プネー
電話: 91-20-4121-0141
日本–大阪
電話: 81-6-6152-7160
日本 – 東京
Tel:81-3-6880-3770
韓国–大邱
電話: 82-53-744-4301
韓国–ソウル
電話: 82-2-554-7200
マレーシア–クアラルンプール
電話: 60-3-7651-7906
マレーシア–ペナン
電話: 60-4-227-8870
フィリピン – マニラ
電話: 63-2-634-9065
シンガポール
電話: 65-6334-8870
台湾– Hsin Chu
電話: 886-3-577-8366
台湾–高雄
電話: 886-7-213-7830
台湾–台北
電話: 886-2-2508-8600
タイ – バンコク
電話: 66-2-694-1351
ベトナム–ホーチミン
電話: 84-28-5448-2100
オーストリア–ヴェルス
電話: 43-7242-2244-39
ファックス: 43-7242-2244-393
デンマーク – コペンハーゲン
電話: 45-4485-5910
ファックス: 45-4485-2829
フィンランド–エスポー
電話: 358-9-4520-820
フランス – パリ
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
ドイツ – ガルヒング
電話: 49-8931-9700
ドイツ–ハーン
電話: 49-2129-3766400
ドイツ – ハイルブロン
電話: 49-7131-72400
ドイツ–カールスルーエ
電話: 49-721-625370
ドイツ – ミュンヘン
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
ドイツ – ローゼンハイム
電話: 49-8031-354-560
イスラエル – ホド・ハシャロン
電話: 972-9-775-5100
イタリア–ミラノ
電話: 39-0331-742611
ファックス: 39-0331-466781
イタリア–パドヴァ
電話: 39-049-7625286
オランダ– Drunen
電話: 31-416-690399
ファックス: 31-416-690340
ノルウェー–トロンハイム
電話: 47-72884388
ポーランド – ワルシャワ
電話: 48-22-3325737
ルーマニア – ブカレスト
Tel: 40-21-407-87-50
スペイン–マドリード
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
スウェーデン–ヨーテボリ
Tel: 46-31-704-60-40
スウェーデン – ストックホルム
電話: 46-8-5090-4654
英国–ウォーキンガム
電話: 44-118-921-5800
ファックス: 44-118-921-5820

マイクロチップ - ロゴ

ドキュメント / リソース

MICROCHIP DS00004807F PolarFire ファミリー FPGA カスタム フロー [pdf] ユーザーガイド
DS00004807F PolarFire ファミリー FPGA カスタム フロー、DS00004807F、PolarFire ファミリー FPGA カスタム フロー、ファミリー FPGA カスタム フロー、カスタム フロー、フロー

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *