LOGO MICROCHIP Simulazione SoC Libero
Istruzioni per l'installazione di a biblioteca

Introduzione

(Fate una quistione)

U scopu di stu documentu hè di discrìviri a prucedura per stallà l'ambienti di simulazione utilizendu un prughjettu Libero SoC cum'è input. Questa documentazione currisponde à e librerie pre-cumpilate furnite per l'usu cù Libero SoC v11.9 è versioni di software più recenti. E biblioteche furnite sò compilate per Verilog. L'utilizatori di VHDL necessitanu una licenza chì permette a simulazione in modalità mista.
E biblioteche di simulazione compilate sò dispunibuli per i seguenti strumenti:

  • Aldec Active-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise è Xcelium
  • Siemens QuestaSim
  • Sinopsia VCS

Per dumandà una biblioteca per un simulatore diversu, cuntattate Assistenza tecnica Microchip.

Integrazione SoC Libero

(Fate una quistione)

Libero SoC supporta a simulazione cù ModelSim ME generendu un run.do file. Questu file hè utilizatu da ModelSim ME/ModelSim Pro ME per stallà è eseguisce a simulazione. Per utilizà altri strumenti di simulazione, pudete generà u ModelSim ME / ModelSim Pro ME run.do è mudificà u script Tcl file per aduprà i cumandamenti chì sò cumpatibili cù u vostru simulatore.
1.1 Libero SoC Tcl File generazione (Fate una quistione)
Dopu avè creatu è generatu un disignu in Libero SoC, inizià una simulazione ModelSim ME/ModelSim Pro ME in tutte e fasi di cuncepimentu (presynth, postsynth, è post-layout). Stu passu genera u run.do file per u ModelSim ME/ModelSim Pro ME per ogni fase di cuncepimentu.
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Dopu avè principiatu ogni corsa di simulazione, rinominate u run.do generatu automaticamente file sottu u repertoriu di simulazione per impedisce a Libero SoC di sovrascrive quellu file. Per esample, u files pò esse rinominatu in presynth_run.do, postsynth_run.do è postlayout_run.do.

Aldec Setup per Active-HDL è Riviera-Pro (Fate una quistione)

A corsa.fa file utilizatu da ModelSim ME / ModelSim Pro ME pò esse mudificatu è utilizatu per a simulazione cù i simulatori Aldec.
2.1 Variabile d'ambiente (Fate una quistione)
Pone a vostra variabile d'ambiente à a vostra licenza file locu:
LM_LICENSE_FILE: deve include un puntatore à u servitore di licenza.
2.2 Scaricate a biblioteca compilata (Fate una quistione)
Scaricate e librerie per l'Aldec Active-HDL è l'Aldec Riviera-PRO da u Microchip websitu.
2.3 Cunvertisce run.do per a simulazione Aldec (Fate una quistione)
A corsa.fa files generati da Libero SoC per simulazioni chì utilizanu l'utile Active-HDL è Riviera-Pro ponu esse aduprati per simulazioni cù Active-HDL è Riviera-Pro cun un solu cambiamentu. A tavula seguente lista i cumandamenti equivalenti à Aldec per mudificà in u ModelSim run.do file.
Table 2-1. Cumandamenti Equivalenti Aldec

Model Sim Active-HDL
vlog alu
vcom acom
vlib alib
vsim asim
vmap amap

A seguita hè cum'èample run.do in relazione à i simulatori Aldec.

  1. Definite u locu di u cartulare di travagliu attuale.
    set dsn
  2. Stabilite un nome di biblioteca di travagliu, mape u so locu, è dopu mappe u locu di a famiglia Microchip FPGA
    librerie precompilate (per esample, SmartFusion2) nantu à quale site u vostru disignu.
    alib presynth
    amap presynth presynth
    amap SmartFusion2
  3. Cumpilà tutti i HDL necessarii files usatu in u disignu cù a biblioteca necessaria.
    alog -work presynth temp.v (per Verilog)
    alog –work presynth testbench.v
    acom -work presynth temp.vhd (per Vhdl)
    acom -work presinth testbench.vhd
  4. Simula u disignu.
    asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    corre 10us

2.4 Problemi cunnisciuti (Fate una quistione)
Questa sezione elenca i prublemi cunnisciuti è limitazioni.

  • E biblioteche compilate cù Riviera-PRO sò specifiche di a piattaforma (vale à dì e librerie 64-bit ùn ponu esse eseguite nantu à a piattaforma 32-bit è vice versa).
  • Per i disinni chì cuntenenu SERDES/MDDR/FDDR, utilizate l'opzione seguente in u vostru run.do files mentre eseguisce simulazioni dopu a compilazione di i so disinni:
    – Active-HDL: asim –o2
    - Riviera-PRO: asim -O2 (per simulazioni di presynth è post-layout) è asim -O5 (per simulazioni post-layout)
    A configurazione Aldec per Active-HDL è Riviera-Pro hà i seguenti SAR pendenti. Per più infurmazione, cuntattate Assistenza tecnica Microchip.
  • SAR 49908 - Active-HDL: Errore VHDL per simulazioni di blocchi matematichi
  • SAR 50627 - Riviera-PRO 2013.02: Errori di simulazione per i disegni SERDES
  • SAR 50461 - Riviera-PRO: opzione asim -O2/-O5 in simulazioni

Configurazione incisive di cadenza (Fate una quistione)

Avete bisognu di creà un script file simile à u ModelSim ME / ModelSim Pro ME run.do per eseguisce u
Simulatore di Cadence Incisive. Segui sti passi è creà script file per NCSim o utilizate u script file
furnitu per cunvertisce u ModelSim ME/ModelSim Pro ME run.do files in a cunfigurazione files
necessariu per eseguisce e simulazioni cù NCSim.
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: cadenza hà cessatu di liberà novi versioni di Incisive Enterprise
simulatore è hà cuminciatu à sustene u simulatore Xcelium.

3.1 Variabili di l'ambiente (Fate una quistione)
Per eseguisce u simulatore di Cadence Incisive, cunfigurate e seguenti variabili d'ambiente:

  1. LM_LICENSE_FILE: deve include un puntatore à a licenza file.
  2. cds_root: deve indicà à u locu di u repertoriu di casa di l'installazione di Cadence Incisive.
  3. PATH: deve indicà à u locu bin sottu à u cartulare di l'arnesi indicatu da cds_root chì hè,
    $cds_root/tools/bin/64bit (per una macchina a 64 bit e $cds_root/tools/bin per una macchina a 32 bit).
    Ci hè trè manere di stallà l'ambiente di simulazione in casu di cambià trà i sistemi operativi 64-bit è 32-bit:

