Logo MICROCHIP Simulazione SoC Libero
Istruzioni per la configurazione della libreria

Introduzione

(Fai una domanda)

Lo scopo di questo documento è descrivere la procedura per impostare l'ambiente di simulazione utilizzando come input un progetto Libero SoC. La presente documentazione corrisponde alle librerie precompilate fornite per l'uso con Libero SoC v11.9 e versioni software più recenti. Le librerie fornite sono compilate per Verilog. Gli utenti VHDL richiedono una licenza che consenta la simulazione in modalità mista.
Le librerie di simulazione compilate sono disponibili per i seguenti strumenti:

  • Aldec Attivo-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise e Xcelium
  • Siemens Questa Sim
  • Sinossi VCS

Per richiedere una libreria per un simulatore diverso, contattare Supporto tecnico Microchip.

Integrazione SoC Libero

(Fai una domanda)

Libero SoC supporta la simulazione utilizzando ModelSim ME generando un run.do file. Questo file viene utilizzato da ModelSim ME/ModelSim Pro ME per impostare ed eseguire la simulazione. Per utilizzare altri strumenti di simulazione, è possibile generare il file ModelSim ME/ModelSim Pro ME run.do e modificare lo script Tcl file per utilizzare i comandi compatibili con il tuo simulatore.
1.1 Libero SoC Tcl File Generazione (Fai una domanda)
Dopo aver creato e generato il progetto in Libero SoC, avvia una simulazione ModelSim ME/ModelSim Pro ME in tutte le fasi di progettazione (presynth, postsynth e post-layout). Questo passaggio genera il file run.do file per ModelSim ME/ModelSim Pro ME per ogni fase di progettazione.
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Dopo aver avviato ogni esecuzione della simulazione, rinominare il file run.do generato automaticamente file nella directory della simulazione per evitare che Libero SoC la sovrascriva filePer esempioample, il files possono essere rinominati in presinth_run.do, postsynth_run.do e postlayout_run.do.

Configurazione Aldec per Active-HDL e Riviera-Pro (Fai una domanda)

Il run.do file utilizzato da ModelSim ME/ModelSim Pro ME può essere modificato e utilizzato per la simulazione utilizzando i simulatori Aldec.
2.1 Variabile d'ambiente (Fai una domanda)
Imposta la variabile di ambiente sulla tua licenza file posizione:
LM_LICENZA_FILE: deve includere un puntatore al server delle licenze.
2.2 Scarica la libreria compilata (Fai una domanda)
Scarica le librerie per Aldec Active-HDL e Aldec Riviera-PRO dal Microchip websito.
2.3 Conversione di run.do per la simulazione Aldec (Fai una domanda)
Il run.do fileGli s generati da Libero SoC per le simulazioni con lo strumento Active-HDL e Riviera-Pro possono essere utilizzati per le simulazioni con Active-HDL e Riviera-Pro con una sola modifica. La tabella seguente elenca i comandi equivalenti ad Aldec da modificare in ModelSim run.do file.
Tabella 2-1. Comandi equivalenti Aldec

ModelloSim HDL attivo
vlog un registro
vcom acom
vlib alib
vsim così
mappa virtuale una mappa

Segue una sample run.do relativo ai simulatori Aldec.

  1. Imposta la posizione della directory di lavoro corrente.
    imposta dsn
  2. Imposta un nome di libreria funzionante, mappa la sua posizione, quindi mappa la posizione della famiglia FPGA Microchip
    librerie precompilate (esample, SmartFusion2) su cui stai eseguendo il tuo progetto.
    alib presidente
    amap presinth presinth
    amap SmartFusion2
  3. Compila tutto l'HDL necessario fileViene utilizzato nella progettazione con la libreria richiesta.
    alog –work presinth temp.v (per Verilog)
    alog –work presinth testbench.v
    acom –work presinth temp.vhd (per Vhdl)
    acom –work presinth testbench.vhd
  4. Simulare il disegno.
    asim –L SmartFusion2 –L presinth –t 1ps presinth.testbench
    eseguire 10us

2.4 Problemi noti (Fai una domanda)
Questa sezione elenca i problemi noti e le limitazioni.

  • Le librerie compilate utilizzando Riviera-PRO sono specifiche della piattaforma (ovvero le librerie a 64 bit non possono essere eseguite su piattaforma a 32 bit e viceversa).
  • Per progetti contenenti SERDES/MDDR/FDDR, utilizza la seguente opzione nel tuo run.do files durante l'esecuzione delle simulazioni dopo aver compilato i progetti:
    – HDL attivo: asim –o2
    – Riviera-PRO: asim –O2 (per simulazioni presinth e post-layout) e asim –O5 (per simulazioni post-layout)
    La configurazione Aldec per Active-HDL e Riviera-Pro ha le seguenti SAR in sospeso. Per ulteriori informazioni, contattare Supporto tecnico Microchip.
  • SAR 49908 – Active-HDL: errore VHDL per simulazioni di blocchi matematici
  • SAR 50627 – Riviera-PRO 2013.02: Errori di simulazione per i progetti SERDES
  • SAR 50461 – Riviera-PRO: opzione asim -O2/-O5 nelle simulazioni

Impostazione cadenza incisiva (Fai una domanda)

È necessario creare uno script file simile a ModelSim ME/ModelSim Pro ME run.do per eseguire il
Simulatore di cadenza incisiva. Segui questi passaggi e crea lo script file per NCSim o utilizzare lo script file
fornito per convertire ModelSim ME/ModelSim Pro ME run.do files nella configurazione files
necessario per eseguire le simulazioni utilizzando NCSim.
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: cadenza ha smesso di rilasciare nuove versioni di Incisive Enterprise
simulatore e ha iniziato a supportare il simulatore Xcelium.

3.1 Variabili d'ambiente (Fai una domanda)
Per eseguire il simulatore Cadence Incisive, configurare le seguenti variabili di ambiente:

  1. LM_LICENZA_FILE: deve includere un puntatore alla licenza file.
  2. cds_root: deve puntare alla posizione della directory home dell'installazione Cadence Incisive.
  3. PERCORSO: deve puntare alla posizione del contenitore nella directory degli strumenti indicata da cds_root, ovvero
    $cds_root/tools/bin/64bit (per una macchina a 64 bit e $cds_root/tools/bin per una macchina a 32 bit).
    Esistono tre modi per impostare l'ambiente di simulazione in caso di passaggio tra sistemi operativi a 64 bit e 32 bit:

Caso 1: variabile PATH
Eseguire il seguente comando:
set path = (install_dir/tools/bin/64bit $path) per macchine a 64 bit e
set path = (install_dir/tools/bin $path) per macchine a 32 bit
Caso 2: utilizzo dell'opzione della riga di comando -64 bit
Nella riga di comando specificare l'opzione -64bit per richiamare l'eseguibile a 64 bit.
Caso 3: impostazione della variabile di ambiente INCA_64BIT o CDS_AUTO_64BIT
La variabile INCA_64BIT viene trattata come booleana. È possibile impostare questa variabile su qualsiasi valore o su una stringa nulla.
setenvINCA_64BIT

Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Il La variabile di ambiente INCA_64BIT non influisce su altri strumenti Cadence, come gli strumenti IC. Tuttavia, per gli strumenti Incisivi, la variabile INCA_64BIT sovrascrive l'impostazione della variabile di ambiente CDS_AUTO_64BIT. Se è impostata la variabile d'ambiente INCA_64BIT, tutti gli strumenti Incisive vengono eseguiti in modalità a 64 bit. setenv CDS_AUTO_64BIT INCLUDE:INCA
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Il la stringa INCA deve essere in maiuscolo. Tutti gli eseguibili devono essere eseguiti in modalità a 32 bit o in modalità a 64 bit, non impostare la variabile per includere un eseguibile, come nel seguente:
setenv CDS_AUTO_64BIT INCLUDE:ncelab

