Simulimi i Libero SoC
Udhëzime për konfigurimin e bibliotekës
Hyrje
Qëllimi i këtij dokumenti është të përshkruajë procedurën për të vendosur mjedisin e simulimit duke përdorur një projekt Libero SoC si hyrje. Ky dokumentacion korrespondon me bibliotekat e para-përpiluara të ofruara për përdorim me Libero SoC v11.9 dhe versionet më të reja të softuerit. Bibliotekat e ofruara janë përpiluar për Verilog. Përdoruesit e VHDL kërkojnë një licencë që lejon simulimin e modalitetit të përzier.
Bibliotekat e përpiluara të simulimit janë të disponueshme për mjetet e mëposhtme:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise dhe Xcelium
- Siemens QuestaSim
- Synopsys VCS
Për të kërkuar një bibliotekë për një simulator tjetër, kontaktoni Mbështetja teknike e mikroçipit.
Libero SoC Integrimi
Libero SoC mbështet simulimin duke përdorur ModelSim ME duke gjeneruar një run.do file. Kjo file përdoret nga ModelSim ME/ModelSim Pro ME për të vendosur dhe ekzekutuar simulimin. Për të përdorur mjete të tjera simulimi, mund të gjeneroni ModelSim ME/ModelSim Pro ME run.do dhe të modifikoni skriptin Tcl file për të përdorur komandat që janë në përputhje me simulatorin tuaj.
1.1 Libero SoC Tcl File Gjenerata (Bëj një pyetje)
Pas krijimit dhe gjenerimit të dizajnit në Libero SoC, filloni një simulim ModelSim ME/ModelSim Pro ME në të gjitha fazat e projektimit (presynth, postsynth dhe post-layout). Ky hap gjeneron run.do file për ModelSim ME/ModelSim Pro ME për çdo fazë të projektimit.
E rëndësishme: Pas fillimit të çdo ekzekutimi të simulimit, riemërtoni run.do të gjeneruar automatikisht file nën drejtorinë e simulimit për të parandaluar Libero SoC që ta mbishkruajë atë file. Për shembullample, files mund të riemërtohet në presynth_run.do, postsynth_run.do dhe postlayout_run.do.
Aldec Setup për Active-HDL dhe Riviera-Pro (Bëj një pyetje)
Vraponi.bëj file i përdorur nga ModelSim ME/ModelSim Pro ME mund të modifikohet dhe përdoret për simulim duke përdorur simulatorët Aldec.
2.1 Variabli i mjedisit (Bëj një pyetje)
Vendosni variablin tuaj të mjedisit në licencën tuaj file vendndodhja:
LM_LICENSE_FILE: duhet të përfshijë një tregues në serverin e licencës.
2.2 Shkarkoni Bibliotekën e Përpiluar (Bëj një pyetje)
Shkarkoni bibliotekat për Aldec Active-HDL dhe Aldec Riviera-PRO nga mikroçipi webfaqe.
2.3 Konvertimi i run.do për simulimin Aldec (Bëj një pyetje)
Vraponi.bëj files të krijuara nga Libero SoC për simulimet duke përdorur mjetin Active-HDL dhe Riviera-Pro mund të përdoren për simulimet duke përdorur Active-HDL dhe Riviera-Pro me një ndryshim të vetëm. Tabela e mëposhtme liston komandat ekuivalente me Aldec për të modifikuar në modelin run.do file.
Tabela 2-1. Komandat ekuivalente Aldec
ModelSim | Aktiv-HDL |
vlog | alog |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Në vijim është siample run.do lidhur me simulatorët Aldec.
- Vendosni vendndodhjen e drejtorisë aktuale të punës.
vendos dsn - Vendosni një emër të bibliotekës funksionale, hartojeni vendndodhjen e saj dhe më pas hartojeni vendndodhjen e familjes Microchip FPGA
bibliotekat e parapërpiluara (për shembullample, SmartFusion2) në të cilën po ekzekutoni dizajnin tuaj.
alib presynth
amap presynth presynth
amap SmartFusion2 - Përpiloni të gjithë HDL-në e nevojshme files përdoret në dizajn me bibliotekën e kërkuar.
alog –punë presynth temp.v (për Verilog)
alog –punë presynth testbench.v
acom –work presynth temp.vhd (për Vhdl)
acom –work presynth testbench.vhd - Simuloni dizajnin.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
vraponi 10 us
2.4 Çështjet e njohura (Bëj një pyetje)
Ky seksion rendit çështjet dhe kufizimet e njohura.
- Bibliotekat e përpiluara duke përdorur Riviera-PRO janë specifike për platformën (dmth. bibliotekat 64-bit nuk mund të ekzekutohen në platformën 32-bit dhe anasjelltas).
- Për modelet që përmbajnë SERDES/MDDR/FDDR, përdorni opsionin e mëposhtëm në run.do files gjatë ekzekutimit të simulimeve pas përpilimit të modeleve të tyre:
– Aktiv-HDL: asim –o2
– Riviera-PRO: asim –O2 (për simulimet presynth dhe post-layout) dhe asim –O5 (për simulimet post-layout)
Konfigurimi i Aldec për Active-HDL dhe Riviera-Pro ka SAR-et e mëposhtme në pritje. Për më shumë informacion, kontaktoni Mbështetja teknike e mikroçipit. - SAR 49908 – Active-HDL: Gabim VHDL për simulimet e bllokut matematikor
- SAR 50627 - Riviera-PRO 2013.02: Gabimet e simulimit për modelet SERDES
- SAR 50461 - Riviera-PRO: opsioni asim -O2/-O5 në simulime
Konfigurimi Cadence Incisive (Bëj një pyetje)
Ju duhet të krijoni një skenar file ngjashëm me ModelSim ME/ModelSim Pro ME run.do për të ekzekutuar
Simulator Cadence Incisive. Ndiqni këto hapa dhe krijoni skript file për NCSim ose përdorni skriptin file
ofrohet për të kthyer modelin ME/ModelSim Pro ME run.do files në konfigurim files
nevojiten për të ekzekutuar simulimet duke përdorur NCSim.
E rëndësishme: Kadenca ka ndaluar lëshimin e versioneve të reja të Ndërmarrjes Incisive
simulator dhe filloi të mbështeste simulatorin Xcelium.
3.1 Variablat e mjedisit (Bëj një pyetje)
Për të ekzekutuar simulatorin Cadence Incisive, konfiguroni variablat e mjedisit të mëposhtëm:
- LM_LICENSE_FILE: duhet të përfshijë një tregues për licencën file.
- cds_root: duhet të tregojë vendndodhjen e drejtorisë kryesore të Instalimit Cadence Incisive.
- PATH: duhet të tregojë vendndodhjen e koshit nën direktorinë e veglave të treguar nga cds_root që është,
$cds_root/tools/bin/64bit (për një makinë 64-bit dhe $cds_root/tools/bin për një makinë 32-bit).
Ekzistojnë tre mënyra për të konfiguruar mjedisin e simulimit në rast të një kalimi midis sistemeve operative 64-bit dhe 32-bit:
Rasti 1: Variabli PATH
Ekzekutoni komandën e mëposhtme:
vendos rrugën = (install_dir/tools/bin/64bit $path) për makinat 64 bit dhe
set path = (install_dir/tools/bin $path) për makinat 32 bit
Rasti 2: Përdorimi i opsionit të linjës së komandës -64 bit
Në vijën e komandës specifikoni opsionin -64 bit në mënyrë që të thirrni ekzekutuesin 64 bit.
Rasti 3: Vendosja e variablës së mjedisit INCA_64BIT ose CDS_AUTO_64BIT
Ndryshorja INCA_64BIT trajtohet si boolean. Ju mund ta vendosni këtë variabël në çdo vlerë ose në një varg null.
setenv INCA_64BIT
E rëndësishme: Ndryshorja e mjedisit INCA_64BIT nuk ndikon në mjetet e tjera Cadence, siç janë veglat IC. Megjithatë, për veglat Incisive, ndryshorja INCA_64BIT e anashkalon cilësimin për ndryshoren e mjedisit CDS_AUTO_64BIT. Nëse është caktuar ndryshorja e mjedisit INCA_64BIT, të gjitha mjetet Incisive funksionojnë në modalitetin 64-bit. setenv CDS_AUTO_64BIT PËRFSHIJ:INCA
E rëndësishme: vargu INCA duhet të jetë me shkronja të mëdha. Të gjithë ekzekutuesit duhet të ekzekutohen ose në modalitetin 32-bit ose në modalitetin 64-bit, mos e vendosni variablin që të përfshijë një ekzekutues, si në vijim:
setenv CDS_AUTO_64BIT PËRFSHIJ:ncelab
Mjete të tjera Cadence, të tilla si mjetet IC, përdorin gjithashtu variablin e mjedisit CDS_AUTO_64BIT për të kontrolluar zgjedhjen e ekzekutuesve 32-bit ose 64-bit. Tabela e mëposhtme tregon se si mund të vendosni ndryshoren CDS_AUTO_64BIT për të ekzekutuar veglat Incisive dhe mjetet IC në të gjitha mënyrat.
Tabela 3-1. Variablat CDS_AUTO_64BIT
Ndryshore CDS_AUTO_64BIT | Incisive Tools | Mjetet IC |
setenv CDS_AUTO_64BIT ALL | 64 bit | 64 bit |
setenv CDS_AUTO_64BIT ASNJË | 32 bit | 32 bit |
setenv CDS_AUTO_64BIT PËRJASHTIM:ic_binary | 64 bit | 32 bit |
setenv CDS_AUTO_64BIT PËRJASHTIM:INCA | 32 bit | 64 bit |
E rëndësishme: Të gjitha mjetet Incisive duhet të ekzekutohen në modalitetin 32-bit ose në modalitetin 64-bit, mos përdorni EXCLUDE për të përjashtuar një ekzekutues specifik, si në vijim: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Nëse vendosni ndryshoren CDS_AUTO_64BIT për të përjashtuar veglat Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), të gjitha mjetet Incisive ekzekutohen në modalitetin 32-bit. Sidoqoftë, opsioni i linjës së komandës -64 bit tejkalon variablin e mjedisit.
Konfigurimi i mëposhtëm fileju ndihmon të menaxhoni të dhënat tuaja dhe të kontrolloni funksionimin e veglave dhe shërbimeve të simulimit:
- Harta e bibliotekës file (cds.lib)-Përcakton një emër logjik për vendndodhjen e dizajnit tuaj.
- Bibliotekat dhe i lidh ato me emrat e drejtorive fizike.
- Variablat file (hdl.var)-Përcakton variabla që ndikojnë në sjelljen e veglave dhe shërbimeve të simulimit.
3.2 Shkarkoni Bibliotekën e Përpiluar (Bëj një pyetje)
Shkarkoni bibliotekat për Cadence Incisive nga Microsemi's webfaqe.
3.3 Krijimi i skriptit NCSim File (Bëj një pyetje)
Pas krijimit të një kopje të run.do files, kryeni këto hapa për të ekzekutuar simulimin tuaj duke përdorur NCSim:
- Krijo një cds.lib file që përcakton bibliotekat që janë të aksesueshme dhe vendndodhjen e tyre. Të file përmban deklarata që hartojnë emrat logjikë të bibliotekës në shtigjet e tyre të direktorisë fizike. Për shembullample, nëse jeni duke ekzekutuar simulimin presynth, cds.lib file është shkruar siç tregohet në kodbllokun e mëposhtëm.
DEFINO presynth ./presynth
PËRCAKTO COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINO smartfusion2 - Krijo një hdl.var file, një konfigurim opsional file që përmban variabla të konfigurimit, që përcakton se si është konfiguruar mjedisi juaj i projektimit. Ndryshorja e mëposhtme files janë të përfshira:
– Variablat që përdoren për të specifikuar bibliotekën e punës ku përpiluesi ruan objektet e përpiluara dhe të dhëna të tjera të derivuara.
– Për Verilog, variablat (LIB_MAP, VIEW_MAP, WORK) që përdoren për të specifikuar bibliotekat dhe views për të kërkuar kur përpunuesi zgjidh instancat.
– Variablat që ju lejojnë të përcaktoni opsionet dhe argumentet e linjës komanduese të përpiluesit, përpunuesit dhe simulatorit.
Në rast të simulimit presintik p.shampLe të treguara më sipër, themi se kemi tre RTL files: av, bv dhe testbench.v, të cilat duhet të kompilohen përkatësisht në bibliotekat presynth, COREAHBLITE_LIB dhe presynth. hdl.var file mund të shkruhet siç tregohet në kodbllokun e mëposhtëm.
DEFINO PUNE presynth
PËRCAKTO PROJECT_DIR files>
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => parasinth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
PËRCAKTO LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
PËRCAKTO LIB_MAP ($LIB_MAP, + => presynth) - Përpiloni dizajnin files duke përdorur opsionin ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Përpunoni dizajnin duke përdorur ncelab. Elaboratori ndërton një hierarki projektimi bazuar në informacionin e instancimit dhe konfigurimit në dizajn, vendos lidhjen e sinjalit dhe llogarit vlerat fillestare për të gjitha objektet në dizajn. Hierarkia e përpunuar e dizajnit ruhet në një fotografi simulimi, e cila është përfaqësimi i dizajnit tuaj që përdor simulatori për të ekzekutuar simulimin.
ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
qasja +rwc –status worklib. :moduli
Përpunimi gjatë simulimit post-layout
Në rast të simulimeve pas paraqitjes, fillimisht SDF file duhet të kompilohet para shtjellimit duke përdorur komandën ncsdfc.
ncsdfcfileemër>.sdf –outputfileemri>.sdf.X
Gjatë përpunimit përdorni daljen e përpiluar SDF me opsionin –autosdf siç tregohet në kodbllokun e mëposhtëm.
ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –akses +rwc –libër pune i statusit. :module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file duhet të jetë siç tregohet në kodbllokun e mëposhtëm.
COMPILED_SDF_FILE = " file>” - Simuloni duke përdorur ncsim. Pas përpunimit krijohet një fotografi e simulimit, e cila ngarkohet nga ncsim për simulim. Mund të ekzekutoni në modalitetin e grupit ose në modalitetin GUI.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
gabimi max 15 – statusi i punës. :moduli
E rëndësishme: Të tre hapat e mësipërm të përpilimit, përpunimit dhe simulimit mund të futen në një skript shell file dhe me burim nga linja e komandës. Në vend të përdorimit të këtyre tre hapave, dizajni mund të simulohet në një hap duke përdorur opsionin ncverilog ose irun siç tregohet në kodbllokun e mëposhtëm.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files përdorur në dizajn>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
përdoret në dizajn>
3.3.1 Çështjet e njohura (Bëj një pyetje)
Zgjidhja e testit
Përdorimi i deklaratës së mëposhtme për specifikimin e frekuencës së orës në panelin e testimit të krijuar nga përdoruesi, ose panelin e paracaktuar të testimit të krijuar nga Libero SoC nuk funksionon me NCSim.
gjithmonë @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ndryshoni si më poshtë për të ekzekutuar simulimin:
gjithmonë #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
E rëndësishme: Përpiluar bibliotekat për NCSim janë specifike për platformën (dmth. bibliotekat 64 bit nuk janë të pajtueshme me platformën 32 bit dhe anasjelltas).
Simulimet postsynth dhe post-layout duke përdorur MSS dhe SERDES Ndërsa ekzekutohen simulimet postsynth të dizajneve që përmbajnë bllokun MSS ose simulimet pas paraqitjes së dizajneve duke përdorur SERDES, simulimet BFM nuk funksionojnë nëse opsioni –libmap është
nuk është specifikuar gjatë përpunimit. Kjo ndodh sepse gjatë përpunimit, MSS zgjidhet nga biblioteka e punës (për shkak të lidhjes së paracaktuar dhe libit të punës që është postsynth/post-layout) ku është thjesht një Funksion Fixed.
Komanda ncelab duhet të shkruhet siç tregohet në bllokun e kodit të mëposhtëm për të zgjidhur MSS
bllok nga biblioteka e parakompiluar SmartFusion2.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
dhe lib.harta file duhet të jetë si më poshtë:
konfigurimi cfg1;
dizajni ;
Lista e parazgjedhur smartfusion2 ;
endconfig
Kjo zgjidh çdo qelizë në bibliotekën SmartFusion2 përpara se të shikojë në bibliotekën e punës, p.sh. postsynth/ post-layout.
Opsioni –libmap mund të përdoret si parazgjedhje gjatë përpunimit për çdo simulim (presynth, postsynth dhe post-layout). Kjo shmang problemet e simulimit që shkaktohen për shkak të zgjidhjes së rasteve nga bibliotekat.
ncelab: *F,INTERR: PËRJASHTIM I BRENDSHËM
Ky përjashtim i mjetit ncelab është një paralajmërim për dizajnet që përmbajnë FDDR në SmartFusion 2 dhe IGLOO 2 gjatë simulimeve postsynth dhe post-layout duke përdorur opsionin –libmap.
E rëndësishme: Ky problem i është raportuar ekipit mbështetës të Cadence (SAR 52113).
3.4 Sample Tcl dhe Shell Script Files (Bëj një pyetje)
Në vijim files janë konfigurimi filenevojiten për konfigurimin e dizajnit dhe skriptit të guaskës file për ekzekutimin e komandave NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
PËRCAKTO COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINO presynth ./presynth
Hdl.var
DEFINO PUNE presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
PËRCAKTO LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB_HPMS/SB_HPMS.v => parasinth )
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB/SB.v => parasinth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
PËRCAKTO LIB_MAP ($LIB_MAP, + => presynth)
Komandat.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
-punë presynth -logfile ncelab.log -errormax 15 -akses +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 Automatizimi (Bëj një pyetje)
Skenari i mëposhtëm file konverton ekzekutimin ModelSim.do files në konfigurim filenevojiten për të ekzekutuar simulimet duke përdorur NCSim.
Script File Përdorimi
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Vendndodhja_e_Cadence_bibliotekave_Parakompiluara
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#Përdorimi: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ##########################################
##################
përdorni POSIX;
përdorni strikte;
im ($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);
nën questa_parser {
$ModelSim_run_do ime = _[0] $;
$actel_family ime = $_[1];
my $lib_location = $_[2];
gjendja ime;
nëse (-e “$ModelSim_run_do”)
{
hapur (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do ime =FILE>;
linjë ime $;
nëse ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
hapur (JASHTËFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$gjendja = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
hapur (JASHTËFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$gjendja = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
hapur (JASHTËFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$gjendja = $1;
} tjetër
{
print “Inputet e gabuara të dhëna në file\n”;
print “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Vendndodhja e bibliotekave\”\n”;
}
për çdo linjë $ (@ModelSim_run_do)
{
#Operimet e Përgjithshme
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#printoFILE "$line \n";
nëse ($line =~ m/vmap\s+.*($actel_family)/)
{
printoniFILE “vmap $actel_family \”$lib_location\”\n”;
} elif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/komponent/..\/..\/komponent/g;
printoniFILE "$line \n";
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
printoniFILE "$line \n";
} tjetër
{
printoniFILE "$line \n";
}
}
mbyll (INFILE);
mbylliFILE);
} tjeter {
print “$ModelSim_run_do nuk ekziston. Rikthe përsëri simulimin \n”;
}
}
Konfigurimi i Cadence Xcelium (Hyrja në mikroçip)
Ju duhet të krijoni një skenar file ngjashëm me modelin ME/ModelSim Pro ME run.do për të ekzekutuar simulatorin Cadence Xcelium. Ndiqni këto hapa dhe krijoni skript file për Xcelium ose përdorni skriptin file ofrohet për të kthyer modelin ME/ModelSim Pro ME run.do files në konfigurim filenevojiten për të ekzekutuar simulimet duke përdorur Xcelium.
4.1 Variablat e mjedisit (Bëj një pyetje)
Për të ekzekutuar Cadence Xcelium, konfiguroni variablat e mjedisit të mëposhtëm:
- LM_LICENSE_FILE: duhet të përfshijë një tregues për licencën file.
- cds_root: duhet të tregojë vendndodhjen e drejtorisë kryesore të Cadence Incisive Installation.
- PATH: duhet të tregojë vendndodhjen e koshit nën drejtorinë e veglave të treguar nga cds_root (d.m.th
$cds_root/tools/bin/64bit (për një makinë 64 bit dhe $cds_root/tools/bin për një 32 bit
makinë).
Ekzistojnë tre mënyra për të konfiguruar mjedisin e simulimit në rast të një kalimi midis sistemeve operative 64-bit dhe 32-bit:
Rasti 1: Variabli PATH
vendos rrugën = (install_dir/tools/bin/64bit $path) për makinat 64 bit dhe
set path = (install_dir/tools/bin $path) për makinat 32 bit
Rasti 2: Përdorimi i opsionit të linjës së komandës -64 bit
Në vijën e komandës specifikoni opsionin -64 bit në mënyrë që të thirrni ekzekutuesin 64-bit.
Rasti 3: Vendosja e variablës së mjedisit INCA_64BIT ose CDS_AUTO_64BIT
Ndryshorja INCA_64BIT trajtohet si boolean. Ju mund ta vendosni këtë variabël në çdo vlerë ose në null
varg.
setenv INCA_64BIT
E rëndësishme: Ndryshorja e mjedisit INCA_64BIT nuk ndikon në mjetet e tjera Cadence, siç janë veglat IC. Megjithatë, për veglat Incisive, ndryshorja INCA_64BIT e anashkalon cilësimin për ndryshoren e mjedisit CDS_AUTO_64BIT. Nëse ndryshorja e mjedisit INCA_64BIT është et, të gjitha mjetet Incisive funksionojnë në modalitetin 64-bit.
setenv CDS_AUTO_64BIT PËRFSHIJ:INCA
E rëndësishme: vargu INCA duhet të jetë me shkronja të mëdha. Të gjithë ekzekutuesit duhet të ekzekutohen ose në modalitetin 2-bit ose në modalitetin 64-bit, mos e vendosni variablin që të përfshijë një ekzekutues, si në vijim:
setenv CDS_AUTO_64BIT PËRFSHIJ:ncelab
Mjete të tjera Cadence, të tilla si mjetet IC, përdorin gjithashtu variablin e mjedisit CDS_AUTO_64BIT për të kontrolluar zgjedhjen e ekzekutuesve 32-bit ose 64-bit. Tabela e mëposhtme tregon se si mund të vendosni ndryshoren CDS_AUTO_64BIT për të ekzekutuar veglat Incisive dhe mjetet IC në të gjitha mënyrat.
Tabela 4-1. Variablat CDS_AUTO_64BIT
Ndryshore CDS_AUTO_64BIT | Incisive Tools | Mjetet IC |
setenv CDS_AUTO_64BIT ALL | 64-bit | 64-bit |
setenv CDS_AUTO_64BIT ASNJË | 32-bit | 32-bit |
setenv CDS_AUTO_64BIT PËRJASHTIM:ic_binary |
64-bit | 32-bit |
setenv CDS_AUTO_64BIT PËRJASHTIM:INCA | 32-bit | 64-bit |
E rëndësishme: Të gjitha mjetet Incisive duhet të ekzekutohen në modalitetin 32-bit ose në modalitetin 64-bit, mos përdorni EXCLUDE për të përjashtuar një ekzekutues specifik, si në vijim:
setenv CDS_AUTO_64BIT PËRJASHTIM:ncelab
Nëse vendosni ndryshoren CDS_AUTO_64BIT për të përjashtuar veglat Incisive (setenv
CDS_AUTO_64BIT PËRJASHTIM:INCA), të gjitha mjetet Incisive ekzekutohen në modalitetin 32-bit. Megjithatë, të
Opsioni -64 bit i linjës së komandës anulon variablin e mjedisit.
Konfigurimi i mëposhtëm fileju ndihmon të menaxhoni të dhënat tuaja dhe të kontrolloni funksionimin e veglave dhe shërbimeve të simulimit:
- Harta e bibliotekës file (cds.lib) përcakton një emër logjik për vendndodhjen e dizajnit tuaj.
- Bibliotekat dhe i lidh ato me emrat e drejtorive fizike.
- Variablat file (hdl.var) përcakton variabla që ndikojnë në sjelljen e veglave dhe shërbimeve simuluese.
4.2 Shkarkoni Bibliotekën e Përpiluar (Bëj një pyetje)
Shkarkoni bibliotekat për Cadence Xcelium nga Microsemi's webfaqe.
4.3 Krijimi i skriptit Xcelium file (Bëj një pyetje)
Pas krijimit të një kopje të run.do files, kryeni hapat e mëposhtëm për të ekzekutuar simulimin tuaj duke përdorur skriptin Xcelium file.
- Krijo një cds.lib file që përcakton se cilat biblioteka janë të aksesueshme dhe ku ndodhen ato.
Të file përmban deklarata që hartojnë emrat logjikë të bibliotekës në shtigjet e tyre të direktorisë fizike. Për shembullample, nëse jeni duke ekzekutuar simulimin presynth, cds.lib file mund të shkruhet siç tregohet në kodbllokun e mëposhtëm.
DEFINO presynth ./presynth
PËRCAKTO COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINO smartfusion2 - Krijo një hdl.var file i cili është një konfigurim opsional file që përmban variabla të konfigurimit, që përcakton se si është konfiguruar mjedisi juaj i projektimit. Kjo perfshin:
– Variablat që përdoren për të specifikuar bibliotekën e punës ku përpiluesi ruan objektet e përpiluara dhe të dhëna të tjera të derivuara.
– Për Verilog, variablat (LIB_MAP, VIEW_MAP, WORK) që përdoren për të specifikuar bibliotekat dhe views për të kërkuar kur përpunuesi zgjidh instancat.
– Variablat që ju lejojnë të përcaktoni opsionet dhe argumentet e linjës komanduese të përpiluesit, përpunuesit dhe simulatorit.
Në rast të simulimit presintik p.shampLe të treguara më sipër, themi se kemi 3 RTL files av, bv dhe testbench.v, të cilat duhet të përpilohen përkatësisht në bibliotekat presynth, COREAHBLITE_LIB dhe presynth. hdl.var file mund të shkruhet siç tregohet në kodbllokun e mëposhtëm.
DEFINO PUNE presynth
PËRCAKTO PROJECT_DIR files>
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => parasinth)
DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
PËRCAKTO LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
PËRCAKTO LIB_MAP ($LIB_MAP, + => presynth) - Përpiloni dizajnin files duke përdorur opsionin ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - Përpunoni dizajnin duke përdorur ncelab. Elaboratori ndërton një hierarki projektimi bazuar në informacionin e instancimit dhe konfigurimit në dizajn, vendos lidhjen e sinjalit dhe llogarit vlerat fillestare për të gjitha objektet në dizajn. Hierarkia e përpunuar e dizajnit ruhet në një fotografi simulimi, e cila është përfaqësimi i dizajnit tuaj që përdor simulatori për të ekzekutuar simulimin.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
qasja +rwc –status worklib. :moduli
Përpunimi gjatë simulimit post-layout
Në rast të simulimeve pas paraqitjes, fillimisht SDF file duhet të kompilohet para shtjellimit duke përdorur komandën ncsdfc.
Xceliumfileemër>.sdf –outputfileemri>.sdf.X
Gjatë përpunimit përdorni daljen e përpiluar SDF me opsionin –autosdf siç tregohet në kodbllokun e mëposhtëm.
xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –akses +rwc –libër pune i statusit. :module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file duhet të jetë siç tregohet në kodbllokun e mëposhtëm.
COMPILED_SDF_FILE = " file>” - Simuloni duke përdorur Xcelium. Pas përpunimit krijohet një fotografi simuluese e cila ngarkohet nga Xcelium për simulim. Kjo mund të ekzekutohet në modalitetin e grupit ose në modalitetin GUI.
xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
gabimi max 15 – statusi i punës. :moduli
Konfigurimi i Cadence Xcelium
E rëndësishme: Të gjitha tre hapat e mësipërm të përpilimit, përpunimit dhe simulimit mund të futen në një skript shell file dhe me burim nga linja e komandës. Në vend të përdorimit të këtyre tre hapave, dizajni mund të simulohet në një hap duke përdorur opsionin ncverilog ose xrun siç tregohet në bllokun e kodit të mëposhtëm.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files përdorur në dizajn>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
përdoret në dizajn>
4.3.1 Çështjet e njohura (Bëj një pyetje)
Zgjidhja e testit
Përdorimi i deklaratës së mëposhtme për specifikimin e frekuencës së orës në panelin e testimit të krijuar nga përdoruesi ose panelin e paracaktuar të testimit të krijuar nga Libero SoC nuk funksionon me Xcelium.
gjithmonë @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ndryshoni si më poshtë për të ekzekutuar simulimin:
gjithmonë #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
E rëndësishme: Bibliotekat e përpiluara për Xcelium janë specifike për platformën (dmth. bibliotekat 64 bit nuk janë të pajtueshme me platformën 32 bit dhe anasjelltas).
Simulimet postsynth dhe post-layout duke përdorur MSS dhe SERDES
Gjatë ekzekutimit të simulimeve postsynth të dizajneve që përmbajnë bllok MSS, ose simulimeve pas paraqitjes së dizajneve duke përdorur SERDES, simulimet BFM nuk funksionojnë nëse opsioni –libmap nuk është specifikuar gjatë përpunimit. Kjo ndodh sepse gjatë përpunimit, MSS zgjidhet nga biblioteka e punës (për shkak të lidhjes së paracaktuar dhe libit të punës që është postsynth/post-layout) ku është thjesht një Funksion Fixed.
Komanda ncelab duhet të shkruhet siç tregohet në bllokun e kodit të mëposhtëm për të zgjidhur bllokun MSS nga biblioteka e parakompiluar SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
dhe lib.harta file duhet të jetë si më poshtë:
konfigurimi cfg1;
dizajni ;
Lista e parazgjedhur smartfusion2 ;
endconfig
Kjo duhet të zgjidhë çdo qelizë në bibliotekën SmartFusion2 përpara se të shikoni në bibliotekën e punës, p.sh. postsynth/post-layout.
Opsioni –libmap mund të përdoret si parazgjedhje gjatë përpunimit për çdo simulim (presynth, postsynth dhe post-layout). Kjo shmang problemet e simulimit që shkaktohen për shkak të zgjidhjes së rasteve nga bibliotekat.
xmelab: *F,INTERR: PËRJASHTIM I BRENDSHËM
Ky përjashtim i mjetit ncelab është një paralajmërim për modelet që përmbajnë FDDR në SmartFusion2 dhe IGLOO2
gjatë simulimeve postsynth dhe post-layout duke përdorur opsionin –libmap.
E rëndësishme: Ky problem i është raportuar ekipit mbështetës të Cadence (SAR 52113).
4.4 Sample Tcl dhe shell script files (Bëj një pyetje)
Në vijim files janë konfigurimi filenevojiten për konfigurimin e dizajnit dhe skriptit të guaskës file për ekzekutimin e komandave Xcelium.
Cds.lib
DEFINE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
PËRCAKTO COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINO presynth ./presynth
Hdl.var
DEFINO PUNE presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
PËRCAKTO LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB_HPMS/SB_HPMS.v => parasinth )
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB/SB.v => parasinth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/punë/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
PËRCAKTO LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
PËRCAKTO LIB_MAP ($LIB_MAP, + => presynth)
Komandat.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
-punë presynth -logfile ncelab.log -errormax 15 -akses +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 Automatizimi (Hyrja në mikroçip)
Skenari i mëposhtëm file konverton ModelSim run.do files në konfigurim filenevojiten për të ekzekutuar simulimet duke përdorur Xcelium.
Script File Përdorimi
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Vendndodhja_e_Cadence_bibliotekave_Parakompiluara
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#Përdorimi: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ##########################################
##################
përdorni POSIX;
përdorni strikte;
im ($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);
nën questa_parser {
$ModelSim_run_do ime = _[0] $;
$actel_family ime = $_[1];
my $lib_location = $_[2];
gjendja ime;
nëse (-e “$ModelSim_run_do”)
{
hapur (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do ime =FILE>;
linjë ime $;
nëse ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
hapur (JASHTËFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$gjendja = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
hapur (JASHTËFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$gjendja = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
hapur (JASHTËFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$gjendja = $1;
} tjetër
{
print “Inputet e gabuara të dhëna në file\n”;
print “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Vendndodhja e bibliotekave\”\n”;
}
për çdo linjë $ (@ModelSim_run_do)
{
#Operimet e Përgjithshme
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#printoFILE "$line \n";
nëse ($line =~ m/vmap\s+.*($actel_family)/)
{
printoniFILE “vmap $actel_family \”$lib_location\”\n”;
} elif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/komponent/..\/..\/komponent/g;
printoniFILE "$line \n";
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
printoniFILE "$line \n";
} tjetër
{
printoniFILE "$line \n";
}
}
mbyll (INFILE);
mbylliFILE);
} tjeter {
print “$ModelSim_run_do nuk ekziston. Rikthe përsëri simulimin \n”;
}
}
Siemens QuestaSim Setup/ModelSim Setup (Bëj një pyetje)
Vraponi.bëj files, i krijuar nga Libero SoC për simulimet duke përdorur versionet ModelSim Microsemi, mund të përdoret për simulimet duke përdorur QuestaSim/ModelSim SE/DE/PE me një ndryshim të vetëm. Në modelin ME/ModelSim Pro ME ekzekutoni.do file, vendndodhja e bibliotekave të parapërpiluara duhet të modifikohet.
E rëndësishme:
Si parazgjedhje, mjeti i simulimit përveç ModelSim Pro ME kryen optimizimin e dizajnit gjatë simulimit që mund të ndikojë në dukshmërinë e objekteve të simulimit si objektet e projektimit dhe stimuli hyrës.
Kjo zakonisht është e dobishme në reduktimin e kohës së funksionimit të simulimeve për simulimet komplekse, duke përdorur tavolina testimi të hollësishme dhe vetëkontrolluese. Megjithatë, optimizimet e paracaktuar mund të mos jenë të përshtatshme për të gjitha simulimet, veçanërisht në rastet kur prisni të inspektoni grafikisht rezultatet e simulimit duke përdorur dritaren e valës.
Për të adresuar problemet e shkaktuara nga ky optimizim, duhet të shtoni komandat e duhura dhe argumentet përkatëse gjatë simulimit për të rivendosur dukshmërinë në dizajn. Për komandat specifike të veglave, shihni dokumentacionin e simulatorit në përdorim.
5.1 Variablat e mjedisit (Bëj një pyetje)
Më poshtë janë variablat e kërkuar të mjedisit.
- LM_LICENSE_FILE: duhet të përfshijë rrugën drejt licencës file.
- MODEL_TECH: duhet të identifikojë shtegun për në vendndodhjen e direktorisë kryesore të instalimit të QuestaSim.
- PATH: duhet të tregojë në vendndodhjen e ekzekutueshme të treguar nga MODEL_TECH.
5.2 Konvertimi i run.do për Mentor QuestaSim (Bëj një pyetje)
Vraponi.bëj files të krijuara nga Libero SoC për simulimet duke përdorur ModelSim Microsemi Editions mund të përdoren për simulime duke përdorur QuestaSim/ModelSim_SE me një ndryshim të vetëm.
E rëndësishme: Të gjitha dizajnet që janë simuluar duke përdorur QuestaSim duhet të përfshijnë -novopt
opsioni së bashku me komandën vsim në skriptin run.do files.
5.3 Shkarkoni Bibliotekën e Përpiluar (Bëj një pyetje)
Shkarkoni bibliotekat për Mentor Graphics QuestaSim nga Microsemi's webfaqe.
Konfigurimi i Synopsys VCS (Bëj një pyetje)
Rrjedha e rekomanduar nga Microsemi mbështetet në rrjedhën Elaborate and Compile në VCS. Ky dokument përfshin një skenar file që përdor skriptin run.do files gjenerohet nga Libero SoC dhe gjeneron konfigurimin filenevojiten për simulimin e VCS. Skenari file përdor vrapimin.bëj file për të bërë sa vijon.
- Krijoni një hartë të bibliotekës file, e cila bëhet duke përdorur synopsys_sim.setup file ndodhet në të njëjtin direktorium ku po ekzekutohet simulimi VCS.
- Krijo një skrip shell file për të elaboruar dhe përpiluar dizajnin tuaj duke përdorur VCS.
6.1 Variablat e mjedisit (Bëj një pyetje)
Vendosni variablat e duhura të mjedisit për VCS bazuar në konfigurimin tuaj. Variablat e mjedisit të nevojshëm sipas dokumentacionit të VCS janë:
- LM_LICENSE_FILE: duhet të përfshijë një tregues në serverin e licencës.
- VCS_HOME: duhet të tregojë vendndodhjen e drejtorisë kryesore të instalimit të VCS.
- PATH: duhet të përfshijë një tregues në drejtorinë e koshit poshtë drejtorisë VCS_HOME.
6.2 Shkarkoni Bibliotekën e Përpiluar (Bëj një pyetje)
Shkarkoni bibliotekat për Synopsys VCS nga Microsemi's webfaqe.
6.3 Skript simulues VCS File (Bëj një pyetje)
Pas konfigurimit të VCS dhe gjenerimit të dizajnit dhe ekzekutimit të ndryshëm.do files nga Libero SoC, duhet:
- Krijo hartën e bibliotekës file synopsys_sim.setup; kjo file përmban tregues për vendndodhjen e të gjitha bibliotekave që do të përdoren nga dizajni.
E rëndësishme: file emri nuk duhet të ndryshojë dhe duhet të jetë i vendosur në të njëjtin direktorium ku po ekzekutohet simulimi. Këtu është një ishample për një të tillë file për simulimin e parasintezës.
PUNA > EFAULT
SmartFusion2:
presynth : ./presynth
PARALAKTUAR : ./punë - Përpunoni dizajnin e ndryshëm files, duke përfshirë testbench, duke përdorur komandën vlogan në VCS. Këto komanda mund të përfshihen në një skript shell file. Në vijim është një ishampnga komandat që nevojiten për të përpunuar një dizajn të përcaktuar në rtl.v me panelin e tij të testimit të përcaktuar në
panel testimi.v.
vlogan +v2k -punë presynth rtl.v
vlogan +v2k -punë presynth testbench.v - Përpiloni dizajnin duke përdorur VCS duke përdorur komandën e mëposhtme.
vcs –sim_res=1fs presynth.testbench
Shënim: "The Rezolucioni i kohës së simulimit duhet të vendoset në 1fs për simulimin e saktë funksional. - Pasi të përpilohet dizajni, filloni simulimin duke përdorur komandën e mëposhtme.
./simv - Për simulimin me shënime prapa, komanda VCS duhet të jetë siç tregohet në bllokun e kodit të mëposhtëm.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
emri>: file rrugë> –gui –l postlayout.log
6.4 Kufizimet/Përjashtimet (Bëj një pyetje)
Më poshtë janë kufizimet/përjashtimet e konfigurimit të Synopsys VCS.
- Simulimet VCS mund të ekzekutohen vetëm për projektet Verilog të Libero SoC. Simulatori VCS ka kërkesa strikte të gjuhës VHDL që nuk plotësohen nga VHDL-ja e gjeneruar automatikisht nga Libero SoC files.
- Ju duhet të keni një deklaratë $finish në testbench Verilog për të ndaluar simulimin sa herë që dëshironi.
E rëndësishme: Kur simulimet ekzekutohen në modalitetin GUI, koha e ekzekutimit mund të specifikohet në GUI.
6.5 Sample Tcl dhe Shell Script Files (Bëj një pyetje)
Perl i mëposhtëm automatizon gjenerimin e synopsys_sim.setup file si dhe skriptin e shell-it përkatës filenevojiten për të përpunuar, përpiluar dhe simuluar dizajnin.
Nëse dizajni përdor një MSS, kopjoni testin.vec file ndodhet në dosjen e simulimit të projektit Libero SoC në dosjen e simulimit VCS. Seksionet e mëposhtme përmbajnë sample vrapoj.bëj files të krijuara nga Libero SoC, duke përfshirë hartën përkatëse të bibliotekës dhe skriptin e guaskës filenevojiten për simulimin e VCS.
6.5.1 Para-sinteza (Bëj një pyetje)
Presynth_run.bëj
vendos në heshtje ACTELLIBNAME SmartFusion2
vendos në heshtje PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
nëse {[file ekziston presynth/_info]} {
jehonë "INFO: Presinti i bibliotekës së simulimit ekziston tashmë"
} tjeter {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -punë presynth "${PROJECT_DIR}/component/work/SD1/SD1.v"
vlog “+incdir+${PROJECT_DIR}/stimulus” -presinth i punës “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
shtoni valën /SD1_TB1/*
shtoni log -r /*
vraponi 1000 ns
presynth_main.csh
#!/bin/csh -f
vendos 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/
work/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -punë
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 drejtuar.log
Synopsys_sim.setup
PUNA > PARALAKTUAR
SmartFusion2: /VCS/SmartFusion2
presynth : ./presynth
PARALAKTUAR : ./punë
6.5.2 Pas-sinteza (Bëj një pyetje)
postsynth_run.bëj
vendos në heshtje ACTELLIBNAME SmartFusion2
vendos në heshtje PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
nëse {[file ekziston postsynth/_info]} {
jehonë "INFO: Postsynth i bibliotekës së simulimit ekziston tashmë"
} tjeter {
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” -punë postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
shtoni valën /SD1_TB1/*
shtoni log -r /*
vraponi 1000 ns
log SD1_TB1/*
dalje
Postsynth_main.csh
#!/bin/csh -f
vendos 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” -punë
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 drejtuar.log
Synopsys_sim.setup
PUNA > PARALAKTUAR
SmartFusion2: /VCS/SmartFusion2
postsynth : ./postsynth
PARALAKTUAR : ./punë
6.5.3 Pas paraqitjes (Bëj një pyetje)
postlayout_run.bëj
vendos në heshtje ACTELLIBNAME SmartFusion2
vendos në heshtje PROJECT_DIR "E:/ModelSim_Work/Test_DFF"
nëse {[file ekziston ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: Biblioteka e simulimit ../designer/SD1/simulation/postlayout ekziston tashmë"
} tjeter {
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 -punë postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog "+incdir+${PROJECT_DIR}/stimulus" -puna 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
shtoni valën /SD1_TB1/*
shtoni log -r /*
vraponi 1000 ns
Postlayout_main.csh
#!/bin/csh -f
vendos 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” -punë
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 drejtuar.log
Synopsys_sim.setup
PUNA > PARALAKTUAR
SmartFusion2: /VCS/SmartFusion2
postlayout : ./postlayout
PARALAKTUAR: ./workVCS
6.6 Automatizimi (Bëj një pyetje)
Rrjedha mund të automatizohet duke përdorur skriptin e mëposhtëm Perl file për të kthyer modelin run.do files në skriptin e guaskës së pajtueshme me VCS files, krijoni drejtoritë e duhura brenda drejtorisë së simulimit Libero SoC dhe më pas ekzekutoni simulimet.
Ekzekutoni skriptin file duke përdorur sintaksën e mëposhtme.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
############################################### ############################
#
#Përdorimi: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
############################################### ############################
im ($presynth, $postsynth, $postlayout) = @ARGV;
if(system("mkdir VCS_Presynth")) {print "mkdir dështoi:\n";}
if(system("mkdir VCS_Postsynth")) {print "mkdir dështoi:\n";}
if(system("mkdir VCS_Postlayout")) {print "mkdir dështoi:\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 (../”);
nën analizë_bëj {
my $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
%LIB im = ();
$ e miafile = _[0] $;
$gjendja ime = $_[1];
hapur (INFILE"$file”) || die “Nuk mund të hapet File Arsyeja mund të jetë:$!”;
nëse ($state eq "presynth")
{
open(OUT1,”>presynth_main.csh”) || die “Nuk mund të krijoj komandë File Arsyeja mund të jetë:$!”;
}
elsif ($state eq "postsynth")
{
open(OUT1,”>postsynth_main.csh”) || die “Nuk mund të krijoj komandë File Arsyeja mund të jetë:$!”;
}
elsif ($state eq "postlayout")
{
open(OUT1,”>postlayout_main.csh”) || die “Nuk mund të krijoj komandë File Arsyeja mund të jetë:$!”;
}
tjetër
{
print “Mungon gjendja e simulimit \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || die “Nuk mund të krijoj komandë File Arsyeja mund të jetë:$!”;
# .csh file
printoni OUT1 “#!/bin/csh -f\n\n\n” ;
#VENDOSJE FILE
printoni2 “PUNË > PARAKTORËT\n” ;
printoni OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n”;
ndërsa ($linja =FILE>)
{
Konfigurimi i Synopsys VCS
nëse ($line =~ m/vendos në heshtje PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 “vendos PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
nëse ($line =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp ($linja);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
printoni OUT1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp ($tb);
#print “Emri TB : $tb \n”;
nëse ($line =~ m/sdf(.*)\.sdf/)
{
chomp ($linja);
$line = $1 ;
#print “LINE : $line \n” ;
nëse ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ 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 ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ 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 ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ 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 — Formati SDF ModelSim
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
Formati SDF
}
}
}
shtypur
OUT1 "\n\n"
;
if
( $state eq "presynth"
)
{
shtypur
OUT2 “presynth
: ./presynth\n”
;
shtypur
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n"
;
}
elif
( $state eq "postsynth"
)
{
shtypur
OUT2 “postsynth
: ./postsynth\n”
;
shtypur
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n"
;
}
elif
( $state eq "postlayout"
)
{
print OUT2 “postlayout : ./postlayout\n” ;
}
tjetër
{
print “Mungon gjendja e simulimit \n” ;
}
foreach $i (çelësat %LIB)
{
#print “Çelësi : $i Vlera : $LIB{$i} \n” ;
print OUT2 “$i : ./$i\n” ;
}
printoni OUT1 “\n\n” ;
printoni OUT1 “./simv -l run.log\n” ;
printoni 2 “DEFAULT : ./punë\n” ;
mbyll INFILE;
mbyll OUT1;
mbyll OUT2;
}
Historia e kaluar (Hyrja në mikroçip
Historia e rishikimit përshkruan ndryshimet që janë zbatuar në dokument. Ndryshimet
janë renditur me rishikim, duke filluar me publikimin më aktual.
Rishikim | Data | Përshkrimi |
A | 12/2023 | Ndryshimet e mëposhtme janë bërë në këtë rishikim: • Dokumenti i konvertuar në modelin Microchip. Rishikimi fillestar. • Seksioni 5 i përditësuar. Siemens QuestaSim Setup/ModelSim Setup për të përfshirë një shënim të ri që shpjegon ndikimin në dukshmëri gjatë simulimit dhe optimizimit. |
Mbështetje për mikroçip FPGA
Grupi i produkteve Microchip FPGA mbështet produktet e tij me shërbime të ndryshme mbështetëse, duke përfshirë Shërbimin ndaj Klientit, Qendrën e Mbështetjes Teknike të Klientit, një websiti dhe zyrat e shitjeve në mbarë botën.
Klientëve u sugjerohet të vizitojnë burimet në internet të Microchip përpara se të kontaktojnë mbështetjen pasi ka shumë të ngjarë që pyetjeve të tyre të jenë përgjigjur tashmë.
Kontaktoni Qendrën e Mbështetjes Teknike përmes webfaqe në www.microchip.com/support. Përmendni numrin e pjesës së pajisjes FPGA, zgjidhni kategorinë e duhur të rastit dhe ngarkoni modelin files gjatë krijimit të një rasti të mbështetjes teknike.
Kontaktoni Shërbimin e Klientit për mbështetjen jo-teknike të produktit, të tilla si çmimi i produktit, përmirësimet e produktit, informacioni i përditësimit, statusi i porosisë dhe autorizimi.
- Nga Amerika e Veriut, telefononi 800.262.1060
- Nga pjesa tjetër e botës, telefononi 650.318.4460
- Faks, nga kudo në botë, 650.318.8044
Informacioni i mikroçipit
Mikroçipi Webfaqe
Microchip ofron mbështetje në internet nëpërmjet tonë webfaqe në www.microchip.com/. Kjo webfaqe përdoret për të bërë files dhe informacione lehtësisht të disponueshme për klientët. Disa nga përmbajtjet e disponueshme përfshijnë:
- Mbështetja e produktit – Fletët e të dhënave dhe gabimet, shënimet e aplikacionit dhe sampprogramet, burimet e dizajnit, udhëzuesit e përdoruesit dhe dokumentet mbështetëse të harduerit, versionet më të fundit të softuerit dhe softueri i arkivuar
- Mbështetja e Përgjithshme Teknike – Pyetjet e bëra më shpesh (FAQ), kërkesat për mbështetje teknike, grupet e diskutimit në internet, listimi i anëtarëve të programit të partnerit të projektimit të mikroçipit
- Biznesi i Microchip - Zgjedhës të produktit dhe udhëzues për porositje, njoftimet më të fundit për shtyp të Microchip, listim seminaresh dhe ngjarjesh, listime të zyrave të shitjes së Microchip, shpërndarësve dhe përfaqësuesve të fabrikës
Shërbimi i njoftimit për ndryshimin e produktit
Shërbimi i njoftimit për ndryshimin e produktit të Microchip ndihmon për t'i mbajtur klientët aktualë në produktet Microchip. Abonentët do të marrin njoftim me email sa herë që ka ndryshime, përditësime, rishikime ose gabime në lidhje me një familje të caktuar produkti ose mjet zhvillimi me interes.
Për t'u regjistruar, shkoni te www.microchip.com/pcn dhe ndiqni udhëzimet e regjistrimit.
Mbështetja e klientit
Përdoruesit e produkteve Microchip mund të marrin ndihmë përmes disa kanaleve:
- Distributor ose Përfaqësues
- Zyra Lokale e Shitjeve
- Inxhinier i zgjidhjeve të integruara (ESE)
- Mbështetje Teknike
Konsumatorët duhet të kontaktojnë shpërndarësin, përfaqësuesin ose ESE-në e tyre për mbështetje. Zyrat lokale të shitjeve janë gjithashtu në dispozicion për të ndihmuar klientët. Një listë e zyrave të shitjeve dhe vendndodhjeve është përfshirë në këtë dokument.
Mbështetja teknike është në dispozicion përmes webfaqe në: www.microchip.com/support
Veçori e mbrojtjes së kodit të pajisjeve me mikroçip
Vini re detajet e mëposhtme të veçorisë së mbrojtjes së kodit në produktet Microchip:
- Produktet me mikroçip plotësojnë specifikimet e përfshira në fletën e tyre të të dhënave të mikroçipit.
- Microchip beson se familja e tij e produkteve është e sigurt kur përdoret në mënyrën e synuar, brenda specifikimeve të funksionimit dhe në kushte normale.
- Mikroçipi vlerëson dhe mbron në mënyrë agresive të drejtat e tij të pronësisë intelektuale. Përpjekjet për të shkelur veçoritë e mbrojtjes së kodit të produktit Microchip janë rreptësisht të ndaluara dhe mund të shkelin Aktin e të Drejtave të Autorit të Mijëvjeçarit Dixhital.
- As Microchip dhe as ndonjë prodhues tjetër gjysmëpërçues nuk mund të garantojë sigurinë e kodit të tij. Mbrojtja e kodit nuk do të thotë që ne garantojmë se produkti është "i pathyeshëm".
Mbrojtja e kodit po zhvillohet vazhdimisht. Microchip është i përkushtuar për të përmirësuar vazhdimisht veçoritë e mbrojtjes së kodit të produkteve tona.
Njoftim Ligjor
Ky publikim dhe informacioni këtu mund të përdoren vetëm me produktet e Microchip, duke përfshirë projektimin, testimin dhe integrimin e produkteve të Microchip me aplikacionin tuaj. Përdorimi i këtij informacioni në çdo mënyrë tjetër shkel këto kushte. Informacioni në lidhje me aplikacionet e pajisjes ofrohet vetëm për lehtësinë tuaj dhe mund të zëvendësohet nga përditësimet. Është përgjegjësia juaj të siguroheni që aplikacioni juaj të plotësojë specifikimet tuaja. Kontaktoni zyrën tuaj lokale të shitjeve të Microchip për mbështetje shtesë ose merrni mbështetje shtesë në www.microchip.com/en-us/support/design-help/client-support-services.
KY INFORMACION SIGUROHET NGA MIKROCHIP "AS IS". MICROCHIP NUK BËN ASNJË PËRFAQËSIM OSE GARANCI TË ASNJË LLOJI, TË SHPREHUR APO TË nënkuptuara, SHKRUARA APO GOJAL, STATUTOR APO TË NDRYSHME, LIDHUR ME INFORMACIONIN QË PËRFSHIRË POR JO TË KUFIZUARA TË KUFIZUARA MOS SHKELJA, TREGTUESHMËRIA DHE PËRSHTATSHMËRIA PËR NJË QËLLIM TË VEÇANTË, OSE GARANCI LIDHUR ME GJENDJEN, CILËSINË APO PERFORMANCËN E SAJ.
NË ASNJË RAST MIKROCHIP DO TË JETË PËRGJEGJËS PËR ASNJË HUMBJE, DËM, KOST OSE SHPENZIM TË INDIREKT, TË VEÇANTË, NËNDËKUESHËM, INCIDENTALE OSE PAJISJELE, TË ÇFARË TË LLOJIT TË LIDHUR ME SHBBËN, NË, EDHE NËSE MIKROCHIP ËSHTË KËSHILLUAR PËR MUNDËSITË OSE DËMET JANE TË PARASHIKUESHME. NË PLOTËSITËN E LEJUAR NGA LIGJI, PËRGJEGJËSIA TOTALE E MIKROÇIPIT PËR TË GJITHA KËRKESAT NË ASDO MËNYRË LIDHUR ME INFORMACIONIN OSE PËRDORIMIN E TIJ NUK DO TË KAJTËROJË SHUMËN E TARIFAVE, NËSE KA NDONJË, TË NJOFTIM TË GJITHA PAMA INFORMACION.
Përdorimi i pajisjeve me mikroçip në aplikacionet e mbështetjes së jetës dhe/ose të sigurisë është tërësisht në rrezik të blerësit dhe blerësi pranon të mbrojë, dëmshpërblejë dhe mbajë Mikroçipin e padëmshëm nga çdo dhe të gjitha dëmet, pretendimet, paditë ose shpenzimet që rrjedhin nga një përdorim i tillë. Asnjë licencë nuk transmetohet, në mënyrë të nënkuptuar ose ndryshe, sipas asnjë të drejte të pronësisë intelektuale të Microchip, përveç nëse përcaktohet ndryshe.
Markat tregtare
Emri dhe logoja e Microchip, logoja e Microchip, Adaptec, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, Linktys, maXe MediaLB, megaAVR, Microsemi, logoja Microsemi, logoja MOST, MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logoja PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST, Logoym SuperF, , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron dhe XMEGA janë marka tregtare të regjistruara të Microchip Technology Incorporated në SHBA dhe vende të tjera.
AgileSwitch, APT, ClockWorks, Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logoja ProASIC Plus, Quiet-Fusion Wire, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime dhe ZL janë marka tregtare të regjistruara të Microchip Technology Incorporated në SHBA
Mbyllja e çelësave ngjitur, AKS, Analog-për-Mosha Dixhitale, Çdo Kondensator, AnyIn, AnyOut, Ndërrimi i shtuar, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion. , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programim serial në qark, ICSP, INICnet, Paralelimi inteligjent, IntelliMOS, Lidhshmëria ndër-Chip, JitterBlocker, Knob-on-Display, KoD, maxCrypto,View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Logo e certifikuar, MPLIB, MPLINK, MultiTRAK, NetDetach, Gjenerimi i kodit të gjithëdijshëm, 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, Qëndrueshmëri totale, Koha e besuar, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect dhe ZENA janë marka tregtare të Microchip Technology Incorporated
në SHBA dhe vende të tjera.
SQTP është një markë shërbimi e Microchip Technology Incorporated në SHBA
Logoja Adaptec, Frequency on Demand, Silicon Storage Technology dhe Symmcom janë marka tregtare të regjistruara të Microchip Technology Inc. në vende të tjera.
GestIC është një markë e regjistruar e Microchip Technology Germany II GmbH & Co. KG, një filial i Microchip Technology Inc., në vende të tjera.
Të gjitha markat e tjera të përmendura këtu janë pronë e kompanive të tyre përkatëse.
© 2023, Microchip Technology Incorporated dhe filialet e saj. Të gjitha të drejtat e rezervuara.
ISBN: 978-1-6683-3694-6
Sistemi i Menaxhimit të Cilësisë
Për informacion në lidhje me Sistemet e Menaxhimit të Cilësisë të Microchip, ju lutemi vizitoni www.microchip.com/quality.
AMERIKA | AZI/PACIFIK | AZI/PACIFIK | EVROPA |
Zyra e Korporatës 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Faksi: 480-792-7277 Mbështetje Teknike: www.microchip.com/support Web Adresa: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Faksi: 678-957-1455 Austin, Teksas Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Faksi: 774-760-0088 Çikago Itasca, IL Tel: 630-285-0071 Faksi: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Faksi: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Hjuston, Teksas Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Faksi: 317-773-5453 Tel: 317-536-2380 Los Anxhelos Misioni Viejo, CA Tel: 949-462-9523 Faksi: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 Nju Jork, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Kanada – Toronto Tel: 905-695-1980 Faksi: 905-695-2078 |
Australi – Sidnej Tel: 61-2-9868-6733 Kinë – Pekin Tel: 86-10-8569-7000 Kinë – Chengdu Tel: 86-28-8665-5511 Kinë - Chongqing Tel: 86-23-8980-9588 Kinë – Dongguan Tel: 86-769-8702-9880 Kinë – Guangzhou Tel: 86-20-8755-8029 Kinë – Hangzhou Tel: 86-571-8792-8115 Kinë – Hong Kong SAR Tel: 852-2943-5100 Kinë – Nanjing Tel: 86-25-8473-2460 Kinë – Qingdao Tel: 86-532-8502-7355 Kinë – Shanghai Tel: 86-21-3326-8000 Kinë – Shenyang Tel: 86-24-2334-2829 Kinë – Shenzhen Tel: 86-755-8864-2200 Kinë – Suzhou Tel: 86-186-6233-1526 Kinë – Wuhan Tel: 86-27-5980-5300 Kinë – Xian Tel: 86-29-8833-7252 Kinë – Xiamen Tel: 86-592-2388138 Kinë – Zhuhai Tel: 86-756-3210040 |
Indi - Bangalore Tel: 91-80-3090-4444 Indi – Nju Delhi Tel: 91-11-4160-8631 India - Pune Tel: 91-20-4121-0141 Japoni – Osaka Tel: 81-6-6152-7160 Japoni - Tokio Tel: 81-3-6880- 3770 Korea – Daegu Tel: 82-53-744-4301 Kore - Seul Tel: 82-2-554-7200 Malajzi – Kuala Lumpur Tel: 60-3-7651-7906 Malajzi – Penang Tel: 60-4-227-8870 Filipine – Manila Tel: 63-2-634-9065 Singapor Tel: 65-6334-8870 Tajvan – Hsin Chu Tel: 886-3-577-8366 Tajvan – Kaohsiung Tel: 886-7-213-7830 Tajvan – Taipei Tel: 886-2-2508-8600 Tajlandë - Bangkok Tel: 66-2-694-1351 Vietnam – Ho Chi Minh Tel: 84-28-5448-2100 |
Austri – Wels Tel: 43-7242-2244-39 Faksi: 43-7242-2244-393 Danimarkë – Kopenhagë Tel: 45-4485-5910 Faks: 45-4485-2829 Finlanda – Espoo Tel: 358-9-4520-820 Francë – Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Gjermani – Garching Tel: 49-8931-9700 Gjermani – Haan Tel: 49-2129-3766400 Gjermani – Heilbronn Tel: 49-7131-72400 Gjermani – Karlsruhe Tel: 49-721-625370 Gjermani – Mynih Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Gjermani – Rosenheim Tel: 49-8031-354-560 Izrael – Ra'anana Tel: 972-9-744-7705 Itali – Milano Tel: 39-0331-742611 Faks: 39-0331-466781 Itali – Padova Tel: 39-049-7625286 Holandë – Drunen Tel: 31-416-690399 Faks: 31-416-690340 Norvegji – Trondheim Tel: 47-72884388 Poloni – Varshavë Tel: 48-22-3325737 Rumani – Bukuresht Tel: 40-21-407-87-50 Spanjë - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Suedi – Gothenberg Tel: 46-31-704-60-40 Suedi – Stokholm Tel: 46-8-5090-4654 MB - Wokingham Tel: 44-118-921-5800 Faksi: 44-118-921-5820 |
© 2023 Microchip Technology Inc. dhe filialet e saj
DS50003627A -
Dokumentet / Burimet
![]() |
Softueri i Bibliotekës së Simulimit të MICROCHIP Libero SoC [pdfUdhëzuesi i përdoruesit DS50003627A, Softueri i Bibliotekës Simuluese Libero SoC, Softueri i Bibliotekës Simuluese të SoC, Softueri i Bibliotekës simuluese, Softueri i Bibliotekës, Softueri |