Casu 1: Variabile PATH
Eseguite u cumandimu seguitu:
set path = (install_dir/tools/bin/64bit $path) per e macchine 64bit è
set path = (install_dir/tools/bin $path) per e macchine 32bit
Casu 2: Utilizendu l'Opzione di linea di comando -64bit
In a linea di cummanda specificate l'opzione -64bit per invucà l'eseguibile 64bit.
Casu 3: Impostazione di a Variabile di Ambiente INCA_64BIT o CDS_AUTO_64BIT
A variabile INCA_64BIT hè trattata cum'è booleana. Pudete stabilisce sta variabile à qualsiasi valore o à una stringa nulla.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: u INCA_64BIT variabile ambiente ùn affetta àutri Strumenta Cadence, comu arnesi IC. Tuttavia, per i strumenti Incisive, a variabile INCA_64BIT annulla l'impostazione per a variabile d'ambiente CDS_AUTO_64BIT. Se a variabile di l'ambiente INCA_64BIT hè stabilitu, tutti l'arnesi Incisive run in modu 64-bit. setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: u string INCA deve esse in majuscule. Tutti l'eseguibili devenu esse eseguiti in u modu di 32-bit o in u modu di 64-bit, ùn stabilisce micca a variàbile per include un eseguibile, cum'è in i seguenti:
setenv CDS_AUTO_64BIT INCLUDE:ncelab

L'altri strumenti di Cadence, cum'è i strumenti IC, utilizanu ancu a variabile d'ambiente CDS_AUTO_64BIT per cuntrullà a selezzione di eseguibili 32-bit o 64-bit. A tavula seguente mostra cumu pudete stabilisce a variabile CDS_AUTO_64BIT per eseguisce l'arnesi Incisive è l'arnesi IC in tutti i modi.
Table 3-1. CDS_AUTO_64BIT Variables

CDS_AUTO_64BIT Variabile Strumenti incisivi Strumenti IC
setenv CDS_AUTO_64BIT ALL 64 bit 64 bit
setenv CDS_AUTO_64BIT NONE 32 bit 32 bit
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary 64 bit 32 bit
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32 bit 64 bit

MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Tutti i strumenti Incisive deve esse eseguiti in modu 32-bit o in modalità 64-bit, ùn utilizate micca EXCLUDE per escludiri un eseguibile specificu, cum'è in i seguenti: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Sè avete stabilitu a variabile CDS_AUTO_64BIT per escludiri l'arnesi Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), tutti l'arnesi Incisive sò eseguiti in modu 32-bit. Tuttavia, l'opzione di linea di cummanda -64bit annulla a variabile d'ambiente.
A seguente cunfigurazione files aiutanu à gestisce e vostre dati è cuntrullà u funziunamentu di l'arnesi è l'utilità di simulazione:

  • Mappatura di a biblioteca file (cds.lib) - Definisce un nome lògicu per u locu di u vostru disignu.
  • Biblioteche è li assucia cù nomi di repertori fisici.
  • Variabili file (hdl.var) - Definisce variàbili chì affettanu u cumpurtamentu di l'uttine di simulazione è l'utilità.

3.2 Scaricate a biblioteca compilata (Fate una quistione)
Scaricate e librerie per Cadence Incisive da Microsemi's websitu.
3.3 Crià u Script NCSim File (Fate una quistione)
Dopu avè creatu una copia di run.do files, eseguite sti passi per eseguisce a vostra simulazione cù NCSim:

  1. Crea un cds.lib file chì definisce e biblioteche chì sò accessibili è u so locu. U file cuntene dichjarazioni chì mappanu i nomi lògichi di a biblioteca à i so percorsi di repertori fisici. Per esample, sè vo site in esecuzione di simulazione di presenth, u cds.lib file hè scrittu cum'è mostra in u seguente codeblock.
    DEFINE presantitu ./presynth
    DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
    DEFINE smartfusion2
  2. Crea un hdl.var file, una cunfigurazione opzionale file chì cuntene variabili di cunfigurazione, chì determina cumu u vostru ambiente di cuncepimentu hè cunfiguratu. A seguente variabile filesò inclusi:
    - Variabili chì sò usati per specificà a libreria di travagliu induve u compilatore guarda l'uggetti compilati è altri dati derivati.
    - Per Verilog, variabili (LIB_MAP, VIEW_MAP, WORK) chì sò usati per specificà e librerie è views per circà quandu l'elaboratore risolve istanze.
    - Variabili chì permettenu di definisce l'opzioni è l'argumenti di a linea di cummanda di compilatore, elaboratore è simulatore.
    In casu di simulazione di presinte example mostratu sopra, dì chì avemu trè RTL files: av, bv, è testbench.v, chì deve esse cumpilatu in librerie Presynth, COREAHBLITE_LIB è Presynth rispettivamente. U hdl.var file pò esse scrittu cum'è mostra in u codeblock seguenti.
    DEFINE U travagliu presinti
    DEFINE PROJECT_DIR files>
    DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
    DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
    DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
  3. Cumpilà u disignu files utilizendu l'opzione ncvlog.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Elaborate u disignu cù ncelab. L'elaboratore custruisce una gerarchia di disignu basatu annantu à l'infurmazione di istanza è di cunfigurazione in u disignu, stabilisce a connettività di u signale, è calcola i valori iniziali per tutti l'uggetti in u disignu. A ghjerarchia di disignu elaborata hè almacenata in una snapshot di simulazione, chì hè a rapprisintazioni di u vostru disignu chì u simulatore usa per eseguisce a simulazione.
    ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
    accede à + rwc -status worklib. : modulu
    Elaborazione durante a simulazione Post-layout
    In casu di simulazioni post-layout, prima u SDF file deve esse cumpilatu prima di l'elaborazione cù u cumandimu ncsdfc.
    ncsdfcfilenome>.sdf –outputfilenome>.sdf.X
    Durante l'elaborazione, utilizate l'output SDF compilatu cù l'opzione -autosdf cum'è mostra in u seguente codeblock.
    ncelab -autosdf -Message -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
    15 –access + rwc –status worklib. :module –sdf_cmd_file ./
    sdf_cmd_file
    u sdf_cmd_file deve esse cum'è mostratu in u seguente codeblock.
    COMPILED_SDF_FILE = " file> "
  5. Simulate cù ncsim. Dopu l'elaborazione hè creata una snapshot di simulazione, chì hè caricata da ncsim per a simulazione. Pudete eseguisce in modu batch o in modalità GUI.
    ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
    errormax 15 -status worklib. : modulu

MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Tutti i trè passi sopra di compilazione, elaborazione è simulazione ponu esse messi in un script di shell file è provenienti da a linea di cummanda. Invece di utilizà sti trè passi, u disignu pò esse simulatu in un passu usendu l'opzione ncverilog o irun cum'è mostra in u codice seguente.
ncverilog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var
files usatu in u disignu>
irun +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var files
usatu in u disignu>