Anche altri strumenti Cadence, come gli strumenti IC, utilizzano la variabile di ambiente CDS_AUTO_64BIT per controllare la selezione di eseguibili a 32 o 64 bit. La tabella seguente mostra come impostare la variabile CDS_AUTO_64BIT per eseguire gli strumenti Incisive e gli strumenti IC in tutte le modalità.
Tabella 3-1. Variabili CDS_AUTO_64BIT

CDS_AUTO_64BIT Variabile Strumenti incisivi Strumenti IC
setenv CDS_AUTO_64BIT TUTTI 64 bit 64 bit
setenv CDS_AUTO_64BIT NESSUNO 32 bit 32 bit
setenv CDS_AUTO_64BIT ESCLUDI:ic_binario 64 bit 32 bit
setenv CDS_AUTO_64BIT ESCLUDI:INCA 32 bit 64 bit

Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Tutti gli strumenti Incisive devono essere eseguiti in modalità a 32 bit o a 64 bit, non utilizzare EXCLUDE per escludere un eseguibile specifico, come nel seguente: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Se si imposta la variabile CDS_AUTO_64BIT per escludere gli strumenti Incisivi (setenv CDS_AUTO_64BIT EXCLUDE:INCA), tutti gli strumenti Incisivi verranno eseguiti in modalità a 32 bit. Tuttavia, l'opzione della riga di comando a 64 bit sovrascrive la variabile di ambiente.
La seguente configurazione fileTi aiutano a gestire i tuoi dati e a controllare il funzionamento degli strumenti e delle utilità di simulazione:

  • Mappatura delle biblioteche file (cds.lib): definisce un nome logico per la posizione del progetto.
  • Librerie e le associa a nomi di directory fisiche.
  • Variabili file (hdl.var): definisce le variabili che influenzano il comportamento degli strumenti e delle utilità di simulazione.

3.2 Scarica la libreria compilata (Fai una domanda)
Scarica le librerie per Cadence Incisive da Microsemi websito.
3.3 Creazione dello script NCSim File (Fai una domanda)
Dopo aver creato una copia del file run.do fileQuindi, esegui questi passaggi per eseguire la simulazione utilizzando NCSim:

  1. Crea un file cds.lib file che definisce le biblioteche accessibili e la loro ubicazione. IL file contiene istruzioni che associano i nomi logici della libreria ai percorsi delle directory fisiche. Per esample, se stai eseguendo la simulazione di presinth, il file cds.lib file è scritto come mostrato nel seguente blocco di codice.
    DEFINIRE presinth ./presynth
    DEFINIRE COREAHBLITE_LIB ./COREAHBLITE_LIB
    DEFINIRE smartfusion2
  2. Crea un hdl.var file, una configurazione opzionale file che contiene variabili di configurazione, che determina come è configurato l'ambiente di progettazione. La seguente variabile filesono inclusi:
    – Variabili utilizzate per specificare la libreria di lavoro in cui il compilatore memorizza gli oggetti compilati e altri dati derivati.
    – Per Verilog, variabili (LIB_MAP, VIEW_MAP, WORK) che vengono utilizzati per specificare le librerie e views da cercare quando l'elaboratore risolve le istanze.
    – Variabili che consentono di definire opzioni e argomenti della riga di comando del compilatore, dell'elaboratore e del simulatore.
    In caso di simulazione del sintetizzatore esample mostrato sopra, supponiamo di avere tre RTL files: a.v, b.v e testbench.v, che devono essere compilati rispettivamente nelle librerie presinth, COREAHBLITE_LIB e presinth. Il file hdl.var file può essere scritto come mostrato nel seguente blocco di codice.
    DEFINE WORK presidente
    DEFINISCI PROGETTO_DIR files>
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => presinth )
    DEFINISCI LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presinth )
    DEFINE LIB_MAP ( $LIB_MAP, + => presinth )
  3. Compila il disegno files usando l'opzione ncvlog.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Elaborare il progetto utilizzando ncelab. L'elaboratore costruisce una gerarchia di progettazione basata sulle informazioni di istanziazione e configurazione nel progetto, stabilisce la connettività del segnale e calcola i valori iniziali per tutti gli oggetti nel progetto. La gerarchia di progettazione elaborata viene archiviata in un'istantanea della simulazione, che è la rappresentazione del progetto utilizzata dal simulatore per eseguire la simulazione.
    ncelab –Messaggio –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –erroremax 15 –
    access +rwc –status worklib.:module
    Elaborazione Durante la simulazione Post-layout
    In caso di simulazioni post-layout, prima l'SDF file deve essere compilato prima dell'elaborazione utilizzando il comando ncsdfc.
    ncsdfcfilenome>.sdf –outputfilenome>.sdf.X
    Durante l'elaborazione utilizzare l'output SDF compilato con l'opzione –autosdf come mostrato nel seguente blocco di codice.
    ncelab -autosdf –Messaggio –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –erroremax
    15 –access +rwc –status worklib.:module –sdf_cmd_file ./
    comando_sdf_file
    Il sdf_cmd_file deve essere come mostrato nel seguente blocco di codice.
    COMPILATO_SDF_FILE = “<posizione dell'SDF compilato file>”
  5. Simulare utilizzando ncsim. Dopo l'elaborazione viene creata un'istantanea della simulazione, che viene caricata da ncsim per la simulazione. È possibile eseguire in modalità batch o in modalità GUI.
    ncsim –Messaggio –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
    errormax 15 –status worklib.:module

Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Tutti i tre passaggi precedenti di compilazione, elaborazione e simulazione possono essere inseriti in uno script di shell file e proveniente dalla riga di comando. Invece di utilizzare questi tre passaggi, la progettazione può essere simulata in un unico passaggio utilizzando l'opzione ncverilog o irun, come mostrato nel seguente blocco di codice.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL
files utilizzato nel design>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
utilizzato nella progettazione>

3.3.1 Problemi noti (Fai una domanda)
Soluzione alternativa al banco di prova
L'utilizzo della seguente istruzione per specificare la frequenza di clock nel testbench generato dall'utente o il testbench predefinito generato da Libero SoC non funziona con NCSim.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modificare come segue per eseguire la simulazione:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: compilato le librerie per NCSim sono specifiche della piattaforma (ovvero le librerie a 64 bit non sono compatibili con la piattaforma a 32 bit e viceversa).
Simulazioni post-synth e post-layout utilizzando MSS e SERDES Durante l'esecuzione di simulazioni post-synth di progetti contenenti il ​​blocco MSS o le simulazioni post-layout di progetti utilizzando SERDES, le simulazioni BFM non funzionano se l'opzione –libmap è
non specificato in fase di elaborazione. Questo perché durante l'elaborazione, MSS viene risolto dalla libreria di lavoro (a causa del collegamento predefinito e della libreria di lavoro postsynth/post-layout) dove è solo una funzione fissa.
Il comando ncelab deve essere scritto come mostrato nel seguente blocco di codice per risolvere l'MSS
blocco dalla libreria precompilata SmartFusion2.

