Simulació Libero SoC
Instruccions de configuració de la biblioteca
Introducció
L'objectiu d'aquest document és descriure el procediment per configurar l'entorn de simulació utilitzant un projecte Libero SoC com a entrada. Aquesta documentació correspon a les biblioteques compilades prèviament proporcionades per utilitzar-les amb Libero SoC v11.9 i versions de programari més recents. Les biblioteques proporcionades estan compilades per a Verilog. Els usuaris de VHDL requereixen una llicència que permeti la simulació en mode mixt.
Les biblioteques de simulació compilades estan disponibles per a les eines següents:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise i Xcelium
- Siemens QuestaSim
- Sinopsi VCS
Per sol·licitar una biblioteca per a un simulador diferent, poseu-vos en contacte Suport tècnic de microxip.
Integració de Libero SoC
Libero SoC admet la simulació mitjançant ModelSim ME generant un run.do file. Això file és utilitzat per ModelSim ME/ModelSim Pro ME per configurar i executar la simulació. Per utilitzar altres eines de simulació, podeu generar el ModelSim ME/ModelSim Pro ME run.do i modificar l'script Tcl file per utilitzar les ordres compatibles amb el vostre simulador.
1.1 Libero SoC Tcl File generació (Fes una pregunta)
Després de crear i generar disseny al Libero SoC, inicieu una simulació ModelSim ME/ModelSim Pro ME en totes les fases de disseny (presynth, postsynth i post-disseny). Aquest pas genera el fitxer run.do file per al ModelSim ME/ModelSim Pro ME per a cada fase de disseny.
Important: Després d'iniciar cada execució de simulació, canvieu el nom del run.do generat automàticament file sota el directori de simulació per evitar que Libero SoC sobreescrigui això file. Per exampel, la files es pot canviar el nom a presynth_run.do, postsynth_run.do i postlayout_run.do.
Configuració Aldec per a Active-HDL i Riviera-Pro (Fes una pregunta)
La carrera.do file utilitzat pel ModelSim ME/ModelSim Pro ME es pot modificar i utilitzar per a la simulació mitjançant els simuladors Aldec.
2.1 Variable d'entorn (Fes una pregunta)
Establiu la vostra variable d'entorn a la vostra llicència file ubicació:
LM_LICENSE_FILE: ha d'incloure un punter al servidor de llicències.
2.2 Descarregar biblioteca compilada (Fes una pregunta)
Descarrega les biblioteques de l'Aldec Active-HDL i l'Aldec Riviera-PRO des del Microxip weblloc.
2.3 Convertir run.do per a la simulació Aldec (Fes una pregunta)
La carrera.do fileEls generats per Libero SoC per a simulacions amb l'eina Active-HDL i Riviera-Pro es poden utilitzar per a simulacions amb Active-HDL i Riviera-Pro amb un sol canvi. La taula següent enumera les ordres equivalents a Aldec per modificar al ModelSim run.do file.
Taula 2-1. Ordres equivalents d'Aldec
ModelSim | Active-HDL |
vlog | al·log |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
El següent és comample run.do relacionat amb els simuladors Aldec.
- Establiu la ubicació del directori de treball actual.
establir dsn - Establiu un nom de biblioteca de treball, mapeu la seva ubicació i, a continuació, mapeu la ubicació de la família FPGA de Microchip
biblioteques precompilades (per example, SmartFusion2) en què esteu executant el vostre disseny.
alib presint
amap presynth presynth
amap SmartFusion2 - Compileu tots els HDL necessaris files'utilitza en el disseny amb la biblioteca requerida.
alog –work presynth temp.v (per a Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (per a Vhdl)
acom –work presynth testbench.vhd - Simula el disseny.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
corre 10us
2.4 Problemes coneguts (Fes una pregunta)
Aquesta secció enumera els problemes i limitacions coneguts.
- Les biblioteques compilades amb Riviera-PRO són específiques de la plataforma (és a dir, les biblioteques de 64 bits no es poden executar en una plataforma de 32 bits i viceversa).
- Per als dissenys que continguin SERDES/MDDR/FDDR, utilitzeu l'opció següent al vostre run.do files mentre s'executen simulacions després de compilar els seus dissenys:
– Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (per a simulacions de presa i post-maquetació) i asim –O5 (per a simulacions de post-maquetació)
La configuració d'Aldec per a Active-HDL i Riviera-Pro té els següents SAR pendents. Per a més informació, contacteu Suport tècnic de microxip. - SAR 49908 – Active-HDL: error VHDL per a simulacions de blocs matemàtics
- SAR 50627 – Riviera-PRO 2013.02: errors de simulació per a dissenys SERDES
- SAR 50461 – Riviera-PRO: opció asim -O2/-O5 en simulacions
Configuració incisiva de la cadència (Fes una pregunta)
Heu de crear un script file similar al ModelSim ME/ModelSim Pro ME run.do per executar el
Simulador de cadència incisiva. Seguiu aquests passos i creeu l'script file per a NCSim o utilitzeu l'script file
proporcionat per convertir el ModelSim ME/ModelSim Pro ME run.do files a la configuració files
necessaris per executar les simulacions amb NCSim.
Important: cadència ha deixat de llançar noves versions de l'Incisive Enterprise
simulador i va començar a donar suport al simulador Xcelium.
3.1 Variables d'entorn (Fes una pregunta)
Per executar el simulador Cadence Incisive, configureu les variables d'entorn següents:
- LM_LICENSE_FILE: ha d'incloure un punter a la llicència file.
- cds_root: ha d'apuntar a la ubicació del directori inicial de la instal·lació de Cadence Incisive.
- PATH: ha d'apuntar a la ubicació de la paperera sota el directori d'eines apuntat per cds_root, és a dir,
$cds_root/tools/bin/64bit (per a una màquina de 64 bits i $cds_root/tools/bin per a una màquina de 32 bits).
Hi ha tres maneres de configurar l'entorn de simulació en cas de canviar entre sistemes operatius de 64 bits i 32 bits:
Cas 1: variable PATH
Executeu l'ordre següent:
set path = (install_dir/tools/bin/64bit $path) per a màquines de 64 bits i
set path = (install_dir/tools/bin $path) per a màquines de 32 bits
Cas 2: Ús de l'opció de línia d'ordres de -64 bits
A la línia d'ordres, especifiqueu l'opció -64 bits per invocar l'executable de 64 bits.
Cas 3: Configuració de la variable d'entorn INCA_64BIT o CDS_AUTO_64BIT
La variable INCA_64BIT es tracta com a booleana. Podeu establir aquesta variable a qualsevol valor o a una cadena nul·la.
setenv INCA_64BIT
Important: El La variable d'entorn INCA_64BIT no afecta altres eines de Cadence, com ara les eines IC. Tanmateix, per a les eines incisives, la variable INCA_64BIT anul·la la configuració de la variable d'entorn CDS_AUTO_64BIT. Si s'estableix la variable d'entorn INCA_64BIT, totes les eines incisives s'executen en mode de 64 bits. setenv CDS_AUTO_64BIT INCLUDE:INCA
Important: El string INCA ha d'estar en majúscules. Tots els executables s'han d'executar en mode de 32 bits o en mode de 64 bits, no configureu la variable perquè inclogui un executable, com es mostra a continuació:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Altres eines de Cadence, com les eines IC, també utilitzen la variable d'entorn CDS_AUTO_64BIT per controlar la selecció d'executables de 32 o 64 bits. La taula següent mostra com podeu configurar la variable CDS_AUTO_64BIT per executar les eines incisives i les eines IC en tots els modes.
Taula 3-1. Variables CDS_AUTO_64BIT
CDS_AUTO_64BIT variable | Eines incisives | Eines IC |
setenv CDS_AUTO_64BIT TOT | 64 bits | 64 bits |
setenv CDS_AUTO_64BIT CAP | 32 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary | 64 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bits | 64 bits |
Important: Totes les eines incisives s'han d'executar en mode de 32 bits o en mode de 64 bits, no utilitzeu EXCLUDE per excloure un executable específic, com es mostra a continuació: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Si configureu la variable CDS_AUTO_64BIT per excloure les eines incisives (setenv CDS_AUTO_64BIT EXCLUDE:INCA), totes les eines incisives s'executen en mode de 32 bits. Tanmateix, l'opció de línia d'ordres -64 bits anul·la la variable d'entorn.
La configuració següent fileus ajuden a gestionar les vostres dades i controlar el funcionament de les eines i utilitats de simulació:
- Cartografia de la biblioteca file (cds.lib): defineix un nom lògic per a la ubicació del vostre disseny.
- Biblioteques i les associa amb noms de directoris físics.
- Variables file (hdl.var): defineix les variables que afecten el comportament de les eines i utilitats de simulació.
3.2 Descarregar biblioteca compilada (Fes una pregunta)
Baixeu les biblioteques de Cadence Incisive de Microsemi's weblloc.
3.3 Creació de l'script NCSim File (Fes una pregunta)
Després de crear una còpia del fitxer run.do files, realitzeu aquests passos per executar la vostra simulació amb NCSim:
- Creeu un cds.lib file que defineix les biblioteques accessibles i la seva ubicació. El file conté declaracions que mapegen els noms lògics de les biblioteques amb els seus camins de directoris físics. Per example, si esteu executant la simulació de sintetització, el fitxer cds.lib file s'escriu tal com es mostra al bloc de codi següent.
DEFINIR presynth ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIR smartfusion2 - Creeu un hdl.var file, una configuració opcional file que conté variables de configuració, que determina com es configura el vostre entorn de disseny. La següent variable files inclouen:
– Variables que s'utilitzen per especificar la biblioteca de treball on el compilador emmagatzema els objectes compilats i altres dades derivades.
– Per a Verilog, variables (LIB_MAP, VIEW_MAP, WORK) que s'utilitzen per especificar les biblioteques i views per cercar quan l'elaborador resol instàncies.
– Variables que permeten definir opcions i arguments de la línia d'ordres del compilador, l'elaborador i el simulador.
En el cas de la simulació presenth exampel que es mostra a dalt, diguem que tenim tres RTL files: av, bv i testbench.v, que s'han de compilar a les biblioteques presynth, COREAHBLITE_LIB i presenth respectivament. El fitxer hdl.var file es pot escriure com es mostra al bloc de codi següent.
DEFINIR TREBALL presint
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, + => sintetitzador ) - Compilar el disseny files utilitza l'opció ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –actualització –linedebug a bv testbench.v - Elaborar el disseny amb ncelab. L'elaborador construeix una jerarquia de disseny basada en la informació d'instanciació i configuració del disseny, estableix la connectivitat del senyal i calcula els valors inicials per a tots els objectes del disseny. La jerarquia de disseny elaborada s'emmagatzema en una instantània de simulació, que és la representació del vostre disseny que el simulador utilitza per executar la simulació.
ncelab –Missatge –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
accedeix a +rwc –status worklib. : mòdul
Elaboració durant la simulació Post-maquetació
En cas de simulacions posteriors a la maquetació, primer l'SDF file s'ha de compilar abans de l'elaboració mitjançant l'ordre ncsdfc.
ncsdfcfilenom>.sdf –sortidafilenom>.sdf.X
Durant l'elaboració, utilitzeu la sortida SDF compilada amb l'opció –autosdf tal com es mostra al bloc de codi següent.
ncelab -autosdf –Missatge –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :mòdul –sdf_cmd_file ./
sdf_cmd_file
El sdf_cmd_file ha de ser com es mostra al bloc de codi següent.
COMPILED_SDF_FILE = " file>" - Simula amb ncsim. Després de l'elaboració es crea una instantània de simulació, que ncsim carrega per a la simulació. Podeu executar-lo en mode per lots o en mode GUI.
ncsim –Missatge –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
errormax 15 –status worklib. : mòdul
Important: Tots els tres passos anteriors de compilació, elaboració i simulació es poden posar en un script de shell file i provinent de la línia d'ordres. En lloc d'utilitzar aquests tres passos, el disseny es pot simular en un sol pas mitjançant l'opció ncverilog o irun, tal com es mostra al bloc de codi següent.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files'utilitza en el disseny>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
utilitzat en el disseny>
3.3.1 Problemes coneguts (Fes una pregunta)
Solució alternativa al banc de proves
L'ús de la instrucció següent per especificar la freqüència de rellotge al banc de proves generat per l'usuari o el banc de proves predeterminat generat per Libero SoC no funciona amb NCSim.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifiqueu de la següent manera per executar la simulació:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Important: compilat les biblioteques per a NCSim són específiques de la plataforma (és a dir, les biblioteques de 64 bits no són compatibles amb la plataforma de 32 bits i viceversa).
Simulacions post-sintetització i post-maquetació utilitzant MSS i SERDES Mentre s'executen simulacions post-sintetització de dissenys que contenen el bloc MSS o les simulacions post-maquetació de dissenys que utilitzen SERDES, les simulacions BFM no funcionen si l'opció –libmap està activada.
no especificat durant l'elaboració. Això es deu al fet que durant l'elaboració, MSS es resol des de la biblioteca de treball (a causa de l'enllaç predeterminat i de la worklib postsynth/post-layout) on només és una funció fixa.
L'ordre ncelab s'ha d'escriure tal com es mostra al bloc de codi següent per resoldre el MSS
bloc de la biblioteca precompilada SmartFusion2.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
i el lib.map file ha de ser el següent:
config cfg1;
disseny ;
llista de lib per defecte smartfusion2 ;
endconfig
Això resol qualsevol cel·la de la biblioteca SmartFusion2 abans de buscar a la biblioteca de treball, és a dir, postsynth/post-layout.
L'opció –libmap es pot utilitzar per defecte durant l'elaboració per a cada simulació (presynth, postsynth i post-layout). Això evita problemes de simulació causats per la resolució d'instàncies de les biblioteques.
ncelab: *F,INTERR: EXCEPCIÓ INTERNA
Aquesta excepció de l'eina ncelab és una advertència per als dissenys que contenen FDDR a SmartFusion 2 i IGLOO 2 durant les simulacions posteriors a la sintetització i posterior a la disposició mitjançant l'opció –libmap.
Important: S'ha informat d'aquest problema a l'equip d'assistència de Cadence (SAR 52113).
3.4 Sample Tcl i Shell Script Files (Fes una pregunta)
El següent files són la configuració filesón necessaris per configurar el disseny i l'script de l'intèrpret d'ordres file per executar ordres NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIR presynth ./presynth
Hdl.var
DEFINIR TREBALL presint
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 =>
presint)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => sintetitzador)
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 => sintetitzador)
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 =>
presint)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => sintetitzador)
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 => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => sintetitzador )
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 -Missatge -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presesynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:mòdul
3.5 Automatització (Fes una pregunta)
El següent guió file converteix el ModelSim run.do files en configuració filesón necessaris per executar simulacions amb NCSim.
Guió File Ús
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
##################################################### ###########################################
#################
#Ús: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
##################################################### ###########################################
#################
utilitzar POSIX;
ús estricte;
el meu ($presynth, $postsynth, $postlayout, $família, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sub aquesta_parser {
el meu $ModelSim_run_do = $_[0];
la meva $actel_family = $_[1];
la meva $lib_location = $_[2];
el meu $estat;
if ( -e "$ModelSim_run_do")
{
obert (INFILE,”$ModelSim_run_do”);
el meu @ModelSim_run_do =FILE>;
la meva $línia;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
obert (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$estat = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
obert (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$estat = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
obert (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$estat = $1;
} altra cosa
{
imprimir "Entrades incorrectes donades al file\n”;
imprimir "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Ubicació_biblioteca\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operacions Generals
$línia =~ s/..\/dissenyador.*simulació\///g;
$línia =~ s/$estat/$estat\_questa/g;
#ImprimirFILE “$línia \n”;
if ($línia =~ m/vmap\s+.*($família_actel)/)
{
ImprimirFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($línia =~ m/vmap\s+(.*._LIB)/)
{
$línia =~ s/..\/component/..\/..\/component/g;
ImprimirFILE “$línia \n”;
} elsif ($línia =~ m/vsim/)
{
$línia =~ s/vsim/vsim -novopt/g;
ImprimirFILE “$línia \n”;
} altra cosa
{
ImprimirFILE “$línia \n”;
}
}
tancar (INFILE);
concloureFILE);
} altrament {
imprimir "$ModelSim_run_do no existeix. Torna a executar la simulació \n”;
}
}
Configuració de Cadence Xcelium (Inici de sessió del microxip)
Heu de crear un script file similar al ModelSim ME/ModelSim Pro ME run.do per executar el simulador Cadence Xcelium. Seguiu aquests passos i creeu l'script file per a Xcelium o utilitzeu l'script file proporcionat per convertir el ModelSim ME/ModelSim Pro ME run.do files a la configuració filees necessita per executar simulacions amb Xcelium.
4.1 Variables d'entorn (Fes una pregunta)
Per executar el Cadence Xcelium, configureu les variables d'entorn següents:
- LM_LICENSE_FILE: ha d'incloure un punter a la llicència file.
- arrel_cds: ha d'apuntar a la ubicació del directori inicial de la instal·lació de Cadence Incisive.
- PATH: ha d'apuntar a la ubicació de la paperera sota el directori d'eines apuntat per cds_root (és a dir
$cds_root/tools/bin/64bit (per a una màquina de 64 bits i $cds_root/tools/bin per a una màquina de 32 bits
màquina).
Hi ha tres maneres de configurar l'entorn de simulació en cas de canviar entre sistemes operatius de 64 bits i 32 bits:
Cas 1: variable PATH
set path = (install_dir/tools/bin/64bit $path) per a màquines de 64 bits i
set path = (install_dir/tools/bin $path) per a màquines de 32 bits
Cas 2: Ús de l'opció de línia d'ordres de -64 bits
A la línia d'ordres, especifiqueu l'opció -64 bits per invocar l'executable de 64 bits.
Cas 3: Configuració de la variable d'entorn INCA_64BIT o CDS_AUTO_64BIT
La variable INCA_64BIT es tracta com a booleana. Podeu establir aquesta variable a qualsevol valor o a un null
corda.
setenv INCA_64BIT
Important: El La variable d'entorn INCA_64BIT no afecta altres eines de Cadence, com ara les eines IC. Tanmateix, per a les eines incisives, la variable INCA_64BIT anul·la la configuració de la variable d'entorn CDS_AUTO_64BIT. Si la variable d'entorn INCA_64BIT és et, totes les eines Incisive s'executen en mode de 64 bits.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Important: El string INCA ha d'estar en majúscules. Tots els executables s'han d'executar en mode de 2 bits o en mode de 64 bits, no configureu la variable perquè inclogui un executable, com es mostra a continuació:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Altres eines de Cadence, com les eines IC, també utilitzen la variable d'entorn CDS_AUTO_64BIT per controlar la selecció d'executables de 32 o 64 bits. La taula següent mostra com podeu configurar la variable CDS_AUTO_64BIT per executar les eines incisives i les eines IC en tots els modes.
Taula 4-1. Variables CDS_AUTO_64BIT
CDS_AUTO_64BIT variable | Eines incisives | Eines IC |
setenv CDS_AUTO_64BIT TOT | 64 bits | 64 bits |
setenv CDS_AUTO_64BIT CAP | 32 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE: ic_binary |
64 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bits | 64 bits |
Important: Totes les eines incisives s'han d'executar en mode de 32 bits o en mode de 64 bits, no utilitzeu EXCLUDE per excloure un executable específic, com es mostra a continuació:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Si configureu la variable CDS_AUTO_64BIT per excloure les eines incisives (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), totes les eines incisives s'executen en mode de 32 bits. No obstant això, el
-L'opció de línia d'ordres de 64 bits anul·la la variable d'entorn.
La configuració següent fileus ajuden a gestionar les vostres dades i controlar el funcionament de les eines i utilitats de simulació:
- Cartografia de la biblioteca file (cds.lib) defineix un nom lògic per a la ubicació del vostre disseny.
- Biblioteques i les associa amb noms de directoris físics.
- Variables file (hdl.var) defineix variables que afecten el comportament de les eines i utilitats de simulació.
4.2 Descarregar biblioteca compilada (Fes una pregunta)
Baixeu les biblioteques de Cadence Xcelium de Microsemi's weblloc.
4.3 Creació de l'script Xcelium file (Fes una pregunta)
Després de crear una còpia del fitxer run.do files, realitzeu els passos següents per executar la simulació mitjançant l'script Xcelium file.
- Creeu un cds.lib file que defineix quines biblioteques són accessibles i on es troben.
El file conté declaracions que mapegen els noms lògics de les biblioteques amb els seus camins de directoris físics. Per example, si esteu executant la simulació de sintetització, el fitxer cds.lib file es pot escriure com es mostra al bloc de codi següent.
DEFINIR presynth ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIR smartfusion2 - Creeu un hdl.var file que és una configuració opcional file que conté variables de configuració, que determina com es configura el vostre entorn de disseny. Això inclou:
– Variables que s'utilitzen per especificar la biblioteca de treball on el compilador emmagatzema els objectes compilats i altres dades derivades.
– Per a Verilog, variables (LIB_MAP, VIEW_MAP, WORK) que s'utilitzen per especificar les biblioteques i views per cercar quan l'elaborador resol instàncies.
– Variables que permeten definir opcions i arguments de la línia d'ordres del compilador, l'elaborador i el simulador.
En el cas de la simulació presenth exampel que es mostra a dalt, diguem que tenim 3 RTL files av, bv i testbench.v, que s'han de compilar a les biblioteques presynth, COREAHBLITE_LIB i presenth respectivament. El fitxer hdl.var file es pot escriure com es mostra al bloc de codi següent.
DEFINIR TREBALL presint
DEFINE PROJECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, + => sintetitzador ) - Compilar el disseny files utilitza l'opció ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –actualització –linedebug a bv testbench.v - Elaborar el disseny amb ncelab. L'elaborador construeix una jerarquia de disseny basada en la informació d'instanciació i configuració del disseny, estableix la connectivitat del senyal i calcula els valors inicials per a tots els objectes del disseny. La jerarquia de disseny elaborada s'emmagatzema en una instantània de simulació, que és la representació del vostre disseny que el simulador utilitza per executar la simulació.
Xcelium –Missatge –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
accedeix a +rwc –status worklib. : mòdul
Elaboració durant la simulació Post-maquetació
En cas de simulacions posteriors a la maquetació, primer l'SDF file s'ha de compilar abans de l'elaboració mitjançant l'ordre ncsdfc.
Xceliumfilenom>.sdf –sortidafilenom>.sdf.X
Durant l'elaboració, utilitzeu la sortida SDF compilada amb l'opció –autosdf tal com es mostra al bloc de codi següent.
xmelab -autosdf –Missatge –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :mòdul –sdf_cmd_file ./
sdf_cmd_file
El sdf_cmd_file ha de ser com es mostra al bloc de codi següent.
COMPILED_SDF_FILE = " file>" - Simula amb Xcelium. Després de l'elaboració es crea una instantània de simulació que Xcelium carrega per a la simulació. Això es pot executar en mode per lots o en mode GUI.
xmsim –Missatge –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
errormax 15 –status worklib. : mòdul
Configuració de Cadence Xcelium
Important: Tots els tres passos anteriors de compilació, elaboració i simulació es poden posar en un script de shell file i provinent de la línia d'ordres. En lloc d'utilitzar aquests tres passos, el disseny es pot simular en un sol pas mitjançant l'opció ncverilog o xrun tal com es mostra al bloc de codi següent.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files'utilitza en el disseny>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
utilitzat en el disseny>
4.3.1 Problemes coneguts (Fes una pregunta)
Solució alternativa al banc de proves
L'ús de la instrucció següent per especificar la freqüència de rellotge al banc de proves generat per l'usuari o al banc de proves predeterminat generat per Libero SoC no funciona amb Xcelium.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifiqueu de la següent manera per executar la simulació:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Important: Les biblioteques compilades per a Xcelium són específiques de la plataforma (és a dir, les biblioteques de 64 bits no són compatibles amb la plataforma de 32 bits i viceversa).
Simulacions Postsynth i Post-layout utilitzant MSS i SERDES
Mentre s'executen simulacions postsynth de dissenys que contenen blocs MSS, o simulacions posteriors al disseny de dissenys utilitzant SERDES, les simulacions BFM no funcionen si no s'especifica l'opció –libmap durant l'elaboració. Això es deu al fet que durant l'elaboració, MSS es resol des de la biblioteca de treball (a causa de l'enllaç predeterminat i de la worklib postsynth/post-layout) on només és una funció fixa.
L'ordre ncelab s'ha d'escriure tal com es mostra al bloc de codi següent per resoldre el bloc MSS de la biblioteca precompilada SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
i el lib.map file ha de ser el següent:
config cfg1;
disseny ;
llista de lib per defecte smartfusion2 ;
endconfig
Això ha de resoldre qualsevol cel·la de la biblioteca SmartFusion2 abans de buscar a la biblioteca de treball, és a dir, postsynth/post-layout.
L'opció –libmap es pot utilitzar per defecte durant l'elaboració per a cada simulació (presynth, postsynth i post-layout). Això evita problemes de simulació causats per la resolució d'instàncies de les biblioteques.
xmelab: *F,INTERR: EXCEPCIÓ INTERNA
Aquesta excepció de l'eina ncelab és una advertència per als dissenys que contenen FDDR a SmartFusion2 i IGLOO2
durant les simulacions postsynth i post-maquetació utilitzant l'opció –libmap.
Important: S'ha informat d'aquest problema a l'equip d'assistència de Cadence (SAR 52113).
4.4 Sample Tcl i script shell files (Fes una pregunta)
El següent files són la configuració filesón necessaris per configurar el disseny i l'script de l'intèrpret d'ordres file per executar ordres Xcelium.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIR presynth ./presynth
Hdl.var
DEFINIR TREBALL presint
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 =>
presint)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => sintetitzador)
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 => sintetitzador)
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 =>
presint)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => sintetitzador)
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 => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => sintetitzador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => sintetitzador )
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 -Missatge -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presesynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:mòdul
4.5 Automatització (Inici de sessió del microxip)
El següent guió file converteix ModelSim run.do files en configuració filees necessita per executar simulacions amb Xcelium.
Guió File Ús
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
##################################################### ###########################################
#################
#Ús: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
##################################################### ###########################################
#################
utilitzar POSIX;
ús estricte;
el meu ($presynth, $postsynth, $postlayout, $família, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sub aquesta_parser {
el meu $ModelSim_run_do = $_[0];
la meva $actel_family = $_[1];
la meva $lib_location = $_[2];
el meu $estat;
if ( -e "$ModelSim_run_do")
{
obert (INFILE,”$ModelSim_run_do”);
el meu @ModelSim_run_do =FILE>;
la meva $línia;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
obert (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$estat = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
obert (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$estat = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
obert (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$estat = $1;
} altra cosa
{
imprimir "Entrades incorrectes donades al file\n”;
imprimir "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Ubicació_biblioteca\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operacions Generals
$línia =~ s/..\/dissenyador.*simulació\///g;
$línia =~ s/$estat/$estat\_questa/g;
#ImprimirFILE “$línia \n”;
if ($línia =~ m/vmap\s+.*($família_actel)/)
{
ImprimirFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($línia =~ m/vmap\s+(.*._LIB)/)
{
$línia =~ s/..\/component/..\/..\/component/g;
ImprimirFILE “$línia \n”;
} elsif ($línia =~ m/vsim/)
{
$línia =~ s/vsim/vsim -novopt/g;
ImprimirFILE “$línia \n”;
} altra cosa
{
ImprimirFILE “$línia \n”;
}
}
tancar (INFILE);
concloureFILE);
} altrament {
imprimir "$ModelSim_run_do no existeix. Torna a executar la simulació \n”;
}
}
Configuració de Siemens QuestaSim/Configuració de ModelSim (Fes una pregunta)
La carrera.do files, generat pel SoC Libero per a simulacions amb ModelSim Microsemi Editions, es pot utilitzar per a simulacions amb QuestaSim/ModelSim SE/DE/PE amb un sol canvi. Al ModelSim ME/ModelSim Pro ME run.do file, la ubicació de les biblioteques precompilades s'ha de modificar.
Important:
Per defecte, l'eina de simulació diferent del ModelSim Pro ME realitza una optimització del disseny durant la simulació que pot afectar la visibilitat dels artefactes de simulació, com ara objectes de disseny i estímuls d'entrada.
Això normalment és útil per reduir el temps d'execució de la simulació per a les simulacions complexes, utilitzant bancs de proves detallats i d'autocomprovació. Tanmateix, és possible que les optimitzacions predeterminades no siguin adequades per a totes les simulacions, especialment en els casos en què espereu inspeccionar gràficament els resultats de la simulació mitjançant la finestra d'ona.
Per solucionar els problemes causats per aquesta optimització, heu d'afegir ordres adequades i arguments relacionats durant la simulació per restaurar la visibilitat del disseny. Per obtenir ordres específiques de l'eina, consulteu la documentació del simulador en ús.
5.1 Variables d'entorn (Fes una pregunta)
A continuació es mostren les variables d'entorn necessàries.
- LM_LICENSE_FILE: ha d'incloure el camí a la llicència file.
- MODEL_TECH: ha d'identificar el camí a la ubicació del directori inicial de la instal·lació de QuestaSim.
- PATH: ha d'apuntar a la ubicació executable apuntada per MODEL_TECH.
5.2 Convertir run.do per a Mentor QuestaSim (Fes una pregunta)
La carrera.do fileEls generats per Libero SoC per a simulacions amb ModelSim Microsemi Editions es poden utilitzar per a simulacions amb QuestaSim/ModelSim_SE amb un sol canvi.
Important: Tots els dissenys que es simulen amb QuestaSim han d'incloure -novopt
opció juntament amb l'ordre vsim a l'script run.do files.
5.3 Baixeu la biblioteca compilada (Fes una pregunta)
Baixeu les biblioteques de Mentor Graphics QuestaSim de Microsemi's weblloc.
Configuració de Synopsys VCS (Fes una pregunta)
El flux recomanat per Microsemi es basa en el flux Elabora i Compile a VCS. Aquest document inclou un script file que utilitza l'script run.do files generat per Libero SoC i genera la configuració files necessaris per a la simulació VCS. El guió file utilitza el run.do file per fer el següent.
- Crear un mapa de biblioteca file, que es fa mitjançant synopsys_sim.setup file situat al mateix directori on s'està executant la simulació VCS.
- Creeu un script de shell file per elaborar i compilar el vostre disseny mitjançant VCS.
6.1 Variables d'entorn (Fes una pregunta)
Establiu les variables d'entorn adequades per a VCS en funció de la vostra configuració. Les variables d'entorn necessàries segons la documentació de VCS són:
- LM_LICENSE_FILE: ha d'incloure un punter al servidor de llicències.
- VCS_HOME: ha d'apuntar a la ubicació del directori inicial de la instal·lació de VCS.
- PATH: ha d'incloure un punter al directori bin sota el directori VCS_HOME.
6.2 Descarregar biblioteca compilada (Fes una pregunta)
Baixeu les biblioteques de Synopsys VCS de Microsemi's weblloc.
6.3 Script de simulació VCS File (Fes una pregunta)
Després de configurar VCS i generar el disseny i els diferents run.do files de Libero SoC, heu de:
- Creeu el mapeig de la biblioteca file synopsys_sim.setup; això file conté punters a la ubicació de totes les biblioteques que utilitzarà el disseny.
Important: El file El nom no ha de canviar i s'ha d'ubicar al mateix directori on s'està executant la simulació. Aquí teniu un example per tal a file per a la simulació de la presíntesi.
TREBALL > EFAULT
SmartFusion2:
presint: ./presynth
PER Defecte: ./treball - Elabora el disseny diferent files, inclòs el banc de proves, utilitzant l'ordre vlogan a VCS. Aquestes ordres es poden incloure en un script de shell file. El següent és un exampde les ordres que es necessiten per elaborar un disseny definit a rtl.v amb el seu banc de proves definit a
banc de proves.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Compileu el disseny amb VCS mitjançant l'ordre següent.
vcs –sim_res=1fs presynth.testbench
Nota: El La resolució temporal de la simulació s'ha d'establir a 1fs per a una simulació funcional correcta. - Un cop compilat el disseny, inicieu la simulació amb l'ordre següent.
./simv - Per a la simulació amb anotacions posteriors, l'ordre VCS ha de ser com es mostra al bloc de codi següent.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
nom>: file camí> –gui –l postlayout.log
6.4 Limitacions/Excepcions (Fes una pregunta)
A continuació es mostren les limitacions/excepcions de la configuració de Synopsys VCS.
- Les simulacions VCS només es poden executar per a projectes Verilog de Libero SoC. El simulador de VCS té requisits estrictes d'idioma VHDL que no compleix el VHDL generat automàticament de Libero SoC files.
- Heu de tenir una declaració $finish al banc de proves de Verilog per aturar la simulació quan vulgueu.
Important: Quan les simulacions s'executen en mode GUI, el temps d'execució es pot especificar a la GUI.
6.5 Sample Tcl i Shell Script Files (Fes una pregunta)
El següent Perl automatitza la generació de synopsys_sim.setup file així com l'script shell corresponent filesón necessaris per elaborar, compilar i simular el disseny.
Si el disseny utilitza un MSS, copieu el fitxer test.vec file situat a la carpeta de simulació del projecte Libero SoC a la carpeta de simulació VCS. Els apartats següents contenen sample run.do files generats per Libero SoC, inclòs el mapeig de la biblioteca i l'script de shell corresponents files necessaris per a la simulació VCS.
6.5.1 Presíntesi (Fes una pregunta)
Presynth_run.do
configurar silenciosament ACTELLIBNAME SmartFusion2
estableixi en silenci PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
si {[file existeix presynth/_info]} {
echo "INFO: el sintetitzador de biblioteca de simulació ja existeix"
} altrament {
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" -works presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
afegir ona /SD1_TB1/*
afegir registre -r /*
córrer 1000ns
presiynth_main.csh
#!/bin/csh -f
set PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth “${PROJECT_DIR}/component/
treball/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -treball
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
TREBALL > PREDETERMINAT
SmartFusion2 : /VCS/SmartFusion2
presint: ./presynth
PER Defecte: ./treball
6.5.2 Postsíntesi (Fes una pregunta)
postsynth_run.do
configurar silenciosament ACTELLIBNAME SmartFusion2
estableixi en silenci PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
si {[file existeix postsynth/_info]} {
echo "INFO: la biblioteca de simulació postsynth ja existeix"
} altrament {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postsynth "${PROJECT_DIR}/synthesis/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -work postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
afegir ona /SD1_TB1/*
afegir registre -r /*
córrer 1000ns
registre SD1_TB1/*
sortida
Postsynth_main.csh
#!/bin/csh -f
set PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth “${PROJECT_DIR}/synthesis/
SD1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -treball
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
TREBALL > PREDETERMINAT
SmartFusion2 : /VCS/SmartFusion2
postsynth: ./postsynth
PER Defecte: ./treball
6.5.3 Posterior al disseny (Fes una pregunta)
postlayout_run.do
configurar silenciosament ACTELLIBNAME SmartFusion2
estableixi en silenci PROJECT_DIR "E:/ModelSim_Work/Test_DFF"
si {[file existeix ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: la biblioteca de simulació ../designer/SD1/simulation/postlayout ja existeix"
} altrament {
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” -workout 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
afegir ona /SD1_TB1/*
afegir registre -r /*
córrer 1000ns
Postlayout_main.csh
#!/bin/csh -f
set PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
dissenyador/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -treball
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
TREBALL > PREDETERMINAT
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
PER Defecte: ./workVCS
6.6 Automatització (Fes una pregunta)
El flux es pot automatitzar mitjançant el següent script Perl file per convertir el ModelSim run.do files en un script de shell compatible amb VCS files, creeu directoris adequats dins del directori de simulació de Libero SoC i, a continuació, executeu simulacions.
Executeu l'script file utilitzant la sintaxi següent.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
##################################################### ###########################
#
#Ús: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
##################################################### #############################
el meu ($presynth, $postsynth, $postlayout) = @ARGV;
if(sistema(“mkdir VCS_Presynth”)) {imprimir “mkdir ha fallat:\n”;}
if(sistema(“mkdir VCS_Postsynth”)) {imprimir “mkdir ha fallat:\n”;}
if(sistema(“mkdir VCS_Postlayout”)) {imprimir “mkdir ha fallat:\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 {
el meu $vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k" ;
el meu %LIB = ();
el meu $file = $_[0] ;
el meu $estat = $_[1];
obert (INFILE,”$file”) || morir "No es pot obrir File La raó podria ser: $!”;
if ( $state eq "presynth")
{
open(OUT1,”>presynth_main.csh”) || die "No es pot crear l'ordre File La raó podria ser: $!”;
}
elsif ($state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || die "No es pot crear l'ordre File La raó podria ser: $!”;
}
elsif ( $state eq "postlayout")
{
open(OUT1,”>postlayout_main.csh”) || die "No es pot crear l'ordre File La raó podria ser: $!”;
}
altra cosa
{
print "Falta l'estat de simulació \n" ;
}
open(OUT2,”>synopsys_sim.setup”) || die "No es pot crear l'ordre File La raó podria ser: $!”;
# .csh file
imprimir OUT1 "#!/bin/csh -f\n\n\n";
#CONFIGURAR FILE
imprimeix OUT2 "TREBALL > PREDETERMINAT\n" ;
imprimir OUT2 "SmartFusion2: /sqa/users/Aditya/VCS/SmartFusion2\n";
mentre que ($línia =FILE>)
{
Configuració de Synopsys VCS
if ($línia =~ m/establir en silenci PROJECT_DIR\s+\”(.*?)\”/)
{
imprimir OUT1 "set PROJECT_DIR = \"$1\"\n\n\n" ;
}
elsif ( $línia =~ m/vlog.*\.v\”/ )
{
si ($línia =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp($línia);
$línia =~ s/^vlog/$vlog/ ;
$línia =~ s/ //g;
imprimir OUT1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “Nom TB: $tb \n”;
if ( $línia =~ m/sdf(.*)\.sdf/)
{
chomp($línia);
$línia = $1 ;
#print “LINE : $línia \n” ;
si ($línia =~ m/max/)
{
$línia =~ s/max \/// ;
$línia =~ s/=/:/;
imprimir 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 ($línia =~ m/min/)
{
$línia =~ s/min \/// ;
$línia =~ s/=/:/;
imprimir 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 ($línia =~ m/typ/)
{
$línia =~ s/tip \/// ;
$línia =~ s/=/:/;
imprimir OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Format ModelSim SDF
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
Format SDF
}
}
}
imprimir
OUT1 “\n\n”
;
if
( $state eq “presynth”
)
{
imprimir
OUT2 “presynth
: ./presynth\n”
;
imprimir
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postsynth”
)
{
imprimir
OUT2 “postsintetitzador
: ./postsynth\n”
;
imprimir
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postlayout”
)
{
imprimeix OUT2 “postlayout : ./postlayout\n” ;
}
altra cosa
{
print "Falta l'estat de simulació \n" ;
}
foreach $i (claus %LIB)
{
#print “Clau : $i Valor : $LIB{$i} \n” ;
imprimir OUT2 “$i : ./$i\n” ;
}
imprimir OUT1 “\n\n” ;
imprimir OUT1 "./simv -l run.log\n";
imprimeix OUT2 "PER Defecte: ./treball\n" ;
tancar-hiFILE;
tancar OUT1;
tancar OUT2;
}
Historial de versions (Inici de sessió del microxip
L'historial de revisions descriu els canvis que s'han implementat al document. Els canvis
s'enumeren per revisió, començant per la publicació més actual.
Revisió | Data | Descripció |
A | 12/2023 | En aquesta revisió es fan els canvis següents: • Document convertit a plantilla de Microxip. Revisió inicial. • Secció actualitzada 5. Siemens QuestaSim Setup/ModelSim Setup per incloure una nota nova que explica l'impacte en la visibilitat durant la simulació i l'optimització. |
Suport de microxip FPGA
El grup de productes Microchip FPGA avala els seus productes amb diversos serveis d'assistència, inclòs el servei d'atenció al client, el centre de suport tècnic al client, un weblloc web i oficines de vendes a tot el món.
Es recomana als clients que visitin els recursos en línia de Microxip abans de contactar amb el servei d'assistència, ja que és molt probable que les seves consultes ja hagin estat respostes.
Poseu-vos en contacte amb el centre d'assistència tècnica a través de weblloc a www.microchip.com/support. Esmenteu el número de peça del dispositiu FPGA, seleccioneu la categoria de cas adequada i pengeu el disseny files mentre es crea un cas de suport tècnic.
Poseu-vos en contacte amb el servei d'atenció al client per obtenir assistència no tècnica del producte, com ara preus del producte, actualitzacions del producte, informació d'actualització, estat de la comanda i autorització.
- Des d'Amèrica del Nord, truqueu al 800.262.1060
- Des de la resta del món, truqueu al 650.318.4460
- Fax, des de qualsevol part del món, 650.318.8044
Informació del microxip
El Microxip Weblloc
Microxip ofereix suport en línia a través del nostre weblloc a www.microchip.com/. Això weblloc s'utilitza per fer filei informació fàcilment disponible per als clients. Alguns dels continguts disponibles inclouen:
- Suport al producte: fulls de dades i errates, notes d'aplicació i sampprogrames, recursos de disseny, guies d'usuari i documents de suport de maquinari, últimes versions de programari i programari arxivat
- Suport tècnic general: Preguntes freqüents (FAQ), sol·licituds d'assistència tècnica, grups de discussió en línia, llista de membres del programa de socis de disseny de Microchip
- Negoci de Microxip: selector de productes i guies de comandes, darrers comunicats de premsa de Microxip, llistat de seminaris i esdeveniments, llistats d'oficines de vendes de Microxip, distribuïdors i representants de fàbrica
Servei de notificació de canvis de producte
El servei de notificació de canvis de producte de Microchip ajuda a mantenir els clients al dia dels productes de Microchip. Els subscriptors rebran una notificació per correu electrònic sempre que hi hagi canvis, actualitzacions, revisions o errates relacionades amb una família de productes o una eina de desenvolupament especificada d'interès.
Per registrar-se, aneu a www.microchip.com/pcn i seguiu les instruccions de registre.
Atenció al client
Els usuaris dels productes Microxip poden rebre assistència a través de diversos canals:
- Distribuïdor o representant
- Oficina local de vendes
- Enginyer de solucions integrades (ESE)
- Suport tècnic
Els clients han de contactar amb el seu distribuïdor, representant o ESE per obtenir assistència. Les oficines de vendes locals també estan disponibles per ajudar els clients. En aquest document s'inclou una llista d'oficines de vendes i ubicacions.
El suport tècnic està disponible a través de weblloc a: www.microchip.com/support
Funció de protecció de codi de dispositius de microxip
Tingueu en compte els detalls següents de la funció de protecció del codi als productes Microxip:
- Els productes de microxip compleixen les especificacions contingudes a la seva fitxa de dades particular de microxip.
- Microxip creu que la seva família de productes és segura quan s'utilitza de la manera prevista, dins de les especificacions de funcionament i en condicions normals.
- Microxip valora i protegeix de manera agressiva els seus drets de propietat intel·lectual. Els intents d'infringir les funcions de protecció del codi del producte Microxip estan estrictament prohibits i poden infringir la Llei de drets d'autor de Digital Millennium.
- Ni Microchip ni cap altre fabricant de semiconductors poden garantir la seguretat del seu codi. La protecció del codi no vol dir que estem garantint que el producte sigui "irrompible".
La protecció del codi està en constant evolució. Microxip es compromet a millorar contínuament les funcions de protecció del codi dels nostres productes.
Avís Legal
Aquesta publicació i la informació que s'hi inclou només es poden utilitzar amb productes Microchip, inclòs per dissenyar, provar i integrar productes Microchip amb la vostra aplicació. L'ús d'aquesta informació de qualsevol altra manera viola aquests termes. La informació sobre les aplicacions del dispositiu només es proporciona per a la vostra comoditat i pot ser substituïda per actualitzacions. És la vostra responsabilitat assegurar-vos que la vostra aplicació compleix les vostres especificacions. Poseu-vos en contacte amb l'oficina local de vendes de Microxip per obtenir assistència addicional o, per obtenir assistència addicional a www.microchip.com/en-us/support/design-help/client-support-services.
AQUESTA INFORMACIÓ ÉS PROPORCIONADA PER MICROCHIP "TAL CUAL". MICROCHIP NO FA REPRESENTACIONS NI GARANTIES DE CAP TIPUS, JA SIGUI EXPRESSES O IMPLÍCITES, ESCRITS O ORALS, LEGALS O D'ALTRE ALTRE, RELACIONATS AMB LA INFORMACIÓ INCLOSA, PERÒ NO LIMITADA A CAP GARANTIA IMPLÍCITA DE NO INFRACCIÓ, COMERCIABILITAT I COMERCIALITZACIÓ, COMERCIALITZACIÓ I COMERCIALITZACIÓ. GARANTIES RELACIONATS AMB EL SEU ESTAT, QUALITAT O RENDIMENT.
EN CAP CAS, MICROCHIP SERÀ RESPONSABLE DE CAP PÈRDUA INDIRECTA, ESPECIAL, PUNITIVA, INCIDENTAL O CONSEQUENTAL, DANNY, COST O DESPESA DE QUALSEVOL TIPUS RELACIONATS AMB LA INFORMACIÓ O EL SEU ÚS, SEGUI QUE SIEMPRE CAUSAT, FINS I TOT QUÈ SIGUI AIXÒ. POSSIBILITAT O ELS DANYS SÓN PREVISIBLES. EN LA MÀXIMA MESURA PERMETIDA PER LA LLEI, LA RESPONSABILITAT TOTAL DE MICROCHIP EN TOTES LES RECLAMACIONS DE QUALSEVOL MANERA RELACIONADAS AMB LA INFORMACIÓ O EL SEU ÚS NO SUPERARÀ L'IMPORT DE LES TARIFES, SI N'HEU, QUE HEU PAGAT DIRECTAMENT A MICROCHIP PER A LA INFORMACIÓ.
L'ús de dispositius Microxip en aplicacions de suport vital i/o seguretat és totalment a risc del comprador, i el comprador es compromet a defensar, indemnitzar i excloure Microxip de qualsevol dany, reclamació, demanda o despeses derivades d'aquest ús. No es transmet cap llicència, implícita o d'una altra manera, sota cap dret de propietat intel·lectual de Microxip tret que s'indiqui el contrari.
Marques comercials
El nom i el logotip de Microxip, el logotip de Microxip, Adaptec, AVR, logotip d'AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStyluuchs, MediaLB, megaAVR, Microsemi, logotip de Microsemi, MOST, logotip MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logotip PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron i XMEGA són marques registrades de Microchip Technology Incorporated als EUA i altres països.
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 de ProASIC Plus, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime i ZL són marques registrades de Microchip Technology Incorporated als EUA
Supressió de claus adjacents, AKS, Analog-for-the-Digital Age, Qualsevol condensador, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM Average Net. , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programació sèrie en circuit, ICSP, INICnet, Paral·lelització intel·ligent, IntelliMOS, Connectivitat entre xips, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, logotip de MPLAB Certified, 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 són marques comercials de Microchip Technology Incorporated
als EUA i altres països.
SQTP és una marca de servei de Microchip Technology Incorporated als EUA
El logotip d'Adaptec, Frequency on Demand, Silicon Storage Technology i Symmcom són marques registrades de Microchip Technology Inc. a altres països.
GestIC és una marca comercial registrada de Microchip Technology Germany II GmbH & Co. KG, una filial de Microchip Technology Inc., a altres països.
Totes les altres marques comercials esmentades aquí són propietat de les seves respectives empreses.
© 2023, Microchip Technology Incorporated i les seves filials. Tots els drets reservats.
ISBN: 978-1-6683-3694-6
Sistema de gestió de la qualitat
Per obtenir informació sobre els sistemes de gestió de la qualitat de Microchip, visiteu www.microchip.com/quality.
AMÈRICES | ASIA/PACÍFIC | ASIA/PACÍFIC | EUROPA |
Oficina Corporativa 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Suport tècnic: www.microchip.com/support Web Adreça: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianàpolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 Nova York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Canadà - Toronto Tel: 905-695-1980 Fax: 905-695-2078 |
Austràlia - Sydney Tel: 61-2-9868-6733 Xina - Pequín Tel: 86-10-8569-7000 Xina - Chengdu Tel: 86-28-8665-5511 Xina - Chongqing Tel: 86-23-8980-9588 Xina - Dongguan Tel: 86-769-8702-9880 Xina - Guangzhou Tel: 86-20-8755-8029 Xina - Hangzhou Tel: 86-571-8792-8115 Xina - Hong Kong SAR Tel: 852-2943-5100 Xina - Nanjing Tel: 86-25-8473-2460 Xina - Qingdao Tel: 86-532-8502-7355 Xina - Xangai Tel: 86-21-3326-8000 Xina - Shenyang Tel: 86-24-2334-2829 Xina - Shenzhen Tel: 86-755-8864-2200 Xina - Suzhou Tel: 86-186-6233-1526 Xina - Wuhan Tel: 86-27-5980-5300 Xina - Xian Tel: 86-29-8833-7252 Xina - Xiamen Tel: 86-592-2388138 Xina - Zhuhai Tel: 86-756-3210040 |
Índia - Bangalore Tel: 91-80-3090-4444 Índia - Nova Delhi Tel: 91-11-4160-8631 Índia - Pune Tel: 91-20-4121-0141 Japó – Osaka Tel: 81-6-6152-7160 Japó – Tòquio Tel: 81-3-6880-3770 Corea - Daegu Tel: 82-53-744-4301 Corea - Seül Tel: 82-2-554-7200 Malàisia – Kuala Lumpur Tel: 60-3-7651-7906 Malàisia - Penang Tel: 60-4-227-8870 Filipines - Manila Tel: 63-2-634-9065 Singapur Tel: 65-6334-8870 Taiwan – Hsin Chu Tel: 886-3-577-8366 Taiwan – Kaohsiung Tel: 886-7-213-7830 Taiwan – Taipei Tel: 886-2-2508-8600 Tailàndia - Bangkok Tel: 66-2-694-1351 Vietnam - Ho Chi Minh Tel: 84-28-5448-2100 |
Àustria – Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Dinamarca – Copenhaguen Tel: 45-4485-5910 Fax: 45-4485-2829 Finlàndia – Espoo Tel: 358-9-4520-820 França – París Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Alemanya – Garching Tel: 49-8931-9700 Alemanya - Haan Tel: 49-2129-3766400 Alemanya - Heilbronn Tel: 49-7131-72400 Alemanya – Karlsruhe Tel: 49-721-625370 Alemanya - Munic Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Alemanya – Rosenheim Tel: 49-8031-354-560 Israel – Ra'anana Tel: 972-9-744-7705 Itàlia - Milà Tel: 39-0331-742611 Fax: 39-0331-466781 Itàlia - Pàdua Tel: 39-049-7625286 Països Baixos – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Noruega - Trondheim Tel: 47-72884388 Polònia - Varsòvia Tel: 48-22-3325737 Romania – Bucarest Tel: 40-21-407-87-50 Espanya – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Suècia – Göteborg Tel: 46-31-704-60-40 Suècia - Estocolm Tel: 46-8-5090-4654 Regne Unit - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
© 2023 Microchip Technology Inc. i les seves filials
DS50003627A –
Documents/Recursos
![]() |
Programari de biblioteca de simulació MICROCHIP Libero SoC [pdfGuia de l'usuari DS50003627A, programari de biblioteca de simulació de Libero SoC, programari de biblioteca de simulació de SoC, programari de biblioteca de simulació, programari de biblioteca, programari |