3.3.1 Problemi cunnisciuti (Fate una quistione)
Soluzione di testbench
Utilizà a seguente dichjarazione per specificà a frequenza di u clock in u testbench generatu da l'utilizatori, o u testbench predeterminatu generatu da Libero SoC ùn funziona micca cù NCSim.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifiche cum'è seguitu per eseguisce a simulazione:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Cumpilatu e librerie per NCSim sò specifiche di a piattaforma (vale à dì e librerie 64 bit ùn sò micca cumpatibili cù a piattaforma 32 bit è vice versa).
Simulazioni Postsynth è Post-layout Utilizendu MSS è SERDES Mentre eseguite simulazioni postsynth di disinni chì cuntenenu u bloccu MSS o simulazioni post-layout di disinni chì utilizanu SERDES, e simulazioni BFM ùn funziona micca se l'opzione -libmap hè
micca specificatu durante l'elaborazione. Questu hè perchè durante l'elaborazione, MSS hè risolta da a libreria di u travagliu (per via di l'associazione predeterminata è a worklib hè postsynth / post-layout) induve hè solu una Funzione Fixed.
U cumandamentu ncelab deve esse scrittu cum'è mostra in u bloccu di codice seguente per risolve u MSS
bluccatu da a biblioteca precompilata SmartFusion2.

ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
è a lib.map file deve esse cusì:
cunfigurazione cfg1;
disignu ;
liblist predeterminatu smartfusion2 ;
endconfig
Questu risolve ogni cellula in a biblioteca SmartFusion2 prima di circà in a biblioteca di u travagliu, vale à dì postsynth / post-layout.
L'opzione -libmap pò esse aduprata per difettu durante l'elaborazione per ogni simulazione (presynth, postsynth, è post-layout). Questu evita i prublemi di simulazione chì sò causati da a risoluzione di istanze da biblioteche.
ncelab: *F,INTERR: ECCEZIONE INTERNA
Questa eccezione di l'uttellu ncelab hè un avvertimentu per i disinni chì cuntenenu FDDR in SmartFusion 2 è IGLOO 2 durante simulazioni post-synth è post-layout utilizendu l'opzione -libmap.
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Stu prublema hè statu signalatu à a squadra di supportu di Cadence (SAR 52113).

3.4 Sample Tcl è Shell Script Files (Fate una quistione)
I seguenti files sò a cunfigurazione filehè necessariu per a stallazione di u disignu è u script di shell file per eseguisce cumandamenti NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presantitu ./presynth

Hdl.var
DEFINE U travagliu presinti
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 =>
presinte)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presinte)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => Presynth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => Presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => Presynth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
Cumandamenti.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-travagliu presynth -logfile ncelab.log -errormax 15 -access +rwc -status presiynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presiynth.testbench:module

3.5 Automatizazione (Fate una quistione)
U script seguente file converte u ModelSim run.do files in cunfigurazione fileHè necessariu per eseguisce simulazioni cù NCSim.
Scrittura File Usu
perl cadence_parser.pl presiynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries

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

###################################################### ############################################
##################
#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#