ncelab -libmap lib.map -libverbose -Messaggio -access +rwc cfg1
e il file lib.map file deve essere il seguente:
configurazione cfg1;
progettazione ;
liblist predefinito smartfusion2 ;
fineconfigurazione
Questo risolve qualsiasi cella nella libreria SmartFusion2 prima di cercare nella libreria di lavoro, ad esempio postsynth/post-layout.
L'opzione –libmap può essere utilizzata di default durante l'elaborazione per ogni simulazione (presynth, postsynth e post-layout). Ciò evita problemi di simulazione causati dalla risoluzione delle istanze dalle librerie.
ncelab: *F,INTERR: ECCEZIONE INTERNA
Questa eccezione dello strumento ncelab è un avvertimento per i progetti contenenti FDDR in SmartFusion 2 e IGLOO 2 durante le simulazioni postsynth e post-layout utilizzando l'opzione –libmap.
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Questo problema è stato segnalato al team di supporto Cadence (SAR 52113).

3.4 anniample Tcl e Shell Script FileS (Fai una domanda)
Il seguente files sono la configurazione fileÈ necessario per impostare il design e lo script di shell file per eseguire i comandi NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINIRE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIRE presinth ./presynth

Hdl.var
DEFINE WORK presidente
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqaurs/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presidente)
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/componente/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presinth )
DEFINISCI LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presidente)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presinth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presidente )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presinth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presinth )
DEFINE LIB_MAP ( $LIB_MAP, + => presinth )
Comandi.csh
ncvlog +incdir+../../componente/lavoro/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -aggiornamento -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_masterstagetà
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagetà
../../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 -Messaggio -cdslib ./cds.lib -hdlvar ./hdl.var
-lavoro presinth -logfile ncelab.log -errormax 15 -access +rwc -status presinth.testbench:module
ncsim -Messaggio -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presinth.testbench:module

3.5 Automazione (Fai una domanda)
Il seguente script file converte il ModelSim run.do fileè in configurazione fileÈ necessario per eseguire simulazioni utilizzando NCSim.
Sceneggiatura File Utilizzo
perl cadence_parser.pl presinth_run.do postsynth_run.do
postlayout_run.do Famiglia Microsemi
Posizione_delle_librerie_precompilate_di_Cadence

Cadence_parser.pl
#!/usr/bin/perl -w

################################################## ############################################
##################
#Utilizzo: perl questa_parser.pl presinth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Librerie_precompilate_posizione#

