使い始めユーザーガイド: インテル Quartus Prime プロ・エディション
インテル Quartus Prime プロ・エディションの紹介
インテル® Quartus® Prime プロ・エディション のソフトウェアは柔軟なデザイン手法、高度な合成を提供し、最新の Intel® FPGAアーキテクチャをサポートしています。 インテル® Quartus® Primeソフトウェアを使用すると、デザイン・ツールではなく、デザインに集中することが容易になります。 インテル® Quartus® Prime プロ・エディション のコンパイラーは最新の インテル® Arria® 10 、 インテル® Cyclone® 10 、および インテル® Stratix® 10デバイスに最適化されています。コンパイラーは、強力でカスタマイズ可能なデザイン処理を提供し、シリコンで最高のデザイン実装を実現します。 インテル® Quartus® Prime プロ・エディション のソフトウェアは、他のQuartusソフトウェア製品では使用できない他の多くのユニークな機能を提供します。
モジュール式コンパイラ-は、FPGA開発プロセスを合理化し、最小限の労力で最高のパフォーマンスを保証します。 インテル® Quartus® Prime プロ・エディション のソフトウェアは、以下のユニークな機能を提供します。
- Hyper-Aware Design Flow - インテル® Stratix® 10デバイスでのHyper-RetimingグおよびFast Forwardコンパイルを使用します。
- インテル® Quartus® Prime プロ・エディション のシンセシス - すべての主要なIEEE RTL言語をサポートする、強化されたアルゴリズムと並列合成機能を備えた、より厳格な新しい言語パーサーを統合します。 SystemVerilog 2009のサポートが追加されました。
- 階層的なプロジェクト構造 - 個々のデザイン・エンティティごとに個々の合成後、配置後、配置後および結果の結果を保存します。他のパーティションの配置やルーティングに影響を与えずに最適化を可能にします。
- インクリメンタル・フィッター最適化 - フィッター・ステージを徐々に実行して最適化します。各フィッター・ステージは詳細なレポートを生成します。
- 高速でより正確なI/O配置—Platform DesignerによるインターフェイスI/O のプランニング。
- Platform Designer—Platform Designerのシステム・デザインとカスタムIP統合機能を構築します 。 Platform Designerに インテル® Quartus® Prime プロ・エディション のシステム相互接続とIPコンポーネント間の階層的な分離が導入されています。
- パーシャル・リコンフィグレーション—FPGAの一部の再構成をサポートし、残りの インテル® Arria® 10 FPGAは引き続き機能します。
- ブロックベースのデザインフローをサポートし、コンパイルのさまざまな段階でデザインブロックを保存および再利用できます。
インテルは現在、以下の インテル® Quartus® Primeツール名を参照しています。
Altera名 | Intel® 名 |
---|---|
Qsys | Platform Designer |
BluePrint | Interface Planner |
TimeQuest | Timing Analyzer |
EyeQ | Eye Viewer |
JNEye | Advanced Link Analyzer |
インテル Quartus Prime のソフトウェア版の選択
インテル® Quartus® Prime プロ・エディション のソフトウェアには、 インテル® Quartus® Prime スタンダード・エディション のソフトウェアには含まれていない多くのユニークな機能が含まれています。ただし、 インテル® Quartus® Prime プロ・エディション のソフトウェアは、 インテル® Quartus® Prime スタンダード・エディション のソフトウェアのすべての機能をサポートしていません。
プロジェクトの要件とタイムラインを考慮して、 インテル® Quartus® Prime スタンダード・エディションまたは インテル® Quartus® Prime プロ・エディション のソフトウェアがあなたに最も適しています。決定には次の要素を使用します。
- インテル® Quartus® Prime プロ・エディション のソフトウェアは インテル® Arria® 10 、 インテル® Cyclone® 10 GX 、および インテル® Stratix® 10デバイスのみサポートしています。デザインが他のIntel FPGAデバイスをターゲットをすること場合、 インテル® Quartus® Prime スタンダード・エディションを選択してください 。
- 新しい インテル® Arria® 10、 インテル® Cyclone® 10 GX、または インテル® Stratix® 10デザインを開始する場合、または独自の インテル® Quartus® Prime プロ・エディション機能が必要なデザインの場合、 インテル® Quartus® Prime プロ・エディションを選択します。
-
インテル®
Quartus® Prime プロ・エディション
のソフトウェアは以下の
インテル®
Quartus® Prime スタンダード・エディション機能をサポートしていません。
- I/Oタイミング解析
- NativeLinkサードパーティツールの統合
- ビデオおよび画像処理スイートIPコア
- トークバック機能
- さまざまなレジスター・マージおよび複製設定
- ノードレベルのネットリストを.vqmとして保存
- プロジェクトのリビジョンを比較
インテル Quartus Prime プロ・エディション改訂履歴
ドキュメント・バージョン | バージョン | 変更内容 |
---|---|---|
2018.05.07 | 18.0 |
Getting Started User Guide.の別の章としての初期リリース。 インテル® Quartus® Prime プロ・エディションをユーザガイドの独立した章として分離しました。 |
2017.11.06 | 17.1.0 |
|
2017.05.08 | 17.0.0 |
|
2016.10.31 | 16.1.0 |
|
2016.05.03 | 16.0.0 |
|
2015.11.02 | 15.1.0 |
|
インテル Quartus Prime プロジェクトの管理
File > New Project Wizardをクリックして、新しいデザイン・プロジェクトをすばやく設定して作成します。

プロジェクトを開くと、統一されたGUIに統合されたプロジェクト情報が表示されます。プロジェクトは、デザイン階層、ライブラリ、制約、およびプロジェクト設定に関する情報をカプセル化します。
プロジェクトの複数のリビジョンを保存して、デザイン目標を達成する設定を試すことができます。 インテル® Quartus® Primeプロジェクトはチームベースの分散ワークフローとスクリプト・インターフェイスをサポートします。
インテル Quartus Primeプロジェクトの理解
ファイルタイプ | 含有 | Edit | フォーマット |
---|---|---|---|
プロジェクトファイル | プロジェクト名とリビジョン名 | File > New Project Wizard | Quartus インテル® Quartus® Prime Project File (.qpf) |
プロジェクトの設定 | デザインファイル、エンティティ設定、ターゲットデバイス、合成指令、配置制約のリスト | Assignments > Settings | Quartus II Settings File (.qsf) |
タイミング制約 | クロック・プロパティー、例外、セットアップ/ホールド | Tools > Timing Analyzer | Synopsys Design Constraints Files (.sdc)Synopsys Design Constraints Files |
モジュール・デザイン・ファイル | RTLおよびその他のデザイン・ソース・ファイル | File > New | All supported HDL files |
プログラミング・ファイル | デバイス・プログラミングのイメージと情報 | Tools > Programmer | SRAM Object File (.sof)Programmer Object File (.pof) |
プロジェクト ・ライブラリー | プロジェクトとグローバル・ライブラリーの情報 | Tools > Options > Library |
.qsf (project) quartus2.ini (global) |
IP コア・ファイル | IPコア・バリエーションのパラメーター化 | Tools > IP catalog | インテル® Quartus® Prime IP File (.ip) |
Platform Designer システムファイル | Platform Designer システムおよびIPコアファイル | Tools > Platform Designer | Platform Designer System File (.qsys) |
EDAツールの設定 | サードパーティーEDAツール用のQuartus II生成ファイル | Assignments > Settings > EDA Tool Settings | Verilog
Output File (.vo) VHDL Output File (.vho) Verilog Quartus Mapping File (.vqm) |
アーカイブファイル | 単一の圧縮ファイルとしてプロジェクトの完成 | Project > Archive Project | インテル® Quartus® Prime Archive File (.qar) |
基本的なプロジェクト情報の表示
Project Navigatorタブ | 変更内容 |
---|---|
Files | 現在のプロジェクトのすべてのデザインファイルを一覧表示します。
このタブのデザインファイルを右クリックして、次のコマンドを実行します。
|
Hierarchy | プロジェクト階層、特定のリソース使用情報、デバイスおよびデバイスファミリーの情報を視覚的に表示します。階層内の項目のLocate、Set as Top-Level Entityを右クリックして、またはLogic Lock領域またはデザイン区画を定義します。 |
Design Unit | プロジェクトのデザイン単位を表示します。 Locate in Design Fileに探索するためにデザイン単位を右クリックします 。 |
IP Components | インテル® FPGA IP、Platform Designerコンポーネント、およびサードパーティのIPなど、プロジェクトでインスタンス化されたIPを構成するデザインファイルを表示します。 このタブからLaunch IP Upgrade Toolをクリックして、古いIPコンポーネントをアップグレードします。 パラメータ・エディターで編集するにはIPコンポーネントを右クリックします。 |

Project Reportsトの表示
- Synthesisレポート
- Fitterレポート
- Timing Analysisレポート
- Power Analysisレポート
- Signal Integrityレポート
これらのレポートの詳細なプロジェクト情報を分析して、適切な実装を決定します。レポートデータを右クリックして、プロジェクト・ファイル内のソースを見つけて編集します。
プロジェクト・メッセージの表示
- Processingタブ - 最新のプロセスからのメッセージを表示します。
- Systemタブ - デザイン処理とは無関係のメッセージを表示します。
- Search - 特定のメッセージを配置します。
コマンドライン実行可能ファイルを使用すると、メッセージはstdoutに書き込まれます。

重要でないメッセージの表示を抑制して、有効なメッセージを隠すことができます。

メッセージの抑制
- Suppress Messages 正確なテキストに一致するすべてのメッセージを抑制する。
- Suppress Messages with Matching ID メッセージID番号に一致するすべてのメッセージを抑制し、変数を無視する。
- Suppress Messages with Matching Keyword—キーワードまたは階層に一致するすべてのメッセージを抑制する。
メッセージ抑制方法
- エラーまたはIntel法的合意のメッセージを抑制することはできません。
- メッセージを抑制すると、すべてのサブメッセージも抑制されます。
- メッセージの抑制は、プロジェクトのリビジョンごとに異なります。デリバティブ・プロジェクトの改訂は、いかなる抑制も継承します。
- コンパイル中にメッセージや抑制ルールを編集することはできません。
Compilation Dashboardの使用
プロジェクトを開くと、Compilation Dashboardがデフォルトで表示されます。Compilation Dashboardを手動で開くには、TasksウィンドウでCompilation Dashboardをクリックします。Compilation DashboardからCompilation Reportにアクセスすることもできます。
Project Settingsの管理
Tasksペインで、Settingsをクリックして次のようなグローバル・プロジェクト設定にアクセスします。
- プロジェクト・ファイルのリスト
- 合成指示と制約
- ロジックオプションとコンパイラー・エフォート・レベル
- 配置の制約
- タイミング制約ファイル
- 動作温度の制限と条件
- 他のEDAツールのファイル生成
- デバイスをターゲットに設定する([ Device ]をクリック)
- 開発キットをターゲットにする
.qsfには、各プロジェクト・リビジョンのプロジェクト設定が保存されます。 インテル® Quartus® Prime のデフォルト設定ファイル( <revision name> _assignment_defaults.qdf )は、新しいプロジェクト・リビジョンごとにデフォルト設定と制約を保存します。

Assignment Editor( Assignments>Assignment Editor )は、すべてのインスタンス固有の設定と制約を割り当てるためのスプレッドシートのようなインターフェイスを提供します。

Project Settingsの最適化
インテル® Quartus® Prime ソフトウェアには、デザインの最適化とコンパイル時間の短縮に役立つ複数のアドバイザーが含まれています。 ToolsAdvisorsメニューにリストされているアドバイザーは、プロジェクト設定およびデザイン制約に基づいて推奨事項を提供できます。
Design Space Explorer IIの最適化
DSE IIは複数のシードを試行して、要件を満たすシードを識別します。 DSE IIは、タイミングクロージャを合理化するために複数のコンピューターで異なるコンパイルを並行して実行することができます。

プロジェクト・リビジョンによる最適化
各リビジョンは、プロジェクト設定と制約の固有のセットを取得しますが、ロジック・デザイン・ファイルの変更は取得されません。 リビジョンを使用して、オリジナルを保存しながらさまざまな設定を試してみてください。 さまざまなアプリケーションのさまざまなリビジョンを最適化します。 次のリビジョンを使用します。
- 独自のリビジョンを作成することにより、あるリビジョンでは面積について最適化し、別のリビジョンではfMAX について最適化するなど、異なる性能特性に対してデザインを最適化できます。
- 新しいリビジョンを作成すると、デフォルトの インテル® Quartus® Prime設定が最初に適用されます。
- 設定と制約を試すリビジョンのリビジョンを作成します。 子リビジョンには親リビジョンのすべての割り当てと設定が含まれます。
Revisionsダイアログボックスでリビジョンを作成、削除、および編集します。 新しいプロジェクト・リビジョンを作成するたびに、 インテル® Quartus® Primeソフトウェアはリビジョン名を使用して新しい.qsfが作成されます。
プロジェクトのコピー
コンパイラー・アサインメントのコピー(バック・アノテーション)
Compilerは、フィッティング中にデザインの要素を特定のデバイスとリソースにマップします。 コンパイル後、Compilerのデバイスとリソースの割り当てを.qsfにコピーして、以降のコンパイルで同じ実装を保持することができます。
デバイスリソースのアサインメントを.qsfに適用するには、Assignments > Back-Annotate Assignmentsをクリックします。 Back-annotation typeリストでバック・アノテート・タイプを選択します。
ロジック・デザイン・ファイルの管理
インテル® Quartus® Primeソフトウェアには、フル機能の回路図エディターやテキスト・エディター、デザイン作業を高速化するHDLテンプレートが含まれています。 インテル® Quartus® Primeソフトウェアは、VHDL Design Files(.vhd)、Verilog HDL Design Files(.v)、SystemVerilog(.sv)およびスケマティックBlock Design Files(.bdf)をサポートします。 さらに、コンポーネントファイルをPlatform Designerシステム(.qsys)に組み込み、ロジック・デザイン・ファイルをIntelおよびサードパーティーのIPコア・デザイン・ファイルと組み合わせることができます。
新しいプロジェクト・ウィザードでは、ロジック・デザイン・ファイルを特定するよう求められます。 プロジェクト内のファイルのProject > Add/Remove Files in Projectをクリックして、プロジェクトファイルを追加または削除します。 Project Navigatorでプロジェクトのロジック・デザイン・ファイルを表示します。