###################################################### ############################################
##################
aduprà POSIX;
usu strettu;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $famiglia, $lib_location);
&questa_parser($postsynth, $famiglia, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sottu questa_parser {
u mo $ModelSim_run_do = $_[0];
my $actel_family = $_[1];
my $lib_location = $_[2];
u mo $statu;
if (-e "$ModelSim_run_do")
{
aperta (INFILE,"$ModelSim_run_do");
u mo @ModelSim_run_do =FILE>;
my $line;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
aperti (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$statu = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
aperti (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$statu = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
aperti (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$statu = $1;
} altru
{
stampa "Inputs sbagliati dati à u file\n";
print "#Usage: perl questa_parser.pl presiynth_run.do postsynth_run.do postlayout_run.do
\"Locu_Biblioteche\"\n";
}
foreach $line (@ModelSim_run_do)
{
#Operazioni Generali
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#stampa OUTFILE "$linea \n";
if ($line =~ m/vmap\s+.*($famiglia_actel)/)
{
stampa OUTFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
stampa OUTFILE "$linea \n";
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
stampa OUTFILE "$linea \n";
} altru
{
stampa OUTFILE "$linea \n";
}
}
chiudi (INFILE);
chiudi (FURFILE);
} altru {
stampa "$ModelSim_run_do ùn esiste micca. Ripeti a simulazione \n";
}
}

Configurazione di Cadence Xcelium (Microchip Login)

Avete bisognu di creà un script file simile à u ModelSim ME / ModelSim Pro ME run.do per eseguisce u simulatore Cadence Xcelium. Segui sti passi è creà script file per Xcelium o aduprà u script file furnitu per cunvertisce u ModelSim ME/ModelSim Pro ME run.do files in a cunfigurazione fileHè necessariu per eseguisce simulazioni cù Xcelium.
4.1 Variabili di l'ambiente (Fate una quistione)
Per eseguisce Cadence Xcelium, cunfigurate e seguenti variabili di l'ambiente:

  1. LM_LICENSE_FILE: deve include un puntatore à a licenza file.
  2. cds_root: deve indicà u locu di u cartulare di casa di l'installazione di Cadence Incisive.
  3. PATH: deve indicà à u locu bin sottu à u cartulare di l'arnesi indicatu da cds_root (ie
    $cds_root/tools/bin/64bit (per una macchina a 64 bit e $cds_root/tools/bin per una macchina a 32 bit
    macchina).

Ci hè trè manere di stallà l'ambiente di simulazione in casu di cambià trà i sistemi operativi 64-bit è 32-bit:
Casu 1: Variabile PATH
set path = (install_dir/tools/bin/64bit $path) per e macchine 64bit è
set path = (install_dir/tools/bin $path) per e macchine 32bit
Casu 2: Utilizendu l'Opzione di linea di comando -64bit
In a linea di cummanda specificate l'opzione -64bit per invucà l'eseguibile 64-bit.
Casu 3: Impostazione di a Variabile di Ambiente INCA_64BIT o CDS_AUTO_64BIT
A variabile INCA_64BIT hè trattata cum'è booleana. Pudete stabilisce sta variabile à qualsiasi valore o à un null
stringa.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: u INCA_64BIT variabile ambiente ùn affetta àutri Strumenta Cadence, comu arnesi IC. Tuttavia, per i strumenti Incisive, a variabile INCA_64BIT annulla l'impostazione per a variabile d'ambiente CDS_AUTO_64BIT. Se a variabile d'ambiente INCA_64BIT hè et, tutti l'arnesi Incisive run in modu 64-bit.
setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: u string INCA deve esse in majuscule. Tutti l'eseguibili devenu esse eseguiti in u modu di 2-bit o in u modu di 64-bit, ùn stabilisce micca a variàbile per include un eseguibile, cum'è in i seguenti:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
L'altri strumenti di Cadence, cum'è i strumenti IC, utilizanu ancu a variabile d'ambiente CDS_AUTO_64BIT per cuntrullà a selezzione di eseguibili 32-bit o 64-bit. A tavula seguente mostra cumu pudete stabilisce a variabile CDS_AUTO_64BIT per eseguisce l'arnesi Incisive è l'arnesi IC in tutti i modi.

Table 4-1. CDS_AUTO_64BIT Variables

CDS_AUTO_64BIT Variabile Strumenti incisivi Strumenti IC
setenv CDS_AUTO_64BIT ALL 64-bit 64-bit
setenv CDS_AUTO_64BIT NONE 32-bit 32-bit
setenv CDS_AUTO_64BIT
EXCLUDE: ic_binary
64-bit 32-bit
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32-bit 64-bit

MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Tutti l'arnesi Incisive deve esse eseguite in modu 32-bit o in modalità 64-bit, ùn utilizate micca EXCLUDE per escludiri un eseguibile specificu, cum'è in i seguenti:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Se impostate a variabile CDS_AUTO_64BIT per escludiri l'arnesi Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), tutti i strumenti Incisive sò eseguiti in modu 32-bit. Tuttavia, u
L'opzione di linea di cummanda -64bit annulla a variabile d'ambiente.
A seguente cunfigurazione files aiutanu à gestisce e vostre dati è cuntrullà u funziunamentu di l'arnesi è l'utilità di simulazione:

  • Mappatura di a biblioteca file (cds.lib) definisce un nome lògicu per u locu di u vostru disignu.
  • Biblioteche è li assucia cù nomi di repertori fisici.
  • Variabili file (hdl.var) definisce variàbili chì affettanu u cumpurtamentu di l'utili di simulazione è l'utilità.

4.2 Scaricate a biblioteca compilata (Fate una quistione)
Scaricate e librerie per Cadence Xcelium da Microsemi's websitu.
4.3 Crià l'script Xcelium file (Fate una quistione)
Dopu avè creatu una copia di run.do files, eseguite i seguenti passi per eseguisce a vostra simulazione cù l'script Xcelium file.

  1. Crea un cds.lib file chì definisce quali biblioteche sò accessibili è induve si trovanu.
    U file cuntene dichjarazioni chì mappanu i nomi lògichi di a biblioteca à i so percorsi di repertori fisici. Per esample, sè vo site in esecuzione di simulazione di presenth, u cds.lib file pò esse scrittu cum'è mostra in u codeblock seguenti.
    DEFINE presantitu ./presynth
    DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
    DEFINE smartfusion2
  2. Crea un hdl.var file chì hè una cunfigurazione facultativa file chì cuntene variabili di cunfigurazione, chì determina cumu u vostru ambiente di cuncepimentu hè cunfiguratu. Questi include:
    - Variabili chì sò usati per specificà a libreria di travagliu induve u compilatore guarda l'uggetti compilati è altri dati derivati.
    - Per Verilog, variabili (LIB_MAP, VIEW_MAP, WORK) chì sò usati per specificà e librerie è views per circà quandu l'elaboratore risolve istanze.
    - Variabili chì permettenu di definisce l'opzioni è l'argumenti di a linea di cummanda di compilatore, elaboratore è simulatore.
    In casu di simulazione di presinte example mostratu sopra, dì chì avemu 3 RTL files av, bv, è testbench.v, chì deve esse cumpilatu in librerie presynth, COREAHBLITE_LIB, è presynth rispettivamente. U hdl.var file pò esse scrittu cum'è mostra in u codeblock seguenti.
    DEFINE U travagliu presinti
    DEFINE PROJECT_DIR files>
    DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth)
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB)
    DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth)
    DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
  3. Cumpilà u disignu files utilizendu l'opzione ncvlog.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Elaborate u disignu cù ncelab. L'elaboratore custruisce una gerarchia di disignu basatu annantu à l'infurmazione di istanza è di cunfigurazione in u disignu, stabilisce a connettività di u signale, è calcola i valori iniziali per tutti l'uggetti in u disignu. A ghjerarchia di disignu elaborata hè almacenata in una snapshot di simulazione, chì hè a rapprisintazioni di u vostru disignu chì u simulatore usa per eseguisce a simulazione.
    Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
    accede à + rwc -status worklib. : modulu
    Elaborazione durante a simulazione Post-layout
    In casu di simulazioni post-layout, prima u SDF file deve esse cumpilatu prima di l'elaborazione cù u cumandimu ncsdfc.
    Xceliumfilenome>.sdf –outputfilenome>.sdf.X
    Durante l'elaborazione, utilizate l'output SDF compilatu cù l'opzione -autosdf cum'è mostra in u seguente codeblock.
    xmelab -autosdf -Message -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
    15 –access + rwc –status worklib. :module –sdf_cmd_file ./
    sdf_cmd_file
    u sdf_cmd_file deve esse cum'è mostratu in u seguente codeblock.
    COMPILED_SDF_FILE = " file> "
  5. Simulate cù Xcelium. Dopu l'elaborazione hè creata una snapshot di simulazione chì hè caricata da Xcelium per a simulazione. Questu pò esse eseguitu in modu batch o modalità GUI.
    xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
    errormax 15 -status worklib. : modulu
    Configurazione di Cadence Xcelium
    MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Tutti i trè passi sopra di compilazione, elaborazione è simulazione ponu esse messi in un script di shell file è provenienti da a linea di cummanda. Invece di utilizà sti trè passi, u disignu pò esse simulatu in un passu usendu l'opzione ncverilog o xrun cum'è mostra in u codice seguente.
    xmverilog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var
    files usatu in u disignu>
    xrun +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var files
    usatu in u disignu>

4.3.1 Problemi cunnisciuti (Fate una quistione)
Soluzione di testbench
Utilizà a seguente dichjarazione per specificà a frequenza di u clock in u testbench generatu da l'utilizatori o u testbench predeterminatu generatu da Libero SoC ùn funziona micca cù Xcelium.
sempre @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifiche cum'è seguitu per eseguisce a simulazione:
sempre #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;

MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Biblioteche compilate per Xcelium sò specifiche di a piattaforma (vale à dì e librerie 64 bit ùn sò micca cumpatibili cù a piattaforma 32 bit è vice versa).
Simulazioni Postsynth è Post-layout cù MSS è SERDES
Mentre eseguite simulazioni postsynth di disinni chì cuntenenu bloccu MSS, o simulazioni post-layout di disinni cù SERDES, e simulazioni BFM ùn funzionanu micca se l'opzione -libmap ùn hè micca specificata durante l'elaborazione. Questu hè perchè durante l'elaborazione, MSS hè risolta da a libreria di u travagliu (per via di l'associazione predeterminata è a worklib hè postsynth / post-layout) induve hè solu una Funzione Fixed.
U cumandamentu ncelab deve esse scrittu cum'è mostra in u bloccu di codice seguente per risolve u bloccu MSS da a biblioteca precompilata SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
è a lib.map file deve esse cusì:
cunfigurazione cfg1;
disignu ;
liblist predeterminatu smartfusion2 ;
endconfig
Questu deve risolve qualsiasi cellula in a biblioteca SmartFusion2 prima di circà in a biblioteca di travagliu, vale à dì postsynth / post-layout.
L'opzione -libmap pò esse usata per difettu durante l'elaborazione per ogni simulazione (presynth, postsynth è post-layout). Questu evita i prublemi di simulazione chì sò causati da a risoluzione di istanze da biblioteche.
xmelab: *F,INTERR: EXCEPTION INTERNA
Questa eccezione di l'uttellu ncelab hè un avvertimentu per i disinni chì cuntenenu FDDR in SmartFusion2 è IGLOO2
durante e simulazioni post-synth è post-layout usendu l'opzione -libmap.
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Stu prublema hè statu signalatu à a squadra di supportu di Cadence (SAR 52113).

4.4 Sample Tcl è script shell files (Fate una quistione)
I seguenti files sò a cunfigurazione filehè necessariu per a stallazione di u disignu è u script di shell file per eseguisce cumandamenti Xcelium.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presantitu ./presynth
Hdl.var
DEFINE U travagliu presinti
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 =>
presinte)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presinte)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => Presynth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => Presynth )
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => Presynth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => Presynth)
DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
Cumandamenti.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagev
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-travagliu presynth -logfile ncelab.log -errormax 15 -access +rwc -status presiynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presiynth.testbench:module

4.5 Automatizazione (Microchip Login)
U script seguente file converte ModelSim run.do files in cunfigurazione fileHè necessariu per eseguisce simulazioni cù Xcelium.
Scrittura File Usu
perl cadence_parser.pl presiynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w

###################################################### ############################################
##################
#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#

###################################################### ############################################
##################
aduprà POSIX;
usu strettu;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $famiglia, $lib_location);
&questa_parser($postsynth, $famiglia, $lib_location);

