Libero SoCシミュレーション
ライブラリのセットアップ手順
導入
(質問する)
このドキュメントの目的は、Libero SoC プロジェクトを入力として使用してシミュレーション環境を設定する手順を説明することです。このドキュメントは、Libero SoC v11.9 以降のソフトウェア リリースで使用するために提供されるコンパイル済みライブラリに対応しています。提供されるライブラリは Verilog 用にコンパイルされています。VHDL ユーザーには、混合モード シミュレーションを許可するライセンスが必要です。
コンパイルされたシミュレーション ライブラリは、次のツールで使用できます。
- アルデック アクティブ HDL
- アルデック リビエラ PRO
- ケイデンス・インシブ・エンタープライズとエクセリウム
- シーメンス QuestaSim
- シノプシスVCS
別のシミュレータ用のライブラリをリクエストするには、 マイクロチップ技術サポート.
Libero SoC 統合
(質問する)
Libero SoCは、run.doを生成することでModelSim MEを使用したシミュレーションをサポートします。 file。 これ file ModelSim ME/ModelSim Pro MEは、シミュレーションの設定と実行に使用します。他のシミュレーションツールを使用するには、ModelSim ME/ModelSim Pro ME run.doを生成し、Tclスクリプトを変更します。 file シミュレータと互換性のあるコマンドを使用します。
1.1 リベロ SoC Tcl File 世代 (質問する)
Libero SoCでデザインを作成して生成した後、すべてのデザインフェーズ(プレシンセ、ポストシンセ、ポストレイアウト)でModelSim ME/ModelSim Pro MEシミュレーションを開始します。このステップではrun.doが生成されます。 file 各設計フェーズの ModelSim ME/ModelSim Pro ME 向け。
重要: 各シミュレーション実行を開始した後、自動生成されたrun.doの名前を変更します。 file シミュレーションディレクトリの下に保存し、Libero SoCがそれを上書きするのを防ぐ file例えばampル、 files は、presynth_run.do、postsynth_run.do、postlayout_run.do に名前を変更できます。
Active-HDLとRiviera-ProのAldecセットアップ(質問する)
ラン・ドゥ file ModelSim ME/ModelSim Pro ME で使用されるモデルは、変更して Aldec シミュレータを使用したシミュレーションに使用できます。
2.1 環境変数(質問する)
環境変数をライセンスに設定する file 位置:
LM_ライセンス_FILE: ライセンス サーバーへのポインターを含める必要があります。
2.2 コンパイル済みライブラリのダウンロード(質問する)
Aldec Active-HDLとAldec Riviera-PROのライブラリをMicrochipからダウンロードします。 webサイト。
2.3 run.doをAldecシミュレーション用に変換する(質問する)
ラン・ドゥ fileActive-HDLおよびRiviera-Proツールを使用したシミュレーション用にLibero SoCによって生成されたファイルは、1つの変更を加えるだけで、Active-HDLおよびRiviera-Proを使用したシミュレーションに使用できます。次の表は、ModelSim run.doで変更するAldecの同等のコマンドを示しています。 file.
表 2-1. Aldec の同等のコマンド
モデルシム | アクティブHDL |
ビデオブログ | ログ |
ヴイコム | アコム |
vlib | アリブ |
対シム | アシム |
vマップ | アマップ |
以下はampAldec シミュレータに関連する le run.do。
- 現在の作業ディレクトリの場所を設定します。
DSN を設定する - 作業ライブラリ名を設定し、その場所をマップし、次にMicrochip FPGAファミリの場所をマップします。
コンパイル済みライブラリ(例:amp設計を実行しているプラットフォーム (たとえば、SmartFusion2) を指定します。
alib プレシンセ
amap プレシンセ プレシンセ
アマップ スマートフュージョン2 - 必要なHDLをすべてコンパイルする file必要なライブラリを使用して設計に使用されます。
alog –work presynth temp.v (Verilog 用)
alog –work プレシンセテストベンチ.v
acom –work presynth temp.vhd (Vhdl 用)
acom –work プレシンセテストベンチ.vhd - 設計をシミュレートします。
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10US 実行
2.4 既知の問題 (質問する)
このセクションでは、既知の問題と制限事項を示します。
- Riviera-PRO を使用してコンパイルされたライブラリはプラットフォーム固有です (つまり、64 ビット ライブラリは 32 ビット プラットフォームでは実行できず、その逆も同様です)。
- SERDES/MDDR/FDDRを含むデザインの場合は、run.doで次のオプションを使用します。 file設計をコンパイルした後、シミュレーションを実行する際に次の操作を実行します。
– アクティブHDL: asim –o2
– Riviera-PRO: asim –O2 (プレシンセおよびポストレイアウトシミュレーション用) および asim –O5 (ポストレイアウトシミュレーション用)
Active-HDLおよびRiviera-ProのAldecセットアップには、次の保留中のSARがあります。詳細については、 マイクロチップ技術サポート. - SAR 49908 – Active-HDL: 数学ブロックシミュレーションの VHDL エラー
- SAR 50627 – Riviera-PRO 2013.02: SERDES 設計のシミュレーション エラー
- SAR 50461 – Riviera-PRO: シミュレーションにおける asim -O2/-O5 オプション
ケイデンスインシブセットアップ(質問する)
スクリプトを作成する必要があります file ModelSim ME/ModelSim Pro MEのrun.doと同様に、
Cadence Incisiveシミュレータ。以下の手順に従ってスクリプトを作成してください。 file NCSim用またはスクリプトを使用する file
ModelSim ME/ModelSim Pro ME run.doを変換するために提供 fileを構成に追加する files
NCSim を使用してシミュレーションを実行するために必要です。
重要: ケイデンス Incisive Enterpriseの新バージョンのリリースを停止しました
シミュレーターとXceliumシミュレーターのサポートを開始しました。
3.1 環境変数(質問する)
Cadence Incisive シミュレータを実行するには、次の環境変数を設定します。
- LM_ライセンス_FILE: ライセンスへのポインタを含める必要があります file.
- cds_root: Cadence Incisive インストールのホーム ディレクトリの場所を指す必要があります。
- PATH: cds_root が指すツールディレクトリの下の bin の場所を指す必要があります。つまり、
$cds_root/tools/bin/64bit (64 ビット マシンの場合)、32 ビット マシンの場合は $cds_root/tools/bin。
64 ビット オペレーティング システムと 32 ビット オペレーティング システムを切り替える場合、シミュレーション環境を設定する方法は XNUMX つあります。
ケース1: PATH変数
次のコマンドを実行します。
64ビットマシンの場合はpath = (install_dir/tools/bin/64bit $path)を設定し、
32ビットマシンの場合は、path = (install_dir/tools/bin $path) を設定します。
ケース 2: -64bit コマンドライン オプションを使用する
64 ビット実行可能ファイルを呼び出すには、コマンドラインで -64bit オプションを指定します。
ケース3: INCA_64BITまたはCDS_AUTO_64BIT環境変数の設定
INCA_64BIT 変数はブール値として扱われます。この変数は任意の値または null 文字列に設定できます。
INCA_64BIT を設定します
重要: INCA_64BIT 環境変数は、IC ツールなどの他の Cadence ツールには影響しません。ただし、Incisive ツールの場合、INCA_64BIT 変数は CDS_AUTO_64BIT 環境変数の設定を上書きします。INCA_64BIT 環境変数が設定されている場合、すべての Incisive ツールは 64 ビット モードで実行されます。setenv CDS_AUTO_64BIT INCLUDE:INCA
重要: 文字列 INCA は大文字にする必要があります。すべての実行ファイルは 32 ビット モードまたは 64 ビット モードのいずれかで実行する必要があります。次のように、XNUMX つの実行ファイルのみを含むように変数を設定しないでください。
setenv CDS_AUTO_64BIT INCLUDE:ncelab
IC ツールなどの他の Cadence ツールも、CDS_AUTO_64BIT 環境変数を使用して、32 ビットまたは 64 ビットの実行可能ファイルの選択を制御します。次の表は、CDS_AUTO_64BIT 変数を設定して、すべてのモードで Incisive ツールと IC ツールを実行する方法を示しています。
表 3-1. CDS_AUTO_64BIT 変数
CDS_AUTO_64BIT 変数 | 鋭いツール | ICツール |
setenv CDS_AUTO_64BIT すべて | 64ビット | 64ビット |
setenv CDS_AUTO_64BIT なし | 32ビット | 32ビット |
setenv CDS_AUTO_64BIT 除外:ic_バイナリ | 64ビット | 32ビット |
setenv CDS_AUTO_64BIT 除外:INCA | 32ビット | 64ビット |
重要: すべての Incisive ツールは 32 ビット モードまたは 64 ビット モードのいずれかで実行する必要があります。次のように、特定の実行ファイルを除外するために EXCLUDE を使用しないでください: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
CDS_AUTO_64BIT 変数を設定して Incisive ツールを除外すると (setenv CDS_AUTO_64BIT EXCLUDE:INCA)、すべての Incisive ツールは 32 ビット モードで実行されます。ただし、-64bit コマンドライン オプションは環境変数をオーバーライドします。
次の構成 fileは、データの管理とシミュレーション ツールおよびユーティリティの操作の制御に役立ちます。
- ライブラリマッピング file (cds.lib) - デザインの場所の論理名を定義します。
- ライブラリを作成し、物理ディレクトリ名に関連付けます。
- 変数 file (hdl.var) - シミュレーション ツールとユーティリティの動作に影響する変数を定義します。
3.2 コンパイル済みライブラリのダウンロード(質問する)
MicrosemiのCadence Incisive用ライブラリをダウンロードしてください。 webサイト。
3.3 NCSimスクリプトの作成 File (質問する)
run.doのコピーを作成した後 fileNCSim を使用してシミュレーションを実行するには、次の手順を実行します。
- cds.libを作成する file アクセス可能なライブラリとその場所を定義します。 file ライブラリの論理名を物理ディレクトリパスにマッピングするステートメントが含まれています。例:ample、presynthシミュレーションを実行している場合は、cds.lib file 次のコードブロックに示すように記述されます。
presynth を定義する ./presynth
COREAHBLITE_LIB を定義します。/COREAHBLITE_LIB
スマートフュージョン2を定義する - hdl.varを作成する fileオプション構成 file 設計環境の構成方法を決定する構成変数が含まれています。次の変数 fileが含まれています:
– コンパイラがコンパイルされたオブジェクトやその他の派生データを格納する作業ライブラリを指定するために使用される変数。
– Verilogの場合、変数(LIB_MAP、 VIEW_MAP、WORK)は、ライブラリを指定するために使用され、 viewエラボレータがインスタンスを解決するときに検索する s。
– コンパイラ、エラボレータ、シミュレータのコマンドライン オプションと引数を定義できる変数。
プレシンセシミュレーションの場合amp上に示したように、3つのRTLがあるとします files: av、bv、testbench.v。それぞれpresynth、COREAHBLITE_LIB、presynthライブラリにコンパイルする必要があります。hdl.var file 次のコードブロックに示すように記述できます。
DEFINE WORK プレシンセ
PROJECT_DIR を定義する files>
LIB_MAP を定義します ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
LIB_MAP を定義します ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP を定義します ( $LIB_MAP, + => presynth ) - デザインをコンパイルする filencvlog オプションを使用します。
ncvlog +インクリメント+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab を使用して設計を詳細化します。詳細化ツールは、設計内のインスタンス化および構成情報に基づいて設計階層を構築し、信号接続を確立し、設計内のすべてのオブジェクトの初期値を計算します。詳細化された設計階層は、シミュレーション スナップショットに保存されます。これは、シミュレータがシミュレーションを実行するために使用する設計の表現です。
ncelab –メッセージ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –エラー最大15 –
+rwc –status worklib にアクセスします。 :モジュール
レイアウト後のシミュレーションにおける詳細化
レイアウト後のシミュレーションの場合、まずSDF file ncsdfc コマンドを使用して、詳細化する前にコンパイルする必要があります。
ナックルfile名前>.sdf –出力file名前>.sdf.X
詳細化中は、次のコードブロックに示すように、–autosdf オプションを使用してコンパイルされた SDF 出力を使用します。
ncelab -autosdf –メッセージ –cdslib ./cds.lib –hdlvar ./hdl.var –ログfile ncelab.log –エラー最大
15 –access +rwc –status ワークライブラリ。 :モジュール –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file 次のコードブロックに示すようにする必要があります。
コンパイル済み_SDF_FILE = “ file>” - ncsim を使用してシミュレーションします。詳細化後、シミュレーション スナップショットが作成され、シミュレーション用に ncsim によって読み込まれます。バッチ モードまたは GUI モードで実行できます。
ncsim –メッセージ –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –ステータス worklib。 :モジュール
重要: 上記のコンパイル、詳細化、シミュレーションの3つのステップはすべてシェルスクリプトにまとめることができます。 file コマンドラインからソースを取得します。これらの 3 つの手順を使用する代わりに、次のコード ブロックに示すように、ncverilog または irun オプションを使用して 1 つの手順で設計をシミュレートできます。
ncverilog +インクディル+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileデザインに使用されているもの>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
デザインに使用された>
3.3.1 既知の問題 (質問する)
テストベンチの回避策
ユーザーが生成したテストベンチ、または Libero SoC によって生成されたデフォルトのテストベンチでクロック周波数を指定するために次のステートメントを使用することは、NCSim では機能しません。
常に@(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
シミュレーションを実行するには、次のように変更します。
常に #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
重要: コンパイル済み NCSim のライブラリはプラットフォーム固有です (つまり、64 ビット ライブラリは 32 ビット プラットフォームと互換性がなく、その逆も同様です)。
MSSとSERDESを使用したポストシンセおよびポストレイアウトシミュレーションMSSブロックを含むデザインのポストシンセシミュレーションまたはSERDESを使用したデザインのポストレイアウトシミュレーションを実行している場合、–libmapオプションが指定されていないとBFMシミュレーションは機能しません。
エラボレーション中に指定されません。これは、エラボレーション中に、MSS が作業ライブラリから解決されるためです (デフォルトのバインディングと、作業ライブラリが postsynth/post-layout であるため)。ここでは、MSS は単なる固定関数です。
MSSを解決するには、ncelabコマンドを次のコードブロックのように記述する必要があります。
SmartFusion2 プリコンパイル済みライブラリからのブロック。
ncelab -libmap lib.map -libverbose -メッセージ -access +rwc cfg1
そしてlib.map file 次のようにする必要があります。
configcfg1; を設定します。
デザイン;
デフォルトのliblist smartfusion2 ;
終了構成
これにより、作業ライブラリ (postsynth/post-layout) を調べる前に、SmartFusion2 ライブラリ内のすべてのセルが解決されます。
–libmap オプションは、すべてのシミュレーション (presynth、postsynth、post-layout) のエラボレーション中にデフォルトで使用できます。これにより、ライブラリからのインスタンスの解決によって発生するシミュレーションの問題を回避できます。
ncelab: *F,INTERR: 内部例外
この ncelab ツール例外は、–libmap オプションを使用したポストシンセおよびポストレイアウト シミュレーション中に SmartFusion 2 および IGLOO 2 で FDDR を含むデザインに対して警告されます。
重要: この問題は Cadence サポート チームに報告されています (SAR 52113)。
3.4年ample Tclとシェルスクリプト File(質問する)
次の filesは構成です fileデザインとシェルスクリプトの設定に必要な file NCSim コマンドを実行します。
Cds.lib
NE スマートフュージョン2 /スクラッチ/クリドール/tmpspace/ユーザー/me/nc-vlog64/スマートフュージョン2
COREAHBLITE_LIB を定義します。/COREAHBLITE_LIB
presynth を定義する ./presynth
Hdl.var
DEFINE WORK プレシンセ
PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/ を定義します。
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
ビデオブログ/コア/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
ビデオブログ/コア/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => プレシンセ )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => プレシンセ )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP を定義します ( $LIB_MAP, + => presynth )
コマンド.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstag年齢
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestag年齢
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../コンポーネント/work/SB/SB.v ../../コンポーネント/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -メッセージ -cdslib ./cds.lib -hdlvar ./hdl.var
-作業前シンセ -ログfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:モジュール
ncsim -メッセージ -バッチ -cdslib ./cds.lib -hdlvar ./
hdl.var -ログfile ncsim.log -errormax 15 -status presynth.testbench:モジュール
3.5 自動化(質問する)
次のスクリプト file ModelSim run.doを変換する filesを構成に組み込む fileNCSim を使用してシミュレーションを実行するために必要なもの。
スクリプト File 使用法
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do マイクロセミファミリー
Cadence プリコンパイル済みライブラリの場所
ケイデンスパーサー.pl
#!/usr/bin/perl -w
################################################ ##########################################
##################
#使用方法: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family プリコンパイル済みライブラリの場所#
################################################ ##########################################
##################
POSIX を使用します。
厳格な使用;
$presynth、$postsynth、$postlayout、$family、$lib_location) = @ARGV;
&questa_parser($presynth、$family、$lib_location);
&questa_parser($postsynth、$family、$lib_location);
&questa_parser($postlayout、$family、$lib_location);
サブquesta_parser {
私の$ModelSim_run_do = $_[0];
私の$actel_family = $_[1];
私の$lib_location = $_[2];
私の$state;
if ( -e “$ModelSim_run_do” )
{
オープン(INFILE,”$ModelSim_run_do”);
私の@ModelSim_run_do =FILE>;
私の $line;
( $ModelSim_run_do =~ m/(presynth)/ の場合)
{
`mkdir QUESTA_PRESYNTH`;
オープン(OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$状態 = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
オープン(OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$状態 = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
オープン(OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$状態 = $1;
}他
{
「入力が間違っています」と表示 file\n”;
print “#使用方法: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
$line を foreach します (@ModelSim_run_do)
{
#一般業務
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#印刷するFILE “$line \n”;
($line =~ m/vmap\s+.*($actel_family)/) の場合
{
印刷するFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
印刷するFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
印刷するFILE “$line \n”;
}他
{
印刷するFILE “$line \n”;
}
}
閉じる(INFILE);
閉じる(OUTFILE);
} それ以外 {
print “$ModelSim_run_do が存在しません。シミュレーションを再度実行してください \n”;
}
}
ケイデンスXceliumセットアップ(マイクロチップログイン)
スクリプトを作成する必要があります file ModelSim ME/ModelSim Pro MEのrun.doと同様に、Cadence Xceliumシミュレータを実行します。以下の手順に従ってスクリプトを作成します。 file Xceliumの場合はスクリプトを使用する file ModelSim ME/ModelSim Pro ME run.doを変換するために提供 fileを構成に追加する fileXcelium を使用してシミュレーションを実行するために必要なもの。
4.1 環境変数(質問する)
Cadence Xcelium を実行するには、次の環境変数を設定します。
- LM_ライセンス_FILE: ライセンスへのポインタを含める必要があります file.
- cds_root: Cadence Incisive インストールのホーム ディレクトリの場所を指す必要があります。
- PATH: cds_root が指すツールディレクトリの下のbinの場所を指す必要があります(つまり
$cds_root/tools/bin/64bit (64ビットマシンの場合)、$cds_root/tools/bin (32ビットマシンの場合)
機械)。
64 ビット オペレーティング システムと 32 ビット オペレーティング システムを切り替える場合、シミュレーション環境を設定する方法は XNUMX つあります。
ケース1: PATH変数
64ビットマシンの場合はpath = (install_dir/tools/bin/64bit $path)を設定し、
32ビットマシンの場合は、path = (install_dir/tools/bin $path) を設定します。
ケース 2: -64bit コマンドライン オプションを使用する
64 ビット実行可能ファイルを呼び出すには、コマンドラインで -64bit オプションを指定します。
ケース3: INCA_64BITまたはCDS_AUTO_64BIT環境変数の設定
INCA_64BIT変数はブール値として扱われます。この変数は任意の値またはnullに設定できます。
弦。
INCA_64BIT を設定します
重要: INCA_64BIT 環境変数は、IC ツールなどの他の Cadence ツールには影響しません。ただし、Incisive ツールの場合、INCA_64BIT 変数は CDS_AUTO_64BIT 環境変数の設定を上書きします。INCA_64BIT 環境変数が設定されている場合、すべての Incisive ツールは 64 ビット モードで実行されます。
setenv CDS_AUTO_64BIT INCLUDE:INCA
重要: 文字列 INCA は大文字にする必要があります。すべての実行ファイルは 2 ビット モードまたは 64 ビット モードのいずれかで実行する必要があります。次のように、XNUMX つの実行ファイルのみを含むように変数を設定しないでください。
setenv CDS_AUTO_64BIT INCLUDE:ncelab
IC ツールなどの他の Cadence ツールも、CDS_AUTO_64BIT 環境変数を使用して、32 ビットまたは 64 ビットの実行可能ファイルの選択を制御します。次の表は、CDS_AUTO_64BIT 変数を設定して、すべてのモードで Incisive ツールと IC ツールを実行する方法を示しています。
表 4-1. CDS_AUTO_64BIT 変数
CDS_AUTO_64BIT 変数 | 鋭いツール | ICツール |
setenv CDS_AUTO_64BIT すべて | 64ビット | 64ビット |
setenv CDS_AUTO_64BIT なし | 32ビット | 32ビット |
CDS_AUTO_64BITを設定します 除外:ic_binary |
64ビット | 32ビット |
setenv CDS_AUTO_64BIT 除外:INCA | 32ビット | 64ビット |
重要: すべての Incisive ツールは 32 ビット モードまたは 64 ビット モードのいずれかで実行する必要があります。次のように、特定の実行可能ファイルを除外するために EXCLUDE を使用しないでください。
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
CDS_AUTO_64BIT変数を設定してIncisiveツールを除外する場合(setenv
CDS_AUTO_64BIT EXCLUDE:INCA) の場合、すべてのIncisiveツールは32ビットモードで実行されます。ただし、
-64bit コマンドライン オプションは環境変数をオーバーライドします。
次の構成 fileは、データの管理とシミュレーション ツールおよびユーティリティの操作の制御に役立ちます。
- ライブラリマッピング file (cds.lib) は、デザインの場所の論理名を定義します。
- ライブラリを作成し、物理ディレクトリ名に関連付けます。
- 変数 file (hdl.var) は、シミュレーション ツールとユーティリティの動作に影響する変数を定義します。
4.2 コンパイル済みライブラリのダウンロード(質問する)
MicrosemiのCadence Xcelium用ライブラリをダウンロードしてください。 webサイト。
4.3 Xceliumスクリプトの作成 file (質問する)
run.doのコピーを作成した後 fileXceliumスクリプトを使用してシミュレーションを実行するには、次の手順を実行します。 file.
- cds.libを作成する file アクセス可能なライブラリとその場所を定義します。
の file ライブラリの論理名を物理ディレクトリパスにマッピングするステートメントが含まれています。例:ample、presynthシミュレーションを実行している場合は、cds.lib file 次のコードブロックに示すように記述できます。
presynth を定義する ./presynth
COREAHBLITE_LIB を定義します。/COREAHBLITE_LIB
スマートフュージョン2を定義する - hdl.varを作成する file これはオプションの構成です file 設計環境の構成方法を決定する構成変数が含まれています。これには次のものが含まれます。
– コンパイラがコンパイルされたオブジェクトやその他の派生データを格納する作業ライブラリを指定するために使用される変数。
– Verilogの場合、変数(LIB_MAP、 VIEW_MAP、WORK)は、ライブラリを指定するために使用され、 viewエラボレータがインスタンスを解決するときに検索する s。
– コンパイラ、エラボレータ、シミュレータのコマンドライン オプションと引数を定義できる変数。
プレシンセシミュレーションの場合amp上に示したように、3つのRTLがあるとします fileav、bv、testbench.vはそれぞれpresynth、COREAHBLITE_LIB、presynthライブラリにコンパイルする必要があります。hdl.var file 次のコードブロックに示すように記述できます。
DEFINE WORK プレシンセ
PROJECT_DIR を定義する files>
LIB_MAP を定義します ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
LIB_MAP を定義します ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP を定義します ( $LIB_MAP, + => presynth ) - デザインをコンパイルする filencvlog オプションを使用します。
xmvlog +インクリメント+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab を使用して設計を詳細化します。詳細化ツールは、設計内のインスタンス化および構成情報に基づいて設計階層を構築し、信号接続を確立し、設計内のすべてのオブジェクトの初期値を計算します。詳細化された設計階層は、シミュレーション スナップショットに保存されます。これは、シミュレータがシミュレーションを実行するために使用する設計の表現です。
Xcelium –メッセージ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –エラー最大15 –
+rwc –status worklib にアクセスします。 :モジュール
レイアウト後のシミュレーションにおける詳細化
レイアウト後のシミュレーションの場合、まずSDF file ncsdfc コマンドを使用して、詳細化する前にコンパイルする必要があります。
エクセリウムfile名前>.sdf –出力file名前>.sdf.X
詳細化中は、次のコードブロックに示すように、–autosdf オプションを使用してコンパイルされた SDF 出力を使用します。
xmelab -autosdf –メッセージ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –エラー最大
15 –access +rwc –status ワークライブラリ。 :モジュール –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file 次のコードブロックに示すようにする必要があります。
コンパイル済み_SDF_FILE = “ file>” - Xcelium を使用してシミュレーションします。詳細化後、シミュレーション用に Xcelium によって読み込まれるシミュレーション スナップショットが作成されます。これはバッチ モードまたは GUI モードで実行できます。
xmsim –メッセージ –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –ステータス worklib。 :モジュール
ケイデンス Xcelium セットアップ
重要: すべて 上記のコンパイル、詳細化、シミュレーションの3つのステップはシェルスクリプトにまとめることができます。 file コマンドラインからソースを取得します。これらの 3 つの手順を使用する代わりに、次のコード ブロックに示すように、ncverilog または xrun オプションを使用して 1 つの手順で設計をシミュレートできます。
xmverilog +インクディル+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileデザインに使用されているもの>
xrun +インクディレクトリ+ -cdslib ./cds.lib –hdlvar ./hdl.var files
デザインに使用された>
4.3.1 既知の問題 (質問する)
テストベンチの回避策
ユーザーが生成したテストベンチまたは Libero SoC によって生成されたデフォルトのテストベンチでクロック周波数を指定するために次のステートメントを使用することは、Xcelium では機能しません。
常に@(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
シミュレーションを実行するには、次のように変更します。
常に #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
重要: Xcelium 用にコンパイルされたライブラリはプラットフォーム固有です (つまり、64 ビット ライブラリは 32 ビット プラットフォームと互換性がなく、その逆も同様です)。
MSS と SERDES を使用したポストシンセおよびポストレイアウト シミュレーション
MSS ブロックを含むデザインのポストシンセ シミュレーション、または SERDES を使用するデザインのポストレイアウト シミュレーションを実行している場合、エラボレーション中に –libmap オプションが指定されていないと、BFM シミュレーションは機能しません。これは、エラボレーション中に、MSS が作業ライブラリから解決されるためです (デフォルトのバインディングと作業ライブラリがポストシンセ/ポストレイアウトであるため)。この場合、MSS は単なる固定関数です。
SmartFusion2 のプリコンパイル済みライブラリから MSS ブロックを解決するには、ncelab コマンドを次のコード ブロックのように記述する必要があります。
xmelab -libmap lib.map -libverbose -メッセージ -access +rwc cfg1
そしてlib.map file 次のようにする必要があります。
configcfg1; を設定します。
デザイン;
デフォルトのliblist smartfusion2 ;
終了構成
これは、作業ライブラリ (postsynth/post-layout) を調べる前に、SmartFusion2 ライブラリ内のすべてのセルを解決する必要があります。
–libmap オプションは、すべてのシミュレーション (presynth、postsynth、post-layout) のエラボレーション中にデフォルトで使用できます。これにより、ライブラリからのインスタンスの解決によって発生するシミュレーションの問題を回避できます。
xmelab: *F,INTERR: 内部例外
このncelabツール例外は、SmartFusion2およびIGLOO2のFDDRを含む設計に対する警告です。
–libmap オプションを使用したポストシンセおよびポストレイアウト シミュレーション中。
重要: この問題は Cadence サポート チームに報告されています (SAR 52113)。
4.4年ample Tclとシェルスクリプト file(質問する)
次の filesは構成です fileデザインとシェルスクリプトの設定に必要な file Xcelium コマンドを実行します。
Cds.lib
smartfusion2 を定義します /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB を定義します。/COREAHBLITE_LIB
presynth を定義する ./presynth
Hdl.var
DEFINE WORK プレシンセ
PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/ を定義します。
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
ビデオブログ/コア/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
ビデオブログ/コア/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => プレシンセ )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => プレシンセ )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => プレシンセ)
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP を定義します ( $LIB_MAP、 ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP を定義します ( $LIB_MAP, + => presynth )
コマンド.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstag年齢
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestag年齢
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../コンポーネント/work/SB/SB.v ../../コンポーネント/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -メッセージ -cdslib ./cds.lib -hdlvar ./hdl.var
-作業前シンセ -ログfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:モジュール
ncsim -メッセージ -バッチ -cdslib ./cds.lib -hdlvar ./
hdl.var -ログfile ncsim.log -errormax 15 -status presynth.testbench:モジュール
4.5 自動化(マイクロチップログイン)
次のスクリプト file ModelSim run.doを変換する filesを構成に組み込む fileXcelium を使用してシミュレーションを実行するために必要なもの。
スクリプト File 使用法
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do マイクロセミファミリー
Cadence プリコンパイル済みライブラリの場所
ケイデンスパーサー.pl
#!/usr/bin/perl -w
################################################ ##########################################
##################
#使用方法: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family プリコンパイル済みライブラリの場所#
################################################ ##########################################
##################
POSIX を使用します。
厳格な使用;
$presynth、$postsynth、$postlayout、$family、$lib_location) = @ARGV;
&questa_parser($presynth、$family、$lib_location);
&questa_parser($postsynth、$family、$lib_location);
&questa_parser($postlayout、$family、$lib_location);
サブquesta_parser {
私の$ModelSim_run_do = $_[0];
私の$actel_family = $_[1];
私の$lib_location = $_[2];
私の$state;
if ( -e “$ModelSim_run_do” )
{
オープン(INFILE,”$ModelSim_run_do”);
私の@ModelSim_run_do =FILE>;
私の $line;
( $ModelSim_run_do =~ m/(presynth)/ の場合)
{
`mkdir QUESTA_PRESYNTH`;
オープン(OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$状態 = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
オープン(OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$状態 = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
オープン(OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$状態 = $1;
}他
{
「入力が間違っています」と表示 file\n”;
print “#使用方法: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
$line を foreach します (@ModelSim_run_do)
{
#一般業務
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#印刷するFILE “$line \n”;
($line =~ m/vmap\s+.*($actel_family)/) の場合
{
印刷するFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
印刷するFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
印刷するFILE “$line \n”;
}他
{
印刷するFILE “$line \n”;
}
}
閉じる(INFILE);
閉じる(OUTFILE);
} それ以外 {
print “$ModelSim_run_do が存在しません。シミュレーションを再度実行してください \n”;
}
}
シーメンスQuestaSimセットアップ/ModelSimセットアップ(質問する)
ラン・ドゥ fileModelSim Microsemi Editionsを使用したシミュレーション用にLibero SoCによって生成されたファイルは、1つの変更を加えるだけでQuestaSim/ModelSim SE/DE/PEを使用したシミュレーションに使用できます。ModelSim ME/ModelSim Pro MEでは、run.do fileプリコンパイルされたライブラリの場所を変更する必要があります。
重要:
デフォルトでは、ModelSim Pro ME 以外のシミュレーション ツールはシミュレーション中に設計最適化を実行し、設計オブジェクトや入力刺激などのシミュレーション成果物の可視性に影響を与える可能性があります。
これは通常、冗長な自己チェック テストベンチを使用して、複雑なシミュレーションのシミュレーション実行時間を短縮するのに役立ちます。ただし、特に波形ウィンドウを使用してシミュレーション結果をグラフィカルに検査する予定の場合は、デフォルトの最適化がすべてのシミュレーションに適しているとは限りません。
この最適化によって発生する問題に対処するには、シミュレーション中に適切なコマンドと関連する引数を追加して、設計の可視性を復元する必要があります。ツール固有のコマンドについては、使用中のシミュレータのドキュメントを参照してください。
5.1 環境変数(質問する)
必要な環境変数は次のとおりです。
- LM_ライセンス_FILE: ライセンスへのパスを含める必要があります file.
- MODEL_TECH: QuestaSim インストールのホーム ディレクトリの場所へのパスを識別する必要があります。
- PATH: MODEL_TECH が指す実行可能ファイルの場所を指す必要があります。
5.2 Mentor QuestaSim用のrun.doの変換(質問する)
ラン・ドゥ fileModelSim Microsemi Editions を使用したシミュレーション用に Libero SoC によって生成されたファイルは、1 つの変更を加えるだけで、QuestaSim/ModelSim_SE を使用したシミュレーションに使用できます。
重要: すべて QuestaSimを使用してシミュレーションされる設計には-novoptを含める必要があります
run.do スクリプト内の vsim コマンドと併せてオプションを使用する files.
5.3 コンパイルされたライブラリをダウンロードする(質問する)
MicrosemiのMentor Graphics QuestaSimのライブラリをダウンロードしてください。 webサイト。
シノプシス VCS セットアップ (質問する)
Microsemiが推奨するフローは、VCSのElaborate and Compileフローに依存しています。このドキュメントにはスクリプトが含まれています。 file run.doスクリプトを使用する fileLibero SoCによって生成され、セットアップを生成する fileVCSシミュレーションに必要なスクリプト file run.doを使用する file 次の操作を実行します。
- ライブラリマッピングを作成する fileこれはsynopsys_sim.setupを使用して行われます。 file VCS シミュレーションが実行されているディレクトリと同じディレクトリにあります。
- シェルスクリプトを作成する file VCS を使用して設計を詳細化し、コンパイルします。
6.1 環境変数(質問する)
設定に基づいて、VCS に適切な環境変数を設定します。VCS ドキュメントに従って必要な環境変数は次のとおりです。
- LM_ライセンス_FILE: ライセンス サーバーへのポインターを含める必要があります。
- VCS_HOME: VCS インストールのホーム ディレクトリの場所を指す必要があります。
- PATH: VCS_HOME ディレクトリの下の bin ディレクトリへのポインターを含める必要があります。
6.2 コンパイル済みライブラリのダウンロード(質問する)
Synopsys VCSのライブラリをMicrosemiからダウンロードします。 webサイト。
6.3 VCSシミュレーションスクリプト File (質問する)
VCSをセットアップし、デザインと異なるrun.doを生成した後 fileLibero SoC から s を取得するには、次の操作を行う必要があります。
- ライブラリマッピングを作成する file synopsys_sim.setup; これ file 設計で使用されるすべてのライブラリの場所へのポインターが含まれます。
重要: file 名前は変更できず、シミュレーションが実行されるディレクトリと同じディレクトリに配置する必要があります。例を示します。ampそのような file 合成前のシミュレーション用。
仕事 > エフォルト
スマートフュージョン2:
プレシンセ: ./presynth
デフォルト: ./work - 異なるデザインを詳しく説明する fileVCSのvloganコマンドを使用して、テストベンチを含むファイルを作成します。これらのコマンドはシェルスクリプトに含めることができます。 file. 以下は元ですamprtl.vで定義されたデザインと、そのテストベンチを定義するために必要なコマンドのリスト
テストベンチ.v.
vlogan +v2k -work プレシンセ rtl.v
vlogan +v2k -work プレシンセテストベンチ.v - 次のコマンドを使用して、VCS を使用してデザインをコンパイルします。
vcs –sim_res=1fs プレシンセテストベンチ
注: 正しい機能シミュレーションを行うには、シミュレーションのタイミング解像度を 1fs に設定する必要があります。 - 設計がコンパイルされたら、次のコマンドを使用してシミュレーションを開始します。
./simv - バックアノテーションされたシミュレーションの場合、VCS コマンドは次のコードブロックに示すようにする必要があります。
vcs postlayout.testbench –sim_res=1fs –sdf 最大: 。
名前>: file パス> –gui –l postlayout.log
6.4 制限事項/例外(質問する)
以下は、Synopsys VCS セットアップの制限事項/例外です。
- VCSシミュレーションはLibero SoCのVerilogプロジェクトでのみ実行できます。VCSシミュレータには厳格なVHDL言語要件があり、Libero SoCの自動生成VHDLでは満たされません。 files.
- いつでもシミュレーションを停止するには、Verilog テストベンチに $finish ステートメントが必要です。
重要: シミュレーションは GUI モードで実行され、実行時間は GUI で指定できます。
6.5年ample Tclとシェルスクリプト File(質問する)
次のPerlはsynopsys_sim.setupの生成を自動化します。 file 対応するシェルスクリプト file設計の詳細化、コンパイル、シミュレーションに必要なもの。
デザインでMSSを使用する場合は、test.vecをコピーします。 file Libero SoCプロジェクトのシミュレーションフォルダにあるものをVCSシミュレーションフォルダにコピーします。次のセクションには、ampル・ラン・ド fileLibero SoCによって生成された、対応するライブラリマッピングとシェルスクリプトを含む fileVCS シミュレーションに必要なもの。
6.5.1 事前合成(質問する)
プレシンス_run.do
ACTELLIBNAME SmartFusion2を静かに設定
PROJECT_DIR を “/sqa/users/me/VCS_Tests/Test_DFF” に設定します。
もし {[file presynth/_infoが存在する]} {
echo “情報: シミュレーションライブラリ presynth がすでに存在します”
} それ以外 {
vlib プレシンセ
}
vmap プレシンセ プレシンセ
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work プレシンセ “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work プレシンセ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L プレシンセ -t 1fs プレシンセ.SD1_TB1
波を追加 /SD1_TB1/*
ログを追加 -r /*
1000ns実行
プレシンセメイン.csh
#!/bin/csh -f
PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF” を設定します
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth “${PROJECT_DIR}/component/
ワーク/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
プレシンセ「${PROJECT_DIR}/stimulus/SD1_TB1.v」
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l 実行.log
Synopsys_sim.セットアップ
仕事 > デフォルト
SmartFusion2 : /VCS/SmartFusion2
プレシンセ: ./presynth
デフォルト: ./work
6.5.2 合成後(質問する)
postsynth_run.do
ACTELLIBNAME SmartFusion2を静かに設定
PROJECT_DIR を “/sqa/users/Me/VCS_Tests/Test_DFF” に設定します。
もし {[file postsynth/_infoが存在する]} {
echo “情報: シミュレーションライブラリ postsynth はすでに存在します”
} それ以外 {
vlib ポストシンセ
}
vmap ポストシンセ ポストシンセ
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
スマートフュージョン2
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
波を追加 /SD1_TB1/*
ログを追加 -r /*
1000ns実行
ログ SD1_TB1/*
出口
ポストシンセシス_main.csh
#!/bin/csh -f
PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF” を設定します
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth “${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
ポストシンセ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l compile.log
./simv -l 実行.log
Synopsys_sim.セットアップ
仕事 > デフォルト
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
デフォルト: ./work
6.5.3 レイアウト後(質問する)
投稿レイアウト実行.do
ACTELLIBNAME SmartFusion2を静かに設定
PROJECT_DIRを「E:/ModelSim_Work/Test_DFF」に設定します。
もし {[file 存在する../designer/SD1/simulation/postlayout/_info]} {
echo “情報: シミュレーション ライブラリ ../designer/SD1/simulation/postlayout はすでに存在します”
} それ以外 {
vlib ../designer/SD1/シミュレーション/ポストレイアウト
}
vmap ポストレイアウト ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
スマートフュージョン2
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work ポストレイアウト “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf ポストレイアウト.SD1_TB1
波を追加 /SD1_TB1/*
ログを追加 -r /*
1000ns実行
ポストレイアウト_main.csh
#!/bin/csh -f
PROJECT_DIR = “/VCS_Tests/Test_DFF” を設定します
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
デザイナー/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
ポストレイアウト「${PROJECT_DIR}/stimulus/SD1_TB1.v」
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l 実行.log
Synopsys_sim.セットアップ
仕事 > デフォルト
SmartFusion2 : /VCS/SmartFusion2
投稿レイアウト: ./postlayout
デフォルト: ./workVCS
6.6 自動化(質問する)
このフローは、次のPerlスクリプトを使用して自動化できます。 file ModelSim run.doを変換する filesをVCS互換のシェルスクリプトに変換する files の場合は、Libero SoC シミュレーション ディレクトリ内に適切なディレクトリを作成し、シミュレーションを実行します。
スクリプトを実行する file 次の構文を使用します。
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
################################################ ############################
#
#使用方法: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
################################################ ###########################
$presynth と $postsynth と $postlayout を @ARGV に代入します。
if(system(“mkdir VCS_Presynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir failed:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth、"presynth");
chdir (“../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth、”postsynth”);
chdir (“../”);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout、postlayout) を解析します。
chdir (“../”);
サブparse_do {
私の$vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
私の%LIB = ();
私の$file = $_[0] ;
私の$state = $_[1];
開く(INFILE,”$file) || die “開けられない File 理由は次のようになります:$!”;
if ( $state が “presynth” の場合 )
{
open(OUT1,”>presynth_main.csh”) || die “コマンドを作成できません File 理由は次のようになります:$!”;
}
elsif ( $state が “postsynth” と等しい )
{
open(OUT1,”>postsynth_main.csh”) || die “コマンドを作成できません File 理由は次のようになります:$!”;
}
elsif ( $state が “postlayout” と等しい )
{
open(OUT1,”>postlayout_main.csh”) || die “コマンドを作成できません File 理由は次のようになります:$!”;
}
それ以外
{
print “シミュレーション状態がありません\n” ;
}
open(OUT2,”>synopsys_sim.setup”) || die “コマンドを作成できません File 理由は次のようになります:$!”;
# .csh file
OUT1 を印刷します “#!/bin/csh -f\n\n\n” ;
#設定 FILE
OUT2に「WORK > DEFAULT\n」と出力します。
OUT2 に「SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n」と出力します。
($line = の間FILE>)
{
Synopsys VCS セットアップ
if ($line =~ m/静かにPROJECT_DIR\s+\”(.*?)\”/ を設定)
{
OUT1 を印刷します “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
($line =~ m/\s+(\w*?)\_LIB/) の場合
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
OUT1に“$line\n”を出力します。
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “TB名: $tb \n”;
( $line =~ m/sdf(.*)\.sdf/ の場合)
{
chomp($line);
$行 = $1 ;
#print “LINE : $line \n” ;
($line =~ m/max/)の場合
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
OUT1 を印刷 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
最大:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/min/)
{
$line =~ s/分 \/// ;
$line =~ s/=/:/;
OUT1 を印刷 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
OUT1 を印刷 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ModelSim SDF 形式
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
SDF形式
}
}
}
印刷
OUT1 “\n\n”
;
if
( $state は “presynth” となります
)
{
印刷
OUT2「プレシンセ
: ./presynth\n”
;
印刷
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs プレシンセ.$tb -l
コンパイル.log\n”
;
}
エルシフ
( $state は “postsynth” となります
)
{
印刷
OUT2「ポストシンセ
: ./postsynth\n”
;
印刷
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs ポストシンセシス.$tb -l
コンパイル.log\n”
;
}
エルシフ
( $state は “postlayout” と同じ
)
{
OUT2を印刷します “postlayout : ./postlayout\n” ;
}
それ以外
{
print “シミュレーション状態がありません\n” ;
}
foreach $i ( キー %LIB)
{
#print “キー: $i 値: $LIB{$i} \n” ;
OUT2に「$i : ./$i\n」と出力します。
}
OUT1を印刷します “\n\n” ;
OUT1 “./simv -l run.log\n” を印刷します。
OUT2に「DEFAULT:./work\n」と出力します。
閉じるFILE;
OUT1 を閉じます。
OUT2 を閉じます。
}
改訂履歴(マイクロチップログイン
改訂履歴には、文書に実装された変更点が記載されています。変更点は
最新の出版物から順に、改訂順にリストされます。
リビジョン | 日付 | 説明 |
A | 12/2023 | この改訂では以下の変更が行われました。 • ドキュメントをマイクロチップ テンプレートに変換しました。最初の改訂版。 • セクション 5. Siemens QuestaSim セットアップ/ModelSim セットアップを更新し、シミュレーションおよび最適化中の可視性への影響を説明する新しい注記を追加しました。 |
マイクロチップ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 デザイン パートナー プログラム メンバーのリスト
- マイクロチップの事業–製品セレクターと注文ガイド、最新のマイクロチップのプレスリリース、セミナーとイベントのリスト、マイクロチップの営業所、販売代理店、工場の代表者のリスト
製品変更通知サービス
マイクロチップの製品変更通知サービスは、マイクロチップ製品の最新情報を顧客に提供するのに役立ちます。 サブスクライバーは、特定の製品ファミリまたは対象の開発ツールに関連する変更、更新、改訂、または正誤表があるたびに電子メール通知を受け取ります。
登録するには、 www.microchip.com/pcn をクリックし、登録手順に従います。
カスタマーサポート
Microchip 製品のユーザーは、いくつかのチャネルを通じてサポートを受けることができます。
- 販売代理店または代理店
- 現地営業所
- エンベデッドソリューションエンジニア(ESE)
- テクニカルサポート
サポートについては、販売代理店、担当者、または ESE にお問い合わせください。地域の営業所もお客様をサポートします。営業所と所在地の一覧はこのドキュメントに記載されています。
テクニカルサポートは、 webサイト: サポート
マイクロチップデバイスのコード保護機能
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 ロゴ、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、APT、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、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、TrueTime、および ZL は、米国における Microchip Technology Incorporated の登録商標です。
隣接キー抑制、AKS、アナログ フォー ザ デジタル時代、Any Capacitor、AnyIn、AnyOut、Augmented Switching、BlueSky、BodyCom、Clockstudio、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、動的平均マッチング、DAM、ECAN、Espresso T1S、EtherGREEN、GridTime、IdealBridge、インサーキット シリアル プログラミング、ICSP、INICnet、インテリジェント パラレル化、IntelliMOS、チップ間接続、JitterBlocker、Knob-on-Display、KoD、maxCrypto、maxView、memBrain、Mindi、MiWi、MPASM、MPF、MPLAB 認定ロゴ、MPLIB、MPLINK、MultiTRAK、NetDetach、Omniscient Code Generation、PICDEM、PICDEM.net、
PICkit、PICtail、PowerSmart、PureSilicon、QMatrix、REAL ICE、リップルブロッカー、RTAX、RTG4、SAMICE、シリアルクアッドI/O、simpleMAP、SimpliPHY、SmartBuffer、SmartHLS、SMART-IS、storClad、SQI、SuperSwitcher、
SuperSwitcher II、Switchtec、SynchroPHY、Total Endurance、Trusted Time、TSHARC、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 の他の国における登録商標です。
ここに記載されているその他すべての商標は、それぞれの会社の所有物です。
©2023、MicrochipTechnologyIncorporatedおよびその子会社。 全著作権所有。
ISBN: 978-1-6683-3694-6
品質管理システム
マイクロチップの品質管理システムの詳細については、 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-744-7705 イタリア–ミラノ 電話: 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 |
© 2023 Microchip Technology Inc. およびその子会社
DS50003627A –
ドキュメント / リソース
![]() |
MICROCHIP Libero SoC シミュレーション ライブラリ ソフトウェア [pdf] ユーザーガイド DS50003627A、Libero SoC シミュレーション ライブラリ ソフトウェア、SoC シミュレーション ライブラリ ソフトウェア、シミュレーション ライブラリ ソフトウェア、ライブラリ ソフトウェア、ソフトウェア |