Simulacija Libero SoC
Navodila za namestitev knjižnice
Uvod
Namen tega dokumenta je opisati postopek za nastavitev simulacijskega okolja z uporabo projekta Libero SoC kot vhoda. Ta dokumentacija ustreza vnaprej prevedenim knjižnicam, ki so na voljo za uporabo z Libero SoC v11.9 in novejšimi izdajami programske opreme. Ponujene knjižnice so sestavljene za Verilog. Uporabniki VHDL potrebujejo licenco, ki omogoča mešano simulacijo.
Prevedene simulacijske knjižnice so na voljo za naslednja orodja:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise in Xcelium
- Siemens QuestaSim
- Synopsys VCS
Če želite zahtevati knjižnico za drug simulator, kontaktirajte Tehnična podpora Microchip.
Integracija Libero SoC
Libero SoC podpira simulacijo z uporabo ModelSim ME z generiranjem run.do file. to file ModelSim ME/ModelSim Pro ME uporablja za nastavitev in izvajanje simulacije. Če želite uporabiti druga simulacijska orodja, lahko ustvarite ModelSim ME/ModelSim Pro ME run.do in spremenite skript Tcl file za uporabo ukazov, ki so združljivi z vašim simulatorjem.
1.1 Libero SoC Tcl File generacija (Postavite vprašanje)
Po ustvarjanju in generiranju načrta v Libero SoC zaženite simulacijo ModelSim ME/ModelSim Pro ME v vseh fazah načrtovanja (presynth, postsynth in post-layout). Ta korak ustvari run.do file za ModelSim ME/ModelSim Pro ME za vsako fazo načrtovanja.
Pomembno: Po vsakem zagonu simulacije preimenujte samodejno ustvarjeni run.do file pod imenikom simulacije, da preprečite, da bi Libero SoC to prepisal file. Na primerample, files je mogoče preimenovati v presynth_run.do, postsynth_run.do in postlayout_run.do.
Nastavitev Aldec za Active-HDL in Riviera-Pro (Postavite vprašanje)
Run.do file ki ga uporablja ModelSim ME/ModelSim Pro ME, je mogoče spremeniti in uporabiti za simulacijo s simulatorji Aldec.
2.1 Spremenljivka okolja (Postavite vprašanje)
Spremenljivko okolja nastavite na svojo licenco file lokacija:
LM_LICENSE_FILE: mora vsebovati kazalec na licenčni strežnik.
2.2 Prenos prevedene knjižnice (Postavite vprašanje)
Prenesite knjižnici za Aldec Active-HDL in Aldec Riviera-PRO iz Microchipa webmesto.
2.3 Pretvarjanje run.do za simulacijo Aldec (Postavite vprašanje)
Run.do fileS, ki jih je ustvaril Libero SoC za simulacije z uporabo orodja Active-HDL in Riviera-Pro, je mogoče uporabiti za simulacije z uporabo Active-HDL in Riviera-Pro z eno samo spremembo. Naslednja tabela navaja Aldec-ekvivalentne ukaze za spreminjanje v ModelSim run.do file.
Tabela 2-1. Enakovredni ukazi Aldec
ModelSim | Active-HDL |
vlog | alog |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Sledi kotample run.do v zvezi s simulatorji Aldec.
- Nastavite lokacijo trenutnega delovnega imenika.
nastavite dsn - Nastavite ime delujoče knjižnice, preslikajte njeno lokacijo in nato preslikajte lokacijo družine Microchip FPGA
vnaprej prevedene knjižnice (nprample, SmartFusion2), na katerem izvajate svojo zasnovo.
alib presynth
amap presynth presynth
amap SmartFusion2 - Prevedite vse potrebne HDL filese uporablja pri oblikovanju z zahtevano knjižnico.
alog –delovna predsintetična temp.v (za Verilog)
alog –preizkusna miza za predsintetično delo.v
acom –work presynth temp.vhd (za Vhdl)
acom –work presynth testbench.vhd - Simulirajte dizajn.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
teči 10us
2.4 Znane težave (Postavite vprašanje)
V tem razdelku so navedene znane težave in omejitve.
- Knjižnice, prevedene z uporabo Riviera-PRO, so specifične za platformo (tj. 64-bitnih knjižnic ni mogoče izvajati na 32-bitni platformi in obratno).
- Za modele, ki vsebujejo SERDES/MDDR/FDDR, uporabite naslednjo možnost v vašem run.do files med izvajanjem simulacij po sestavljanju njihovih načrtov:
– Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (za predsintetske simulacije in simulacije po postavitvi) in asim –O5 (za simulacije po postavitvi)
Nastavitev Aldec za Active-HDL in Riviera-Pro ima naslednje čakajoče SAR. Za več informacij kontaktirajte Tehnična podpora Microchip. - SAR 49908 – Active-HDL: Napaka VHDL za simulacije matematičnega bloka
- SAR 50627 – Riviera-PRO 2013.02: Simulacijske napake za modele SERDES
- SAR 50461 – Riviera-PRO: možnost asim -O2/-O5 v simulacijah
Nastavitev Cadence Incisive (Postavite vprašanje)
Ustvariti morate skript file podobno kot ModelSim ME/ModelSim Pro ME run.do za zagon
Simulator Cadence Incisive. Sledite tem korakom in ustvarite skript file za NCSim ali uporabite skript file
na voljo za pretvorbo ModelSim ME/ModelSim Pro ME run.do files v konfiguracijo files
potreben za izvajanje simulacij z uporabo NCSim.
Pomembno: kadenca je prenehal izdajati nove različice Incisive Enterprise
simulator in začel podpirati simulator Xcelium.
3.1 Spremenljivke okolja (Postavite vprašanje)
Če želite zagnati simulator Cadence Incisive, konfigurirajte naslednje spremenljivke okolja:
- LM_LICENSE_FILE: mora vsebovati kazalec na licenco file.
- cds_root: mora kazati na lokacijo domačega imenika namestitve Cadence Incisive.
- PATH: mora kazati na lokacijo koša pod imenikom orodij, na katerega kaže cds_root, to je,
$cds_root/tools/bin/64bit (za 64-bitni stroj in $cds_root/tools/bin za 32-bitni stroj).
Obstajajo trije načini nastavitve simulacijskega okolja v primeru preklopa med 64-bitnim in 32-bitnim operacijskim sistemom:
Primer 1: spremenljivka PATH
Zaženite naslednji ukaz:
set path = (install_dir/tools/bin/64bit $path) za 64-bitne stroje in
set path = (install_dir/tools/bin $path) za 32-bitne stroje
2. primer: uporaba možnosti ukazne vrstice -64bit
V ukazni vrstici podajte možnost -64bit, da prikličete 64-bitno izvršljivo datoteko.
Primer 3: Nastavitev spremenljivke okolja INCA_64BIT ali CDS_AUTO_64BIT
Spremenljivka INCA_64BIT se obravnava kot logična vrednost. To spremenljivko lahko nastavite na poljubno vrednost ali na ničelni niz.
setenv INCA_64BIT
Pomembno: The Spremenljivka okolja INCA_64BIT ne vpliva na druga orodja Cadence, kot so orodja IC. Vendar pa za orodja Incisive spremenljivka INCA_64BIT preglasi nastavitev za spremenljivko okolja CDS_AUTO_64BIT. Če je nastavljena spremenljivka okolja INCA_64BIT, se vsa orodja Incisive izvajajo v 64-bitnem načinu. setenv CDS_AUTO_64BIT INCLUDE:INCA
Pomembno: The niz INCA mora biti v velikih črkah. Vse izvršljive datoteke je treba izvajati v 32-bitnem ali 64-bitnem načinu, ne nastavite spremenljivke tako, da vključuje eno izvršljivo datoteko, kot je prikazano v naslednjem:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Druga orodja Cadence, kot so orodja IC, prav tako uporabljajo spremenljivko okolja CDS_AUTO_64BIT za nadzor izbire 32-bitnih ali 64-bitnih izvršljivih datotek. Naslednja tabela prikazuje, kako lahko nastavite spremenljivko CDS_AUTO_64BIT za zagon orodij Incisive in orodij IC v vseh načinih.
Tabela 3-1. CDS_AUTO_64BIT Spremenljivke
CDS_AUTO_64BIT spremenljivka | Incisive Tools | IC orodja |
setenv CDS_AUTO_64BIT VSE | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT NI | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT IZKLJUČI:ic_binarni | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bit | 64 bit |
Pomembno: Vsa orodja Incisive je treba zagnati v 32-bitnem ali 64-bitnem načinu, ne uporabite EXCLUDE, da izključite določeno izvršljivo datoteko, kot v naslednjem: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Če nastavite spremenljivko CDS_AUTO_64BIT, da izključi orodja Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), se vsa orodja Incisive izvajajo v 32-bitnem načinu. Vendar možnost ukazne vrstice -64bit preglasi spremenljivko okolja.
Naslednja konfiguracija filevam pomaga pri upravljanju vaših podatkov in nadzoru delovanja simulacijskih orodij in pripomočkov:
- Kartiranje knjižnic file (cds.lib)—Določi logično ime za lokacijo vašega dizajna.
- Knjižnice in jih povezuje z imeni fizičnih imenikov.
- Spremenljivke file (hdl.var)—Definira spremenljivke, ki vplivajo na obnašanje simulacijskih orodij in pripomočkov.
3.2 Prenos prevedene knjižnice (Postavite vprašanje)
Prenesite knjižnice za Cadence Incisive iz podjetja Microsemi webmesto.
3.3 Ustvarjanje skripte NCSim File (Postavite vprašanje)
Po ustvarjanju kopije run.do files, izvedite te korake za zagon simulacije z NCSim:
- Ustvarite cds.lib file ki določa knjižnice, ki so dostopne, in njihovo lokacijo. The file vsebuje stavke, ki preslikajo logična imena knjižnic v njihove poti fizičnega imenika. Na primerample, če izvajate simulacijo presynth, cds.lib file je zapisan, kot je prikazano v naslednjem kodnem bloku.
DEFINE presynth ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIRAJTE smartfusion2 - Ustvarite hdl.var file, neobvezna konfiguracija file ki vsebuje konfiguracijske spremenljivke, ki določajo, kako je konfigurirano vaše načrtovalsko okolje. Naslednja spremenljivka fileso vključeni:
– Spremenljivke, ki se uporabljajo za podajanje delovne knjižnice, kjer prevajalnik shranjuje prevedene objekte in druge izpeljane podatke.
– Za Verilog, spremenljivke (LIB_MAP, VIEW_MAP, WORK), ki se uporabljajo za določanje knjižnic in views za iskanje, ko elaborator razreši primere.
– Spremenljivke, ki vam omogočajo definiranje možnosti in argumentov ukazne vrstice prevajalnika, elaboratorja in simulatorja.
V primeru predsintetične simulacije nprampprikazano zgoraj, recimo, da imamo tri RTL files: av, bv in testbench.v, ki jih je treba prevesti v knjižnice presynth, COREAHBLITE_LIB oziroma presynth. hdl.var file lahko zapišete, kot je prikazano v naslednjem kodnem bloku.
DEFINIRAJTE DELO presynth
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
DEFINIRAJ 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) - Sestavite dizajn filez uporabo možnosti ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Izdelajte dizajn z uporabo ncelaba. Elaborator sestavi načrtovalsko hierarhijo na podlagi instanciranja in konfiguracijskih informacij v dizajnu, vzpostavi signalno povezljivost in izračuna začetne vrednosti za vse objekte v dizajnu. Izdelana hierarhija načrtovanja je shranjena v posnetku simulacije, ki je predstavitev vašega načrta, ki ga simulator uporablja za izvajanje simulacije.
ncelab –Sporočilo –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
dostop +rwc –status worklib. :modul
Izdelava med simulacijo po postavitvi
V primeru simulacij po postavitvi najprej SDF file je treba prevesti pred izdelavo z ukazom ncsdfc.
ncsdfcfileime>.sdf –izhodfileime>.sdf.X
Med izdelavo uporabite prevedeni izhod SDF z možnostjo –autosdf, kot je prikazano v naslednjem bloku kode.
ncelab -autosdf –Sporočilo –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –dostop +rwc –status worklib. :modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file mora biti, kot je prikazano v naslednjem kodnem bloku.
COMPILED_SDF_FILE = “ file>” - Simulirajte z uporabo ncsim. Po izdelavi se ustvari simulacijski posnetek, ki ga naloži ncsim za simulacijo. Zaženete lahko v paketnem ali GUI načinu.
ncsim –Sporočilo –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –status worklib. :modul
Pomembno: Vse zgornje tri korake prevajanja, izdelave in simulacije je mogoče dati v lupinski skript file in izvira iz ukazne vrstice. Namesto uporabe teh treh korakov je mogoče načrt simulirati v enem koraku z uporabo možnosti ncverilog ali irun, kot je prikazano v naslednjem bloku kode.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileuporabljeni pri oblikovanju>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
uporabljen pri oblikovanju>
3.3.1 Znane težave (Postavite vprašanje)
Nadomestna rešitev za Testbench
Uporaba naslednjega stavka za določanje taktne frekvence v preskusni napravi, ki jo ustvari uporabnik, ali privzeti preskusni napravi, ki jo ustvari Libero SoC, ne deluje z NCSim.
vedno @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Za zagon simulacije spremenite naslednje:
vedno #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Pomembno: Prevedeno knjižnice za NCSim so specifične za platformo (tj. 64-bitne knjižnice niso združljive z 32-bitno platformo in obratno).
Simulacije postsynth in post-postavitev z uporabo MSS in SERDES Med izvajanjem postsynth simulacij zasnov, ki vsebujejo blok MSS, ali simulacij za po postavitvi zasnov z uporabo SERDES, simulacije BFM ne delujejo, če je možnost –libmap
med izdelavo ni določeno. To je zato, ker se med izdelavo MSS razreši iz delovne knjižnice (zaradi privzete vezave in delovne knjižnice, ki je postsynth/post-layout), kjer je samo fiksna funkcija.
Ukaz ncelab mora biti zapisan, kot je prikazano v naslednjem bloku kode, da razrešite MSS
blok iz predhodno prevedene knjižnice SmartFusion2.
ncelab -libmap lib.map -libverbose -Sporočilo -dostop +rwc cfg1
in lib.map file mora biti takole:
konfiguracija cfg1;
oblikovanje ;
privzeti seznam seznamov smartfusion2 ;
endconfig
To razreši katero koli celico v knjižnici SmartFusion2, preden pogleda v delovno knjižnico, tj. postsynth/post-layout.
Možnost –libmap je mogoče privzeto uporabiti med izdelavo za vsako simulacijo (presynth, postsynth in post-layout). S tem se izognete težavam s simulacijo, ki nastanejo zaradi razreševanja primerkov iz knjižnic.
ncelab: *F,INTERR: NOTRANJA IZJEMA
Ta izjema orodja ncelab je opozorilo za načrte, ki vsebujejo FDDR v SmartFusion 2 in IGLOO 2 med simulacijami postsynth in post-layout z uporabo možnosti –libmap.
Pomembno: Ta težava je bila prijavljena ekipi za podporo Cadence (SAR 52113).
3.4 Sample Tcl in Shell Script Files (Postavite vprašanje)
Naslednji files so konfiguracija fileje potreben za nastavitev načrta in lupinskega skripta file za izvajanje ukazov NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINIRAJTE DELO 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/core/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 )
DEFINIRAJ 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 )
DEFINIRAJ 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 -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_masterstagstarost
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagstarost
../../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 -Sporočilo -cdslib ./cds.lib -hdlvar ./hdl.var
-delovni presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Sporočilo -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
3.5 Avtomatizacija (Postavite vprašanje)
Naslednji scenarij file pretvori modelSim run.do files v konfiguracijo filepotrebni za izvajanje simulacij z uporabo NCSim.
Skripta File Uporaba
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Lokacija_predhodno prevedenih_knjižnic_cadence
Cadence_parser.pl
#!/usr/bin/perl -w
##################################################### ###############################################
###################
#Uporaba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
##################################################### ###############################################
###################
uporabite POSIX;
uporabite strogo;
moj ($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 {
moj $ModelSim_run_do = $_[0];
moja $actel_family = $_[1];
moja $lib_location = $_[2];
moje $stanje;
if ( -e “$ModelSim_run_do” )
{
odprto (INFILE,”$ModelSim_run_do”);
moj @ModelSim_run_do =FILE>;
moja $vrstica;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
odprt (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$stanje = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
odprt (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stanje = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/)
{
`mkdir QUESTA_POSTLAYOUT`;
odprt (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stanje = $1;
} drugo
{
natisni »Napačni vnosi za file\n”;
print “#Uporaba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokacija_knjižnic\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Splošne operacije
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#natisnitiFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
natisnitiFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
natisnitiFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
natisnitiFILE “$line \n”;
} drugo
{
natisnitiFILE “$line \n”;
}
}
zapri (INFILE);
zaprtoFILE);
} drugače {
natisni “$ModelSim_run_do ne obstaja. Ponovno zaženi simulacijo \n”;
}
}
Nastavitev Cadence Xcelium (Microchip Prijava)
Ustvariti morate skript file podobno kot ModelSim ME/ModelSim Pro ME run.do za zagon simulatorja Cadence Xcelium. Sledite tem korakom in ustvarite skript file za Xcelium ali uporabite skript file na voljo za pretvorbo ModelSim ME/ModelSim Pro ME run.do files v konfiguracijo filepotrebni za izvajanje simulacij z uporabo Xceliuma.
4.1 Spremenljivke okolja (Postavite vprašanje)
Če želite zagnati Cadence Xcelium, konfigurirajte naslednje spremenljivke okolja:
- LM_LICENSE_FILE: mora vsebovati kazalec na licenco file.
- cds_root: mora kazati na lokacijo domačega imenika namestitve Cadence Incisive.
- POT: mora kazati na lokacijo koša pod imenikom orodij, na katerega kaže cds_root (tj
$cds_root/tools/bin/64bit (za 64-bitni stroj in $cds_root/tools/bin za 32-bitni stroj
stroj).
Obstajajo trije načini nastavitve simulacijskega okolja v primeru preklopa med 64-bitnim in 32-bitnim operacijskim sistemom:
Primer 1: spremenljivka PATH
set path = (install_dir/tools/bin/64bit $path) za 64-bitne stroje in
set path = (install_dir/tools/bin $path) za 32-bitne stroje
2. primer: uporaba možnosti ukazne vrstice -64bit
V ukazni vrstici podajte možnost -64bit, da prikličete 64-bitno izvršljivo datoteko.
Primer 3: Nastavitev spremenljivke okolja INCA_64BIT ali CDS_AUTO_64BIT
Spremenljivka INCA_64BIT se obravnava kot logična vrednost. To spremenljivko lahko nastavite na katero koli vrednost ali na nič
niz.
setenv INCA_64BIT
Pomembno: The Spremenljivka okolja INCA_64BIT ne vpliva na druga orodja Cadence, kot so orodja IC. Vendar pa za orodja Incisive spremenljivka INCA_64BIT preglasi nastavitev za spremenljivko okolja CDS_AUTO_64BIT. Če je spremenljivka okolja INCA_64BIT et, se vsa orodja Incisive izvajajo v 64-bitnem načinu.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Pomembno: The niz INCA mora biti v velikih črkah. Vse izvršljive datoteke je treba izvajati v 2-bitnem ali 64-bitnem načinu, ne nastavite spremenljivke tako, da vključuje eno izvršljivo datoteko, kot je prikazano v naslednjem:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Druga orodja Cadence, kot so orodja IC, prav tako uporabljajo spremenljivko okolja CDS_AUTO_64BIT za nadzor izbire 32-bitnih ali 64-bitnih izvršljivih datotek. Naslednja tabela prikazuje, kako lahko nastavite spremenljivko CDS_AUTO_64BIT za zagon orodij Incisive in orodij IC v vseh načinih.
Tabela 4-1. CDS_AUTO_64BIT Spremenljivke
CDS_AUTO_64BIT spremenljivka | Incisive Tools | IC orodja |
setenv CDS_AUTO_64BIT VSE | 64-bitni | 64-bitni |
setenv CDS_AUTO_64BIT NI | 32-bitni | 32-bitni |
setenv CDS_AUTO_64BIT IZKLJUČI: ic_binary |
64-bitni | 32-bitni |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32-bitni | 64-bitni |
Pomembno: Vsa orodja Incisive je treba zagnati v 32-bitnem ali 64-bitnem načinu, ne uporabite EXCLUDE, da izključite določeno izvršljivo datoteko, kot v naslednjem:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Če spremenljivko CDS_AUTO_64BIT nastavite tako, da izključi orodja Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), se vsa orodja Incisive izvajajo v 32-bitnem načinu. Vendar pa je
-64-bitna možnost ukazne vrstice preglasi spremenljivko okolja.
Naslednja konfiguracija filevam pomaga pri upravljanju vaših podatkov in nadzoru delovanja simulacijskih orodij in pripomočkov:
- Kartiranje knjižnic file (cds.lib) definira logično ime za lokacijo vašega dizajna.
- Knjižnice in jih povezuje z imeni fizičnih imenikov.
- Spremenljivke file (hdl.var) definira spremenljivke, ki vplivajo na obnašanje simulacijskih orodij in pripomočkov.
4.2 Prenos prevedene knjižnice (Postavite vprašanje)
Prenesite knjižnice za Cadence Xcelium iz podjetja Microsemi webmesto.
4.3 Ustvarjanje skripta Xcelium file (Postavite vprašanje)
Po ustvarjanju kopije run.do files, izvedite naslednje korake za zagon simulacije s skriptom Xcelium file.
- Ustvarite cds.lib file ki določa, katere knjižnice so dostopne in kje se nahajajo.
The file vsebuje stavke, ki preslikajo logična imena knjižnic v njihove poti fizičnega imenika. Na primerample, če izvajate simulacijo presynth, cds.lib file lahko zapišete, kot je prikazano v naslednjem kodnem bloku.
DEFINE presynth ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIRAJTE smartfusion2 - Ustvarite hdl.var file kar je neobvezna konfiguracija file ki vsebuje konfiguracijske spremenljivke, ki določajo, kako je konfigurirano vaše načrtovalsko okolje. Tej vključujejo:
– Spremenljivke, ki se uporabljajo za podajanje delovne knjižnice, kjer prevajalnik shranjuje prevedene objekte in druge izpeljane podatke.
– Za Verilog, spremenljivke (LIB_MAP, VIEW_MAP, WORK), ki se uporabljajo za določanje knjižnic in views za iskanje, ko elaborator razreši primere.
– Spremenljivke, ki vam omogočajo definiranje možnosti in argumentov ukazne vrstice prevajalnika, elaboratorja in simulatorja.
V primeru predsintetične simulacije nprampprikazano zgoraj, recimo, da imamo 3 RTL files av, bv in testbench.v, ki jih je treba prevesti v knjižnice presynth, COREAHBLITE_LIB oziroma presynth. hdl.var file lahko zapišete, kot je prikazano v naslednjem kodnem bloku.
DEFINIRAJTE DELO presynth
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
DEFINIRAJ 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) - Sestavite dizajn filez uporabo možnosti ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Izdelajte dizajn z uporabo ncelaba. Elaborator sestavi načrtovalsko hierarhijo na podlagi instanciranja in konfiguracijskih informacij v dizajnu, vzpostavi signalno povezljivost in izračuna začetne vrednosti za vse objekte v dizajnu. Izdelana hierarhija načrtovanja je shranjena v posnetku simulacije, ki je predstavitev vašega načrta, ki ga simulator uporablja za izvajanje simulacije.
Xcelium –Sporočilo –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
dostop +rwc –status worklib. :modul
Izdelava med simulacijo po postavitvi
V primeru simulacij po postavitvi najprej SDF file je treba prevesti pred izdelavo z ukazom ncsdfc.
Xceliumfileime>.sdf –izhodfileime>.sdf.X
Med izdelavo uporabite prevedeni izhod SDF z možnostjo –autosdf, kot je prikazano v naslednjem bloku kode.
xmelab -autosdf –Sporočilo –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –dostop +rwc –status worklib. :modul –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file mora biti, kot je prikazano v naslednjem kodnem bloku.
COMPILED_SDF_FILE = “ file>” - Simulirajte z uporabo Xceliuma. Po izdelavi se ustvari simulacijski posnetek, ki ga Xcelium naloži za simulacijo. To je mogoče izvajati v paketnem načinu ali načinu GUI.
xmsim –Sporočilo –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –status worklib. :modul
Nastavitev Cadence Xcelium
Pomembno: Vse zgornje tri korake prevajanja, izdelave in simulacije je mogoče dati v lupinski skript file in izvira iz ukazne vrstice. Namesto uporabe teh treh korakov je mogoče načrt simulirati v enem koraku z uporabo možnosti ncverilog ali xrun, kot je prikazano v naslednjem bloku kode.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileuporabljeni pri oblikovanju>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
uporabljen pri oblikovanju>
4.3.1 Znane težave (Postavite vprašanje)
Nadomestna rešitev za Testbench
Uporaba naslednje izjave za določanje taktne frekvence v preskusni napravi, ki jo ustvari uporabnik, ali privzeti preskusni napravi, ki jo ustvari Libero SoC, ne deluje z Xceliumom.
vedno @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Za zagon simulacije spremenite naslednje:
vedno #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Pomembno: Prevedene knjižnice za Xcelium so specifične za platformo (tj. 64-bitne knjižnice niso združljive z 32-bitno platformo in obratno).
Postsynth in post-layout simulacije z uporabo MSS in SERDES
Med izvajanjem postsintetičnih simulacij načrtov, ki vsebujejo blok MSS, ali simulacij post-postavitve načrtov z uporabo SERDES, simulacije BFM ne delujejo, če možnost –libmap ni navedena med izdelavo. To je zato, ker se med izdelavo MSS razreši iz delovne knjižnice (zaradi privzete vezave in delovne knjižnice, ki je postsynth/post-layout), kjer je samo fiksna funkcija.
Ukaz ncelab je treba zapisati, kot je prikazano v naslednjem bloku kode, da razrešite blok MSS iz vnaprej prevedene knjižnice SmartFusion2.
xmelab -libmap lib.map -libverbose -Sporočilo -dostop +rwc cfg1
in lib.map file mora biti takole:
konfiguracija cfg1;
oblikovanje ;
privzeti seznam seznamov smartfusion2 ;
endconfig
To mora razrešiti katero koli celico v knjižnici SmartFusion2, preden pogleda v delovno knjižnico, tj. postsynth/post-layout.
Možnost –libmap je mogoče privzeto uporabiti med izdelavo za vsako simulacijo (presynth, postsynth in post-layout). S tem se izognete težavam s simulacijo, ki nastanejo zaradi razreševanja primerkov iz knjižnic.
xmelab: *F,INTERR: NOTRANJA IZJEMA
Ta izjema orodja ncelab je opozorilo za modele, ki vsebujejo FDDR v SmartFusion2 in IGLOO2
med simulacijami postsynth in post-layout z uporabo možnosti –libmap.
Pomembno: Ta težava je bila prijavljena ekipi za podporo Cadence (SAR 52113).
4.4 Sample Tcl in lupinski skript files (Postavite vprašanje)
Naslednji files so konfiguracija fileje potreben za nastavitev načrta in lupinskega skripta file za izvajanje ukazov Xcelium.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINIRAJTE DELO 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/core/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 )
DEFINIRAJ 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 )
DEFINIRAJ 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 -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_masterstagstarost
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagstarost
../../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 -Sporočilo -cdslib ./cds.lib -hdlvar ./hdl.var
-delovni presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Sporočilo -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modul
4.5 Avtomatizacija (Microchip Prijava)
Naslednji scenarij file pretvori ModelSim run.do files v konfiguracijo filepotrebni za izvajanje simulacij z uporabo Xceliuma.
Skripta File Uporaba
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Lokacija_predhodno prevedenih_knjižnic_cadence
Cadence_parser.pl
#!/usr/bin/perl -w
##################################################### ###############################################
###################
#Uporaba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
##################################################### ###############################################
###################
uporabite POSIX;
uporabite strogo;
moj ($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 {
moj $ModelSim_run_do = $_[0];
moja $actel_family = $_[1];
moja $lib_location = $_[2];
moje $stanje;
if ( -e “$ModelSim_run_do” )
{
odprto (INFILE,”$ModelSim_run_do”);
moj @ModelSim_run_do =FILE>;
moja $vrstica;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
odprt (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$stanje = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
odprt (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stanje = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/)
{
`mkdir QUESTA_POSTLAYOUT`;
odprt (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stanje = $1;
} drugo
{
natisni »Napačni vnosi za file\n”;
print “#Uporaba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokacija_knjižnic\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Splošne operacije
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#natisnitiFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
natisnitiFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
natisnitiFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
natisnitiFILE “$line \n”;
} drugo
{
natisnitiFILE “$line \n”;
}
}
zapri (INFILE);
zaprtoFILE);
} drugače {
natisni “$ModelSim_run_do ne obstaja. Ponovno zaženi simulacijo \n”;
}
}
Siemens QuestaSim Setup/ModelSim Setup (Postavite vprašanje)
Run.do files, ki jih je ustvaril Libero SoC za simulacije z uporabo ModelSim Microsemi Editions, je mogoče uporabiti za simulacije z uporabo QuestaSim/ModelSim SE/DE/PE z eno samo spremembo. V programu ModelSim ME/ModelSim Pro ME run.do file, je treba spremeniti lokacijo vnaprej prevedenih knjižnic.
Pomembno:
Simulacijsko orodje, ki ni ModelSim Pro ME, privzeto izvaja optimizacijo zasnove med simulacijo, ki lahko vpliva na vidnost artefaktov simulacije, kot so objekti zasnove in vhodni dražljaji.
To je običajno koristno pri skrajšanju izvajalnega časa simulacije za kompleksne simulacije z uporabo podrobnih testnih miz za samopreverjanje. Vendar pa privzete optimizacije morda ne bodo primerne za vse simulacije, zlasti v primerih, ko pričakujete, da boste rezultate simulacije grafično pregledali z uporabo valovnega okna.
Če želite odpraviti težave, ki jih povzroča ta optimizacija, morate med simulacijo dodati ustrezne ukaze in povezane argumente, da obnovite vidnost v načrtu. Za ukaze, specifične za orodje, glejte dokumentacijo simulatorja v uporabi.
5.1 Spremenljivke okolja (Postavite vprašanje)
Sledijo zahtevane spremenljivke okolja.
- LM_LICENSE_FILE: mora vsebovati pot do licence file.
- MODEL_TECH: mora identificirati pot do lokacije domačega imenika namestitve QuestaSim.
- PATH: mora kazati na izvedljivo lokacijo, ki jo kaže MODEL_TECH.
5.2 Pretvarjanje run.do za Mentor QuestaSim (Postavite vprašanje)
Run.do filegenerira Libero SoC za simulacije z uporabo ModelSim Microsemi Editions je mogoče uporabiti za simulacije z uporabo QuestaSim/ModelSim_SE z eno samo spremembo.
Pomembno: Vse modeli, ki so simulirani z uporabo QuestaSim, morajo vključevati -novopt
možnost skupaj z ukazom vsim v skriptu run.do files.
5.3 Prenesite prevedeno knjižnico (Postavite vprašanje)
Prenesite knjižnice za Mentor Graphics QuestaSim iz podjetja Microsemi webmesto.
Nastavitev Synopsys VCS (Postavite vprašanje)
Tok, ki ga priporoča Microsemi, se opira na tok Elaborate and Compile v VCS. Ta dokument vključuje skript file ki uporablja skript run.do files generira Libero SoC in ustvari nastavitev fileje potreben za simulacijo VCS. Scenarij file uporablja run.do file storiti naslednje.
- Ustvarite preslikavo knjižnice file, ki se izvede z uporabo synopsys_sim.setup file ki se nahaja v istem imeniku, kjer se izvaja simulacija VCS.
- Ustvarite lupinski skript file za izdelavo in sestavljanje vašega dizajna z uporabo VCS.
6.1 Spremenljivke okolja (Postavite vprašanje)
Nastavite ustrezne spremenljivke okolja za VCS glede na vaše nastavitve. Spremenljivke okolja, potrebne v skladu z dokumentacijo VCS, so:
- LM_LICENSE_FILE: mora vsebovati kazalec na licenčni strežnik.
- VCS_HOME: mora kazati na lokacijo domačega imenika namestitve VCS.
- PATH: mora vsebovati kazalec na imenik bin pod imenikom VCS_HOME.
6.2 Prenos prevedene knjižnice (Postavite vprašanje)
Prenesite knjižnice za Synopsys VCS iz podjetja Microsemi webmesto.
6.3 Skript za simulacijo VCS File (Postavite vprašanje)
Po nastavitvi VCS in generiranju zasnove ter drugačnega run.do files iz Libero SoC, morate:
- Ustvarite preslikavo knjižnice file synopsys_sim.setup; to file vsebuje kazalce na lokacijo vseh knjižnic, ki jih bo načrt uporabljal.
Pomembno: The file ime se ne sme spremeniti in nahajati se mora v istem imeniku, kjer se izvaja simulacija. Tukaj je bivšiample za tako file za simulacijo predsinteze.
DELO > NAPAKA
SmartFusion2:
presynth : ./presynth
PRIVZETO: ./delo - Izdelajte drugačen dizajn files, vključno s preskusno mizo, z uporabo ukaza vlogan v VCS. Ti ukazi so lahko vključeni v lupinski skript file. Sledi bivšiampdatoteko ukazov, ki so potrebni za izdelavo načrta, definiranega v rtl.v, z njegovo preskusno mizo, definirano v
testbench.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Prevedite načrt z uporabo VCS z naslednjim ukazom.
vcs –sim_res=1fs presynth.testbench
Opomba: The za pravilno funkcionalno simulacijo mora biti časovna ločljivost simulacije nastavljena na 1f. - Ko je načrt preveden, zaženite simulacijo z naslednjim ukazom.
./simv - Za povratno označeno simulacijo mora biti ukaz VCS tak, kot je prikazan v naslednjem kodnem bloku.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
ime>: file pot> –gui –l postlayout.log
6.4 Omejitve/izjeme (Postavite vprašanje)
Spodaj so navedene omejitve/izjeme nastavitve Synopsys VCS.
- Simulacije VCS se lahko izvajajo samo za projekte Verilog Libero SoC. Simulator VCS ima stroge jezikovne zahteve VHDL, ki jih samodejno generirani VHDL Libero SoC ne izpolnjuje files.
- V preskusni napravi Verilog morate imeti stavek $finish, da ustavite simulacijo, kadar koli želite.
Pomembno: kdaj simulacije se izvajajo v načinu GUI, čas izvajanja je mogoče določiti v GUI.
6.5 Sample Tcl in Shell Script Files (Postavite vprašanje)
Naslednji Perl avtomatizira generiranje datoteke synopsys_sim.setup file kot tudi ustrezen lupinski skript fileje potrebno za izdelavo, sestavljanje in simulacijo načrta.
Če načrt uporablja MSS, kopirajte test.vec file ki se nahaja v simulacijski mapi projekta Libero SoC v simulacijsko mapo VCS. Naslednji razdelki vsebujejo sample run.do filegenerira Libero SoC, vključno z ustreznim preslikavo knjižnice in lupinskim skriptom fileje potreben za simulacijo VCS.
6.5.1 Predsinteza (Postavite vprašanje)
Presynth_run.do
tiho nastavite ACTELLIBNAME SmartFusion2
tiho nastavite PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF”
če {[file obstaja presynth/_info]} {
echo “INFO: simulacijska knjižnica presynth že obstaja”
} drugače {
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” -delovni predsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
dodaj val /SD1_TB1/*
dodaj dnevnik -r /*
teči 1000ns
presynth_main.csh
#!/bin/csh -f
nastavite 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/
delo/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -delo
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
DELO > PRIVZETO
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
PRIVZETO: ./delo
6.5.2 Postsinteza (Postavite vprašanje)
postsynth_run.do
tiho nastavite ACTELLIBNAME SmartFusion2
tiho nastavite PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF”
če {[file obstaja postsynth/_info]} {
echo “INFO: Simulacijska knjižnica postsynth že obstaja”
} drugače {
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” -delovni postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
dodaj val /SD1_TB1/*
dodaj dnevnik -r /*
teči 1000ns
dnevnik SD1_TB1/*
izhod
Postsynth_main.csh
#!/bin/csh -f
nastavite 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” -delo
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
DELO > PRIVZETO
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
PRIVZETO: ./delo
6.5.3 Naknadna postavitev (Postavite vprašanje)
postlayout_run.do
tiho nastavite ACTELLIBNAME SmartFusion2
tiho nastavite PROJECT_DIR “E:/ModelSim_Work/Test_DFF”
če {[file obstaja ../designer/SD1/simulation/postlayout/_info]} {
echo »INFO: Simulacijska knjižnica ../designer/SD1/simulation/postlayout že obstaja«
} drugače {
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” -delovna 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
dodaj val /SD1_TB1/*
dodaj dnevnik -r /*
teči 1000ns
Postlayout_main.csh
#!/bin/csh -f
nastavite PROJECT_DIR = “/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -delovna postavitev “${PROJECT_DIR}/
oblikovalec/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -delo
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
DELO > PRIVZETO
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
PRIVZETO: ./workVCS
6.6 Avtomatizacija (Postavite vprašanje)
Tok je mogoče avtomatizirati z naslednjim skriptom Perl file za pretvorbo modela ModelSim run.do files v lupinski skript, združljiv z VCS files, ustvarite ustrezne imenike znotraj simulacijskega imenika Libero SoC in nato zaženite simulacije.
Zaženite skript file z naslednjo sintakso.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
##################################################### ##############################
#
#Uporaba: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
##################################################### ###############################
moj ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(“mkdir VCS_Presynth”)) {print “mkdir ni uspel:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir ni uspel:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir ni uspel:\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 {
moj $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
moj %LIB = ();
moj $file = $_[0] ;
moje $stanje = $_[1];
odprto (INFILE,”$file”) || die “Ne morem odpreti File Razlog je lahko:$!”;
if ($state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || die “Ne morem ustvariti ukaza File Razlog je lahko:$!”;
}
elsif ($state eq “postsynth”)
{
odpri (OUT1,”>postsynth_main.csh”) || die “Ne morem ustvariti ukaza File Razlog je lahko:$!”;
}
elsif ($state eq “postlayout”)
{
open(OUT1,”>postlayout_main.csh”) || die “Ne morem ustvariti ukaza File Razlog je lahko:$!”;
}
drugače
{
print “Stanje simulacije manjka \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || die “Ne morem ustvariti ukaza File Razlog je lahko:$!”;
# .csh file
natisni OUT1 “#!/bin/csh -f\n\n\n” ;
#NASTAVITI FILE
print OUT2 “WORK > DEFAULT\n” ;
natisni OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
medtem ko ($line =FILE>)
{
Namestitev Synopsys VCS
if ($line =~ m/tiho nastavljen PROJECT_DIR\s+\”(.*?)\”/)
{
print 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;
natisni OUT1 “$line\n”;
}
elsif (($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = 1 $;
$tb =~ s/ //g;
chomp ($tb);
#print “Ime TB: $tb \n”;
če ($line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$vrstica = $1;
#print “LINE : $line \n” ;
če ($line =~ m/max/)
{
$line =~ s/max \/// ;
$vrstica =~ s/=/:/;
natisni 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 ($line =~ m/min/)
{
$line =~ s/min \/// ;
$vrstica =~ s/=/:/;
natisni 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 ($vrstica =~ m/tip/)
{
$vrstica =~ s/tip \/// ;
$vrstica =~ s/=/:/;
natisni OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
tip:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Format SDF ModelSim
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
format SDF
}
}
}
tiskanje
OUT1 “\n\n”
;
if
( $state eq “presynth”
)
{
tiskanje
OUT2 “presynth
: ./presynth\n”
;
tiskanje
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postsynth”
)
{
tiskanje
OUT2 “postsynth
: ./postsynth\n”
;
tiskanje
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postlayout”
)
{
natisni OUT2 “postlayout : ./postlayout\n” ;
}
drugače
{
print “Stanje simulacije manjka \n” ;
}
foreach $i ( ključi %LIB)
{
#print “Ključ: $i Vrednost: $LIB{$i} \n” ;
natisni OUT2 “$i : ./$i\n” ;
}
natisni OUT1 “\n\n” ;
natisni OUT1 “./simv -l run.log\n” ;
natisni OUT2 “PRIVZETO : ./delo\n” ;
zapri INFILE;
zapri OUT1;
zapri OUT2;
}
Pregled zgodovine (Microchip Prijava
Zgodovina revizij opisuje spremembe, ki so bile izvedene v dokumentu. Spremembe
so navedeni po reviziji, začenši z najnovejšo objavo.
Revizija | Datum | Opis |
A | 12/2023 | V tej reviziji so narejene naslednje spremembe: • Dokument pretvorjen v predlogo Microchip. Začetna revizija. • Posodobljen razdelek 5. Siemens QuestaSim Setup/ModelSim Setup vključuje novo opombo, ki pojasnjuje vpliv na vidnost med simulacijo in optimizacijo. |
Podpora za Microchip FPGA
Skupina izdelkov Microchip FPGA podpira svoje izdelke z različnimi podpornimi storitvami, vključno s storitvami za stranke, centrom za tehnično podporo strankam, webspletno mesto in prodajne pisarne po vsem svetu.
Strankam priporočamo, da obiščejo Microchipove spletne vire, preden stopijo v stik s podporo, saj je zelo verjetno, da so na njihova vprašanja že odgovorili.
Obrnite se na center za tehnično podporo prek webspletno mesto na www.microchip.com/support. Navedite številko dela naprave FPGA, izberite ustrezno kategorijo ohišja in naložite načrt files med ustvarjanjem primera tehnične podpore.
Obrnite se na službo za stranke za netehnično podporo za izdelke, kot so cene izdelkov, nadgradnje izdelkov, informacije o posodobitvah, status naročila in avtorizacija.
- Iz Severne Amerike pokličite 800.262.1060
- Iz preostalega sveta pokličite 650.318.4460
- Faks, od koder koli na svetu, 650.318.8044
Informacije o mikročipu
mikročip Webmesto
Microchip nudi spletno podporo prek našega webspletno mesto na www.microchip.com/. to webspletno mesto se uporablja za izdelavo filein informacije, ki so zlahka dostopne strankam. Nekatere razpoložljive vsebine vključujejo:
- Podpora za izdelke – podatkovni listi in napake, opombe o aplikaciji in sampprogrami, oblikovalski viri, uporabniški priročniki in podporni dokumenti strojne opreme, najnovejše izdaje programske opreme in arhivirana programska oprema
- Splošna tehnična podpora – pogosto zastavljena vprašanja (FAQ), zahteve za tehnično podporo, spletne skupine za razprave, seznam članov partnerskega programa Microchip design
- Poslovanje Microchipa – vodniki za izbiro izdelkov in naročanje, najnovejša sporočila za javnost podjetja Microchip, seznam seminarjev in dogodkov, seznam Microchipovih prodajnih pisarn, distributerjev in tovarniških zastopnikov
Storitev obveščanja o spremembi izdelka
Microchipova storitev obveščanja o spremembah izdelkov pomaga strankam obveščati o izdelkih Microchip. Naročniki bodo prejeli e-poštno obvestilo vsakič, ko pride do sprememb, posodobitev, revizij ali napak v zvezi z določeno družino izdelkov ali razvojnim orodjem, ki jih zanima.
Za registracijo pojdite na www.microchip.com/pcn in sledite navodilom za registracijo.
Podpora uporabnikom
Uporabniki izdelkov Microchip lahko prejmejo pomoč prek več kanalov:
- Distributer ali zastopnik
- Lokalna prodajna pisarna
- Inženir za vgrajene rešitve (ESE)
- Tehnična podpora
Stranke naj se za podporo obrnejo na svojega distributerja, predstavnika ali ESE. Strankam so na voljo tudi lokalne prodajne pisarne. Seznam prodajnih pisarn in lokacij je vključen v ta dokument.
Tehnična podpora je na voljo prek webspletno mesto na: www.microchip.com/support
Funkcija zaščite kode Microchip Devices
Upoštevajte naslednje podrobnosti funkcije zaščite kode na izdelkih Microchip:
- Izdelki Microchip izpolnjujejo specifikacije v njihovem posebnem podatkovnem listu Microchip.
- Microchip verjame, da je njegova družina izdelkov varna, če se uporablja na predviden način, v okviru operativnih specifikacij in v normalnih pogojih.
- Microchip ceni in agresivno ščiti svoje pravice intelektualne lastnine. Poskusi kršitve zaščitnih funkcij kode izdelka Microchip so strogo prepovedani in lahko kršijo Zakon o elektronskih avtorskih pravicah.
- Niti Microchip niti kateri koli drug proizvajalec polprevodnikov ne more jamčiti za varnost svoje kode. Zaščita kode ne pomeni, da jamčimo, da je izdelek "nezlomljiv".
Zaščita kode se nenehno razvija. Microchip je zavezan nenehnemu izboljševanju funkcij zaščite kode naših izdelkov.
Pravno obvestilo
To publikacijo in informacije v njej lahko uporabljate samo z izdelki Microchip, vključno z načrtovanjem, testiranjem in integracijo izdelkov Microchip z vašo aplikacijo. Uporaba teh informacij na kakršen koli drug način krši te pogoje. Informacije o aplikacijah naprave so na voljo samo za vaše udobje in jih lahko nadomestijo posodobitve. Vaša odgovornost je zagotoviti, da vaša aplikacija ustreza vašim specifikacijam. Za dodatno podporo se obrnite na lokalno prodajno pisarno družbe Microchip ali pridobite dodatno podporo na www.microchip.com/en-us/support/design-help/client-support-services.
TE INFORMACIJE ZAGOTAVLJA MICROCHIP "TAKŠNE, KOT SO". MICROCHIP NE DAJE NOBENIH IZJAV ALI JAMSTEV KAKRŠNE KOLI VRSTE, BODISI IZRECNIH ALI POSREDNIH, PISNIH ALI USTNIH, ZAKONSKIH ALI DRUGAČEH, POVEZANIH Z INFORMACIJAMI, VKLJUČNO, VENDAR NE OMEJENO NA KAKRŠNE KOLI POSREDNE JAMSTVA O NEKRŠITVI, PRIMERNOST ZA PRODAJO IN PRIMERNOST ZA DOLOČEN NAMEN ALI GARANCIJE, POVEZANE Z NJEGOVIM STANJEM, KAKOVOSTJO ALI ZMOGLJIVOSTJO.
MICROCHIP V NOBENEM PRIMERU NE BO ODGOVOREN ZA KAKRŠNO KOLI POSREDNO, POSEBNO, KAZNOVALNO, NAKLJUČNO ALI POSLEDIČNO IZGUBO, ŠKODO, STROŠKE ALI IZDATKE KAKRŠNEKOLI VRSTE, POVEZANE Z INFORMACIJAMI ALI NJIHOVO UPORABO, NE glede na to, KI SO POVZROČENI, TUDI ČE MICROCHIP JE BIL OBVEŠČEN O MOŽNOSTI ALI JE ŠKODA PREDVIDLJIVA. V NAJBOLJŠEM MERU, KI GA DOVOLJUJE ZAKON, SKUPNA ODGOVORNOST MICROCHIPA ZA VSE ZAHTEVKE, KAKRŠNOLI POVEZANE Z INFORMACIJO ALI NJENO UPORABO, NE BO PRESEGALA ZNESKA PRISTOJBIN, ČE OBSTAJAJO, KI STE GA PLAČALI NEPOSREDNO MICROCHIPU ZA INFORMACIJO.
Uporaba naprav Microchip v aplikacijah za vzdrževanje življenja in/ali varnost je v celoti na kupčevo tveganje in kupec se strinja, da bo branil, odškodoval in zaščitil Microchip pred kakršno koli škodo, zahtevki, tožbami ali stroški, ki so posledica takšne uporabe. Nobene licence se ne posredujejo, implicitno ali kako drugače, v okviru pravic intelektualne lastnine družbe Microchip, razen če je navedeno drugače.
Blagovne znamke
Ime in logotip Microchip, logotip Microchip, Adaptec, AVR, logotip AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, logotip Microsemi, MOST, logotip MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logotip PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, logotip SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron in XMEGA so registrirane blagovne znamke družbe Microchip Technology Incorporated v ZDA in drugih državah.
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, logotip ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime in ZL so registrirane blagovne znamke Microchip Technology Incorporated v ZDA
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, serijsko programiranje v vezju, ICSP, INICnet, inteligentno vzporedno povezovanje, IntelliMOS, povezljivost med čipi, blokiranje tresljajev, gumb na zaslonu, KoD, maxCrypto, maks.View, 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, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect in ZENA so blagovne znamke Microchip Technology Incorporated
v ZDA in drugih državah.
SQTP je storitvena znamka Microchip Technology Incorporated v ZDA
Logotip Adaptec, Frequency on Demand, Silicon Storage Technology in Symmcom so registrirane blagovne znamke Microchip Technology Inc. v drugih državah.
GestIC je registrirana blagovna znamka Microchip Technology Germany II GmbH & Co. KG, hčerinske družbe Microchip Technology Inc., v drugih državah.
Vse druge tukaj omenjene blagovne znamke so last njihovih podjetij.
© 2023, Microchip Technology Incorporated in njegove podružnice. Vse pravice pridržane.
ISBN: 978-1-6683-3694-6
Sistem vodenja kakovosti
Za informacije o Microchipovih sistemih vodenja kakovosti obiščite www.microchip.com/quality.
AMERIKE | AZIJA/PACIFIK | AZIJA/PACIFIK | EVROPA |
Poslovni urad 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 faks: 480-792-7277 Tehnična podpora: www.microchip.com/support Web Naslov: 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, Teksas 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 |
Avstralija – Sydney Tel.: 61-2-9868-6733 Kitajska – Peking Tel.: 86-10-8569-7000 Kitajska – Chengdu Tel.: 86-28-8665-5511 Kitajska - Chongqing Tel.: 86-23-8980-9588 Kitajska – Dongguan Tel.: 86-769-8702-9880 Kitajska – Guangzhou Tel.: 86-20-8755-8029 Kitajska – Hangzhou Tel.: 86-571-8792-8115 Kitajska – Hong Kong SAR Tel.: 852-2943-5100 Kitajska - Nanjing Tel.: 86-25-8473-2460 Kitajska – Qingdao Tel.: 86-532-8502-7355 Kitajska – Šanghaj Tel.: 86-21-3326-8000 Kitajska – Shenyang Tel.: 86-24-2334-2829 Kitajska – Shenzhen Tel.: 86-755-8864-2200 Kitajska – Suzhou Tel.: 86-186-6233-1526 Kitajska – Wuhan Tel.: 86-27-5980-5300 Kitajska – Xian Tel.: 86-29-8833-7252 Kitajska - Xiamen Tel.: 86-592-2388138 Kitajska - Zhuhai Tel.: 86-756-3210040 |
Indija – Bangalore Tel.: 91-80-3090-4444 Indija – New Delhi Tel.: 91-11-4160-8631 Indija - Puna Tel.: 91-20-4121-0141 Japonska – Osaka Tel.: 81-6-6152-7160 Japonska – Tokio Tel: 81-3-6880-3770 Koreja – Daegu Tel.: 82-53-744-4301 Koreja – Seul Tel.: 82-2-554-7200 Malezija - Kuala Lumpur Tel.: 60-3-7651-7906 Malezija – Penang Tel.: 60-4-227-8870 Filipini – Manila Tel.: 63-2-634-9065 Singapur Tel.: 65-6334-8870 Tajvan – Hsin Chu Tel.: 886-3-577-8366 Tajvan - Kaohsiung Tel.: 886-7-213-7830 Tajvan - Taipei Tel.: 886-2-2508-8600 Tajska – Bangkok Tel.: 66-2-694-1351 Vietnam – Ho Chi Minh Tel.: 84-28-5448-2100 |
Avstrija – Wels Tel.: 43-7242-2244-39 Faks: 43-7242-2244-393 Danska – Kopenhagen Tel.: 45-4485-5910 Faks: 45-4485-2829 Finska – Espoo Tel.: 358-9-4520-820 Francija – Pariz Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Nemčija – Garching Tel.: 49-8931-9700 Nemčija – Haan Tel.: 49-2129-3766400 Nemčija – Heilbronn Tel.: 49-7131-72400 Nemčija – Karlsruhe Tel.: 49-721-625370 Nemčija – München Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Nemčija – Rosenheim Tel.: 49-8031-354-560 Izrael – Ra'anana Tel.: 972-9-744-7705 Italija – Milano Tel.: 39-0331-742611 Faks: 39-0331-466781 Italija – Padova Tel.: 39-049-7625286 Nizozemska – Drunen Tel.: 31-416-690399 Faks: 31-416-690340 Norveška – Trondheim Tel: 47-72884388 Poljska – Varšava Tel.: 48-22-3325737 Romunija – Bukarešta Tel: 40-21-407-87-50 Španija - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Švedska – Gothenberg Tel: 46-31-704-60-40 Švedska – Stockholm Tel.: 46-8-5090-4654 Velika Britanija – Wokingham Tel.: 44-118-921-5800 Faks: 44-118-921-5820 |
© 2023 Microchip Technology Inc. in njegove podružnice
DS50003627A –
Dokumenti / Viri
![]() |
Programska oprema simulacijske knjižnice MICROCHIP Libero SoC [pdf] Uporabniški priročnik DS50003627A, programska oprema knjižnice simulacije Libero SoC, programska oprema knjižnice simulacije SoC, programska oprema knjižnice simulacije, programska oprema knjižnice, programska oprema |