&questa_parser($postlayout, $family, $lib_location);
sottu questa_parser {
u mo $ModelSim_run_do = $_[0];
my $actel_family = $_[1];
my $lib_location = $_[2];
u mo $statu;
if (-e "$ModelSim_run_do")
{
aperta (INFILE,"$ModelSim_run_do");
u mo @ModelSim_run_do =FILE>;
my $line;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
aperti (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$statu = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
aperti (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$statu = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
aperti (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$statu = $1;
} altru
{
stampa "Inputs sbagliati dati à u file\n";
print "#Usage: perl questa_parser.pl presiynth_run.do postsynth_run.do postlayout_run.do
\"Locu_Biblioteche\"\n";
}
foreach $line (@ModelSim_run_do)
{
#Operazioni Generali
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#stampa OUTFILE "$linea \n";
if ($line =~ m/vmap\s+.*($famiglia_actel)/)
{
stampa OUTFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
stampa OUTFILE "$linea \n";
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
stampa OUTFILE "$linea \n";
} altru
{
stampa OUTFILE "$linea \n";
}
}
chiudi (INFILE);
chiudi (FURFILE);
} altru {
stampa "$ModelSim_run_do ùn esiste micca. Ripeti a simulazione \n";
}
}

Siemens QuestaSim Setup/ModelSim Setup (Fate una quistione)

A corsa.fa files, generatu da u Libero SoC per simulazioni chì utilizanu ModelSim Microsemi Editions, pò esse usatu per simulazioni cù QuestaSim/ModelSim SE/DE/PE cun un solu cambiamentu. In u ModelSim ME/ModelSim Pro ME run.do file, u locu di biblioteche precompilate deve esse mudificatu.
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: 
Per automaticamente, l'uttellu di simulazione altru da u ModelSim Pro ME esegue l'ottimisazione di u disignu durante a simulazione chì pò influenzà a visibilità in l'artefatti di simulazione cum'è l'uggetti di cuncepimentu è u stimulu di input.
Questu hè tipicamente utile per riduce u runtime di simulazione per e simulazioni cumplesse, usendu banche di prova verbose, autocontrollate. Tuttavia, l'ottimisazioni predeterminate puderianu micca esse adattate per tutte e simulazioni, soprattuttu in i casi induve aspettate di inspeccionà graficamente i risultati di simulazione utilizendu a finestra d'onda.
Per affruntà i prublemi causati da questa ottimisazione, duvete aghjunghje cumandamenti appropritati è argumenti rilativi durante a simulazione per restaurà a visibilità in u disignu. Per i cumandamenti specifichi di l'uttellu, vede a documentazione di u simulatore in usu.

5.1 Variabili di l'ambiente (Fate una quistione)
Quì sottu sò e variabili di l'ambienti necessarii.

  • LM_LICENSE_FILE: deve include a strada di a licenza file.
  • MODEL_TECH: deve identificà u percorsu à u locu di u cartulare di casa di l'installazione di QuestaSim.
  • PATH: deve indicà u locu eseguibile indicatu da MODEL_TECH.

5.2 Cunvertisce run.do per Mentor QuestaSim (Fate una quistione)
A corsa.fa files generati da Libero SoC per simulazioni chì utilizanu ModelSim Microsemi Editions ponu esse utilizati per simulazioni cù QuestaSim/ModelSim_SE cun un solu cambiamentu.
MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Tutti i disinni chì sò simulati cù QuestaSim deve include -novopt
opzione cù u cumandamentu vsim in u script run.do files.
5.3 Scaricate a Biblioteca Cumpilata (Fate una quistione)
Scaricate e librerie per Mentor Graphics QuestaSim da Microsemi's websitu.

Configurazione di Synopsys VCS (Fate una quistione)

U flussu cunsigliatu da Microsemi si basa nantu à u flussu Elaborate è Compile in VCS. Stu documentu include un script file chì usa u script run.do files generatu da Libero SoC è genera a cunfigurazione filehè necessariu per a simulazione VCS. U script file usa u run.do file per fà i seguenti.

  • Crea una mappa di a biblioteca file, chì hè fattu cù u synopsys_sim.setup file situatu in u stessu cartulare induve a simulazione VCS hè in esecuzione.
  • Crea un script shell file per elaborà è cumpilà u vostru disignu cù VCS.

6.1 Variabili di l'ambiente (Fate una quistione)
Stabilite e variabili d'ambiente adatti per VCS basatu nantu à a vostra cunfigurazione. E variabili di l'ambienti necessarii secondu a documentazione VCS sò:

  • LM_LICENSE_FILE: deve include un puntatore à u servitore di licenza.
  • VCS_HOME: deve indicà u locu di u cartulare di casa di l'installazione VCS.
  • PATH: deve include un puntatore à u cartulare bin sottu à u cartulare VCS_HOME.

6.2 Scaricate a biblioteca compilata (Fate una quistione)
Scaricate e librerie per Synopsys VCS da Microsemi's websitu.
6.3 Script di simulazione VCS File (Fate una quistione)
Dopu avè stallatu VCS è generà u disignu è e diverse run.do files da Libero SoC, duvete:

  1. Crea a mappa di a biblioteca file synopsys_sim.setup; questu file cuntene punters à u locu di tutte e biblioteche per esse aduprate da u disignu.
    MICROCHIP Libero SoC Simulation Library Software - icona  Impurtante: u file U nome ùn deve micca cambià è deve esse situatu in u stessu annuariu induve a simulazione hè in esecuzione. Eccu un example per tali a file per a simulazione di presintesi.
    TRAVAIL > EFAULT
    SmartFusion2:
    presynth : ./presynth
    DEFAULT : ./travagliu
  2. Elaborate u disignu diversu files, cumpresu u testbench, utilizendu u cumandamentu vlogan in VCS. Questi cumandamenti ponu esse inclusi in un script di shell file. A seguita hè un example di i cumandamenti chì sò necessarii per elaborà un disignu definitu in rtl.v cù u so testbench definitu in
    banc d'essai.v.
    vlogan + v2k -work presinth rtl.v
    vlogan +v2k -work presynth testbench.v
  3. Cumpilà u disignu cù VCS cù u cumandimu seguitu.
    vcs –sim_res=1fs presynth.testbench
    Nota: u A risoluzione di u timing di a simulazione deve esse stabilita à 1fs per una simulazione funziunale curretta.
  4. Una volta chì u disignu hè compilatu, cuminciate a simulazione cù u cumandimu seguitu.
    ./simv
  5. Per a simulazione retro-annotata, u cumandamentu VCS deve esse cum'è mostratu in u seguente codeblock.
    vcs postlayout.testbench –sim_res=1fs –sdf max: .
    nome>: file path> –gui –l postlayout.log

6.4 Limitazioni/Eccezioni (Fate una quistione)
Eccu i limitazioni / eccezzioni di a configurazione di Synopsys VCS.

  • E simulazioni VCS ponu esse eseguite solu per i prughjetti Verilog di Libero SoC. U simulatore VCS hà requisiti stretti di lingua VHDL chì ùn sò micca soddisfatti da u VHDL autogeneratu Libero SoC. files.
  • Duvete avè una dichjarazione $finish in u testbench Verilog per piantà a simulazione ogni volta chì vulete.
    MICROCHIP Libero SoC Simulation Library Software - icona Impurtante: Quandu I simulazioni sò eseguiti in modu GUI, u tempu di esecuzione pò esse specificatu in a GUI.

6.5 Sample Tcl è Shell Script Files (Fate una quistione)
U Perl seguente automatizeghja a generazione di synopsys_sim.setup file cum'è u script shell currispundente fileHè necessariu per elaborà, cumpilà è simulà u disignu.
Se u disignu usa un MSS, copia u test.vec file situatu in u cartulare di simulazione di u prughjettu Libero SoC in u cartulare di simulazione VCS. I seguenti sezzioni cuntenenu sample run.do files generati da Libero SoC, cumprese a mappatura di a biblioteca currispondente è u script di shell filehè necessariu per a simulazione VCS.
6.5.1 Pre-sintesi (Fate una quistione)
Presynth_run.do
silenziu ACTELLIBNAME SmartFusion2
impostate tranquillamente PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
se {[file esiste presynth/_info]} {
echo "INFO: Presynth di biblioteca di simulazione esiste digià"
} altru {
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" -travagliu presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
aghjunghje onda /SD1_TB1/*
aghjunghje log -r /*
corse 1000ns
presiynth_main.csh
#!/bin/csh -f
set PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth "${PROJECT_DIR}/component/
travagliu/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -travagliu
Presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
TRAVAIL> DEFAULT
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
DEFAULT : ./travagliu

6.5.2 Post-sintesi (Fate una quistione)
postsynth_run.do
silenziu ACTELLIBNAME SmartFusion2
impostate tranquillamente PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
se {[file esiste postsynth/_info]} {
echo "INFO: Biblioteca di simulazione postsynth esiste già"
} altru {
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" -work postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
aghjunghje onda /SD1_TB1/*
aghjunghje log -r /*
corse 1000ns
log SD1_TB1/*
esce
Postsynth_main.csh
#!/bin/csh -f
set PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth "${PROJECT_DIR}/synthesis/
SD1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -travagliu
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
TRAVAIL> DEFAULT
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
DEFAULT : ./travagliu
6.5.3 Post-disposizione (Fate una quistione)
postlayout_run.do
silenziu ACTELLIBNAME SmartFusion2
tranquillamente imposta PROJECT_DIR "E:/ModelSim_Work/Test_DFF"
se {[file esiste ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: Biblioteca di simulazione ../designer/SD1/simulation/postlayout esiste già"
} altru {
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" -work postlayout "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
aghjunghje onda /SD1_TB1/*
aghjunghje log -r /*
corse 1000ns
Postlayout_main.csh
#!/bin/csh -f
set PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout "${PROJECT_DIR}/
designer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -travagliu
postlayout "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf

max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
TRAVAIL> DEFAULT
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
DEFAUT : ./workVCS
6.6 Automatizazione (Fate una quistione)
U flussu pò esse automatizatu cù u seguente script Perl file per cunvertisce u ModelSim run.do files in script shell compatible VCS files, creanu cartulari propiu in u cartulare di simulazione Libero SoC, è poi eseguite simulazioni.
Eseguite u script file usendu a sintassi seguente.
perl vcs_parse.pl presiynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
###################################################### #############################
#
#Usage: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
###################################################### ##############################
my ($presynth, $postsynth, $postlayout) = @ARGV;
if(sistema ("mkdir VCS_Presynth")) {stampa "mkdir fallut:\n";}
if(sistema ("mkdir VCS_Postsynth")) {stampa "mkdir fallut:\n";}
if(sistema ("mkdir VCS_Postlayout")) {stampa "mkdir fallut:\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 ("../");
sottu parse_do {
u mo $vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k" ;
u mo %LIB = ();
i mo $file = $_[0] ;
u mo $statu = $_[1];
apertu (INFILE, "$file» || die "Ùn si pò apre File U mutivu pò esse: $!";
if ($state eq "presynth")
{
open(OUT1,">presynth_main.csh") || die "Ùn pò micca creà Command File U mutivu pò esse: $!";
}
elsif ($state eq "postsynth")
{
open(OUT1,">postsynth_main.csh") || die "Ùn pò micca creà Command File U mutivu pò esse: $!";
}
elsif ($state eq "postlayout")
{
open(OUT1,">postlayout_main.csh") || die "Ùn pò micca creà Command File U mutivu pò esse: $!";
}
altru
{
print "Statu di simulazione manca \n" ;
}
open(OUT2,”>synopsys_sim.setup”) || die "Ùn pò micca creà Command File U mutivu pò esse: $!";
# .csh file
stampa OUT1 "#!/bin/csh -f\n\n\n" ;
#ISTITUISCI FILE
stampa OUT2 "WORK > DEFAULT\n" ;
stampa OUT2 "SmartFusion2: /sqa/users/Aditya/VCS/SmartFusion2\n";
mentri ($line =FILE>)
{

Configurazione di Synopsys VCS

if ($line =~ m/imposta tranquillamente PROJECT_DIR\s+\”(.*?)\”/)
{
stampa OUT1 "set PROJECT_DIR = \"$1\"\n\n\n" ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
if ($linea =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = “$1″.”_LIB”;
#print "Temp = $temp \n" ;
$LIB{$temp}++;
}
chomp($linea);
$line =~ s/^vlog/$vlog/ ;
$linea =~ s/ //g;
stampa OUT1 "$line\n";
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($linea
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print "Nome TB: $tb \n";
if ( $linea =~ m/sdf(.*)\.sdf/)
{
chomp($linea);
$linea = $1 ;
#print "LINE : $line \n" ;
if ($linea =~ m/max/)
{
$linea =~ s/max \/// ;
$line =~ 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 ($line =~ m/min/)
{
$linea =~ s/min \/// ;
$line =~ 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 ($line =~ m/typ/)
{
$linea =~ s/tip \/// ;
$line =~ s/=/:/;
stampa 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 - Formatu ModelSim SDF
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; - VCS
formatu SDF
}
}
}
stampa
OUT1 "\n\n"
;
if
( $state eq "presynth"
)
{
stampa
OUT2 "presynth
: ./presynth\n”
;
stampa
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n"
;
}
elsif
( $state eq "postsynth"
)
{
stampa
OUT2 "postsynth
: ./postsynth\n”
;
stampa
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n"
;
}
elsif
( $state eq "postlayout"
)
{
stampa OUT2 "postlayout : ./postlayout\n" ;
}
altru
{
print "Statu di simulazione manca \n" ;
}
foreach $i (tasti %LIB)
{
#print "Chiave : $i Valore : $LIB{$i} \n" ;
stampa OUT2 "$i : ./$i\n" ;
}
stampa OUT1 "\n\n" ;
stampa OUT1 "./simv -l run.log\n" ;
stampa OUT2 "DEFAULT: ./work\n";
chiudi INFILE;
chiudi OUT1;
chiudi OUT2;
}

Storia di rivisione (Microchip Login

A storia di rivisione descrive i cambiamenti chì sò stati implementati in u documentu. I cambiamenti
sò listati per rivisione, cuminciendu cù a publicazione più attuale.

Revisione Data Descrizzione
A 12/2023 I seguenti cambiamenti sò fatti in sta rivisione:
• Document cunvertitu à mudellu Microchip. Revisione iniziale.
• Sezione aghjurnata 5. Siemens QuestaSim Setup / ModelSim Setup per include una nova nota chì spiega l'impattu nantu à a visibilità durante a simulazione è ottimisazione.

Supportu Microchip FPGA
U gruppu di prudutti Microchip FPGA sustene i so prudutti cù diversi servizii di supportu, cumpresu u serviziu di u cliente, u centru di supportu tecnicu di u cliente, un websitu, è uffizii di vendita in u mondu.
I clienti sò suggeriti à visità e risorse in linea di Microchip prima di cuntattà l'assistenza postu chì hè assai prubabile chì e so dumande sò digià rispostu.
Cuntattate u Centru di Assistenza Tecnica attraversu u websitu à www.microchip.com/support. Mencione u numeru di parte di u dispositivu FPGA, selezziunate a categuria di casu adatta è carica u disignu files mentre crea un casu di supportu tecnicu.
Cuntattate u Serviziu Clienti per un supportu di produttu micca tecnicu, cum'è u prezzu di u produttu, l'aghjurnamenti di u produttu, l'infurmazioni di l'aghjurnamentu, u statu di l'ordine è l'autorizazione.

  • Da l'America di u Nordu, chjamate 800.262.1060
  • Da u restu di u mondu, chjamate 650.318.4460
  • Fax, da ogni locu in u mondu, 650.318.8044

Infurmazioni Microchip
U Microchip Websitu
Microchip furnisce supportu in linea via u nostru websitu à www.microchip.com/. Questu website hè usatu per fà files è l'infurmazioni facilmente dispunibili à i clienti. Alcune di u cuntenutu dispunibule include:

  • Support Product - Schede dati è errata, note appiicazioni è sampi prugrammi, risorse di cuncepimentu, guide d'utilizatori è documenti di supportu hardware, l'ultime versioni di u software è u software archiviatu
  • Assistenza Tecnica Generale - Domande Frequenti (FAQ), richieste di supportu tecnicu, gruppi di discussione in linea, lista di membri di u prugramma di partner di design Microchip
  • Affari di Microchip - Selettore di prudutti è guide d'ordine, ultimi comunicati di stampa Microchip, lista di seminarii è avvenimenti, liste di uffizii di vendita di Microchip, distributori è rapprisentanti di fabbrica

Serviziu di Notificazione di Cambiamentu di Produttu
U serviziu di notificazione di cambiamentu di produttu di Microchip aiuta à mantene i clienti attuali nantu à i prudutti Microchip. L'abbonati riceveranu una notificazione per e-mail ogni volta chì ci sò cambiamenti, aghjurnamenti, rivisioni o errata in relazione à una famiglia di prudutti specifica o strumentu di sviluppu d'interessu.
Per registrà, andate à www.microchip.com/pcn è seguitate l'istruzzioni di registrazione.
Assistenza Clienti
L'utilizatori di i prudutti Microchip ponu riceve assistenza attraversu parechji canali:

  • Distributore o Rappresentante
  • Uffiziu di Vendita Locale
  • Ingegnere di soluzioni integrate (ESE)
  • Assistenza tecnica

I clienti anu da cuntattà u so distributore, rappresentante o ESE per supportu. L'uffizii di vendita lucali sò ancu dispunibili per aiutà i clienti. Una lista di l'uffizii di vendita è i lochi hè inclusa in stu documentu.
U supportu tecnicu hè dispunibule attraversu u websitu à: www.microchip.com/support
Funzione di prutezzione di codice di i dispositi Microchip
Nota i seguenti dettagli di a funzione di prutezzione di codice nantu à i prudutti Microchip:

  • I prudutti Microchip rispondenu à e specificazioni cuntenute in a so specifica Scheda di Dati Microchip.
  • Microchip crede chì a so famiglia di prudutti hè sicura quandu s'utilice in a manera prevista, in e specificazioni operative, è in cundizioni normali.
  • Microchip valorizza è prutegge in modu aggressivu i so diritti di pruprietà intellettuale. I tentativi di violazione di e funzioni di prutezzione di u codice di u produttu Microchip sò strettamente pruibiti è ponu violà a Digital Millennium Copyright Act.
  • Nè Microchip nè un altru fabricatore di semiconductor pò guarantisci a sicurità di u so codice. A prutezzione di u codice ùn significa micca chì guarantimu chì u pruduttu hè "unbreakable".
    A prutezzione di u codice hè in constante evoluzione. Microchip hè impegnatu à migliurà continuamente e funzioni di prutezzione di codice di i nostri prudutti.

Avvisu Legale
Questa publicazione è l'infurmazioni quì ponu esse aduprate solu cù i prudutti Microchip, cumpresu per cuncepisce, pruvà è integrà i prudutti Microchip cù a vostra applicazione. L'usu di sta infurmazione in ogni altra manera viola questi termini. L'infurmazioni riguardanti l'applicazioni di u dispositivu sò furnite solu per a vostra comodità è ponu esse rimpiazzate da l'aghjurnamenti. Hè a vostra rispunsabilità per assicurà chì a vostra applicazione risponde à e vostre specificazioni. Cuntattate u vostru uffiziu di vendita Microchip locale per supportu supplementu o, uttene supportu supplementu à www.microchip.com/en-us/support/design-help/client-support-services.
QUESTA INFORMAZIONE hè furnita da u microchip "AS IS". MICROCHIP NON FACCIA RIPRESENTAZIONI O GARANTIE DI ALCUNA TIPI, SIA ESPRESSA O IMPLICITA, SCRITTA O ORALE, STATUTARIA O ALTRE, RELATIVA A L'INFORMAZIONI INCLUSI, MA NON LIMITATE A ALCUNA GARANZIA IMPLICITA DI NON VIOLAZIONE, POSSIBILITÀ E PARTECIPABILITÀ PER A COMMERCIALE, A PUBLICIDAD, A PUBLICIDAD. GARANTIE RELATATI À A SO CONDIZIONE, QUALITÀ, O PRESTAZIONI.
IN NESSUN CASU MICROCHIP SERA RESPONSABILE PER QUALSIASI PERDITA INDIRETTA, SPECIALE, PUNITIVE, INCIDENTALE, O CONSEGUENTE, DANNI, COSTO, O SPESE DI QUALUNQUE TIPI RELATATI À L'INFORMAZIONI O U U U U U SO, IN QUANTO CAUSATE, ANCHE QUANTO ESE ADVERTIMENTO. PUSSIBILITÀ OR I DANNI SONT PREVISIBILI. À LA MESSA ALTERNATA PERMISSATA DA LEGGE, A RESPONSABILITÀ TOTALE DI MICROCHIP PER TUTTE LE RECLAMAZIONI IN QUALSIA MANIERA RELATATA À L'INFORMAZIONI O U U SO USU NON SUPERARÀ L'IMPORTU DI TARIFFE, SE CUALQUIE, CHE AVRAI PAGATA DIRETTAMENTE À MICROCHIP PER L'INFORMAZIONI.
L'usu di i dispositi Microchip in l'applicazioni di supportu di vita è / o di sicurezza hè interamente à u risicu di u cumpratore, è u cumpratore accetta di difende, indemnizà è mantene innocu Microchip da qualsiasi danni, rivendicazioni, vestiti, o spese risultanti da tali usu. Nisuna licenza hè trasmessa, implicitamente o altrimenti, sottu à alcunu diritti di pruprietà intellettuale di Microchip, salvu s'ellu ùn hè micca dichjaratu altrimenti.
Marchi
U nome è u logu Microchip, u logu Microchip, Adaptec, AVR, logo 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 è XMEGA sò marchi registrati di Microchip Technology Incorporated in i Stati Uniti è 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, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime è ZL sò marchi registrati di Microchip Technology Incorporated in i Stati Uniti.
Suppressione Chjave Adjacente, AKS, Analogicu per l'Età Digitale, Qualchese Capacitor, AnyIn, AnyOut, Switching Augmented, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM Matching, Dynamic Average. , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programmazione Seriale In-Circuit, ICSP, INICnet, Parallelazione Intelligente, IntelliMOS, Connettività Inter-Chip, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect è ZENA sò marchi di Microchip Technology Incorporated
in i Stati Uniti è altri paesi.
SQTP hè una marca di serviziu di Microchip Technology Incorporated in i Stati Uniti
U logu Adaptec, Frequency on Demand, Silicon Storage Technology è Symmcom sò marchi registrati di Microchip Technology Inc. in altri paesi.
GestIC hè una marca registrata di Microchip Technology Germany II GmbH & Co. KG, una filiale di Microchip Technology Inc., in altri paesi.
Tutti l'altri marchi citati quì sò pruprietà di e so cumpagnie rispettive.
© 2023, Microchip Technology Incorporated è e so filiali. Tutti i diritti riservati.
ISBN: 978-1-6683-3694-6
Sistema di Gestione di Qualità
Per infurmazione nantu à i Sistemi di Gestione di Qualità di Microchip, visitate www.microchip.com/quality.

AMERICA ASIA / PACIFIC ASIA / PACIFIC EUROPA
Uffiziu Corporate
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Assistenza tecnica:
www.microchip.com/support
Web Indirizzu:
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
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Tel: 317-536-2380
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800
Raleigh, NC
Tel: 919-844-7510
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Tel: 408-436-4270
Canada - Toronto
Tel: 905-695-1980
Fax: 905-695-2078
Australia - Sydney
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 - Guangzhou
Tel: 86-20-8755-8029
Cina - Hangzhou
Tel: 86-571-8792-8115
Cina - Hong Kong SAR
Tel: 852-2943-5100
Cina - Nanjing
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 - New Delhi
Tel: 91-11-4160-8631
India - Pune
Tel: 91-20-4121-0141
Giappone - Osaka
Tel: 81-6-6152-7160
Giappone - Tokyo
Tel: 81-3-6880- 3770
Corea - Daegu
Tel: 82-53-744-4301
Corea - Seoul
Tel: 82-2-554-7200
Malasia - Kuala Lumpur
Tel: 60-3-7651-7906
Malasia - 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
Tailanda - 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 - Copenhague
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 - Munich
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 - Milan
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
Pulonia - 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 - Gothenberg
Tel: 46-31-704-60-40
Svezia - Stoccolma
Tel: 46-8-5090-4654
UK - Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820

LOGO MICROCHIP© 2023 Microchip Technology Inc. è e so filiali
DS50003627A -

Documenti / Risorse

MICROCHIP Libero SoC Simulation Library Software [pdfGuida di l'utente
DS50003627A, Libero SoC Simulation Library Software, Software Library Simulation SoC, Software Library Simulation, Software Library, Software

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *