Libero SoC simulacija
Uputstva za postavljanje biblioteke
Uvod
Svrha ovog dokumenta je da opiše proceduru za postavljanje simulacionog okruženja koristeći Libero SoC projekat kao ulaz. Ova dokumentacija odgovara unaprijed kompajliranim bibliotekama za korištenje sa Libero SoC v11.9 i novijim izdanjima softvera. Dostavljene biblioteke su kompajlirane za Verilog. Korisnicima VHDL-a je potrebna licenca koja omogućava simulaciju u mješovitom načinu rada.
Kompilirane simulacijske biblioteke dostupne su za sljedeće alate:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise i Xcelium
- Siemens QuestaSim
- Synopsys VCS
Da biste zatražili biblioteku za drugi simulator, kontaktirajte Microchip tehnička podrška.
Libero SoC integracija
Libero SoC podržava simulaciju koristeći ModelSim ME generiranjem run.do file. Ovo file koristi ModelSim ME/ModelSim Pro ME za postavljanje i pokretanje simulacije. Da biste koristili druge alate za simulaciju, možete generirati ModelSim ME/ModelSim Pro ME run.do i modificirati Tcl skriptu file da koristite komande koje su kompatibilne sa vašim simulatorom.
1.1 Libero SoC Tcl File Generacija (Postavite pitanje)
Nakon kreiranja i generiranja dizajna u Libero SoC-u, pokrenite simulaciju ModelSim ME/ModelSim Pro ME u svim fazama dizajna (presynth, postsynth i post-layout). Ovaj korak generiše run.do file za ModelSim ME/ModelSim Pro ME za svaku fazu dizajna.
Važno: Nakon pokretanja svakog pokretanja simulacije, preimenujte automatski generirani run.do file u direktoriju simulacije kako bi spriječio Libero SoC da to prepiše file. Za nprample, the files se mogu preimenovati u presynth_run.do, postsynth_run.do i postlayout_run.do.
Aldec Setup za Active-HDL i Riviera-Pro (Postavite pitanje)
The run.do file koji koristi ModelSim ME/ModelSim Pro ME može se modificirati i koristiti za simulaciju korištenjem Aldec simulatora.
2.1 Varijabla okruženja (Postavite pitanje)
Postavite varijablu okruženja na svoju licencu file lokacija:
LM_LICENSE_FILE: mora uključivati pokazivač na server licenci.
2.2 Preuzmi kompajliranu biblioteku (Postavite pitanje)
Preuzmite biblioteke za Aldec Active-HDL i Aldec Riviera-PRO sa Microchipa website.
2.3 Konvertiranje run.do za Aldec simulaciju (Postavite pitanje)
The run.do files koje je generirao Libero SoC za simulacije koristeći Active-HDL i Riviera-Pro alat može se koristiti za simulacije koristeći Active-HDL i Riviera-Pro s jednom promjenom. Sljedeća tabela navodi Aldec-ekvivalentne komande koje treba modificirati u modelSim run.do file.
Tabela 2-1. Aldec ekvivalentne komande
ModelSim | Active-HDL |
vlog | alog |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Slijedeće je kaoample run.do se odnosi na Aldec simulatore.
- Postavite lokaciju trenutnog radnog direktorija.
set dsn - Postavite naziv radne biblioteke, mapirajte njenu lokaciju, a zatim mapirajte lokaciju Microchip FPGA porodice
unaprijed kompajlirane biblioteke (nprample, SmartFusion2) na kojoj pokrećete svoj dizajn.
alib presynth
amap presynth presynth
amap SmartFusion2 - Sastavite sav potreban HDL filese koristi u dizajnu sa potrebnom bibliotekom.
alog –work presynth temp.v (za Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (za Vhdl)
acom –work presynth testbench.vhd - Simulirajte dizajn.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
run 10us
2.4 Poznati problemi (Postavite pitanje)
Ovaj odjeljak navodi poznate probleme i ograničenja.
- Biblioteke kompajlirane pomoću Riviera-PRO su specifične za platformu (tj. 64-bitne biblioteke ne mogu se pokretati na 32-bitnoj platformi i obrnuto).
- Za dizajne koji sadrže SERDES/MDDR/FDDR, koristite sljedeću opciju u svom run.do files dok izvode simulacije nakon kompajliranja njihovih dizajna:
– Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (za presynth i post-layout simulacije) i asim –O5 (za post-layout simulacije)
Aldec podešavanje za Active-HDL i Riviera-Pro ima sljedeće SAR-ove na čekanju. Za više informacija kontaktirajte Microchip tehnička podrška. - SAR 49908 – Active-HDL: VHDL greška za simulacije matematičkih blokova
- SAR 50627 – Riviera-PRO 2013.02: Greške simulacije za SERDES dizajne
- SAR 50461 – Riviera-PRO: asim -O2/-O5 opcija u simulacijama
Cadence Incisive Setup (Postavite pitanje)
Morate kreirati skriptu file slično ModelSim ME/ModelSim Pro ME run.do za pokretanje
Cadence Incisive simulator. Slijedite ove korake i kreirajte skriptu file za NCSim ili koristite skriptu file
predviđeno za pretvaranje ModelSim ME/ModelSim Pro ME run.do files u konfiguraciju files
potrebno za pokretanje simulacija koristeći NCSim.
Važno: Kadenca je prestao sa izdavanjem novih verzija Incisive Enterprisea
simulator i počeo podržavati Xcelium simulator.
3.1 Varijable okruženja (Postavite pitanje)
Za pokretanje Cadence Incisive simulatora, konfigurirajte sljedeće varijable okruženja:
- LM_LICENSE_FILE: mora uključivati pokazivač na licencu file.
- cds_root: mora pokazivati na lokaciju matičnog direktorija Cadence Incisive Installation.
- PATH: mora pokazivati na lokaciju kante ispod direktorija alata na koji ukazuje cds_root, tj.
$cds_root/tools/bin/64bit (za 64-bitnu mašinu i $cds_root/tools/bin za 32-bitnu mašinu).
Postoje tri načina postavljanja simulacijskog okruženja u slučaju prebacivanja između 64-bitnog i 32-bitnog operativnog sistema:
Slučaj 1: Varijabla PATH
Pokrenite sljedeću naredbu:
set path = (install_dir/tools/bin/64bit $path) za 64-bitne mašine i
set path = (install_dir/tools/bin $path) za 32-bitne mašine
Slučaj 2: Upotreba -64-bitne opcije komandne linije
U komandnoj liniji navedite opciju -64bit da biste pozvali 64-bitnu izvršnu datoteku.
Slučaj 3: Postavljanje varijable okruženja INCA_64BIT ili CDS_AUTO_64BIT
Varijabla INCA_64BIT se tretira kao boolean. Ovu varijablu možete postaviti na bilo koju vrijednost ili na null string.
setenv INCA_64BIT
Važno: The INCA_64BIT varijabla okruženja ne utiče na druge Cadence alate, kao što su IC alati. Međutim, za alate Incisive, varijabla INCA_64BIT nadjačava postavku za varijablu okruženja CDS_AUTO_64BIT. Ako je INCA_64BIT varijabla okruženja postavljena, svi alati Incisive rade u 64-bitnom načinu rada. setenv CDS_AUTO_64BIT INCLUDE:INCA
Važno: The string INCA mora biti velikim slovima. Sve izvršne datoteke moraju biti pokrenute u 32-bitnom ili 64-bitnom načinu rada, nemojte postavljati varijablu da uključuje jednu izvršnu datoteku, kao što je u nastavku:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Drugi Cadence alati, kao što su IC alati, također koriste varijablu okruženja CDS_AUTO_64BIT za kontrolu odabira 32-bitnih ili 64-bitnih izvršnih datoteka. Sljedeća tabela pokazuje kako možete postaviti varijablu CDS_AUTO_64BIT za pokretanje alata Incisive i IC alata u svim načinima rada.
Tabela 3-1. CDS_AUTO_64BIT varijable
CDS_AUTO_64BIT varijabla | Incisive Tools | IC Tools |
setenv CDS_AUTO_64BIT ALL | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT NONE | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT ISKLJUČI:ic_binary | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bit | 64 bit |
Važno: Svi alati Incisive moraju biti pokrenuti u 32-bitnom ili 64-bitnom načinu rada, nemojte koristiti EXCLUDE da isključite određenu izvršnu datoteku, kao u sljedećem: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Ako postavite varijablu CDS_AUTO_64BIT da izuzima incizivne alate (setenv CDS_AUTO_64BIT EXCLUDE:INCA), svi alati Incisive se pokreću u 32-bitnom načinu rada. Međutim, -64-bitna opcija komandne linije nadjačava varijablu okruženja.
Sljedeća konfiguracija filepomaže vam da upravljate vašim podacima i kontrolišete rad simulacionih alata i uslužnih programa:
- Bibliotečko mapiranje file (cds.lib)—Definira logičko ime za lokaciju vašeg dizajna.
- Knjižnice i pridružuje ih imenima fizičkih direktorija.
- Varijable file (hdl.var)—Definiše varijable koje utiču na ponašanje simulacionih alata i uslužnih programa.
3.2 Preuzmi kompajliranu biblioteku (Postavite pitanje)
Preuzmite biblioteke za Cadence Incisive sa Microsemi's website.
3.3 Kreiranje NCSim skripte File (Postavite pitanje)
Nakon kreiranja kopije run.do files, izvršite ove korake da pokrenete svoju simulaciju koristeći NCSim:
- Kreirajte cds.lib file koji definira biblioteke koje su dostupne i njihovu lokaciju. The file sadrži izraze koji mapiraju logička imena knjižnica u njihove fizičke staze direktorija. Za nprample, ako pokrećete presynth simulaciju, cds.lib file je napisan kao što je prikazano u sljedećem kodnom bloku.
DEFINE presynth ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - Kreirajte hdl.var file, opciona konfiguracija file koja sadrži konfiguracijske varijable, koja određuje kako je konfigurirano vaše dizajnersko okruženje. Sljedeća varijabla filesu uključeni:
– Varijable koje se koriste za specificiranje radne biblioteke u kojoj kompajler pohranjuje kompajlirane objekte i druge izvedene podatke.
– Za Verilog, varijable (LIB_MAP, VIEW_MAP, WORK) koji se koriste za specificiranje biblioteka i views za pretraživanje kada elaborator riješi instance.
– Varijable koje vam omogućavaju da definirate opcije i argumente komandne linije kompajlera, elaboratora i simulatora.
U slučaju presynth simulacije nprampgore prikazano, recimo da imamo tri RTL files: av, bv i testbench.v, koje treba kompajlirati u presynth, COREAHBLITE_LIB, odnosno presynth biblioteke. The hdl.var file može se napisati kao što je prikazano u sljedećem kodnom bloku.
DEFINE WORK presynth
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => presynth) - Sastavite dizajn files pomoću opcije ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Razradite dizajn koristeći ncelab. Razrađivač konstruiše hijerarhiju dizajna na osnovu informacija o instanciranju i konfiguraciji u projektu, uspostavlja povezanost signala i izračunava početne vrednosti za sve objekte u projektu. Razrađena hijerarhija dizajna pohranjena je u snimku simulacije, koji predstavlja prikaz vašeg dizajna koji simulator koristi za pokretanje simulacije.
ncelab –Poruka –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
pristup +rwc – status radna biblioteka. :module
Razrada tokom post-layout simulacije
U slučaju post-layout simulacija, prvo SDF file potrebno je kompajlirati prije elaboracije pomoću naredbe ncsdfc.
ncsdfcfileime>.sdf – izlazfilenaziv>.sdf.X
Tokom elaboracije koristite prevedeni SDF izlaz sa –autosdf opcijom kao što je prikazano u sljedećem bloku koda.
ncelab -autosdf –Poruka –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –pristup +rwc –status radna biblioteka. :module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file mora biti kao što je prikazano u sljedećem kodnom bloku.
COMPILED_SDF_FILE = “ file>” - Simulirajte koristeći ncsim. Nakon elaboracije kreira se snimak simulacije, koji se učitava od strane ncsim za simulaciju. Možete pokrenuti u batch modu ili GUI modu.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 – status worklib. :module
Važno: Sva tri gornja koraka kompajliranja, razrade i simulacije mogu se staviti u shell skriptu file i izvorno iz komandne linije. Umjesto korištenja ova tri koraka, dizajn se može simulirati u jednom koraku koristeći opciju ncverilog ili irun kao što je prikazano u sljedećem bloku koda.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
filekoristi se u dizajnu>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
korišteno u dizajnu>
3.3.1 Poznati problemi (Postavite pitanje)
Testbench zaobilazno rešenje
Korištenje sljedeće izjave za specificiranje frekvencije takta u testbench-u koji je generirao korisnik, ili default testbench generisan od Libero SoC-a ne radi sa NCSim-om.
uvijek @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Izmijenite kako slijedi da pokrenete simulaciju:
uvijek #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Važno: Sastavljeno biblioteke za NCSim su specifične za platformu (tj. 64-bitne biblioteke nisu kompatibilne sa 32-bitnom platformom i obrnuto).
Postsynth i post-layout simulacije pomoću MSS-a i SERDES-a Dok se izvode postsynth simulacije dizajna koji sadrže MSS blok ili post-layout simulacije dizajna pomoću SERDES-a, simulacije BFM ne rade ako je opcija –libmap
nije precizirano tokom razrade. To je zato što se tokom elaboracije MSS rešava iz radne biblioteke (zbog podrazumevanog povezivanja i radne biblioteke je postsynth/post-layout) gde je to samo fiksna funkcija.
Naredba ncelab mora biti napisana kao što je prikazano u sljedećem bloku koda da bi se riješio MSS
blok iz SmartFusion2 unapred kompajlirane biblioteke.
ncelab -libmap lib.map -libverbose -Poruka -pristup +rwc cfg1
i lib.map file mora biti kako slijedi:
config cfg1;
dizajn ;
zadana lista smartfusion2 ;
endconfig
Ovo rješava bilo koju ćeliju u biblioteci SmartFusion2 prije nego pogleda u radnu biblioteku, tj. postsynth/post-layout.
Opcija –libmap se može koristiti po defaultu tokom elaboracije za svaku simulaciju (presynth, postsynth i post-layout). Ovo izbjegava probleme simulacije koji su uzrokovani rješavanjem instanci iz biblioteka.
ncelab: *F,INTERR: INTERNI IZUZETAK
Ovaj izuzetak ncelab alata je upozorenje za dizajne koji sadrže FDDR u SmartFusion 2 i IGLOO 2 tokom postsynth i post-layout simulacija koristeći opciju –libmap.
Važno: Ovaj problem je prijavljen Cadence timu za podršku (SAR 52113).
3.4 Sample Tcl i Shell Script Files (Postavite pitanje)
Sledeće files su konfiguracija filepotrebno je za postavljanje dizajna i shell skripte file za pokretanje NCSim komandi.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/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 )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => presynth)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -pristup +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
3.5 Automatizacija (Postavite pitanje)
Sljedeća skripta file pretvara ModelSim run.do files u konfiguraciju filepotrebno je za pokretanje simulacija koristeći NCSim.
Skripta File Upotreba
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
################################################### ############################################
##################
#Upotreba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
################################################### ############################################
##################
koristite POSIX;
koristiti strict;
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];
my $state;
if ( -e “$ModelSim_run_do” )
{
otvoren (INFILE,”$ModelSim_run_do”);
moj @ModelSim_run_do =FILE>;
moja $line;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
otvoren (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
otvoren (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
otvoren (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} ostalo
{
print “Pogrešni unosi dati na file\n”;
print “#Upotreba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokacija_biblioteka\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#General Operations
$line =~ s/..\/dizajner.*simulacija\///g;
$line =~ s/$state/$state\_questa/g;
#isprintatiFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
isprintatiFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
isprintatiFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
isprintatiFILE “$line \n”;
} ostalo
{
isprintatiFILE “$line \n”;
}
}
zatvori (INFILE);
zatvoritiFILE);
} ostalo {
print “$ModelSim_run_do ne postoji. Ponovo pokrenite simulaciju \n”;
}
}
Cadence Xcelium postavka (Microchip Login)
Morate kreirati skriptu file slično ModelSim ME/ModelSim Pro ME run.do za pokretanje Cadence Xcelium simulatora. Slijedite ove korake i kreirajte skriptu file za Xcelium ili koristite skriptu file predviđeno za pretvaranje ModelSim ME/ModelSim Pro ME run.do files u konfiguraciju filepotrebno je za pokretanje simulacija koristeći Xcelium.
4.1 Varijable okruženja (Postavite pitanje)
Da biste pokrenuli Cadence Xcelium, konfigurirajte sljedeće varijable okruženja:
- LM_LICENSE_FILE: mora uključivati pokazivač na licencu file.
- cds_root: mora pokazivati na lokaciju matičnog direktorija Cadence Incisive Installation.
- PATH: mora pokazivati na lokaciju kante ispod direktorija alata na koji ukazuje cds_root (tj
$cds_root/tools/bin/64bit (za 64-bitnu mašinu i $cds_root/tools/bin za 32-bitnu
mašina).
Postoje tri načina postavljanja simulacijskog okruženja u slučaju prebacivanja između 64-bitnog i 32-bitnog operativnog sistema:
Slučaj 1: Varijabla PATH
set path = (install_dir/tools/bin/64bit $path) za 64-bitne mašine i
set path = (install_dir/tools/bin $path) za 32-bitne mašine
Slučaj 2: Upotreba -64-bitne opcije komandne linije
U komandnoj liniji navedite opciju -64bit da biste pozvali 64-bitnu izvršnu datoteku.
Slučaj 3: Postavljanje varijable okruženja INCA_64BIT ili CDS_AUTO_64BIT
Varijabla INCA_64BIT se tretira kao boolean. Ovu varijablu možete postaviti na bilo koju vrijednost ili na null
string.
setenv INCA_64BIT
Važno: The INCA_64BIT varijabla okruženja ne utiče na druge Cadence alate, kao što su IC alati. Međutim, za alate Incisive, varijabla INCA_64BIT nadjačava postavku za varijablu okruženja CDS_AUTO_64BIT. Ako je varijabla okruženja INCA_64BIT et, svi alati Incisive rade u 64-bitnom načinu.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Važno: The string INCA mora biti velikim slovima. Sve izvršne datoteke moraju biti pokrenute u 2-bitnom ili 64-bitnom načinu rada, nemojte postavljati varijablu da uključuje jednu izvršnu datoteku, kao što je u nastavku:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Drugi Cadence alati, kao što su IC alati, također koriste varijablu okruženja CDS_AUTO_64BIT za kontrolu odabira 32-bitnih ili 64-bitnih izvršnih datoteka. Sljedeća tabela pokazuje kako možete postaviti varijablu CDS_AUTO_64BIT za pokretanje alata Incisive i IC alata u svim načinima rada.
Tabela 4-1. CDS_AUTO_64BIT varijable
CDS_AUTO_64BIT varijabla | Incisive Tools | IC Tools |
setenv CDS_AUTO_64BIT ALL | 64-bitni | 64-bitni |
setenv CDS_AUTO_64BIT NONE | 32-bitni | 32-bitni |
setenv CDS_AUTO_64BIT ISKLJUČI:ic_binary |
64-bitni | 32-bitni |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32-bitni | 64-bitni |
Važno: Svi alati Incisive moraju biti pokrenuti u 32-bitnom ili 64-bitnom načinu rada, nemojte koristiti EXCLUDE da isključite određenu izvršnu datoteku, kao u sljedećem:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Ako postavite varijablu CDS_AUTO_64BIT da isključi alate Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), svi alati Incisive rade u 32-bitnom načinu rada. Međutim, the
-64-bitna opcija komandne linije nadjačava varijablu okruženja.
Sljedeća konfiguracija filepomaže vam da upravljate vašim podacima i kontrolišete rad simulacionih alata i uslužnih programa:
- Bibliotečko mapiranje file (cds.lib) definira logičko ime za lokaciju vašeg dizajna.
- Knjižnice i pridružuje ih imenima fizičkih direktorija.
- Varijable file (hdl.var) definiše varijable koje utiču na ponašanje simulacionih alata i uslužnih programa.
4.2 Preuzmi kompajliranu biblioteku (Postavite pitanje)
Preuzmite biblioteke za Cadence Xcelium sa Microsemi's website.
4.3 Kreiranje Xcelium skripte file (Postavite pitanje)
Nakon kreiranja kopije run.do files, izvršite sljedeće korake da pokrenete svoju simulaciju koristeći Xcelium skriptu file.
- Kreirajte cds.lib file koji definiše koje biblioteke su dostupne i gde se nalaze.
The file sadrži izraze koji mapiraju logička imena knjižnica u njihove fizičke staze direktorija. Za nprample, ako pokrećete presynth simulaciju, cds.lib file može se napisati kao što je prikazano u sljedećem kodnom bloku.
DEFINE presynth ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - Kreirajte hdl.var file što je opciona konfiguracija file koja sadrži konfiguracijske varijable, koja određuje kako je konfigurirano vaše dizajnersko okruženje. To uključuje:
– Varijable koje se koriste za specificiranje radne biblioteke u kojoj kompajler pohranjuje kompajlirane objekte i druge izvedene podatke.
– Za Verilog, varijable (LIB_MAP, VIEW_MAP, WORK) koji se koriste za specificiranje biblioteka i views za pretraživanje kada elaborator riješi instance.
– Varijable koje vam omogućavaju da definirate opcije i argumente komandne linije kompajlera, elaboratora i simulatora.
U slučaju presynth simulacije nprampgore prikazano, recimo da imamo 3 RTL files av, bv i testbench.v, koje treba kompajlirati u presynth, COREAHBLITE_LIB, odnosno presynth biblioteke. The hdl.var file može se napisati kao što je prikazano u sljedećem kodnom bloku.
DEFINE WORK presynth
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => presynth) - Sastavite dizajn files pomoću opcije ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Razradite dizajn koristeći ncelab. Razrađivač konstruiše hijerarhiju dizajna na osnovu informacija o instanciranju i konfiguraciji u projektu, uspostavlja povezanost signala i izračunava početne vrednosti za sve objekte u projektu. Razrađena hijerarhija dizajna pohranjena je u snimku simulacije, koji predstavlja prikaz vašeg dizajna koji simulator koristi za pokretanje simulacije.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
pristup +rwc – status radna biblioteka. :module
Razrada tokom post-layout simulacije
U slučaju post-layout simulacija, prvo SDF file potrebno je kompajlirati prije elaboracije pomoću naredbe ncsdfc.
Xceliumfileime>.sdf – izlazfilenaziv>.sdf.X
Tokom elaboracije koristite prevedeni SDF izlaz sa –autosdf opcijom kao što je prikazano u sljedećem bloku koda.
xmelab -autosdf –Poruka –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –pristup +rwc –status radna biblioteka. :module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file mora biti kao što je prikazano u sljedećem kodnom bloku.
COMPILED_SDF_FILE = “ file>” - Simulirajte koristeći Xcelium. Nakon razrade kreira se snimak simulacije koji se učitava od strane Xceliuma za simulaciju. Ovo se može pokrenuti u batch modu ili GUI modu.
xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 – status worklib. :module
Cadence Xcelium podešavanje
Važno: Sve gornja tri koraka kompajliranja, razrade i simulacije mogu se staviti u shell skriptu file i izvorno iz komandne linije. Umjesto korištenja ova tri koraka, dizajn se može simulirati u jednom koraku koristeći opciju ncverilog ili xrun kao što je prikazano u sljedećem bloku koda.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
filekoristi se u dizajnu>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
korišteno u dizajnu>
4.3.1 Poznati problemi (Postavite pitanje)
Testbench zaobilazno rešenje
Korištenje sljedeće izjave za specificiranje frekvencije takta u testbench-u koji je generirao korisnik ili default testbench-u koji je generirao Libero SoC ne radi sa Xcelium-om.
uvijek @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Izmijenite kako slijedi da pokrenete simulaciju:
uvijek #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Važno: Prevedene biblioteke za Xcelium su specifične za platformu (tj. 64-bitne biblioteke nisu kompatibilne sa 32-bitnom platformom i obrnuto).
Postsynth i Post-layout simulacije koristeći MSS i SERDES
Dok se izvode postsynth simulacije dizajna koji sadrže MSS blok, ili post-layout simulacije dizajna koristeći SERDES, BFM simulacije ne rade ako –libmap opcija nije specificirana tokom elaboracije. To je zato što se tokom elaboracije MSS rešava iz radne biblioteke (zbog podrazumevanog povezivanja i radne biblioteke je postsynth/post-layout) gde je to samo fiksna funkcija.
Naredba ncelab mora biti napisana kao što je prikazano u sljedećem bloku koda da bi se riješio MSS blok iz SmartFusion2 unaprijed kompajlirane biblioteke.
xmelab -libmap lib.map -libverbose -Poruka -pristup +rwc cfg1
i lib.map file mora biti kako slijedi:
config cfg1;
dizajn ;
zadana lista smartfusion2 ;
endconfig
Ovo mora riješiti bilo koju ćeliju u biblioteci SmartFusion2 prije nego što pogledate radnu biblioteku, tj. postsynth/post-layout.
Opcija –libmap se može koristiti po defaultu tokom elaboracije za svaku simulaciju (presynth, postsynth i post-layout). Ovo izbjegava probleme simulacije koji su uzrokovani rješavanjem instanci iz biblioteka.
xmelab: *F,INTERR: INTERNI IZUZETAK
Ovaj izuzetak ncelab alata je upozorenje za dizajne koji sadrže FDDR u SmartFusion2 i IGLOO2
tokom postsynth i post-layout simulacija koristeći opciju –libmap.
Važno: Ovaj problem je prijavljen Cadence timu za podršku (SAR 52113).
4.4 Sample Tcl i shell skripta files (Postavite pitanje)
Sledeće files su konfiguracija filepotrebno je za postavljanje dizajna i shell skripte file za pokretanje Xcelium komandi.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/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 )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => presynth)
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -pristup +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
4.5 Automatizacija (Microchip Login)
Sljedeća skripta file pretvara ModelSim run.do files u konfiguraciju filepotrebno je za pokretanje simulacija koristeći Xcelium.
Skripta File Upotreba
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
################################################### ############################################
##################
#Upotreba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
################################################### ############################################
##################
koristite POSIX;
koristiti strict;
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];
my $state;
if ( -e “$ModelSim_run_do” )
{
otvoren (INFILE,”$ModelSim_run_do”);
moj @ModelSim_run_do =FILE>;
moja $line;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
otvoren (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
otvoren (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
otvoren (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} ostalo
{
print “Pogrešni unosi dati na file\n”;
print “#Upotreba: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokacija_biblioteka\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#General Operations
$line =~ s/..\/dizajner.*simulacija\///g;
$line =~ s/$state/$state\_questa/g;
#isprintatiFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
isprintatiFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
isprintatiFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
isprintatiFILE “$line \n”;
} ostalo
{
isprintatiFILE “$line \n”;
}
}
zatvori (INFILE);
zatvoritiFILE);
} ostalo {
print “$ModelSim_run_do ne postoji. Ponovo pokrenite simulaciju \n”;
}
}
Siemens QuestaSim podešavanje/ModelSim podešavanje (Postavite pitanje)
The run.do files, generiran od strane Libero SoC-a za simulacije koristeći ModelSim Microsemi Editions, može se koristiti za simulacije korištenjem QuestaSim/ModelSim SE/DE/PE sa jednom promjenom. U ModelSim ME/ModelSim Pro ME run.do file, potrebno je promijeniti lokaciju unaprijed kompajliranih biblioteka.
Važno:
Podrazumevano, alat za simulaciju osim ModelSim Pro ME vrši optimizaciju dizajna tokom simulacije koja može uticati na vidljivost artefakata simulacije kao što su objekti dizajna i ulazni stimulans.
Ovo je obično od pomoći u smanjenju vremena izvođenja simulacije za složene simulacije, koristeći opširne testne stolove koji samoprovjeravaju. Međutim, podrazumevane optimizacije možda neće biti prikladne za sve simulacije, posebno u slučajevima kada očekujete da grafički pregledate rezultate simulacije koristeći talasni prozor.
Da biste riješili probleme uzrokovane ovom optimizacijom, morate dodati odgovarajuće komande i povezane argumente tokom simulacije kako biste vratili vidljivost u dizajn. Za komande specifične za alat, pogledajte dokumentaciju simulatora u upotrebi.
5.1 Varijable okruženja (Postavite pitanje)
Slijede potrebne varijable okruženja.
- LM_LICENSE_FILE: mora uključiti putanju do licence file.
- MODEL_TECH: mora identificirati putanju do lokacije kućnog direktorija QuestaSim instalacije.
- PATH: mora pokazivati na izvršnu lokaciju na koju ukazuje MODEL_TECH.
5.2 Konvertiranje run.do za Mentor QuestaSim (Postavite pitanje)
The run.do files generiran od strane Libero SoC-a za simulacije koristeći ModelSim Microsemi izdanja se mogu koristiti za simulacije koristeći QuestaSim/ModelSim_SE sa jednom promjenom.
Važno: Sve dizajni koji se simuliraju pomoću QuestaSim-a moraju uključivati -novopt
opcija zajedno sa vsim komandom u skripti run.do files.
5.3 Preuzmite kompajliranu biblioteku (Postavite pitanje)
Preuzmite biblioteke za Mentor Graphics QuestaSim sa Microsemi's-a website.
Synopsys VCS podešavanje (Postavite pitanje)
Tok koji preporučuje Microsemi oslanja se na tok Elaborate i Compile u VCS. Ovaj dokument uključuje skriptu file koji koristi skriptu run.do files generira Libero SoC i generiše podešavanje filepotrebno je za VCS simulaciju. Skripta file koristi run.do file da uradite sledeće.
- Kreirajte mapiranje biblioteke file, što se radi pomoću synopsys_sim.setup file nalazi se u istom direktoriju gdje je pokrenuta VCS simulacija.
- Kreirajte shell skriptu file da razradite i kompajlirate svoj dizajn koristeći VCS.
6.1 Varijable okruženja (Postavite pitanje)
Postavite odgovarajuće varijable okruženja za VCS na osnovu vašeg podešavanja. Potrebne varijable okruženja prema VCS dokumentaciji su:
- LM_LICENSE_FILE: mora uključivati pokazivač na server licenci.
- VCS_HOME: mora pokazivati na lokaciju matičnog direktorija VCS instalacije.
- PATH: mora uključiti pokazivač na bin direktorij ispod VCS_HOME direktorija.
6.2 Preuzmi kompajliranu biblioteku (Postavite pitanje)
Preuzmite biblioteke za Synopsys VCS sa Microsemi-a website.
6.3 VCS simulacijska skripta File (Postavite pitanje)
Nakon postavljanja VCS-a i generiranja dizajna i različitog run.do fileiz Libero SoC-a, morate:
- Kreirajte mapiranje biblioteke file synopsys_sim.setup; ovo file sadrži pokazivače na lokaciju svih biblioteka koje će koristiti dizajn.
Važno: The file ime se ne smije mijenjati i mora se nalaziti u istom direktoriju u kojem se izvodi simulacija. Evo bivšegample za takve file za simulaciju predsinteze.
RAD > EFAULT
SmartFusion2 :
presynth : ./presynth
DEFAULT : ./work - Razradite drugačiji dizajn files, uključujući testbench, koristeći naredbu vlogan u VCS-u. Ove komande mogu biti uključene u shell skriptu file. Slijedi bivšiample od naredbi koje su potrebne za razradu dizajna definiranog u rtl.v sa svojim testbench definiranim u
testbench.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Sastavite dizajn koristeći VCS koristeći sljedeću naredbu.
vcs –sim_res=1fs presynth.testbench
Napomena: The vremenska rezolucija simulacije mora biti postavljena na 1fs za ispravnu funkcionalnu simulaciju. - Nakon što je dizajn sastavljen, pokrenite simulaciju koristeći sljedeću naredbu.
./simv - Za simulaciju sa komentarima pozadi, VCS naredba mora biti kao što je prikazano u sljedećem kodnom bloku.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
ime>: file put> –gui –l postlayout.log
6.4 Ograničenja/izuzeci (Postavite pitanje)
Slijede ograničenja/izuzeci Synopsys VCS podešavanja.
- VCS simulacije se mogu izvoditi samo za Verilog projekte Libero SoC-a. VCS simulator ima stroge VHDL jezičke zahtjeve koje ne ispunjava Libero SoC automatski generirani VHDL files.
- Morate imati naredbu $finish u Verilog testbench-u da zaustavite simulaciju kad god to želite.
Važno: Kada simulacije se izvode u GUI modu, vrijeme izvođenja se može specificirati u GUI.
6.5 Sample Tcl i Shell Script Files (Postavite pitanje)
Sljedeći Perl automatizira generiranje synopsys_sim.setup file kao i odgovarajuću shell skriptu filepotrebni su za razradu, kompajliranje i simulaciju dizajna.
Ako dizajn koristi MSS, kopirajte test.vec file koji se nalazi u fascikli za simulaciju Libero SoC projekta u fasciklu VCS simulacije. Sljedeći odjeljci sadrže sample run.do files generira Libero SoC, uključujući odgovarajuće mapiranje biblioteke i shell skriptu filepotrebno je za VCS simulaciju.
6.5.1 Predsinteza (Postavite pitanje)
Presynth_run.do
tiho postavite ACTELLIBNAME SmartFusion2
tiho postavite PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF”
ako {[file postoji presynth/_info]} {
echo “INFO: Biblioteka simulacije presynth već postoji”
} ostalo {
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” -radi presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
dodaj talas /SD1_TB1/*
dodaj log -r /*
pokrenuti 1000ns
presynth_main.csh
#!/bin/csh -f
postavite 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/
rad/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -rad
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
RAD > ZADANO
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
DEFAULT : ./work
6.5.2 Post-sinteza (Postavite pitanje)
postsynth_run.do
tiho postavite ACTELLIBNAME SmartFusion2
tiho postavite PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF”
ako {[file postoji postsynth/_info]} {
echo “INFO: Postsynth biblioteke simulacija već postoji”
} ostalo {
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” -radni postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
dodaj talas /SD1_TB1/*
dodaj log -r /*
pokrenuti 1000ns
zapisnik SD1_TB1/*
izlaz
Postsynth_main.csh
#!/bin/csh -f
postavite PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -radni postsynth “${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -rad
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
RAD > ZADANO
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
DEFAULT : ./work
6.5.3 Post-layout (Postavite pitanje)
postlayout_run.do
tiho postavite ACTELLIBNAME SmartFusion2
tiho postavite PROJECT_DIR “E:/ModelSim_Work/Test_DFF”
ako {[file postoji ../designer/SD1/simulation/postlayout/_info]} {
echo “INFO: Biblioteka simulacija ../designer/SD1/simulation/postlayout već postoji”
} ostalo {
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” -radni 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 talas /SD1_TB1/*
dodaj log -r /*
pokrenuti 1000ns
Postlayout_main.csh
#!/bin/csh -f
postavite PROJECT_DIR = “/VCS_Testovi/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -radni postlayout “${PROJECT_DIR}/
dizajner/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -rad
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
RAD > ZADANO
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
ZADANO : ./workVCS
6.6 Automatizacija (Postavite pitanje)
Tok se može automatizirati korištenjem sljedeće Perl skripte file da konvertujete ModelSim run.do files u VCS kompatibilnu shell skriptu files, kreirajte odgovarajuće direktorije unutar Libero SoC direktorija simulacije, a zatim pokrenite simulacije.
Pokrenite skriptu file koristeći sljedeću sintaksu.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
################################################### ############################
#
#Upotreba: 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 failed:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir failed:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,”presynth”);
chdir (../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
chdir (../”);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,”postlayout”);
chdir (../”);
sub parse_do {
moj $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
moj %LIB = ();
moj $file = $_[0] ;
moje $state = $_[1];
otvoreno (INFILE,”$file”) || die “Ne mogu otvoriti File Razlog može biti:$!”;
if ( $state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || die “Ne mogu kreirati komandu File Razlog može biti:$!”;
}
elsif ( $state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || die “Ne mogu kreirati komandu File Razlog može biti:$!”;
}
elsif ( $state eq “postlayout”)
{
open(OUT1,”>postlayout_main.csh”) || die “Ne mogu kreirati komandu File Razlog može biti:$!”;
}
ostalo
{
print “Stanje simulacije nedostaje \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || die “Ne mogu kreirati komandu File Razlog može biti:$!”;
# .csh file
print OUT1 “#!/bin/csh -f\n\n\n” ;
#POSTAVITI FILE
print OUT2 “WORK > DEFAULT\n” ;
print OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
dok ($line =FILE>)
{
Synopsys VCS podešavanje
if ($line =~ m/tiho postavljen 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;
print OUT1 “$line\n”;
}
elsif (($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp($tb);
#print “TB Name : $tb \n”;
if ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$line = $1;
#print “LINE : $line \n” ;
if ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ 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 ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/tip \/// ;
$line =~ 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 — ModelSim SDF format
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
SDF format
}
}
}
print
IZLAZ1 “\n\n”
;
if
( $state eq “presynth”
)
{
print
OUT2 “presynth
: ./presynth\n”
;
print
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postsynth”
)
{
print
OUT2 “postsynth
: ./postsynth\n”
;
print
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postlayout”
)
{
print OUT2 “postlayout : ./postlayout\n” ;
}
ostalo
{
print “Stanje simulacije nedostaje \n” ;
}
foreach $i (ključevi %LIB)
{
#print “Ključ: $i Vrijednost: $LIB{$i} \n” ;
print OUT2 “$i : ./$i\n” ;
}
print OUT1 “\n\n” ;
print OUT1 “./simv -l run.log\n” ;
print OUT2 “DEFAULT : ./work\n” ;
zatvori INFILE;
zatvori OUT1;
zatvori OUT2;
}
Historija revizija (Microchip Login
Historija revizija opisuje promjene koje su implementirane u dokument. Promjene
su navedeni po reviziji, počevši od najnovije publikacije.
Revizija | Datum | Opis |
A | 12/2023 | U ovoj reviziji su napravljene sljedeće promjene: • Dokument konvertovan u Microchip šablon. Inicijalna revizija. • Ažuriran odeljak 5. Siemens QuestaSim Setup/ModelSim Setup da uključi novu napomenu koja objašnjava uticaj na vidljivost tokom simulacije i optimizacije. |
Microchip FPGA podrška
Microchip FPGA grupa proizvoda podržava svoje proizvode raznim uslugama podrške, uključujući korisničku podršku, centar za tehničku podršku za korisnike, websajtu i prodajnim kancelarijama širom sveta.
Korisnicima se predlaže da posete Microchip online resurse pre nego što kontaktiraju podršku jer je vrlo verovatno da je na njihova pitanja već odgovoreno.
Kontaktirajte centar za tehničku podršku putem website at www.microchip.com/support. Navedite broj dijela FPGA uređaja, odaberite odgovarajuću kategoriju kućišta i otpremite dizajn files dok kreirate slučaj tehničke podrške.
Obratite se korisničkoj službi za netehničku podršku za proizvode, kao što su cijene proizvoda, nadogradnje proizvoda, ažurirane informacije, status narudžbe i autorizacija.
- Iz Sjeverne Amerike pozovite 800.262.1060
- Iz ostatka svijeta pozovite 650.318.4460
- Fax, sa bilo kojeg mjesta na svijetu, 650.318.8044
Informacije o mikročipu
Microchip Website
Microchip pruža online podršku putem naše website at www.microchip.com/. Ovo webstranica se koristi za izradu filei informacije koje su lako dostupne kupcima. Neki od dostupnih sadržaja uključuju:
- Podrška za proizvode – Tehnički listovi i greške, napomene o aplikaciji i slample programi, resursi za dizajn, korisnički vodiči i dokumenti za podršku hardveru, najnovija izdanja softvera i arhivirani softver
- Opća tehnička podrška – često postavljana pitanja (FAQ), zahtjevi za tehničku podršku, online diskusione grupe, popis članova Microchip partnerskog programa za dizajn
- Poslovanje Microchipa – vodiči za odabir proizvoda i narudžbe, najnovija saopštenja za javnost Microchipa, popis seminara i događaja, popisi prodajnih ureda Microchipa, distributera i predstavnika tvornice
Usluga obavještavanja o promjeni proizvoda
Microchipova usluga obavještavanja o promjeni proizvoda pomaže korisnicima da budu u toku sa Microchip proizvodima. Pretplatnici će primati obavještenje putem e-pošte kad god dođe do promjena, ažuriranja, revizija ili grešaka u vezi sa određenom porodicom proizvoda ili razvojnim alatom od interesa.
Za registraciju idite na www.microchip.com/pcn i slijedite upute za registraciju.
Korisnička podrška
Korisnici Microchip proizvoda mogu dobiti pomoć na nekoliko kanala:
- Distributer ili predstavnik
- Lokalna prodajna kancelarija
- Inženjer za ugrađena rješenja (ESE)
- Tehnička podrška
Kupci bi trebali kontaktirati svog distributera, predstavnika ili ESE za podršku. Lokalni prodajni uredi su također dostupni za pomoć kupcima. Spisak prodajnih ureda i lokacija uključen je u ovaj dokument.
Tehnička podrška je dostupna putem webstranica na: www.microchip.com/support
Funkcija zaštite koda uređaja Microchip
Obratite pažnju na sljedeće detalje funkcije zaštite koda na Microchip proizvodima:
- Microchip proizvodi ispunjavaju specifikacije sadržane u njihovom posebnom Microchip Data Sheet.
- Microchip vjeruje da je njegova porodica proizvoda sigurna kada se koristi na predviđeni način, u okviru operativnih specifikacija i pod normalnim uvjetima.
- Microchip vrednuje i agresivno štiti svoja prava intelektualnog vlasništva. Pokušaji kršenja karakteristika zaštite koda Microchip proizvoda su strogo zabranjeni i mogu predstavljati kršenje Digital Millennium Copyright Act.
- Ni Microchip ni bilo koji drugi proizvođač poluprovodnika ne može garantirati sigurnost svog koda. Zaštita kodom ne znači da jamčimo da je proizvod „nelomljiv“.
Zaštita koda se stalno razvija. Microchip je posvećen kontinuiranom poboljšanju karakteristika zaštite koda naših proizvoda.
Pravna obavijest
Ova publikacija i informacije ovdje mogu se koristiti samo s Microchip proizvodima, uključujući dizajniranje, testiranje i integraciju Microchip proizvoda u vašu aplikaciju. Upotreba ovih informacija na bilo koji drugi način krši ove uslove. Informacije o aplikacijama uređaja date su samo za vašu udobnost i mogu biti zamijenjene ažuriranjima. Vaša je odgovornost osigurati da vaša aplikacija odgovara vašim specifikacijama. Obratite se lokalnom prodajnom uredu Microchipa za dodatnu podršku ili potražite dodatnu podršku na www.microchip.com/en-us/support/design-help/client-support-services.
OVE INFORMACIJE DAJE MIKROČIP „KAKO JESU“. MICROCHIP NE DAJE NIKAKVE IZJAVE ILI GARANCIJE BILO KOJE VRSTE, IZRIČITI ILI IMPLICIRANI, PISANI ILI USMENI, ZAKONSKI ILI NA DRUGI, U VEZI SA INFORMACIJAMA UKLJUČUJUĆI, ALI NE OGRANIČENI NA BILO KAKVA IMPLICIRANA, NI IMPLICIRANA GARANCIJA PRILIKA ZA PRODAJU I PRIKLADNOST ZA ODREĐENU SVRHU ILI GARANCIJE U VEZI SA NJEGOVIM STANJEM, KVALITETOM ILI PERFORMANSE.
MIKROČIP NI U KOJEM SLUČAJU NEĆE BITI ODGOVORAN ZA BILO KAKVE INDIREKTNE, POSEBNE, KAZNENE, SLUČAJNE ILI POSLEDIČNE GUBITKE, ŠTETE, TROŠKOVE ILI TROŠKOVE BILO KOJE VRSTE BILO KOJI SE ODNOSE NA BILO KAKVE INFORMACIJE, ILI MICROCHIP JE OBAVEŠTEN O MOGUĆNOSTI ILI SU ŠTETE PREDVIĐIVE. U NAJVEĆOJ MJERI DOZVOLJENOJ ZAKONOM, UKUPNA ODGOVORNOST MICROCHIP-a PO SVIM POTRAŽIVANJU NA BILO KOJI NAČIN KOJA SE ODNOSE NA INFORMACIJE ILI NJIHOVO KORIŠTENJE NEĆE PREMAŠITI IZNOS NAKNADA, AKO IMA, KOJI STE MORALI PLAĆATI.
Upotreba Microchip uređaja u aplikacijama za održavanje života i/ili sigurnost je u potpunosti na rizik kupca, a kupac se slaže da će braniti, obeštetiti i držati Microchip bezopasnim od bilo koje štete, potraživanja, tužbi ili troškova koji proizlaze iz takve upotrebe. Nikakve licence se ne prenose, implicitno ili na drugi način, pod bilo kojim Microchipovim pravima intelektualnog vlasništva osim ako nije drugačije navedeno.
Trademarks
Naziv i logotip Microchipa, Microchip logo, Adaptec, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkTouchlus, mama MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Sym , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron i XMEGA su registrovani zaštitni znakovi kompanije Microchip Technology Incorporated u SAD-u i drugim zemljama.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime i ZL su registrovani zaštitni znakovi Microchip Technology Incorporated u SAD-u
Supresija susjednih ključeva, AKS, Analogno-za-Digitalno doba, Bilo koji kondenzator, AnyIn, AnyOut, prošireno prebacivanje, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, DSPICDEMmic. , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Inteligentno paralelno, 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, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect i ZENA su zaštitni znakovi Microchip Technology Incorporated
u SAD i drugim zemljama.
SQTP je servisni znak kompanije Microchip Technology Incorporated u SAD
Adaptec logo, Frequency on Demand, Silicon Storage Technology i Symmcom su registrovani zaštitni znakovi Microchip Technology Inc. u drugim zemljama.
GestIC je registrovani zaštitni znak Microchip Technology Germany II GmbH & Co. KG, podružnice Microchip Technology Inc., u drugim zemljama.
Svi ostali žigovi koji se ovdje spominju su vlasništvo njihovih odgovarajućih kompanija.
© 2023, Microchip Technology Incorporated i njegove podružnice. Sva prava zadržana.
ISBN: 978-1-6683-3694-6
Sistem upravljanja kvalitetom
Za informacije u vezi Microchipovih sistema upravljanja kvalitetom, posjetite www.microchip.com/quality.
AMERIKA | AZIJA/PACIFIK | AZIJA/PACIFIK | EVROPA |
Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 faks: 480-792-7277 tehnička podrška: www.microchip.com/support Web Adresa: 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 Hjuston, Teksas 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 |
Australija – Sidnej Tel: 61-2-9868-6733 Kina – Peking Tel: 86-10-8569-7000 Kina – Čengdu Tel: 86-28-8665-5511 Kina – Chongqing Tel: 86-23-8980-9588 Kina – Dongguan Tel: 86-769-8702-9880 Kina – Guangdžou Tel: 86-20-8755-8029 Kina – Hangzhou Tel: 86-571-8792-8115 Kina – Hong Kong SAR Tel: 852-2943-5100 Kina – Nanjing Tel: 86-25-8473-2460 Kina – Qingdao Tel: 86-532-8502-7355 Kina – Šangaj Tel: 86-21-3326-8000 Kina – Šenjang Tel: 86-24-2334-2829 Kina – Šenžen Tel: 86-755-8864-2200 Kina – Suzhou Tel: 86-186-6233-1526 Kina – Wuhan Tel: 86-27-5980-5300 Kina – Xian Tel: 86-29-8833-7252 Kina – Xiamen Tel: 86-592-2388138 Kina – Zhuhai Tel: 86-756-3210040 |
Indija – Bangalor Tel: 91-80-3090-4444 Indija – Nju Delhi Tel: 91-11-4160-8631 Indija - Puna Tel: 91-20-4121-0141 Japan – Osaka Tel: 81-6-6152-7160 Japan – 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 – Kaosjung Tel: 886-7-213-7830 Tajvan – Tajpej Tel: 886-2-2508-8600 Tajland – Bangkok Tel: 66-2-694-1351 Vijetnam – Ho Ši Min Tel: 84-28-5448-2100 |
Austrija – Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Danska – Kopenhagen Tel: 45-4485-5910 Fax: 45-4485-2829 Finska – Espoo Tel: 358-9-4520-820 Francuska – Pariz Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Njemačka – Garching Tel: 49-8931-9700 Njemačka – Haan Tel: 49-2129-3766400 Njemačka – Heilbronn Tel: 49-7131-72400 Njemačka – Karlsruhe Tel: 49-721-625370 Njemačka – Minhen Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Njemačka – Rosenheim Tel: 49-8031-354-560 Izrael – Raanana Tel: 972-9-744-7705 Italija – Milano Tel: 39-0331-742611 Fax: 39-0331-466781 Italija – Padova Tel: 39-049-7625286 Holandija – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norveška – Trondhajm Tel: 47-72884388 Poljska – Varšava Tel: 48-22-3325737 Rumunija – Bukurešt Tel: 40-21-407-87-50 Španija - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Švedska – Getenberg Tel: 46-31-704-60-40 Švedska – Stokholm Tel: 46-8-5090-4654 UK – Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
© 2023 Microchip Technology Inc. i njegove podružnice
DS50003627A –
Dokumenti / Resursi
![]() |
MICROCHIP Libero SoC Simulation Library Software [pdf] Korisnički priručnik DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Library Software, Software |