Project Navigatorのファイルを右クリックして、次の操作を行います。
- ファイルにOpenをクリックして編集します。
- Remove File from Project をクリックします。
- プロジェクト・リビジョンにはSet as Top-Level Entity をクリックします。
- スケマティック・エディターに表示するためにCreate a Symbol File for Current Fileをクリックします。
- SOFファイル・プロパティーを編集します。
デザイン・ライブラリーの組み込み
quartus2.iniファイルには、グローバル・ライブラリー情報が格納されています。
デザイン・ライブラリーの指定
- Assignment > Settingsをクリックします。
- Librariesをクリックし、Project Library nameまたはGlobal Library nameを指定します。 あるいは、.qsfにSEARCH_PATH、そしてquartus2.iniファイルにグローバル・ライブラリーを指定してプロジェクトライブラリを指定することもできます。
タイミング制約の管理
Timing Analyzer(Tools > Timing Analyzer)または.sdcファイルでタイミング制約を指定します。 解析を実行する前に、クロック特性、タイミング例外、外部信号のセットアップとホールド時間の制約を指定します。 Timing Analyzerは、デザインのパフォーマンスに関する詳細な情報をCompilation Reportパネルの制約と比較してレポートします。
GUIで指定した制約を業界標準のSynopsys Design Constraints File(.sdc)に保存します。 その後、テキストベースの.sdcファイルを直接編集することができます。 親の.sdcファイル内の複数の.sdcファイルを参照する場合、Timing Analyzerはリストに表示された順序で.sdcファイルを読み出します。
インテル FPGA IPコアの紹介
インテル® Quartus® Primeソフトウェアのインストールには インテル® FPGA IPライブラリーが含まれています。 最適化され検証された インテル® FPGA IPコアをデザインに統合して、デザイン・サイクルを短縮し、パフォーマンスを最大化します。 インテル® Quartus® Primeソフトウェアは、他のソースからのIPコアの統合もサポートしています。 IP Catalog(ToolsIP Catalog)を使用して、カスタムIPバリエーションの合成ファイルとシミュレーション・ファイルを効率的にパラメーター化して生成します。 インテル® FPGA IPライブラリーには、次のタイプのIPコアが含まれています。
- 基本機能
- DSP
- インターフェイス・プロトコル
- 低電力
- メモリー・インターフェイスとコントローラ
- プロセッサーとペリフェラル
このドキュメントでは、 インテル® Quartus® PrimeソフトウェアのスタンドアロンIPコアのパラメーター化、生成、アップグレード、およびシミュレーションに関する基本的な情報を提供します。
IP Catalog とパラメーター・エディター
- IP Catalog をShow IP for active device familyまたはShow IP for all device familiesでフィルターします。プロジェクトを開いていない場合は、IP Catalog 内でDevice Familyを選択します。
- IP Catalog に完全な、または部分的な IP コア名を検索フィールドに入力し、検索します。
- IP コアを右クリックしてサポートされるデバイスの詳細を IP Catalog に表示し、IP コアのインストール・フォルダーを開いて、IP ドキュメントへのリンクをクリックします。
- Search for Partner IPをクリックし、アルテラのウェブサイト上でパートナーの IP 情報へアクセスします。
パラメーター・エディターは、IP バリエーション名、オプショナルのポート、出力ファイルの生成オプションを指定するよう促します。また、パラメーター・エディターは、 インテル® Quartus® Prime プロ・エディション のプロジェクトでIP バリエーションに対しトップレベルの インテル® Quartus® Prime IP ファイル(.ip)を生成します。
パラメーター・エディター
- Presets ウィンドウを使用し、特定のアプリケーションにプリセット・パラメーター値を適用します。( 選択されたコア用 )
- Details ウィンドウを使用し、ポートとパラメーターの内容を表示し、ドキュメントへのリンクをクリックします。
- Generate > Generate Testbench Systemをクリックし、テストベンチ・システムを生成します。 ( 選択されたコア用 )
- Generate > Generate Example Design をクリックし、デザイン例を生成します。 ( 選択されたコア用 )
- Validate System Integrityをクリックし、コンパニオン・ファイルに対してシステムの汎用コンポーネントを検証します。(Qsys Pro システムのみ )
- Sync All System Infos をクリックして、コンパニオン・ファイルに対してシステムの汎用コンポーネントを検証する(Qsys Pro システムのみ)
IP Catalog は、Platform Designer (View > IP Catalog) でも使用可能です。Platform Designerの IP Catalog には、排他的なシステム・インターコネクト、ビデオと画像処理、並びに インテル® Quartus® Primeの IP Catalog では使用できないその他のシステムレベルの IP が含まれています。Platform Designer およびPlatform Designerの IP 使用について詳しくは、Creating a System with Platform Designer またはCreating a System with Platform Designer を参照してください。
IPカタログへのIPコアの追加
IPカタログには、 インテル® Quartus® Prime IPコンポーネントとPlatform Designerシステム、サードパーティーのIPコンポーネント、およびパスに含めるカスタムIPコンポーネントが表示されます。 IP Search Pathオプション(Tools > Options)を使用して、カスタムおよびサードパーティIPコンポーネントをIPカタログに含めることができます。
インテル® Quartus® Primeソフトウェアは、IP検索パスに記載されているディレクトリーを検索して、次のIPコアファイルを検索します。
- Component Description File (_hw.tcl)—単一のIPコアを定義します。
- IP Index File (.ipx)—各.ipxファイルは、使用可能なIPコアのコレクションのインデックスを作成します。 このファイルは、IPコアを検索するディレクトリーの相対パスを指定します。 一般に、.ipxファイルは高速検索を容易にします。
インテル® Quartus® Primeソフトウェアは、いくつかのディレクトリーを再帰的に検索し、他のディレクトリーは特定の深さまでしか検索しません。 検索が再帰的である場合、検索は__hw.tclまたは.ipxファイルを含む任意のディレクトリーで停止します。次の検索場所のリストでは、**は再帰的な降下を示します。
位置 | 変更内容 |
---|---|
<project_dir> |
インテル® Quartus® Primeのプロジェクト・ディレクトリー内のIPコンポーネントとインデックス・ファイルを検索します。 |
PROJECT_DIR/ip/**/* |
インテル® Quartus® Primeのプロジェクト・ディレクトリーの/ipサブディレクトリーの任意のサブディレクトリーにあるIPコンポーネントとインデックス・ファイルを検索します。 |
インテル® Quartus® Primeソフトウェアが同じ名前の2つのIPコアを認識する場合、次の検索パス優先ルールによってファイルの解像度が決まります。
- プロジェクト・ディレクトリー
- プロジェクト・データベース・ディレクトリー
- IP Search Locationsで指定されたプロジェクトIP検索パス、または現在のプロジェクト・リビジョンのSEARCH_PATH割り当てで指定します。
- IP Search Locationsで指定されたグローバルIP検索パス、またはquartus2.iniファイル内のSEARCH_PATH割り当てで指定します。
- <Quartus Installation>\libraries などのQuartusソフトウェアのライブラリー・ディレクトリー。
IPの一般設定
設定の位置 | 変更内容 |
---|---|
Tools > Options > IP
Settings
または、 Tasks pane > Settings > IP Settings (Pro Editionのみ) |
|
Tools > Options > IP Catalog Search Locations
または、 Tasks pane > Settings > IP Catalog Search Locations (Pro Editionのみ) |
|
インテル FPGA IP コアのインストールとライセンス取得
インテル® Quartus® Prime ソフトウェアはデフォルトでIP コアを以下のロケーションにインストールします。
位置い | ソフトウェア | プラットフォーム |
---|---|---|
<drive>:\intelFPGA_pro\quartus\ip\altera | インテル® Quartus® Prime プロ・エディション | Windows* |
<drive>:\intelFPGA\quartus\ip\altera | インテル® Quartus® Prime スタンダード・エディション | Windows |
<home directory>:/intelFPGA_pro/quartus/ip/altera | インテル® Quartus® Prime プロ・エディション | Linux* |
<home directory>:/intelFPGA/quartus/ip/altera | インテル® Quartus® Prime スタンダード・エディション | Linux |
IP コアの生成 ( インテル Quartus Prime プロ・エディション)
次の手順に従って、パラメーター・エディターでIPコアの場所の特定、インスタンス化、およびカスタマイズを行います。
- インテル® Quartus® Primeプロジェクト (.qpf) を作成するかまたは開き、インスタンス化されたIPのバリエーションを格納します。
- IP Catalog (Tools > IP Catalog) で、カスタマイズするIPコアの名前を見つけてダブルクリックします。特定のコンポーネントを検索するには、IP Catalog検索ボックスにコンポーネント名の一部または全部を入力します。New IP Variationウィンドウが表示されます。
-
カスタムIPバリエーションのトップレベル名を指定します。IPバリエーション名やパスには空白を含めないでください。パラメーター・エディターは、
<your_ip>
.ipという名前のファイルにIPバリエーションの設定を保存します。OKをクリックするとパラメーター・エディターが表示されます。
図 17. IPパラメーター・エディター ( インテル® Quartus® Prime プロ・エディション)
-
パラメーター・エディターでパラメーター値を設定し、コンポーネントのブロック・ダイアグラムを表示します。下部のParameterization Messagesタブには、IPパラメーターのエラーが表示されます。
- 使用するIPコアにパラメーター値のプリセットが提供されている場合は、必要に応じてそれを選択できます。プリセットにより、それぞれのアプリケーションの初期パラメーター値が指定されます。
- IPコアの機能、ポートのコンフィグレーション、およびデバイス固有の機能を定義するパラメーターを指定します。
- 他のEDAツールでIPコアファイルを処理するオプションを指定します。
注: 特定のIPコア・パラメーターの詳細については、IPコアのユーザーガイドを参照してください。 - Generate HDLをクリックして、Generationダイアログボックスを表示します。
- 出力ファイルの生成オプションを指定し、Generateをクリックします。合成ファイルおよびシミュレーション・ファイルが仕様に応じて生成されます。
- シミュレーション向けテストベンチを生成するには、Generate > Generate Testbench Systemをクリックします。テストベンチの生成オプションを指定し、Generateをクリックします。
- テキスト・エディターにコピー・アンド・ペーストが可能なHDLインスタンス化のテンプレートを生成するには、Generate > Show Instantiation Templateをクリックします。
- Finishをクリックします。 IPバリエーションを表すファイルをプロジェクトに追加するかどうかを確認するメッセージが表示されたら、Yesをクリックします。
-
IPバリエーションの生成とインスタンス化の完了後は、適切にピンを割り当て、ポートを接続します。
注: 一部のIPコアは、IPコアのパラメーターに従って、異なるHDL実装を生成します。これらのIPコアの基になるRTLには、固有のハッシュコードが含まれています。これは異なるバリエーションのIPコア間でのモジュール名の衝突を防止するためです。この一意のコードは、IPコアのパラメーターを編集するか、IPコアのバージョンをアップグレードすると変わることがあります。シミュレーション環境でこれらの固有コードへの依存関係を回避するには、Generating a Combined Simulator Setup Scriptを参照してください。
IP コア生成の出力 ( インテル Quartus Prime プロ・エディション)
ファイル名 |
説明 |
---|---|
<your_ip>.ip |
プロジェクトでの IP コアのパラメーター化を含むトップレベルの IP バリエーション・ファイルです。IP バリエーションがPlatform Designerシステムの一部の場合、パラメーター・エディターは.qsys ファイルを生成します。 |
<your_ip>.cmp | VHDL デザインファイルで使用するローカル・ジェネリックとポート定義を含むテキストファイルである.cmp (VHDL Component Declaration) ファイルです。 |
<your_ip>_generation.rpt | IP またはPlatform Designer 生成のログファイルです。IP 生成時のメッセージの要約を示します。 |
<your_ip>.qgsimc (Platform Designerシステムのみ ) |
.qsysと.ipファイルをPlatform Designerシステムと IP コアの現在のパラメーター化と比較するシミュレーション・キャッシング・ファイルです。この比較は、Platform Designerが HDL の再生成をスキップできるかどうかを決定します。 |
<my_ip>.qgsynth (Platform Designer システムのみ) |
.qsysと.ipファイルをPlatform Designerシステムと IP コアの現在のパラメーター化と比較する合成キャッシング・ファイルです。この比較は、Platform Designerが HDL の再生成をスキップできるかどうかを決定します。 |
<your_ip>.qip |
IP コンポーネントを統合し、コンパイルするためのすべての情報を含みます。 |
<your_ip>.csv | IP コンポーネントのアップグレード・ステータスに関する情報を含みます。 |
<your_ip>.bsf |
Block Diagram ファイル (.bdf) で使用する IP バリエーションの表記です。 |
<your_ip>.spd |
シミュレーション・スクリプトの生成のためにip-make-simscript で必要な入力ファイル。.spd ファイルは、シミュレーション向けに生成されるファイルのリスト、およびユーザーが初期化するメモリーの情報を含みます。 |
<your_ip>.ppf | Pin Planner で使用するために作成する IP コンポーネントのポートとノードの割り当てを格納する Pin Planner ファイル (.ppf)です。 |
<your_ip>_bb.v | ブラックボックスとして使用するために、empty のモジュール宣言として使用する_bb.v(Verilog blackbox)ファイルです。 |
<your_ip>_inst.v or _inst.vhd | HDL 例のテンプレート・インスタンスです。IP バリエーションのインスタンス化には、このファイル内容をコピーして、HDL ファイルに張り付けます。 |
<your_ip>.regmap | IP がレジスター情報を含む場合、 インテル® Quartus® Prime ソフトウェアは.regmap ファイルを生成します。.regmap ファイルは、マスターおよびスレーブ・インターフェイスのレジスターマップ情報を記述しています。このファイルは、システムに関するより詳細なレジスター情報を提供することで、.sopcinfo ファイルを補完します。このファイルにより、System Console のレジスター・ディスプレイ・ビューとユーザーのカスタマイズ可能な統計が可能となります。 |
<your_ip>.svd |
Platform Designer システム内で HPS に接続されているペリフェラルのレジスターマップを HPS System Debug ツールで表示できるようにします。 合成中、 インテル® Quartus® Prime ソフトウェアは、デバッグセクションで System Console マスターが認識可能なスレーブ・インターフェイスの.svd ファイルを.sof ファイルに格納します。System Console はこのセクションをリードし、これによりPlatform Designer がレジスターマップ情報を照会します。システムスレーブに対しては、Platform Designer は名称によりそのレジスターにアクセスします。 |
<your_ip>.v <your_ip>.vhd | 合成またはシミュレーション向けに各サブモジュールまたは IP コアをインスタンス化する HDL ファイルです。 |
mentor/ |
シミュレーションの設定および動作のためのModelSim スクリプトであるmsim_setup.tcl を含みます。 |
aldec/ |
シミュレーションの設定および動作のためにRiviera-PRO スクリプトであるrivierapro_setup.tcl を含みます。 |
/synopsys/vcs /synopsys/vcsmx |
VCS シミュレーションの設定および動作のためのシェルスクリプトであるvcs_setup.sh を含みます。 VCS MX シミュレーションの設定および動作のためのシェルスクリプトであるvcsmx_setup.sh およびsynopsys_sim.setup ファイルを含みます。 |
/cadence |
NCSIM シミュレーションの設定および動作のためのシェルスクリプトであるncsim_setup.sh およびその他の設定ファイルを含みます。 |
/xcelium |
NCSIM シミュレーションの設定および動作のためのシェルスクリプトであるncsim_setup.sh およびその他の設定ファイルを含みます。 |
/submodules | IP コア・サブモジュールの HDL ファイルを含みます。 |
<IP submodule>/ | Platform Designerは、Platform Designerが生成する各 IP サブモジュール・ディレクトリーの/synthおよび /sim サブディレクトリーを生成します。 |
IPコアの生成のスクリプト化
コマンドラインでIPコアをパラメーター化して生成するには、次の手順を実行します。
- qsys-scriptを実行してIPをインスタンス化し、必要なパラメーターを設定するTclスクリプトを起動します。
qsys-script --script=<script_file>.tcl
- qsys-generateを実行して、IPコアバリエーションを生成します。
qsys-generate<IP variation file>.qsys
オプション | 使用方法 | 変更内容 |
---|---|---|
<1st arg file> |
要 |
生成する.qsysシステムファイルの名前を指定します。 |
--synthesis=<VERILOG|VHDL> |
オプション |
Platform Designerプロジェクトが インテル® Quartus® Primeプロジェクトでシステムをコンパイルするために使用する合成HDLファイルを作成します。 システムのトップレベルRTLファイルの生成言語を指定します。 デフォルト値はVERILOGです。 |
--block-symbol-file |
オプション |
Platform DesignerシステムのBlock Symbol File (.bsf)を作成します。 |
--greybox | オプション | サードパーティのEDA合成ツールを使用してデザインを合成する場合、合成ツールのネットリストを生成して、このデザインのタイミングとリソース使用量を見積もります。 |
--ipxact | オプション | このオプションをtrueに設定すると、Platform Designerはポスト・ジェネレーション・システムをIPXACT互換のコンポーネント記述として与えます。 |
--simulation=<VERILOG|VHDL> |
オプション |
Platform Designerシステムのシミュレーション・モデルを作成します。 シミュレーション・モデルには、シミュレーター用に生成されたHDLファイルが含まれており、シミュレーション専用の機能が含まれている場合があります。 優先するシミュレーション言語を指定します。 デフォルト値はVERILOGです。 |
--testbench=<SIMPLE|STANDARD> |
オプション |
元のシステムをインスタンス化し、バス機能モデル(BFM)を追加して最上位インターフェイスを駆動するテストベンチ・システムを作成します。 システムを生成すると、BFMはシミュレーター内のシステムと対話します。 デフォルト値はSTANDARDです。 |
--testbench-simulation=<VERILOG|VHDL > |
オプション |
テストベンチ・システムを作成したら、テストベンチ・システム用のシミュレーション・モデルを作成します。 デフォルト値はVERILOGです。 |
--example-design=<value> | オプション |
.サンプル・デザイン・ファイルを作成します。 たとえば、--example-designまたは--example-design=all。デフォルトはAllです。すべてのインスタンスのデザイン例が生成されます。 または、インスタンス名とファイルセット名に基づいて特定のファイルセットを選択します。 例えば--example-design=instance0.example_design1,instance1.example_design 2。 サンプル・デザイン・ファイルの作成に出力ディレクトリを指定します。 |
--search-path=<value> | オプション |
このコマンドを省略すると、Platform Designerは標準のデフォルトパスを使用します。このコマンドを指定すると、Platform Designerはコンマで区切られたパスのリストを検索します。 置き換えに標準パスを含めるには、 "/extra/dir,$"のように "$"を使用しまします。 |
--family=<value> | オプション |
該当するデバイスファミリーの名前を確認します。 |
--part=<value> | オプション | デバイスの部品番号を設定します。 設定されている場合、このオプションは--familyオプションよりも優先されます。 |
--upgrade-variation-file | オプション |
このオプションをtrueに設定すると、このコマンドのfile引数にはIPバリアントを含む.vファイルが使用されます。 このファイルは、同じ名前のPlatform Designerのシステム内の対応するインスタンスをパラメーター化します。 |
--upgrade-ip-cores | オプション |
Platform DesignerシステムでのアップグレードをサポートするすべてのIPコアのアップグレードを可能にします。 |
--bottom_up_scripts_output_directory=output directory | オプション |
選択したターゲットに対応する出力ディレクトリ、つまりシミュレーションまたは合成をクリアします。 |
--jvm-max-heap-size=<value> |
オプション |
qsys-generateを実行しているときにPlatform Designerが使用する最大メモリーサイズ。 値を< size><unit >として指定します。単位は、メガバイトの倍数ではm(またはM)、ギガバイトの倍数ではg(またはG)です。 デフォルト値は512mです。 |
help | オプション |
--qsys-generate のヘルプを表示します。 |
IPバリエーションの変更
バリエーションの変更 | 動作 |
---|---|
File > Open | 最上位のHDL(.vまたは.vhd)IPバリエーション・ファイルを選択して、パラメーター・エディターを起動し、IPバリエーションを変更します。 IPバリエーションを再生成して変更を実装します。 |
View > Project Navigator > IP Components | IPバリエーションをダブルクリックしてパラメーター・エディターを起動し、IPバリエーションを変更します。 IPバリエーションを再生成して変更を実装します。 |
Project > Upgrade IP Components | IPバリエーションを選択し、Upgrade in Editorをクリックしてパラメーター・エディターを起動し、IPバリエーションを変更します。 IPバリエーションを再生成して変更を実装します。 |
期限切れのIPコアのアップグレード
Project NavigatorのIPアップグレード・アラート
Upgrade IP Componentsダイアログボックスのアイコンは、プロジェクトのIPバリエーションに対してIPアップグレードが必要な場合、オプションの場合、またはサポートされない場合を示します。 現在のバージョンの インテル® Quartus® Primeソフトウェアでコンパイルする前にアップグレードが必要なIPバリエーションをアップグレードします。
IPコア・ステータス | 変更内容 |
---|---|
IP Upgraded ![]() |
IPバリエーションが インテル® FPGA IPコアの最新バージョンを使用していることを示します。 |
IP Component Outdated ![]() |
IPバリエーションがIPコアの古いバージョンを使用していることを示します。 |
IP End of Life ![]() |
IntelはIPコアを寿命末期の状態として指定することを示します。 パラメーター・エディターでIPコアを編集する場合と編集しない場合があります。 このIPコアのサポートは、 インテル® Quartus® Primeソフトウェアの将来のリリースでは中止されます。 |
IP Upgrade Mismatch Warning ![]() |
IPを別のデバイスファミリーに移行する際に、重要ではないIPコアの違いを警告します。 |
IP has incompatible subcores![]() |
IPに互換性のないサブコアがあるため、現在のバージョンの インテル® Quartus® PrimeソフトウェアがIPバリエーションのコンパイルをサポートしていないことを示します。 |
Compilation of IP Not Supported ![]() |
現在のバージョンの インテル® Quartus® PrimeソフトウェアがIPバリエーションのコンパイルをサポートしていないことを示します。 これは、 インテル® Quartus® Primeソフトウェアの別のエディションがこのIPを生成した場合に発生します。 このIPコンポーネントは、現在のエディションの互換コンポーネントに置き換えてください。 |
IPコアをアップグレードするには、次の手順を実行します。
- インテル® Quartus® Primeソフトウェアの最新バージョンでは、古いIPコアバリエーションを含む インテル® Quartus® Primeプロジェクトを開きます。 Upgrade IP Componentsダイアログボックスには、プロジェクトのIPコアのステータスと、各コアのアップグレード手順が自動的に表示されます。 このダイアログボックスに手動でアクセスするには、Project > Upgrade IP Componentsをクリックします。
- 自動アップグレードをサポートする1つまたは複数のIPコアをアップグレードするには、IPコアのAuto Upgrade]オプションをオンにし、Perform Automatic Upgradeをクリックします。アップグレードが完了すると、StatusとVersion カラムが更新されます。任意のIPコアで提供されるデザインの例は、IPコアをアップグレードするたびに自動的に再生成されます。
-
個別のIPコアを手動でアップグレードするには、IPコアを選択してUpgrade
in
Editor(または単にIPコア名をダブルクリック)をクリックします。パラメーター・エディターが開き、パラメーターを調整してIPコアの最新バージョンを再生成することができます。
図 19. IPコアのアップグレード
注: インテル® Quartus® Primeソフトウェア・バージョン12.0より古い インテル® FPGA IPコアはアップグレードをサポートしていません。 Intelは、現在のバージョンの インテル® Quartus® Primeソフトウェアが各IPコアの以前の2つのバージョンをコンパイルすることを確認します。 「 インテル® FPGA IPコアのリリースノート」は、 インテル® FPGA IPコアの検証例外を報告します。 Intelは、前の2つのリリースより古いIPコアのコンパイルを検証しません。
コマンドラインでのIPコアのアップグレード
- コマンドラインで単一のIPコアをアップグレードするには、次のコマンドを入力します。
quartus_sh –ip_upgrade –variation_files <my_ip>.<qsys,.v, .vhd> \ <quartus_project> Example: quartus_sh -ip_upgrade -variation_files mega/pll25.qsys hps_testx
- コマンドラインで複数のIPコアを同時にアップグレードするには、次のコマンドを入力します。
quartus_sh –ip_upgrade –variation_files “<my_ip1>.<qsys,.v, .vhd>> \ ; <my_ip_filepath/my_ip2>.<hdl>” <quartus_project> Example: quartus_sh -ip_upgrade -variation_files "mega/pll_tx2.qsys;mega/pll3.qsys" hps_testx
別のデバイスへのIPコアの移行
- 移行が必要なIPコアを表示するには、Project > Upgrade IP Componentsをクリックします。 Descriptionフィールドには、移行手順とバージョンの違いが表示されます。
- 自動アップグレードをサポートする1つ以上のIPコアを移行するには、IPコアのAuto Upgradeオプションがオンになっていることを確認して、Perform Automatic Upgradeをクリックします。 アップグレードが完了すると、StatusとVersionカラムが更新されます。
- 自動アップグレードをサポートしていないIPコアを移行するには、IPコア名をダブルクリックしてOKをクリックします。 パラメーター・エディターが表示されます。 パラメーター・エディターでCurrently selected device familyが指定されている場合、Match project/defaultをオフにして、新しいターゲット・デバイス・ファミリーを選択します。
- Generate HDLをクリックし、SynthesisおよびSimulationファイルオプションを確認します。 Verilog HDLはデフォルトの出力ファイル形式です。 VHDLを出力フォーマットとして指定する場合、VHDLを選択して元の出力フォーマットを保持します。
- Finishをクリックして、IPコアの移行を完了します。 ソフトウェアがIPコアファイルを上書きするかどうかを確認するメッセージが表示されたら、OKをクリックします。 移行が完了すると、Device Familyカラムに新しいターゲット・デバイス名が表示されます。
-
正確性を保証するには、パラメーター・エディターまたは生成されたHDLで最新のパラメーターを確認します。
注: IP移行により、IPバリエーションのポート、パラメーター、または機能が変更される場合があります。 これらの変更により、デザインの変更やIPバリアントの再パラメーター化が必要になることがあります。 移行中、IPバリエーションのHDLは、IPコアの元の出力場所とは異なるライブラリーに生成されます。 古い場所を参照する割り当てを更新します。 サポートされているBlock Design File回路図のシンボルがアップグレードされたIPコアを表す場合、新しく生成された<my_ip> .bsfに置き換えてください。 一部のIPコアの移行には、元のデバイスファミリーと移行デバイスファミリーのサポートがインストールされている必要があります。
IPまたはPlatform Designerシステムのアップグレードに関するトラブルシューティング
アップグレードIPコンポーネントのフィールド | 説明 |
---|---|
Status | 各アップグレードまたは移行の「成功」または「失敗」ステータスを表示します。 IP Upgrade Reportを開くことができないアップグレードのステータスをクリックします。 |
Version | アップグレードが成功すると、バージョン番号が動的に更新されます。 IPのアップグレードが必要な場合、テキストが赤色になります。 |
Device Family | 移行が成功すると、新しいデバイスファミリーに動的に更新されます。 IPコアのアップグレードが必要な場合、テキストが赤色になります。 |
Auto Upgrade | 自動アップグレードをサポートするすべてのIPコアで自動アップグレードを実行します。 また、アップグレードに失敗したIPコアまたはPlatform Designerシステムの <Project Directory> /ip_upgrade_port_diff_report レポートを自動的に生成します。 これらのレポートを確認して、現在のIPコアバージョンと以前のIPコアバージョンとの間のポート差異を判断します。 |
- 現在のバージョンのソフトウェアがIPバリエーションをサポートしていない場合、コンポーネントを右クリックしてRemove IP Component from Projectをクリックします。このIPコアまたはPlatform Designerシステムを、現在のバージョンのソフトウェアでサポートされているものに置き換えます。
- 現在のターゲットデバイスがIPバリアントをサポートしていない場合、プロジェクトでサポートされているデバイスファミリーを選択するか、IPバリアントをターゲットデバイスをサポートする適切な代替デバイスに置き換えます。
- アップグレードまたは移行が失敗した場合、StatusフィールドでFailedをクリックして、IP Upgrade Reportの詳細を表示および確認します。IPコアに関する最新の既知の問題については、Release Notesリンクをクリックしてください。 この情報を使用して、アップグレードまたは移行の失敗の性質を判断し、アップグレード前に修正を加えます。
- アップグレードを失敗したIPコアまたはPlatform DesignerシステムごとにIP Ports Diffレポートを自動的に生成するには、Auto Upgradeを実行します。 レポートを確認して、現在のIPコアバージョンと以前のIPコアバージョンとのポート差異を判断します。 Upgrade in Editorをクリックして特定のポートを変更し、IPコアまたはPlatform Designerシステムを再生成します。
- IPコアまたはPlatform DesignerシステムがAuto Upgradeをサポートしていない場合、Upgrade in Editorをクリックしてエラーを解決し、パラメーター・エディターでコンポーネントを再生成します。
インテル FPGA IPコアのシミュレーション
インテル® Quartus® Primeソフトウェアは、ユーザーのシミュレーターとの統合を提供し、また、ユーザー・スクリプトおよびカスタム・シミュレーション・フローを含む、多様なシミュレーション・フローをサポートしています。いずれのフローを選択したとしても、IP コアのシミュレーションは以下のステップを伴います。
- シミュレーション・モデル、テストベンチ(またはデザイン例)、シミュレーター・セットアップ・スクリプト・ファイルを生成します。
- シミュレーター環境とシミュレーション・スクリプトを設定します。
- シミュレーション・モデル・ライブラリーをコンパイルします。
- シミュレータを動作させます。
生成されるシステム・シミュレーション・ファイル
- サポートされているシミュレーターとIPシミュレーション・ファイル生成のオプションを指定するには、Assignment > Settings > EDA Tool Settings > Simulationをクリックします。
- 新しいIPバリエーションをパラメーター化し、シミュレーション・ファイルの生成を有効にし、IPコア合成ファイルとシミュレーション・ファイルを生成するには、Tools > IP Catalogをクリックします。
- 既存のIPコア・バリエーションのパラメーターを編集し、合成またはシミュレーション・ファイルを再生成するには、View > Project Navigator > IP Componentsをクリックします。
ファイルタイプ | 変更内容 | ファイル名 |
---|---|---|
iシミュレーター・セットアップ・スクリプト | ベンダー固有のスクリプトを使用して、 インテル® FPGA IPモデルとシミュレーション・モデル・ライブラリー・ファイルをコンパイル、精緻化、シミュレートします。 オプションで、個々のIPコアスクリプトを1つのファイルに結合するベンダーごとに生成されたシミュレータセットアップスクリプト。 最上位のシミュレーション・スクリプトから結合スクリプトを入手して、スクリプトのメンテナンスをなくします。 |
<my_dir>/aldec/riviera_setup.tcl <my_dir>/cadence/ncsim__setup.sh <my_dir>/xcelium/xcelium_setup.sh <my_dir>/mentor/msim_setup.tcl /simulation/synopsys/vcs/vcs_setup.sh /simulation/synopsys/vcsmx/vcsmx_setup.sh |
IPシミュレーションのスクリプティング
- Project > Upgrade IP Components > Generate Simulator Script for IPをクリックするか(またはip-setup-simulationユーティリティーを実行して)、シミュレーターごとにすべてのIP用のシミュレーター・セットアップ・スクリプトを生成または再生成します。
-
生成されたスクリプトのテンプレートを使用して、最上位レベルのシミュレーション・スクリプトで結合スクリプトを入手します。
各シミュレーターの結合スクリプト・ファイルには、セットアップ・スクリプトを最上位のシミュレーション・スクリプトに統合するための基本的なテンプレートが含まれています。
この方法を使用すると、IPバリエーションを変更またはアップグレードした場合に、シミュレーション・スクリプトを手動で更新する必要がなくなります。
組み合わせたシミュレーターのセットアップ・スクリプトの生成
この結合されたスクリプトを最上位のシミュレーション・スクリプトから入手してください。 次のいずれかが発生したら、Tools > Generate Simulator Setup Script for IP(またはコマンドラインでip-setup-simulationユーティリティーを使用する)をクリックして、結合スクリプトを生成または更新します。
- IPコアの初期生成または新しいパラメーターによる再生成
- インテル® Quartus® Prime ソフトウェア・バージョンのアップグレード
- IP コアバージョンのアップグレード
- 1つ以上のIPコアを生成、再生成、またはアップグレードします。 「IPコアの生成 」または「IPコアのアップグレード」を参照してください。
- Tools > Generate Simulator Setup Script for IPをクリックします(またはip-setup-simulationユーティリティを実行する)。 Output Directoryおよびライブラリーのコンパイル・オプションを指定します。 OKをクリックしてファイルを生成します。 デフォルトでは、ファイルは相対パスを使用して /<project directory>/<simulator>/ ディレクトリーに生成されます。
-
生成されたシミュレーター・セットアップ・スクリプトを最上位のシミュレーション・スクリプトに組み込むには、生成されたシミュレーター・セットアップ・スクリプトのテンプレート・セクションを参照し、最上位のスクリプトを作成します。
- シミュレーター固有の生成されたスクリプトから指定されたテンプレート・セクションをコピーし、新しいトップレベル・ファイルに貼り付けます。
- コピーしたテンプレート・セクションから各行の先頭にあるコメントを削除します。
-
デザイン・シミュレーションの要件を満たすために必要なカスタマイズを指定します。たとえば、次のようになります。
- デザインのシミュレーションのトップレベル・ファイルにTOP_LEVEL_NAME変数を指定します。 シミュレーションの最上位エンティティは、多くの場合、デザインをインスタンス化するテストベンチです。 次に、デザインがIPコアまたはPlatform Designerシステムをインスタンス化します。 TOP_LEVEL_NAMEの値を最上位エンティティに設定します。
- 必要に応じて、生成されたIPシミュレーション・ファイルの位置を指すようにQSYS_SIMDIR変数を設定します。
- 最上位のHDLファイル(テストプログラムなど)とデザイン内の他のすべてのファイルをコンパイルします。
- grepコマンドライン・ユーティリティーを使用してエラー・シグネチャーのトランスクリプト・ファイルを検索するか、レポートを電子メール送信するなど、その他の変更を指定します。
-
IPバリエーションを再生成した後、Tools > Generate Simulator Setup Script for IP(またはip-setup-simulation)を再実行します。
表 13. シミュレーション・スクリプトのユーティリティー ユーティリティー シンタックス ip-setup-simulationは、プロジェクト内のすべての インテル® FPGA IPコアに対して、バージョンに依存しない結合されたシミュレーション・スクリプトを生成します。 このコマンドは、ソフトウェアまたはIPバージョンのアップグレード後にスクリプトの再生成も自動化します。 シミュレーション環境に必要な場合は、compile-to-workオプションを使用して、すべてのシミュレーション・ファイルを単一のワーク・ライブラリーにコンパイルします。 可能な限り相対パスを使用するには、---use-relative-pathsオプションを使用します。 ip-setup-simulation --quartus-project=<my proj> --output-directory=<my_dir> --use-relative-paths --compile-to-work
--use-relative-paths --compile-to-workはオプションです。 コマンドラインのヘルプでこれらの実行可能ファイルのすべてのオプションを表示するには、<utility name>と入力します。
ip-make-simscriptは、コマンドラインで指定したすべてのIPコアのシミュレーション・スクリプトを生成します。 コマンドに1つ以上の.spdファイルと出力ディレクトリーを指定します。 スクリプトを実行すると、IPシミュレーション・モデルがさまざまなシミュレーション・ライブラリーにコンパイルされます。 ip-make-simscript --spd=<ipA.spd,ipB.spd> --output-directory=<directory>
ip-make-simscriptは、コマンドラインで指定したすべてのIPコアとサブシステムのシミュレーション・スクリプトを生成します。 ip-make-simscript --system-files=<ipA.ip, ipB.ip> --output-directory=<directory>
Aldec ActiveHDL*またはRiviera Pro* Simulatorセットアップ・スクリプトの入手
-
生成されたシミュレーション・スクリプトには、次のテンプレート・ラインが含まれています。
これらのラインを切り取り、新しいファイルに貼り付けます。 例えば、sim_top.tclなどです。
# # Start of template # # If the copied and modified template file is "aldec.do", run it as: # # vsim -c -do aldec.do # # # # Source the generated sim script # source rivierapro_setup.tcl # # Compile eda/sim_lib contents first # dev_com # # Override the top-level name (so that elab is useful) # set TOP_LEVEL_NAME top # # Compile the standalone IP. # com # # Compile the top-level # vlog -sv2k5 ../../top.sv # # Elaborate the design. # elab # # Run the simulation # run # # Report success to the shell # exit -code 0 # # End of template
-
各ラインの最初の2文字を削除します(コメントとスペース)。
# Start of template # If the copied and modified template file is "aldec.do", run it as: # vsim -c -do aldec.do # # Source the generated sim script source rivierapro_setup.tcl # Compile eda/sim_lib contents first dev_com # Override the top-level name (so that elab is useful) set TOP_LEVEL_NAME top # Compile the standalone IP. com # Compile the top-level vlog -sv2k5 ../../top.sv # Elaborate the design. elab # Run the simulation run # Report success to the shell exit -code 0 # End of template
-
シミュレーションの最上位ファイルに応じて、TOP_LEVEL_NAMEおよびコンパイル・ステップを適切に変更します。
例えば:
set TOP_LEVEL_NAME sim_top vlog –sv2k5 ../../sim_top.sv
- 必要に応じて、QSYS_SIMDIR変数を追加して、生成されたIPシミュレーション・ファイルの場所を指定します。 デザイン・シミュレーションの要件を満たすために必要な変更を指定します。 スクリプトには、コンパイルまたはシミュレーション・オプションを設定するための変数が用意されています。 詳細については、生成されたスクリプトを参照してください。
-
生成されたシミュレーション・ディレクトリーから新しいトップレベル・スクリプトを実行します。
vsim –c –do <path to sim_top>.tcl
Cadence Incisive* Simulatorセットアップ・スクリプトの入手
-
生成されたシミュレーション・スクリプトには、次のテンプレート・ラインが含まれています。
これらのラインを切り取り、新しいファイルに貼り付けます。 たとえば、
ncsim.shなどです。
# # Start of template # # If the copied and modified template file is "ncsim.sh", run it as: # # ./ncsim.sh # # # # Do the file copy, dev_com and com steps # source ncsim_setup.sh # SKIP_ELAB=1 # SKIP_SIM=1 # # # Compile the top level module # ncvlog -sv "$QSYS_SIMDIR/../top.sv" # # # Do the elaboration and sim steps # # Override the top-level name # # Override the sim options, so the simulation # # runs forever (until $finish()). # source ncsim_setup.sh # SKIP_FILE_COPY=1 # SKIP_DEV_COM=1 # SKIP_COM=1 # TOP_LEVEL_NAME=top # USER_DEFINED_SIM_OPTIONS="" # # End of template
-
各ラインの最初の2文字を削除します(コメントとスペース)。
# Start of template # If the copied and modified template file is "ncsim.sh", run it as: # ./ncsim.sh # # Do the file copy, dev_com and com steps source ncsim_setup.sh SKIP_ELAB=1 SKIP_SIM=1 # Compile the top level module ncvlog -sv "$QSYS_SIMDIR/../top.sv" # Do the elaboration and sim steps # Override the top-level name # Override the sim options, so the simulation # runs forever (until $finish()). source ncsim_setup.sh SKIP_FILE_COPY=1 SKIP_DEV_COM=1 SKIP_COM=1 TOP_LEVEL_NAME=top USER_DEFINED_SIM_OPTIONS="" # End of template
-
シミュレーションの最上位ファイルに応じて、TOP_LEVEL_NAMEおよびコンパイル・ステップを適切に変更します。
例えば:
TOP_LEVEL_NAME=sim_top \ ncvlog -sv "$QSYS_SIMDIR/../top.sv"
- 必要に応じて、QSYS_SIMDIR変数を追加して、生成されたIPシミュレーション・ファイルの場所を指定します。 デザイン・シミュレーションの要件を満たすために必要な変更を指定します。 スクリプトには、コンパイルまたはシミュレーション・オプションを設定するための変数が用意されています。 詳細については、生成されたスクリプトを参照してください。
- ncsim.shへのパスを指定して、生成されたシミュレーション・ディレクトリーから結果のトップレベル・スクリプトを実行します。
Mentor Graphics ModelSim* Simulatorセットアップ・スクリプトの入手
-
生成されたシミュレーション・スクリプトには、次のテンプレート・ラインが含まれています。
これらのラインを切り取り、新しいファイルに貼り付けます。 例えば、sim_top.tclなどです。
# # Start of template # # If the copied and modified template file is "mentor.do", run it # # as: vsim -c -do mentor.do # # # # Source the generated sim script # source msim_setup.tcl # # Compile eda/sim_lib contents first # dev_com # # Override the top-level name (so that elab is useful) # set TOP_LEVEL_NAME top # # Compile the standalone IP. # com # # Compile the top-level # vlog -sv ../../top.sv # # Elaborate the design. # elab # # Run the simulation # run -a # # Report success to the shell # exit -code 0 # # End of template
-
各ラインの最初の2文字を削除します(コメントとスペース)。
# Start of template # If the copied and modified template file is "mentor.do", run it # as: vsim -c -do mentor.do # # Source the generated sim script source msim_setup.tcl # Compile eda/sim_lib contents first dev_com # Override the top-level name (so that elab is useful) set TOP_LEVEL_NAME top # Compile the standalone IP. com # Compile the top-level vlog -sv ../../top.sv # Elaborate the design. elab # Run the simulation run -a # Report success to the shell exit -code 0 # End of template
-
シミュレーションのトップレベル・ファイルに応じて、TOP_LEVEL_NAMEおよびコンパイル・ステップを適切に変更します。
例えば:
set TOP_LEVEL_NAME sim_top vlog -sv ../../sim_top.sv
- 必要に応じて、QSYS_SIMDIR変数を追加して、生成されたIPシミュレーション・ファイルの位置を指定します。 デザインのシミュレーション要件を満たすために必要な変更を指定します。 スクリプトには、コンパイルまたはシミュレーション・オプションを設定するための変数が用意されています。 詳細については、生成されたスクリプトを参照してください。
-
生成されたシミュレーション・ディレクトリーから結果のトップレベル・スクリプトを実行します。
vsim –c –do <path to sim_top>.tcl
Synopsys VCS* Simulatorセットアップ・スクリプトの入手
-
生成されたシミュレーション・スクリプトには、これらのテンプレート・ラインが含まれています。
「ヘルパーファイル」の前のラインを切り貼りして新しい実行可能ファイルに貼り付けます。 たとえば、synopsys_vcs.fなどです。
# # Start of template # # If the copied and modified template file is "vcs_sim.sh", run it # # as: ./vcs_sim.sh # # # # Override the top-level name # # specify a command file containing elaboration options # # (system verilog extension, and compile the top-level). # # Override the sim options, so the simulation # # runs forever (until $finish()). # source vcs_setup.sh # TOP_LEVEL_NAME=top # USER_DEFINED_ELAB_OPTIONS="'-f ../../../synopsys_vcs.f'" # USER_DEFINED_SIM_OPTIONS="" # # # helper file: synopsys_vcs.f # +systemverilogext+.sv # ../../../top.sv # # End of template
-
次のように、vcs.shファイルの各ラインの最初の2文字(コメントとスペース)を削除します。
# Start of template # If the copied and modified template file is "vcs_sim.sh", run it # as: ./vcs_sim.sh # # Override the top-level name # specify a command file containing elaboration options # (system verilog extension, and compile the top-level). # Override the sim options, so the simulation # runs forever (until $finish()). source vcs_setup.sh TOP_LEVEL_NAME=top USER_DEFINED_ELAB_OPTIONS="'-f ../../../synopsys_vcs.f'" USER_DEFINED_SIM_OPTIONS=""
-
次のように、synopsys_vcs.fファイルの各ライン(コメントとスペース)の最初の2文字を削除します。
# helper file: synopsys_vcs.f +systemverilogext+.sv ../../../top.sv # End of template
-
シミュレーションのトップレベル・ファイルに応じて、TOP_LEVEL_NAMEおよびコンパイル・ステップを適切に変更します。
例えば:
TOP_LEVEL_NAME=sim_top
- 必要に応じて、QSYS_SIMDIR変数を追加して、生成されたIPシミュレーション・ファイルの位置を指定します。 デザインのシミュレーション要件を満たすために必要な変更を指定します。 スクリプトには、コンパイルまたはシミュレーション・オプションを設定するための変数が用意されています。 詳細については、生成されたスクリプトを参照してください。
- vcs_sim.shへのパスを指定して、生成されたシミュレーション・ディレクトリーから結果のトップレベル・スクリプトを実行します。
Synopsys VCS MX Simulatorセットアップ・スクリプトの入手
-
生成されたシミュレーション・スクリプトには、これらのテンプレート・ラインが含まれています。
「ヘルパーファイル」の前のラインをカットアンドペーストして新しい実行可能ファイルに貼り付けます。 たとえば、vcsmx.shなどです。
# # Start of template # # If the copied and modified template file is "vcsmx_sim.sh", run # # it as: ./vcsmx_sim.sh # # # # Do the file copy, dev_com and com steps # source vcsmx_setup.sh # SKIP_ELAB=1 # SKIP_SIM=1 # # # Compile the top level module vlogan +v2k +systemverilogext+.sv "$QSYS_SIMDIR/../top.sv" # # Do the elaboration and sim steps # # Override the top-level name # # Override the sim options, so the simulation runs # # forever (until $finish()). # source vcsmx_setup.sh # SKIP_FILE_COPY=1 # SKIP_DEV_COM=1 # SKIP_COM=1 # TOP_LEVEL_NAME="'-top top'" # USER_DEFINED_SIM_OPTIONS="" # # End of template
-
以下に示すように、各ラインの最初の2文字(コメントとスペース)を削除します。
# Start of template # If the copied and modified template file is "vcsmx_sim.sh", run # it as: ./vcsmx_sim.sh # # Do the file copy, dev_com and com steps source vcsmx_setup.sh SKIP_ELAB=1 SKIP_SIM=1 # Compile the top level module vlogan +v2k +systemverilogext+.sv "$QSYS_SIMDIR/../top.sv" # Do the elaboration and sim steps # Override the top-level name # Override the sim options, so the simulation runs # forever (until $finish()). source vcsmx_setup.sh SKIP_FILE_COPY=1 SKIP_DEV_COM=1 SKIP_COM=1 TOP_LEVEL_NAME="'-top top'" USER_DEFINED_SIM_OPTIONS="" # End of template
-
シミュレーションのトップレベル・ファイルに応じて、TOP_LEVEL_NAMEおよびコンパイル・ステップを適切に変更します。
例えば:
TOP_LEVEL_NAME=”-top sim_top’”
-
トップレベル・ファイルのコンパイルを適切に変更します。たとえば、次のようにします。
vlogan +v2k +systemverilogext+.sv "$QSYS_SIMDIR/../sim_top.sv"
- 必要に応じて、QSYS_SIMDIR変数を追加して、生成されたIPシミュレーション・ファイルの位置を指定します。 デザインのシミュレーション要件を満たすために必要な変更を指定します。 スクリプトには、コンパイルまたはシミュレーション・オプションを設定するための変数が用意されています。 詳細については、生成されたスクリプトを参照してください。
- vcsmx_sim.shへのパスを指定して、生成されたシミュレーション・ディレクトリーから結果のトップレベル・スクリプトを実行します。
他のEDAツールでのIP コアのを同期
エリアとタイミングの推定ネットリストは、IPコアの接続とアーキテクチャを記述していますが、実際の機能の詳細は含まれていません。 この情報により、特定のサードパーティの合成ツールで領域とタイミングの見積もりをよりよくレポートできます。 さらに、合成ツールは、タイミング情報を使用してタイミング駆動最適化を実現し、結果の品質を向上させることができます。
インテル® Quartus® Primeソフトウェアは、指定した出力ファイル形式に関係なく、 <variant name>_syn.vネットリストファイルをVerilog HDL形式で生成します。 このネットリストを合成に使用する場合、IPコアのラッパーファイル<variant name> .vまたは<variant name> .vhdを インテル® Quartus® Primeプロジェクトに含める必要があります。
HDLでの直接インスタンス化
トップレベルVerilog HDLモジュールの例
module MF_top (a, b, sel, datab, clock, result); input [31:0] a, b, datab; input clock, sel; output [31:0] result; wire [31:0] wire_dataa; assign wire_dataa = (sel)? a : b; altfp_mult inst1 (.dataa(wire_dataa), .datab(datab), .clock(clock), .result(result)); defparam inst1.pipeline = 11, inst1.width_exp = 8, inst1.width_man = 23, inst1.exception_handling = "no"; endmodule
トップレベルVHDLモジュールの例
library ieee; use ieee.std_logic_1164.all; library altera_mf; use altera_mf.altera_mf_components.all; entity MF_top is port (clock, sel : in std_logic; a, b, datab : in std_logic_vector(31 downto 0); result : out std_logic_vector(31 downto 0)); end entity; architecture arch_MF_top of MF_top is signal wire_dataa : std_logic_vector(31 downto 0); begin wire_dataa <= a when (sel = '1') else b; inst1 : altfp_mult generic map ( pipeline => 11, width_exp => 8, width_man => 23, exception_handling => "no") port map ( dataa => wire_dataa, datab => datab, clock => clock, result => result); end arch_MF_top;
IEEE 1735暗号化規格のサポート
次のVerilogまたはVHDLプラグマを公開鍵とともにRTLに追加すると、 インテル® Quartus® Primeソフトウェアはキーを使用してIPコアを復号化します。 この機能を使用するには、IEEE1735標準をサポートするシミュレーションまたは合成ツールを使用します。
Verilog/SystemVerilog Encryption Pragma:
`pragma protect key_keyowner = “Intel Corporation”
`pragma protect key_method = “rsa”
`pragma protect key_keyname = “Altera Key1”
`pragma protect key_block
<Encrypted session key>
VHDL Encryption Pragma:
`protect key_keyowner = “Intel Corporation”
`protect key_method = “rsa”
`protect key_keyname = “Altera Key1”
`protect key_block
<Encrypted session key>
他のEDAツールの統合
インテル® Quartus® PrimeソフトウェアはEDAツールファイルを管理し、次の統合機能を提供します。
- デバイス、シミュレーター、およびデザイン言語のすべてのRTLおよびゲート・レベル・シミュレーションのモデル・ライブラリーを自動的にコンパイルします(Tools > Launch Simulation Library Compiler)。
- 他のEDAデザインエントリーまたは合成ツールで生成されたファイルを合成されたデザインファイルとしてプロジェクトに組み込みます(Project > Add/Remove File from Project)。
- ボードレベルの検証用のオプションファイルを自動的に生成します(Assignments > Settings > EDA Tool Settings)。
プロジェクトのエクスポート、アーカイブ、および移行
コンパイル・データベースのエクスポート
Compilerは、Compilerの1つ以上のモジュールを実行するたびに、結果のデータベースを生成します。 インテル® Quartus® Primeデータベースファイル(.qdb)は、コンパイル結果を保存します。 次の方法でコンパイル・データベースを使用できます。
- インテル® Arria® 10および インテル® Cyclone® 10 GX FPGAデザインでは、デザイン全体のコンパイル結果を保存して、新しいバージョンの インテル® Quartus® Primeソフトウェアに移行することができます。 合成後または適合後のバージョン互換データベース(Project > Export Database)をエクスポートし、それを新しいバージョンの インテル® Quartus® Primeソフトウェア(Project > Import Database)または別のプロジェクトにインポートします。
- インテル® Arria® 10、 インテル® Cyclone® 10 GX、および インテル® Stratix® 10 FPGAデザインの場合、合成、配置、または最終コンパイルsnapshot(Project > Export Design Partition)を使用して、コンパイルデータベースを特定のデザイン・パーティション用にエクスポートすることができます。 スナップショットは、Compilerのその段階を実行した後のデザインのビューです。 このスナップショットは、Partition Database File(.qdb)をエクスポートして保存し、ブロックベースのデザインフローまたはパーシャル・リコンフィギュレーション・フローでそのエクスポートされたパーティションを再使用することができます。
バージョン互換のデザイン・コンパイル・データベースのエクスポート
- インテル® Quartus® Primeソフトウェアでコンパイル結果をエクスポートするプロジェクトを開きます。
-
次のいずれかのコマンドを実行して、コンパイル・データベースを生成します。
- Processing > Start > Start Fitterを開始して、ポスト・フィット・ネットリストを生成します。
- Processing > Start Compilationをクリックして、ポストフィット最終ネットリストを生成します。
-
Project > Export Designをクリックします。 エクスポートするSnapshotを選択します。Quartus Database
File (.qdb)はコンパイル・データベースを保持します。
次のSnapshotのいずれかを選択できます。
- synthesized—CompilerのAnalysis&Synthesisステージの出力を表します。
- final—Fitterの最終出力を表します。
図 22. Export Designダイアログボックス - OK をクリックします。
- エクスポートされたデザインの設定と制約ファイルをエクスポートされたデザインに含めるには、.qsfファイルと.sdcファイルをインポート・プロジェクト・ディレクトリーにコピーします。 または、Project > Archive Projectコマンドを使用して、設定ファイルと制約ファイルを含む元のプロジェクトのアーカイブを作成します。 このアーカイブは、新しいバージョンの インテル® Quartus® Primeソフトウェアで開くことができます。
バージョン互換のデザイン・コンパイル・データベースのインポート
-
インテル®
Quartus® Primeソフトウェアで、デザイン・コンパイル・データベースをエクスポートした元のプロジェクトを開きます。
インテル®
Quartus® Primeソフトウェアの新しいバージョンに移行するときは、
インテル®
Quartus® Primeソフトウェアのそれ以降のバージョンでプロジェクトを開きます。
注: または、元のコンパイル・データベースと制約ファイルを.qarファイルにアーカイブした場合、Project > Restore Project Archive > をクリックして、インポートするプロジェクトを開きます。
- インテル® Quartus® Primeソフトウェアが別のソフトウェア・バージョンから作成したデザインを開くかどうかを尋ねる場合、Yesをクリックします。
- 以前にエクスポートするデザインをコンパイルしている場合、Project > Clean Projectをクリックしてインポート前に古いコンパイル・データベースをクリーンアップします。
-
Project > Import Designをクリックし、エクスポートされた結果を含むQuartus Database
Fileを指定します。
インポートには、次のいずれかのオプションをイネーブルすることができます。
- 以前のバージョンの インテル® Quartus® Primeソフトウェアからの特定の構成ルールの変更の合法性チェックをディセーブルするには、Timing analysis modeをイネーブルします。 このオプションを使用しないと、デザインを正常にインポートできない場合にのみ、このオプションを使用します。Timing analysis modeをイネーブルしたデザインをインポートした後は、それを使用してプログラミング・ファイルを生成することはできません。
- Overwrite existing project's databasesオプションは、指定されたCore Database Archive Fileをインポートする前に、現在のプロジェクトからすべての以前のコンパイル・データベースを削除します。
図 23. Import Assignmentsダイアログボックス
デザイン・パーティションのエクスポート
インターフェイスをエクスポートするために、次のステップに従います。
- デザイン階層を完成させるには、Processing > Start > Start Analysis & Synthesisをクリックします。
-
Assignments > Design Partitions Windowをクリックします。 プロジェクトに1つまたは複数のデザイン・パーティションを定義します。
以下のオプションが提供されています。
- エクスポートするコンパイル(スナップショット)の段階に応じて、合成またはFitter(Processing > Start > Start Fitter))、またはフルコンパイル(Processing > Start Compilation)を実行します。
- Project > Export Design Partitionをクリックします。 Design Partition名とエクスポート用のSnapshotコンパイルを選択します。
-
エンティティー向け.sdcファイルをエクスポートされた.qdbに含めるには、Include entity-bound SDC files
for the selected partitionをオンにします。
図 24. デザイン・パーティションのプランニング
プロジェクトのアーカイブ
.qarは、プロジェクトの復元に必要なロジック・デザイン、プロジェクト、設定ファイルを保持します。
このテクニックを使用して、デザイナー間でプロジェクトを共有したり、プロジェクトを新しいバージョンの インテル® Quartus® Primeソフトウェア、またはIntelサポートに転送します。 オプションで、コンパイル結果、Platform Designerシステムファイル、およびサードパーティーのEDAツールファイルをアーカイブに追加します。 別のバージョンの インテル® Quartus® Primeソフトウェアでアーカイブを復元する場合、元のコンパイル結果を保持するために元の.qdfをアーカイブに含める必要があります。
手動でアーカイブへのファイルの追加
- Project > Archive Projectをクリックし、アーカイブファイル名を指定します。
- Advanced をクリックします。
- アーカイブするFile set を選択するか、Customを選択します。 アーカイブの場合はFile subsetsをオンにします。
- Addをクリックし、Platform DesignerシステムまたはEDAツールファイルを選択します。OKをクリックします。
- Archive をクリックします。
サービス依頼のためのプロジェクトのアーカイブ
- Project > Archive Projectをクリックし、アーカイブファイル名を指定します。
- Advanced をクリックします。
- File setでは、Intelサポートのファイルを含めるにはService
requestを選択します。
- プロジェクトのソースおよび設定ファイル(.v 、.vhd 、.vqm 、.qsf 、.sdc 、.qip 、.qpf 、 .cmp )
- 自動的に検出されたソースファイル(各種)
- プログラミング出力ファイル(.jdi 、.sof 、.pof )
- レポートファイル(.rpt 、.pin 、 .summary 、.smsg )
- Openをクリックして、Addをクリックします。

