Simulation Libéro SoC
Instructions de configuration de la bibliothèque
Introduction
Le but de ce document est de décrire la procédure de configuration de l'environnement de simulation en utilisant un projet Libero SoC comme entrée. Cette documentation correspond aux bibliothèques précompilées fournies pour une utilisation avec Libero SoC v11.9 et les versions logicielles plus récentes. Les bibliothèques fournies sont compilées pour Verilog. Les utilisateurs de VHDL nécessitent une licence permettant la simulation en mode mixte.
Les bibliothèques de simulation compilées sont disponibles pour les outils suivants :
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Entreprise et Xcelium
- Siemens QuestaSim
- Synopsis VCS
Pour demander une bibliothèque pour un autre simulateur, contactez Assistance technique sur les puces électroniques.
Intégration du SoC Libero
Libero SoC prend en charge la simulation à l'aide de ModelSim ME en générant un run.do file. Ce file est utilisé par ModelSim ME/ModelSim Pro ME pour configurer et exécuter la simulation. Pour utiliser d'autres outils de simulation, vous pouvez générer le run.do ModelSim ME/ModelSim Pro ME et modifier le script Tcl file pour utiliser les commandes compatibles avec votre simulateur.
1.1 Libéro SoC Tcl File Génération (Poser une question)
Après avoir créé et généré la conception dans Libero SoC, démarrez une simulation ModelSim ME/ModelSim Pro ME sous toutes les phases de conception (présynthé, post-synthé et post-mise en page). Cette étape génère le run.do file pour le ModelSim ME/ModelSim Pro ME pour chaque phase de conception. Important: Après avoir démarré chaque simulation, renommez le run.do généré automatiquement. file sous le répertoire de simulation pour empêcher Libero SoC d'écraser cela file. Par exempleample, le files peuvent être renommés en presynth_run.do, postsynth_run.do et postlayout_run.do.
Configuration Aldec pour Active-HDL et Riviera-Pro (Poser une question)
La course.do file utilisé par ModelSim ME/ModelSim Pro ME peut être modifié et utilisé pour la simulation à l'aide des simulateurs Aldec.
2.1 Variable d'environnement (Poser une question)
Définissez votre variable d'environnement sur votre licence file emplacement:
LM_LICENSE_FILE: doit inclure un pointeur vers le serveur de licences.
2.2 Télécharger la bibliothèque compilée (Poser une question)
Téléchargez les bibliothèques pour l'Aldec Active-HDL et l'Aldec Riviera-PRO depuis Microchip website.
2.3 Conversion de run.do pour la simulation Aldec (Poser une question)
La course.do fileLes fichiers générés par Libero SoC pour les simulations utilisant l'outil Active-HDL et Riviera-Pro peuvent être utilisés pour les simulations utilisant Active-HDL et Riviera-Pro avec un seul changement. Le tableau suivant répertorie les commandes équivalentes à Aldec à modifier dans le run.do de ModelSim. file.
Tableau 2-1. Commandes équivalentes à Aldec
Modèle Sim | HDL actif |
vlog | un journal |
vcom | acom |
vlib | alib |
contre | asim |
carte virtuelle | une carte |
La suite est commeample run.do lié aux simulateurs Aldec.
- Définissez l'emplacement du répertoire de travail actuel.
définir dsn - Définissez un nom de bibliothèque de travail, mappez son emplacement, puis mappez l'emplacement de la famille Microchip FPGA
bibliothèques précompilées (par example, SmartFusion2) sur lequel vous exécutez votre conception.
présynthèse alib
amap présynthé présynthé
amap SmartFusion2 - Compilez tous les HDL nécessaires fileest utilisé dans la conception avec la bibliothèque requise.
alog –work presynth temp.v (pour Verilog)
alog –work presynth testbench.v
acom –work présynth temp.vhd (pour Vhdl)
acom –work presynth testbench.vhd - Simulez la conception.
asim –L SmartFusion2 –L présynth –t 1ps presynth.testbench
courir 10us
2.4 Problèmes connus (Poser une question)
Cette section répertorie les problèmes et limitations connus.
- Les bibliothèques compilées à l'aide de Riviera-PRO sont spécifiques à la plate-forme (c'est-à-dire que les bibliothèques 64 bits ne peuvent pas être exécutées sur une plate-forme 32 bits et vice versa).
- Pour les conceptions contenant SERDES/MDDR/FDDR, utilisez l'option suivante dans votre run.do files lors de l'exécution de simulations après avoir compilé leurs conceptions :
– HDL actif : asim –o2
– Riviera-PRO : asim –O2 (pour les simulations de pré-synthèse et post-layout) et asim –O5 (pour les simulations de post-layout)
La configuration Aldec pour Active-HDL et Riviera-Pro a les DAS en attente suivants. pour plus d'informations, contactez Assistance technique sur les puces électroniques. - SAR 49908 – Active-HDL : erreur VHDL pour les simulations de blocs mathématiques
- SAR 50627 – Riviera-PRO 2013.02 : Erreurs de simulation pour les conceptions SERDES
- SAR 50461 – Riviera-PRO : option asim -O2/-O5 dans les simulations
Configuration incisive de cadence (Poser une question)
Vous devez créer un script file similaire à ModelSim ME/ModelSim Pro ME run.do pour exécuter le
Simulateur Cadence Incisive. Suivez ces étapes et créez un script file pour NCSim ou utilisez le script file
fourni pour convertir le run.do ModelSim ME/ModelSim Pro ME files dans la configuration files
nécessaire pour exécuter les simulations à l’aide de NCSim. Important : Cadence a cessé de publier de nouvelles versions d'Incisive Enterprise
simulateur et a commencé à prendre en charge le simulateur Xcelium.
3.1 Variables d'environnement (Poser une question)
Pour exécuter le simulateur Cadence Incisive, configurez les variables d'environnement suivantes :
- LM_LICENSE_FILE: doit inclure un pointeur vers la licence file.
- cds_root : doit pointer vers l'emplacement du répertoire personnel de l'installation de Cadence Incisive.
- PATH : doit pointer vers l'emplacement bin sous le répertoire tools pointé par cds_root, c'est-à-dire :
$cds_root/tools/bin/64bit (pour une machine 64 bits et $cds_root/tools/bin pour une machine 32 bits).
Il existe trois manières de configurer l'environnement de simulation en cas de basculement entre les systèmes d'exploitation 64 bits et 32 bits :
Cas 1 : variable PATH
Exécutez la commande suivante :
set path = (install_dir/tools/bin/64bit $path) pour les machines 64 bits et
set path = (install_dir/tools/bin $path) pour les machines 32 bits
Cas 2 : Utilisation de l'option de ligne de commande -64 bits
Dans la ligne de commande, spécifiez l'option -64bit afin d'appeler l'exécutable 64 bits.
Cas 3 : Définition de la variable d'environnement INCA_64BIT ou CDS_AUTO_64BIT
La variable INCA_64BIT est traitée comme booléenne. Vous pouvez définir cette variable sur n'importe quelle valeur ou sur une chaîne nulle.
setenv INCA_64BIT
Important : Le La variable d'environnement INCA_64BIT n'affecte pas les autres outils Cadence, tels que les outils IC. Cependant, pour les outils Incisive, la variable INCA_64BIT remplace le paramètre de la variable d'environnement CDS_AUTO_64BIT. Si la variable d'environnement INCA_64BIT est définie, tous les outils Incisive fonctionnent en mode 64 bits. setenv CDS_AUTO_64BIT INCLUDE:INCA
Important : Le La chaîne INCA doit être en majuscule. Tous les exécutables doivent être exécutés en mode 32 bits ou en mode 64 bits. Ne définissez pas la variable pour inclure un seul exécutable, comme dans ce qui suit :
setenv CDS_AUTO_64BIT INCLUDE :ncelab
D'autres outils Cadence, tels que les outils IC, utilisent également la variable d'environnement CDS_AUTO_64BIT pour contrôler la sélection des exécutables 32 bits ou 64 bits. Le tableau suivant montre comment définir la variable CDS_AUTO_64BIT pour exécuter les outils Incisive et IC dans tous les modes.
Tableau 3-1. Variables CDS_AUTO_64BIT
Variable CDS_AUTO_64BIT | Outils incisifs | Outils CI |
setenv CDS_AUTO_64BIT TOUS | 64 bits | 64 bits |
setenv CDS_AUTO_64BIT AUCUN | 32 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE :ic_binaire | 64 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE: INCA | 32 bits | 64 bits |
Important: Tous les outils Incisive doivent être exécutés en mode 32 bits ou en mode 64 bits, n'utilisez pas EXCLUDE pour exclure un exécutable spécifique, comme dans ce qui suit : setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Si vous définissez la variable CDS_AUTO_64BIT pour exclure les outils Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), tous les outils Incisive sont exécutés en mode 32 bits. Cependant, l'option de ligne de commande -64 bits remplace la variable d'environnement.
La configuration suivante files vous aident à gérer vos données et à contrôler le fonctionnement des outils et utilitaires de simulation :
- Cartographie des bibliothèques file (cds.lib) : définit un nom logique pour l'emplacement de votre conception.
- Bibliothèques et les associe à des noms de répertoires physiques.
- Variables file (hdl.var) : définit les variables qui affectent le comportement des outils et utilitaires de simulation.
3.2 Télécharger la bibliothèque compilée (Poser une question)
Téléchargez les bibliothèques pour Cadence Incisive de Microsemi website.
3.3 Création du script NCSIm File (Poser une question)
Après avoir créé une copie du run.do files, effectuez ces étapes pour exécuter votre simulation à l'aide de NCSIm :
- Créer un cds.lib file qui définit les bibliothèques accessibles et leur emplacement. Le file contient des instructions qui mappent les noms logiques des bibliothèques à leurs chemins de répertoire physiques. Par exempleample, si vous exécutez une simulation de présynthèse, le fichier cds.lib file est écrit comme indiqué dans le bloc de code suivant.
DEFINE présynth ./présynth
DÉFINIR COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - Créer un hdl.var file, une configuration facultative file qui contient des variables de configuration, qui déterminent la façon dont votre environnement de conception est configuré. La variable suivante files sont inclus :
– Variables utilisées pour spécifier la bibliothèque de travail dans laquelle le compilateur stocke les objets compilés et autres données dérivées.
– Pour Verilog, les variables (LIB_MAP, VIEW_MAP, WORK) qui permettent de spécifier les bibliothèques et views pour rechercher quand l'élaborateur résout les instances.
– Variables qui vous permettent de définir les options et arguments de ligne de commande du compilateur, de l’élaborateur et du simulateur.
En cas de simulation de présynthèse example montré ci-dessus, disons que nous avons trois RTL files : a.v, b.v et testbench.v, qui doivent être compilés respectivement dans les bibliothèques presynth, COREAHBLITE_LIB et presynth. Le hdl.var file peut être écrit comme indiqué dans le bloc de code suivant.
DEFINE WORK présynthé
DEFINE PROJECT_DIR <emplacement du files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, + => présynthèse) - Compiler la conception files en utilisant l'option ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Élaborer la conception à l'aide de ncelab. L'élaborateur construit une hiérarchie de conception basée sur les informations d'instanciation et de configuration de la conception, établit la connectivité des signaux et calcule les valeurs initiales pour tous les objets de la conception. La hiérarchie de conception élaborée est stockée dans un instantané de simulation, qui est la représentation de votre conception que le simulateur utilise pour exécuter la simulation.
ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –erreurmax 15 –
access +rwc –status worklib.:module
Élaboration pendant la simulation post-mise en page
En cas de simulations post-mise en page, d'abord le SDF file doit être compilé avant l'élaboration à l'aide de la commande ncsdfc.
ncsdfcfilenom>.sdf –sortie <filenom>.sdf.X
Pendant l'élaboration, utilisez la sortie SDF compilée avec l'option –autosdf comme indiqué dans le bloc de code suivant.
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
Le sdf_cmd_file doit être comme indiqué dans le bloc de code suivant.
COMPILED_SDF_FILE = « <emplacement du SDF compilé file>” - Simulez en utilisant ncsim. Après élaboration, un instantané de simulation est créé, qui est chargé par ncsim pour la simulation. Vous pouvez exécuter en mode batch ou en mode GUI.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –status worklib.:module
Important: Les trois étapes ci-dessus de compilation, d'élaboration et de simulation peuvent être intégrées dans un script shell. file et provenant de la ligne de commande. Au lieu d'utiliser ces trois étapes, la conception peut être simulée en une seule étape à l'aide de l'option ncverilog ou irun, comme indiqué dans le bloc de code suivant.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tous les RTL
files utilisé dans la conception>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tous les RTL files
utilisé dans la conception>
3.3.1 Problèmes connus (Poser une question)
Solution de contournement du banc d'essai
L'utilisation de l'instruction suivante pour spécifier la fréquence d'horloge dans le banc de test généré par l'utilisateur, ou le banc de test par défaut généré par Libero SoC ne fonctionne pas avec NCSIm.
toujours @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifiez comme suit pour exécuter la simulation :
toujours #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK; Important : Compilé les bibliothèques pour NCSim sont spécifiques à la plate-forme (c'est-à-dire que les bibliothèques 64 bits ne sont pas compatibles avec la plate-forme 32 bits et vice versa).
Simulations post-synthèse et post-mise en page utilisant MSS et SERDES Lors de l'exécution de simulations post-synthèse de conceptions contenant le bloc MSS ou de simulations post-mise en page de conceptions utilisant SERDES, les simulations BFM ne fonctionnent pas si l'option –libmap est
non précisé lors de l’élaboration. En effet, lors de l'élaboration, MSS est résolu à partir de la bibliothèque de travail (en raison de la liaison par défaut et de la worklib post-synth/post-layout) où il s'agit simplement d'une fonction fixe.
La commande ncelab doit être écrite comme indiqué dans le bloc de code suivant pour résoudre le MSS
bloc de la bibliothèque précompilée SmartFusion2.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
et le lib.map file doit être le suivant :
configuration cfg1 ;
concevoir ;
liblist par défaut smartfusion2 ;
configuration de fin
Cela résout n'importe quelle cellule de la bibliothèque SmartFusion2 avant de chercher dans la bibliothèque de travail, c'est-à-dire postsynth/post-layout.
L'option –libmap peut être utilisée par défaut lors de l'élaboration de chaque simulation (présynthé, post-synthé et post-mise en page). Cela évite les problèmes de simulation dus à la résolution des instances des bibliothèques.
ncelab : *F,INTERR : EXCEPTION INTERNE
Cette exception de l'outil Ncelab est une mise en garde pour les conceptions contenant FDDR dans SmartFusion 2 et IGLOO 2 lors des simulations post-synthé et post-mise en page utilisant l'option –libmap. Important: Ce problème a été signalé à l'équipe d'assistance Cadence (SAR 52113).
3.4 Sample Tcl et Shell Script Filel (Poser une question)
Ce qui suit filevoici la configuration fileest nécessaire pour configurer la conception et le script shell file pour exécuter les commandes NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DÉFINIR COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE présynth ./présynth
Hdl.var
DEFINE WORK présynthé
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 =>
présynthé)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
présynthé)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => présynthé)
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, + => présynthèse)
Commandes.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_masterstagâge
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagâge
../../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
-travail présynthèse -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
3.5 Automatisation (Poser une question)
Le script suivant file convertit le ModelSim run.do files en configuration files nécessaires pour exécuter des simulations à l’aide de NCSIm.
Scénario File Usage
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
################################################# ###########################################
##################
#Utilisation : perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
################################################# ###########################################
##################
utiliser POSIX;
utiliser strict;
mon ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV ;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sous questa_parser {
mon $ModelSim_run_do = $_[0];
mon $actel_family = $_[1];
mon $lib_location = $_[2] ;
mon $état ;
si ( -e « $ModelSim_run_do » )
{
ouvrir dansFILE, "$ModelSim_run_do");
mon @ModelSim_run_do = <INFILE>;
ma ligne $;
si ( $ModelSim_run_do =~ m/(présynth)/)
{
`mkdir QUESTA_PRESYNTH` ;
ouvert (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$état = 1 $ ;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH` ;
ouvert (OUTFILE, ">QUESTA_POSTSYNTH/postsynth_questa.do");
$état = 1 $ ;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT` ;
ouvert (OUTFILE, ">QUESTA_POSTLAYOUT/postlayout_questa.do");
$état = 1 $ ;
} sinon
{
imprimer « Mauvaises entrées données au file\n”;
print « #Utilisation : perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Emplacement_Bibliothèques\"\n" ;
}
foreach $line (@ModelSim_run_do)
{
#Opérations générales
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#imprimerFILE « $ligne \n » ;
si ($line =~ m/vmap\s+.*($actel_family)/)
{
imprimerFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
imprimerFILE « $ligne \n » ;
} elsif ($ligne =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
imprimerFILE « $ligne \n » ;
} sinon
{
imprimerFILE « $ligne \n » ;
}
}
fermer dansFILE);
liquidationFILE);
} autre {
print « $ModelSim_run_do n'existe pas. Relancez la simulation \n”;
}
}
Configuration de Cadence Xcelium (Connexion à la puce électronique)
Vous devez créer un script file similaire au ModelSim ME/ModelSim Pro ME run.do pour exécuter le simulateur Cadence Xcelium. Suivez ces étapes et créez un script file pour Xcelium ou utilisez le script file fourni pour convertir le run.do ModelSim ME/ModelSim Pro ME files dans la configuration files nécessaires pour exécuter des simulations à l’aide de Xcelium.
4.1 Variables d'environnement (Poser une question)
Pour exécuter Cadence Xcelium, configurez les variables d'environnement suivantes :
- LM_LICENSE_FILE: doit inclure un pointeur vers la licence file.
- cds_root : doit pointer vers l'emplacement du répertoire personnel de l'installation de Cadence Incisive.
- PATH : doit pointer vers l'emplacement bin sous le répertoire tools pointé par cds_root (c'est-à-dire
$cds_root/tools/bin/64bit (pour une machine 64 bits et $cds_root/tools/bin pour une machine 32 bits
machine).
Il existe trois manières de configurer l'environnement de simulation en cas de basculement entre les systèmes d'exploitation 64 bits et 32 bits :
Cas 1 : variable PATH
set path = (install_dir/tools/bin/64bit $path) pour les machines 64 bits et
set path = (install_dir/tools/bin $path) pour les machines 32 bits
Cas 2 : Utilisation de l'option de ligne de commande -64 bits
Dans la ligne de commande, spécifiez l'option -64bit afin d'appeler l'exécutable 64 bits.
Cas 3 : Définition de la variable d'environnement INCA_64BIT ou CDS_AUTO_64BIT
La variable INCA_64BIT est traitée comme booléenne. Vous pouvez définir cette variable sur n'importe quelle valeur ou sur une valeur nulle
chaîne.
setenv INCA_64BIT
Important : Le La variable d'environnement INCA_64BIT n'affecte pas les autres outils Cadence, tels que les outils IC. Cependant, pour les outils Incisive, la variable INCA_64BIT remplace le paramètre de la variable d'environnement CDS_AUTO_64BIT. Si la variable d'environnement INCA_64BIT est et, tous les outils Incisive fonctionnent en mode 64 bits.
setenv CDS_AUTO_64BIT INCLUDE:INCA Important : Le La chaîne INCA doit être en majuscule. Tous les exécutables doivent être exécutés en mode 2 bits ou en mode 64 bits. Ne définissez pas la variable pour inclure un seul exécutable, comme dans ce qui suit :
setenv CDS_AUTO_64BIT INCLUDE :ncelab
D'autres outils Cadence, tels que les outils IC, utilisent également la variable d'environnement CDS_AUTO_64BIT pour contrôler la sélection des exécutables 32 bits ou 64 bits. Le tableau suivant montre comment définir la variable CDS_AUTO_64BIT pour exécuter les outils Incisive et IC dans tous les modes.
Tableau 4-1. Variables CDS_AUTO_64BIT
Variable CDS_AUTO_64BIT | Outils incisifs | Outils CI |
setenv CDS_AUTO_64BIT TOUS | 64 bits | 64 bits |
setenv CDS_AUTO_64BIT AUCUN | 32 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLURE : ic_binary | 64 bits | 32 bits |
setenv CDS_AUTO_64BIT EXCLUDE: INCA | 32 bits | 64 bits |
Important: Tous les outils Incisive doivent être exécutés en mode 32 bits ou en mode 64 bits. N'utilisez pas EXCLUDE pour exclure un exécutable spécifique, comme dans ce qui suit :
setenv CDS_AUTO_64BIT EXCLUDE :ncelab
Si vous définissez la variable CDS_AUTO_64BIT pour exclure les outils Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), tous les outils Incisive sont exécutés en mode 32 bits. Cependant, le
L'option de ligne de commande -64 bits remplace la variable d'environnement.
La configuration suivante files vous aident à gérer vos données et à contrôler le fonctionnement des outils et utilitaires de simulation :
- Cartographie des bibliothèques file (cds.lib) définit un nom logique pour l'emplacement de votre conception.
- Bibliothèques et les associe à des noms de répertoires physiques.
- Variables file (hdl.var) définit les variables qui affectent le comportement des outils et utilitaires de simulation.
4.2 Télécharger la bibliothèque compilée (Poser une question)
Téléchargez les bibliothèques pour Cadence Xcelium depuis Microsemi website.
4.3 Création du script Xcelium file (Poser une question)
Après avoir créé une copie du run.do files, effectuez les étapes suivantes pour exécuter votre simulation à l'aide du script Xcelium file.
- Créer un cds.lib file qui définit quelles bibliothèques sont accessibles et où elles se trouvent.
Le file contient des instructions qui mappent les noms logiques des bibliothèques à leurs chemins de répertoire physiques. Par exempleample, si vous exécutez une simulation de présynthèse, le fichier cds.lib file peut être écrit comme indiqué dans le bloc de code suivant.
DEFINE présynth ./présynth
DÉFINIR COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE smartfusion2 - Créer un hdl.var file qui est une configuration facultative file qui contient des variables de configuration, qui déterminent la façon dont votre environnement de conception est configuré. Ceux-ci inclus:
– Variables utilisées pour spécifier la bibliothèque de travail dans laquelle le compilateur stocke les objets compilés et autres données dérivées.
– Pour Verilog, les variables (LIB_MAP, VIEW_MAP, WORK) qui permettent de spécifier les bibliothèques et views pour rechercher quand l'élaborateur résout les instances.
– Variables qui vous permettent de définir les options et arguments de ligne de commande du compilateur, de l’élaborateur et du simulateur.
En cas de simulation de présynthèse example montré ci-dessus, disons que nous avons 3 RTL files a.v, b.v et testbench.v, qui doivent être compilés respectivement dans les bibliothèques presynth, COREAHBLITE_LIB et presynth. Le hdl.var file peut être écrit comme indiqué dans le bloc de code suivant.
DEFINE WORK présynthé
DEFINE PROJECT_DIR <emplacement du files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, + => présynthèse) - Compiler la conception files en utilisant l'option ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Élaborer la conception à l'aide de ncelab. L'élaborateur construit une hiérarchie de conception basée sur les informations d'instanciation et de configuration de la conception, établit la connectivité des signaux et calcule les valeurs initiales pour tous les objets de la conception. La hiérarchie de conception élaborée est stockée dans un instantané de simulation, qui est la représentation de votre conception que le simulateur utilise pour exécuter la simulation.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –erreurmax 15 –
access +rwc –status worklib.:module
Élaboration pendant la simulation post-mise en page
En cas de simulations post-mise en page, d'abord le SDF file doit être compilé avant l'élaboration à l'aide de la commande ncsdfc.
Xcélium <filenom>.sdf –sortie <filenom>.sdf.X
Pendant l'élaboration, utilisez la sortie SDF compilée avec l'option –autosdf comme indiqué dans le bloc de code suivant.
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
Le sdf_cmd_file doit être comme indiqué dans le bloc de code suivant.
COMPILED_SDF_FILE = « <emplacement du SDF compilé file>” - Simulez avec Xcelium. Après élaboration, un instantané de simulation est créé qui est chargé par Xcelium pour la simulation. Cela peut être exécuté en mode batch ou en mode GUI.
xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –status worklib.:module
Configuration de Cadence XceliumImportant : Tous les trois étapes ci-dessus de compilation, d'élaboration et de simulation peuvent être intégrées dans un script shell file et provenant de la ligne de commande. Au lieu d'utiliser ces trois étapes, la conception peut être simulée en une seule étape à l'aide de l'option ncverilog ou xrun, comme indiqué dans le bloc de code suivant.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tous les RTL
files utilisé dans la conception>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <tous les RTL files
utilisé dans la conception>
4.3.1 Problèmes connus (Poser une question)
Solution de contournement du banc d'essai
L'utilisation de l'instruction suivante pour spécifier la fréquence d'horloge dans le banc de test généré par l'utilisateur ou dans le banc de test par défaut généré par Libero SoC ne fonctionne pas avec Xcelium.
toujours @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Modifiez comme suit pour exécuter la simulation :
toujours #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Important: Les bibliothèques compilées pour Xcelium sont spécifiques à la plate-forme (c'est-à-dire que les bibliothèques 64 bits ne sont pas compatibles avec la plate-forme 32 bits et vice versa).
Simulations Postsynth et Post-layout utilisant MSS et SERDES
Lors de l'exécution de simulations post-synthèse de conceptions contenant un bloc MSS ou de simulations post-mise en page de conceptions utilisant SERDES, les simulations BFM ne fonctionnent pas si l'option –libmap n'est pas spécifiée lors de l'élaboration. En effet, lors de l'élaboration, MSS est résolu à partir de la bibliothèque de travail (en raison de la liaison par défaut et de la worklib post-synth/post-layout) où il s'agit simplement d'une fonction fixe.
La commande ncelab doit être écrite comme indiqué dans le bloc de code suivant pour résoudre le bloc MSS de la bibliothèque précompilée SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
et le lib.map file doit être le suivant :
configuration cfg1 ;
concevoir ;
liblist par défaut smartfusion2 ;
configuration de fin
Cela doit résoudre n'importe quelle cellule de la bibliothèque SmartFusion2 avant de chercher dans la bibliothèque de travail, c'est-à-dire postsynth/post-layout.
L'option –libmap peut être utilisée par défaut lors de l'élaboration de chaque simulation (présynthé, post-synthé et post-layout). Cela évite les problèmes de simulation dus à la résolution des instances des bibliothèques.
xmelab : *F,INTERR : EXCEPTION INTERNE
Cette exception à l'outil Ncelab constitue une mise en garde pour les conceptions contenant FDDR dans SmartFusion2 et IGLOO2.
pendant les simulations post-synth et post-layout en utilisant l'option –libmap. Important: Ce problème a été signalé à l'équipe d'assistance Cadence (SAR 52113).
4.4 Sample Tcl et le script shell filel (Poser une question)
Ce qui suit filevoici la configuration fileest nécessaire pour configurer la conception et le script shell file pour exécuter les commandes Xcelium.
Cds.lib
DÉFINIR smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DÉFINIR COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE présynth ./présynth
Hdl.var
DEFINE WORK présynthé
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 =>
présynthé)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
présynthé)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => présynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => présynthé)
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, + => présynthèse)
Commandes.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_masterstagâge
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagâge
../../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
-travail présynthèse -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
4.5 Automatisation (Connexion à la puce électronique)
Le script suivant file convertit ModelSim run.do files en configuration files nécessaires pour exécuter des simulations à l’aide de Xcelium.
Scénario File Usage
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
################################################# ###########################################
##################
#Utilisation : perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
################################################# ###########################################
##################
utiliser POSIX;
utiliser strict;
mon ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV ;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sous questa_parser {
mon $ModelSim_run_do = $_[0];
mon $actel_family = $_[1];
mon $lib_location = $_[2] ;
mon $état ;
si ( -e « $ModelSim_run_do » )
{
ouvrir dansFILE, "$ModelSim_run_do");
mon @ModelSim_run_do = <INFILE>;
ma ligne $;
si ( $ModelSim_run_do =~ m/(présynth)/)
{
`mkdir QUESTA_PRESYNTH` ;
ouvert (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$état = 1 $ ;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH` ;
ouvert (OUTFILE, ">QUESTA_POSTSYNTH/postsynth_questa.do");
$état = 1 $ ;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT` ;
ouvert (OUTFILE, ">QUESTA_POSTLAYOUT/postlayout_questa.do");
$état = 1 $ ;
} sinon
{
imprimer « Mauvaises entrées données au file\n”;
print « #Utilisation : perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Emplacement_Bibliothèques\"\n" ;
}
foreach $line (@ModelSim_run_do)
{
#Opérations générales
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#imprimerFILE « $ligne \n » ;
si ($line =~ m/vmap\s+.*($actel_family)/)
{
imprimerFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
imprimerFILE « $ligne \n » ;
} elsif ($ligne =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
imprimerFILE « $ligne \n » ;
} sinon
{
imprimerFILE « $ligne \n » ;
}
}
fermer dansFILE);
liquidationFILE);
} autre {
print « $ModelSim_run_do n'existe pas. Relancez la simulation \n”;
}
}
Configuration Siemens QuestaSim/Configuration ModelSim (Poser une question)
La course.do files, générés par le SoC Libero pour les simulations utilisant les éditions ModelSim Microsemi, peuvent être utilisés pour les simulations utilisant QuestaSim/ModelSim SE/DE/PE avec un seul changement. Dans le run.do ModelSim ME/ModelSim Pro ME file, l'emplacement des bibliothèques précompilées doit être modifié. Important:
Par défaut, l'outil de simulation autre que ModelSim Pro ME effectue une optimisation de la conception pendant la simulation, ce qui peut avoir un impact sur la visibilité des artefacts de simulation tels que les objets de conception et les stimulus d'entrée.
Ceci est généralement utile pour réduire le temps d’exécution des simulations complexes, en utilisant des bancs de test verbeux et auto-vérifiés. Toutefois, les optimisations par défaut peuvent ne pas convenir à toutes les simulations, en particulier dans les cas où vous prévoyez d'inspecter graphiquement les résultats de la simulation à l'aide de la fenêtre d'onde.
Pour résoudre les problèmes provoqués par cette optimisation, vous devez ajouter les commandes appropriées et les arguments associés pendant la simulation afin de restaurer la visibilité de la conception. Pour les commandes spécifiques à l'outil, consultez la documentation du simulateur utilisé.
5.1 Variables d'environnement (Poser une question)
Voici les variables d'environnement requises.
- LM_LICENSE_FILE: doit inclure le chemin d'accès à la licence file.
- MODEL_TECH : doit identifier le chemin d’accès à l’emplacement du répertoire personnel de l’installation de QuestaSim.
- PATH : doit pointer vers l'emplacement de l'exécutable pointé par MODEL_TECH.
5.2 Conversion de run.do pour Mentor QuestaSim (Poser une question)
La course.do fileLes fichiers générés par Libero SoC pour les simulations utilisant ModelSim Microsemi Editions peuvent être utilisés pour les simulations utilisant QuestaSim/ModelSim_SE avec un seul changement. Important : Tous les conceptions simulées à l'aide de QuestaSim doivent inclure -novopt
option avec la commande vsim dans le script run.do files.
5.3 Téléchargez la bibliothèque compilée (Poser une question)
Téléchargez les bibliothèques pour Mentor Graphics QuestaSim depuis Microsemi website.
Configuration Synopsys VCS (Poser une question)
Le flux recommandé par Microsemi s'appuie sur le flux Elaborate and Compile dans VCS. Ce document comprend un script file qui utilise le script run.do files généré par Libero SoC et génère la configuration fileest nécessaire pour la simulation VCS. Le script file utilise le run.do file faire ce qui suit.
- Créer un mappage de bibliothèque file, ce qui se fait à l'aide de synopsys_sim.setup file situé dans le même répertoire où la simulation VCS est en cours d'exécution.
- Créer un script shell file pour élaborer et compiler votre conception à l'aide de VCS.
6.1 Variables d'environnement (Poser une question)
Définissez les variables d'environnement appropriées pour VCS en fonction de votre configuration. Les variables d'environnement nécessaires selon la documentation VCS sont :
- LM_LICENSE_FILE: doit inclure un pointeur vers le serveur de licences.
- VCS_HOME : doit pointer vers l'emplacement du répertoire personnel de l'installation de VCS.
- PATH : doit inclure un pointeur vers le répertoire bin sous le répertoire VCS_HOME.
6.2 Télécharger la bibliothèque compilée (Poser une question)
Téléchargez les bibliothèques pour Synopsys VCS à partir de Microsemi website.
6.3 Script de simulation VCS File (Poser une question)
Après avoir configuré VCS et généré la conception et les différents run.do files de Libero SoC, vous devez :
- Créer le mappage de bibliothèque file synopsys_sim.setup ; ce file contient des pointeurs vers l’emplacement de toutes les bibliothèques à utiliser par la conception.
Important : Le file le nom ne doit pas changer et il doit être situé dans le même répertoire où la simulation est en cours d'exécution. Voici un example pour un tel file pour la simulation de présynthèse.
TRAVAIL > DEFAUT
SmartFusion2 :
présynthèse : ./présynthèse
PAR DÉFAUT : ./travail - Élaborer les différents designs files, y compris le banc de test, à l'aide de la commande vlogan dans VCS. Ces commandes peuvent être incluses dans un script shell file. Voici un example des commandes nécessaires pour élaborer un design défini dans rtl.v avec son banc de test défini dans
testbench.v.
vlogan +v2k -work présynth rtl.v
vlogan +v2k -work présynth testbench.v - Compilez la conception à l'aide de VCS à l'aide de la commande suivante.
vcs –sim_res=1fs presynth.testbench
Noter la la résolution temporelle de la simulation doit être réglée sur 1fs pour une simulation fonctionnelle correcte. - Une fois la conception compilée, démarrez la simulation à l'aide de la commande suivante.
./simv - Pour une simulation rétro-annotée, la commande VCS doit être telle qu'indiquée dans le bloc de code suivant.
vcs postlayout.testbench –sim_res=1fs –sdf max:.<instance DUT
nom> :<sdf file chemin> –gui –l postlayout.log
6.4 Limites/Exceptions (Poser une question)
Voici les limitations/exceptions de la configuration de Synopsys VCS.
- Les simulations VCS ne peuvent être exécutées que pour les projets Verilog de Libero SoC. Le simulateur VCS a des exigences strictes en matière de langage VHDL qui ne sont pas satisfaites par le VHDL généré automatiquement par Libero SoC. files.
- Vous devez avoir une instruction $finish dans le banc de test Verilog pour arrêter la simulation quand vous le souhaitez.
Important : Quand les simulations sont exécutées en mode GUI, le temps d'exécution peut être spécifié dans l'interface graphique.
6.5 Sample Tcl et Shell Script Filel (Poser une question)
Le Perl suivant automatise la génération du synopsys_sim.setup file ainsi que le script shell correspondant filesont nécessaires pour élaborer, compiler et simuler la conception.
Si la conception utilise un MSS, copiez le test.vec file situé dans le dossier de simulation du projet Libero SoC dans le dossier de simulation VCS. Les sections suivantes contiennent desample run.do files générés par Libero SoC, y compris le mappage de bibliothèque correspondant et le script shell fileest nécessaire pour la simulation VCS.
6.5.1 Pré-synthèse (Poser une question)
Presynth_run.do
définir tranquillement ACTELLIBNAME SmartFusion2
définissez tranquillement PROJECT_DIR «/sqa/users/me/VCS_Tests/Test_DFF»
si {[file existe presynth/_info]} {
echo "INFO : le présynth de la bibliothèque de simulation existe déjà"
} autre {
présynthèse vlib
}
présynthèse vmap présynthèse
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work présynth "${PROJECT_DIR}/component/work/SD1/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -présynthèse de travail "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L présynth -t 1fs présynth.SD1_TB1
ajouter la vague /SD1_TB1/*
ajouter un journal -r /*
courir 1000ns
presynth_main.csh
#!/bin/csh -f
définir PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work présynth « ${PROJECT_DIR}/component/
travail/SD1/SD1.v »
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k « +incdir+${PROJECT_DIR}/stimulus » -work
présynthèse "${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 > PAR DÉFAUT
SmartFusion2 : /VCS/SmartFusion2
présynthèse : ./présynthèse
PAR DÉFAUT : ./travail
6.5.2 Post-synthèse (Poser une question)
postsynth_run.do
définir tranquillement ACTELLIBNAME SmartFusion2
définissez tranquillement PROJECT_DIR «/sqa/users/Me/VCS_Tests/Test_DFF»
si {[file existe postsynth/_info]} {
echo "INFO : La bibliothèque de simulation postsynth existe déjà"
} autre {
post-synthé vlib
}
vmap post-synthé post-synthé
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2 »
vlog -travail post-synth "${PROJECT_DIR}/synthesis/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" - travail post-synth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
ajouter la vague /SD1_TB1/*
ajouter un journal -r /*
courir 1000ns
journal SD1_TB1/*
sortie
Postsynth_main.csh
#!/bin/csh -f
définir 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 » -work
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 > PAR DÉFAUT
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
PAR DÉFAUT : ./travail
6.5.3 Post-mise en page (Poser une question)
postlayout_run.do
définir tranquillement ACTELLIBNAME SmartFusion2
définissez tranquillement PROJECT_DIR « E:/ModelSim_Work/Test_DFF »
si {[file existe ../designer/SD1/simulation/postlayout/_info]} {
echo « INFO : la bibliothèque de simulation ../designer/SD1/simulation/postlayout existe déjà »
} autre {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2 »
vlog -work postlayout "${PROJECT_DIR}/designer/SD1/SD1_ba.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" - post-mise en page du travail "${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
ajouter la vague /SD1_TB1/*
ajouter un journal -r /*
courir 1000ns
Postlayout_main.csh
#!/bin/csh -f
définir PROJECT_DIR = « /VCS_Tests/Test_DFF »
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout « ${PROJECT_DIR}/
concepteur/SD1/SD1_ba.v »
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k « +incdir+${PROJECT_DIR}/stimulus » -work
post-mise en page « ${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 > PAR DÉFAUT
SmartFusion2 : /VCS/SmartFusion2
post-mise en page : ./postlayout
PAR DÉFAUT : ./workVCS
6.6 Automatisation (Poser une question)
Le flux peut être automatisé à l'aide du script Perl suivant file pour convertir le ModelSim run.do files dans un script shell compatible VCS files, créez les répertoires appropriés dans le répertoire de simulation Libero SoC, puis exécutez des simulations.
Exécuter le script file en utilisant la syntaxe suivante.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
################################################# ############################
#
#Utilisation : perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
################################################# #############################
mon ($presynth, $postsynth, $postlayout) = @ARGV;
if(system("mkdir VCS_Presynth")) {print "mkdir a échoué :\n";}
if(system("mkdir VCS_Postsynth")) {print "mkdir a échoué :\n";}
if(system("mkdir VCS_Postlayout")) {print "mkdir a échoué :\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 (« ../ ») ;
sous parse_do {
mon $vlog = « /cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k » ;
mon %LIB = ();
mon $file = $_[0] ;
mon $state = $_[1] ;
ouvrir dansFILE,"$file») || mourir "Je ne peux pas ouvrir File La raison pourrait être : $ ! » ;
if ( $state eq "présynth")
{
open(OUT1, ">presynth_main.csh") || mourir "Je ne peux pas créer de commande File La raison pourrait être : $ ! » ;
}
elsif ( $state eq "postsynth")
{
open(OUT1, ">postsynth_main.csh") || mourir "Je ne peux pas créer de commande File La raison pourrait être : $ ! » ;
}
elsif ( $state eq "postlayout")
{
open(OUT1, ">postlayout_main.csh") || mourir "Je ne peux pas créer de commande File La raison pourrait être : $ ! » ;
}
autre
{
print « L'état de simulation est manquant \n » ;
}
open(OUT2, "> synopsys_sim.setup") || mourir "Je ne peux pas créer de commande File La raison pourrait être : $ ! » ;
# .csh file
print OUT1 « #!/bin/csh -f\n\n\n » ;
#INSTALLATION FILE
print OUT2 « TRAVAIL > PAR DEFAUT\n » ;
print OUT2 « SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n » ;
tandis que ($ligne = <INFILE>)
{
Configuration de Synopsys VCS
if ($line =~ m/set tranquillement PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 « set PROJECT_DIR = \ »$1\ »\n\n\n » ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
si ($line =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = « $1″. »_LIB » ;
#print "Temp = $temp \n" ;
$LIB{$temp}++;
}
chomp($ligne);
$line =~ s/^vlog/$vlog/ ;
$ligne =~ s/ //g;
imprimer OUT1 « $line\n » ;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = 1 $ ;
$tb =~ s/ //g;
chomp($tb);
#print « Nom du To : $tb \n » ;
si ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($ligne);
$ligne = $1 ;
#print « LIGNE : $ligne \n » ;
si ($ligne =~ m/max/)
{
$ligne =~ s/max \/// ;
$ligne =~ s/=/:/;
print OUT1 « \n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($ligne =~ m/min/)
{
$ligne =~ s/min \/// ;
$ligne =~ s/=/:/;
print OUT1 « \n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($ligne =~ m/typ/)
{
$line =~ s/typ \/// ;
$ligne =~ s/=/:/;
print OUT1 « \n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Format SDF ModelSim
#$sdf = « -sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf » ; -VCS
Format SDF
}
}
}
imprimer
SORTIE1 « \n\n »
;
if
( $state eq « présynthé »
)
{
imprimer
OUT2 "présynthé
: ./présynthèse\n”
;
imprimer
OUT1 « /cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs présynth.$tb -l
compile.log\n"
;
}
elsif
( $state eq "postsynth"
)
{
imprimer
OUT2 « post-synthé
: ./postsynth\n”
;
imprimer
OUT1 « /cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n"
;
}
elsif
( $state eq "postlayout"
)
{
print OUT2 « postlayout : ./postlayout\n » ;
}
autre
{
print « L'état de simulation est manquant \n » ;
}
foreach $i (clés %LIB)
{
#print « Clé : $i Valeur : $LIB{$i} \n » ;
imprimer OUT2 « $i : ./$i\n » ;
}
imprimer OUT1 « \n\n » ;
print OUT1 « ./simv -l run.log\n » ;
print OUT2 « PAR DÉFAUT : ./work\n » ;
fermer dansFILE;
fermer OUT1 ;
fermer OUT2 ;
}
Historique des révisions (Connexion à la puce électronique
L'historique des révisions décrit les modifications qui ont été implémentées dans le document. Les changements
sont répertoriés par révision, en commençant par la publication la plus récente.
Révision | Date | Description |
A | 12/2023 | Les modifications suivantes sont apportées à cette révision : • Document converti en modèle Microchip. Révision initiale. • Section 5 mise à jour. Siemens QuestaSim Setup/ModelSim Setup pour inclure une nouvelle note expliquant l'impact sur la visibilité pendant la simulation et l'optimisation. |
Prise en charge des micropuces FPGA
Le groupe de produits Microchip FPGA soutient ses produits avec divers services de support, y compris le service client, le centre de support technique client, un website et bureaux de vente dans le monde entier.
Il est conseillé aux clients de visiter les ressources en ligne de Microchip avant de contacter l'assistance, car il est très probable que leurs questions aient déjà reçu une réponse.
Contactez le centre d'assistance technique via le website à www.microchip.com/support. Mentionnez le numéro de pièce de l'appareil FPGA, sélectionnez la catégorie de cas appropriée et téléchargez la conception files lors de la création d'un dossier de support technique.
Contactez le service client pour une assistance produit non technique, telle que la tarification des produits, les mises à niveau des produits, les informations de mise à jour, le statut de la commande et l'autorisation.
- Depuis l'Amérique du Nord, appelez le 800.262.1060
- Depuis le reste du monde, appelez le 650.318.4460
- Fax, de n'importe où dans le monde, 650.318.8044
Informations sur la puce
La micropuce Website
Microchip fournit une assistance en ligne via notre website à www.microchip.com/. Ce weble site est utilisé pour faire files et informations facilement accessibles aux clients. Voici quelques-uns des contenus disponibles :
- Support produit - Fiches techniques et errata, notes d'application et samples programmes, les ressources de conception, les guides d'utilisation et les documents de support matériel, les dernières versions de logiciels et les logiciels archivés
- Assistance technique générale - Foire aux questions (FAQ), demandes d'assistance technique, groupes de discussion en ligne, liste des membres du programme de partenaires de conception Microchip
- Activité de Microchip - Guides de sélection et de commande de produits, derniers communiqués de presse de Microchip, liste des séminaires et événements, listes des bureaux de vente, des distributeurs et des représentants d'usine de Microchip
Service de notification de changement de produit
Le service de notification de changement de produit de Microchip aide les clients à rester informés sur les produits Microchip. Les abonnés recevront une notification par e-mail chaque fois qu'il y aura des changements, des mises à jour, des révisions ou des errata liés à une famille de produits ou à un outil de développement spécifique.
Pour vous inscrire, rendez-vous sur www.microchip.com/pcn et suivez les instructions d’inscription.
Assistance clientèle
Les utilisateurs de produits Microchip peuvent recevoir de l'aide via plusieurs canaux :
- Distributeur ou représentant
- Bureau de vente local
- Ingénieur Solutions Embarquées (ESE)
- Assistance technique
Les clients doivent contacter leur distributeur, leur représentant ou ESE pour obtenir de l'aide. Des bureaux de vente locaux sont également disponibles pour aider les clients. Une liste des bureaux de vente et des emplacements est incluse dans ce document.
Le support technique est disponible via le website à: www.microchip.com/support
Fonction de protection du code des appareils Microchip
Notez les détails suivants concernant la fonction de protection du code sur les produits Microchip :
- Les produits Microchip répondent aux spécifications contenues dans leur fiche technique Microchip particulière.
- Microchip estime que sa gamme de produits est sécurisée lorsqu'elle est utilisée de la manière prévue, dans le cadre des spécifications de fonctionnement et dans des conditions normales.
- Microchip valorise et protège agressivement ses droits de propriété intellectuelle. Les tentatives de violation des fonctions de protection du code du produit Microchip sont strictement interdites et peuvent enfreindre le Digital Millennium Copyright Act.
- Ni Microchip ni aucun autre fabricant de semi-conducteurs ne peuvent garantir la sécurité de son code. La protection du code ne signifie pas que nous garantissons que le produit est « incassable ».
La protection des codes évolue constamment. Microchip s'engage à améliorer continuellement les fonctionnalités de protection du code de nos produits.
Mentions légales
Cette publication et les informations qu'elle contient ne peuvent être utilisées qu'avec les produits Microchip, y compris pour concevoir, tester et intégrer les produits Microchip à votre application. L'utilisation de ces informations de toute autre manière viole ces conditions. Les informations concernant les applications de l'appareil sont fournies uniquement pour votre commodité et peuvent être remplacées par des mises à jour. Il est de votre responsabilité de vous assurer que votre application répond à vos spécifications. Contactez votre bureau de vente Microchip local pour une assistance supplémentaire ou obtenez une assistance supplémentaire sur www.microchip.com/en-us/support/design-help/client-support-services.
CES INFORMATIONS SONT FOURNIES PAR MICROCHIP « EN L'ÉTAT ». MICROCHIP NE FAIT AUCUNE DÉCLARATION OU GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE, ÉCRITE OU ORALE, LÉGALE OU AUTRE, CONCERNANT LES INFORMATIONS, Y COMPRIS, MAIS SANS S'Y LIMITER, TOUTE GARANTIE IMPLICITE DE NON-CONTREFAÇON, DE QUALITÉ MARCHANDE ET D'ADÉQUATION À UN USAGE PARTICULIER, OU TOUTE GARANTIE RELATIVE À SON ÉTAT, SA QUALITÉ OU SES PERFORMANCES.
EN AUCUN CAS MICROCHIP NE SERA RESPONSABLE DE TOUTE PERTE, DE TOUT DOMMAGE, DE TOUT COÛT OU DE TOUTE DÉPENSE INDIRECTE, SPÉCIALE, PUNITIF, ACCESSOIRE OU CONSÉCUTIF DE QUELQUE NATURE QUE CE SOIT LIÉ AUX INFORMATIONS OU À LEUR UTILISATION, QUELLE QU'EN SOIT LA CAUSE, MÊME SI MICROCHIP A ÉTÉ AVISÉ DE LA POSSIBILITÉ OU SI LES DOMMAGES SONT PRÉVISIBLES. DANS TOUTE LA MESURE PERMISE PAR LA LOI, LA RESPONSABILITÉ TOTALE DE MICROCHIP SUR TOUTES LES RÉCLAMATIONS LIÉES DE QUELQUE MANIÈRE QUE CE SOIT AUX INFORMATIONS OU À LEUR UTILISATION NE DÉPASSERA PAS LE MONTANT DES FRAIS, LE CAS ÉCHÉANT, QUE VOUS AVEZ PAYÉS DIRECTEMENT À MICROCHIP POUR LES INFORMATIONS.
L'utilisation des dispositifs Microchip dans des applications de maintien des fonctions vitales et/ou de sécurité est entièrement aux risques et périls de l'acheteur, qui s'engage à défendre, indemniser et dégager Microchip de toute responsabilité en cas de dommages, réclamations, poursuites ou dépenses résultant d'une telle utilisation. Aucune licence n'est transmise, implicitement ou autrement, en vertu des droits de propriété intellectuelle de Microchip, sauf indication contraire.
Marques déposées
Le nom et le logo Microchip, le 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 et XMEGA sont des marques déposées de Microchip Technology Incorporated aux États-Unis et dans d'autres pays.
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, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime et ZL sont des marques déposées de Microchip Technology Incorporated aux États-Unis
Adjacent Key Suppression, 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, Programmation série en circuit, ICSP, INICnet, Mise en parallèle intelligente, IntelliMOS, Connectivité inter-puces, JitterBlocker, Bouton sur l'affichage, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, logo certifié MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, génération de code omniscient, 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, Endurance totale, Temps de confiance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect et ZENA sont des marques commerciales de Microchip Technology Incorporated
aux États-Unis et dans d’autres pays.
SQTP est une marque de service de Microchip Technology Incorporated aux États-Unis
Le logo Adaptec, Frequency on Demand, Silicon Storage Technology et Symmcom sont des marques déposées de Microchip Technology Inc. dans d'autres pays.
GestIC est une marque déposée de Microchip Technology Germany II GmbH & Co. KG, une filiale de Microchip Technology Inc., dans d'autres pays.
Toutes les autres marques commerciales mentionnées ici sont la propriété de leurs sociétés respectives.
© 2023, Microchip Technology Incorporated et ses filiales. Tous les droits sont réservés.
ISBN: 978-1-6683-3694-6
Système de gestion de la qualité
Pour plus d'informations sur les systèmes de gestion de la qualité de Microchip, veuillez visiter www.microchip.com/quality.
AMÉRIQUES | ASIE/PACIFIQUE | ASIE/PACIFIQUE | EUROPE |
Siège social 2355, boulevard Chandler Ouest. Chandler, Arizona 85224-6199 Tél.: 480-792-7200 Fax: 480-792-7277 Support technique : www.microchip.com/support Web Adresse: www.microchip.com Atlanta Duluth, Géorgie Tél.: 678-957-9614 Fax: 678-957-1455 Austin, Texas Tél.: 512-257-3370 Boston Westborough, Massachusetts Tél.: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, Illinois Tél.: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tél.: 972-818-7423 Fax: 972-818-2924 Détroit Novi, Michigan Tél.: 248-848-4000 Houston, Texas Tél.: 281-894-5983 Indianapolis Noblesville, Indiana Tél.: 317-773-8323 Fax: 317-773-5453 Tél.: 317-536-2380 Los Angeles Mission Viejo, Californie Tél.: 949-462-9523 Fax: 949-462-9608 Tél.: 951-273-7800 Raleigh, Caroline du Nord Tél.: 919-844-7510 New York, État de New York Tél.: 631-435-6000 San José, Californie Tél.: 408-735-9110 Tél.: 408-436-4270 Canada – Toronto Tél.: 905-695-1980 Fax: 905-695-2078 | Australie – Sydney Tél. : 61-2-9868-6733 Chine – Pékin Tél. : 86-10-8569-7000 Chine – Chengdu Tél. : 86-28-8665-5511 Chine – Chongqing Tél. : 86-23-8980-9588 Chine – Dongguan Tél. : 86-769-8702-9880 Chine – Guangzhou Tél. : 86-20-8755-8029 Chine – Hangzhou Tél. : 86-571-8792-8115 Chine – RAS de Hong Kong Tél. : 852-2943-5100 Chine – Nankin Tél. : 86-25-8473-2460 Chine – Qingdao Tél. : 86-532-8502-7355 Chine – Shanghai Tél. : 86-21-3326-8000 Chine – Shenyang Tél. : 86-24-2334-2829 Chine – Shenzhen Tél. : 86-755-8864-2200 Chine – Suzhou Tél. : 86-186-6233-1526 Chine – Wuhan Tél. : 86-27-5980-5300 Chine – Xian Tél. : 86-29-8833-7252 Chine – Xiamen Tél. : 86-592-2388138 Chine – Zhuhai Tél. : 86-756-3210040 | Inde – Bangalore Tél. : 91-80-3090-4444 Inde – New Delhi Tél. : 91-11-4160-8631 Inde – Pune Tél. : 91-20-4121-0141 Japon – Osaka Tél. : 81-6-6152-7160 Japon – Tokyo Tél : 81-3-6880-3770 Corée – Daegu Tél. : 82-53-744-4301 Corée – Séoul Tél. : 82-2-554-7200 Malaisie – Kuala Lumpur Tél. : 60-3-7651-7906 Malaisie – Penang Tél. : 60-4-227-8870 Philippines – Manille Tél. : 63-2-634-9065 Singapour Tél. : 65-6334-8870 Taïwan – Hsin Chu Tél. : 886-3-577-8366 Taïwan – Kaohsiung Tél. : 886-7-213-7830 Taïwan – Taipei Tél. : 886-2-2508-8600 Thaïlande – Bangkok Tél. : 66-2-694-1351 Vietnam–Ho Chi Minh Tél. : 84-28-5448-2100 | Autriche – Wels Tél. : 43-7242-2244-39 Télécopieur : 43-7242-2244-393 Danemark – Copenhague Tél. : 45-4485-5910 Télécopieur : 45-4485-2829 Finlande – Espoo Tél. : 358-9-4520-820 France – Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Allemagne – Garching Tél. : 49-8931-9700 Allemagne – Haan Tél. : 49-2129-3766400 Allemagne – Heilbronn Tél. : 49-7131-72400 Allemagne – Karlsruhe Tél. : 49-721-625370 Allemagne – Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Allemagne – Rosenheim Tél. : 49-8031-354-560 Israël – Raanana Tél. : 972-9-744-7705 Italie – Milan Tél. : 39-0331-742611 Télécopieur : 39-0331-466781 Italie – Padoue Tél. : 39-049-7625286 Pays-Bas – Drunen Tél. : 31-416-690399 Télécopieur : 31-416-690340 Norvège – Trondheim Tél. : 47-72884388 Pologne – Varsovie Tél. : 48-22-3325737 Roumanie – Bucarest Tel: 40-21-407-87-50 Espagne – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Suède – Göteborg Tel: 46-31-704-60-40 Suède – Stockholm Tél. : 46-8-5090-4654 Royaume-Uni – Wokingham Tél. : 44-118-921-5800 Télécopieur : 44-118-921-5820 |
© 2023 Microchip Technology Inc. et ses filiales
DS50003627A –
Documents / Ressources
![]() | Logiciel de bibliothèque de simulation SoC MICROCHIP Libero [pdf] Guide de l'utilisateur DS50003627A, logiciel de bibliothèque de simulation Libero SoC, logiciel de bibliothèque de simulation SoC, logiciel de bibliothèque de simulation, logiciel de bibliothèque, logiciel |