Simulasi Libero SoC
Parentah Setup Perpustakaan
Bubuka
Tujuan tina dokumén ieu nyaéta pikeun ngajelaskeun prosedur pikeun nyetél lingkungan simulasi nganggo proyék Libero SoC salaku input. Dokuméntasi ieu pakait sareng perpustakaan anu tos disusun pikeun dianggo sareng Libero SoC v11.9 sareng sékrési parangkat lunak anu langkung énggal. Perpustakaan anu disayogikeun disusun pikeun Verilog. Pamaké VHDL ngabutuhkeun lisénsi anu ngamungkinkeun simulasi mode campuran.
Perpustakaan simulasi anu disusun sayogi pikeun alat-alat ieu:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise sareng Xcelium
- Siemens QuestaSim
- Synopsys VCS
Pikeun ménta perpustakaan pikeun simulator béda, kontak Rojongan Téknis Microchip.
Pamaduan SoC Libero
Libero SoC ngarojong simulasi maké ModelSim ME ku generating a run.do file. Ieu file dipaké ku ModelSim kuring / ModelSim Pro kuring pikeun nyetél tur ngajalankeun simulasi. Pikeun ngagunakeun alat simulasi anu sanés, anjeun tiasa ngahasilkeun ModelSim ME / ModelSim Pro ME run.do sareng ngarobih naskah Tcl. file pikeun nganggo paréntah anu cocog sareng simulator anjeun.
1.1 Libero SoC Tcl File Generasi (Tanya patarosan)
Saatos nyiptakeun sareng ngahasilkeun desain dina Libero SoC, mimitian simulasi ModelSim ME / ModelSim Pro ME dina sadaya fase desain (presynth, postsynth, sareng post-layout). hambalan ieu ngahasilkeun run.do file pikeun ModelSim ME / ModelSim Pro ME pikeun tiap fase desain.
penting: Sanggeus dimimitian unggal simulasi ngajalankeun, ngaganti ngaran run.do otomatis dihasilkeun file handapeun diréktori simulasi pikeun nyegah Libero SoC ti overwriting éta file. Pikeun example, éta files bisa diganti jadi presynth_run.do, postsynth_run.do na postlayout_run.do.
Setup Aldec pikeun Active-HDL sareng Riviera-Pro (Tanya patarosan)
Nu lumpat.ngalakukeun file dipaké ku ModelSim kuring / ModelSim Pro kuring bisa dirobah sarta dipaké pikeun simulasi ngagunakeun simulators Aldec.
2.1 Variabel Lingkungan (Tanya patarosan)
Setel variabel lingkungan anjeun kana lisénsi anjeun file lokasi:
LM_LISENSI_FILE: kudu ngawengku pointer ka server lisénsi.
2.2 Unduh Perpustakaan Disusun (Tanya patarosan)
Unduh perpustakaan pikeun Aldec Active-HDL sareng Aldec Riviera-PRO tina Microchip websitus.
2.3 Ngarobah run.do pikeun simulasi Aldec (Tanya patarosan)
Nu lumpat.ngalakukeun files dihasilkeun ku Libero SoC pikeun simulasi ngagunakeun alat Active-HDL na Riviera-Pro bisa dipaké pikeun simulasi maké Active-HDL na Riviera-Pro kalawan robah tunggal. Tabel di handap mangrupa daptar paréntah Aldec-sarimbag pikeun ngaropea dina ModelSim run.do file.
Tabél 2-1. Aldec Sarimbag Paréntah
ModelSim | Aktip-HDL |
vlog | alog |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Di handap ieu salakuample run.do patali jeung simulators Aldec.
- Setel lokasi diréktori kerja ayeuna.
atur dsn - Setel nami perpustakaan anu tiasa dianggo, peta lokasina, teras peta lokasi kulawarga Microchip FPGA
perpustakaan precompiled (pikeun example, SmartFusion2) dimana anjeun ngajalankeun desain anjeun.
alib presynth
amap presynth presynth
amap SmartFusion2 - Kompilkeun sadaya HDL anu diperyogikeun files dipaké dina rarancang jeung perpustakaan diperlukeun.
alog –work presynth temp.v (pikeun Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (pikeun Vhdl)
acom –work presynth testbench.vhd - Simulate desain.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
ngajalankeun 10us
2.4 Masalah Dipikawanoh (Tanya patarosan)
Bagian ieu daptar masalah sareng watesan anu dipikanyaho.
- Perpustakaan anu disusun nganggo Riviera-PRO mangrupikeun platform khusus (nyaéta perpustakaan 64-bit teu tiasa dijalankeun dina platform 32-bit sareng sabalikna).
- Pikeun desain anu ngandung SERDES / MDDR / FDDR, nganggo pilihan di handap ieu dina run.do anjeun files bari ngajalankeun simulasi sanggeus compile desain maranéhanana:
- Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (pikeun simulasi presynth jeung post-layout) jeung asim –O5 (pikeun simulasi post-layout)
Setélan Aldec pikeun Active-HDL sareng Riviera-Pro gaduh SAR anu ditangguhkeun di handap ieu. Kanggo inpo nu leuwih lengkep, kontak Rojongan Téknis Microchip. - SAR 49908 - Active-HDL: Kasalahan VHDL pikeun simulasi blok Matematika
- SAR 50627 - Riviera-PRO 2013.02: Kasalahan simulasi pikeun desain SERDES
- SAR 50461 - Riviera-PRO: pilihan asim -O2/-O5 dina simulasi
Setup Incisive Cadence (Tanya patarosan)
Anjeun kudu nyieun naskah file sarupa ModelSim ME / ModelSim Pro ME run.do ngajalankeun éta
Simulator cadence Incisive. Turutan léngkah ieu sareng jieun skrip file pikeun NCSim atanapi nganggo naskah file
disadiakeun pikeun ngarobah ModelSim kuring / ModelSim Pro ME run.do files kana konfigurasi files
diperlukeun pikeun ngajalankeun simulasi ngagunakeun NCSim.
Nu penting: Cadence parantos lirén ngaluarkeun vérsi énggal tina Incisive Enterprise
simulator tur mimitian ngarojong Xcelium simulator.
3.1 Variabel Lingkungan (Tanya patarosan)
Pikeun ngajalankeun simulator Cadence Incisive, konfigurasikeun variabel lingkungan ieu:
- LM_LISENSI_FILE: kudu ngawengku hiji pointer kana lisénsi file.
- cds_root: kedah nunjuk ka lokasi diréktori asal tina Instalasi Cadence Incisive.
- PATH: kedah nunjuk ka lokasi bin handapeun diréktori alat anu ditunjuk ku cds_root nyaéta,
$ cds_root / parabot / bin / 64bit (pikeun mesin 64-bit jeung $ cds_root / parabot / bin pikeun mesin 32-bit).
Aya tilu cara pikeun nyetél lingkungan simulasi upami aya switch antara sistem operasi 64-bit sareng 32-bit:
Kasus 1: Variabel PATH
Jalankeun paréntah di handap ieu:
set path = (install_dir/tools/bin/64bit $ path) pikeun mesin 64bit jeung
set jalur = (install_dir / parabot / bin $ jalur) pikeun mesin 32bit
Kasus 2: Ngagunakeun -64bit Command-line Option
Dina garis paréntah, sebutkeun pilihan -64bit supados tiasa dieksekusi 64bit.
Kasus 3: Nyetél Variabel Lingkungan INCA_64BIT atanapi CDS_AUTO_64BIT
Variabel INCA_64BIT diperlakukeun salaku boolean. Anjeun tiasa nyetél variabel ieu kana nilai naon waé atanapi ka string null.
setenv INCA_64BIT
penting: The Variabel lingkungan INCA_64BIT henteu mangaruhan alat Cadence anu sanés, sapertos alat IC. Sanajan kitu, pikeun alat Incisive, variabel INCA_64BIT overrides setelan pikeun variabel lingkungan CDS_AUTO_64BIT. Upami variabel lingkungan INCA_64BIT disetel, sadaya alat Incisive dijalankeun dina modeu 64-bit. setenv CDS_AUTO_64BIT kalebet: INCA
penting: The string INCA kudu hurup gede. Sadaya executable kedah dijalankeun dina modeu 32-bit atanapi dina mode 64-bit, ulah nyetél variabel kalebet hiji anu tiasa dieksekusi, sapertos kieu:
setenv CDS_AUTO_64BIT kalebet:ncelab
Parabot Cadence anu sanés, sapertos alat IC, ogé ngagunakeun variabel lingkungan CDS_AUTO_64BIT pikeun ngadalikeun pilihan executable 32-bit atanapi 64-bit. Tabel di handap ieu nunjukkeun kumaha anjeun tiasa nyetél variabel CDS_AUTO_64BIT pikeun ngajalankeun alat Incisive sareng alat IC dina sadaya modeu.
Tabél 3-1. CDS_AUTO_64BIT Variabel
CDS_AUTO_64BIT Variabel | Pakakas Incisive | Pakakas IC |
setenv CDS_AUTO_64BIT ALL | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT Euweuh | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT EXLUDE:ic_binér | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT ngaluarkeun: INCA | 32 bit | 64 bit |
penting: Sadaya alat Incisive kedah dijalankeun dina modeu 32-bit atanapi dina mode 64-bit, ulah nganggo EXCLUDE pikeun ngaluarkeun eksekusi khusus, sapertos kieu: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Upami anjeun nyetél variabel CDS_AUTO_64BIT pikeun ngaluarkeun alat Incisive (setenv CDS_AUTO_64BIT EXCLUDE: INCA), sadaya alat Incisive dijalankeun dina modeu 32-bit. Sanajan kitu, pilihan garis paréntah -64bit overrides variabel lingkungan.
Konfigurasi handap files ngabantosan anjeun ngatur data anjeun sareng ngontrol operasi alat simulasi sareng utilitas:
- Pemetaan perpustakaan file (cds.lib) - Nangtukeun ngaran logis pikeun lokasi desain Anjeun.
- Perpustakaan sareng ngahubungkeun aranjeunna sareng nami diréktori fisik.
- Variabel file (hdl.var) -Nangtukeun variabel anu mangaruhan paripolah alat simulasi sareng utilitas.
3.2 Unduh Perpustakaan Disusun (Tanya patarosan)
Unduh perpustakaan pikeun Cadence Incisive ti Microsemi's websitus.
3.3 Nyieun Aksara NCSim File (Tanya patarosan)
Sanggeus nyieun salinan run.do files, laksanakeun léngkah ieu pikeun ngajalankeun simulasi anjeun nganggo NCSim:
- Jieun cds.lib file anu ngahartikeun perpustakaan anu tiasa diaksés sareng lokasina. The file ngandung pernyataan anu peta ngaran logis perpustakaan kana jalur diréktori fisik maranéhanana. Pikeun example, mun anjeun ngajalankeun simulasi presynth, éta cds.lib file ditulis sakumaha ditémbongkeun dina codeblock handap.
DEFINE presynth ./presynth
NANGTANGKEUN COREAHBLITE_LIB ./COREAHBLITE_LIB
NGAHARTIkeun smartfusion2 - Jieun hdl.var a file, Konfigurasi pilihan file anu ngandung variabel konfigurasi, anu nangtukeun kumaha lingkungan desain anjeun dikonpigurasi. Variabel handap files kaasup:
– Variabel anu dipaké pikeun nangtukeun perpustakaan gawé dimana compiler nyimpen objék disusun jeung data turunan lianna.
– Pikeun Verilog, variabel (LIB_MAP, VIEW_MAP, WORK) anu dianggo pikeun nangtukeun perpustakaan sareng views pikeun milarian nalika elaborator ngabéréskeun instansi.
- Variabel anu ngamungkinkeun anjeun nangtukeun pilihan kompiler, elaborator, sareng simulator baris paréntah sareng argumen.
Dina kasus simulasi presynth example ditémbongkeun di luhur, nyebutkeun urang boga tilu RTL files: av, bv, jeung testbench.v, nu kudu disusun kana presynth, COREAHBLITE_LIB, jeung perpustakaan presynth masing-masing. The hdl.var file bisa ditulis saperti ditémbongkeun dina codeblock handap.
Nangtukeun karya presynth
Nangtukeun PROYEK_DIR files>
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, + => presynth ) - Nyusun rarancang files ngagunakeun pilihan ncvlog.
ncvlog + incdir + –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Elaborate desain ngagunakeun ncelab. Elaborator ngawangun hirarki desain dumasar kana instansiasi sareng inpormasi konfigurasi dina desain, netepkeun konektipitas sinyal, sareng ngitung nilai awal pikeun sadaya objék dina desain. Hierarki desain elaborated disimpen dina snapshot simulasi, nu ngagambarkeun desain anjeun nu simulator ngagunakeun pikeun ngajalankeun simulasi.
ncelab –Pesen –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
aksés + rwc -status worklib. :modul
Elaborasi Salila simulasi Post-layout
Dina kasus simulasi post-layout, mimitina SDF file kedah disusun sateuacan elaborasi nganggo paréntah ncsdfc.
ncsdfcfilengaran> .sdf -outputfilengaran>.sdf.X
Salila elaborasi paké kaluaran SDF anu disusun sareng pilihan –autosdf sapertos anu dipidangkeun dina blok kode di handap ieu.
ncelab -autosdf –Pesen –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –aksés +rwc –status worklib. : modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_ étafile kudu ditémbongkeun saperti dina codeblock handap.
COMPILED_SDF_FILE = " file>” - Simulate ngagunakeun ncsim. Saatos elaboration a snapshot simulasi dijieun, nu dimuat ku ncsim pikeun simulasi. Anjeun tiasa ngajalankeun dina modeu bets atawa mode GUI.
ncsim –Pesen –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
errormax 15 -status worklib. : modul
penting: Sakabéh tilu léngkah di luhur nyusun, ngajéntrékeun, jeung ngirut bisa ditempatkeun kana naskah cangkang file sarta sourced tina garis paréntah. Gantina ngagunakeun tilu hambalan ieu, desain bisa simulated dina hiji hambalan ngagunakeun ncverilog atanapi irun pilihan ditémbongkeun saperti dina codeblock handap.
ncverilog + incdir + -cdslib ./cds.lib –hdlvar ./hdl.var
files dipaké dina rarancang>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
dipaké dina rarancang>
3.3.1 Masalah Dipikawanoh (Tanya patarosan)
Testbench Workaround
Ngagunakeun pernyataan di handap pikeun nangtukeun frékuénsi jam dina testbench dihasilkeun ku pamaké, atawa standar testbench dihasilkeun ku Libero SoC teu dianggo kalayan NCSim.
salawasna @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ngarobah saperti kieu pikeun ngajalankeun simulasi:
salawasna #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
penting: disusun perpustakaan pikeun NCSim téh platform husus (ie 64 bit perpustakaan teu cocog sareng 32 bit platform sarta sabalikna).
Simulasi Postsynth sareng Post-layout Ngagunakeun MSS sareng SERDES Nalika ngajalankeun simulasi postsynth tina desain anu ngandung blok MSS atanapi simulasi post-layout desain nganggo SERDES, simulasi BFM henteu jalan upami pilihan -libmap nyaéta.
teu dieusian salila elaboration. Ieu kusabab salila elaboration, MSS ieu ngumbar ti perpustakaan karya (kusabab beungkeutan standar sarta worklib keur postsynth / post-layout) dimana éta ngan hiji Fungsi Maneuh.
Paréntah ncelab kudu ditulis sakumaha ditémbongkeun dina blok kode handap pikeun ngabéréskeun MSS
blok ti perpustakaan SmartFusion2 precompiled.
ncelab -libmap lib.map -libverbose -Pesen -aksés +rwc cfg1
jeung lib.map file kudu kieu:
config cfg1;
rarancang ;
standar liblist smartfusion2 ;
endconfig
Ieu ngabéréskeun sél mana waé dina perpustakaan SmartFusion2 sateuacan milarian dina perpustakaan padamelan nyaéta postsynth/post-layout.
Pilihan -libmap tiasa dianggo sacara standar salami elaborasi pikeun unggal simulasi (presynth, postsynth, sareng post-layout). Ieu ngahindarkeun masalah simulasi anu disababkeun kusabab resolusi instansi ti perpustakaan.
ncelab: *F, INTERR: PENGECUALIAN INTERNAL
Pangecualian alat ncelab ieu mangrupikeun guha pikeun desain anu ngandung FDDR di SmartFusion 2 sareng IGLOO 2 salami simulasi postsynth sareng post-layout nganggo pilihan -libmap.
penting: Masalah ieu parantos dilaporkeun ka tim dukungan Cadence (SAR 52113).
3.4 Sample Tcl jeung Shell Script Files (Tanya patarosan)
Nyaéta files nyaéta konfigurasi files diperlukeun pikeun nyetél rarancang jeung cangkang Aksara file pikeun ngajalankeun paréntah NCSim.
Cds.lib
NE smartfusion2 / scratch / krydor / tmpspace / pamaké / kuring / nc-vlog64 / SmartFusion2
NANGTANGKEUN COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
Nangtukeun karya presynth
Nangtukeun PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/inti/coreahblite_masterstagev => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, + => presynth )
Paréntah.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_masterstagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagev
../../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 -Pesen -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -aksés +rwc -status presynth.testbench:modul
ncsim -Pesen -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
3.5 Otomatisasi (Tanya patarosan)
Naskah di handap file ngarobah ModelSim run.do files kana konfigurasi files diperlukeun pikeun ngajalankeun simulasi maké NCSim.
naskah File Pamakéan
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
###################################################### ##############################################
##################
#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
###################################################### ##############################################
##################
ngagunakeun POSIX;
ngagunakeun ketat;
abdi ($ presynth, $ postsynth, $ postlayout, $ kulawarga, $ lib_location) = @ARGV;
& questa_parser ($ presynth, $ kulawarga, $ lib_location);
& questa_parser ($ postsynth, $ kulawarga, $ lib_location);
& questa_parser ($ postlayout, $ kulawarga, $ lib_location);
sub questa_parser {
abdi $ ModelSim_run_do = $_ [0];
abdi $ actel_family = $_ [1];
abdi $lib_location = $_[2];
abdi $ kaayaan;
lamun (-e "$ModelSim_run_do")
{
muka (INFILE, "$ModelSim_run_do");
abdi @ModelSim_run_do =FILE>;
abdi $ garis;
lamun ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
buka (KELUARFILE,">QUESTA_PRESYNTH/presynth_questa.do");
$nagara = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
buka (KELUARFILE,">QUESTA_POSTSYNTH/postsynth_questa.do");
$nagara = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
buka (KELUARFILE,">QUESTA_POSTLAYOUT/postlayout_questa.do");
$nagara = $1;
} sanésna
{
print "Salah Input dibikeun ka file\n”;
nyitak "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Libraries_location\"\n";
}
foreach $line (@ModelSim_run_do)
{
# Operasi Umum
$line =~ s/..\/designer.*simulasi\///g;
$line =~ s/$state/$state\_questa/g;
#cetakFILE "$garis \n";
lamun ($line =~ m/vmap\s+.*($actel_family)/)
{
cetakFILE "vmap $ actel_family \" $ lib_location \" \ n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$garis =~ s/..\/komponén/..\/..\/komponén/g;
cetakFILE "$garis \n";
} elsif ($line =~ m/vsim/)
{
$garis =~ s/vsim/vsim -novopt/g;
cetakFILE "$garis \n";
} sanésna
{
cetakFILE "$garis \n";
}
}
nutup (INFILE);
nutup (OUTFILE);
} lain {
print "$ ModelSim_run_do teu aya. Jalankeun deui simulasi \n";
}
}
Setup Xcelium Cadence (Microchip Login)
Anjeun kudu nyieun naskah file sarupa ModelSim ME / ModelSim Pro ME run.do ngajalankeun simulator Cadence Xcelium. Turutan léngkah ieu sareng jieun skrip file pikeun Xcelium atanapi nganggo naskah file disadiakeun pikeun ngarobah ModelSim kuring / ModelSim Pro ME run.do files kana konfigurasi files diperlukeun pikeun ngajalankeun simulasi maké Xcelium.
4.1 Variabel Lingkungan (Tanya patarosan)
Pikeun ngajalankeun Cadence Xcelium, konfigurasikeun variabel lingkungan ieu:
- LM_LISENSI_FILE: kudu ngawengku hiji pointer kana lisénsi file.
- cds_root: kedah nunjuk ka lokasi diréktori asal tina Instalasi Cadence Incisive.
- PATH: kedah nunjuk ka lokasi bin handapeun alat diréktori nunjuk ku cds_root (ie
$cds_root/tools/bin/64bit (pikeun mesin 64 bit jeung $cds_root/tools/bin keur 32 bit
mesin).
Aya tilu cara pikeun nyetél lingkungan simulasi upami aya switch antara sistem operasi 64-bit sareng 32-bit:
Kasus 1: Variabel PATH
set path = (install_dir/tools/bin/64bit $ path) pikeun mesin 64bit jeung
set jalur = (install_dir / parabot / bin $ jalur) pikeun mesin 32bit
Kasus 2: Ngagunakeun -64bit Command-line Option
Dina garis paréntah sebutkeun pilihan -64bit supados tiasa dianggo 64-bit executable.
Kasus 3: Nyetél Variabel Lingkungan INCA_64BIT atanapi CDS_AUTO_64BIT
Variabel INCA_64BIT diperlakukeun salaku boolean. Anjeun tiasa nyetél variabel ieu kana nilai naon waé atanapi ka null
senar.
setenv INCA_64BIT
penting: The Variabel lingkungan INCA_64BIT henteu mangaruhan alat Cadence anu sanés, sapertos alat IC. Sanajan kitu, pikeun alat Incisive, variabel INCA_64BIT overrides setelan pikeun variabel lingkungan CDS_AUTO_64BIT. Lamun variabel lingkungan INCA_64BIT nyaeta et, sadaya alat Incisive ngajalankeun dina modeu 64-bit.
setenv CDS_AUTO_64BIT kalebet: INCA
penting: The string INCA kudu hurup gede. Sadaya executable kedah dijalankeun dina modeu 2-bit atanapi dina mode 64-bit, ulah nyetél variabel kalebet hiji anu tiasa dieksekusi, sapertos kieu:
setenv CDS_AUTO_64BIT kalebet:ncelab
Parabot Cadence anu sanés, sapertos alat IC, ogé ngagunakeun variabel lingkungan CDS_AUTO_64BIT pikeun ngadalikeun pilihan executable 32-bit atanapi 64-bit. Tabel di handap ieu nunjukkeun kumaha anjeun tiasa nyetél variabel CDS_AUTO_64BIT pikeun ngajalankeun alat Incisive sareng alat IC dina sadaya modeu.
Tabél 4-1. CDS_AUTO_64BIT Variabel
CDS_AUTO_64BIT Variabel | Pakakas Incisive | Pakakas IC |
setenv CDS_AUTO_64BIT ALL | 64-bit | 64-bit |
setenv CDS_AUTO_64BIT Euweuh | 32-bit | 32-bit |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary |
64-bit | 32-bit |
setenv CDS_AUTO_64BIT ngaluarkeun: INCA | 32-bit | 64-bit |
penting: Sadaya alat Incisive kedah dijalankeun dina modeu 32-bit atanapi dina modeu 64-bit, ulah nganggo EXCLUDE pikeun ngaluarkeun eksekusi khusus, sapertos kieu:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Upami anjeun nyetél variabel CDS_AUTO_64BIT pikeun ngaluarkeun alat Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), sadaya alat Incisive dijalankeun dina modeu 32-bit. Sanajan kitu, éta
-64bit pilihan garis paréntah overrides variabel lingkungan.
Konfigurasi handap files ngabantosan anjeun ngatur data anjeun sareng ngontrol operasi alat simulasi sareng utilitas:
- Pemetaan perpustakaan file (cds.lib) ngahartikeun ngaran logis pikeun lokasi desain Anjeun.
- Perpustakaan sareng ngahubungkeun aranjeunna sareng nami diréktori fisik.
- Variabel file (hdl.var) ngahartikeun variabel anu mangaruhan paripolah alat simulasi sareng utilitas.
4.2 Unduh Perpustakaan Disusun (Tanya patarosan)
Unduh perpustakaan pikeun Cadence Xcelium ti Microsemi's websitus.
4.3 Nyieun Aksara Xcelium file (Tanya patarosan)
Sanggeus nyieun salinan run.do files, ngalakukeun léngkah di handap ieu pikeun ngajalankeun simulasi anjeun ngagunakeun Aksara Xcelium file.
- Jieun cds.lib file anu ngahartikeun perpustakaan mana anu tiasa diaksés sareng dimana ayana.
The file ngandung pernyataan anu peta ngaran logis perpustakaan kana jalur diréktori fisik maranéhanana. Pikeun example, mun anjeun ngajalankeun simulasi presynth, éta cds.lib file bisa ditulis saperti ditémbongkeun dina codeblock handap.
DEFINE presynth ./presynth
NANGTANGKEUN COREAHBLITE_LIB ./COREAHBLITE_LIB
NGAHARTIkeun smartfusion2 - Jieun hdl.var a file nu mangrupa konfigurasi pilihan file anu ngandung variabel konfigurasi, anu nangtukeun kumaha lingkungan desain anjeun dikonpigurasi. Ieu kalebet:
– Variabel anu dipaké pikeun nangtukeun perpustakaan gawé dimana compiler nyimpen objék disusun jeung data turunan lianna.
– Pikeun Verilog, variabel (LIB_MAP, VIEW_MAP, WORK) anu dianggo pikeun nangtukeun perpustakaan sareng views pikeun milarian nalika elaborator ngabéréskeun instansi.
- Variabel anu ngamungkinkeun anjeun nangtukeun pilihan kompiler, elaborator, sareng simulator baris paréntah sareng argumen.
Dina kasus simulasi presynth example ditémbongkeun di luhur, nyebutkeun urang boga 3 RTL files av, bv, sareng testbench.v, anu kedah disusun kana perpustakaan presynth, COREAHBLITE_LIB, sareng presynth. The hdl.var file bisa ditulis saperti ditémbongkeun dina codeblock handap.
Nangtukeun karya presynth
Nangtukeun PROYEK_DIR files>
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, + => presynth ) - Nyusun rarancang files ngagunakeun pilihan ncvlog.
xmvlog + incdir + –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Elaborate desain ngagunakeun ncelab. Elaborator ngawangun hirarki desain dumasar kana instansiasi sareng inpormasi konfigurasi dina desain, netepkeun konektipitas sinyal, sareng ngitung nilai awal pikeun sadaya objék dina desain. Hierarki desain elaborated disimpen dina snapshot simulasi, nu ngagambarkeun desain anjeun nu simulator ngagunakeun pikeun ngajalankeun simulasi.
Xcelium –Pesen –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
aksés + rwc -status worklib. :modul
Elaborasi Salila simulasi Post-layout
Dina kasus simulasi post-layout, mimitina SDF file kedah disusun sateuacan elaborasi nganggo paréntah ncsdfc.
Xceliumfilengaran> .sdf -outputfilengaran>.sdf.X
Salila elaborasi paké kaluaran SDF anu disusun sareng pilihan –autosdf sapertos anu dipidangkeun dina blok kode di handap ieu.
xmelab -autosdf –Pesen –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –aksés +rwc –status worklib. : modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_ étafile kudu ditémbongkeun saperti dina codeblock handap.
COMPILED_SDF_FILE = " file>” - Simulate ngagunakeun Xcelium. Saatos elaboration a snapshot simulasi dijieun nu dimuat ku Xcelium pikeun simulasi. Ieu tiasa dijalankeun dina modeu angkatan atanapi modeu GUI.
xmsim –Pesen –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
errormax 15 -status worklib. : modul
Setup Xcelium Cadence
Penting: Sadayana tilu léngkah di luhur nyaéta nyusun, ngajéntrékeun, jeung nganyatakeun bisa dijadikeun naskah cangkang file sarta sourced tina garis paréntah. Gantina ngagunakeun tilu léngkah ieu, desain bisa simulated dina hiji hambalan ngagunakeun ncverilog atanapi xrun pilihan ditémbongkeun saperti dina codeblock handap.
xmverilog + incdir + -cdslib ./cds.lib –hdlvar ./hdl.var
files dipaké dina rarancang>
xrun + incdir + -cdslib ./cds.lib –hdlvar ./hdl.var files
dipaké dina rarancang>
4.3.1 Masalah Dipikawanoh (Tanya patarosan)
Testbench Workaround
Ngagunakeun pernyataan di handap pikeun nangtukeun frékuénsi jam dina testbench dihasilkeun ku pamaké atawa standar testbench dihasilkeun ku Libero SoC teu dianggo kalayan Xcelium.
salawasna @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ngarobah saperti kieu pikeun ngajalankeun simulasi:
salawasna #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
penting: Perpustakaan anu disusun pikeun Xcelium mangrupikeun platform khusus (nyaéta perpustakaan 64 bit henteu cocog sareng platform 32 bit sareng sabalikna).
Simulasi Postsynth sareng Post-layout nganggo MSS sareng SERDES
Nalika ngajalankeun simulasi postsynth tina desain anu ngandung blok MSS, atanapi simulasi post-layout tina desain nganggo SERDES, simulasi BFM henteu tiasa dianggo upami pilihan -libmap henteu dieusian salami elaborasi. Ieu kusabab salila elaboration, MSS ieu ngumbar ti perpustakaan karya (kusabab beungkeutan standar sarta worklib keur postsynth / post-layout) dimana éta ngan hiji Fungsi Maneuh.
Paréntah ncelab kudu ditulis sakumaha ditémbongkeun dina blok kode handap pikeun ngabéréskeun blok MSS ti perpustakaan SmartFusion2 precompiled.
xmelab -libmap lib.map -libverbose -Pesen -aksés +rwc cfg1
jeung lib.map file kudu kieu:
config cfg1;
rarancang ;
standar liblist smartfusion2 ;
endconfig
Ieu kedah ngabéréskeun sél mana waé dina perpustakaan SmartFusion2 sateuacan milarian dina perpustakaan padamelan nyaéta postsynth/post-layout.
Pilihan -libmap tiasa dianggo sacara standar salami elaborasi pikeun unggal simulasi (presynth, postsynth sareng post-layout). Ieu ngahindarkeun masalah simulasi anu disababkeun kusabab resolusi instansi ti perpustakaan.
xmelab: *F, INTERR: PENGECUALIAN INTERNAL
Pangecualian alat ncelab ieu mangrupikeun caveat pikeun desain anu ngandung FDDR di SmartFusion2 sareng IGLOO2
salila simulasi postsynth sareng post-layout nganggo pilihan -libmap.
penting: Masalah ieu parantos dilaporkeun ka tim dukungan Cadence (SAR 52113).
4.4 Sample Tcl jeung skrip cangkang files (Tanya patarosan)
Nyaéta files nyaéta konfigurasi files diperlukeun pikeun nyetél rarancang jeung cangkang Aksara file pikeun ngajalankeun paréntah Xcelium.
Cds.lib
DEFINISI smartfusion2 / scratch / krydor / tmpspace / pamaké / kuring / nc-vlog64 / SmartFusion2
NANGTANGKEUN COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
Nangtukeun karya presynth
Nangtukeun PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/inti/coreahblite_masterstagev => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponén/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
NANGTANGKEUN LIB_MAP ($LIB_MAP, + => presynth )
Paréntah.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_masterstagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagev
../../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 -Pesen -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -aksés +rwc -status presynth.testbench:modul
ncsim -Pesen -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
4.5 Otomatisasi (Microchip Login)
Naskah di handap file ngarobah ModelSim run.do files kana konfigurasi files diperlukeun pikeun ngajalankeun simulasi maké Xcelium.
naskah File Pamakéan
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
###################################################### ##############################################
##################
#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
###################################################### ##############################################
##################
ngagunakeun POSIX;
ngagunakeun ketat;
abdi ($ presynth, $ postsynth, $ postlayout, $ kulawarga, $ lib_location) = @ARGV;
& questa_parser ($ presynth, $ kulawarga, $ lib_location);
& questa_parser ($ postsynth, $ kulawarga, $ lib_location);
& questa_parser ($ postlayout, $ kulawarga, $ lib_location);
sub questa_parser {
abdi $ ModelSim_run_do = $_ [0];
abdi $ actel_family = $_ [1];
abdi $lib_location = $_[2];
abdi $ kaayaan;
lamun (-e "$ModelSim_run_do")
{
muka (INFILE, "$ModelSim_run_do");
abdi @ModelSim_run_do =FILE>;
abdi $ garis;
lamun ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
buka (KELUARFILE,">QUESTA_PRESYNTH/presynth_questa.do");
$nagara = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
buka (KELUARFILE,">QUESTA_POSTSYNTH/postsynth_questa.do");
$nagara = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
buka (KELUARFILE,">QUESTA_POSTLAYOUT/postlayout_questa.do");
$nagara = $1;
} sanésna
{
print "Salah Input dibikeun ka file\n”;
nyitak "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Libraries_location\"\n";
}
foreach $line (@ModelSim_run_do)
{
# Operasi Umum
$line =~ s/..\/designer.*simulasi\///g;
$line =~ s/$state/$state\_questa/g;
#cetakFILE "$garis \n";
lamun ($line =~ m/vmap\s+.*($actel_family)/)
{
cetakFILE "vmap $ actel_family \" $ lib_location \" \ n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$garis =~ s/..\/komponén/..\/..\/komponén/g;
cetakFILE "$garis \n";
} elsif ($line =~ m/vsim/)
{
$garis =~ s/vsim/vsim -novopt/g;
cetakFILE "$garis \n";
} sanésna
{
cetakFILE "$garis \n";
}
}
nutup (INFILE);
nutup (OUTFILE);
} lain {
print "$ ModelSim_run_do teu aya. Jalankeun deui simulasi \n";
}
}
Siemens QuestaSim Setup/ModelSim Setup (Tanya patarosan)
Nu lumpat.ngalakukeun files, dihasilkeun ku Libero SoC pikeun simulasi ngagunakeun ModelSim Microsemi Editions, bisa dipaké pikeun simulasi maké QuestaSim / ModelSim SE / DE / pe ku robah tunggal. Dina ModelSim ME / ModelSim Pro ME run.do file, lokasi perpustakaan anu tos disusun kedah dirobih.
penting:
Sacara standar, alat simulasi lian ti ModelSim Pro ME ngalakukeun optimasi desain nalika simulasi anu tiasa mangaruhan pisibilitas kana artefak simulasi sapertos objék desain sareng stimulus input.
Ieu ilaharna mantuan pikeun ngurangan runtime simulasi pikeun simulasi kompléks, ngagunakeun verbose, timer mariksa testbenches. Tapi, optimasi standar bisa jadi teu luyu pikeun sakabéh simulasi, utamana dina kasus dimana anjeun ngaharepkeun grafik mariksa hasil simulasi ngagunakeun jandela gelombang.
Pikeun ngarengsekeun masalah anu disababkeun ku optimasi ieu, anjeun kedah nambihan paréntah anu pas sareng argumen anu aya hubunganana salami simulasi pikeun mulangkeun visibilitas kana desain. Pikeun paréntah khusus alat, tingali dokuméntasi tina simulator anu dianggo.
5.1 Variabel Lingkungan (Tanya patarosan)
Di handap ieu mangrupakeun variabel lingkungan diperlukeun.
- LM_LISENSI_FILE: kudu ngawengku jalur ka lisénsi file.
- MODEL_TECH: kedah ngaidentipikasi jalur ka lokasi diréktori asal pamasangan QuestaSim.
- PATH: kedah nunjuk ka lokasi laksana ditunjuk ku MODEL_TECH.
5.2 Ngarobih run.do pikeun Mentor QuestaSim (Tanya patarosan)
Nu lumpat.ngalakukeun files dihasilkeun ku Libero SoC pikeun simulasi maké ModelSim Microsemi édisi bisa dipaké pikeun simulasi maké QuestaSim / ModelSim_SE ku robah tunggal.
Penting: Sadayana desain anu disimulasi nganggo QuestaSim kedah kalebet -novopt
pilihan babarengan jeung paréntah vsim dina naskah run.do files.
5.3 Unduh Perpustakaan anu Disusun (Tanya patarosan)
Unduh perpustakaan pikeun Mentor Graphics QuestaSim ti Microsemi's websitus.
Synopsys VCS Setup (Tanya patarosan)
Aliran anu disarankeun ku Microsemi ngandelkeun aliran Elaborate and Compile dina VCS. Dokumén ieu kalebet naskah file anu ngagunakeun naskah run.do files dihasilkeun ku Libero SoC sarta dibangkitkeun setelan files diperlukeun pikeun simulasi VCS. naskah file ngagunakeun run.do file pikeun ngalakukeun ieu di handap.
- Jieun pemetaan perpustakaan file, anu dipigawé maké synopsys_sim.setup file lokasina di diréktori sarua dimana simulasi VCS jalan.
- Jieun skrip cangkang file pikeun ngajentrekeun sareng nyusun desain anjeun nganggo VCS.
6.1 Variabel Lingkungan (Tanya patarosan)
Setel variabel lingkungan anu cocog pikeun VCS dumasar kana setelan anjeun. Variabel lingkungan anu diperyogikeun dumasar kana dokuméntasi VCS nyaéta:
- LM_LISENSI_FILE: kudu ngawengku pointer ka server lisénsi.
- VCS_HOME: kudu nunjuk ka lokasi diréktori imah pamasangan VCS.
- PATH: kudu ngawengku hiji pointer ka diréktori bin handap diréktori VCS_HOME.
6.2 Unduh Perpustakaan Disusun (Tanya patarosan)
Unduh perpustakaan pikeun Synopsys VCS ti Microsemi's websitus.
6.3 VCS Simulasi Aksara File (Tanya patarosan)
Saatos nyetél VCS sarta ngahasilkeun rarancang jeung run.do béda files ti Libero SoC, anjeun kedah:
- Jieun pemetaan perpustakaan file synopsys_sim.setup; ieu file ngandung pointers ka lokasi sadaya perpustakaan pikeun dipaké ku desain.
penting: The file nami teu kedah robih sareng kedah aya dina diréktori anu sami dimana simulasi dijalankeun. Di dieu téh urutample keur kitu a file pikeun simulasi présintésis.
KERJA > EFAULT
SmartFusion2:
presynth: ./presynth
DEFAULT : ./work - Elaborate desain béda files, kaasup testbench, ngagunakeun paréntah vlogan di VCS. Paréntah ieu tiasa dilebetkeun kana skrip cangkang file. Di handap ieu urutample tina paréntah anu diperlukeun pikeun elaborate desain diartikeun dina rtl.v kalawan testbench na diartikeun dina
testbench.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Kompilkeun desain nganggo VCS nganggo paréntah di handap ieu.
vcs –sim_res=1fs presynth.testbench
Catetan: The resolusi timing simulasi kudu disetel ka 1fs pikeun simulasi fungsi bener. - Saatos desain disusun, mimitian simulasi nganggo paréntah di handap ieu.
./simv - Pikeun simulasi balik-annotated, paréntah VCS kudu ditémbongkeun saperti dina codeblock handap.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
ngaran>: file jalur> –gui –l postlayout.log
6.4 Watesan/Pengecualian (Tanya patarosan)
Di handap ieu watesan / iwal ti Synopsys VCS setup.
- simulasi VCS ngan bisa dijalankeun pikeun proyék Verilog of Libero SoC. Simulator VCS gaduh syarat basa VHDL anu ketat anu henteu dicumponan ku VHDL anu dibangkitkeun otomatis Libero SoC. files.
- Anjeun kudu boga $ finish pernyataan di testbench Verilog pikeun ngeureunkeun simulasi iraha wae rék.
penting: iraha simulasi dijalankeun dina modeu GUI, waktos ngajalankeun bisa dieusian dina GUI.
6.5 Sample Tcl jeung Shell Script Files (Tanya patarosan)
Perl handap ngajadikeun otomatis generasi synopsys_sim.setup file kitu ogé naskah cangkang saluyu files diperlukeun pikeun elaborate, compile, sarta simulate desain.
Lamun desain ngagunakeun MSS, nyalin test.vec file lokasina di folder simulasi proyék Libero SoC kana folder simulasi VCS. Bagian handap ngandung sample run.do files dihasilkeun ku Libero SoC, kaasup pemetaan perpustakaan pakait jeung Aksara cangkang files diperlukeun pikeun simulasi VCS.
6.5.1 Pra-sintésis (Tanya patarosan)
Presynth_run.do
quietly nyetél ACTELLIBNAME SmartFusion2
sepi nyetél PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
lamun {[file aya presynth/_info]} {
echo "INFO: Simulasi perpustakaan presynth geus aya"
} 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
tambahkeun gelombang /SD1_TB1/*
tambahkeun log -r /*
ngajalankeun 1000ns
presynth_main.csh
#!/bin/csh -f
set 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/
gawe/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
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
Gawé > standar
SmartFusion2 : /VCS/SmartFusion2
presynth: ./presynth
DEFAULT : ./work
6.5.2 Pasca-sintésis (Tanya patarosan)
postsynth_run.do
quietly nyetél ACTELLIBNAME SmartFusion2
setél PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
lamun {[file aya postsynth/_info]} {
echo "INFO: Simulasi perpustakaan postsynth geus aya"
} lain {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion 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
tambahkeun gelombang /SD1_TB1/*
tambahkeun log -r /*
ngajalankeun 1000ns
log SD1_TB1/*
Kaluar
Postynth_main.csh
#!/bin/csh -f
set 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
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
Gawé > standar
SmartFusion2 : /VCS/SmartFusion2
postsynth: ./postsynth
DEFAULT : ./work
6.5.3 Post-layout (Tanya patarosan)
postlayout_run.do
quietly nyetél ACTELLIBNAME SmartFusion2
sepi nyetél PROJECT_DIR "E: / ModelSim_Work / Test_DFF"
lamun {[file aya ../designer/SD1/simulation/postlayout/_info]} {
gema "INFO: Perpustakaan simulasi ../designer/SD1/simulation/postlayout tos aya"
} lain {
vlib ../desainer/SD1/simulasi/postlayout
}
vmap postlayout ../designer/SD1/simulasi/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion 2"
vlog -work postlayout "${PROJECT_DIR}/designer/SD1/SD1_ba.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -work postlayout "${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
tambahkeun gelombang /SD1_TB1/*
tambahkeun log -r /*
ngajalankeun 1000ns
Postlayout_main.csh
#!/bin/csh -f
set PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout "${PROJECT_DIR}/
desainer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
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
Gawé > standar
SmartFusion2 : /VCS/SmartFusion2
postlayout: ./postlayout
DEFAULT: ./workVCS
6.6 Otomatisasi (Tanya patarosan)
Aliranna tiasa diotomatisasi nganggo skrip Perl di handap ieu file pikeun ngarobah ModelSim run.do files kana Aksara cangkang VCS cocog files, nyieun directories ditangtoskeun jero diréktori simulasi Libero SoC, lajeng ngajalankeun simulasi.
Jalankeun naskah file ngagunakeun sintaksis ieu di handap.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
###################################################### ############################
#
#Usage: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
###################################################### ##############################
abdi ($ presynth, $ postsynth, $ postlayout) = @ARGV;
lamun (sistem ("mkdir VCS_Presynth")) {print "mkdir gagal: \ n";}
lamun (sistem ("mkdir VCS_Postsynth")) {print "mkdir gagal: \ n";}
lamun (sistem ("mkdir VCS_Postlayout")) {print "mkdir gagal: \ 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 {
abdi $ vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k";
abdi% LIB = ();
abdi $file = $_[0] ;
abdi $ kaayaan = $_[1];
buka (INFILE,”$file”) || maot "Teu tiasa dibuka File Alesanna meureun:$!”;
lamun ($ kaayaan eq "presynth")
{
buka(OUT1,">presynth_main.csh") || maot "Teu tiasa nyiptakeun Komando File Alesanna meureun:$!”;
}
elsif ($ state eq "postsynth")
{
buka (OUT1, "> postsynth_main.csh") || maot "Teu tiasa nyiptakeun Komando File Alesanna meureun:$!”;
}
elsif ($ state eq "postlayout")
{
buka(OUT1,">postlayout_main.csh") || maot "Teu tiasa nyiptakeun Komando File Alesanna meureun:$!”;
}
lain
{
print "Kaayaan simulasi leungit \n";
}
buka(OUT2,">synopsys_sim.setup") || maot "Teu tiasa nyiptakeun Komando File Alesanna meureun:$!”;
# .csh file
print OUT1 "#!/bin/csh -f\n\n\n";
#DISETÉL FILE
print OUT2 "WORK > DEFAULT\n" ;
print OUT2 "SmartFusion2: / sqa / pamaké / Aditya / VCS / SmartFusion2 \ n";
sedengkeun ($garis =FILE>)
{
Synopsys VCS Setup
lamun ($line =~ m/quietly set PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 "nyetél PROJECT_DIR = \"$1\"\n\n\n";
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
lamun ($garis =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = “$1″.”_LIB”;
#print "Temp = $ temp \n" ;
$LIB{$temp}++;
}
chomp($garis);
$garis =~ s/^vlog/$vlog/ ;
$garis =~ s/ //g;
nyitak OUT1 "$ garis \ n";
}
elsif ( ($garis =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp($tb);
#print "Ngaran TB : $tb \n";
lamun ($ garis =~ m/sdf(.*)\.sdf/)
{
chomp($garis);
$garis = $1;
#print "LINE : $line \n" ;
lamun ($garis =~ m/max/)
{
$garis =~ s/max \/// ;
$garis =~ s/=/:/;
print OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($garis =~ m/min/)
{
$garis =~ s/mnt \/// ;
$garis =~ s/=/:/;
print OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
mnt:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$garis =~ s/typ \/// ;
$garis =~ s/=/:/;
print 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 — Format ModelSim SDF
# $ sdf = "-sdf max: testbench.M3_FIC32_0: $ {PROJECT_DIR} / desainer / M3_FIC32 / M3_FIC32_ba.sdf"; -VCS
format SDF
}
}
}
nyitak
OUT1 "\n\n"
;
if
($ state eq "presynth"
)
{
nyitak
OUT2 "presynth
: ./presynth\n”
;
nyitak
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
($ kaayaan eq "postsynth"
)
{
nyitak
OUT2 "postsynth
: ./postsynth\n”
;
nyitak
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res = 1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
($ kaayaan eq "postlayout"
)
{
print OUT2 "postlayout: ./postlayout\n";
}
lain
{
print "Kaayaan simulasi leungit \n";
}
foreach $i (konci%LIB)
{
#print "Konci: $i Niley: $LIB{$i} \n";
print OUT2 “$i : ./$i\n” ;
}
nyitak OUT1 "\n\n" ;
print OUT1 "./simv -l run.log\n" ;
print OUT2 "DEFAULT : ./work\n" ;
nutup INFILE;
nutup OUT1;
nutup OUT2;
}
Riwayat révisi (Microchip Login
Sajarah révisi ngajelaskeun parobahan anu dilaksanakeun dina dokumén. Parobahan
didaptarkeun ku révisi, dimimitian ku publikasi panganyarna.
Révisi | titimangsa | Katerangan |
A | 12/2023 | Parobihan di handap ieu dilakukeun dina révisi ieu: • Dokumén dirobah jadi témplat Microchip. Révisi Awal. • bagian diropéa 5. Setup Siemens QuestaSim / Setup ModelSim pikeun ngawengku catetan anyar nu ngajelaskeun dampak dina pisibilitas salila simulasi jeung optimasi. |
Rojongan FPGA Microchip
Grup produk Microchip FPGA ngadukung produkna sareng sababaraha jasa dukungan, kalebet Layanan Pelanggan, Pusat Rojongan Téknis Pelanggan, a websitus, sareng kantor penjualan sadunya.
Konsumén disarankan pikeun nganjang ka sumber online Microchip sateuacan ngahubungi dukungan sabab kamungkinan pisan patarosan na parantos dijawab.
Kontak Center Rojongan Téknis ngaliwatan websitus di www.microchip.com/support. Sebutkeun nomer Bagian Alat FPGA, pilih kategori kasus anu pas, sareng unggah desain files bari nyieun kasus rojongan teknis.
Kontak Service Palanggan pikeun rojongan produk non-teknis, kayaning harga produk, upgrades produk, update informasi, status pesenan, jeung otorisasina.
- Ti Amérika Kalér, nelepon 800.262.1060
- Ti sakuliah dunya, nelepon 650.318.4460
- Fax, ti mana waé di dunya, 650.318.8044
Émbaran Microchip
The Microchip Websitus
Microchip nyadiakeun rojongan online via kami websitus di www.microchip.com/. Ieu websitus dipaké pikeun nyieun files sarta informasi gampang sadia pikeun konsumén. Sababaraha eusi anu sayogi kalebet:
- Rojongan Produk - lambar Data na errata, catetan aplikasi tur sampprogram le, sumberdaya desain, Panungtun pamaké sarta dokumén rojongan hardware, Kaluaran software panganyarna na software diarsipkeun
- Rojongan Téknis Umum - Patarosan anu Sering Ditaroskeun (FAQ), pamundut dukungan téknis, grup diskusi online, daptar anggota program mitra desain Microchip
- Usaha Microchip - Pamilih produk sareng pituduh pesenan, siaran pers Microchip panganyarna, daptar seminar sareng acara, daptar kantor penjualan Microchip, distributor sareng perwakilan pabrik
Service Bewara Robah Produk
Ladenan béwara parobahan produk Microchip ngabantosan para nasabah tetep aya dina produk Microchip. Palanggan bakal nampi béwara email iraha waé aya parobahan, apdet, révisi atanapi kasalahan anu aya hubunganana sareng kulawarga produk atanapi alat pangembangan anu dipikaresep.
Pikeun ngadaptar, buka www.microchip.com/pcn tur turutan parentah pendaptaran.
Rojongan Palanggan
Pamaké produk Microchip tiasa nampi bantosan ngalangkungan sababaraha saluran:
- Distributor atanapi Perwakilan
- Kantor Penjualan Lokal
- Insinyur Solusi Embedded (ESE)
- Bantosan Téknis
Konsumén kedah ngahubungi distributor, wawakil atanapi ESE pikeun dukungan. Kantor penjualan lokal ogé sayogi ngabantosan para nasabah. Daptar kantor penjualan sareng lokasi kalebet dina dokumén ieu.
rojongan teknis sadia ngaliwatan websitus di: www.microchip.com/support
Fitur Protection Code Alat Microchip
Catet detil di handap ieu ngeunaan fitur panyalindungan kode dina produk Microchip:
- Produk Microchip nyumponan spésifikasi anu aya dina Lembar Data Microchip khususna.
- Microchip percaya yén kulawarga produkna aman nalika dianggo dina cara anu dimaksud, dina spésifikasi operasi, sareng dina kaayaan normal.
- nilai Microchip sarta aggressively ngajaga hak cipta intelektual na. Usaha pikeun ngalanggar fitur panyalindungan kode produk Microchip dilarang pisan sareng tiasa ngalanggar Digital Millennium Copyright Act.
- Boh Microchip atanapi produsén semikonduktor sanés tiasa ngajamin kaamanan kode na. Perlindungan kode henteu hartosna yén kami ngajamin produkna "teu tiasa dipecahkeun".
Perlindungan kode terus mekar. Microchip komitmen pikeun terus ningkatkeun fitur panyalindungan kode produk urang.
Bewara Hukum
Publikasi ieu sareng inpormasi di dieu ngan ukur tiasa dianggo sareng produk Microchip, kalebet pikeun ngarancang, nguji, sareng ngahijikeun produk Microchip sareng aplikasi anjeun. Pamakéan inpormasi ieu dina cara anu sanés ngalanggar syarat ieu. Inpormasi ngeunaan aplikasi alat disayogikeun ngan ukur pikeun genah anjeun sareng tiasa diganti ku apdet. Tanggung jawab anjeun pikeun mastikeun yén aplikasi anjeun cocog sareng spésifikasi anjeun. Ngahubungan kantor jualan Microchip lokal Anjeun pikeun rojongan tambahan atawa, ménta rojongan tambahan di www.microchip.com/en-us/support/design-help/client-support-services.
Inpormasi ieu disayogikeun ku MICROCHIP "AS IS". MICROCHIP TEU NGAREGEPKEUN REPRESENTASI ATAWA HARANSI NAON NAON BAHA TERNYATA ATAU TERSIRAT, TULIS ATAU LISAN, STATUTORY ATAWA SABAJEUN, PABUAT KA INFORMASI KAAWASAN TAPI TEU DIWATES KA SALAH JENIS HARANSI TERSIRAT, NON-PENDAFTARAN, DAN FIRMAN. TUJUAN, ATAWA HARANSI PABUAT KA KONDISI, KUALITI, ATAWA KINERJANA.
MICROCHIP MOAL MAH TANGGUNG JAWAB KANGGO NU LANGSUNG, KHUSUS, PUNITIF, INCIDENTAL, ATAWA KONSEQUENTIAL RUGI, KARUSAKAN, BIAYA, ATAWA BAYAAN NAON NU SAUNANA NU PABUAT KA INFORMASI ATAWA GUNAANNA, NAON NGABISABUNGKEUN, KALAU KANGGO KANGGO KITU. Kamungkinan ATAWA KARUKSAKAN NU DIHARAPKEUN. Pikeun FULLEST EXTENT diidinan ku hukum, tanggung jawab total Microchip dina sagala klaim dina sagala cara patali jeung informasi atawa pamakéan na moal ngaleuwihan jumlah waragad, lamun aya, nu geus dibayar langsung ka Microchip pikeun informasi.
Pamakéan alat Microchip dina rojongan hirup jeung / atawa aplikasi kaamanan sagemblengna dina resiko meuli urang, sarta meuli satuju pikeun membela, indemnify jeung nahan Microchip bahya tina sagala jeung sagala Karuksakan, klaim, jas, atawa expenses hasilna tina pamakéan sapertos. Taya lisensi anu conveyed, implicitly atawa lamun heunteu, dina sagala hak cipta intelektual Microchip iwal disebutkeun béda.
mérek dagang
Ngaran sareng 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, LOGO PALING, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, jeung XMEGA mangrupakeun mérek dagang kadaptar ti Microchip Technology Incorporated di AS jeung nagara séjén.
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, logo ProASIC Plus, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, sareng ZL mangrupakeun mérek dagang kadaptar ti Microchip Technology Incorporated di AS.
Suprési Key Padeukeut, AKS, Analog-for-the-Digital Age, Kapasitor Sakur, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net Average Matching, Dynamic Matching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, 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, Total Endurance, Time Trusted, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, sareng ZENA mangrupikeun mérek dagang Microchip Technology Incorporated.
di AS jeung nagara séjén.
SQTP mangrupikeun tanda jasa Microchip Technology Incorporated di AS
logo Adaptec, Frékuénsi on Demand, Silicon Storage Téhnologi, sarta Symmcom mangrupakeun mérek dagang kadaptar ti Microchip Téhnologi Nyarita di nagara séjén.
GestIC mangrupakeun mérek dagang kadaptar ti Microchip Téhnologi Jerman II GmbH & Co KG, cabangna Microchip Téhnologi Inc., di nagara séjén.
Sadaya merek dagang anu disebatkeun di dieu mangrupikeun hak milik perusahaan masing-masing.
© 2023, Microchip Technology Incorporated sareng anak perusahaanna. Sadaya hak disimpen.
ISBN: 978-1-6683-3694-6
Sistem Manajemén Kualitas
Kanggo inpormasi ngeunaan Sistem Manajemén Kualitas Microchip, mangga buka www.microchip.com/quality.
AMERIKA | ASIA / PASIFIK | ASIA / PASIFIK | EROPA |
Kantor perusahaan 2355 Kulon Chandler Blvd. Chandler, AZ 85224-6199 Telepon: 480-792-7200 Fax: 480-792-7277 Bantosan Téknis: www.microchip.com/support Web Alamat: www.microchip.com Atlanta Duluth, GA Telepon: 678-957-9614 Fax: 678-957-1455 Austin, TX Telepon: 512-257-3370 Boston Westborough, MA Telepon: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Telepon: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Telepon: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Telepon: 248-848-4000 Houston, TX Telepon: 281-894-5983 Indianapolis Noblesville, IN Telepon: 317-773-8323 Fax: 317-773-5453 Telepon: 317-536-2380 Los Angeles Misi Viejo, CA Telepon: 949-462-9523 Fax: 949-462-9608 Telepon: 951-273-7800 Raleigh, NC Telepon: 919-844-7510 New York, NY Telepon: 631-435-6000 San Jose, CA Telepon: 408-735-9110 Telepon: 408-436-4270 Kanada - Toronto Telepon: 905-695-1980 Fax: 905-695-2078 |
Australia - Sydney Telepon: 61-2-9868-6733 Cina - Beijing Telepon: 86-10-8569-7000 Cina - Chengdu Telepon: 86-28-8665-5511 Cina - Chongqing Telepon: 86-23-8980-9588 Cina - Dongguan Telepon: 86-769-8702-9880 Cina - Guangzhou Telepon: 86-20-8755-8029 Cina - Hangzhou Telepon: 86-571-8792-8115 Cina - Hongkong SAR Telepon: 852-2943-5100 Cina - Nanjing Telepon: 86-25-8473-2460 Cina - Qingdao Telepon: 86-532-8502-7355 Cina - Shanghai Telepon: 86-21-3326-8000 Cina - Shenyang Telepon: 86-24-2334-2829 Cina - Shenzhen Telepon: 86-755-8864-2200 Cina - Suzhou Telepon: 86-186-6233-1526 Cina - Wuhan Telepon: 86-27-5980-5300 Cina - Xian Telepon: 86-29-8833-7252 Cina - Xiamen Telepon: 86-592-2388138 Cina - Zhuhai Telepon: 86-756-3210040 |
India - Bangalore Telepon: 91-80-3090-4444 India - Cirebon Telepon: 91-11-4160-8631 India - Pune Telepon: 91-20-4121-0141 Jepang - Osaka Telepon: 81-6-6152-7160 Jepang - Tokyo Telepon: 81-3-6880-3770 Koréa - Daégu Telepon: 82-53-744-4301 Koréa - Seoul Telepon: 82-2-554-7200 Malaysia – Kuala Lumpur Telepon: 60-3-7651-7906 Malaysia – Penang Telepon: 60-4-227-8870 Filipina - Manila Telepon: 63-2-634-9065 Singapur Telepon: 65-6334-8870 Taiwan - Hsin Chu Telepon: 886-3-577-8366 Taiwan - Kaohsiung Telepon: 886-7-213-7830 Taiwan - Taipei Telepon: 886-2-2508-8600 Thailand - Bangkok Telepon: 66-2-694-1351 Viétnam - Ho Chi Minh Telepon: 84-28-5448-2100 |
Austria - Wels Telepon: 43-7242-2244-39 Fax: 43-7242-2244-393 Dénmark - Kopenhagen Telepon: 45-4485-5910 Fax: 45-4485-2829 Finlandia - Espoo Telepon: 358-9-4520-820 Perancis - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Jérman - Garching Telepon: 49-8931-9700 Jérman - Haan Telepon: 49-2129-3766400 Jérman - Heilbronn Telepon: 49-7131-72400 Jérman - Karlsruhe Telepon: 49-721-625370 Jérman - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Jérman - Rosenheim Telepon: 49-8031-354-560 Israél - Ra'anana Telepon: 972-9-744-7705 Itali - Milan Telepon: 39-0331-742611 Fax: 39-0331-466781 Itali - Padova Telepon: 39-049-7625286 Walanda - Drunen Telepon: 31-416-690399 Fax: 31-416-690340 Norwégia - Trondheim Telepon: 47-72884388 Polandia - Warsawa Telepon: 48-22-3325737 Romania - Bukares Tel: 40-21-407-87-50 Spanyol - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Swédia - Gothenberg Tel: 46-31-704-60-40 Swédia - Stockholm Telepon: 46-8-5090-4654 Inggris - Wokingham Telepon: 44-118-921-5800 Fax: 44-118-921-5820 |
© 2023 Microchip Technology Inc. sareng anak perusahaan na
DS50003627A –
Dokumén / Sumberdaya
![]() |
MICROCHIP Libero SoC Simulasi Software Perpustakaan [pdf] Pituduh pamaké DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Library Software, Software |