外部リビジョン・コントロールの使用
インテル® Quartus® Primeプロジェクトのリビジョンでは、さまざまなプロジェクト設定と制約の組み合わせが維持されますが、外部リビジョン・コントロール・システムでは、RTLソースコード、シミュレーション・テストベンチ、およびビルドスクリプトも追跡およびマージできます。 外部リビジョン・コントロールは、複数のデザイナーのソースコードの異なるバージョンを分岐してマージすることにより、デザインファイルのバージョン実験をサポートします。 設定情報については、外部リビジョン・コントロールのマニュアルを参照してください。
外部リビジョン・コントロールに含めるファイル
- ロジック・デザイン・ファイル(.v 、.vdh 、.bdf 、.edf 、.vqm )
- タイミング制約ファイル
- Quartusプロジェクトの設定と制約(.qdf 、.qpf 、.qsf )
- IPファイル(.ip 、.v 、.sv 、.vhd 、.qip 、.sip 、.qsys )
- Platform Designer 生成ファイル(.qsys 、.ip 、.sip )
- EDAツールファイル(.vo 、.vho )
オペレーティング・システム間でのプロジェクトの移行
デザインファイルとライブラリーの移行
- ファイルパスの参照で、使用するプラットフォームに適切なケースを使用します。
- 使用されているすべてのプラットフォームに共通のキャラクタ・セットを使用します。
- .qsf内のフォワードスラッシュ(/)およびバックスラッシュ(\)パス区切り文字は変更しないでください。 インテル® Quartus® Primeソフトウェアは、すべてのバックスラッシュ(\)パス区切り文字を.qsf内のフォワードスラッシュ(/)に自動的に変更します。
- ターゲット・プラットフォームのファイル名の長さ制限を確認します。
- ファイル名とディレクトリー名にスペースの代わりにアンダースコアを使用します。
- .qsf内の相対パスへのライブラリー絶対パス参照を変更します。
- 新しいプラットフォームのファイルシステムに外部プロジェクト・ライブラリーが存在することを確認します。
- ファイルとディレクトリーのパスをプロジェクト・ディレクトリーからの相対パスとして指定します。 たとえば、foo_designという名前のプロジェクトの場合、ソースファイルをtop.v、foo_folder /foo1.v、foo_folder /foo2.v、およびfoo_folder/bar_folder/bar1.vhdlのように指定します。
- すべてのサブディレクトリーが元のプラットフォームと同じ階層構造と相対パスにあることを確認します。