################################################## ############################################
##################
utilizzare POSIX;
usare rigorosamente;
mio ($presynth, $postsynth, $postlayout, $famiglia, $lib_location) = @ARGV;
&questa_parser($presynth, $famiglia, $lib_location);
&questa_parser($postsynth, $famiglia, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sotto questo_parser {
il mio $ModelSim_run_do = $_[0];
la mia $famiglia_actel = $_[1];
la mia $lib_location = $_[2];
il mio $stato;
se ( -e “$ModelSim_run_do” )
{
aperto (INFILE,”$ModelSim_run_do”);
il mio @ModelSim_run_do =FILE>;
la mia $linea;
se ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESINTESI`;
aperto (FUORIFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$stato = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
aperto (FUORIFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stato = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
aperto (FUORIFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stato = $1;
} Else
{
print “Input errati forniti al file\N";
print “#Utilizzo: perl questa_parser.pl presinth_run.do postsynth_run.do postlayout_run.do
\"Posizione_biblioteche\"\n";
}
per ogni $line (@ModelSim_run_do)
{
#Operazioni generali
$linea =~ s/..\/designer.*simulazione\///g;
$riga =~ s/$stato/$stato\_questa/g;
#stampareFILE “$riga\n”;
if ($linea =~ m/vmap\s+.*($actel_family)/)
{
stampareFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($riga =~ m/vmap\s+(.*._LIB)/)
{
$riga =~ s/..\/componente/..\/..\/componente/g;
stampareFILE “$riga\n”;
} elsif ($linea =~ m/vsim/)
{
$linea =~ s/vsim/vsim -novopt/g;
stampareFILE “$riga\n”;
} Else
{
stampareFILE “$riga\n”;
}
}
chiudere(INFILE);
chiudi(FUORIFILE);
} altro {
print “$ModelSim_run_do non esiste. Rieseguire la simulazione\n”;
}
}

Impostazione cadenza Xcelium (Accesso tramite microchip)

È necessario creare uno script file simile a ModelSim ME/ModelSim Pro ME run.do per eseguire il simulatore Cadence Xcelium. Segui questi passaggi e crea lo script file per Xcelium o utilizzare lo script file fornito per convertire ModelSim ME/ModelSim Pro ME run.do files nella configurazione fileÈ necessario per eseguire simulazioni utilizzando Xcelium.
4.1 Variabili d'ambiente (Fai una domanda)
Per eseguire Cadence Xcelium, configurare le seguenti variabili di ambiente:

  1. LM_LICENZA_FILE: deve includere un puntatore alla licenza file.
  2. cds_root: deve puntare alla posizione della directory home di Cadence Incisive Installation.
  3. PERCORSO: deve puntare alla posizione del contenitore nella directory degli strumenti indicata da cds_root (ovvero
    $cds_root/tools/bin/64bit (per una macchina a 64 bit e $cds_root/tools/bin per una macchina a 32 bit
    macchina).

Esistono tre modi per impostare l'ambiente di simulazione in caso di passaggio tra sistemi operativi a 64 bit e 32 bit:
Caso 1: variabile PATH
set path = (install_dir/tools/bin/64bit $path) per macchine a 64 bit e
set path = (install_dir/tools/bin $path) per macchine a 32 bit
Caso 2: utilizzo dell'opzione della riga di comando -64 bit
Nella riga di comando specificare l'opzione -64bit per richiamare l'eseguibile a 64 bit.
Caso 3: impostazione della variabile di ambiente INCA_64BIT o CDS_AUTO_64BIT
La variabile INCA_64BIT viene trattata come booleana. È possibile impostare questa variabile su qualsiasi valore o su un valore nullo
corda.
setenvINCA_64BIT

Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Il La variabile di ambiente INCA_64BIT non influisce su altri strumenti Cadence, come gli strumenti IC. Tuttavia, per gli strumenti Incisivi, la variabile INCA_64BIT sovrascrive l'impostazione della variabile di ambiente CDS_AUTO_64BIT. Se la variabile di ambiente INCA_64BIT è et, tutti gli strumenti Incisive vengono eseguiti in modalità a 64 bit.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Il la stringa INCA deve essere in maiuscolo. Tutti gli eseguibili devono essere eseguiti in modalità a 2 bit o in modalità a 64 bit, non impostare la variabile per includere un eseguibile, come nel seguente:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Anche altri strumenti Cadence, come gli strumenti IC, utilizzano la variabile di ambiente CDS_AUTO_64BIT per controllare la selezione di eseguibili a 32 o 64 bit. La tabella seguente mostra come impostare la variabile CDS_AUTO_64BIT per eseguire gli strumenti Incisive e gli strumenti IC in tutte le modalità.

Tabella 4-1. Variabili CDS_AUTO_64BIT

CDS_AUTO_64BIT Variabile Strumenti incisivi Strumenti IC
setenv CDS_AUTO_64BIT TUTTI 64 bit 64 bit
setenv CDS_AUTO_64BIT NESSUNO 32 bit 32 bit
imposta CDS_AUTO_64BIT
ESCLUDI:ic_binary
64 bit 32 bit
setenv CDS_AUTO_64BIT ESCLUDI:INCA 32 bit 64 bit

Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Tutti gli strumenti Incisive devono essere eseguiti in modalità a 32 bit o in modalità a 64 bit, non utilizzare EXCLUDE per escludere un eseguibile specifico, come nel seguente:
setenv CDS_AUTO_64BIT ESCLUDI:ncelab
Se si imposta la variabile CDS_AUTO_64BIT per escludere gli strumenti Incisivi (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), tutti gli strumenti Incisive vengono eseguiti in modalità a 32 bit. comunque, il
L'opzione della riga di comando a 64 bit sovrascrive la variabile di ambiente.
La seguente configurazione fileTi aiutano a gestire i tuoi dati e a controllare il funzionamento degli strumenti e delle utilità di simulazione:

  • Mappatura delle biblioteche file (cds.lib) definisce un nome logico per la posizione del progetto.
  • Librerie e le associa a nomi di directory fisiche.
  • Variabili file (hdl.var) definisce le variabili che influenzano il comportamento degli strumenti e delle utilità di simulazione.

4.2 Scarica la libreria compilata (Fai una domanda)
Scarica le librerie per Cadence Xcelium da Microsemi websito.
4.3 Creazione dello script Xcelium file (Fai una domanda)
Dopo aver creato una copia del file run.do files, esegui i seguenti passaggi per eseguire la simulazione utilizzando lo script Xcelium file.

  1. Crea un file cds.lib file che definisce quali biblioteche sono accessibili e dove si trovano.
    IL file contiene istruzioni che associano i nomi logici della libreria ai percorsi delle directory fisiche. Per esample, se stai eseguendo la simulazione di presinth, il file cds.lib file può essere scritto come mostrato nel seguente blocco di codice.
    DEFINIRE presinth ./presynth
    DEFINIRE COREAHBLITE_LIB ./COREAHBLITE_LIB
    DEFINIRE smartfusion2
  2. Crea un hdl.var file che è una configurazione opzionale file che contiene variabili di configurazione, che determina come è configurato l'ambiente di progettazione. Questi includono:
    – Variabili utilizzate per specificare la libreria di lavoro in cui il compilatore memorizza gli oggetti compilati e altri dati derivati.
    – Per Verilog, variabili (LIB_MAP, VIEW_MAP, WORK) che vengono utilizzati per specificare le librerie e views da cercare quando l'elaboratore risolve le istanze.
    – Variabili che consentono di definire opzioni e argomenti della riga di comando del compilatore, dell'elaboratore e del simulatore.
    In caso di simulazione del sintetizzatore esample mostrato sopra, supponiamo di avere 3 RTL files a.v, b.v e testbench.v, che devono essere compilati rispettivamente nelle librerie presinth, COREAHBLITE_LIB e presinth. Il file hdl.var file può essere scritto come mostrato nel seguente blocco di codice.
    DEFINE WORK presidente
    DEFINISCI PROGETTO_DIR files>
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => presinth )
    DEFINISCI LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presinth )
    DEFINE LIB_MAP ( $LIB_MAP, + => presinth )
  3. Compila il disegno files usando l'opzione ncvlog.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Elaborare il progetto utilizzando ncelab. L'elaboratore costruisce una gerarchia di progettazione basata sulle informazioni di istanziazione e configurazione nel progetto, stabilisce la connettività del segnale e calcola i valori iniziali per tutti gli oggetti nel progetto. La gerarchia di progettazione elaborata viene archiviata in un'istantanea della simulazione, che è la rappresentazione del progetto utilizzata dal simulatore per eseguire la simulazione.
    Xcelium –Messaggio –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –erroremax 15 –
    access +rwc –status worklib.:module
    Elaborazione Durante la simulazione Post-layout
    In caso di simulazioni post-layout, prima l'SDF file deve essere compilato prima dell'elaborazione utilizzando il comando ncsdfc.
    Xcelio <filenome>.sdf –outputfilenome>.sdf.X
    Durante l'elaborazione utilizzare l'output SDF compilato con l'opzione –autosdf come mostrato nel seguente blocco di codice.
    xmelab -autosdf –Messaggio –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –erroremax
    15 –access +rwc –status worklib.:module –sdf_cmd_file ./
    comando_sdf_file
    Il sdf_cmd_file deve essere come mostrato nel seguente blocco di codice.
    COMPILATO_SDF_FILE = “<posizione dell'SDF compilato file>”
  5. Simulare utilizzando Xcelium. Dopo l'elaborazione viene creata un'istantanea della simulazione che viene caricata da Xcelium per la simulazione. Questo può essere eseguito in modalità batch o in modalità GUI.
    xmsim –Messaggio –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
    errormax 15 –status worklib.:module
    Configurazione di Cadence Xcelium
    Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: tutti i tre passaggi precedenti di compilazione, elaborazione e simulazione possono essere inseriti in uno script di shell file e proveniente dalla riga di comando. Invece di utilizzare questi tre passaggi, la progettazione può essere simulata in un passaggio utilizzando l'opzione ncverilog o xrun come mostrato nel seguente blocco di codice.
    xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL
    files utilizzato nel design>
    xrun+incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
    utilizzato nella progettazione>

4.3.1 Problemi noti (Fai una domanda)
Soluzione alternativa al banco di prova
L'utilizzo della seguente istruzione per specificare la frequenza di clock nel testbench generato dall'utente o nel testbench predefinito generato da Libero SoC non funziona con Xcelium.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modificare come segue per eseguire la simulazione:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;

Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Le librerie compilate per Xcelium sono specifiche della piattaforma (ovvero le librerie a 64 bit non sono compatibili con la piattaforma a 32 bit e viceversa).
Simulazioni Postsynth e Post-layout utilizzando MSS e SERDES
Durante l'esecuzione di simulazioni post-sintesi di progetti contenenti blocchi MSS o simulazioni post-layout di progetti utilizzando SERDES, le simulazioni BFM non funzionano se l'opzione –libmap non è specificata durante l'elaborazione. Questo perché durante l'elaborazione, MSS viene risolto dalla libreria di lavoro (a causa del collegamento predefinito e della libreria di lavoro postsynth/post-layout) dove è solo una funzione fissa.
Il comando ncelab deve essere scritto come mostrato nel seguente blocco di codice per risolvere il blocco MSS dalla libreria precompilata SmartFusion2.
xmelab -libmap lib.map -libverbose -Messaggio -access +rwc cfg1
e il file lib.map file deve essere il seguente:
configurazione cfg1;
progettazione ;
liblist predefinito smartfusion2 ;
fineconfigurazione
Questo deve risolvere qualsiasi cella nella libreria SmartFusion2 prima di cercare nella libreria di lavoro, ad esempio postsynth/post-layout.
L'opzione –libmap può essere utilizzata di default durante l'elaborazione per ogni simulazione (presynth, postsynth e post-layout). Ciò evita problemi di simulazione causati dalla risoluzione delle istanze dalle librerie.
xmelab: *F,INTERR: ECCEZIONE INTERNA
Questa eccezione dello strumento ncelab è un avvertimento per i progetti contenenti FDDR in SmartFusion2 e IGLOO2
durante le simulazioni post-synth e post-layout utilizzando l'opzione –libmap.
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Questo problema è stato segnalato al team di supporto Cadence (SAR 52113).

4.4 anniample Tcl e script di shell fileS (Fai una domanda)
Il seguente files sono la configurazione fileÈ necessario per impostare il design e lo script di shell file per eseguire i comandi Xcelium.
Cds.lib
DEFINIRE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINIRE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIRE presinth ./presynth
Hdl.var
DEFINE WORK presidente
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqaurs/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINISCI LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presidente)
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/componente/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presinth )
DEFINISCI LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presidente)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presinth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presinth )
DEFINISCI LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presidente )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presinth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presinth )
DEFINE LIB_MAP ( $LIB_MAP, + => presinth )
Comandi.csh
ncvlog +incdir+../../componente/lavoro/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -aggiornamento -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_masterstagetà
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagetà
../../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 -Messaggio -cdslib ./cds.lib -hdlvar ./hdl.var
-lavoro presinth -logfile ncelab.log -errormax 15 -access +rwc -status presinth.testbench:module
ncsim -Messaggio -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presinth.testbench:module

4.5 Automazione (Accesso tramite microchip)
Il seguente script file converte ModelSim run.do fileè in configurazione fileÈ necessario per eseguire simulazioni utilizzando Xcelium.
Sceneggiatura File Utilizzo
perl cadence_parser.pl presinth_run.do postsynth_run.do
postlayout_run.do Famiglia Microsemi
Posizione_delle_librerie_precompilate_di_Cadence
Cadence_parser.pl
#!/usr/bin/perl -w

################################################## ############################################
##################
#Utilizzo: perl questa_parser.pl presinth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Librerie_precompilate_posizione#

################################################## ############################################
##################
utilizzare POSIX;
usare rigorosamente;
mio ($presynth, $postsynth, $postlayout, $famiglia, $lib_location) = @ARGV;
&questa_parser($presynth, $famiglia, $lib_location);
&questa_parser($postsynth, $famiglia, $lib_location);

&questa_parser($postlayout, $family, $lib_location);
sotto questo_parser {
il mio $ModelSim_run_do = $_[0];
la mia $famiglia_actel = $_[1];
la mia $lib_location = $_[2];
il mio $stato;
se ( -e “$ModelSim_run_do” )
{
aperto (INFILE,”$ModelSim_run_do”);
il mio @ModelSim_run_do =FILE>;
la mia $linea;
se ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESINTESI`;
aperto (FUORIFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$stato = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
aperto (FUORIFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stato = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
aperto (FUORIFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stato = $1;
} Else
{
print “Input errati forniti al file\N";
print “#Utilizzo: perl questa_parser.pl presinth_run.do postsynth_run.do postlayout_run.do
\"Posizione_biblioteche\"\n";
}
per ogni $line (@ModelSim_run_do)
{
#Operazioni generali
$linea =~ s/..\/designer.*simulazione\///g;
$riga =~ s/$stato/$stato\_questa/g;
#stampareFILE “$riga\n”;
if ($linea =~ m/vmap\s+.*($actel_family)/)
{
stampareFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($riga =~ m/vmap\s+(.*._LIB)/)
{
$riga =~ s/..\/componente/..\/..\/componente/g;
stampareFILE “$riga\n”;
} elsif ($linea =~ m/vsim/)
{
$linea =~ s/vsim/vsim -novopt/g;
stampareFILE “$riga\n”;
} Else
{
stampareFILE “$riga\n”;
}
}
chiudere(INFILE);
chiudi(FUORIFILE);
} altro {
print “$ModelSim_run_do non esiste. Rieseguire la simulazione\n”;
}
}

Configurazione Siemens QuestaSim/Configurazione ModelloSim (Fai una domanda)

Il run.do files, generati dal SoC Libero per le simulazioni utilizzando le edizioni ModelSim Microsemi, possono essere utilizzati per simulazioni utilizzando QuestaSim/ModelSim SE/DE/PE con un solo cambiamento. Nel ModelSim ME/ModelSim Pro ME run.do file, è necessario modificare la posizione delle librerie precompilate.
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: 
Per impostazione predefinita, lo strumento di simulazione diverso da ModelSim Pro ME esegue l'ottimizzazione del progetto durante la simulazione che può influire sulla visibilità degli artefatti della simulazione come oggetti di progettazione e stimoli di input.
Ciò è in genere utile per ridurre il tempo di esecuzione della simulazione per le simulazioni complesse, utilizzando banchi di prova dettagliati e autocontrollati. Tuttavia, le ottimizzazioni predefinite potrebbero non essere appropriate per tutte le simulazioni, soprattutto nei casi in cui si prevede di ispezionare graficamente i risultati della simulazione utilizzando la finestra dell'onda.
Per risolvere i problemi causati da questa ottimizzazione, è necessario aggiungere comandi appropriati e argomenti correlati durante la simulazione per ripristinare la visibilità del progetto. Per i comandi specifici dello strumento, consultare la documentazione del simulatore in uso.

5.1 Variabili d'ambiente (Fai una domanda)
Di seguito sono riportate le variabili di ambiente richieste.

  • LM_LICENZA_FILE: deve includere il percorso della licenza file.
  • MODEL_TECH: deve identificare il percorso della directory home dell'installazione di QuestaSim.
  • PERCORSO: deve puntare alla posizione dell'eseguibile indicata da MODEL_TECH.

5.2 Conversione di run.do per Mentor QuestaSim (Fai una domanda)
Il run.do files generati da Libero SoC per simulazioni utilizzando ModelSim Microsemi Editions possono essere utilizzati per simulazioni utilizzando QuestaSim/ModelSim_SE con una sola modifica.
Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: tutti i progetti simulati utilizzando QuestaSim devono includere -novopt
opzione insieme al comando vsim nello script run.do files.
5.3 Scaricare la libreria compilata (Fai una domanda)
Scarica le librerie per Mentor Graphics QuestaSim da Microsemi websito.

Sinossi Configurazione VCS (Fai una domanda)

Il flusso consigliato da Microsemi si basa sul flusso Elabora e Compila in VCS. Questo documento include uno script file che utilizza lo script run.do files generato da Libero SoC e genera il setup fileÈ necessario per la simulazione VCS. Il copione file utilizza il run.do file per fare quanto segue.

  • Creare una mappatura della libreria file, che viene eseguito utilizzando synopsys_sim.setup file situato nella stessa directory in cui è in esecuzione la simulazione VCS.
  • Crea uno script di shell file per elaborare e compilare il tuo progetto utilizzando VCS.

6.1 Variabili d'ambiente (Fai una domanda)
Imposta le variabili di ambiente appropriate per VCS in base alla tua configurazione. Le variabili d'ambiente necessarie secondo la documentazione VCS sono:

  • LM_LICENZA_FILE: deve includere un puntatore al server delle licenze.
  • VCS_HOME: deve puntare alla posizione della directory home dell'installazione VCS.
  • PERCORSO: deve includere un puntatore alla directory bin sotto la directory VCS_HOME.

6.2 Scarica la libreria compilata (Fai una domanda)
Scarica le librerie per Synopsys VCS da Microsemi websito.
6.3 Script di simulazione VCS File (Fai una domanda)
Dopo aver configurato VCS e generato il progetto e i diversi file run.do files da Libero SoC, è necessario:

  1. Creare la mappatura della libreria file synopsys_sim.setup; Questo file contiene puntatori alla posizione di tutte le librerie da utilizzare nel progetto.
    Software della libreria di simulazione MICROCHIP Libero SoC - icona  Importante: Il file il nome non deve cambiare e deve trovarsi nella stessa directory in cui è in esecuzione la simulazione. Ecco un example per un tale file per la simulazione della presintesi.
    LAVORO > ERRORE
    SmartFusion2:
    presinth: ./presynth
    PREDEFINITO: ./lavoro
  2. Elaborare il diverso design files, incluso il testbench, utilizzando il comando vlogan in VCS. Questi comandi possono essere inclusi in uno script di shell file. Segue un example dei comandi necessari per elaborare un progetto definito in rtl.v con il suo testbench definito in
    banco di prova.v.
    vlogan +v2k -work presinth rtl.v
    vlogan +v2k -work presinth testbench.v
  3. Compila il progetto utilizzando VCS utilizzando il seguente comando.
    vcs –sim_res=1fs presinth.testbench
    Notare la la risoluzione temporale della simulazione deve essere impostata su 1fs per una corretta simulazione funzionale.
  4. Una volta compilato il progetto, avvia la simulazione utilizzando il seguente comando.
    ./simv
  5. Per la simulazione con annotazioni a ritroso, il comando VCS deve essere come mostrato nel seguente blocco di codice.
    vcs postlayout.testbench –sim_res=1fs –sdf max: .
    nome>:<sdf file percorso> –gui –l postlayout.log

6.4 Limitazioni/Eccezioni (Fai una domanda)
Di seguito sono riportate le limitazioni/eccezioni dell'installazione di Synopsys VCS.

  • Le simulazioni VCS possono essere eseguite solo per progetti Verilog di Libero SoC. Il simulatore VCS ha severi requisiti linguistici VHDL che non sono soddisfatti dal VHDL generato automaticamente da Libero SoC files.
  • Devi avere un'istruzione $finish nel testbench di Verilog per interrompere la simulazione ogni volta che vuoi.
    Software della libreria di simulazione MICROCHIP Libero SoC - icona Importante: Quando le simulazioni vengono eseguite in modalità GUI, il tempo di esecuzione può essere specificato nella GUI.

6.5 anniample Tcl e Shell Script FileS (Fai una domanda)
Il seguente Perl automatizza la generazione di synopsys_sim.setup file così come lo script di shell corrispondente fileÈ necessario elaborare, compilare e simulare il progetto.
Se il progetto utilizza un MSS, copia test.vec file situato nella cartella di simulazione del progetto Libero SoC all'interno della cartella di simulazione VCS. Le sezioni seguenti contengono sample run.do files generati da Libero SoC, inclusa la mappatura della libreria corrispondente e lo script di shell fileÈ necessario per la simulazione VCS.
6.5.1 Pre-sintesi (Fai una domanda)
Presynth_run.do
imposta tranquillamente ACTELLIBNAME SmartFusion2
imposta tranquillamente PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF”
Se {[file esiste presinth/_info]} {
echo "INFO: la libreria di simulazione presinth esiste già"
} altro {
sintetizzatore vlib
}
vmap presinth presinth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presinth “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -lavoro presinth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presinth -t 1fs presinth.SD1_TB1
aggiungi onda /SD1_TB1/*
aggiungi log -r /*
eseguire 1000ns
presinth_main.csh
#!/bin/csh -f
imposta PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presinth “${PROJECT_DIR}/component/
lavoro/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -lavoro
sintetizzatore “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presinth.SD1_TB1 -l compile.log
./simv -l esegui.log
Sinossi_sim.setup
LAVORO > PREDEFINITO
SmartFusion2: /VCS/SmartFusion2
presinth: ./presynth
PREDEFINITO: ./lavoro

6.5.2 Post-sintesi (Fai una domanda)
postsynth_esegui.do
imposta tranquillamente ACTELLIBNAME SmartFusion2
imposta tranquillamente PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF”
Se {[file esiste postsynth/_info]} {
echo "INFO: la libreria di simulazione postsynth esiste già"
} altro {
post-sintetizzatore vlib
}
post-sintesi vmap post-sintesi
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
"SmartFusion2"
vlog -work postsynth “${PROJECT_DIR}/sintesi/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
aggiungi onda /SD1_TB1/*
aggiungi log -r /*
eseguire 1000ns
registro SD1_TB1/*
Uscita
PostSynth_main.csh
#!/bin/csh -f
imposta PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth “${PROJECT_DIR}/sintesi/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -lavoro
post-sintesi “${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 esegui.log
Sinossi_sim.setup
LAVORO > PREDEFINITO
SmartFusion2: /VCS/SmartFusion2
postsynth: ./postsynth
PREDEFINITO: ./lavoro
6.5.3 Post-impaginazione (Fai una domanda)
postlayout_esegui.do
imposta tranquillamente ACTELLIBNAME SmartFusion2
imposta tranquillamente PROJECT_DIR “E:/ModelSim_Work/Test_DFF”
Se {[file esiste ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: la libreria di simulazione ../designer/SD1/simulation/postlayout esiste già"
} altro {
vlib ../designer/SD1/simulazione/postlayout
}
postlayout della mappa virtuale ../designer/SD1/simulazione/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
"SmartFusion2"
vlog -postlayout di lavoro “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -postlayout di lavoro “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${DIR_PROGETTO}/designer/SD1/
Postlayout SD1_ba.sdf.SD1_TB1
aggiungi onda /SD1_TB1/*
aggiungi log -r /*
eseguire 1000ns
Postlayout_main.csh
#!/bin/csh -f
imposta PROJECT_DIR = “/VCS_Test/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
progettista/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -lavoro
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 esegui.log
Sinossi_sim.setup
LAVORO > PREDEFINITO
SmartFusion2: /VCS/SmartFusion2
postlayout: ./postlayout
PREDEFINITO: ./workVCS
6.6 Automazione (Fai una domanda)
Il flusso può essere automatizzato utilizzando il seguente script Perl file per convertire il ModelSim run.do files nello script di shell compatibile con VCS files, creare le directory appropriate all'interno della directory di simulazione del SoC Libero, quindi eseguire le simulazioni.
Esegui lo script file utilizzando la seguente sintassi.
perl vcs_parse.pl presinth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
################################################## ############################
#
#Utilizzo: perl vcs_parse.pl presinth_run.do postsynth_run.do postlayout_run.do
#
################################################## #############################
mio ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(“mkdir VCS_Presynth”)) {print “mkdir fallito:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir fallito:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir fallito:\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 analizza_fai {
il mio $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k”;
la mia %LIB = ();
il mio $file = $_[0] ;
il mio $stato = $_[1];
aperto(INFILE”, $file”) || morire “Non posso aprire File Il motivo potrebbe essere:$!”;
if ($state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || morire “Non posso creare il comando File Il motivo potrebbe essere:$!”;
}
elsif ($state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || morire “Non posso creare il comando File Il motivo potrebbe essere:$!”;
}
elsif ($state eq “postlayout”)
{
open(OUT1,”>postlayout_main.csh”) || morire “Non posso creare il comando File Il motivo potrebbe essere:$!”;
}
altro
{
print “Manca lo stato della simulazione \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || morire “Non posso creare il comando File Il motivo potrebbe essere:$!”;
# .csh file
stampa OUT1 “#!/bin/csh -f\n\n\n” ;
#IMPOSTARE FILE
print OUT2 “LAVORO > PREDEFINITO\n” ;
print OUT2 “SmartFusion2: /sqa/users/Aditya/VCS/SmartFusion2\n”;
mentre ($riga =FILE>)
{

Sinossi Configurazione VCS

if ($line =~ m/imposta tranquillamente PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 “imposta DIR_PROGETTO = \”$1\”\n\n\n” ;
}
elsif ( $riga =~ m/vlog.*\.v\”/ )
{
if ($riga =~ m/\s+(\w*?)\_LIB/)
{
#stampa “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
{NS} è un'istruzione che richiede un'istruzione diversa da quella corrente.
}
chomp($line);
$riga =~ s/^vlog/$vlog/ ;
$riga =~ s/ //g;
stampa OUT1 “$riga\n”;
}
elsif ( ($riga =~ m/vsim.*presynth\.(.*)/) || ($riga =~ m/vsim.*postsynth\.(.*)/) || ($riga
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
{NS} = s/ //g;
masticare($tb);
#print “Nome TB: $tb \n”;
if ( $riga =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$linea = $1;
#print “LINEA: $linea \n”;
if ($linea =~ m/max/)
{
$riga =~ s/max \/// ;
$riga =~ s/=/:/;
stampa 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 ($linea =~ m/min/)
{
$riga =~ s/min \/// ;
$riga =~ s/=/:/;
stampa 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 ($riga =~ m/tip/)
{
$riga =~ s/tipo \/// ;
$riga =~ s/=/:/;
stampa OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
tipo:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Formato SDF ModelSim
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; -VCS
Formato SDF
}
}
}
stampa
USCITA1 “\n\n”
;
if
( $state eq “presidente”
)
{
stampa
OUT2 “presidente
: ./presynth\n”
;
stampa
OUT1”/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presinth.$tb -l
compila.log\n”
;
}
altrove
($state eq “postsynth”
)
{
stampa
OUT2 “post-sintetizzatore
: ./postsynth\n”
;
stampa
OUT1”/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compila.log\n”
;
}
altrove
( $state eq “postlayout”
)
{
stampa OUT2 “postlayout: ./postlayout\n” ;
}
altro
{
print “Manca lo stato della simulazione \n” ;
}
foreach $i (chiavi %LIB)
{
#print “Chiave: $i Valore: $LIB{$i} \n” ;
stampa OUT2 “$i : ./$i\n” ;
}
stampa OUT1 “\n\n” ;
print OUT1 “./simv -l esegui.log\n” ;
print OUT2 “DEFAULT: ./lavoro\n” ;
chiudere INFILE;
chiude OUT1;
chiude OUT2;
}

Cronologia delle revisioni (Accesso tramite microchip

La cronologia delle revisioni descrive le modifiche implementate nel documento. I cambiamenti
sono elencati per revisione, a partire dalla pubblicazione più recente.

Revisione Data Descrizione
A 12/2023 In questa revisione vengono apportate le seguenti modifiche:
• Documento convertito in modello Microchip. Revisione iniziale.
• Sezione 5 aggiornata. Siemens QuestaSim Setup/ModelSim Setup per includere una nuova nota che spiega l'impatto sulla visibilità durante la simulazione e l'ottimizzazione.

Supporto FPGA per microchip
Il gruppo di prodotti Microchip FPGA supporta i propri prodotti con vari servizi di supporto, tra cui Servizio clienti, Centro assistenza tecnica clienti, a websito e uffici vendite in tutto il mondo.
Si consiglia ai clienti di visitare le risorse online di Microchip prima di contattare l'assistenza poiché è molto probabile che le loro domande abbiano già ricevuto risposta.
Contattare il Centro di assistenza tecnica tramite il websito a www.microchip.com/support. Menziona il numero di parte del dispositivo FPGA, seleziona la categoria di custodia appropriata e carica il design files durante la creazione di un caso di supporto tecnico.
Contatta il servizio clienti per assistenza non tecnica sui prodotti, ad esempio prezzi dei prodotti, aggiornamenti dei prodotti, informazioni sull'aggiornamento, stato dell'ordine e autorizzazione.

  • Dal Nord America, chiamare 800.262.1060
  • Dal resto del mondo, chiamare il 650.318.4460
  • Fax, da qualsiasi parte del mondo, 650.318.8044

Informazioni sul microchip
Il microchip Websito
Microchip fornisce supporto online tramite il nostro websito a www.microchip.com/. Questo webil sito è utilizzato per fare filee informazioni facilmente accessibili ai clienti. Alcuni dei contenuti disponibili includono:

  • Supporto al prodotto – Schede tecniche ed errata, note applicative e sampprogrammi, risorse di progettazione, guide per l'utente e documenti di supporto hardware, ultime versioni software e software archiviato
  • Supporto tecnico generale: domande frequenti (FAQ), richieste di supporto tecnico, gruppi di discussione online, elenco dei membri del programma dei partner di progettazione Microchip
  • Business di Microchip - Guide per la selezione e l'ordinazione dei prodotti, gli ultimi comunicati stampa di Microchip, elenco di seminari ed eventi, elenchi di uffici vendita, distributori e rappresentanti di fabbrica Microchip

Servizio di notifica di modifica del prodotto
Il servizio di notifica delle modifiche ai prodotti di Microchip aiuta a mantenere i clienti aggiornati sui prodotti Microchip. Gli abbonati riceveranno una notifica via e-mail ogni volta che ci sono modifiche, aggiornamenti, revisioni o errata relativi a una specifica famiglia di prodotti o strumento di sviluppo di interesse.
Per registrarsi, andare su www.microchip.com/pcn e seguire le istruzioni di registrazione.
Assistenza clienti
Gli utenti dei prodotti Microchip possono ricevere assistenza attraverso diversi canali:

  • Distributore o rappresentante
  • Ufficio Commerciale Locale
  • Ingegnere di soluzioni integrate (ESE)
  • Supporto tecnico

I clienti devono contattare il loro distributore, rappresentante o ESE per ricevere supporto. Sono disponibili anche uffici vendite locali per aiutare i clienti. Un elenco di uffici vendite e sedi è incluso in questo documento.
Il supporto tecnico è disponibile tramite websito a: www.microchip.com/support
Funzionalità di protezione del codice dei dispositivi a microchip
Si noti quanto segue in merito alla funzionalità di protezione del codice sui prodotti Microchip:

  • I prodotti Microchip soddisfano le specifiche contenute nella rispettiva scheda tecnica Microchip.
  • Microchip ritiene che la sua famiglia di prodotti sia sicura se utilizzata nel modo previsto, nel rispetto delle specifiche operative e in condizioni normali.
  • Microchip apprezza e protegge in modo aggressivo i suoi diritti di proprietà intellettuale. I tentativi di violare le funzionalità di protezione del codice del prodotto Microchip sono severamente vietati e possono violare il Digital Millennium Copyright Act.
  • Né Microchip né altri produttori di semiconduttori possono garantire la sicurezza del proprio codice. La protezione del codice non significa che garantiamo che il prodotto sia “indistruttibile”.
    La protezione del codice è in continua evoluzione. Microchip è impegnata a migliorare continuamente le caratteristiche di protezione del codice dei nostri prodotti.

Note legali
Questa pubblicazione e le informazioni ivi contenute possono essere utilizzate solo con i prodotti Microchip, anche per progettare, testare e integrare i prodotti Microchip con l'applicazione. L'uso di queste informazioni in qualsiasi altro modo viola questi termini. Le informazioni relative alle applicazioni del dispositivo sono fornite solo per comodità dell'utente e possono essere sostituite da aggiornamenti. È tua responsabilità assicurarti che la tua applicazione soddisfi le tue specifiche. Contattare l'ufficio vendite Microchip locale per ulteriore supporto o ottenere ulteriore supporto all'indirizzo www.microchip.com/en-us/support/design-help/client-support-services.
QUESTE INFORMAZIONI SONO FORNITE DA MICROCHIP "COSÌ COME SONO". MICROCHIP NON RILASCIA ALCUNA DICHIARAZIONE O GARANZIA DI ALCUN TIPO, SIA ESSE ESPRESSE O IMPLICITE, SCRITTE O ORALI, STATUTARIE O ALTRO, RELATIVE ALLE INFORMAZIONI, INCLUSE, SENZA LIMITAZIONE, QUALSIASI GARANZIA IMPLICITA DI NON VIOLAZIONE, COMMERCIABILITÀ E IDONEITÀ PER UNO SCOPO PARTICOLARE, O GARANZIE RELATIVE ALLA SUA CONDIZIONE, QUALITÀ O PRESTAZIONI.
IN NESSUN CASO MICROCHIP SARÀ RITENUTA RESPONSABILE PER QUALSIASI PERDITA, DANNO, COSTO O SPESA INDIRETTA, SPECIALE, PUNITIVA, ACCIDENTALE O CONSEGUENTE DI QUALSIASI TIPO CORRELATA ALLE INFORMAZIONI O AL SUO UTILIZZO, COMUNQUE CAUSATA, ANCHE SE MICROCHIP È STATA INFORMATA DELLA POSSIBILITÀ O SE I DANNI SONO PREVEDIBILI. NELLA MISURA MASSIMA CONSENTITA DALLA LEGGE, LA RESPONSABILITÀ TOTALE DI MICROCHIP PER TUTTI I RECLAMI IN QUALSIASI MODO CORRELATI ALLE INFORMAZIONI O AL SUO UTILIZZO NON SUPERERÀ L'IMPORTO DELLE COMMISSIONI, SE PRESENTI, CHE AVETE PAGATO DIRETTAMENTE A MICROCHIP PER LE INFORMAZIONI.
L'uso dei dispositivi Microchip in applicazioni di supporto vitale e/o di sicurezza è interamente a rischio dell'acquirente, il quale accetta di difendere, indennizzare e tenere indenne Microchip da qualsiasi danno, reclamo, causa o spesa risultante da tale uso. Nessuna licenza viene trasferita, implicitamente o in altro modo, in base ai diritti di proprietà intellettuale di Microchip, salvo diversamente specificato.
Marchi
Il nome e il logo Microchip, il logo Microchip, Adaptec, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, logo MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, Logo SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron e XMEGA sono marchi registrati di Microchip Technology Incorporated negli Stati Uniti e in altri paesi.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, QuietWire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime e ZL sono marchi registrati di Microchip Technology Incorporated negli Stati Uniti
Soppressione della chiave adiacente, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Paralleling intelligente, IntelliMOS, Connettività tra chip, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, logo certificato MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, generazione di codice onnisciente, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Quad I/O seriale, 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 sono marchi di Microchip Technology Incorporated
negli Stati Uniti e in altri paesi.
SQTP è un marchio di servizio di Microchip Technology Incorporated negli USA
Il logo Adaptec, Frequency on Demand, Silicon Storage Technology e Symmcom sono marchi registrati di Microchip Technology Inc. in altri paesi.
GestIC è un marchio registrato di Microchip Technology Germany II GmbH & Co. KG, una sussidiaria di Microchip Technology Inc., in altri paesi.
Tutti gli altri marchi qui menzionati sono di proprietà delle rispettive aziende.
© 2023, Microchip Technology Incorporated e le sue sussidiarie. Tutti i diritti riservati.
ISBN: 978-1-6683-3694-6
Sistema di gestione della qualità
Per informazioni sui sistemi di gestione della qualità di Microchip, visitare www.microchip.com/qualità.

AMERICHE ASIA/PACIFICO ASIA/PACIFICO EUROPA
Sede aziendale
2355 West Chandler Boulevard.
Chandler, AZ 85224-6199
Tel: Numero di telefono: 480-792-7200
Fax: Numero di telefono: 480-792-7277
Supporto tecnico:
www.microchip.com/support
Web Indirizzo:
www.microchip.com
Atlanta
Duluth, Georgia
Tel: Numero di telefono: 678-957-9614
Fax: Numero di telefono: 678-957-1455
Austin, Texas
Tel: Numero di telefono: 512-257-3370
Boston
Westborough, MA
Tel: Numero di telefono: 774-760-0087
Fax: Numero di telefono: 774-760-0088
Chicago
Itasca, IL
Tel: Numero di telefono: 630-285-0071
Fax: Numero di telefono: 630-285-0075
Dallas
Addison, TX
Tel: Numero di telefono: 972-818-7423
Fax: Numero di telefono: 972-818-2924
Detroit
Novi, MI
Tel: Numero di telefono: 248-848-4000
Houston, Texas
Tel: Numero di telefono: 281-894-5983
Indianapolis
Noblesville, Indiana
Tel: Numero di telefono: 317-773-8323
Fax: Numero di telefono: 317-773-5453
Tel: Numero di telefono: 317-536-2380
Los Angeles
Missione Viejo, California
Tel: Numero di telefono: 949-462-9523
Fax: Numero di telefono: 949-462-9608
Tel: Numero di telefono: 951-273-7800
Raleigh, Carolina del Nord
Tel: Numero di telefono: 919-844-7510
Nuova York, Stati Uniti
Tel: Numero di telefono: 631-435-6000
San Jose, California
Tel: Numero di telefono: 408-735-9110
Tel: Numero di telefono: 408-436-4270
Canada – Toronto
Tel: Numero di telefono: 905-695-1980
Fax: Numero di telefono: 905-695-2078
Australia – Sidney
Tel: 61-2-9868-6733
Cina – Pechino
Tel: 86-10-8569-7000
Cina – Chengdu
Tel: 86-28-8665-5511
Cina – Chongqing
Tel: 86-23-8980-9588
Cina – Dongguan
Tel: 86-769-8702-9880
Cina – Canton
Tel: 86-20-8755-8029
Cina – Hangzhou
Tel: 86-571-8792-8115
Cina – RAS di Hong Kong
Tel: 852-2943-5100
Cina – Nanchino
Tel: 86-25-8473-2460
Cina – Qingdao
Tel: 86-532-8502-7355
Cina – Shanghai
Tel: 86-21-3326-8000
Cina – Shenyang
Tel: 86-24-2334-2829
Cina – Shenzhen
Tel: 86-755-8864-2200
Cina – Suzhou
Tel: 86-186-6233-1526
Cina – Wuhan
Tel: 86-27-5980-5300
Cina – Xian
Tel: 86-29-8833-7252
Cina – Xiamen
Tel: 86-592-2388138
Cina – Zhuhai
Tel: 86-756-3210040
India – Bangalore
Tel: 91-80-3090-4444
India – Nuova Delhi
Tel: 91-11-4160-8631
India – Puna
Tel: 91-20-4121-0141
Giappone – Osaka
Tel: 81-6-6152-7160
Giappone – Tokyo
Telefono: 81-3-6880-3770
Corea – Daegu
Tel: 82-53-744-4301
Corea – Seul
Tel: 82-2-554-7200
Malesia – Kuala Lumpur
Tel: 60-3-7651-7906
Malesia – Penang
Tel: 60-4-227-8870
Filippine – Manila
Tel: 63-2-634-9065
Singapore
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
Thailandia – Bangkok
Tel: 66-2-694-1351
Vietnam-Ho Chi Minh
Tel: 84-28-5448-2100
Austria – Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Danimarca – Copenaghen
Tel: 45-4485-5910
Fax: 45-4485-2829
Finlandia – Espoo
Tel: 358-9-4520-820
Francia – Parigi
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germania – Garching
Tel: 49-8931-9700
Germania – Haan
Tel: 49-2129-3766400
Germania – Heilbronn
Tel: 49-7131-72400
Germania – Karlsruhe
Tel: 49-721-625370
Germania – Monaco di Baviera
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Germania – Rosenheim
Tel: 49-8031-354-560
Israele – Ra'anana
Tel: 972-9-744-7705
Italia – Milano
Tel: 39-0331-742611
Fax: 39-0331-466781
Italia – Padova
Tel: 39-049-7625286
Paesi Bassi – Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Norvegia – Trondheim
Tel: 47-72884388
Polonia – Varsavia
Tel: 48-22-3325737
Romania – Bucarest
Tel: 40-21-407-87-50
Spagna – Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Svezia – Göteborg
Tel: 46-31-704-60-40
Svezia – Stoccolma
Tel: 46-8-5090-4654
Regno Unito – Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820

Logo MICROCHIP© 2023 Microchip Technology Inc. e le sue sussidiarie
DS50003627A –

Documenti / Risorse

Software di libreria di simulazione SoC MICROCHIP Libero [pdf] Guida utente
DS50003627A, Libero Software di libreria di simulazione SoC, Software di libreria di simulazione SoC, Software di libreria di simulazione, Software di libreria, Software

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *