Simulasi SoC Libero
Arahan Persediaan Perpustakaan
pengenalan
Tujuan dokumen ini adalah untuk menerangkan prosedur untuk menyediakan persekitaran simulasi menggunakan projek Libero SoC sebagai input. Dokumentasi ini sepadan dengan perpustakaan pra-disusun yang disediakan untuk digunakan dengan Libero SoC v11.9 dan keluaran perisian yang lebih baharu. Perpustakaan yang disediakan disusun untuk Verilog. Pengguna VHDL memerlukan lesen yang membenarkan simulasi mod campuran.
Perpustakaan simulasi yang disusun tersedia untuk alatan berikut:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise dan Xcelium
- Siemens QuestaSim
- Synopsys VCS
Untuk meminta perpustakaan untuk simulator lain, hubungi Sokongan Teknikal Microchip.
Integrasi SoC Libero
Libero SoC menyokong simulasi menggunakan ModelSim ME dengan menjana run.do file. ini file digunakan oleh ModelSim ME/ModelSim Pro ME untuk menyediakan dan menjalankan simulasi. Untuk menggunakan alat simulasi lain, anda boleh menjana ModelSim ME/ModelSim Pro ME run.do dan mengubah suai skrip Tcl file untuk menggunakan arahan yang serasi dengan simulator anda.
1.1 Libero SoC Tcl File Generasi (Tanya Soalan)
Selepas mencipta dan menjana reka bentuk dalam Libero SoC, mulakan simulasi ModelSim ME/ModelSim Pro ME di bawah semua fasa reka bentuk (presynth, postsynth dan post-layout). Langkah ini menjana run.do file untuk ModelSim ME/ModelSim Pro ME untuk setiap fasa reka bentuk.
Penting: Selepas memulakan setiap larian simulasi, namakan semula run.do yang dijana secara automatik file di bawah direktori simulasi untuk menghalang Libero SoC daripada menulis ganti itu file. Untuk example, yang files boleh dinamakan semula kepada presynth_run.do, postsynth_run.do dan postlayout_run.do.
Persediaan Aldec untuk Active-HDL dan Riviera-Pro (Tanya Soalan)
Larian.lakukan file yang digunakan oleh ModelSim ME/ModelSim Pro ME boleh diubah suai dan digunakan untuk simulasi menggunakan simulator Aldec.
2.1 Pembolehubah Persekitaran (Tanya Soalan)
Tetapkan pembolehubah persekitaran anda kepada lesen anda file lokasi:
LM_LESEN_FILE: mesti memasukkan penunjuk ke pelayan lesen.
2.2 Muat Turun Perpustakaan Tersusun (Tanya Soalan)
Muat turun perpustakaan untuk Aldec Active-HDL dan Aldec Riviera-PRO daripada Microchip webtapak.
2.3 Menukar run.do untuk simulasi Aldec (Tanya Soalan)
Larian.lakukan files yang dijana oleh Libero SoC untuk simulasi menggunakan alat Active-HDL dan Riviera-Pro boleh digunakan untuk simulasi menggunakan Active-HDL dan Riviera-Pro dengan satu perubahan. Jadual berikut menyenaraikan arahan yang setara dengan Aldec untuk diubah suai dalam ModelSim run.do file.
Jadual 2-1. Perintah Setara Aldec
ModelSim | Active-HDL |
vlog | kayu balak |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Berikut adalah sebagaiample run.do berkaitan dengan simulator Aldec.
- Tetapkan lokasi direktori kerja semasa.
set dsn - Tetapkan nama perpustakaan yang berfungsi, petakan lokasinya, dan kemudian petakan lokasi keluarga Microchip FPGA
perpustakaan yang telah disusun sebelumnya (contohnyaample, SmartFusion2) di mana anda menjalankan reka bentuk anda.
alib presynth
amap presynth presynth
amap SmartFusion2 - Susun semua HDL yang diperlukan files digunakan dalam reka bentuk dengan perpustakaan yang diperlukan.
alog –work presynth temp.v (untuk Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (untuk Vhdl)
acom –work presynth testbench.vhd - Simulasikan reka bentuk.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
lari 10us
2.4 Isu Diketahui (Tanya Soalan)
Bahagian ini menyenaraikan isu dan batasan yang diketahui.
- Perpustakaan yang disusun menggunakan Riviera-PRO adalah khusus platform (iaitu perpustakaan 64-bit tidak boleh dijalankan pada platform 32-bit dan sebaliknya).
- Untuk reka bentuk yang mengandungi SERDES/MDDR/FDDR, gunakan pilihan berikut dalam run.do anda files semasa menjalankan simulasi selepas menyusun reka bentuk mereka:
– Aktif-HDL: asim –o2
– Riviera-PRO: asim –O2 (untuk simulasi presynth dan pasca susun atur ) dan asim –O5 (untuk simulasi pasca susun atur)
Persediaan Aldec untuk Active-HDL dan Riviera-Pro mempunyai SAR yang belum selesai berikut. Untuk maklumat lanjut, hubungi Sokongan Teknikal Microchip. - SAR 49908 – Active-HDL: Ralat VHDL untuk simulasi blok Matematik
- SAR 50627 – Riviera-PRO 2013.02: Ralat simulasi untuk reka bentuk SERDES
- SAR 50461 – Riviera-PRO: pilihan asim -O2/-O5 dalam simulasi
Persediaan Insisif Irama (Tanya Soalan)
Anda perlu membuat skrip file serupa dengan ModelSim ME/ModelSim Pro ME run.do untuk menjalankan
Simulator Cadence Incisive. Ikuti langkah ini dan buat skrip file untuk NCSim atau gunakan skrip file
disediakan untuk menukar ModelSim ME/ModelSim Pro ME run.do files ke dalam konfigurasi files
diperlukan untuk menjalankan simulasi menggunakan NCSim.
Penting: Irama telah berhenti mengeluarkan versi baharu Incisive Enterprise
simulator dan mula menyokong simulator Xcelium.
3.1 Pembolehubah Persekitaran (Tanya Soalan)
Untuk menjalankan simulator Cadence Incisive, konfigurasikan pembolehubah persekitaran berikut:
- LM_LESEN_FILE: mesti menyertakan penunjuk kepada lesen file.
- cds_root: mesti menunjuk ke lokasi direktori utama Pemasangan Insisif Cadence.
- PATH: mesti menunjuk ke lokasi tong di bawah direktori alat yang ditunjuk oleh cds_root iaitu,
$cds_root/tools/bin/64bit (untuk mesin 64-bit dan $cds_root/tools/bin untuk mesin 32-bit).
Terdapat tiga cara untuk menyediakan persekitaran simulasi sekiranya berlaku pertukaran antara sistem pengendalian 64-bit dan 32-bit:
Kes 1: Pembolehubah PATH
Jalankan arahan berikut:
tetapkan laluan = (install_dir/tools/bin/64bit $path) untuk mesin 64bit dan
tetapkan laluan = (install_dir/tools/bin $path) untuk mesin 32bit
Kes 2: Menggunakan Pilihan Baris Perintah -64bit
Dalam baris arahan tentukan pilihan -64bit untuk menggunakan 64bit boleh laku.
Kes 3: Menetapkan Pembolehubah Persekitaran INCA_64BIT atau CDS_AUTO_64BIT
Pembolehubah INCA_64BIT dianggap sebagai boolean. Anda boleh menetapkan pembolehubah ini kepada sebarang nilai atau kepada rentetan nol.
setenv INCA_64BIT
Penting: The Pembolehubah persekitaran INCA_64BIT tidak menjejaskan alat Cadence lain, seperti alat IC. Walau bagaimanapun, untuk alat Incisive, pembolehubah INCA_64BIT mengatasi tetapan untuk pembolehubah persekitaran CDS_AUTO_64BIT. Jika pembolehubah persekitaran INCA_64BIT ditetapkan, semua alat Incisive dijalankan dalam mod 64-bit. setenv CDS_AUTO_64BIT INCLUDE:INCA
Penting: The rentetan INCA mestilah dalam huruf besar. Semua boleh laku mesti dijalankan sama ada dalam mod 32-bit atau dalam mod 64-bit, jangan tetapkan pembolehubah untuk memasukkan satu boleh laku, seperti dalam yang berikut:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Alat Cadence lain, seperti alat IC, juga menggunakan pembolehubah persekitaran CDS_AUTO_64BIT untuk mengawal pemilihan boleh laku 32-bit atau 64-bit. Jadual berikut menunjukkan cara anda boleh menetapkan pembolehubah CDS_AUTO_64BIT untuk menjalankan alat Incisive dan alatan IC dalam semua mod.
Jadual 3-1. Pembolehubah CDS_AUTO_64BIT
Pembolehubah CDS_AUTO_64BIT | Alat Insisif | Alat IC |
setenv CDS_AUTO_64BIT SEMUA | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT TIADA | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bit | 64 bit |
Penting: Semua alat Incisive mesti dijalankan sama ada dalam mod 32-bit atau dalam mod 64-bit, jangan gunakan EXCLUDE untuk mengecualikan boleh laku tertentu, seperti dalam yang berikut: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Jika anda menetapkan pembolehubah CDS_AUTO_64BIT untuk mengecualikan alatan Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), semua alatan Incisive dijalankan dalam mod 32-bit. Walau bagaimanapun, pilihan baris arahan -64bit mengatasi pembolehubah persekitaran.
Konfigurasi berikut files membantu anda mengurus data anda dan mengawal operasi alatan dan utiliti simulasi:
- Pemetaan perpustakaan file (cds.lib)—Mentakrifkan nama logik untuk lokasi reka bentuk anda.
- Perpustakaan dan mengaitkannya dengan nama direktori fizikal.
- Pembolehubah file (hdl.var)—Mentakrifkan pembolehubah yang mempengaruhi gelagat alat simulasi dan utiliti.
3.2 Muat Turun Perpustakaan Tersusun (Tanya Soalan)
Muat turun perpustakaan untuk Cadence Incisive daripada Microsemi's webtapak.
3.3 Mencipta Skrip NCSim File (Tanya Soalan)
Selepas mencipta salinan run.do files, lakukan langkah ini untuk menjalankan simulasi anda menggunakan NCSim:
- Cipta cds.lib file yang mentakrifkan perpustakaan yang boleh diakses dan lokasinya. The file mengandungi pernyataan yang memetakan nama logik perpustakaan ke laluan direktori fizikal mereka. Untuk exampJadi, jika anda menjalankan simulasi presynth, cds.lib file ditulis seperti yang ditunjukkan dalam blok kod berikut.
DEFINE presynth ./presynth
TAKRIFKAN COREAHBLITE_LIB ./COREAHBLITE_LIB
TAKRIFKAN smartfusion2 - Buat hdl.var file, konfigurasi pilihan file yang mengandungi pembolehubah konfigurasi, yang menentukan cara persekitaran reka bentuk anda dikonfigurasikan. Pembolehubah berikut files disertakan:
– Pembolehubah yang digunakan untuk menentukan pustaka kerja tempat pengkompil menyimpan objek terkumpul dan data terbitan lain.
– Untuk Verilog, pembolehubah (LIB_MAP, VIEW_MAP, WORK) yang digunakan untuk menentukan perpustakaan dan views untuk mencari apabila penghuraikan menyelesaikan kejadian.
– Pembolehubah yang membolehkan anda mentakrifkan pilihan dan hujah baris arahan pengkompil, penghurai dan simulator.
Dalam kes simulasi presynth cthampyang ditunjukkan di atas, katakan kami mempunyai tiga RTL files: av, bv, dan testbench.v, yang masing-masing perlu disusun ke dalam perpustakaan presynth, COREAHBLITE_LIB dan presynth. hdl.var file boleh ditulis seperti yang ditunjukkan dalam blok kod berikut.
DEFINE WORK presynth
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, + => presynth ) - Susun reka bentuk files menggunakan pilihan ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –kemas kini –linedebug av bv testbench.v - Huraikan reka bentuk menggunakan ncelab. Elaborator membina hierarki reka bentuk berdasarkan maklumat instantiasi dan konfigurasi dalam reka bentuk, mewujudkan ketersambungan isyarat, dan mengira nilai awal untuk semua objek dalam reka bentuk. Hierarki reka bentuk yang terperinci disimpan dalam petikan simulasi, yang merupakan perwakilan reka bentuk anda yang digunakan oleh simulator untuk menjalankan simulasi.
ncelab –Mesej –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
akses +rwc –status worklib. :modul
Penghuraian Semasa simulasi pasca susun atur
Dalam kes simulasi pasca susun atur, pertama SDF file perlu disusun sebelum perincian menggunakan arahan ncsdfc.
ncsdfcfilenama>.sdf –outputfilenama>.sdf.X
Semasa penghuraian gunakan output SDF yang disusun dengan pilihan –autosdf seperti yang ditunjukkan dalam sekatan kod berikut.
ncelab -autosdf –Mesej –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –akses +rwc –status worklib. :modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file mestilah seperti yang ditunjukkan dalam sekatan kod berikut.
COMPILED_SDF_FILE = “ file>” - Simulasi menggunakan ncsim. Selepas perincian syot kilat simulasi dicipta, yang dimuatkan oleh ncsim untuk simulasi. Anda boleh berjalan dalam mod kelompok atau mod GUI.
ncsim –Mesej –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –status worklib. :modul
Penting: Kesemua tiga langkah penyusunan, penghuraian dan simulasi di atas boleh dimasukkan ke dalam skrip shell file dan bersumber daripada baris arahan. Daripada menggunakan tiga langkah ini, reka bentuk boleh disimulasikan dalam satu langkah menggunakan pilihan ncverilog atau irun seperti yang ditunjukkan dalam sekatan kod berikut.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files digunakan dalam reka bentuk>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
digunakan dalam reka bentuk>
3.3.1 Isu Diketahui (Tanya Soalan)
Penyelesaian Testbench
Menggunakan pernyataan berikut untuk menentukan kekerapan jam dalam testbench yang dijana oleh pengguna, atau testbench lalai yang dijana oleh Libero SoC tidak berfungsi dengan NCSim.
sentiasa @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ubah suai seperti berikut untuk menjalankan simulasi:
sentiasa #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Penting: Disusun perpustakaan untuk NCSim adalah platform khusus (iaitu perpustakaan 64 bit tidak serasi dengan platform 32 bit dan sebaliknya).
Simulasi Postsynth dan Post-layout Menggunakan MSS dan SERDES Semasa menjalankan simulasi postsynth reka bentuk yang mengandungi blok MSS atau simulasi pasca reka letak reka bentuk menggunakan SERDES, simulasi BFM tidak berfungsi jika pilihan –libmap adalah
tidak dinyatakan semasa penghuraian. Ini kerana semasa perincian, MSS diselesaikan daripada pustaka kerja (kerana pengikatan lalai dan worklib adalah postsynth/post-layout) di mana ia hanyalah Fungsi Tetap.
Perintah ncelab mesti ditulis seperti yang ditunjukkan dalam blok kod berikut untuk menyelesaikan MSS
blok dari perpustakaan SmartFusion2 yang telah disusun sebelumnya.
ncelab -libmap lib.map -libverbose -Mesej -akses +rwc cfg1
dan lib.map file mestilah seperti berikut:
konfigurasi cfg1;
reka bentuk ;
liblist lalai smartfusion2 ;
endconfig
Ini menyelesaikan mana-mana sel dalam pustaka SmartFusion2 sebelum melihat dalam pustaka kerja iaitu postsynth/ post-layout.
Pilihan –libmap boleh digunakan secara lalai semasa perincian untuk setiap simulasi (presynth, postsynth, dan post-layout). Ini mengelakkan isu simulasi yang disebabkan oleh penyelesaian kejadian daripada perpustakaan.
ncelab: *F,INTERR: PENGECUALIAN DALAMAN
Pengecualian alat ncelab ini ialah kaveat untuk reka bentuk yang mengandungi FDDR dalam SmartFusion 2 dan IGLOO 2 semasa simulasi postsynth dan post-layout menggunakan pilihan –libmap.
Penting: Isu ini telah dilaporkan kepada pasukan sokongan Cadence (SAR 52113).
3.4 Sample Tcl dan Skrip Shell Files (Tanya Soalan)
berikut files ialah konfigurasi files diperlukan untuk menyediakan reka bentuk dan skrip shell file untuk menjalankan arahan NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
TAKRIFKAN COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/teras/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -kemas kini -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_masterstagumur
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagumur
../../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
../../component/work/SB/SB.v ../../component/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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -akses +rwc -status presynth.testbench:modul
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
3.5 Automasi (Tanya Soalan)
Skrip berikut file menukar ModelSim run.do files ke dalam konfigurasi files diperlukan untuk menjalankan simulasi menggunakan NCSim.
Skrip File Penggunaan
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
#################################################### ##############################################
##################
#Penggunaan: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
#################################################### ##############################################
##################
gunakan POSIX;
gunakan ketat;
my ($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);
sub questa_parser {
$ModelSim_run_do saya = $_[0];
$actel_family saya = $_[1];
$lib_location saya = $_[2];
$negeri saya;
jika ( -e “$ModelSim_run_do” )
{
terbuka (INFILE,”$ModelSim_run_do”);
saya @ModelSim_run_do =FILE>;
$line saya;
jika ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
terbuka (KELUARFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$negeri = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
terbuka (KELUARFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$negeri = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
terbuka (KELUARFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$negeri = $1;
} lain
{
print “Salah Input yang diberikan kepada file\n”;
cetak “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokasi_Perpustakaan\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operasi Am
$line =~ s/..\/designer.*simulasi\///g;
$line =~ s/$negeri/$negeri\_questa/g;
#cetakFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
cetakFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
cetakFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
cetakFILE “$line \n”;
} lain
{
cetakFILE “$line \n”;
}
}
tutup (INFILE);
tutupFILE);
} lain {
cetak “$ModelSim_run_do tidak wujud. Jalankan semula simulasi semula \n”;
}
}
Persediaan Cadence Xcelium (Log Masuk Microchip)
Anda perlu membuat skrip file serupa dengan ModelSim ME/ModelSim Pro ME run.do untuk menjalankan simulator Cadence Xcelium. Ikuti langkah ini dan buat skrip file untuk Xcelium atau gunakan skrip file disediakan untuk menukar ModelSim ME/ModelSim Pro ME run.do files ke dalam konfigurasi files diperlukan untuk menjalankan simulasi menggunakan Xcelium.
4.1 Pembolehubah Persekitaran (Tanya Soalan)
Untuk menjalankan Cadence Xcelium, konfigurasikan pembolehubah persekitaran berikut:
- LM_LESEN_FILE: mesti menyertakan penunjuk kepada lesen file.
- cds_root: mesti menunjuk ke lokasi direktori utama Pemasangan Insisif Cadence.
- PATH: mesti menunjuk ke lokasi tong di bawah direktori alat yang ditunjuk oleh cds_root (cth
$cds_root/tools/bin/64bit (untuk mesin 64 bit dan $cds_root/tools/bin untuk 32 bit
mesin).
Terdapat tiga cara untuk menyediakan persekitaran simulasi sekiranya berlaku pertukaran antara sistem pengendalian 64-bit dan 32-bit:
Kes 1: Pembolehubah PATH
tetapkan laluan = (install_dir/tools/bin/64bit $path) untuk mesin 64bit dan
tetapkan laluan = (install_dir/tools/bin $path) untuk mesin 32bit
Kes 2: Menggunakan Pilihan Baris Perintah -64bit
Dalam baris arahan tentukan pilihan -64bit untuk menggunakan 64-bit boleh laku.
Kes 3: Menetapkan Pembolehubah Persekitaran INCA_64BIT atau CDS_AUTO_64BIT
Pembolehubah INCA_64BIT dianggap sebagai boolean. Anda boleh menetapkan pembolehubah ini kepada sebarang nilai atau kepada null
rentetan.
setenv INCA_64BIT
Penting: The Pembolehubah persekitaran INCA_64BIT tidak menjejaskan alat Cadence lain, seperti alat IC. Walau bagaimanapun, untuk alat Incisive, pembolehubah INCA_64BIT mengatasi tetapan untuk pembolehubah persekitaran CDS_AUTO_64BIT. Jika pembolehubah persekitaran INCA_64BIT ialah et, semua alat Incisive dijalankan dalam mod 64-bit.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Penting: The rentetan INCA mestilah dalam huruf besar. Semua boleh laku mesti dijalankan sama ada dalam mod 2-bit atau dalam mod 64-bit, jangan tetapkan pembolehubah untuk memasukkan satu boleh laku, seperti dalam yang berikut:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Alat Cadence lain, seperti alat IC, juga menggunakan pembolehubah persekitaran CDS_AUTO_64BIT untuk mengawal pemilihan boleh laku 32-bit atau 64-bit. Jadual berikut menunjukkan cara anda boleh menetapkan pembolehubah CDS_AUTO_64BIT untuk menjalankan alat Incisive dan alatan IC dalam semua mod.
Jadual 4-1. Pembolehubah CDS_AUTO_64BIT
Pembolehubah CDS_AUTO_64BIT | Alat Insisif | Alat IC |
setenv CDS_AUTO_64BIT SEMUA | 64-bit | 64-bit |
setenv CDS_AUTO_64BIT TIADA | 32-bit | 32-bit |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary |
64-bit | 32-bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32-bit | 64-bit |
Penting: Semua alat Incisive mesti dijalankan sama ada dalam mod 32-bit atau dalam mod 64-bit, jangan gunakan EXCLUDE untuk mengecualikan boleh laku tertentu, seperti dalam yang berikut:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Jika anda menetapkan pembolehubah CDS_AUTO_64BIT untuk mengecualikan alatan Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), semua alatan Incisive dijalankan dalam mod 32-bit. Walau bagaimanapun
Pilihan baris arahan -64bit mengatasi pembolehubah persekitaran.
Konfigurasi berikut files membantu anda mengurus data anda dan mengawal operasi alatan dan utiliti simulasi:
- Pemetaan perpustakaan file (cds.lib) mentakrifkan nama logik untuk lokasi reka bentuk anda.
- Perpustakaan dan mengaitkannya dengan nama direktori fizikal.
- Pembolehubah file (hdl.var) mentakrifkan pembolehubah yang mempengaruhi kelakuan alat simulasi dan utiliti.
4.2 Muat Turun Perpustakaan Tersusun (Tanya Soalan)
Muat turun perpustakaan untuk Cadence Xcelium daripada Microsemi's webtapak.
4.3 Mencipta skrip Xcelium file (Tanya Soalan)
Selepas mencipta salinan run.do files, lakukan langkah berikut untuk menjalankan simulasi anda menggunakan skrip Xcelium file.
- Cipta cds.lib file yang mentakrifkan perpustakaan yang boleh diakses dan di mana ia berada.
The file mengandungi pernyataan yang memetakan nama logik perpustakaan ke laluan direktori fizikal mereka. Untuk exampJadi, jika anda menjalankan simulasi presynth, cds.lib file boleh ditulis seperti yang ditunjukkan dalam blok kod berikut.
DEFINE presynth ./presynth
TAKRIFKAN COREAHBLITE_LIB ./COREAHBLITE_LIB
TAKRIFKAN smartfusion2 - Buat hdl.var file yang merupakan konfigurasi pilihan file yang mengandungi pembolehubah konfigurasi, yang menentukan cara persekitaran reka bentuk anda dikonfigurasikan. Ini termasuk:
– Pembolehubah yang digunakan untuk menentukan pustaka kerja tempat pengkompil menyimpan objek terkumpul dan data terbitan lain.
– Untuk Verilog, pembolehubah (LIB_MAP, VIEW_MAP, WORK) yang digunakan untuk menentukan perpustakaan dan views untuk mencari apabila penghuraikan menyelesaikan kejadian.
– Pembolehubah yang membolehkan anda mentakrifkan pilihan dan hujah baris arahan pengkompil, penghurai dan simulator.
Dalam kes simulasi presynth cthampyang ditunjukkan di atas, katakan kita mempunyai 3 RTL files av, bv dan testbench.v, yang masing-masing perlu disusun ke dalam perpustakaan presynth, COREAHBLITE_LIB dan presynth. hdl.var file boleh ditulis seperti yang ditunjukkan dalam blok kod berikut.
DEFINE WORK presynth
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, + => presynth ) - Susun reka bentuk files menggunakan pilihan ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –kemas kini –linedebug av bv testbench.v - Huraikan reka bentuk menggunakan ncelab. Elaborator membina hierarki reka bentuk berdasarkan maklumat instantiasi dan konfigurasi dalam reka bentuk, mewujudkan ketersambungan isyarat, dan mengira nilai awal untuk semua objek dalam reka bentuk. Hierarki reka bentuk yang terperinci disimpan dalam petikan simulasi, yang merupakan perwakilan reka bentuk anda yang digunakan oleh simulator untuk menjalankan simulasi.
Xcelium –Mesej –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
akses +rwc –status worklib. :modul
Penghuraian Semasa simulasi pasca susun atur
Dalam kes simulasi pasca susun atur, pertama SDF file perlu disusun sebelum perincian menggunakan arahan ncsdfc.
Xceliumfilenama>.sdf –outputfilenama>.sdf.X
Semasa penghuraian gunakan output SDF yang disusun dengan pilihan –autosdf seperti yang ditunjukkan dalam sekatan kod berikut.
xmelab -autosdf –Mesej –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –akses +rwc –status worklib. :modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file mestilah seperti yang ditunjukkan dalam sekatan kod berikut.
COMPILED_SDF_FILE = “ file>” - Simulasi menggunakan Xcelium. Selepas penghuraian syot kilat simulasi dicipta yang dimuatkan oleh Xcelium untuk simulasi. Ini boleh dijalankan dalam mod kelompok atau mod GUI.
xmsim –Mesej –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –status worklib. :modul
Persediaan Xcelium Irama
Penting: Semua tiga langkah penyusunan, penghuraian dan simulasi di atas boleh dimasukkan ke dalam skrip shell file dan bersumber daripada baris arahan. Daripada menggunakan tiga langkah ini, reka bentuk boleh disimulasikan dalam satu langkah menggunakan pilihan ncverilog atau xrun seperti yang ditunjukkan dalam sekatan kod berikut.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files digunakan dalam reka bentuk>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
digunakan dalam reka bentuk>
4.3.1 Isu Diketahui (Tanya Soalan)
Penyelesaian Testbench
Menggunakan pernyataan berikut untuk menentukan kekerapan jam dalam bangku ujian yang dijana oleh pengguna atau bangku ujian lalai yang dijana oleh Libero SoC tidak berfungsi dengan Xcelium.
sentiasa @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ubah suai seperti berikut untuk menjalankan simulasi:
sentiasa #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Penting: Perpustakaan yang disusun untuk Xcelium adalah khusus platform (iaitu perpustakaan 64 bit tidak serasi dengan platform 32 bit dan sebaliknya).
Simulasi Postsynth dan Post-layout menggunakan MSS dan SERDES
Semasa menjalankan simulasi postsynth reka bentuk yang mengandungi blok MSS, atau simulasi pasca reka letak reka bentuk menggunakan SERDES, simulasi BFM tidak berfungsi jika pilihan –libmap tidak dinyatakan semasa perincian. Ini kerana semasa perincian, MSS diselesaikan daripada pustaka kerja (kerana pengikatan lalai dan worklib adalah postsynth/post-layout) di mana ia hanyalah Fungsi Tetap.
Arahan ncelab mesti ditulis seperti yang ditunjukkan dalam blok kod berikut untuk menyelesaikan blok MSS daripada perpustakaan SmartFusion2 yang telah disusun terlebih dahulu.
xmelab -libmap lib.map -libverbose -Mesej -akses +rwc cfg1
dan lib.map file mestilah seperti berikut:
konfigurasi cfg1;
reka bentuk ;
liblist lalai smartfusion2 ;
endconfig
Ini mesti menyelesaikan mana-mana sel dalam pustaka SmartFusion2 sebelum melihat dalam pustaka kerja iaitu postsynth/post-layout.
Pilihan –libmap boleh digunakan secara lalai semasa penghuraian untuk setiap simulasi (presynth, postsynth dan post-layout). Ini mengelakkan isu simulasi yang disebabkan oleh penyelesaian kejadian daripada perpustakaan.
xmelab: *F,INTERR: PENGECUALIAN DALAMAN
Pengecualian alat ncelab ini ialah kaveat untuk reka bentuk yang mengandungi FDDR dalam SmartFusion2 dan IGLOO2
semasa simulasi postsynth dan post-layout menggunakan pilihan –libmap.
Penting: Isu ini telah dilaporkan kepada pasukan sokongan Cadence (SAR 52113).
4.4 Sample Tcl dan skrip shell files (Tanya Soalan)
berikut files ialah konfigurasi files diperlukan untuk menyediakan reka bentuk dan skrip shell file untuk menjalankan arahan Xcelium.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
TAKRIFKAN COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/teras/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ($LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -kemas kini -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_masterstagumur
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagumur
../../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
../../component/work/SB/SB.v ../../component/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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -akses +rwc -status presynth.testbench:modul
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
4.5 Automasi (Log Masuk Microchip)
Skrip berikut file menukarkan ModelSim run.do files ke dalam konfigurasi files diperlukan untuk menjalankan simulasi menggunakan Xcelium.
Skrip File Penggunaan
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
#################################################### ##############################################
##################
#Penggunaan: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
#################################################### ##############################################
##################
gunakan POSIX;
gunakan ketat;
my ($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);
sub questa_parser {
$ModelSim_run_do saya = $_[0];
$actel_family saya = $_[1];
$lib_location saya = $_[2];
$negeri saya;
jika ( -e “$ModelSim_run_do” )
{
terbuka (INFILE,”$ModelSim_run_do”);
saya @ModelSim_run_do =FILE>;
$line saya;
jika ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
terbuka (KELUARFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$negeri = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
terbuka (KELUARFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$negeri = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
terbuka (KELUARFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$negeri = $1;
} lain
{
print “Salah Input yang diberikan kepada file\n”;
cetak “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokasi_Perpustakaan\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operasi Am
$line =~ s/..\/designer.*simulasi\///g;
$line =~ s/$negeri/$negeri\_questa/g;
#cetakFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
cetakFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
cetakFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
cetakFILE “$line \n”;
} lain
{
cetakFILE “$line \n”;
}
}
tutup (INFILE);
tutupFILE);
} lain {
cetak “$ModelSim_run_do tidak wujud. Jalankan semula simulasi semula \n”;
}
}
Persediaan Siemens QuestaSim/Persediaan ModelSim (Tanya Soalan)
Larian.lakukan files, yang dijana oleh Libero SoC untuk simulasi menggunakan ModelSim Microsemi Editions, boleh digunakan untuk simulasi menggunakan QuestaSim/ModelSim SE/DE/PE dengan satu perubahan. Dalam ModelSim ME/ModelSim Pro ME run.do file, lokasi perpustakaan yang telah disusun sebelumnya perlu diubah suai.
Penting:
Secara lalai, alat simulasi selain ModelSim Pro ME melakukan pengoptimuman reka bentuk semasa simulasi yang boleh memberi kesan keterlihatan ke dalam artifak simulasi seperti objek reka bentuk dan rangsangan input.
Ini biasanya membantu dalam mengurangkan masa jalan simulasi untuk simulasi yang kompleks, menggunakan verbose, meja ujian semakan sendiri. Walau bagaimanapun, pengoptimuman lalai mungkin tidak sesuai untuk semua simulasi, terutamanya dalam kes di mana anda menjangkakan untuk memeriksa hasil simulasi secara grafik menggunakan tetingkap gelombang.
Untuk menangani isu yang disebabkan oleh pengoptimuman ini, anda mesti menambah arahan yang sesuai dan hujah yang berkaitan semasa simulasi untuk memulihkan keterlihatan ke dalam reka bentuk. Untuk arahan khusus alat, lihat dokumentasi simulator yang sedang digunakan.
5.1 Pembolehubah Persekitaran (Tanya Soalan)
Berikut ialah pembolehubah persekitaran yang diperlukan.
- LM_LESEN_FILE: mesti termasuk laluan ke lesen file.
- MODEL_TECH: mesti mengenal pasti laluan ke lokasi direktori rumah pemasangan QuestaSim.
- PATH: mesti menunjuk ke lokasi boleh laku yang ditunjukkan oleh MODEL_TECH.
5.2 Menukar run.do untuk Mentor QuestaSim (Tanya Soalan)
Larian.lakukan files yang dijana oleh Libero SoC untuk simulasi menggunakan ModelSim Microsemi Editions boleh digunakan untuk simulasi menggunakan QuestaSim/ModelSim_SE dengan satu perubahan.
Penting: Semua reka bentuk yang disimulasikan menggunakan QuestaSim mesti termasuk -novopt
pilihan bersama-sama dengan arahan vsim dalam skrip run.do files.
5.3 Muat turun Perpustakaan Tersusun (Tanya Soalan)
Muat turun perpustakaan untuk Mentor Graphics QuestaSim daripada Microsemi's webtapak.
Persediaan VCS Synopsys (Tanya Soalan)
Aliran yang disyorkan oleh Microsemi bergantung pada aliran Elaborate and Compile dalam VCS. Dokumen ini termasuk skrip file yang menggunakan skrip run.do files dijana oleh Libero SoC dan menjana persediaan files diperlukan untuk simulasi VCS. Skrip file menggunakan run.do file untuk melakukan perkara berikut.
- Buat pemetaan perpustakaan file, yang dilakukan menggunakan synopsys_sim.setup file terletak dalam direktori yang sama di mana simulasi VCS sedang dijalankan.
- Buat skrip shell file untuk menghuraikan dan menyusun reka bentuk anda menggunakan VCS.
6.1 Pembolehubah Persekitaran (Tanya Soalan)
Tetapkan pembolehubah persekitaran yang sesuai untuk VCS berdasarkan persediaan anda. Pembolehubah persekitaran yang diperlukan mengikut dokumentasi VCS ialah:
- LM_LESEN_FILE: mesti memasukkan penunjuk ke pelayan lesen.
- VCS_HOME: mesti menunjuk ke lokasi direktori rumah pemasangan VCS.
- PATH: mesti memasukkan penunjuk ke direktori bin di bawah direktori VCS_HOME.
6.2 Muat Turun Perpustakaan Tersusun (Tanya Soalan)
Muat turun perpustakaan untuk Synopsys VCS daripada Microsemi's webtapak.
6.3 Skrip Simulasi VCS File (Tanya Soalan)
Selepas menyediakan VCS dan menjana reka bentuk dan run.do yang berbeza filedaripada Libero SoC, anda mesti:
- Buat pemetaan perpustakaan file synopsys_sim.setup; ini file mengandungi penunjuk ke lokasi semua perpustakaan yang akan digunakan oleh reka bentuk.
Penting: The file nama tidak boleh berubah dan ia mesti terletak dalam direktori yang sama tempat simulasi dijalankan. Berikut adalah bekasample untuk seperti itu file untuk simulasi presintesis.
KERJA > EFAULT
SmartFusion2 :
presynth : ./presynth
LALAI : ./kerja - Huraikan reka bentuk yang berbeza files, termasuk testbench, menggunakan arahan vlogan dalam VCS. Perintah ini mungkin disertakan dalam skrip shell file. Berikut adalah bekasampsatu daripada arahan yang diperlukan untuk menghuraikan reka bentuk yang ditakrifkan dalam rtl.v dengan testbench ditakrifkan dalam
testbench.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Susun reka bentuk menggunakan VCS menggunakan arahan berikut.
vcs –sim_res=1fs presynth.testbench
Nota: The resolusi pemasaan simulasi mesti ditetapkan kepada 1fs untuk simulasi berfungsi yang betul. - Setelah reka bentuk disusun, mulakan simulasi menggunakan arahan berikut.
./simv - Untuk simulasi beranotasi belakang, arahan VCS mestilah seperti yang ditunjukkan dalam sekatan kod berikut.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
nama>: file laluan> –gui –l postlayout.log
6.4 Had/Pengecualian (Tanya Soalan)
Berikut ialah had/pengecualian persediaan Synopsys VCS.
- Simulasi VCS boleh dijalankan hanya untuk projek Verilog Libero SoC. Simulator VCS mempunyai keperluan bahasa VHDL yang ketat yang tidak dipenuhi oleh VHDL jana automatik Libero SoC files.
- Anda mesti mempunyai pernyataan $finish dalam testbench Verilog untuk menghentikan simulasi bila-bila masa anda mahu.
Penting: Bila simulasi dijalankan dalam mod GUI, masa larian boleh ditentukan dalam GUI.
6.5 Sample Tcl dan Skrip Shell Files (Tanya Soalan)
Perl berikut mengautomasikan penjanaan synopsys_sim.setup file serta skrip shell yang sepadan files diperlukan untuk menghuraikan, menyusun dan mensimulasikan reka bentuk.
Jika reka bentuk menggunakan MSS, salin test.vec file terletak dalam folder simulasi projek Libero SoC ke dalam folder simulasi VCS. Bahagian berikut mengandungi sample run.do files dijana oleh Libero SoC, termasuk pemetaan perpustakaan dan skrip shell yang sepadan files diperlukan untuk simulasi VCS.
6.5.1 Pra-sintesis (Tanya Soalan)
Presynth_run.do
tetapkan ACTELLIBNAME SmartFusion2 secara senyap
tetapkan PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF” secara senyap-senyap
jika {[file wujud presynth/_info]} {
echo "INFO: Presynth perpustakaan simulasi sudah wujud"
} lain {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
tambah gelombang /SD1_TB1/*
tambah log -r /*
lari 1000ns
presynth_main.csh
#!/bin/csh -f
tetapkan 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/
kerja/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -kerja
presynth “${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 run.log
Synopsys_sim.setup
KERJA > LALAI
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
LALAI : ./kerja
6.5.2 Pasca-sintesis (Tanya Soalan)
postsynth_run.do
tetapkan ACTELLIBNAME SmartFusion2 secara senyap
tetapkan PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
jika {[file wujud postsynth/_info]} {
echo "INFO: Simulasi perpustakaan postsynth sudah wujud"
} lain {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
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
tambah gelombang /SD1_TB1/*
tambah log -r /*
lari 1000ns
log SD1_TB1/*
keluar
Postsynth_main.csh
#!/bin/csh -f
tetapkan 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” -kerja
postsynth “${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 run.log
Synopsys_sim.setup
KERJA > LALAI
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
LALAI : ./kerja
6.5.3 Pasca susun atur (Tanya Soalan)
postlayout_run.do
tetapkan ACTELLIBNAME SmartFusion2 secara senyap
tetapkan PROJECT_DIR “E:/ModelSim_Work/Test_DFF” secara senyap-senyap
jika {[file wujud ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: Pustaka simulasi ../designer/SD1/simulation/postlayout sudah wujud"
} lain {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -susun letak kerja “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
tambah gelombang /SD1_TB1/*
tambah log -r /*
lari 1000ns
Postlayout_main.csh
#!/bin/csh -f
tetapkan PROJECT_DIR = “/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -postlayout kerja “${PROJECT_DIR}/
pereka/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -kerja
postlayout “${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 run.log
Synopsys_sim.setup
KERJA > LALAI
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
LALAI : ./workVCS
6.6 Automasi (Tanya Soalan)
Aliran boleh diautomasikan menggunakan skrip Perl berikut file untuk menukar ModelSim run.do files ke dalam skrip shell serasi VCS files, cipta direktori yang betul di dalam direktori simulasi SoC Libero, dan kemudian jalankan simulasi.
Jalankan skrip file menggunakan sintaks berikut.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
#################################################### ############################
#
#Penggunaan: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
#################################################### ##############################
my ($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 (“../”);
sub parse_do {
$vlog saya = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
my %LIB = ();
$ sayafile = $_[0] ;
$negeri saya = $_[1];
terbuka (INFILE,”$file”) || mati “Tidak boleh buka File Sebabnya mungkin:$!”;
jika ($state eq “presynth” )
{
buka(OUT1,”>presynth_main.csh”) || mati “Tidak boleh mencipta Perintah File Sebabnya mungkin:$!”;
}
elsif ( $state eq “postsynth” )
{
buka(OUT1,”>postsynth_main.csh”) || mati “Tidak boleh mencipta Perintah File Sebabnya mungkin:$!”;
}
elsif ( $state eq “postlayout” )
{
buka(OUT1,”>postlayout_main.csh”) || mati “Tidak boleh mencipta Perintah File Sebabnya mungkin:$!”;
}
lain
{
cetak "Keadaan Simulasi tiada \n" ;
}
buka(OUT2,”>synopsys_sim.setup”) || mati “Tidak boleh mencipta Perintah File Sebabnya mungkin:$!”;
# .csh file
cetak OUT1 “#!/bin/csh -f\n\n\n” ;
#SEDIAKAN FILE
cetak OUT2 “WORK > DEFAULT\n” ;
cetak OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
manakala ($line =FILE>)
{
Persediaan VCS Synopsys
if ($line =~ m/set PROJECT_DIR\s+\”(.*?)\”/)
{
cetak OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
if ($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;
cetak OUT1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “Nama TB : $tb \n”;
if ($line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$line = $1 ;
#print “LINE : $line \n” ;
jika ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
cetak OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
maks:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
cetak 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/=/:/;
cetak OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
taip:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Format ModelSim SDF
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
format SDF
}
}
}
cetak
OUT1 “\n\n”
;
if
($state eq “presynth”
)
{
cetak
OUT2 “presynth
: ./presynth\n”
;
cetak
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
($ state eq "postsynth"
)
{
cetak
OUT2 “postsynth
: ./postsynth\n”
;
cetak
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
($state eq "postlayout"
)
{
cetak OUT2 “postlayout : ./postlayout\n” ;
}
lain
{
cetak "Keadaan Simulasi tiada \n" ;
}
foreach $i ( kunci %LIB)
{
#print “Kunci : $i Nilai : $LIB{$i} \n” ;
cetak KELUAR2 “$i : ./$i\n” ;
}
cetak OUT1 “\n\n” ;
print OUT1 “./simv -l run.log\n” ;
cetak KELUAR2 “LAILAI : ./kerja\n” ;
tutup INFILE;
tutup OUT1;
tutup OUT2;
}
Sejarah Semakan (Log Masuk Microchip
Sejarah semakan menerangkan perubahan yang telah dilaksanakan dalam dokumen. Perubahan
disenaraikan mengikut semakan, bermula dengan penerbitan terkini.
Semakan | tarikh | Penerangan |
A | 12/2023 | Perubahan berikut dibuat dalam semakan ini: • Dokumen ditukar kepada templat Microchip. Semakan Awal. • Bahagian 5 yang dikemas kini. Persediaan Siemens QuestaSim/Persediaan ModelSim untuk memasukkan nota baharu yang menerangkan kesan pada keterlihatan semasa simulasi dan pengoptimuman. |
Sokongan FPGA mikrocip
Kumpulan produk Microchip FPGA menyokong produknya dengan pelbagai perkhidmatan sokongan, termasuk Khidmat Pelanggan, Pusat Sokongan Teknikal Pelanggan, a webtapak, dan pejabat jualan di seluruh dunia.
Pelanggan dicadangkan untuk melawat sumber dalam talian Microchip sebelum menghubungi sokongan kerana kemungkinan besar pertanyaan mereka telah dijawab.
Hubungi Pusat Sokongan Teknikal melalui webtapak di www.microchip.com/support. Sebutkan nombor Bahagian Peranti FPGA, pilih kategori kes yang sesuai dan muat naik reka bentuk files semasa mencipta kes sokongan teknikal.
Hubungi Khidmat Pelanggan untuk mendapatkan sokongan produk bukan teknikal, seperti harga produk, peningkatan produk, maklumat kemas kini, status pesanan dan kebenaran.
- Dari Amerika Utara, hubungi 800.262.1060
- Dari seluruh dunia, hubungi 650.318.4460
- Faks, dari mana-mana sahaja di dunia, 650.318.8044
Maklumat Mikrocip
Microchip itu Webtapak
Microchip menyediakan sokongan dalam talian melalui kami webtapak di www.microchip.com/. ini webtapak digunakan untuk membuat files dan maklumat mudah didapati kepada pelanggan. Beberapa kandungan yang tersedia termasuk:
- Sokongan Produk – Helaian data dan kesilapan, nota aplikasi dan sampprogram, sumber reka bentuk, panduan pengguna dan dokumen sokongan perkakasan, keluaran perisian terkini dan perisian arkib
- Sokongan Teknikal Am – Soalan Lazim (Soalan Lazim), permintaan sokongan teknikal, kumpulan perbincangan dalam talian, penyenaraian ahli program rakan kongsi reka bentuk Microchip
- Perniagaan Microchip – Pemilih produk dan panduan pesanan, siaran akhbar Microchip terkini, penyenaraian seminar dan acara, penyenaraian pejabat jualan Microchip, pengedar dan wakil kilang
Perkhidmatan Pemberitahuan Perubahan Produk
Perkhidmatan pemberitahuan perubahan produk Microchip membantu memastikan pelanggan sentiasa mengetahui produk Microchip. Pelanggan akan menerima pemberitahuan e-mel apabila terdapat perubahan, kemas kini, semakan atau kesilapan yang berkaitan dengan keluarga produk atau alat pembangunan yang diminati.
Untuk mendaftar, pergi ke www.microchip.com/pcn dan ikut arahan pendaftaran.
Sokongan Pelanggan
Pengguna produk Microchip boleh menerima bantuan melalui beberapa saluran:
- Pengedar atau Wakil
- Pejabat Jualan Tempatan
- Jurutera Penyelesaian Terbenam (ESE)
- Sokongan Teknikal
Pelanggan harus menghubungi pengedar, wakil atau ESE mereka untuk mendapatkan sokongan. Pejabat jualan tempatan juga tersedia untuk membantu pelanggan. Penyenaraian pejabat dan lokasi jualan disertakan dalam dokumen ini.
Sokongan teknikal boleh didapati melalui webtapak di: www.microchip.com/support
Ciri Perlindungan Kod Peranti Mikrocip
Perhatikan butiran berikut tentang ciri perlindungan kod pada produk Microchip:
- Produk Microchip memenuhi spesifikasi yang terkandung dalam Helaian Data Microchip tertentu mereka.
- Microchip percaya bahawa keluarga produknya selamat apabila digunakan mengikut cara yang dimaksudkan, dalam spesifikasi operasi dan dalam keadaan biasa.
- Nilai mikrocip dan melindungi hak harta inteleknya secara agresif. Percubaan untuk melanggar ciri perlindungan kod produk Microchip adalah dilarang sama sekali dan mungkin melanggar Akta Hak Cipta Milenium Digital.
- Microchip mahupun pengeluar semikonduktor lain tidak boleh menjamin keselamatan kodnya. Perlindungan kod tidak bermakna kami menjamin produk itu "tidak boleh pecah".
Perlindungan kod sentiasa berkembang. Microchip komited untuk terus menambah baik ciri perlindungan kod produk kami.
Notis Undang-undang
Penerbitan ini dan maklumat di sini hanya boleh digunakan dengan produk Microchip, termasuk untuk mereka bentuk, menguji dan menyepadukan produk Microchip dengan aplikasi anda. Penggunaan maklumat ini dalam apa-apa cara lain melanggar syarat ini. Maklumat mengenai aplikasi peranti disediakan hanya untuk kemudahan anda dan mungkin digantikan dengan kemas kini. Adalah menjadi tanggungjawab anda untuk memastikan permohonan anda memenuhi spesifikasi anda. Hubungi pejabat jualan Microchip tempatan anda untuk mendapatkan sokongan tambahan atau, dapatkan sokongan tambahan di www.microchip.com/en-us/support/design-help/client-support-services.
MAKLUMAT INI DISEDIAKAN OLEH MICROCHIP "SEBAGAIMANA ADANYA". MICROCHIP TIDAK MEMBUAT SEBARANG JENIS PERWAKILAN ATAU WARANTI SAMA ADA TERNYATA MAUPUN TERSIRAT, BERTULIS ATAU LISAN, BERKANUN ATAU SEBALIKNYA, BERKAITAN DENGAN MAKLUMAT TERMASUK TETAPI TIDAK TERHAD KEPADA MANA-MANA WARANTI TERSIRAT, BUKAN PENYERTAAN DAN PEMESANAN TUJUAN ATAU WARANTI BERKAITAN DENGAN KEADAAN, KUALITI ATAU PRESTASINYA.
MICROCHIP TIDAK AKAN AKAN BERTANGGUNGJAWAB KE ATAS SEBARANG KERUGIAN, KEROSAKAN, KOS ATAU AKIBAT YANG TIDAK LANGSUNG, KHAS, PUNITIF, SAMPINGAN ATAU AKIBAT APA-APA JENIS APA SAJA YANG BERKAITAN DENGAN MAKLUMAT ATAU PENGGUNAANNYA, WALAUPUN BERPUNCA, WALAUPUN TERJADI. KEMUNGKINAN ATAU KEROSAKAN ADALAH BOLEH DIRAMALKAN. SEJAUH YANG DIBENARKAN OLEH UNDANG-UNDANG, JUMLAH LIABILITI MICROCHIP ATAS SEMUA TUNTUTAN DALAM APA-APA CARA BERKAITAN DENGAN MAKLUMAT ATAU PENGGUNAANNYA TIDAK AKAN MELEBIHI JUMLAH YURAN, JIKA ADA, YANG ANDA TELAH BAYAR TERUS KEPADA MICROCHIP UNTUK MAKLUMAT.
Penggunaan peranti Microchip dalam sokongan hayat dan/atau aplikasi keselamatan adalah sepenuhnya atas risiko pembeli, dan pembeli bersetuju untuk mempertahankan, menanggung rugi dan menahan Microchip yang tidak berbahaya daripada sebarang dan semua kerosakan, tuntutan, saman atau perbelanjaan akibat daripada penggunaan tersebut. Tiada lesen disampaikan, secara tersirat atau sebaliknya, di bawah mana-mana hak harta intelek Microchip melainkan dinyatakan sebaliknya.
Tanda dagangan
Nama dan logo Microchip, logo Microchip, Adaptec, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron dan XMEGA ialah tanda dagangan berdaftar Microchip Technology Incorporated di Amerika Syarikat dan negara lain.
AgileSwitch, APT, ClockWorks, Syarikat Penyelesaian Kawalan Terbenam, EtherSynch, Flashtec, Kawalan Kelajuan Hiper, Beban HyperLight, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime dan ZL ialah tanda dagangan berdaftar Microchip Technology Incorporated di Amerika Syarikat
Penindasan Kunci Bersebelahan, AKS, Analog-untuk-Digital Age, Mana-mana Kapasitor, AnyIn, AnyOut, Pensuisan Ditambah, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net Padanan Purata Dynamic , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Pengaturcaraan Bersiri Dalam Litar, ICSP, INICnet, Selari Pintar, IntelliMOS, Ketersambungan Antara Cip, JitterBlocker, Tombol pada Paparan, KoD, maxCrypto, maksView, memBrain, Mindi, MiWi, MPASM, MPF, logo Diperakui MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, Penjanaan Kod Omniscient, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Ketahanan Keseluruhan, Masa Dipercayai, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect dan ZENA ialah tanda dagangan Microchip Technology Incorporated
di Amerika Syarikat dan negara lain.
SQTP ialah tanda perkhidmatan Microchip Technology Incorporated di Amerika Syarikat
Logo Adaptec, Frequency on Demand, Silicon Storage Technology dan Symmcom ialah tanda dagangan berdaftar Microchip Technology Inc. di negara lain.
GestIC ialah tanda dagangan berdaftar Microchip Technology Germany II GmbH & Co. KG, anak syarikat Microchip Technology Inc., di negara lain.
Semua tanda dagangan lain yang disebut di sini adalah hak milik syarikat masing-masing.
© 2023, Microchip Technology Incorporated dan anak syarikatnya. Hak cipta terpelihara.
ISBN: 978-1-6683-3694-6
Sistem Pengurusan Kualiti
Untuk maklumat mengenai Sistem Pengurusan Kualiti Microchip, sila lawati www.microchip.com/quality.
AMERIKA | ASIA/PASIFIK | ASIA/PASIFIK | EROPAH |
Pejabat Korporat 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Faks: 480-792-7277 Sokongan Teknikal: www.microchip.com/support Web Alamat: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Faks: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Faks: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Faks: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Faks: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Faks: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Faks: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Kanada - Toronto Tel: 905-695-1980 Faks: 905-695-2078 |
Australia – Sydney Tel: 61-2-9868-6733 China - Beijing Tel: 86-10-8569-7000 China – Chengdu Tel: 86-28-8665-5511 China – Chongqing Tel: 86-23-8980-9588 China - Dongguan Tel: 86-769-8702-9880 China - Guangzhou Tel: 86-20-8755-8029 China - Hangzhou Tel: 86-571-8792-8115 China – Hong Kong SAR Tel: 852-2943-5100 China - Nanjing Tel: 86-25-8473-2460 China – Qingdao Tel: 86-532-8502-7355 China - Shanghai Tel: 86-21-3326-8000 China - Shenyang Tel: 86-24-2334-2829 China - Shenzhen Tel: 86-755-8864-2200 China - Suzhou Tel: 86-186-6233-1526 China - Wuhan Tel: 86-27-5980-5300 China – Xian Tel: 86-29-8833-7252 China - Xiamen Tel: 86-592-2388138 China – Zhuhai Tel: 86-756-3210040 |
India – Bangalore Tel: 91-80-3090-4444 India – New Delhi Tel: 91-11-4160-8631 India - Pune Tel: 91-20-4121-0141 Jepun - Osaka Tel: 81-6-6152-7160 Jepun - Tokyo Tel: 81-3-6880-3770 Korea - Daegu Tel: 82-53-744-4301 Korea - Seoul Tel: 82-2-554-7200 Malaysia – Kuala Lumpur Tel: 60-3-7651-7906 Malaysia – Pulau Pinang Tel: 60-4-227-8870 Filipina – Manila Tel: 63-2-634-9065 Singapura Tel: 65-6334-8870 Taiwan – Hsin Chu Tel: 886-3-577-8366 Taiwan – Kaohsiung Tel: 886-7-213-7830 Taiwan - Taipei Tel: 886-2-2508-8600 Thailand – Bangkok Tel: 66-2-694-1351 Vietnam – Ho Chi Minh Tel: 84-28-5448-2100 |
Austria - Wels Tel: 43-7242-2244-39 Faks: 43-7242-2244-393 Denmark – Copenhagen Tel: 45-4485-5910 Faks: 45-4485-2829 Finland – Espoo Tel: 358-9-4520-820 Perancis - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Jerman - Garching Tel: 49-8931-9700 Jerman – Haan Tel: 49-2129-3766400 Jerman - Heilbronn Tel: 49-7131-72400 Jerman - Karlsruhe Tel: 49-721-625370 Jerman - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Jerman - Rosenheim Tel: 49-8031-354-560 Israel – Ra'anana Tel: 972-9-744-7705 Itali - Milan Tel: 39-0331-742611 Faks: 39-0331-466781 Itali - Padova Tel: 39-049-7625286 Belanda – Drunen Tel: 31-416-690399 Faks: 31-416-690340 Norway - Trondheim Tel: 47-72884388 Poland – Warsaw Tel: 48-22-3325737 Romania – Bucharest Tel: 40-21-407-87-50 Sepanyol - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Sweden - Gothenberg Tel: 46-31-704-60-40 Sweden – Stockholm Tel: 46-8-5090-4654 UK – Wokingham Tel: 44-118-921-5800 Faks: 44-118-921-5820 |
© 2023 Microchip Technology Inc. dan anak syarikatnya
DS50003627A –
Dokumen / Sumber
![]() |
Perisian Perpustakaan Simulasi MICROCHIP Libero SoC [pdf] Panduan Pengguna DS50003627A, Perisian Perpustakaan Simulasi Libero SoC, Perisian Perpustakaan Simulasi SoC, Perisian Perpustakaan Simulasi, Perisian Perpustakaan, Perisian |