相対パス
例えば、以下に示すようなディレクトリー構造の場合、top.vを../source/top.vとして、またfoo1.vを../source/foo_folder/foo1.vとして指定できます。

デザイン・ライブラリーの移行ガイドライン
- プロジェクト・ディレクトリーはプロジェクト・ライブラリーよりも優先されます。
- Linuxの場合、 インテル® Quartus® Primeソフトウェアはaltera.quartusディレクトリーの<home>ディレクトリーにファイルを作成します。
- すべてのライブラリー・ファイルはライブラリーに関連しています。 たとえば、user_lib1ディレクトリーをプロジェクト・ライブラリーとして指定し、/user_lib1/foo1.vファイルをライブラリーに追加する場合、.qsf内のfoo1.vファイルをfoo1.vと指定できます。 インテル® Quartus® Primeソフトウェアには、指定されたライブラリーのファイルが含まれています。
- ディレクトリーがプロジェクト・ディレクトリーの外にある場合、デフォルトで絶対パスが作成されます。 移行前に絶対パスを相対パスに変更します。
- ライブラリーを含むプロジェクトをコピーする場合、プロジェクト・ライブラリー・ファイルをプロジェクト・ディレクトリーとともにコピーするか、プロジェクト・ライブラリー・ファイルがターゲット・プラットフォームに存在することを確認する必要があります。
- Windowsでは、 インテル® Quartus® Primeソフトウェアは次のディレクトリーと順序でquartus2.iniファイルを検索します。
- USERPROFILE 、例えば,C:\Documents and Settings\<user name>
- TMP環境変数で指定されたディレクトリー
- TEMP環境変数で指定されたディレクトリー
- ルート・ディレクトリー、例えば、C:\
コンパイル結果に影響を与える要因
- Project Files—プロジェクト設定(.qsf、quartus2.ini)、デザインファイル、タイミング制約(.sdc)の変更によって結果が変更される可能性があります。
- コンパイル中にプロセッサーの数を変更する設定は、コンパイル結果に影響を与えます。
- Hardware—CPUアーキテクチャ(ハードディスクやメモリーのサイズの違いは含まれません)。 Windows XP x32の結果は、Windows XP x64の結果と同じではありません。 Linux x86の結果はLinux x86_64と同じではありません。
- インテル® Quartus® Prime Software Version—ビルド番号とインストールされた暫定的な更新が含まれています。 この情報を取得するには、Help > Aboutをクリックします。
- Operating System—WindowsまたはLinuxオペレーティング・システム(バージョンの更新を除く)。 たとえば、Windows XP、Windows Vista、およびWindows 7の結果は同じです。 同様に、Linux RHEL、CentOS 4、およびCentOS 5の結果は同じです。
プロジェクト管理のベスト・プラクティス
設定ファイルとプロジェクトファイルのベスト・プラクティス
-
インテル® Quartus® Prime Project File(.qpf)、 インテル® Quartus® Prime Settings File(.qsf)、Quartus IPファイル(.qip)、またはPlatform Designer System File(.qsys)などの インテル® Quartus® Primeデータファイルを編集する場合、非常に注意してください。 これらのファイルのタイプミスはソフトウェア・エラーを引き起こす可能性があります。 たとえば、ソフトウェアは設定や割り当てを無視することがあります。
すべての インテル® Quartus® Primeのプロジェクト・リビジョンには、GUIに入力するかTclコマンドで追加するさまざまなプロジェクト設定と制約を保持するサポート.qpfが自動的に含まれます。 このファイルには、現在のソフトウェアのバージョン、日付、プロジェクト全体およびエンティティー・レベルの設定に関する基本情報が含まれています。 .qpfと.qsfの依存関係のため、.qsfファイルを手動で編集しないでください。
-
複数のプロジェクトを同じディレクトリーにコンパイルしないでください。 代わりに、プロジェクトごとに別々のディレクトリーを使用してください。
-
デフォルトでは、 インテル® Quartus® PrimeソフトウェアはText-Format Report Files(.rpt)などのすべてのプロジェクト出力ファイルをプロジェクト・ディレクトリーに保存します。 プロジェクトの出力ファイルを手動で移動する代わりに、プロジェクトのコンパイル設定を変更して別のディレクトリーに保存します。
これらのファイルを別のディレクトリーに保存するには、Assignments > Settings > Compilation Process Settingsを選択します。Save project output files in specified directoryをオンにして、出力ファイルのディレクトリーを指定します。
プロジェクト・アーカイブとソース管理のベスト・プラクティス
プロジェクトをリビジョン管理用にアーカイブするには、Project > Archive Projectをクリックします。
デザインを開発するときに、 インテル® Quartus® Primeプロジェクト・ディレクトリーにはさまざまなソースファイルと設定ファイル、コンパイル・データベース・ファイル、出力ファイル、およびレポートファイルが含まれています。 アーカイブ機能を使用してこれらのファイルをアーカイブし、後で使用するためにアーカイブを保存したり、リビジョン管理下に置くことができます。
- Project > Archive Project > Advancedを選択してAdvanced Archive Settingsダイアログボックスを開きます。
- アーカイブするファイルセットを選択します。 たとえば、Rapid Recompileリビジョンでプロジェクトを再作成するために必要なソースファイルとデータベース・ファイルを保存するには、File set > Source control with incremental compilation and Rapid Recompile databaseを選択します。
- Addをクリックしてファイルを追加します(オプション)。
アーカイブされたプロジェクトを復元するには、Project > Restore Archived Projectを選択します。プロジェクトを空の新しいディレクトリーに復元します。
IPコアのベスト・プラクティス
- 独自の.qsys、.ip、または.qipファイルを手動で編集または書き込まないでください。 これらのファイルを作成および編集するには、
インテル®
Quartus® Primeソフトウェア・ツールを使用します。注: IPコアを生成するときは、ディレクトリー名またはパスにスペースを含むディレクトリーにファイルを生成しないでください。 スペースは、IPコアのパスまたは名前には有効な文字ではありません。
- IPカタログを使用してIPコアを生成すると、 インテル® Quartus® Primeソフトウェアは.qsys(Platform Designer生成IPコアの場合)または.ipファイル( インテル® Quartus® Prime プロ・エディションの場合)または.qipファイルを生成します。 インテル® Quartus® Prime プロ・エディションのソフトウェアは、生成された.ipをプロジェクトに自動的に追加します。 インテル® Quartus® Prime スタンダード・エディションのソフトウェアで、.qipをプロジェクトに追加します。.qsysファイルまたは.qipファイルを使用せずに、パラメーター・エディターで生成されたファイル(.vまたは.vhd)をデザインに追加しないでください。 それ以外の場合は、IPアップグレードまたはIPパラメーター・エディター機能を使用できません。
- 事前にディレクトリー構造をプランニングします。.qsysファイルとその生成出力ディレクトリーの相対パスを変更しないでください。.qsysファイルを移動する必要がある場合、生成出力ディレクトリーに.qsysファイルが残っていることを確認します。
- プロジェクトの/quartus/libraries/megafunctionsディレクトリーからIPコアファイルを直接追加しないでください。 それ以外の場合、それ以降のソフトウェア・リリースごとにファイルを更新する必要があります。 代わりに、IPカタログを使用し、.qipをプロジェクトに追加します。
- 古いデバイスファミリーを対象としたRAMまたはFIFOブロック用に インテル® Quartus® Primeソフトウェアが生成するIPファイルを使用しないでください( インテル® Quartus® Primeソフトウェアではエラーが発生しなくても)。 インテル® Quartus® Primeが古いデバイスファミリー用に生成するRAMブロックは、最新のデバイスファミリー用に最適化されていません。
- ROM機能を生成する場合、結果の.mifまたは..hexファイルを、対応するIPコアの.qsysまたは.qipファイルと同じフォルダーに保存します。 たとえば、プロジェクトの.mifファイルまたは.hexファイルをすべて同じディレクトリーに移動すると、デザインをアーカイブした後に相対パスの問題が発生します。
- デザイン内のIPコアまたはPlatform Designerシステムごとにシミュレーション・スクリプトを生成するには、常に インテル® Quartus® Prime ip-setup-simulationユーティリティとip-make-simscriptユーティリティを使用します。 これらのユーティリティは、 インテル® Quartus® PrimeソフトウェアまたはIPバージョンへのアップグレードのための手動アップデートを必要としない単一のシミュレーション・スクリプトを生成します。
APIのスクリプト
Project Settingsのスクリプト
- Tcl形式の割り当てを含む拡張子.tclのテキストファイルを作成します。
- .qsfに次のラインを追加して、Tclスクリプトファイルを入手します。 set_global_assignment -name SOURCE_TCL_SCR IPT_FILE <file name> .
Create Revisionのコマンド
create_revision <name> -based_on <revision_name> -set_current
オプション | 説明 |
---|---|
based_on (optional) | 新しいリビジョンの設定に基づくリビジョン名を指定します。 |
set_current (optional) | 新しいリビジョンを現在のリビジョンとして設定します。 |
Delete Revisionのコマンド
delete_revision revision name
Get Project Revisionsのコマンド
get_project_revisions <project_name>
Set Current Revisionのコマンド
-forceオプションを使用すると、リビジョン名で指定したリビジョンを開き、データベースのバージョンに互換性がない場合、コンパイル・データベースを上書きできます。
set_current_revision -force <revision name>
プロジェクト・アーカイブのコマンド
プロジェクト・アーカイブの作成
コマンドを閉じるには、以下のコマンドを使用します。
project_archive <name>.qar
以下のモードを指定することができます。
- -all_revisions - 現在のプロジェクトのすべてのリビジョンをアーカイブに含めます。
- -auto_common_directory - 元のプロジェクト・ディレクトリー構造をアーカイブに保存します。
- -common_directory /<name> - 指定されたサブディレクトリーに元のプロジェクト・ディレクトリー構造を保存します。
- -include_libraries - アーカイブにライブラリーを含みます。
- -include_outputs - 出力ファイルをアーカイブに含めます。
- -use_file_set <file_set> - 指定されたファイルセットをアーカイブに含めます。
アーカイブされたプロジェクトの復元
グローバル・アサインメントを削除するには、以下のTclコマンドを使用します。
project_restore archive.qar -destination restored overwriteこの例では、 "restored"という名前の宛先ディレクトリーにリストアします。
プロジェクト管理の改訂履歴
ドキュメント・バージョン | バージョン | 変更内容 |
---|---|---|
2018.05.07 | 18.0.0 |
|
日付 | バージョン | 変更内容 |
---|---|---|
2017.11.06 | 17.1.0 |
|
2017.05.08 | 17.0.0 |
|
2016.10.31 | 16.1.0 |
|
2016.05.03 | 16.0.0 |
|
2016.02.09 | 15.1.1 |
|
2015.11.02 | 15.1.0 |
|
2015.05.04 | 15.0.0 |
|
2014.12.15 | 14.1.0 |
|
2014.08.18 |
14.0a10.0 |
|
2014.06.30 | 14.0.0 |
|
2013年11月 | 13.1.0 |
|
2013年5月 | 13.0.0 |
|
2012年6月 | 12.0.0 |
|
2011年11月 | 10.1.1 | テンプレートを更新。 |
2010年12月 | 10.1.0 |
|
Quartus IIソフトウェアによるデザイン・プランニング
Quartus IIソフトウェアによるデザイン・プランニング
この章で説明するデザイン・プランニングのガイドラインを読む前に、デザインの優先順位を検討してください。 より多くのデバイス機能、密度、またはパフォーマンス要件により、システムコストが増加する可能性があります。 信号の完全性とボードの問題は、I/Oピンの位置に影響を与える可能性があります。 電力、タイミング性能、面積利用率はすべて相互に影響します。 これらの優先順位を最適化すると、コンパイル時間が影響を受けます。
この インテル® Quartus® Primeソフトウェアは、最適な全体的な結果を得るためにデザインを最適化します。 ただし、電力使用率など、デザインの一面をより最適化するために設定を変更することができます。 特定のツールやデバッグオプションによって、デザインフローに制限が生じる可能性があります。 デザインの優先順位は、デザインに使用するツール、機能、および方法を選択するのに役立ちます。
デバイスファミリーを選択した後、追加のガイドラインがあるかどうかを確認するには、該当するデバイスのドキュメントのデザイン・ガイドラインのセクションを参照してください。
デザイン仕様の作成
さらに、テストプランを作成することで、検証と製造の容易化のためにデザインすることができます。 たとえば、デザインに組み込まれているインターフェイスを検証する必要があります。 インターフェイスを駆動するためのビルトイン・セルフ・テスト機能を実行するには、FPGAデバイス内のNios® Iプロセッサを使用したUARTインターフェイスを使用します。
複数の設計者がデザイン作業を行っている場合、共通のデザイン・ディレクトリー構造またはソース管理システムを考慮して、設計の統合を容易にする必要があります。 各デザイン・ブロックのインターフェイス・プロトコルを標準化するかどうか検討してください。
知的財産コアの選択
多くのIP コアで使用可能なOpenCore Plus機能により、IPライセンスを購入する前にFPGA をプログラムして、ハードウェアでデザインを検証することができます。
- Untethered(アンテザード)—デザインは限定時間のみ実行されます。
- Tetheredモードでは、アルテラのシリアルJTAG(Joint Test Action Group)ケーブルをボードのJTAG ポートとホスト・コンピュータとの間に接続する必要があります。このホスト・コンピュータ上ではQuartus インテル® Quartus® PrimeII Programmerがハードウェア評価中動作している必要があります。
システムデザインにおけるPlatform Designerおよびスタンダード・インタフェースの使用
システム・デザイン・ツールはデザイン入力方法を変更するため、ツール内でデザインを開発するプランを立てる必要があります。 後で変更する必要はないので、すべてのデザインブロックがデザインサイクルの初めから適切な標準インターフェイスを使用していることを確認してください。
Platform Designerコンポーネントは、コンポーネントの物理接続にAvalon®スタンダード・インターフェイスを使用し、Avalonインターフェイスを持つ論理デバイス(オンチップまたはオフチップのいずれか)に接続できます。 Avalon Memory-Mappedインターフェイスを使用すると、コンポーネントはアドレス・マップ・リードまたはライト・プロトコルを使用して、マスター・コンポーネントをスレーブ・コンポーネントに接続するための柔軟なトポロジーを使用できます。 Avalon Streamingインターフェイスは、ソースポートとシンクポート間の高速の単方向システム・インターコネクトを使用してデータを送受信するストリーミング・コンポーネント間のポイント・ツー・ポイント接続を可能にします。
標準インターフェイスを使用するなどのシステム統合ツールの使用を可能にすることに加えて、異なるデザインチームまたはベンダーのデザインブロック間の互換性を保証します。 標準インターフェイスは、各デザインブロックへのインターフェイス・ロジックを簡素化し、個々のチームメンバが、インタフェース・プロトコルの仕様に対して個々のデザインブロックをテストして、システム統合を容易にします。
デバイスの選択
デザイン要件に最も適したデバイスファミリを選択してください。 ファミリは、コスト、性能、ロジックとメモリー密度、I/O密度、電力使用率、およびパッケージングの点で異なります。 また、I/O規格のサポート、高速トランシーバー、グローバルまたはリージョナル・クロック・ネットワーク、およびデバイスで使用可能なフェーズロックループ(PLL)の数などの機能要件も考慮する必要があります。
各デバイスファミリーには、デバイス機能を詳細に記述したデータシートを含む完全なドキュメントがあります。 また、 インテル® Quartus® PrimeソフトウェアのDeviceダイアログボックスで各デバイスのリソースの要約を表示することもできます。
デザインに必要なデバイス密度の要件を慎重に検討してください。 より多くのロジックリソースとより多くのI/Oカウントを持つデバイスは、より大きくより複雑なデザインを実装できますが、コストは高くなります。 小型デバイスは、より低い静電力を使用します。 デザインサイクルの後半でロジックを追加してデザインをアップグレードまたは拡張し、オンチップデバッグ用のロジックとメモリーを予約する場合、デザインよりも大きなデバイスを選択します。 さまざまなサイズのメモリーブロックや特定の算術機能を実装するためのデジタル信号処理(DSP)ブロックなどの専用ロジックブロックのタイプの要件を検討してください。
Intelデバイスをターゲットとする古いデザインがある場合、そのリソースをデザインの見積もりとして使用できます。SettingsダイアログボックスのAuto device selected by the Fitterオプションを使用して、 インテル® Quartus® Primeソフトウェアで既存のデザインをコンパイルします。 リソース使用率を確認して、デザインに適したデバイス密度を確認します。 コーディング・スタイル、デバイス・アーキテクチャ、および インテル® Quartus® Primeソフトウェアで使用される最適化オプションを考慮して、デザインのリソース使用率とタイミングパフォーマンスに大きな影響を与える可能性があります。
デバイスの移行プランニング
いくつかのピンが異なるデバイス密度またはパッケージサイズで異なる機能を果たす可能性があるため、マイグレーション・デバイスを選択するとピン配置に影響します。 インテル® Quartus® Primeソフトウェアでピン割り当てを行うと、Pin PlannerのPin Migration Viewには、移行デバイス間の機能を変更するピンが強調表示されます。
開発キット リソース
New Project Wizardから新しい インテル® Quartus® Primeプロジェクトの開発キットを選択するか、またはAssignments > Deviceをクリックして既存のプロジェクトを選択することができます。
新しいプロジェクト用の開発キットの指定
新しい インテル® Quartus® Primeプロジェクトの開発キットを選択するには、以下の手順に従ってください。
- New Project Wizardを開くには、File > New Project Wizardをクリックします。
- Family, Device & Board SettingsページからBoardタブをクリックします。
- ボード検索を絞り込むためにFamilyとDevelopment Kitのリストを選択してください。Available boardsテーブルには、選択したFamilyおよびDevelopment Kitタイプの使用可能なすべてのボードが一覧表示されます。
- リストされた各ボードの開発キットの詳細を表示するには、Available boardsテーブルのボードの左側にあるアイコンをクリックします。Development Kit Detailsダイアログボックスが表示され、すべてのボードの詳細が表示されます。
- Available boardsテーブルから目的のボードを選択します。
- 選択したボードデザインを最上位エンティティとして設定するには、Create top-level design fileチェックボックスをクリックします。 このオプションは、選択したボードのピン割り当てを自動的に設定します。 このオプションのチェックを外すと、 インテル® Quartus® Primeソフトウェアはボードのデザインを作成し、そのデザインを<current_project_dir>/devkits/<design_name>に保存します。
-
Finish をクリックします。
図 28. 新規プロジェクト・ウィザードから希望するボードの選択
既存プロジェクトの開発キットの指定
- 既存のプロジェクトを開くには、File > Open Projectをクリックします。
- Device Setting Dialog Boxを開くには、Assignments > Deviceをクリックします。
- Boardタブから目的の開発キットを選択し、OKをクリックします。
- 現在のプロジェクトに既存のピン割り当てがある場合、メッセージボックスが表示され、すべてのロケーション割り当てが削除されます。 Yesをクリックして、LocationピンとI/O Standardのピン・アサインメントを解除します。 インテル® Quartus® Primeソフトウェアはキットのベースライン・デザインを作成し、そのデザインを<current_project_dir>/devkits/<design_name>に保存します。 既存のピン・アサインメントをすべて保持するには、<current_project_dir>/devkits/<design_name>をクリックします。
上記の手順を繰り返して、既存のプロジェクトの開発キットを変更します。
EPM240Gのピン・アサインメント
<design_name>フォルダーには、すべてのピン・アサインメントとボードのベースラインのデザイン例を格納するplatform_setup.tcl fileファイルが含まれています。 さらに、 インテル® Quartus® Primeソフトウェアは<current_project_dir>フォルダーに.qdfファイルを作成します。このファイルには、ピン・アサインメントのすべてのデフォルト値が格納されています。
ピン・アサインメントを手動で設定するには、以下のステップを実行します。
- View > Tcl Console をクリックします。
-
コマンド・プロンプトで次のコマンドを入力します。
source <current_project_dir>/devkits/<design_name>/platform_setup.tcl
-
コマンド・プロンプトで次のコマンドを入力します。
setup_project
このコマンドは、setup_platform.tclファイルで使用可能なすべてのアサインメントを.qsfファイルに入力します。
デバイス・プログラミング/コンフィグレーションのプランニング
デバイスファミリーのドキュメントでは、デバイスファミリーで使用可能なコンフィグレーション・オプションについて説明しています。 CPLDデバイスのプログラミングについては、デバイスのマニュアルを参照してください。
消費電力の見積り
適切な電力バジェットを開発し、電源装置、電圧レギュレーター、ヒートシンク、および冷却システムをデザインするには、デバイスの消費電力を正確に見積もる必要があります。 電力の見積りと分析は、2つの重要なプランニングの要件を満たします。
- サーマル—冷却溶液が装置によって発生した熱を放散するのに十分であることを保証します。 計算された接合部温度は、通常のデバイス仕様に収まる必要があります。
- 電源プランニング— 電源は十分な電流を供給することによって、デバイスの動作をサポートしなければなりません。
Early Power Estimator(EPE)スプレッドシートを使用すると、デザインの電力使用率を見積もることができます。
EPEスプレッドシートに手動でデータを入力するか、 インテル® Quartus® Primeソフトウェアを使用してデザイン用のデバイスリソース情報を生成することができます。
EPEスプレッドシートに手動でデータを入力するには、デバイスリソース、動作周波数、トグルレート、およびその他のパラメーターを入力します。 既存のデザインがない場合、デザインで使用するデバイスリソースの数を見積もり、手動でEPEスプレッドシートにデータを入力します。
既存のデザインまたは部分的に完成したデザインがある場合、 インテル® Quartus® Primeソフトウェアを使用してEarly Power Estimatorファイル(.txt、.csv)を生成し、EPEスプレッドシートを完成させることができます。
EPEスプレッドシートには、EPEファイルの情報を解析してスプレッドシートに情報を転送するImport Dataマクロが含まれています。 マクロを使用しない場合、データを手動でEPEスプレッドシートに転送できます。 たとえば、EPEファイル情報をEPEスプレッドシートにインポートした後、デバイスリソース情報を追加できます。 既存の インテル® Quartus® Primeプロジェクトがフルデザインの一部のみを表す場合、最終的なデザインで使用する追加のデバイスリソースを手動で入力します。
デザイン・サイクルの初期段階での消費電力の見積もりにより、電力バジェットをプランニングできるため、設計者は電力量を把握しながらPCBを開発できます。
デザインが完了したら、完全な電力解析を実行して、消費電力をより正確にチェックします。 インテル® Quartus® PrimeソフトウェアのPower Analyzerツールは、正確な電力評価を提供し、サーマルおよび電源の制限が満たされていることを保証します。
サードパーティー・シミュレーション・ツールの選択
合成ツール
異なる合成ツールは、各デザインごとに異なる結果を与えることがあります。 アプリケーションに最適なツールを決定するには、アプリケーションとコーディング・スタイルのための典型的なデザインを合成することで試すことができます。 正確なタイミング解析とロジック使用結果を得るには、 インテル® Quartus® Primeソフトウェアで配置配線を実行します。
選択した合成ツールでは、 インテル® Quartus® Primeプロジェクトを作成し、合成プロジェクトで指定したEDAツール設定、デバイス選択、タイミング要件などの制約を渡すことができます。 プレースメントとルーティングのために インテル® Quartus® Primeプロジェクトを設定するときに時間を節約できます。
ツールベンダーは頻繁に新しい機能を追加し、ツールの問題を修正し、デバイスのパフォーマンスを向上させるために、サードパーティ合成ツールの最新バージョンを使用する必要があります。
ツールベンダーは頻繁に新しい機能を追加し、ツールの問題を修正し、Intelデバイスのパフォーマンスを向上させるために、サードパーティ合成ツールの最新バージョンを使用する必要があります。
シミュレーション・ツール
最良の結果を得るには、 インテル® Quartus® Primeソフトウェア・バージョンがサポートするシミュレーター・バージョンを使用してください。 また、 インテル® Quartus® Primeソフトウェア・バージョンで提供されるモデル・ライブラリーも使用する必要があります。 ライブラリがバージョン間で変更される可能性があり、シミュレーション・ネットリストとの不一致が発生する可能性があります。
フォーマル検証ツール
フォーマル検証ツールを使用するとパフォーマンスの結果に影響を与える可能性があります。フォーマル検証を実行するには、レジスターのリタイミングなどの特定のロジック最適化をオフにする必要があり、階層ブロックを保存する必要があります。 正式な検証では、メモリーブロックがブラックボックスとして扱われます。 したがって、別の階層ブロックにメモリーを保持して、検証のために他のロジックがブラックボックスに組み込まれないようにする必要があります。 フォーマル検証がデザインにとって重要な場合、後で変更するのではなく、デザインサイクルの始めに制限と制限をプランニングします。
オンチップ・デバッグ・プランニングのオプション
イン・システム・デバッグ・ツールは、さまざまな利点とトレードオフを提供します。 特定のデバッグツールは、さまざまなシステムやデザイナでうまく機能します。 デザインをプランニングするときは、次のデバッグ要件を考慮してください。
- JTAG接続—JTAGツールを使用してイン・システム・デバッグを実行する必要があります。 デバッグに使用できるJTAGポートを使用してシステムとボードをプランニングします。
- デザイン・サイクルの早期段階で適切な機能を設定すると、これらのデバイス・リソースを早期リソース見積もりに含めて、ロジックを過剰に使用するのを防ぐことができます。
- デバイスメモリーの予約—システム操作中にデバイスのメモリーを使用してデータをキャプチャする場合に必要です。 このデバッグ手法を利用するのに十分なメモリーリソースがあることを確認するには、デバイスメモリーをデバッグ中に使用するように予約することを検討してください。
- 予備のI/Oピン— デバッグにI/Oピンが必要なロジック・アナライザー・インターフェイス(LAI)またはSignal Probeツールを使用する場合、これが必要です。 デバッグ用にI/Oピンを予約している場合、後でデザインやボードを変更する必要はありません。 LAIは、必要に応じて、デザインI/Oピンと信号を多重化することができます。 デバッグ信号がシステムの動作に影響を与えないデバッグモードをボードがサポートしていることを確認してください。
- HDLコードでIPコアのインスタンス化—デバッグツールでFPGAのIPコアを使用する場合に必要です。
- Signal Tapロジック・アナライザーIPコアのインスタンス化—Signal Tapロジック・アナライザーをデザイン内のノードに手動で接続し、タップしたノード名が合成中に変更されないようにする場合に必要です。
表 14. デザイン・プランニング・ステージでデバッグツールを使用する際に考慮する要素 デザイン・プランニング・ファクター Signal Tap ロジック・アナライザー
システムコンソール イン・システム・メモリー・コンテンツ・エディター
ロジック・アナライザー・インターフェイス (LAI) 信号プローブ イン・システム・ソースおよびプローブ
仮想JTAG IPコア JTAGの接続 可用 可用 可用 可用 — 可用 可用 追加ロジックリソース — 可用 — — — — 可用 予備のデバイスメモリー 可用 可用 — — — — — 予備のI/Oピン — — — 可用 可用 — — HDLコードでIPコアのインスタンス化 — — — — — 可用 可用
デザイン手法とHDLコーディング・スタイル
デザイン上の推奨事項
同期デザインでは、クロック信号がすべてのイベントをトリガします。すべてのレジスター・タイミング要件を満たすと、同期デザインはすべてのプロセス、電圧、温度(PVT)条件に対して予測可能で信頼性の高い方法で動作します。同期デザインは、さまざまなデバイスファミリーやスピードグレードに簡単に合わせることができます。
クロック信号は、デザインのタイミング精度、性能、信頼性に大きな影響を与えます。クロック信号に問題があると、デザインに機能やタイミングの問題が発生する可能性があります。最良の結果を得るには専用のクロック・ピンとクロック・ルーティングを使用します。また、ターゲット・デバイスにPLLを使用する場合、PLLをクロック反転、乗算、除算に使用してください。クロック・マルチプレクシングとゲーティングでは、組み合わせロジックの代わりに専用クロック・コントロール・ブロックまたはPLLクロック・スイッチオーバー機能を使用してください(これらの機能がデバイスで使用可能な場合)。内部で生成されたクロック信号を使用する必要がある場合、クロック信号として使用される任意の組み合わせロジックの出力をレジスターして、グリッチを低減します。
デザインで特定の機能を使用できるように、選択したデバイスのアーキテクチャを検討してください。 例えば、制御信号は、デバイス・アーキテクチャ内の専用の制御信号を使用すべきです。 最良の結果を得るために、デザインで使用されるさまざまな制御信号の数を制限する必要がある場合があります。
推奨HDLコーディング・スタイル
メモリー機能とDSP機能をデザインする場合、専用論理ブロックのサイズと構成を使用できるように、デバイスのターゲット・アーキテクチャを理解する必要があります。 インテル® FPGA IPを推測し、専用のハードウェア(メモリーやDSPブロックなど)をターゲットとするためのコーディング・ガイドラインに従ってください。
メタスタビリティーの管理
設計者は、通常、準安定事象の発生を最小限に抑えるために同期チェインを使用します。 デザインでは、非同期クロックドメイン間の同期が考慮されていることを確認してください。 高周波数クロックと頻繁に切り替えるデータ信号には、2つ以上のレジスターのシンクロナイザ・チェインを使用して、準安定性の失敗の可能性を低減することを検討してください。
インテル® Quartus® Primeソフトウェアを使用して、デザインが非同期信号を同期させるときのメタスタビリティによる平均のMean Time Between Failures(MTBF)を分析し、デザインを最適化してMTBFを向上させることができます。 準安定性に起因するMTBFは、準安定性がデザインの失敗を引き起こす可能性のあるインスタンス間の平均時間の見積もりです。 MTBFが高い(準安定性の失敗の間に数百年または数千年といった)ことは、より堅牢なデザインを示しています。 システム全体のコンテキストとMTBF計算が統計的な見積もりであるという事実を考慮して、許容可能な目標MTBFを決定します。
インテル® Quartus® Primeソフトウェアは、クロック周波数とデータ周波数で十分なMTBFを生成するのに十分な同期レジスターがデザインにあるかどうかを判断するのに役立ちます。
高速合成の実行
Quartus IIソフトウェアで合成する場合、結果の品質は低下するおそれがあるが、コンパイル時間を短縮できる高速合成を選択できます。
個々のデザインブロックまたはパーティションを個別にデザインする場合、デザインを開発する際にファスト合成および早期タイミング見積もり機能を使用することができます。 下位レベルのデザインブロックで強調表示されている問題は、システムの設計者に伝達されます。 これらの問題を解決するには、追加のデバイスリソースを個々のパーティションに割り当てるか、パーティションのタイミングバジェットを変更する必要があります。
インテル Quartus Primeソフトウェアによるデザイン・プランニングの改訂履歴
ドキュメント・バージョン | バージョン | 変更内容 |
---|---|---|
2018.05.07 | 18.0 | 使い始めのユーザーガイド の別の章としての初期リリース。 |
日付 | バージョン | 変更内容 |
---|---|---|
2017.11.06 | 17.1.0 |
|
2017.05.08 | 17.0.0 |
|
2016.10.31 | 16.1.0 |
|
2016.05.03 | 16.0.0 | 開発キットの選択に関する情報を追加。 |
2015.11.02 | 15.1.0 |
|
2015.05.04 | 15.0.0 | 早期タイミング見積もり機能のサポートを削除。 |
2014.06.30 | 14.0.0 | 新しいドキュメント形式に更新。 |
2013年11月 | 13.1.0 | HardCopyデバイス情報を削除。 |
2012年11月 | 12.1.0 | 早期ピン計画機能の変更のためのに更新。 |
2012年6月 | 12.0.0 | 編集の更新。 |
2011年11月 | 11.0.1 | テンプレートを更新。 |
2011年5月 | 11.0.0 |
|
2010年12月 | 10.1.0 |
|
2010年7月 | 10.0.0 |
|
2009年11月 | 9.1.0 |
|
2009年3月 | 9.0.0 |
|
2008年11月 | 8.1.0 |
|
2008年5月 | 8.0.0 |
|
インテル Quartus Prime プロ・エディションへのマイグレーション
インテル® Quartus® Prime プロ・エディションへのマイグレーションには、他のQuartusソフトウェア・プロダクトのプロジェクトに以下の変更が必要となります。
- インテル® Quartus® Prime プロ・エディションアサインメントと同等のプロジェクト・アサインメントと制約へのアップグレード
- プロジェクト内のすべてのアルテラIP コア・バリエーションとQsys システムのアップグレード
- 規格に準拠したVHDL、Verilog HDL、SystemVerilogへのデザインRTLのアップグレード
本ドキュメントでは、それぞれのマイグレーション手順を詳細に解説します。
プロ・エディションのプロジェクト・ファイルを別の位置に保存する
インテル® Quartus® Prime プロ・エディションのプロジェクトは他のQuartusソフトウェア製品のコンパイルをサポートしていません。 Compilerがプロジェクト・ファイル内の他のQuartusソフトウェア製品の機能を検出すると、 インテル® Quartus® Prime プロ・エディションのソフトウェアはエラーを生成します。
他のQuartusソフトウェア・プロダクトのプロジェクトをマイグレーションする前に、Project > Archive Projectの順でクリックし、マイグレーションに向けた変更を実行する前にオリジナルのプロジェクトのコピーを保存します。
プロジェクト・アサインメントと制約のアップグレード
次のセクションでは、マイグレーションに必要となる各プロジェクト・アサインメントの種類について詳細に解説します。
エンティティ名のアサインメントの変更
- "a_entity:a|b_entity:b|c_entity:c"(推奨されていないエンティティ名を含む)
- “a|b|c”(推奨されていないインスタンス名を除く)
現行バージョンの インテル® Quartus® Prime プロ・エディション のソフトウェアは.qsf内のエンティティ名を認識しますが、Compilerはエンティティ名を無視します。Compilerは、.qsf内でエンティティ名を検知するとエラー・メッセージを生成します。可能で有る限り、アサインメントからエンティティ名を削除し、エンティティ・ベースのアサインメントへの依存は中止してください。 インテル® Quartus® Prime プロ・エディション のソフトウェアの今後のバージョンでは、エンティティ・ベースのアサインメントへのサポートは終了する可能性があります。
タイミング制約のエンティティ名の解決
他のQuartusソフトウェア製品の.sdcファイルをそのまま使用してください。 ただし、get_registersなどの.sdcコマンドが返す名前のカスタム処理を含むスクリプトでは、変更が必要な場合があります。 スクリプトは、返された文字列にエンティティ名が含まれていないことを反映する必要があります。
.sdcコマンドは、エンティティ名を含むワイルド・カード・パターンを尊重します。 タイミング解析レポートを確認して、すべての制約の適用を検証します。 次の例は、機能している.sdcスクリプトの違いを示しています。
# Apply a constraint to all registers named "acc" in the entity "counter". # This constraint functions in both SE and PE, because the SDC # command always understands wildcard patterns with entity names in them set_false_path –to [get_registers “counter:*|*acc”] # This does the same thing, but first it converts all register names to # strings, which includes entity names by default in the SE # but excludes them by default in the PE. The regexp will therefore # fail in PE by default. # # This script would also fail in the SE, and earlier # versions of Quartus II, if entity name display had been disabled # in the QSF. set all_reg_strs [query_collection –list –all [get_registers *]] foreach keeper $all_reg_strs { if {[regexp {counter:*|:*acc} $keeper]} { set_false_path –to $keeper } }.sdcファイルからのエンティティ名処理の削除は、ノード名を含む複雑な処理のために可能ではない可能性があります。 可能であれば標準の.sdcを使用して、そのような処理を置き換えてください。 または、スクリプトの上部と下部に次のコードを追加して、.sdcファイルのエンティティ名の表示を一時的に再び有効にします。
# This script requires that entity names be included # due to custom name processing set old_mode [set_project_mode -get_mode_value always_show_entity_name] set_project_mode -always_show_entity_name on <... the rest of your script goes here ...> # Restore the project mode set_project_mode -always_show_entity_name $old_mode
生成したノード名のアサインメントの確認
名前の生成は頻繁に変更されるため、合成によって生成された名称の使用は避けてください。加えて、スクリプトあるいは制約の適合していることを確かめるするために、複製されたレジスターおよびPLL クロック出力の名称を確認します。
LogicLock領域の置換
-
.qsf編集して、次のLogic Lockアサインメンをすべて削除またはコメントアウトします。
set_global_assignment -name LL_ENABLED* set_global_assignment -name LL_AUTO_SIZE* set_global_assignment -name LL_STATE FLOATING* set_global_assignment -name LL_RESERVED* set_global_assignment -name LL_CORE_ONLY* set_global_assignment -name LL_SECURITY_ROUTING_INTERFACE* set_global_assignment -name LL_IGNORE_IO_BANK_SECURITY_CONSTRAINT* set_global_assignment -name LL_PR_REGION* set_global_assignment -name LL_ROUTING_REGION_EXPANSION_SIZE* set_global_assignment -name LL_WIDTH* set_global_assignment -name LL_HEIGHT set_global_assignment -name LL_ORIGIN set_instance_assignment -name LL_MEMBER_OF
-
.qsfを編集するか、Tools > Chip Plannerをクリックして新しいLogic Lock領域を定義します。
Logic Lockの制約構文は単純化されています。例えば、
set_instance_assignment –name VIRTUAL_PIN ON –to fifo1 set_instance_assignment –name VIRTUAL_PIN ON –to fifo1 set_instance_assignment –name VIRTUAL_PIN ON –to fifo1
シンセシスが インテル® Quartus® Prime プロ・エディション のプロジェクト内に他のQuartusソフトウェア・プロダクトのLogicLockアサインメントを検知すると、コンパイルは成功しません。以下の表に、 インテル® Quartus® Prime プロ・エディション のソフトウェアでの他のQuartusソフトウェア・プロダクトの領域制約のサポートを比較表示します。
表 15. エディション別の領域制約 制約タイプ Logic Lock (Standard) 領域サポート 他のQuartusソフトウェア・プロダクト
Logic Lock Region Support インテル® Quartus® Prime プロ・エディション
Fixed rectangular, nonrectangular or non-contiguous regions フル・サポート フル・サポート Chip Planner entry フル・サポート フル・サポート Periphery element assignments 一部のインスタンスでサポート有 フル・サポート。ペリフェラルを除外するには、「core-only」を使用してください。 Nested (“hierarchical”) regions サポート有。ただし、ユーザ・インスタンス・ツリーから別の階層でサポートされます。 ユーザ・インスタンス・ツリーと同じ階層でサポートされます。 Reserved regions ネストあるいは非矩形の予約領域への限定的サポート有。予約領域は、通常I/O カラムをまたぐことは不可能です。代わりに、隣接していない領域を使用する必要があります。 ネストあるいは非矩形の予約領域へのフル・サポート有。「core-only」であるならば、ペリフェラル・ロジックに影響を与えることなくI/O カラムをまたぐことが可能です。 Routing regions 「Routing expansion」を介した限定的サポート有。階層領域のサポートは無。 フル・サポート(階層領域への今後のサポートも含まれます) Floating or autosized regions フル・サポート サポート無 Region names 領域には名称が与えられます。 領域は、制約されたロジックのインスタンス名によって認識されます。 Multiple instances in the same region フル・サポート 予約されていない地域のサポート。 インスタンスごとに1つの領域を作成し、同じ領域に割り当てる複数のインスタンスに対して同じ定義を指定します。 予約領域ではサポートされていません。 Member exclusion フル・サポート 任意論理へのサポート無。ペリフェラルのエレメントを実行するには、core-only領域を使用します。必要に応じてさらに多くのRAMあるいはDSPカラムを含めるには、非矩形領域を使用します。
Logic Lock領域割り当ての例
矩形Logic Lock領域の割り当て
矩形Logic Lock領域を右下隅の(10,10)および右上隅の(20,20)へそれぞれ割り当てます。
set_instance_assignment –name PLACE_REGION –to a|b|c "10 10 20 20"
非矩形Logic Lock領域の割り当て
インスタンスの「a|b|c」を非矩形L字型Logic Lock領域へ割り当てます。ソフトウェアは、それぞれ4個の数字を新しい矩形として処理します。
set_instance_assignment –name PLACE_REGION –to x|y|z "X10 Y10 X20 Y50; X20 Y10 X50 Y20"
従属Logic Lockインスタンスの割り当て
デフォルトでは、 インテル® Quartus® Primeソフトウェアは、すべての子インスタンスをその親のLogic Lock領域に制約します。子インスタンスへの制約はすべて、その上位の制約とインタセクトします。たとえば以下の例では、「a|b|c|d」の下のすべてのロジックは、矩形(0,0)、(15,15)ではなく、(10,10)、(15,15)に制約されます。これは、子の制約が親の制約とインタセクトするために発生します。
set_instance_assignment –name PLACE_REGION –to a|b|c "10 10 20 20" set_instance_assignment –name PLACE_REGION –to a|b|c|d "0 0 15 15"
複数のLogic Lockインスタンスの割り当て
デフォルトでは、Logic Lock領域の制約により、他のインスタンスのロジックが同じ領域を共有することができます。 これらの割り当ては、インスタンスcとインスタンスgを同じ場所に配置します。 この戦略は、インスタンスcとインスタンスgが大きく相互作用している場合に便利です。
set_instance_assignment –name PLACE_REGION –to a|b|c "10 10 20 20" set_instance_assignment –name PLACE_REGION –to e|f|g "10 10 20 20"
予約Logic Lock領域の割り当て
1 つのインスタンスおよびその下位にある任意のインスタンスに対し、全Logic Lock領域を予約することが可能です。
set_instance_assignment –name PLACE_REGION –to a|b|c "10 10 20 20" set_instance_assignment –name RESERVE_PLACE_REGION –to a|b|c ON # The following assignment causes an error. The logic in e|f|g is not # legally placeable anywhere: # set_instance_assignment –name PLACE_REGION –to e|f|g "10 10 20 20" # The following assignment does *not* cause an error, but is effectively # constrained to the box (20,10),(30,20), since the (10,10),(20,20) box is reserved # for a|b|c set_instance_assignment –name PLACE_REGION –to e|f|g "10 10 30 20"
SignalTap IIロジック・アナライザ・ファイルの編集
-
.stpファイルからエンティティ名を削除します。 Signal Tap Logic Analyzerは、.stpファイル内のエンティティー名を無視しますが、無視します。
インテル®
Quartus® Prime プロ・エディションへの移行のために、.stpファイルからエンティティ名を削除します。
- View > Node Finderをクリックして、適切なノードを見つけて削除します。 Node Finderオプションを使用してノードをフィルタリングします。
- Processing > Start > Start Analysis & Elaborationをクリックしてデータベースを再投入し、有効なノード名を追加します。
-
ポストフィットノードを削除します。
インテル®
Quartus® Prime プロ・エディションは他のQuartusソフトウェア製品とは異なるポストフィットノード命名方式を使用します。
- 他のQuartusソフトウェア製品に由来するポストフィット・タップ・ノード名を削除します。
- View > Node Finderをクリックして、ポストフィットノードを見つけて削除します。 Node Finderオプションを使用してノードをフィルタリングします。
- Processing > Start Compilationをクリックしてデータベースを再投入し、有効なポストフィットノードを追加します。
-
GUIから
インテル®
Quartus® Prime プロ・エディションで初期コンパイルを実行します。
Compilerは、他のQuartusソフトウェア製品に由来するSignal Tapアサインメントを自動的に削除します。 あるいは、コマンドラインからquartus_stpをプロジェクト上で1回実行して、割り当てられていない割り当てを削除します。
注: quartus_stpには インテル® Quartus® Prime プロ・エディションに移行の影響はありません。 スクリプトでは、移行のためにquartus_stpを変更する必要はありません。
- JTAG へのSDC制約を編集します。 インテル® Quartus® Prime プロ・エディションは、JTAG信号に向けたエンベデッドSDC制約はサポートしていません。デザインのJTAGドライバー(USB Blaster IIなど)およびボードに適合するよう、タイミング・テンプレートを編集します。
サポートされていない機能のアサインメントの削除
- Incremental Compilation(パーティション)—現行バージョンの インテル® Quartus® Prime プロ・エディション のソフトウェアでは、インクリメンタル・コンパイルはサポートされていません。マイグレーションを実行する前に、他のQuartusソフトウェア・プロダクト.qsfファイルからのインクリメンタル・コンパイル機能のアサインメントはすべて削除します。Spectra-Qエンジンには、今後のリリースでイネーブルされる予定である階層型コンパイルが新しく実装されています。
- インテル® Quartus® Prime スタンダード・エディション のフィジカル合成割り当て。 インテル® Quartus® Prime プロ・エディションのソフトウェアは インテル® Quartus® Prime スタンダード・エディションのフィジカル合成割り当てをサポートしていません。.qsfファイルから次の割り当てを削除するか、移行前にRTL(インスタンス割り当て)をデザインします。
PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA PHYSICAL_SYNTHESIS_COMBO_LOGIC PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION PHYSICAL_SYNTHESIS_REGISTER_RETIMING PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA
IP コアとQsys システムのアップデート
他のQuartusソフトウェア製品は、合成ファイル用にIPコアとPlatform Designerシステムのトップレベルで独自のVerilogコンフィグレーション手法を使用しています。 インテル® Quartus® Prime プロ・エディションはこのスキームをサポートしていません。 プロジェクト内のすべてのIPコアおよびPlatform Designerシステムをアップグレードするには、Project > Upgrade IP Componentsをクリックします。1
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
IPおよびQsys システムの生成には、トップレベルのIP コア内で独自のVerilogコンフィグレーション手法を使用し、シンセシス・ファイルに対してQsys システムを使用します。この独自のVerilogコンフィグレーション手法は、シンセシス中に曖昧なインスタンス化エラーからのRTLエンティティを防止しますが、このようなエラーはシミュレーション時に初めて明らかになる場合があります。この問題を解決するには、Verilogコンフィグレーションを記述し、インスタンス化の曖昧さを解消し、プロジェクトから複製されたエンティティを削除、あるいは競合するエンティティの名称を変更する必要があります。 インテル® Quartus® Prime プロ・エディション IP手法はこのような問題を解決します。 |
IPおよびQsys システムの生成に、独自のVerilogコンフィグレーションは使用されません。コンパイル・ライブラリーの手法は以下の方法で変更します。
|
非準拠デザインRTLの更新
- SystemVerilogインターフェイスを使用したモジュールのサポート
- VHDL2008への改善されたサポート
- GENERATEステートメントあるいは整列の配列からRAMを推測する新しいRAM推論エンジン
- 他のEDAツールとの互換性を改善するより厳しいシンタックス/セマンティクス・チェック
設計するデザインが規格に準拠したVHDL、Verilog HDL、SystemVerilogを使用していることを確認した上で、既存のRTLコードでこのようなシンセシスの相違点を表記する必要があります。CompilerがRTLに準拠しないコードを処理した場合、エラーが生成されます。Spectra-Qエンジンに使用されるテクノロジは、今後の インテル® Quartus® Prime プロ・エディション のソフトウェアの強化で必要となる重要なサポートも提供します。Spectra-Qシンセシスと互換性を持つよう既存のRTLを編集するには、本セクションのガイドラインを使用してください。
Verilogコンパイル・ユニットの確認
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
他のQuartusソフトウェア・プロダクトにおけるシンセシスでは、コンパイル・ユニット・ファイルの選択する際、マルチ・ファイル・コンパイル・ユニット(MFCU)手法が用いられます。MFCUの場合、すべてのファイルは同じコンパイル・ユニット内にコンパイルされます。グローバル定義とディレクティブは、すべてのファイルで可視化されます。ただし、デフォルト・ネット・タイプは、各ファイルの開始でリセットされます。 | インテル® Quartus® Prime プロ・エディション のシンセシスは、コンパイル単位ファイルを選択するためのシングル・ファイル・コンパイル・ユニット(SFCU)方式に従います。 SFCUでは、各ファイルはコンパイル単位であり、ファイル順序は関係ありません。マクロはファイルの終わりまでしか定義されていません。 |
Verilog HDLコンフィグレーションのインスタンス化
トップ・レベルのエンティティがVerilogコンフィグレーションである場合、モジュールではなくVerilogコンフィグレーションをトップ・レベル・エンティティとして設定してください。
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
Example RTLから、インスタンス化されたモジュールに関連するmid_config Verilog HDLコンフィグレーションを自動で検索します。 | Example RTLから、シンセシスはmid_config Verilog HDLコンフィグレーションをサポートしていません。Verilog HDLコンフィグレーションは、直接インスタンス化する必要があります。 |
Example RTL: config mid_config; design good_lib.mid; instance mid.sub_inst use good_lib.sub; endconfig module test (input a1, output b); mid_config mid_inst ( .a1(a1), .b(b)); // in other Quartus products preceding line would have been: //mid mid_inst ( .a1(a1), .b(b)); endmodule module mid (input a1, output b); sub sub_inst (.a1(a1), .b(b)); endmodule |
Entity Auto Discoveryの更新
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
常にプロジェクト・ディレクトリを自動検索し、未定義エンティティのパスを検索します。 | 常にプロジェクト・ディレクトリーを自動検索し、未定義エンティティのパスを検索します。 インテル® Quartus® Prime プロ・エディションシンセシスは、他のQuartusソフトウェア・プロダクトよりも早い段階でフロー中にAuto-Discoveryを実行します。これにより、さらに多くのシンタックス・エラーが検索されます。オプションとして、次の.qsfアサインメントを使用してAuto Discoveryをディスエーブルすることも可能です。set_global_assignment -name AUTO_DISCOVER_AND_SORT OFF |
各ライブラリーへ個別に異なるVHDL Namespaceの作成
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
Example RTLの場合、アナライザーはパッケージutilities_packを検索するまで不特定の順に全てのライブラリーを検索し、そのパッケージからのアイテムを使用します。が、他のライブラリー(たとえば、projectLibにはutilities_packも含まれます)であれば、アナライザーはmyLibを検索する前にmyLib.utilites_packが検索されると、これを代わりに使用することがあります。 | Example RTLの場合、アナライザーはmyLib内の特定のutilities_packを使用します。ライブラリーのmyLibにutilities_packが存在しない場合、アナライザーはエラーを生成します。 |
Example RTL: library myLib; use myLib.utilities_pack.all; |
サポートされていないパラメーター・パッシングの削除
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
Example RTLから、シンセシスはエンティティmid-levelからインスタンス化されたmy_ramのインスタンスであるパラメーターSIZEの値を上書きします。 | Example RTLから、シンセシスは.qsfファイル内にパラメータを渡すアサインメントを検出すると、シンタックス・エラーを生成します。RTLでパラメータを指定してください。次の例は、サポートされているトップ・レベルのパラメータ・パッシング・フォーマットを表しています。この例は、トップレベルのみに適用され、値4をパラメータNに設定します。set_parameter -name N 4 |
Example RTL: set_parameter –entity mid_level –to my_ram –name SIZE 16 |
未定義定数をWYSIWYGのインスタンス化から削除
インテル® Quartus® Prime プロ・エディションのシンセシスでは、WYSIWYGインスタンス化以外の用途に.svファイル内の未定義定数を使用できます。 RTLコードがWYSIWYGのインスタンス化に未定義定数を使用していないことを確認してください。 たとえば、 '1'ではなく2'b11のようなサイズのリテラルを指定します。
非標準のプラグマを削除する
- vhdl(verilog)_input_versionプラグマ—入力ファイルの途中で入力バージョンへの変更が可能です。例:VHDL 1993からVHDL 2008への変更。 インテル® Quartus® Prime プロ・エディション のマイグレーションへは、.qsfで各ファイルへの入力バージョンを指定してください。
- libraryプラグマ—ファイルをコンパイルするVHDLライブラリへの変更が可能です。 インテル® Quartus® Prime プロ・エディションへマイグレーションするには、.qsfでコンパイル・ライブラリを指定してください。
初期値宣言の前にオブジェクト宣言の実行
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
レジスタ宣言はLine2で実行されますが、シンセシスはExample RTLからp_progio1_regの値を使用し出力p_prog_io1を初期化します。 | Example RTLから、レジスター宣言より先に初期値をした場合、シンセシスはシンタックス・エラーを生成します。 |
Example RTL: 1 output p_prog_io1 = p_prog_io1_reg; 2 reg p_prog_io1_reg; |
SystemVerilogファイルでのSystemVerilog機能の制約
set_global_assignment -name SYSTEMVERILOG_FILE <file>.v
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
Verilog LRMは$clog2機能を定義しませんが、シンセシスはExample RTLから$clog2を.vファイル内に解析します。他のQuartusソフトウェア・プロダクトでは、.vファイル内に他のSystemVerilog機能を含めることが可能です。 | シンセシスは、Example RTLから.vファイル内にVerilogではない構成を検知するとシンタックス・エラーを生成します。 インテル® Quartus® Prime プロ・エディションシンセシスは.svファイル内でのみSystemVerilog機能を適用します。 |
Example RTL: localparam num_mem_locations = 1050; wire mem_addr [$clog2(num_mem_locations)-1 : 0]; |
Alwaysブロック内でアサインメントの混合使用の回避
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
Verilog言語の仕様ではブロッキング・アサインメントと非ブロッキング・アサインメントの混合使用はサポートされていませんが、シンセシスはこの構成を適用します。 | シンセシスは、ALWAYSブロック内にブロッキング・アサインメントと非ブロッキング・アサインメントの混合使用を検知するとシンタックス・エラーを生成します。 |
未接続ポートおよび存在しないポートの仕様の回避
シンタックス・エラーを回避するには、 インテル® Quartus® Prime プロ・エディションへのマイグレーションに向けてすべての未接続ポートと存在しないポートを削除してください。
他のQuartusソフトウェア・プロダクト | インテル® Quartus® Prime プロ・エディション |
---|---|
シンセシスでは、モジュール内に存在しない未接続ポートおよび存在していないポートをインスタンス化し命名することが可能です。 | シンセシスは、ALWAYSブロック内にブロッキング・アサインメントと非ブロッキング・アサインメントの混合使用を検知するとシンタックス・エラーを生成します。 |
不正なパラメーター範囲の回避
VerilogおよびVHDLタイプのマッピングの更新
インテル Quartus Prime プロ・エディション の改訂履歴
ドキュメント・バージョン | バージョン | 変更内容 |
---|---|---|
2018.05.07 | 18.0.0 | 使い始めのユーザーガイドの別の章としての初期リリース。 |
2017.11.06 | 17.1.0 |
|
2017.05.08 | 17.0.0 |
|
2016.10.31 | 16.1.0 |
|
2016.05.03 | 16.0.0 |
|
2015.11.02 | 15.1.0 |
|
インテル Quartus Prime プロ・エディション の ユーザーガイド
インテル® Quartus® Prime プロ・エディション FPGAデザインフローの前段階についての包括的な情報については、次のユーザーガイドを参照してください。