Simulación de SoC Libero
Instrucións de configuración da biblioteca
Introdución
O propósito deste documento é describir o procedemento para configurar o ambiente de simulación usando un proxecto Libero SoC como entrada. Esta documentación corresponde ás bibliotecas precompiladas proporcionadas para o seu uso con Libero SoC v11.9 e versións de software máis recentes. As bibliotecas proporcionadas están compiladas para Verilog. Os usuarios de VHDL requiren unha licenza que permita a simulación en modo mixto.
As bibliotecas de simulación compiladas están dispoñibles para as seguintes ferramentas:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise e Xcelium
- Siemens QuestaSim
- Sinopsis VCS
Para solicitar unha biblioteca para un simulador diferente, póñase en contacto Soporte técnico de microchip.
Integración Libero SoC
Libero SoC admite a simulación mediante ModelSim ME xerando un run.do file. Isto file é usado por ModelSim ME/ModelSim Pro ME para configurar e executar a simulación. Para usar outras ferramentas de simulación, pode xerar o ModelSim ME/ModelSim Pro ME run.do e modificar o script Tcl file para usar os comandos compatibles co seu simulador.
1.1 Libero SoC Tcl File Xeración (Fai unha pregunta)
Despois de crear e xerar deseño en Libero SoC, inicie unha simulación ModelSim ME/ModelSim Pro ME en todas as fases de deseño (presynth, postsynth e post-diseño). Este paso xera o run.do file para ModelSim ME/ModelSim Pro ME para cada fase de deseño.
Importante: Despois de iniciar cada execución de simulación, cambia o nome do run.do xerado automaticamente file baixo o directorio de simulación para evitar que o SoC Libero o sobrescriba file. Por example, o files pódense renomear a presesynth_run.do, postsynth_run.do e postlayout_run.do.
Configuración de Aldec para Active-HDL e Riviera-Pro (Fai unha pregunta)
A correr.do file usado polo ModelSim ME/ModelSim Pro ME pódese modificar e utilizar para a simulación mediante os simuladores Aldec.
2.1 Variable de ambiente (Fai unha pregunta)
Establece a súa variable de ambiente na súa licenza file localización:
LM_LICENSE_FILE: debe incluír un punteiro ao servidor de licenzas.
2.2 Descargar biblioteca compilada (Fai unha pregunta)
Descarga as bibliotecas para Aldec Active-HDL e Aldec Riviera-PRO desde o Microchip websitio.
2.3 Converter run.do para a simulación Aldec (Fai unha pregunta)
A correr.do fileOs xerados por Libero SoC para simulacións que usan a ferramenta Active-HDL e Riviera-Pro pódense usar para simulacións usando Active-HDL e Riviera-Pro cun único cambio. A seguinte táboa enumera os comandos equivalentes a Aldec para modificar no ModelSim run.do file.
Táboa 2-1. Comandos equivalentes de Aldec
Modelo Sim | HDL activo |
vlog | alogado |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
O seguinte é comoample run.do relacionado cos simuladores Aldec.
- Establece a localización do directorio de traballo actual.
establecer dsn - Establece un nome de biblioteca de traballo, mapea a súa localización e, a continuación, mapea a localización da familia FPGA de Microchip
bibliotecas precompiladas (por exemploample, SmartFusion2) no que está a executar o seu deseño.
alib presynth
amap presynth presynth
amap SmartFusion2 - Compile todo o HDL necesario files usado no deseño coa biblioteca requirida.
alog –work presynth temp.v (para Verilog)
banco de probas alog –work presynth.v
acom –work presynth temp.vhd (para Vhdl)
acom –work presynth testbench.vhd - Simula o deseño.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
corre 10us
2.4 Problemas coñecidos (Fai unha pregunta)
Esta sección enumera os problemas coñecidos e as limitacións.
- As bibliotecas compiladas usando Riviera-PRO son específicas da plataforma (é dicir, as bibliotecas de 64 bits non se poden executar en plataformas de 32 bits e viceversa).
- Para deseños que conteñan SERDES/MDDR/FDDR, use a seguinte opción no seu run.do files mentres executan simulacións despois de compilar os seus deseños:
– HDL activo: asim –o2
– Riviera-PRO: asim –O2 (para simulacións de presynth e post-diseño) e asim –O5 (para simulacións de post-diseño)
A configuración de Aldec para Active-HDL e Riviera-Pro ten os seguintes SAR pendentes. Para máis información, póñase en contacto Soporte técnico de microchip. - SAR 49908 – Active-HDL: Erro VHDL para simulacións de bloques matemáticos
- SAR 50627 - Riviera-PRO 2013.02: Erros de simulación para deseños SERDES
- SAR 50461 – Riviera-PRO: opción asim -O2/-O5 en simulacións
Configuración de cadencia incisiva (Fai unha pregunta)
Debes crear un guión file similar ao ModelSim ME/ModelSim Pro ME run.do para executar o
Simulador de cadencia incisiva. Siga estes pasos e cree un script file para NCSim ou use o script file
proporcionado para converter o ModelSim ME/ModelSim Pro ME run.do files na configuración files
necesarios para executar as simulacións usando NCSim.
Importante: Cadencia deixou de lanzar novas versións de Incisive Enterprise
simulador e comezou a apoiar o simulador Xcelium.
3.1 Variables de ambiente (Fai unha pregunta)
Para executar o simulador Cadence Incisive, configure as seguintes variables de ambiente:
- LM_LICENSE_FILE: debe incluír un punteiro á licenza file.
- cds_root: debe apuntar á localización do directorio de inicio da instalación de Cadence Incisive.
- PATH: debe apuntar á localización da papeleira baixo o directorio de ferramentas apuntado por cds_root, é dicir,
$cds_root/tools/bin/64bit (para unha máquina de 64 bits e $cds_root/tools/bin para unha máquina de 32 bits).
Hai tres formas de configurar o ambiente de simulación en caso de cambiar entre sistemas operativos de 64 bits e 32 bits:
Caso 1: Variable PATH
Executa o seguinte comando:
set path = (install_dir/tools/bin/64bit $path) para máquinas de 64 bits e
set path = (install_dir/tools/bin $path) para máquinas de 32 bits
Caso 2: Usando a opción de liña de comandos de -64 bits
Na liña de comandos especifique a opción -64 bits para invocar o executable de 64 bits.
Caso 3: configuración da variable de ambiente INCA_64BIT ou CDS_AUTO_64BIT
A variable INCA_64BIT trátase como booleana. Podes establecer esta variable en calquera valor ou nunha cadea nula.
setenv INCA_64BIT
Importante: O A variable de ambiente INCA_64BIT non afecta a outras ferramentas de Cadence, como as ferramentas IC. Non obstante, para as ferramentas Incisive, a variable INCA_64BIT anula a configuración da variable de ambiente CDS_AUTO_64BIT. Se a variable de ambiente INCA_64BIT está definida, todas as ferramentas Incisive executaranse en modo de 64 bits. setenv CDS_AUTO_64BIT INCLUDE:INCA
Importante: O a cadea INCA debe estar en maiúscula. Todos os executables deben executarse en modo de 32 bits ou en modo de 64 bits, non configure a variable para incluír un executable, como se indica a continuación:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Outras ferramentas de Cadence, como as ferramentas IC, tamén usan a variable de ambiente CDS_AUTO_64BIT para controlar a selección de executables de 32 ou 64 bits. A seguinte táboa mostra como pode configurar a variable CDS_AUTO_64BIT para executar as ferramentas Incisive e as ferramentas IC en todos os modos.
Táboa 3-1. Variables CDS_AUTO_64BIT
Variable CDS_AUTO_64BIT | Ferramentas incisivas | Ferramentas IC |
setenv CDS_AUTO_64BIT TODO | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT NONE | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binario | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bit | 64 bit |
Importante: Todas as ferramentas Incisive deben executarse en modo de 32 bits ou en modo de 64 bits, non use EXCLUDE para excluír un executable específico, como se indica a continuación: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Se configura a variable CDS_AUTO_64BIT para excluír as ferramentas Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), todas as ferramentas Incisive execútanse en modo de 32 bits. Non obstante, a opción de liña de comandos de -64 bits anula a variable de ambiente.
A seguinte configuración files axúdanlle a xestionar os seus datos e controlar o funcionamento das ferramentas e utilidades de simulación:
- Cartografía da biblioteca file (cds.lib): define un nome lóxico para a localización do seu deseño.
- Bibliotecas e asóciaas con nomes de directorio físico.
- Variables file (hdl.var): define variables que afectan o comportamento das ferramentas e utilidades de simulación.
3.2 Descargar biblioteca compilada (Fai unha pregunta)
Descarga as bibliotecas de Cadence Incisive de Microsemi's websitio.
3.3 Creación do script NCSim File (Fai unha pregunta)
Despois de crear unha copia do run.do files, siga estes pasos para executar a súa simulación usando NCSim:
- Crear un cds.lib file que define as bibliotecas accesibles e a súa localización. O file contén instrucións que asignan os nomes lóxicos das bibliotecas aos seus camiños de directorio físicos. Por example, se está a executar a simulación de sintetizador, o cds.lib file está escrito como se mostra no seguinte bloque de código.
DEFINE presint ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - Crear un hdl.var file, unha configuración opcional file que contén variables de configuración, que determina como se configura o seu contorno de deseño. A seguinte variable fileInclúense s:
– Variables que se utilizan para especificar a biblioteca de traballo onde o compilador almacena os obxectos compilados e outros datos derivados.
– Para Verilog, variables (LIB_MAP, VIEW_MAP, WORK) que se utilizan para especificar as bibliotecas e views buscar cando o elaborador resolve instancias.
– Variables que permiten definir opcións e argumentos da liña de comandos do compilador, elaborador e simulador.
En caso de simulación de presinte exampo mostrado arriba, digamos que temos tres RTL files: av, bv e testbench.v, que deben compilarse nas bibliotecas Presynth, COREAHBLITE_LIB e Presynth respectivamente. O hdl.var file pódese escribir como se mostra no seguinte bloque de código.
DEFINICIÓN DE TRABALLO presynth
DEFINE PROXECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, + => sintetizador ) - Compila o deseño files usando a opción ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –actualización –linedebug de bv testbench.v - Elaborar o deseño utilizando ncelab. O elaborador constrúe unha xerarquía de deseño baseada na información de instanciación e configuración do deseño, establece a conectividade do sinal e calcula os valores iniciais para todos os obxectos do deseño. A xerarquía de deseño elaborada gárdase nunha instantánea de simulación, que é a representación do deseño que utiliza o simulador para executar a simulación.
ncelab –Mensaxe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
acceder a +rwc –status worklib. : módulo
Elaboración durante a simulación Post-maquetación
No caso de simulacións posteriores ao deseño, primeiro o SDF file debe compilarse antes da elaboración usando o comando ncsdfc.
ncsdfcfilenome>.sdf –saídafilenome>.sdf.X
Durante a elaboración use a saída SDF compilada coa opción –autosdf como se mostra no seguinte bloque de código.
ncelab -autosdf –Mensaxe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –acceso +rwc –status worklib. :módulo –sdf_cmd_file ./
sdf_cmd_file
o sdf_cmd_file debe ser como se mostra no seguinte bloque de código.
COMPILADO_SDF_FILE = " file>" - Simular usando ncsim. Despois da elaboración créase unha instantánea de simulación, que ncsim carga para a simulación. Pode executarse en modo por lotes ou modo GUI.
ncsim –Mensaxe –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
errormax 15 –status worklib. : módulo
Importante: Os tres pasos anteriores de compilación, elaboración e simulación pódense poñer nun script de shell file e procedente da liña de comandos. En lugar de usar estes tres pasos, o deseño pódese simular nun paso usando a opción ncverilog ou irun como se mostra no seguinte bloque de código.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files usado no deseño>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
usado no deseño>
3.3.1 Problemas coñecidos (Fai unha pregunta)
Solución de traballo do banco de probas
Usar a seguinte instrución para especificar a frecuencia de reloxo no banco de probas xerado polo usuario ou o banco de probas predeterminado xerado por Libero SoC non funciona con NCSim.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifique como segue para executar a simulación:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Importante: compilado as bibliotecas para NCSim son específicas da plataforma (é dicir, as bibliotecas de 64 bits non son compatibles coa plataforma de 32 bits e viceversa).
Simulacións postsynth e post-diseño usando MSS e SERDES Mentres se executan simulacións post-synth de deseños que conteñen o bloque MSS ou as simulacións post-diseño de deseños usando SERDES, as simulacións BFM non funcionan se a opción –libmap está
non especificado durante a elaboración. Isto débese a que durante a elaboración, MSS resólvese desde a biblioteca de traballo (debido a que a ligazón predeterminada e a worklib é postsynth/post-diseño) onde é só unha función fixa.
O comando ncelab debe escribirse como se mostra no seguinte bloque de código para resolver o MSS
bloque da biblioteca precompilada SmartFusion2.
ncelab -libmap lib.map -libverbose -Mensaxe -access +rwc cfg1
e o lib.map file debe ser o seguinte:
configuración cfg1;
deseño ;
lista de librerías predeterminada smartfusion2 ;
endconfig
Isto resolve calquera cela da biblioteca SmartFusion2 antes de buscar na biblioteca de traballo, é dicir, postsynth/post-layout.
A opción –libmap pódese usar por defecto durante a elaboración para cada simulación (presynth, postsynth e post-diseño). Isto evita problemas de simulación que se producen debido á resolución de instancias das bibliotecas.
ncelab: *F,INTERR: EXCEPCIÓN INTERNA
Esta excepción da ferramenta ncelab é unha advertencia para os deseños que conteñen FDDR en SmartFusion 2 e IGLOO 2 durante as simulacións postsynth e post-diseño usando a opción –libmap.
Importante: Informeuse deste problema ao equipo de asistencia de Cadence (SAR 52113).
3.4 Sample Tcl e Shell Script Files (Fai unha pregunta)
O seguinte files son a configuración fileé necesario para configurar o deseño e o script de shell file para executar comandos NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presint ./presynth
Hdl.var
DEFINICIÓN DE TRABALLO 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 =>
sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => sintetizador)
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 => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => sintetizador )
Comandos.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 -Mensaxe -cdslib ./cds.lib -hdlvar ./hdl.var
-traballo presynth -logfile ncelab.log -errormax 15 -access +rwc -status presinth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
3.5 Automatización (Fai unha pregunta)
O seguinte guión file converte o ModelSim run.do files en configuración files necesarios para executar simulacións usando NCSim.
Guión File Uso
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
##################################################### ###########################################
#################
#Uso: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family_Precompiled_Libraries_location#
##################################################### ###########################################
#################
usar POSIX;
uso estrito;
meu ($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 esta_analizador {
o meu $ModelSim_run_do = $_[0];
a miña $familia_actel = $_[1];
a miña $lib_location = $_[2];
o meu $estado;
if (-e “$ModelSim_run_do”)
{
aberto (INFILE,”$ModelSim_run_do”);
o meu @ModelSim_run_do =FILE>;
a miña $liña;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
aberto (FóraFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$estado = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
aberto (FóraFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$estado = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
aberto (FóraFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$estado = $1;
} máis
{
imprimir "Inputs incorrectos dados ao file\n”;
imprimir “#Uso: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Localización_Bibliotecas\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operacións Xerais
$liña =~ s/..\/deseñador.*simulación\///g;
$liña =~ s/$estado/$estado\_questa/g;
#ImprimirFILE “$liña \n”;
if ($liña =~ m/vmap\s+.*($familia_actel)/)
{
ImprimirFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($liña =~ m/vmap\s+(.*._LIB)/)
{
$liña =~ s/..\/compoñente/..\/..\/compoñente/g;
ImprimirFILE “$liña \n”;
} elsif ($liña =~ m/vsim/)
{
$liña =~ s/vsim/vsim -novopt/g;
ImprimirFILE “$liña \n”;
} máis
{
ImprimirFILE “$liña \n”;
}
}
pechar (INFILE);
pechar (FóraFILE);
} máis {
imprimir "$ModelSim_run_do non existe. Volve executar a simulación \n”;
}
}
Configuración de Cadence Xcelium (Inicio de sesión con microchip)
Debes crear un guión file similar ao ModelSim ME/ModelSim Pro ME run.do para executar o simulador Cadence Xcelium. Siga estes pasos e cree un script file para Xcelium ou use o script file proporcionado para converter o ModelSim ME/ModelSim Pro ME run.do files na configuración fileé necesario para executar simulacións usando Xcelium.
4.1 Variables de ambiente (Fai unha pregunta)
Para executar o Cadence Xcelium, configure as seguintes variables de ambiente:
- LM_LICENSE_FILE: debe incluír un punteiro á licenza file.
- cds_root: debe apuntar á localización do directorio de inicio da instalación de Cadence Incisive.
- PATH: debe apuntar á localización da papeleira baixo o directorio de ferramentas apuntado por cds_root (ie
$cds_root/tools/bin/64bit (para unha máquina de 64 bits e $cds_root/tools/bin para unha máquina de 32 bits
máquina).
Hai tres formas de configurar o ambiente de simulación en caso de cambiar entre sistemas operativos de 64 bits e 32 bits:
Caso 1: Variable PATH
set path = (install_dir/tools/bin/64bit $path) para máquinas de 64 bits e
set path = (install_dir/tools/bin $path) para máquinas de 32 bits
Caso 2: Usando a opción de liña de comandos de -64 bits
Na liña de comandos especifique a opción -64bit para invocar o executable de 64 bits.
Caso 3: configuración da variable de ambiente INCA_64BIT ou CDS_AUTO_64BIT
A variable INCA_64BIT trátase como booleana. Podes establecer esta variable en calquera valor ou en nulo
corda.
setenv INCA_64BIT
Importante: O A variable de ambiente INCA_64BIT non afecta a outras ferramentas de Cadence, como as ferramentas IC. Non obstante, para as ferramentas Incisive, a variable INCA_64BIT anula a configuración da variable de ambiente CDS_AUTO_64BIT. Se a variable de ambiente INCA_64BIT é et, todas as ferramentas Incisive execútanse en modo de 64 bits.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Importante: O a cadea INCA debe estar en maiúscula. Todos os executables deben executarse en modo de 2 bits ou en modo de 64 bits, non configure a variable para incluír un executable, como se indica a continuación:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Outras ferramentas de Cadence, como as ferramentas IC, tamén usan a variable de ambiente CDS_AUTO_64BIT para controlar a selección de executables de 32 ou 64 bits. A seguinte táboa mostra como pode configurar a variable CDS_AUTO_64BIT para executar as ferramentas Incisive e as ferramentas IC en todos os modos.
Táboa 4-1. Variables CDS_AUTO_64BIT
Variable CDS_AUTO_64BIT | Ferramentas incisivas | Ferramentas IC |
setenv CDS_AUTO_64BIT TODO | 64 bits | 64 bits |
setenv CDS_AUTO_64BIT NONE | 32 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUIR: ic_binary |
64 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 bits | 64 bits |
Importante: Todas as ferramentas Incisive deben executarse en modo de 32 bits ou en modo de 64 bits, non use EXCLUDE para excluír un executable específico, como se indica a continuación:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Se configura a variable CDS_AUTO_64BIT para excluír as ferramentas incisivas (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), todas as ferramentas Incisive execútanse en modo de 32 bits. Non obstante, o
-A opción de liña de comandos de 64 bits anula a variable de ambiente.
A seguinte configuración files axúdanlle a xestionar os seus datos e controlar o funcionamento das ferramentas e utilidades de simulación:
- Cartografía da biblioteca file (cds.lib) define un nome lóxico para a localización do seu deseño.
- Bibliotecas e asóciaas con nomes de directorio físico.
- Variables file (hdl.var) define variables que afectan o comportamento das ferramentas e utilidades de simulación.
4.2 Descargar biblioteca compilada (Fai unha pregunta)
Descarga as bibliotecas de Cadence Xcelium de Microsemi's websitio.
4.3 Creación do script Xcelium file (Fai unha pregunta)
Despois de crear unha copia do run.do files, realice os seguintes pasos para executar a súa simulación usando o script Xcelium file.
- Crear un cds.lib file que define que bibliotecas son accesibles e onde están situadas.
O file contén instrucións que asignan os nomes lóxicos das bibliotecas aos seus camiños de directorio físicos. Por example, se está a executar a simulación de sintetizador, o cds.lib file pódese escribir como se mostra no seguinte bloque de código.
DEFINE presint ./presynth
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - Crear un hdl.var file que é unha configuración opcional file que contén variables de configuración, que determina como se configura o seu contorno de deseño. Estes inclúen:
– Variables que se utilizan para especificar a biblioteca de traballo onde o compilador almacena os obxectos compilados e outros datos derivados.
– Para Verilog, variables (LIB_MAP, VIEW_MAP, WORK) que se utilizan para especificar as bibliotecas e views buscar cando o elaborador resolve instancias.
– Variables que permiten definir opcións e argumentos da liña de comandos do compilador, elaborador e simulador.
En caso de simulación de presinte exampo mostrado arriba, digamos que temos 3 RTL files av, bv e testbench.v, que deben compilarse nas bibliotecas Presynth, COREAHBLITE_LIB e Presynth respectivamente. O hdl.var file pódese escribir como se mostra no seguinte bloque de código.
DEFINICIÓN DE TRABALLO presynth
DEFINE PROXECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, + => sintetizador ) - Compila o deseño files usando a opción ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –actualización –linedebug de bv testbench.v - Elaborar o deseño utilizando ncelab. O elaborador constrúe unha xerarquía de deseño baseada na información de instanciación e configuración do deseño, establece a conectividade do sinal e calcula os valores iniciais para todos os obxectos do deseño. A xerarquía de deseño elaborada gárdase nunha instantánea de simulación, que é a representación do deseño que utiliza o simulador para executar a simulación.
Xcelium –Mensaxe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
acceder a +rwc –status worklib. : módulo
Elaboración durante a simulación Post-maquetación
No caso de simulacións posteriores ao deseño, primeiro o SDF file debe compilarse antes da elaboración usando o comando ncsdfc.
Xceliumfilenome>.sdf –saídafilenome>.sdf.X
Durante a elaboración use a saída SDF compilada coa opción –autosdf como se mostra no seguinte bloque de código.
xmelab -autosdf –Mensaxe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –acceso +rwc –status worklib. :módulo –sdf_cmd_file ./
sdf_cmd_file
o sdf_cmd_file debe ser como se mostra no seguinte bloque de código.
COMPILADO_SDF_FILE = " file>" - Simula usando Xcelium. Despois da elaboración créase unha instantánea de simulación que Xcelium carga para a simulación. Isto pódese executar en modo por lotes ou modo GUI.
xmsim –Mensaxe –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
errormax 15 –status worklib. : módulo
Configuración de Cadence Xcelium
Importante: Todos os tres pasos anteriores de compilación, elaboración e simulación pódense poñer nun script de shell file e procedente da liña de comandos. En lugar de usar estes tres pasos, o deseño pódese simular nun paso usando a opción ncverilog ou xrun como se mostra no seguinte bloque de código.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files usado no deseño>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
usado no deseño>
4.3.1 Problemas coñecidos (Fai unha pregunta)
Solución de traballo do banco de probas
Usar a seguinte instrución para especificar a frecuencia de reloxo no banco de probas xerado polo usuario ou no banco de probas predeterminado xerado por Libero SoC non funciona con Xcelium.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifique como segue para executar a simulación:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Importante: As bibliotecas compiladas para Xcelium son específicas da plataforma (é dicir, as bibliotecas de 64 bits non son compatibles coa plataforma de 32 bits e viceversa).
Simulacións Postsynth e Post-layout utilizando MSS e SERDES
Mentres se executan simulacións postsynth de deseños que conteñen bloque MSS, ou simulacións posteriores ao deseño de deseños usando SERDES, as simulacións BFM non funcionan se non se especifica a opción –libmap durante a elaboración. Isto débese a que durante a elaboración, MSS resólvese desde a biblioteca de traballo (debido a que a ligazón predeterminada e a worklib é postsynth/post-diseño) onde é só unha función fixa.
O comando ncelab debe escribirse como se mostra no seguinte bloque de código para resolver o bloque MSS da biblioteca precompilada SmartFusion2.
xmelab -libmap lib.map -libverbose -Mensaxe -access +rwc cfg1
e o lib.map file debe ser o seguinte:
configuración cfg1;
deseño ;
lista de librerías predeterminada smartfusion2 ;
endconfig
Isto debe resolver calquera cela da biblioteca SmartFusion2 antes de buscar na biblioteca de traballo, é dicir, postsynth/post-layout.
A opción –libmap pódese usar por defecto durante a elaboración para cada simulación (presynth, postsynth e post-layout). Isto evita problemas de simulación que se producen debido á resolución de instancias das bibliotecas.
xmelab: *F,INTERR: EXCEPCIÓN INTERNA
Esta excepción da ferramenta ncelab é unha advertencia para os deseños que conteñen FDDR en SmartFusion2 e IGLOO2
durante as simulacións postsynth e post-diseño usando a opción –libmap.
Importante: Informeuse deste problema ao equipo de asistencia de Cadence (SAR 52113).
4.4 Sample Tcl e script de shell files (Fai unha pregunta)
O seguinte files son a configuración fileé necesario para configurar o deseño e o script de shell file para executar comandos Xcelium.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presint ./presynth
Hdl.var
DEFINICIÓN DE TRABALLO 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 =>
sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => sintetizador previo)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => sintetizador)
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 => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => sintetizador)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => sintetizador )
Comandos.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 -Mensaxe -cdslib ./cds.lib -hdlvar ./hdl.var
-traballo presynth -logfile ncelab.log -errormax 15 -access +rwc -status presinth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
4.5 Automatización (Inicio de sesión con microchip)
O seguinte guión file converte ModelSim run.do files en configuración fileé necesario para executar simulacións usando Xcelium.
Guión File Uso
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
##################################################### ###########################################
#################
#Uso: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family_Precompiled_Libraries_location#
##################################################### ###########################################
#################
usar POSIX;
uso estrito;
meu ($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 esta_analizador {
o meu $ModelSim_run_do = $_[0];
a miña $familia_actel = $_[1];
a miña $lib_location = $_[2];
o meu $estado;
if (-e “$ModelSim_run_do”)
{
aberto (INFILE,”$ModelSim_run_do”);
o meu @ModelSim_run_do =FILE>;
a miña $liña;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
aberto (FóraFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$estado = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
aberto (FóraFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$estado = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
aberto (FóraFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$estado = $1;
} máis
{
imprimir "Inputs incorrectos dados ao file\n”;
imprimir “#Uso: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Localización_Bibliotecas\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operacións Xerais
$liña =~ s/..\/deseñador.*simulación\///g;
$liña =~ s/$estado/$estado\_questa/g;
#ImprimirFILE “$liña \n”;
if ($liña =~ m/vmap\s+.*($familia_actel)/)
{
ImprimirFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($liña =~ m/vmap\s+(.*._LIB)/)
{
$liña =~ s/..\/compoñente/..\/..\/compoñente/g;
ImprimirFILE “$liña \n”;
} elsif ($liña =~ m/vsim/)
{
$liña =~ s/vsim/vsim -novopt/g;
ImprimirFILE “$liña \n”;
} máis
{
ImprimirFILE “$liña \n”;
}
}
pechar (INFILE);
pechar (FóraFILE);
} máis {
imprimir "$ModelSim_run_do non existe. Volve executar a simulación \n”;
}
}
Configuración de Siemens QuestaSim/Configuración de ModelSim (Fai unha pregunta)
A correr.do files, xerados polo SoC Libero para simulacións usando ModelSim Microsemi Editions, pódense usar para simulacións usando QuestaSim/ModelSim SE/DE/PE cun único cambio. No ModelSim ME/ModelSim Pro ME run.do file, a localización das bibliotecas precompiladas debe modificarse.
Importante:
Por defecto, a ferramenta de simulación que non sexa ModelSim Pro ME realiza unha optimización do deseño durante a simulación que pode afectar a visibilidade dos artefactos de simulación, como obxectos de deseño e estímulos de entrada.
Isto adoita ser útil para reducir o tempo de execución da simulación para as simulacións complexas, utilizando bancos de probas detallados e de autocomprobación. Non obstante, as optimizacións predeterminadas poden non ser axeitadas para todas as simulacións, especialmente nos casos nos que espera inspeccionar graficamente os resultados da simulación mediante a xanela de ondas.
Para resolver os problemas causados por esta optimización, debes engadir os comandos apropiados e os argumentos relacionados durante a simulación para restaurar a visibilidade do deseño. Para os comandos específicos da ferramenta, consulte a documentación do simulador en uso.
5.1 Variables de ambiente (Fai unha pregunta)
A continuación móstranse as variables de ambiente necesarias.
- LM_LICENSE_FILE: debe incluír o camiño ata a licenza file.
- MODEL_TECH: debe identificar a ruta á localización do directorio de inicio da instalación de QuestaSim.
- PATH: debe apuntar á localización executable sinalada por MODEL_TECH.
5.2 Converter run.do para Mentor QuestaSim (Fai unha pregunta)
A correr.do files xerados por Libero SoC para simulacións usando ModelSim Microsemi Editions pódense usar para simulacións usando QuestaSim/ModelSim_SE cun único cambio.
Importante: Todos os deseños que se simulan usando QuestaSim deben incluír -novopt
opción xunto co comando vsim no script run.do files.
5.3 Descarga a biblioteca compilada (Fai unha pregunta)
Descarga as bibliotecas de Mentor Graphics QuestaSim de Microsemi's websitio.
Configuración de Synopsys VCS (Fai unha pregunta)
O fluxo recomendado por Microsemi depende do fluxo Elaborate and Compile en VCS. Este documento inclúe un guión file que usa o script run.do files xerado por Libero SoC e xera a configuración files necesarios para a simulación VCS. O guión file usa o run.do file para facer o seguinte.
- Crear un mapeo da biblioteca file, que se fai usando synopsys_sim.setup file situado no mesmo directorio onde se está a executar a simulación VCS.
- Crear un script de shell file para elaborar e compilar o seu deseño usando VCS.
6.1 Variables de ambiente (Fai unha pregunta)
Estableza as variables de ambiente adecuadas para VCS en función da súa configuración. As variables de ambiente necesarias segundo a documentación de VCS son:
- LM_LICENSE_FILE: debe incluír un punteiro ao servidor de licenzas.
- VCS_HOME: debe apuntar á localización do directorio de inicio da instalación de VCS.
- PATH: debe incluír un punteiro ao directorio bin debaixo do directorio VCS_HOME.
6.2 Descargar biblioteca compilada (Fai unha pregunta)
Descarga as bibliotecas de Synopsys VCS de Microsemi websitio.
6.3 Script de simulación VCS File (Fai unha pregunta)
Despois de configurar VCS e xerar o deseño e os diferentes run.do files de Libero SoC, debes:
- Crea o mapeo da biblioteca file synopsys_sim.setup; isto file contén punteiros para a localización de todas as bibliotecas que utilizará o deseño.
Importante: O file o nome non debe cambiar e debe estar situado no mesmo directorio onde se está a executar a simulación. Aquí está un example para tal file para simulación de presíntese.
TRABALLO > EFAULT
SmartFusion2:
presynth : ./presynth
PREDETERMINADO: ./traballo - Elaborar o deseño diferente files, incluído o banco de probas, usando o comando vlogan en VCS. Estes comandos poden incluírse nun script de shell file. O seguinte é un example dos comandos que son necesarios para elaborar un deseño definido en rtl.v co seu banco de probas definido en
banco de probas.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Compile o deseño usando VCS usando o seguinte comando.
vcs –sim_res=1fs presynth.testbench
Nota: O A resolución temporal da simulación debe establecerse en 1fs para unha simulación funcional correcta. - Unha vez compilado o deseño, inicie a simulación usando o seguinte comando.
./simv - Para a simulación con anotación posterior, o comando VCS debe ser o que se mostra no seguinte bloque de código.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
nome>: file ruta> –gui –l postlayout.log
6.4 Limitacións/Excepcións (Fai unha pregunta)
A continuación móstranse as limitacións/excepcións da configuración de Synopsys VCS.
- As simulacións VCS só se poden executar para proxectos Verilog de Libero SoC. O simulador VCS ten requisitos estritos de linguaxe VHDL que non cumpre o VHDL xerado automaticamente por Libero SoC files.
- Debes ter unha instrución $finish no banco de probas de Verilog para deter a simulación cando queiras.
Importante: Cando As simulacións execútanse en modo GUI, o tempo de execución pódese especificar na GUI.
6.5 Sample Tcl e Shell Script Files (Fai unha pregunta)
O seguinte Perl automatiza a xeración de synopsys_sim.setup file así como o script de shell correspondente files necesarios para elaborar, compilar e simular o deseño.
Se o deseño usa un MSS, copie o test.vec file localizado no cartafol de simulación do proxecto Libero SoC no cartafol de simulación VCS. As seguintes seccións conteñen sample run.do files xerados por Libero SoC, incluíndo a correspondente asignación de biblioteca e o script de shell files necesarios para a simulación VCS.
6.5.1 Pre-síntese (Fai unha pregunta)
Presynth_run.do
configurar silenciosamente ACTELLIBNAME SmartFusion2
configurar silenciosamente PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
se {[file existe presynth/_info]} {
echo "INFO: o presynth da biblioteca de simulación xa existe"
} máis {
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” -traballo presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
engadir onda /SD1_TB1/*
engadir rexistro -r /*
correr 1000ns
presinth_main.csh
#!/bin/csh -f
establecer 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/
traballo/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -traballo
sintetizador "${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
TRABALLO > PREDETERMINADO
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
PREDETERMINADO: ./traballo
6.5.2 Postsíntese (Fai unha pregunta)
postsynth_run.do
configurar silenciosamente ACTELLIBNAME SmartFusion2
configurar silenciosamente PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
se {[file existe postsynth/_info]} {
echo "INFO: a biblioteca de simulación postsynth xa existe"
} máis {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion 2”
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog "+incdir+${PROJECT_DIR}/stimulus" -traballo postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
engadir onda /SD1_TB1/*
engadir rexistro -r /*
correr 1000ns
rexistro SD1_TB1/*
saír
Postsynth_main.csh
#!/bin/csh -f
establecer 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” -traballo
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
TRABALLO > PREDETERMINADO
SmartFusion2 : /VCS/SmartFusion2
postsynth: ./postsynth
PREDETERMINADO: ./traballo
6.5.3 Post-deseño (Fai unha pregunta)
postlayout_run.do
configurar silenciosamente ACTELLIBNAME SmartFusion2
configurar silenciosamente PROJECT_DIR "E:/ModelSim_Work/Test_DFF"
se {[file existe ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: a biblioteca de simulación ../designer/SD1/simulation/postlayout xa existe"
} máis {
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/
SmartFusion 2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -traballo posterior á presentación “${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
engadir onda /SD1_TB1/*
engadir rexistro -r /*
correr 1000ns
Postlayout_main.csh
#!/bin/csh -f
establecer PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
designer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -traballo
deseño posterior "${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
TRABALLO > PREDETERMINADO
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
PREDETERMINADO: ./workVCS
6.6 Automatización (Fai unha pregunta)
O fluxo pódese automatizar usando o seguinte script Perl file para converter o ModelSim run.do files nun script de shell compatible con VCS files, cree directorios axeitados dentro do directorio de simulación de Libero SoC e, a continuación, execute simulacións.
Executar o script file utilizando a seguinte sintaxe.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
##################################################### ###########################
#
#Uso: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
##################################################### #############################
meu ($presynth, $postsynth, $postlayout) = @ARGV;
if(sistema(“mkdir VCS_Presynth”)) {imprimir “mkdir fallou:\n”;}
if(sistema(“mkdir VCS_Postsynth”)) {imprimir “mkdir fallou:\n”;}
if(sistema(“mkdir VCS_Postlayout”)) {imprimir “mkdir fallou:\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 {
o meu $vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k" ;
o meu %LIB = ();
meus $file = $_[0] ;
o meu $estado = $_[1];
aberto (INFILE,”$file” || morrer "Non se pode abrir File O motivo pode ser: $!”;
if ( $state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || die "Non se pode crear o comando File O motivo pode ser: $!”;
}
elsif ($state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || die "Non se pode crear o comando File O motivo pode ser: $!”;
}
elsif ($state eq “postlayout”)
{
open(OUT1,”>postlayout_main.csh”) || die "Non se pode crear o comando File O motivo pode ser: $!”;
}
outra cousa
{
print "Falta o estado de simulación \n" ;
}
open(OUT2,”>synopsys_sim.setup”) || die "Non se pode crear o comando File O motivo pode ser: $!”;
# .csh file
imprimir OUT1 "#!/bin/csh -f\n\n\n" ;
#MONTAR FILE
imprimir OUT2 "TRABALLO > PREDETERMINADO\n" ;
imprimir OUT2 "SmartFusion2: /sqa/users/Aditya/VCS/SmartFusion2\n" ;
mentres ($liña =FILE>)
{
Configuración de Synopsys VCS
if ($liña =~ m/definir silenciosamente PROJECT_DIR\s+\”(.*?)\”/)
{
imprimir OUT1 "set PROJECT_DIR = \"$1\"\n\n\n" ;
}
elsif ( $liña =~ m/vlog.*\.v\”/ )
{
se ($liña =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp($liña);
$liña =~ s/^vlog/$vlog/ ;
$liña =~ s/ //g;
imprimir OUT1 “$line\n”;
}
elsif ( ($liña =~ m/vsim.*presynth\.(.*)/) || ($liña =~ m/vsim.*postsynth\.(.*)/) || ($liña =~ m/vsim.*postsynth\.(.*)/) ||
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “Nome TB: $tb \n”;
se ( $liña =~ m/sdf(.*)\.sdf/)
{
chomp($liña);
$liña = $1 ;
#print “LIÑA : $liña \n” ;
se ($liña =~ m/max/)
{
$liña =~ s/max \/// ;
$liña =~ 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 ($liña =~ m/min/)
{
$liña =~ s/min \/// ;
$liña =~ 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 ($liña =~ m/typ/)
{
$liña =~ s/tipo \/// ;
$liña =~ 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 — Formato SDF de ModelSim
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
Formato 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 presint.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postsynth”
)
{
imprimir
OUT2 "postsynth
: ./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”
)
{
imprimir OUT2 "postlayout : ./postlayout\n" ;
}
outra cousa
{
print "Falta o estado de simulación \n" ;
}
foreach $i ( chaves %LIB)
{
#print “Clave : $i Valor : $LIB{$i} \n” ;
imprimir OUT2 “$i : ./$i\n” ;
}
imprimir OUT1 “\n\n” ;
imprimir OUT1 "./simv -l run.log\n" ;
print OUT2 "DEFAULT: ./traballo\n" ;
pechar ENFILE;
pechar OUT1;
pechar OUT2;
}
Historial de revisións (Inicio de sesión con microchip
O historial de revisións describe os cambios que se implementaron no documento. Os cambios
están listados por revisión, comezando pola publicación máis recente.
Revisión | Data | Descrición |
A | 12/2023 | Nesta revisión realízanse os seguintes cambios: • Documento convertido en modelo de Microchip. Revisión inicial. • Sección actualizada 5. Configuración de Siemens QuestaSim/Configuración de ModelSim para incluír unha nova nota que explica o impacto na visibilidade durante a simulación e optimización. |
Soporte de microchip FPGA
O grupo de produtos Microchip FPGA respalda os seus produtos con varios servizos de soporte, incluíndo o servizo de atención ao cliente, o centro de asistencia técnica ao cliente, un websitio e oficinas de vendas en todo o mundo.
Recoméndase aos clientes que visiten os recursos en liña de Microchip antes de poñerse en contacto co servizo de asistencia, xa que é moi probable que as súas consultas xa teñan resposta.
Contacte con el Centro de Soporte Técnico a través de websitio en www.microchip.com/support. Mencione o número de peza do dispositivo FPGA, seleccione a categoría de caso adecuada e cargue o deseño files ao crear un caso de soporte técnico.
Póñase en contacto co servizo de atención ao cliente para obter asistencia técnica sobre o produto, como prezos dos produtos, actualizacións de produtos, información de actualización, estado do pedido e autorización.
- Desde América do Norte, chame ao 800.262.1060
- Desde o resto do mundo, chame ao 650.318.4460
- Fax, dende calquera parte do mundo, 650.318.8044
Información do microchip
O Microchip Websitio
Microchip ofrece soporte en liña a través do noso websitio en www.microchip.com/. Isto websitio úsase para facer files e información facilmente dispoñible para os clientes. Algúns dos contidos dispoñibles inclúen:
- Soporte ao produto: follas de datos e erratas, notas de aplicación e sample programas, recursos de deseño, guías de usuario e documentos de soporte de hardware, últimas versións de software e software arquivado
- Soporte técnico xeral: preguntas máis frecuentes (FAQ), solicitudes de soporte técnico, grupos de discusión en liña, lista de membros do programa de socios de deseño de Microchip
- Negocio de Microchip: guías de selección de produtos e pedidos, últimos comunicados de prensa de Microchip, listado de seminarios e eventos, listados de oficinas de vendas, distribuidores e representantes de fábrica de Microchip.
Servizo de notificación de cambios de produto
O servizo de notificación de cambios de produtos de Microchip axuda a manter os clientes ao día dos produtos de Microchip. Os subscritores recibirán unha notificación por correo electrónico sempre que haxa cambios, actualizacións, revisións ou erratas relacionadas cunha familia de produtos especificada ou ferramenta de desenvolvemento de interese.
Para rexistrarte, vai a www.microchip.com/pcn e siga as instrucións de rexistro.
Atención ao cliente
Os usuarios de produtos Microchip poden recibir asistencia a través de varias canles:
- Distribuidor ou Representante
- Oficina local de vendas
- Enxeñeiro de solucións integradas (ESE)
- Soporte técnico
Os clientes deben contactar co seu distribuidor, representante ou ESE para obter asistencia. As oficinas de vendas locais tamén están dispoñibles para axudar aos clientes. Neste documento inclúese unha lista de oficinas de vendas e locais.
O soporte técnico está dispoñible a través de websitio en: www.microchip.com/support
Función de protección de código de dispositivos de microchip
Teña en conta os seguintes detalles da función de protección de código nos produtos Microchip:
- Os produtos de microchip cumpren as especificacións contidas na súa ficha de datos de microchip.
- Microchip considera que a súa familia de produtos é segura cando se usa da forma prevista, dentro das especificacións de funcionamento e en condicións normais.
- Microchip valora e protexe agresivamente os seus dereitos de propiedade intelectual. Os intentos de incumprir as funcións de protección do código do produto Microchip están estrictamente prohibidos e poden infrinxir a Digital Millennium Copyright Act.
- Nin Microchip nin ningún outro fabricante de semicondutores poden garantir a seguridade do seu código. A protección do código non significa que esteamos garantindo que o produto sexa "irrompible".
A protección do código está en constante evolución. Microchip comprométese a mellorar continuamente as funcións de protección do código dos nosos produtos.
Aviso Legal
Esta publicación e a información que aparece aquí só poden usarse con produtos Microchip, incluso para deseñar, probar e integrar produtos Microchip coa súa aplicación. O uso desta información de calquera outra forma viola estes termos. A información relativa ás aplicacións do dispositivo ofrécese só para a súa comodidade e pode ser substituída por actualizacións. É a súa responsabilidade asegurarse de que a súa aplicación cumpre coas súas especificacións. Póñase en contacto coa súa oficina local de vendas de Microchip para obter asistencia adicional ou obtén soporte adicional en www.microchip.com/en-us/support/design-help/client-support-services.
ESTA INFORMACIÓN ESTÁ PROPORCIONADA POR MICROCHIP "TAL CUAL". MICROCHIP NON OFRECE REPRESENTACIÓNS OU GARANTÍAS DE NINGÚN TIPO, XA EXPRESA OU IMPLÍCITA, ESCRITA OU ORAL, LEGAL OU DE OUTRO MODO, RELACIONADA COA INFORMACIÓN, INCLUÍENDO PERO NON LIMITADO A NINGÚN TIPO DE GARANTÍAS IMPLÍCITAS DE NON INFRACCIÓN, COMERCIABILIDADE, COMERCIABILIDADE E COMERCIALIZACIÓN. GARANTÍAS RELACIONADAS CO SEU ESTADO, CALIDADE OU RENDEMENTO.
EN NINGÚN CASO MICROCHIP SERÁ RESPONSABLE DE NINGÚN TIPO DE PERDA, DANO, CUSTO OU GASTO INDIRECTO, ESPECIAL, PUNITIVO, INCIDENTAL OU CONSECUENCIAL DE NINGÚN TIPO RELACIONADO COA INFORMACIÓN OU O SEU USO, AÍNDA QUE SE SEXA O CAUSADO QUE SEXA O SEU ADVERTENCIA. POSIBILIDADE OU OS DANOS SON PREVISIBLES. NA MÁXIMA MEDIDA PERMITIDA POLA LEI, A RESPONSABILIDADE TOTAL DE MICROCHIP SOBRE TODAS LAS RECLAMACIONS DE CALQUERA FORMA RELACIONADAS COA INFORMACIÓN OU O SEU USO NON SUPERARÁ O IMPORTE DAS TAXAS, SE HOXE, QUE TIÑAS PAGADA DIRECTAMENTE A MICROCHIP POLA INFORMACIÓN.
O uso de dispositivos Microchip en aplicacións de soporte vital e/ou de seguridade corre totalmente a risco do comprador, e o comprador comprométese a defender, indemnizar e eximir a Microchip de calquera e todos os danos, reclamacións, demandas ou gastos derivados de tal uso. Non se transmite ningunha licenza, implícita ou doutra forma, baixo ningún dereito de propiedade intelectual de Microchip a menos que se indique o contrario.
Marcas comerciais
O nome e o logotipo de Microchip, o logotipo de Microchip, Adaptec, AVR, logotipo de AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStyluuchs, 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, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron e XMEGA son marcas rexistradas de Microchip Technology Incorporated nos EUA e noutros países.
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 e ZL son marcas rexistradas de Microchip Technology Incorporated nos EUA
Supresión de teclas adxacentes, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM Averagenet, Dynamic Matching. , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programación en serie en circuito, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Conectividade entre chips, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, logotipo certificado por MPLAB, 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 e ZENA son marcas comerciais de Microchip Technology Incorporated
nos EUA e noutros países.
SQTP é unha marca de servizo de Microchip Technology Incorporated nos EUA
O logotipo de Adaptec, Frequency on Demand, Silicon Storage Technology e Symmcom son marcas rexistradas de Microchip Technology Inc. noutros países.
GestIC é unha marca rexistrada de Microchip Technology Germany II GmbH & Co. KG, unha subsidiaria de Microchip Technology Inc., noutros países.
Todas as outras marcas rexistradas aquí mencionadas son propiedade das súas respectivas compañías.
© 2023, Microchip Technology Incorporated e as súas filiais. Todos os dereitos reservados.
ISBN: 978-1-6683-3694-6
Sistema de Xestión da Calidade
Para obter información sobre os sistemas de xestión da calidade de Microchip, visite www.microchip.com/quality.
AMÉRICAS | ASIA/PACÍFICO | ASIA/PACÍFICO | EUROPA |
Oficina Corporativa 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Soporte técnico: www.microchip.com/support Web Enderezo: 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 Os Ánxeles 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 |
Australia - Sidney Teléfono: 61-2-9868-6733 China - Pequín Teléfono: 86-10-8569-7000 China - Chengdu Teléfono: 86-28-8665-5511 China - Chongqing Teléfono: 86-23-8980-9588 China - Dongguan Teléfono: 86-769-8702-9880 China - Guangzhou Teléfono: 86-20-8755-8029 China - Hangzhou Teléfono: 86-571-8792-8115 China - Hong Kong RAE Teléfono: 852-2943-5100 China - Nanjing Teléfono: 86-25-8473-2460 China - Qingdao Teléfono: 86-532-8502-7355 China - Shanghai Teléfono: 86-21-3326-8000 China - Shenyang Teléfono: 86-24-2334-2829 China - Shenzhen Teléfono: 86-755-8864-2200 China - Suzhou Teléfono: 86-186-6233-1526 China - Wuhan Teléfono: 86-27-5980-5300 China - Xian Teléfono: 86-29-8833-7252 China - Xiamen Teléfono: 86-592-2388138 China - Zhuhai Teléfono: 86-756-3210040 |
India - Bangalore Teléfono: 91-80-3090-4444 India - Nova Deli Teléfono: 91-11-4160-8631 India - Pune Teléfono: 91-20-4121-0141 Xapón - Osaka Teléfono: 81-6-6152-7160 Xapón - Tokio Teléfono: 81-3-6880- 3770 Corea - Daegu Teléfono: 82-53-744-4301 Corea - Seúl Teléfono: 82-2-554-7200 Malaisia – Kuala Lumpur Teléfono: 60-3-7651-7906 Malaisia - Penang Teléfono: 60-4-227-8870 Filipinas - Manila Teléfono: 63-2-634-9065 Singapur Teléfono: 65-6334-8870 Taiwán – Hsin Chu Teléfono: 886-3-577-8366 Taiwán – Kaohsiung Teléfono: 886-7-213-7830 Taiwán – Taipei Teléfono: 886-2-2508-8600 Tailandia - Bangkok Teléfono: 66-2-694-1351 Vietnam - Ho Chi Minh Teléfono: 84-28-5448-2100 |
Austria - Wels Teléfono: 43-7242-2244-39 Fax: 43-7242-2244-393 Dinamarca - Copenhague Teléfono: 45-4485-5910 Fax: 45-4485-2829 Finlandia – Espoo Teléfono: 358-9-4520-820 Francia - París Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Alemaña - Garching Teléfono: 49-8931-9700 Alemaña - Haan Teléfono: 49-2129-3766400 Alemaña - Heilbronn Teléfono: 49-7131-72400 Alemaña - Karlsruhe Teléfono: 49-721-625370 Alemaña - Múnic Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Alemaña - Rosenheim Teléfono: 49-8031-354-560 Israel - Ra'anana Teléfono: 972-9-744-7705 Italia - Milán Teléfono: 39-0331-742611 Fax: 39-0331-466781 Italia - Padua Teléfono: 39-049-7625286 Países Baixos - Drunen Teléfono: 31-416-690399 Fax: 31-416-690340 Noruega - Trondheim Teléfono: 47-72884388 Polonia - Varsovia Teléfono: 48-22-3325737 Romanía - Bucarest Tel: 40-21-407-87-50 España – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Suecia - Gothenberg Tel: 46-31-704-60-40 Suecia - Estocolmo Teléfono: 46-8-5090-4654 Reino Unido - Wokingham Teléfono: 44-118-921-5800 Fax: 44-118-921-5820 |
© 2023 Microchip Technology Inc. e as súas filiais
DS50003627A –
Documentos/Recursos
![]() |
Software de biblioteca de simulación MICROCHIP Libero SoC [pdfGuía do usuario DS50003627A, Software de biblioteca de simulación de SoC Libero, Software de biblioteca de simulación de SoC, Software de biblioteca de simulación, Software de biblioteca, Software |