Uigaji wa Libero SoC
Maagizo ya Kuweka Maktaba
Utangulizi
Madhumuni ya hati hii ni kuelezea utaratibu wa kuweka mazingira ya kuiga kwa kutumia mradi wa Libero SoC kama pembejeo. Hati hizi zinalingana na maktaba zilizokusanywa mapema zilizotolewa kwa matumizi ya Libero SoC v11.9 na matoleo mapya zaidi ya programu. Maktaba zinazotolewa zimeundwa kwa ajili ya Verilog. Watumiaji wa VHDL wanahitaji leseni inayoruhusu uigaji wa hali mchanganyiko.
Maktaba za uigaji zilizokusanywa zinapatikana kwa zana zifuatazo:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise na Xcelium
- Siemens QuestaSim
- Synopsy VCS
Ili kuomba maktaba ya kiigaji tofauti, wasiliana Msaada wa Kiufundi wa Microchip.
Ushirikiano wa Libero SoC
Libero SoC inasaidia uigaji kwa kutumia ModelSim ME kwa kutoa run.do file. Hii file inatumiwa na ModelSim ME/ModelSim Pro ME kusanidi na kuendesha simulizi. Ili kutumia zana zingine za uigaji, unaweza kutengeneza ModelSim ME/ModelSim Pro ME run.do na kurekebisha hati ya Tcl. file kutumia maagizo ambayo yanaoana na kiigaji chako.
1.1 Libero SoC Tcl File Kizazi (Uliza Swali)
Baada ya kuunda na kutengeneza muundo katika Libero SoC, anzisha uigaji wa ModelSim ME/ModelSim Pro ME chini ya awamu zote za muundo (presynth, postsynth, na post-layout). Hatua hii inazalisha run.do file kwa ModelSim ME/ModelSim Pro ME kwa kila awamu ya muundo.
Muhimu: Baada ya kuanza kila uigaji, badilisha jina la run.do inayozalishwa kiotomatiki file chini ya saraka ya simulation ili kuzuia Libero SoC kutoka kwa kufuta hiyo file. Kwa mfanoample, files inaweza kubadilishwa jina kuwa presynth_run.do, postsynth_run.do na postlayout_run.do.
Usanidi wa Aldec kwa Active-HDL na Riviera-Pro (Uliza Swali)
Kukimbia.fanya file inayotumiwa na ModelSim ME/ModelSim Pro ME inaweza kurekebishwa na kutumika kwa kuiga kwa kutumia viigaji vya Aldec.
2.1 Tofauti ya Mazingira (Uliza Swali)
Weka mabadiliko ya mazingira yako kwa leseni yako file eneo:
LM_LICENSE_FILE: lazima ijumuishe kielekezi kwa seva ya leseni.
2.2 Pakua Maktaba Iliyokusanywa (Uliza Swali)
Pakua maktaba za Aldec Active-HDL na Aldec Riviera-PRO kutoka kwa Microchip webtovuti.
2.3 Kubadilisha run.do kwa simulizi ya Aldec (Uliza Swali)
Kukimbia.fanya files inayotolewa na Libero SoC kwa ajili ya uigaji kwa kutumia zana ya Active-HDL na Riviera-Pro inaweza kutumika kwa uigaji kwa kutumia Active-HDL na Riviera-Pro kwa badiliko moja. Jedwali lifuatalo linaorodhesha amri zinazolingana na Aldec za kurekebisha katika ModelSim run.do file.
Jedwali 2-1. Amri Sawa za Aldec
ModelSim | Inayotumika-HDL |
vlog | alogi |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Ifuatayo ni kamaample run.do inayohusiana na simulators za Aldec.
- Weka eneo la saraka ya sasa ya kufanya kazi.
weka dsn - Weka jina la maktaba inayofanya kazi, panga eneo lake, na kisha upange eneo la familia ya Microchip FPGA
maktaba zilizokusanywa mapema (kwa mfanoample, SmartFusion2) ambayo unaendesha muundo wako.
alib presynth
amap presynth presynth
amap SmartFusion2 - Kusanya HDL zote muhimu files kutumika katika kubuni na maktaba inayohitajika.
alog -work presynth temp.v (kwa Verilog)
alog -work presynth testbench.v
acom -work presynth temp.vhd (kwa Vhdl)
acom -work presynth testbench.vhd - Iga muundo.
asim -L SmartFusion2 -L presynth -t 1ps presynth.testbench
kukimbia 10us
2.4 Masuala Yanayojulikana (Uliza Swali)
Sehemu hii inaorodhesha masuala na vikwazo vinavyojulikana.
- Maktaba zilizokusanywa kwa kutumia Riviera-PRO ni mahususi kwa jukwaa (yaani, maktaba za 64-bit haziwezi kuendeshwa kwenye jukwaa la 32-bit na kinyume chake).
- Kwa miundo iliyo na SEDES/MDDR/FDDR, tumia chaguo lifuatalo katika run.do yako files wakati wa kuendesha masimulizi baada ya kuunda miundo yao:
– Amilifu-HDL: asim –o2
- Riviera-PRO: asim -O2 (kwa uigaji wa muundo wa awali na wa baada ya mpangilio) na asim -O5 (kwa uigaji wa mpangilio wa baada ya)
Mipangilio ya Aldec ya Active-HDL na Riviera-Pro ina SAR zifuatazo zinazosubiri. Kwa habari zaidi, wasiliana Msaada wa Kiufundi wa Microchip. - SAR 49908 - Inayotumika-HDL: Hitilafu ya VHDL kwa uigaji wa block block
- SAR 50627 - Riviera-PRO 2013.02: Makosa ya uigaji kwa miundo ya SEDES
- SAR 50461 - Riviera-PRO: chaguo la asim -O2/-O5 katika uigaji
Mpangilio wa Uchanganuzi wa Cadence (Uliza Swali)
Unahitaji kuunda hati file sawa na ModelSim ME/ModelSim Pro ME run.do ili kuendesha
Simulator ya Cadence Incisive. Fuata hatua hizi na uunda hati file kwa NCSim au tumia hati file
zinazotolewa ili kubadilisha ModelSim ME/ModelSim Pro ME run.do files kwenye usanidi files
inahitajika kuendesha uigaji kwa kutumia NCSim.
Muhimu: Cadence imeacha kutoa matoleo mapya ya Incisive Enterprise
simulator na kuanza kusaidia simulator ya Xcelium.
3.1 Vigezo vya Mazingira (Uliza Swali)
Ili kuendesha simulator ya Cadence Incisive, sanidi vigezo vya mazingira vifuatavyo:
- LM_LICENSE_FILE: lazima ijumuishe kielekezi kwenye leseni file.
- cds_root: lazima ielekeze kwenye eneo la saraka ya nyumbani ya Usakinishaji wa Cadence Incisive.
- PATH: lazima ielekeze eneo la bin chini ya saraka ya zana iliyoelekezwa na cds_root ambayo ni,
$cds_root/tools/bin/64bit (kwa mashine ya 64-bit na $cds_root/tools/bin kwa mashine ya 32-bit).
Kuna njia tatu za kusanidi mazingira ya kuiga ikiwa swichi kati ya mifumo ya uendeshaji ya 64-bit na 32-bit:
Kesi ya 1: Njia ya Kubadilika
Endesha amri ifuatayo:
weka njia = (install_dir/tools/bin/64bit $path) kwa mashine 64bit na
weka njia = (install_dir/tools/bin $path) kwa mashine 32bit
Kesi ya 2: Kwa kutumia -64bit Chaguo la mstari wa Amri
Kwenye safu ya amri taja -64bit chaguo ili kuomba 64bit inayoweza kutekelezwa.
Kesi ya 3: Kuweka Kigeu cha Mazingira cha INCA_64BIT au CDS_AUTO_64BIT
Tofauti ya INCA_64BIT inachukuliwa kama boolean. Unaweza kuweka utofauti huu kwa thamani yoyote au kwa mfuatano usiofaa.
setenv INCA_64BIT
Muhimu: The Tofauti ya mazingira ya INCA_64BIT haiathiri zana zingine za Cadence, kama vile zana za IC. Walakini, kwa zana za Incisive, kigezo cha INCA_64BIT kinabatilisha mpangilio wa utofauti wa mazingira wa CDS_AUTO_64BIT. Ikiwa utofauti wa mazingira wa INCA_64BIT umewekwa, zana zote za Incisive huendeshwa katika hali ya 64-bit. setenv CDS_AUTO_64BIT INAJUMUISHA:INCA
Muhimu: The kamba INCA lazima iwe katika herufi kubwa. Utekelezaji wote lazima uendeshwe katika modi ya 32-bit au katika modi ya 64-bit, usiweke kigezo kujumuisha kitekelezo kimoja, kama ifuatayo:
setenv CDS_AUTO_64BIT PAMOJA:ncelab
Zana zingine za Cadence, kama vile zana za IC, pia hutumia utofauti wa mazingira wa CDS_AUTO_64BIT ili kudhibiti uteuzi wa vitekelezo vya 32-bit au 64-bit. Jedwali lifuatalo linaonyesha jinsi unavyoweza kuweka tofauti ya CDS_AUTO_64BIT ili kuendesha zana za Incisive na zana za IC katika hali zote.
Jedwali 3-1. Vigezo vya CDS_AUTO_64BIT
Vigezo vya CDS_AUTO_64BIT | Vyombo vya Kusisimua | Zana za IC |
setenv CDS_AUTO_64BIT YOTE | 64 kidogo | 64 kidogo |
setenv CDS_AUTO_64BIT HAKUNA | 32 kidogo | 32 kidogo |
setenv CDS_AUTO_64BIT ILA:ic_binary | 64 kidogo | 32 kidogo |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 kidogo | 64 kidogo |
Muhimu: Zana zote za Incisive lazima ziendeshwe katika modi ya biti 32 au katika modi ya biti 64, usitumie EXCLUDE kuwatenga utekelezo mahususi, kama ilivyo katika yafuatayo: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Ukiweka tofauti ya CDS_AUTO_64BIT ili kuwatenga zana za Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), zana zote za Incisive zinaendeshwa katika modi ya biti-32. Walakini, chaguo la mstari wa amri -64bit linafuta utofauti wa mazingira.
Configuration ifuatayo files kukusaidia kudhibiti data yako na kudhibiti utendakazi wa zana na huduma za uigaji:
- Ramani ya maktaba file (cds.lib)—Inafafanua jina la kimantiki la eneo la muundo wako.
- Maktaba na kuzihusisha na majina ya saraka halisi.
- Vigezo file (hdl.var)—Inafafanua vigeu vinavyoathiri tabia ya zana na huduma za kuiga.
3.2 Pakua Maktaba Iliyokusanywa (Uliza Swali)
Pakua maktaba za Cadence Incisive kutoka kwa Microsemi's webtovuti.
3.3 Kuunda Hati ya NCSim File (Uliza Swali)
Baada ya kuunda nakala ya run.do files, fanya hatua hizi ili kuendesha simulation yako kwa kutumia NCSim:
- Unda cds.lib file ambayo inafafanua maktaba zinazoweza kufikiwa na mahali zilipo. The file ina taarifa zinazoweka majina mantiki ya maktaba kwa njia zao za saraka halisi. Kwa mfanoampna, ikiwa unaendesha simulation ya presynth, cds.lib file imeandikwa kama inavyoonyeshwa katika kizuizi kifuatacho cha msimbo.
FAFANUA presynth ./presynth
FAFANUA COREAHBLITE_LIB ./COREAHBLITE_LIB
Bainisha ujanja2 - Unda hdl.var file, usanidi wa hiari file ambayo ina vigeu vya usanidi, ambavyo huamua jinsi mazingira yako ya muundo yamesanidiwa. Tofauti ifuatayo files ni pamoja na:
- Vigezo vinavyotumika kubainisha maktaba ya kazi ambapo mkusanyaji huhifadhi vitu vilivyokusanywa na data nyingine inayotokana.
- Kwa Verilog, anuwai (LIB_MAP, VIEW_MAP, KAZI) zinazotumika kubainisha maktaba na views kutafuta wakati mtoaji anatatua matukio.
- Vigezo vinavyokuruhusu kufafanua chaguo na hoja za mkusanyaji, kifafanua, na kiigaji cha mstari wa amri.
Katika kesi ya uigaji wa presynth example iliyoonyeshwa hapo juu, sema tuna RTL tatu files: av, bv, na testbench.v, ambayo inahitaji kujumuishwa katika maktaba za presynth, COREAHBLITE_LIB, na presynth mtawalia. HDl.var file inaweza kuandikwa kama inavyoonyeshwa katika kizuizi kifuatacho cha msimbo.
Bainisha presynth ya kazi
FAFANUA PROJECT_DIR files>
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, + => presynth ) - Kukusanya muundo files kutumia chaguo la ncvlog.
ncvlog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -sasisha -linedebug av bv testbench.v - Fafanua muundo kwa kutumia ncelab. Mtoa ufafanuzi huunda daraja la muundo kulingana na maelezo ya uanzishaji na usanidi katika muundo, huanzisha muunganisho wa mawimbi, na kukokotoa maadili ya awali kwa vitu vyote katika muundo. Daraja iliyofafanuliwa zaidi ya muundo huhifadhiwa katika taswira ya simulizi, ambayo ni uwakilishi wa muundo wako ambao kiigaji hutumia kutekeleza uigaji.
ncelab –Ujumbe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
fikia +rwc -status worklib. :moduli
Ufafanuzi Wakati wa uigaji wa mpangilio baada ya mpangilio
Katika kesi ya uigaji wa baada ya mpangilio, kwanza SDF file inahitaji kukusanywa kabla ya ufafanuzi kwa kutumia ncsdfc amri.
ncdfcfilejina>.sdf -patofilejina>.sdf.X
Wakati wa kufafanua tumia pato la SDF lililokusanywa na chaguo la -autosdf kama inavyoonyeshwa kwenye kizuizi kifuatacho cha msimbo.
ncelab -autosdf –Ujumbe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax
15 -access +rwc -status worklib. :moduli -sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file lazima iwe kama inavyoonyeshwa katika kizuizi kifuatacho cha msimbo.
COMPILED_SDF_FILE = " file>” - Iga kwa kutumia ncsim. Baada ya ufafanuzi taswira ya uigaji huundwa, ambayo inapakiwa na ncsim kwa ajili ya kuiga. Unaweza kukimbia katika hali ya kundi au hali ya GUI.
ncsim –Ujumbe –bechi/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
errormax 15 -hali ya kazi. :moduli
Muhimu: Hatua zote tatu zilizo hapo juu za kuandaa, kufafanua, na kuiga zinaweza kuwekwa kwenye hati ya ganda file na imetolewa kutoka kwa safu ya amri. Badala ya kutumia hatua hizi tatu, muundo unaweza kuigwa kwa hatua moja kwa kutumia ncverilog au chaguo la irun kama inavyoonyeshwa kwenye kizuizi kifuatacho cha msimbo.
ncverilog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var
files kutumika katika kubuni>
irun +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var files
kutumika katika kubuni>
3.3.1 Masuala Yanayojulikana (Uliza Swali)
Workaround ya Testbench
Kutumia taarifa ifuatayo kubainisha mzunguko wa saa katika benchi ya majaribio inayozalishwa na mtumiaji, au benchi chaguo-msingi ya majaribio inayozalishwa na Libero SoC haifanyi kazi na NCSim.
daima @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Rekebisha kama ifuatavyo ili kuendesha simulation:
daima #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Muhimu: Imekusanywa maktaba za NCSim ni jukwaa mahususi (yaani, maktaba 64 hazioani na jukwaa la biti 32 na kinyume chake).
Uigaji wa Mpangilio wa Postynth na Baada ya Kutumia MSS na SERDES Wakati wa kuendesha uigaji wa postsynth wa miundo iliyo na kizuizi cha MSS au uigaji wa miundo ya baada ya mpangilio kwa kutumia SERDES, uigaji wa BFM haufanyi kazi ikiwa chaguo la -libmap ni.
haijabainishwa wakati wa ufafanuzi. Hii ni kwa sababu wakati wa kufafanua, MSS hutatuliwa kutoka kwa maktaba ya kazi (kwa sababu ya ufungaji chaguomsingi na kazi kuwa postsynth/post-layout) ambapo ni Kazi Isiyohamishika tu.
Amri ya ncelab lazima iandikwe kama inavyoonyeshwa kwenye kizuizi cha msimbo kifuatacho ili kutatua MSS
zuia kutoka kwa maktaba iliyosasishwa ya SmartFusion2.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
na lib.map file lazima iwe kama ifuatavyo:
sanidi cfg1;
kubuni ;
chaguo-msingi liblist smartfusion2 ;
endconfig
Hii husuluhisha kisanduku chochote katika maktaba ya SmartFusion2 kabla ya kuangalia kwenye maktaba ya kazini yaani postsynth/ mpangilio wa baada.
Chaguo la -libmap linaweza kutumiwa kwa chaguo-msingi wakati wa ufafanuzi kwa kila simulizi (presynth, postsynth, na post-layout). Hii huepuka masuala ya uigaji ambayo husababishwa kutokana na utatuzi wa matukio kutoka kwa maktaba.
ncelab: *F,INTERR: ILA NDANI
Ubaguzi huu wa zana ya ncelab ni tahadhari kwa miundo iliyo na FDDR katika SmartFusion 2 na IGLOO 2 wakati wa uigaji wa postsynth na baada ya mpangilio kwa kutumia -libmap chaguo.
Muhimu: Suala hili limeripotiwa kwa timu ya usaidizi ya Cadence (SAR 52113).
3.4 Sample Tcl na Hati ya Shell Files (Uliza Swali)
Ifuatayo files ni usanidi fileinahitajika kwa kusanidi muundo na hati ya ganda file kwa kuendesha amri za NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
FAFANUA COREAHBLITE_LIB ./COREAHBLITE_LIB
FAFANUA presynth ./presynth
HDl.var
Bainisha presynth ya kazi
FAFANUA PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCC.v =>
presynth)
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coresetp_pcie_hotreset.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coresetp.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, + => presynth )
Amri.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -sasisha -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
-fanya kazi presynth -logifile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:moduli
ncsim -Ujumbe -fungu -cdslib ./cds.lib -hdlvar ./
hdl.var -logifile ncsim.log -errormax 15 -status presynth.testbench:moduli
3.5 Uendeshaji otomatiki (Uliza Swali)
Hati ifuatayo file inabadilisha ModelSim run.do files kwenye usanidi fileinahitajika kutekeleza uigaji kwa kutumia NCSim.
Hati File Matumizi
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_maktaba_zilizokusanywa
Cadence_parser.pl
#!/usr/bin/perl -w
##################################################### ###############################################
###################
#Matumizi: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
##################################################### ###############################################
###################
tumia POSIX;
tumia kali;
yangu ($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);
questa_parser {
my $ModelSim_run_do = $_[0];
my $actel_family = $_[1];
my $lib_location = $_[2];
jimbo langu la $;
ikiwa ( -e "$ModelSim_run_do")
{
fungua (INFILE,”$ModelSim_run_do”);
yangu @ModelSim_run_do =FILE>;
mstari wangu wa $;
ikiwa ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
fungua (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$ state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
fungua (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$ state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
fungua (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$ state = $1;
} mwingine
{
chapisha “Viingizo Vibaya vilivyotolewa kwa file\n";
chapisha “#Matumizi: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Mahali_ya_maktaba\"\n";
}
foreach $line (@ModelSim_run_do)
{
#Operesheni za Jumla
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#chapisha OUTFILE "$line \n";
ikiwa ($line =~ m/vmap\s+.*($actel_family)/)
{
chapisha OUTFILE "vmap $actel_family \"$lib_location\"\n";
} elsif (mstari wa $ =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
chapisha OUTFILE "$line \n";
} Elsif (mstari wa $ =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
chapisha OUTFILE "$line \n";
} mwingine
{
chapisha OUTFILE "$line \n";
}
}
karibu (INFILE);
karibu (OUTFILE);
} nyengine {
chapisha “$ModelSim_run_do haipo. Rudia uigaji tena \n";
}
}
Usanidi wa Cadence Xcelium (Kuingia kwa Microchip)
Unahitaji kuunda hati file sawa na ModelSim ME/ModelSim Pro ME run.do ili kuendesha simulator ya Cadence Xcelium. Fuata hatua hizi na uunda hati file kwa Xcelium au tumia hati file zinazotolewa ili kubadilisha ModelSim ME/ModelSim Pro ME run.do files kwenye usanidi fileinahitajika kutekeleza uigaji kwa kutumia Xcelium.
4.1 Vigezo vya Mazingira (Uliza Swali)
Ili kuendesha Cadence Xcelium, sanidi anuwai za mazingira zifuatazo:
- LM_LICENSE_FILE: lazima ijumuishe kielekezi kwenye leseni file.
- cds_root: lazima ielekeze kwenye saraka ya nyumbani ya eneo la Usakinishaji wa Cadence Incisive.
- PATH: lazima ielekeze kwenye eneo la pipa chini ya saraka ya zana iliyoelekezwa na cds_root (yaani
$cds_root/tools/bin/64bit (kwa mashine ya biti 64 na $cds_root/tools/bin kwa biti 32
mashine).
Kuna njia tatu za kusanidi mazingira ya kuiga ikiwa swichi kati ya mifumo ya uendeshaji ya 64-bit na 32-bit:
Kesi ya 1: Njia ya Kubadilika
weka njia = (install_dir/tools/bin/64bit $path) kwa mashine 64bit na
weka njia = (install_dir/tools/bin $path) kwa mashine 32bit
Kesi ya 2: Kwa kutumia -64bit Chaguo la mstari wa Amri
Katika safu ya amri taja -64bit chaguo ili kuomba 64-bit inayoweza kutekelezwa.
Kesi ya 3: Kuweka Kigeu cha Mazingira cha INCA_64BIT au CDS_AUTO_64BIT
Tofauti ya INCA_64BIT inachukuliwa kama boolean. Unaweza kuweka utofauti huu kwa thamani yoyote au ubatili
kamba.
setenv INCA_64BIT
Muhimu: The Tofauti ya mazingira ya INCA_64BIT haiathiri zana zingine za Cadence, kama vile zana za IC. Walakini, kwa zana za Incisive, kigezo cha INCA_64BIT kinabatilisha mpangilio wa utofauti wa mazingira wa CDS_AUTO_64BIT. Ikiwa utofauti wa mazingira wa INCA_64BIT ni et, zana zote za Incisive zinaendeshwa katika hali ya 64-bit.
setenv CDS_AUTO_64BIT INAJUMUISHA:INCA
Muhimu: The kamba INCA lazima iwe katika herufi kubwa. Utekelezaji wote lazima uendeshwe katika modi ya 2-bit au katika modi ya 64-bit, usiweke kigezo kujumuisha kitekelezo kimoja, kama ifuatayo:
setenv CDS_AUTO_64BIT PAMOJA:ncelab
Zana zingine za Cadence, kama vile zana za IC, pia hutumia utofauti wa mazingira wa CDS_AUTO_64BIT ili kudhibiti uteuzi wa vitekelezo vya 32-bit au 64-bit. Jedwali lifuatalo linaonyesha jinsi unavyoweza kuweka tofauti ya CDS_AUTO_64BIT ili kuendesha zana za Incisive na zana za IC katika hali zote.
Jedwali 4-1. Vigezo vya CDS_AUTO_64BIT
Vigezo vya CDS_AUTO_64BIT | Vyombo vya Kusisimua | Zana za IC |
setenv CDS_AUTO_64BIT YOTE | 64-bit | 64-bit |
setenv CDS_AUTO_64BIT HAKUNA | 32-bit | 32-bit |
setenv CDS_AUTO_64BIT ANGALIA:ic_binary |
64-bit | 32-bit |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32-bit | 64-bit |
Muhimu: Zana zote za Incisive lazima ziendeshwe katika modi ya 32-bit au katika modi ya 64-bit, usitumie EXCLUDE kutenga utekelezo mahususi, kama ifuatayo:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Ukiweka utofauti wa CDS_AUTO_64BIT ili kuwatenga zana za Incisive ( setenv
CDS_AUTO_64BIT EXCLUDE:INCA), zana zote za Incisive zinaendeshwa katika hali ya 32-bit. Hata hivyo,
Chaguo la mstari wa amri -64bit linabatilisha utofauti wa mazingira.
Configuration ifuatayo files kukusaidia kudhibiti data yako na kudhibiti utendakazi wa zana na huduma za uigaji:
- Ramani ya maktaba file (cds.lib) inafafanua jina la kimantiki la eneo la muundo wako.
- Maktaba na kuzihusisha na majina ya saraka halisi.
- Vigezo file (hdl.var) inafafanua vigeu vinavyoathiri tabia ya zana na huduma za uigaji.
4.2 Pakua Maktaba Iliyokusanywa (Uliza Swali)
Pakua maktaba za Cadence Xcelium kutoka Microsemi's webtovuti.
4.3 Kuunda hati ya Xcelium file (Uliza Swali)
Baada ya kuunda nakala ya run.do files, fanya hatua zifuatazo ili kuendesha simulizi yako kwa kutumia hati ya Xcelium file.
- Unda cds.lib file ambayo inafafanua ni maktaba zipi zinaweza kufikiwa na mahali zilipo.
The file ina taarifa zinazoweka majina mantiki ya maktaba kwa njia zao za saraka halisi. Kwa mfanoampna, ikiwa unaendesha simulation ya presynth, cds.lib file inaweza kuandikwa kama inavyoonyeshwa katika kizuizi kifuatacho cha msimbo.
FAFANUA presynth ./presynth
FAFANUA COREAHBLITE_LIB ./COREAHBLITE_LIB
Bainisha ujanja2 - Unda hdl.var file ambayo ni usanidi wa hiari file ambayo ina vigeu vya usanidi, ambavyo huamua jinsi mazingira yako ya muundo yamesanidiwa. Hizi ni pamoja na:
- Vigezo vinavyotumika kubainisha maktaba ya kazi ambapo mkusanyaji huhifadhi vitu vilivyokusanywa na data nyingine inayotokana.
- Kwa Verilog, anuwai (LIB_MAP, VIEW_MAP, KAZI) zinazotumika kubainisha maktaba na views kutafuta wakati mtoaji anatatua matukio.
- Vigezo vinavyokuruhusu kufafanua chaguo na hoja za mkusanyaji, kifafanua, na kiigaji cha mstari wa amri.
Katika kesi ya uigaji wa presynth example iliyoonyeshwa hapo juu, sema tuna 3 RTL files av, bv, na testbench.v, ambayo inahitaji kujumuishwa katika maktaba za presynth, COREAHBLITE_LIB, na presynth mtawalia. HDl.var file inaweza kuandikwa kama inavyoonyeshwa katika kizuizi kifuatacho cha msimbo.
Bainisha presynth ya kazi
FAFANUA PROJECT_DIR files>
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, + => presynth ) - Kukusanya muundo files kutumia chaguo la ncvlog.
xmvlog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -sasisha -linedebug av bv testbench.v - Fafanua muundo kwa kutumia ncelab. Mtoa ufafanuzi huunda daraja la muundo kulingana na maelezo ya uanzishaji na usanidi katika muundo, huanzisha muunganisho wa mawimbi, na kukokotoa maadili ya awali kwa vitu vyote katika muundo. Daraja iliyofafanuliwa zaidi ya muundo huhifadhiwa katika taswira ya simulizi, ambayo ni uwakilishi wa muundo wako ambao kiigaji hutumia kutekeleza uigaji.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
fikia +rwc -status worklib. :moduli
Ufafanuzi Wakati wa uigaji wa mpangilio baada ya mpangilio
Katika kesi ya uigaji wa baada ya mpangilio, kwanza SDF file inahitaji kukusanywa kabla ya ufafanuzi kwa kutumia ncsdfc amri.
Xceliumfilejina>.sdf -patofilejina>.sdf.X
Wakati wa kufafanua tumia pato la SDF lililokusanywa na chaguo la -autosdf kama inavyoonyeshwa kwenye kizuizi kifuatacho cha msimbo.
xmelab -autosdf -Ujumbe -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
15 -access +rwc -status worklib. :moduli -sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file lazima iwe kama inavyoonyeshwa katika kizuizi kifuatacho cha msimbo.
COMPILED_SDF_FILE = " file>” - Iga kwa kutumia Xcelium. Baada ya ufafanuzi, muhtasari wa simulation huundwa ambao hupakiwa na Xcelium kwa uigaji. Hii inaweza kuendeshwa katika hali ya kundi au modi ya GUI.
xmsim –Ujumbe –bechi/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
errormax 15 -hali ya kazi. :moduli
Usanidi wa Cadence Xcelium
Muhimu: Yote hatua tatu zilizo hapo juu za kuandaa, kufafanua na kuiga zinaweza kuwekwa kwenye hati ya ganda file na imetolewa kutoka kwa safu ya amri. Badala ya kutumia hatua hizi tatu, muundo unaweza kuigwa kwa hatua moja kwa kutumia ncverilog au chaguo la xrun kama inavyoonyeshwa kwenye kizuizi kifuatacho cha msimbo.
xmverilog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var
files kutumika katika kubuni>
xrun +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var files
kutumika katika kubuni>
4.3.1 Masuala Yanayojulikana (Uliza Swali)
Workaround ya Testbench
Kutumia taarifa ifuatayo kwa kubainisha mzunguko wa saa katika benchi ya majaribio inayozalishwa na mtumiaji au benchi chaguo-msingi inayozalishwa na Libero SoC haifanyi kazi na Xcelium.
daima @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Rekebisha kama ifuatavyo ili kuendesha simulation:
daima #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Muhimu: Maktaba zilizokusanywa za Xcelium ni mahususi kwa mfumo (yaani, maktaba 64 hazioani na mfumo wa 32 na kinyume chake).
Uigaji wa Postsynth na Baada ya Mpangilio kwa kutumia MSS na SERDES
Wakati wa kutekeleza uigaji wa postsynth wa miundo iliyo na kizuizi cha MSS, au uigaji wa miundo baada ya mpangilio kwa kutumia SEDES, uigaji wa BFM haufanyi kazi ikiwa chaguo la -libmap halijabainishwa wakati wa ufafanuzi. Hii ni kwa sababu wakati wa kufafanua, MSS hutatuliwa kutoka kwa maktaba ya kazi (kwa sababu ya ufungaji chaguomsingi na kazi kuwa postsynth/post-layout) ambapo ni Kazi Isiyohamishika tu.
Amri ya ncelab lazima iandikwe kama inavyoonyeshwa kwenye kizuizi kifuatacho cha msimbo ili kutatua kizuizi cha MSS kutoka kwa maktaba iliyokusanywa mapema ya SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
na lib.map file lazima iwe kama ifuatavyo:
sanidi cfg1;
kubuni ;
chaguo-msingi liblist smartfusion2 ;
endconfig
Hii lazima isuluhishe kisanduku chochote katika maktaba ya SmartFusion2 kabla ya kuangalia kwenye maktaba ya kazini yaani postsynth/post-layout.
Chaguo la -libmap linaweza kutumika kwa chaguo-msingi wakati wa kufafanua kwa kila simulizi (presynth, postsynth na post-layout). Hii huepuka masuala ya uigaji ambayo husababishwa kutokana na utatuzi wa matukio kutoka kwa maktaba.
xmelab: *F,INTERR: ISIPOKUWA WA NDANI
Isipokuwa kwa zana hii ya ncelab ni tahadhari kwa miundo iliyo na FDDR katika SmartFusion2 na IGLOO2
wakati wa uigaji wa postsynth na baada ya mpangilio kwa kutumia -libmap chaguo.
Muhimu: Suala hili limeripotiwa kwa timu ya usaidizi ya Cadence (SAR 52113).
4.4 Sample Tcl na hati ya ganda files (Uliza Swali)
Ifuatayo files ni usanidi fileinahitajika kwa kusanidi muundo na hati ya ganda file kwa kuendesha amri za Xcelium.
Cds.lib
FAFANUA smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
FAFANUA COREAHBLITE_LIB ./COREAHBLITE_LIB
FAFANUA presynth ./presynth
HDl.var
Bainisha presynth ya kazi
FAFANUA PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCC.v =>
presynth)
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coresetp_pcie_hotreset.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coresetp.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
FAFANUA LIB_MAP ( $LIB_MAP, + => presynth )
Amri.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -sasisha -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
-fanya kazi presynth -logifile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:moduli
ncsim -Ujumbe -fungu -cdslib ./cds.lib -hdlvar ./
hdl.var -logifile ncsim.log -errormax 15 -status presynth.testbench:moduli
4.5 Uendeshaji otomatiki (Kuingia kwa Microchip)
Hati ifuatayo file inabadilisha ModelSim run.do files kwenye usanidi fileinahitajika kutekeleza uigaji kwa kutumia Xcelium.
Hati File Matumizi
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_maktaba_zilizokusanywa
Cadence_parser.pl
#!/usr/bin/perl -w
##################################################### ###############################################
###################
#Matumizi: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
##################################################### ###############################################
###################
tumia POSIX;
tumia kali;
yangu ($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);
questa_parser {
my $ModelSim_run_do = $_[0];
my $actel_family = $_[1];
my $lib_location = $_[2];
jimbo langu la $;
ikiwa ( -e "$ModelSim_run_do")
{
fungua (INFILE,”$ModelSim_run_do”);
yangu @ModelSim_run_do =FILE>;
mstari wangu wa $;
ikiwa ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
fungua (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$ state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
fungua (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$ state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
fungua (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$ state = $1;
} mwingine
{
chapisha “Viingizo Vibaya vilivyotolewa kwa file\n";
chapisha “#Matumizi: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Mahali_ya_maktaba\"\n";
}
foreach $line (@ModelSim_run_do)
{
#Operesheni za Jumla
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#chapisha OUTFILE "$line \n";
ikiwa ($line =~ m/vmap\s+.*($actel_family)/)
{
chapisha OUTFILE "vmap $actel_family \"$lib_location\"\n";
} elsif (mstari wa $ =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
chapisha OUTFILE "$line \n";
} Elsif (mstari wa $ =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
chapisha OUTFILE "$line \n";
} mwingine
{
chapisha OUTFILE "$line \n";
}
}
karibu (INFILE);
karibu (OUTFILE);
} nyengine {
chapisha “$ModelSim_run_do haipo. Rudia uigaji tena \n";
}
}
Siemens QuestaSim Setup/ModelSim Setup (Uliza Swali)
Kukimbia.fanya files, inayotolewa na Libero SoC kwa uigaji kwa kutumia Matoleo ya ModelSim Microsemi, inaweza kutumika kwa uigaji kwa kutumia QuestaSim/ModelSim SE/DE/PE na badiliko moja. Katika ModelSim ME/ModelSim Pro ME run.do file, eneo la maktaba zilizokusanywa awali linahitaji kurekebishwa.
Muhimu:
Kwa chaguomsingi, zana ya kuiga isipokuwa ModelSim Pro ME hutekeleza uboreshaji wa muundo wakati wa uigaji ambao unaweza kuathiri mwonekano katika vizalia vya uigaji kama vile vitu vya kubuni na kichocheo cha kuingiza.
Kwa kawaida hii inasaidia katika kupunguza muda wa utekelezaji wa uigaji kwa uigaji changamano, kwa kutumia kitenzi, benchi za kujichunguza zenyewe. Hata hivyo, uboreshaji chaguo-msingi huenda usiwe mwafaka kwa uigaji wote, hasa katika hali ambapo unatarajia kukagua kwa michoro matokeo ya uigaji kwa kutumia dirisha la wimbi.
Ili kushughulikia masuala yanayosababishwa na uboreshaji huu, lazima uongeze amri zinazofaa na hoja zinazohusiana wakati wa kuiga ili kurejesha mwonekano katika muundo. Kwa amri mahususi za zana, angalia hati za kiigaji kinapotumika.
5.1 Vigezo vya Mazingira (Uliza Swali)
Ifuatayo ni vigezo vya mazingira vinavyohitajika.
- LM_LICENSE_FILE: lazima ijumuishe njia ya leseni file.
- MODEL_TECH: lazima itambue njia ya eneo la saraka ya nyumbani ya usakinishaji wa QuestaSim.
- PATH: lazima ielekeze kwenye eneo linaloweza kutekelezwa lililoelekezwa na MODEL_TECH.
5.2 Kubadilisha run.do kwa Mentor QuestaSim (Uliza Swali)
Kukimbia.fanya files inayotolewa na Libero SoC kwa uigaji kwa kutumia Matoleo ya ModelSim Microsemi inaweza kutumika kwa uigaji kwa kutumia QuestaSim/ModelSim_SE na badiliko moja.
Muhimu: Yote miundo ambayo inaigwa kwa kutumia QuestaSim lazima ijumuishe -novopt
chaguo pamoja na amri ya vsim kwenye hati ya run.do files.
5.3 Pakua Maktaba Iliyokusanywa (Uliza Swali)
Pakua maktaba za Mentor Graphics QuestaSim kutoka kwa Microsemi's webtovuti.
Usanidi wa VCS wa Synopsy (Uliza Swali)
Mtiririko unaopendekezwa na Microsemi unategemea Mtiririko wa Kufafanua na Kukusanya katika VCS. Hati hii inajumuisha hati file ambayo hutumia hati ya run.do files inayotolewa na Libero SoC na hutoa usanidi files inahitajika kwa uigaji wa VCS. Hati file hutumia run.do file kufanya yafuatayo.
- Unda ramani ya maktaba file, ambayo inafanywa kwa kutumia synopys_sim.setup file iko katika saraka sawa ambapo simulation ya VCS inaendeshwa.
- Unda hati ya ganda file kufafanua na kukusanya muundo wako kwa kutumia VCS.
6.1 Vigezo vya Mazingira (Uliza Swali)
Weka anuwai za mazingira zinazofaa kwa VCS kulingana na usanidi wako. Vigezo vya mazingira vinavyohitajika kulingana na nyaraka za VCS ni:
- LM_LICENSE_FILE: lazima ijumuishe kielekezi kwa seva ya leseni.
- VCS_HOME: lazima ielekeze kwenye eneo la saraka ya nyumbani ya usakinishaji wa VCS.
- PATH: lazima ijumuishe kielekezi kwenye saraka ya pipa chini ya saraka ya VCS_HOME.
6.2 Pakua Maktaba Iliyokusanywa (Uliza Swali)
Pakua maktaba za Synopsy VCS kutoka Microsemi's webtovuti.
6.3 Hati ya Uigaji ya VCS File (Uliza Swali)
Baada ya kusanidi VCS na kutengeneza muundo na run.do tofauti filekutoka Libero SoC, lazima:
- Unda ramani ya maktaba file synopys_sim.setup; hii file ina viashiria vya eneo la maktaba zote zitakazotumiwa na muundo.
Muhimu: The file jina lazima lisibadilike na lazima liwe katika saraka sawa ambapo uigaji unaendeshwa. Hapa kuna example kwa vile file kwa simulation ya presynthesis.
KAZI > EFAULT
SmartFusion2 :
presynth : ./presynth
CHAGUO CHAGUO : ./work - Fafanua muundo tofauti files, pamoja na testbench, kwa kutumia amri ya vlogan katika VCS. Amri hizi zinaweza kujumuishwa kwenye hati ya ganda file. Ifuatayo ni example ya amri ambazo zinahitajika ili kufafanua muundo uliofafanuliwa katika rtl.v na testbench yake imefafanuliwa katika
testbench.v.
vlogan +v2k -fanya kazi presynth rtl.v
vlogan +v2k -fanya kazi presynth testbench.v - Kusanya muundo kwa kutumia VCS kwa kutumia amri ifuatayo.
vcs –sim_res=1fs presynth.testbench
Kumbuka: The azimio la wakati la uigaji lazima liwekwe 1fs kwa uigaji sahihi wa utendaji. - Mara tu muundo unapokusanywa, anza kuiga kwa kutumia amri ifuatayo.
./simv - Kwa uigaji wa maelezo ya nyuma, amri ya VCS lazima iwe kama inavyoonyeshwa kwenye kizuizi kifuatacho cha msimbo.
vcs postlayout.testbench -sim_res=1fs -sdf max: .
jina>: file njia> -gui -l postlayout.log
6.4 Vizuizi/Vighairi (Uliza Swali)
Zifuatazo ni vikwazo/vighairi vya usanidi wa Synopsy VCS.
- Uigaji wa VCS unaweza kuendeshwa kwa miradi ya Verilog ya Libero SoC pekee. Kiigaji cha VCS kina mahitaji madhubuti ya lugha ya VHDL ambayo hayatimizwi na VHDL inayozalishwa kiotomatiki ya Libero SoC. files.
- Ni lazima uwe na taarifa ya $finish kwenye benchi ya majaribio ya Verilog ili kukomesha uigaji wakati wowote unapotaka.
Muhimu: Wakati maiga huendeshwa katika hali ya GUI, wakati wa kukimbia unaweza kubainishwa kwenye GUI.
6.5 Sample Tcl na Hati ya Shell Files (Uliza Swali)
Perl ifuatayo inaboresha kizazi cha synopsy_sim.setup kiotomatiki file pamoja na hati ya ganda inayolingana fileinahitajika kufafanua, kukusanya, na kuiga muundo.
Ikiwa muundo unatumia MSS, nakili test.vec file iliyoko kwenye folda ya uigaji ya mradi wa Libero SoC kwenye folda ya simulizi ya VCS. Sehemu zifuatazo zina sample run.do files inayotolewa na Libero SoC, pamoja na ramani ya maktaba inayolingana na hati ya ganda files inahitajika kwa uigaji wa VCS.
6.5.1 Usanisi wa awali (Uliza Swali)
Presynth_run.do
weka kimya kimya ACTELLIBNAME SmartFusion2
weka kimya kimya PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
kama {[file ipo presynth/_info]} {
echo "INFO: Presynth ya maktaba ya uigaji tayari ipo"
} nyengine {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth "${PROJECT_DIR}/component/work/SD1/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -fanya kazi awali "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
ongeza wimbi /SD1_TB1/*
ongeza logi -r /*
kukimbia 1000ns
presynth_main.csh
#!/bin/csh -f
weka 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" -fanya kazi
presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
KAZI > CHAGUO
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
CHAGUO CHAGUO : ./work
6.5.2 Usanisi wa baada (Uliza Swali)
postsynth_run.do
weka kimya kimya ACTELLIBNAME SmartFusion2
weka kimya kimya PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
kama {[file ipo postsynth/_info]} {
echo "INFO: Postsynth ya maktaba ya uigaji tayari ipo"
} nyengine {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog "+incdir+${PROJECT_DIR}/stimulus" -fanya kazi postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
ongeza wimbi /SD1_TB1/*
ongeza logi -r /*
kukimbia 1000ns
kumbukumbu SD1_TB1/*
Utgång
Postsynth_main.csh
#!/bin/csh -f
weka 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" -fanya kazi
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
KAZI > CHAGUO
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
CHAGUO CHAGUO : ./work
6.5.3 Mpangilio wa baada (Uliza Swali)
postlayout_run.do
weka kimya kimya ACTELLIBNAME SmartFusion2
weka kimya kimya PROJECT_DIR "E:/ModelSim_Work/Test_DFF"
kama {[file ipo ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: maktaba ya uigaji ../designer/SD1/simulation/postlayout tayari ipo"
} nyengine {
vlib ../designer/SD1/simulation/postlayout
}
vmap mpangilio wa posta ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work mpangilio wa baada ya "${PROJECT_DIR}/designer/SD1/SD1_ba.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -mpangilio wa kazi "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L mpangilio wa baada -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
ongeza wimbi /SD1_TB1/*
ongeza logi -r /*
kukimbia 1000ns
Postlayout_main.csh
#!/bin/csh -f
weka PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -mpangilio wa kazi "${PROJECT_DIR}/
designer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -fanya kazi
mpangilio wa machapisho "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs mpangilio mpangilio.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
KAZI > CHAGUO
SmartFusion2 : /VCS/SmartFusion2
mpangilio wa baada : ./postlayout
DEFAULT : ./workVCS
6.6 Uendeshaji otomatiki (Uliza Swali)
Mtiririko unaweza kujiendesha kwa kutumia hati ifuatayo ya Perl file kubadilisha ModelSim run.do files kwenye hati ya ganda inayolingana ya VCS files, tengeneza saraka zinazofaa ndani ya saraka ya simulizi ya Libero SoC, na kisha endesha masimulizi.
Endesha hati file kwa kutumia sintaksia ifuatayo.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_changanua_pl
#!/usr/bin/perl -w
##################################################### #############################
#
#Matumizi: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
##################################################### ###############################
yangu ($presynth, $postsynth, $postlayout) = @ARGV;
if(mfumo(“mkdir VCS_Presynth”)) {print “mkdir imeshindwa:\n”;}
if(mfumo(“mkdir VCS_Postsynth”)) {print “mkdir imeshindwa:\n”;}
if(mfumo(“mkdir VCS_Postlayout”)) {print “mkdir imeshindwa:\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 (“../”);
uchanganuzi_fanya {
my $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
%LIB yangu = ();
$ yangufile = $_[0] ;
jimbo langu la $_[1];
fungua (INFILE,”$file”) || kufa "Haiwezi kufungua File Sababu inaweza kuwa:$!”;
ikiwa ( $state eq "presynth")
{
open(OUT1,”>presynth_main.csh”) || kufa "Haiwezi kuunda Amri File Sababu inaweza kuwa:$!”;
}
elsif ( $state eq “postsynth” )
{
open(OUT1,”>postsynth_main.csh”) || kufa "Haiwezi kuunda Amri File Sababu inaweza kuwa:$!”;
}
elsif ( $state eq "postlayout")
{
open(OUT1,”>postlayout_main.csh”) || kufa "Haiwezi kuunda Amri File Sababu inaweza kuwa:$!”;
}
mwingine
{
chapisha "Jimbo la Kuiga halipo \n" ;
}
open(OUT2,”>synopsys_sim.setup”) || kufa "Haiwezi kuunda Amri File Sababu inaweza kuwa:$!”;
# .csh file
chapisha OUT1 “#!/bin/csh -f\n\n\n” ;
#WEKA FILE
chapisha OUT2 “KAZI > CHAGUO-MSINGI\n” ;
chapisha OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
wakati (mstari wa $ =FILE>)
{
Usanidi wa VCS wa Synopsy
ikiwa (mstari wa $ =~ m/weka kimya kimya PROJECT_DIR\s+\”(.*?)\”/)
{
chapisha OUT1 “weka PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
ikiwa (mstari wa $ =~ m/\s+(\w*?)\_LIB/)
{
#chapisha “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n" ;
$LIB{$temp}++;
}
chomp (mstari wa $);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
chapisha OUT1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “TB Name : $tb \n”;
ikiwa ( $line =~ m/sdf(.*)\.sdf/)
{
chomp (mstari wa $);
$line = $1 ;
#chapisha "LINE : $line \n" ;
ikiwa (mstari wa $ =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
chapisha 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 (mstari wa $ =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
chapisha 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 (mstari wa $ =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
chapisha OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
andika:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Umbizo la SDF la ModelSim
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
Muundo wa SDF
}
}
}
chapa
OUT1 “\n\n”
;
if
($state eq “presynth”
)
{
chapa
OUT2 "presynth
: ./presynth\n”
;
chapa
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
($state eq "postsynth"
)
{
chapa
OUT2 "postsynth
: ./postsynth\n”
;
chapa
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
($state eq "postlayout"
)
{
chapisha OUT2 “postlayout : ./postlayout\n” ;
}
mwingine
{
chapisha "Jimbo la Kuiga halipo \n" ;
}
foreach $i (funguo %LIB)
{
#print "Ufunguo : $i Thamani : $LIB{$i} \n" ;
chapisha OUT2 “$i : ./$i\n” ;
}
chapisha OUT1 “\n\n” ;
chapisha OUT1 “./simv -l run.log\n” ;
chapisha OUT2 “CHAGUO CHAGUO : ./work\n” ;
funga INFILE;
funga OUT1;
funga OUT2;
}
Historia ya Usahihishaji (Kuingia kwa Microchip
Historia ya marekebisho inaeleza mabadiliko ambayo yalitekelezwa katika hati. Mabadiliko
zimeorodheshwa kwa marekebisho, kuanzia na uchapishaji wa sasa zaidi.
Marekebisho | Tarehe | Maelezo |
A | 12/2023 | Mabadiliko yafuatayo yanafanywa katika marekebisho haya: • Hati imebadilishwa kuwa kiolezo cha Microchip. Marekebisho ya Awali. • Sehemu ya 5 iliyosasishwa. Usanidi wa Siemens QuestaSim/ModelSim ili kujumuisha dokezo jipya linalofafanua athari za mwonekano wakati wa uigaji na uboreshaji. |
Msaada wa Microchip FPGA
Kikundi cha bidhaa za Microchip FPGA kinarudisha bidhaa zake kwa huduma mbalimbali za usaidizi, ikiwa ni pamoja na Huduma kwa Wateja, Kituo cha Msaada wa Kiufundi kwa Wateja, a. webtovuti, na ofisi za mauzo duniani kote.
Wateja wanapendekezwa kutembelea nyenzo za mtandaoni za Microchip kabla ya kuwasiliana na usaidizi kwani kuna uwezekano mkubwa kwamba maswali yao tayari yamejibiwa.
Wasiliana na Kituo cha Usaidizi wa Kiufundi kupitia webtovuti kwenye www.microchip.com/support. Taja nambari ya Sehemu ya Kifaa ya FPGA, chagua aina ya kesi inayofaa, na upakie muundo files wakati wa kuunda kesi ya usaidizi wa kiufundi.
Wasiliana na Huduma kwa Wateja ili upate usaidizi wa bidhaa zisizo za kiufundi, kama vile bei ya bidhaa, uboreshaji wa bidhaa, taarifa za sasisho, hali ya agizo na uidhinishaji.
- Kutoka Amerika Kaskazini, piga simu 800.262.1060
- Kutoka kwa ulimwengu wote, piga simu 650.318.4460
- Faksi, kutoka popote duniani, 650.318.8044
Taarifa za Microchip
Microchip Webtovuti
Microchip hutoa usaidizi mkondoni kupitia yetu webtovuti kwenye www.microchip.com/. Hii webtovuti hutumiwa kutengeneza files na taarifa zinazopatikana kwa urahisi kwa wateja. Baadhi ya maudhui yanayopatikana ni pamoja na:
- Usaidizi wa Bidhaa - Karatasi za data na makosa, maelezo ya maombi na sampprogramu, rasilimali za muundo, miongozo ya mtumiaji na hati za usaidizi wa maunzi, matoleo ya hivi punde ya programu na programu zilizohifadhiwa kwenye kumbukumbu
- Usaidizi wa Jumla wa Kiufundi – Maswali Yanayoulizwa Mara Kwa Mara (FAQs), maombi ya usaidizi wa kiufundi, vikundi vya majadiliano ya mtandaoni, uorodheshaji wa wanachama wa programu ya mshirika wa Microchip
- Biashara ya Microchip - Miongozo ya kuchagua bidhaa na kuagiza, matoleo ya hivi karibuni ya vyombo vya habari vya Microchip, orodha ya semina na matukio, orodha ya ofisi za mauzo ya Microchip, wasambazaji na wawakilishi wa kiwanda.
Huduma ya Arifa ya Mabadiliko ya Bidhaa
Huduma ya arifa ya mabadiliko ya bidhaa ya Microchip husaidia kuweka wateja wa kisasa kuhusu bidhaa za Microchip. Wasajili watapokea arifa ya barua pepe wakati wowote kutakuwa na mabadiliko, masasisho, masahihisho au makosa yanayohusiana na familia maalum ya bidhaa au zana ya usanidi inayovutia.
Ili kujiandikisha, nenda kwa www.microchip.com/pcn na ufuate maagizo ya usajili.
Usaidizi wa Wateja
Watumiaji wa bidhaa za Microchip wanaweza kupokea usaidizi kupitia njia kadhaa:
- Msambazaji au Mwakilishi
- Ofisi ya Uuzaji wa Mitaa
- Mhandisi wa Suluhu Zilizopachikwa (ESE)
- Msaada wa Kiufundi
Wateja wanapaswa kuwasiliana na msambazaji wao, mwakilishi au ESE kwa usaidizi. Ofisi za mauzo za ndani zinapatikana pia kusaidia wateja. Orodha ya ofisi na maeneo ya mauzo imejumuishwa katika hati hii.
Msaada wa kiufundi unapatikana kupitia webtovuti kwa: www.microchip.com/support
Kipengele cha Ulinzi wa Msimbo wa Vifaa vya Microchip
Kumbuka maelezo yafuatayo ya kipengele cha ulinzi wa msimbo kwenye bidhaa za Microchip:
- Bidhaa za Microchip hutimiza masharti yaliyomo katika Laha zao za Data za Microchip.
- Microchip inaamini kwamba familia yake ya bidhaa ni salama inapotumiwa kwa njia iliyokusudiwa, ndani ya vipimo vya uendeshaji, na chini ya hali ya kawaida.
- Thamani za microchip na kulinda kwa ukali haki zake za uvumbuzi. Majaribio ya kukiuka vipengele vya ulinzi wa msimbo wa bidhaa ya Microchip yamepigwa marufuku kabisa na yanaweza kukiuka Sheria ya Milenia ya Hakimiliki Dijiti.
- Wala Microchip au mtengenezaji mwingine yeyote wa semiconductor anaweza kuhakikisha usalama wa msimbo wake. Ulinzi wa msimbo haimaanishi kuwa tunahakikisha kuwa bidhaa "haiwezi kuvunjika".
Ulinzi wa kanuni unaendelea kubadilika. Microchip imejitolea kuendelea kuboresha vipengele vya ulinzi wa kanuni za bidhaa zetu.
Notisi ya Kisheria
Chapisho hili na maelezo yaliyo hapa yanaweza kutumika tu na bidhaa za Microchip, ikijumuisha kubuni, kujaribu na kuunganisha bidhaa za Microchip na programu yako. Matumizi ya habari hii kwa njia nyingine yoyote inakiuka masharti haya. Taarifa kuhusu programu za kifaa hutolewa kwa urahisi wako tu na inaweza kubadilishwa na masasisho. Ni jukumu lako kuhakikisha kuwa programu yako inakidhi masharti yako. Wasiliana na ofisi ya mauzo ya Microchip iliyo karibu nawe kwa usaidizi zaidi au, pata usaidizi zaidi kwa www.microchip.com/en-us/support/design-help/client-support-services.
HABARI HII IMETOLEWA NA MICROCHIP "KAMA ILIVYO". MICROCHIP HAITOI UWAKILISHI AU DHAMANA YOYOTE IKIWA YA WAZI AU INAYODHANISHWA, ILIYOANDIKWA AU KWA MDOMO, KISHERIA AU VINGINEVYO, INAYOHUSIANA NA HABARI IKIWEMO LAKINI HAINA KIKOMO KWA UDHAMINI WOWOTE ULIOHUSIKA, UTEKELEZAJI WOWOTE ULIOHUSIKA. KWA KUSUDI FULANI, AU DHAMANA INAYOHUSIANA NA HALI, UBORA, AU UTENDAJI WAKE.
HAKUNA TUKIO HILO MICROCHIP ITAWAJIBIKA KWA HASARA YOYOTE, MAALUM, ADHABU, TUKIO, AU MATOKEO YA HASARA, UHARIBIFU, GHARAMA, AU MATUMIZI YA AINA YOYOTE ILE YOYOTE INAYOHUSIANA NA HABARI AU MATUMIZI YAKE, HATA HIVYO IMETOKEA. UWEZEKANO AU MADHARA YANAONEKANA. KWA KIWANGO KAMILI KINACHORUHUSIWA NA SHERIA, UWAJIBIKAJI WA JUMLA WA MICROCHIP KUHUSU MADAI YOTE KWA NJIA YOYOTE INAYOHUSIANA NA HABARI AU MATUMIZI YAKE HAYATAZIDI KIASI CHA ADA, IKIWA NDIYO, AMBACHO UMELIPA MOJA KWA MOJA KWA UTAJIRI WA HABARI.
Matumizi ya vifaa vya Microchip katika usaidizi wa maisha na/au maombi ya usalama yako katika hatari ya mnunuzi, na mnunuzi anakubali kutetea, kufidia na kushikilia Microchip isiyo na madhara kutokana na uharibifu wowote na wote, madai, suti au gharama zinazotokana na matumizi hayo. Hakuna leseni zinazowasilishwa, kwa njia isiyo wazi au vinginevyo, chini ya haki zozote za uvumbuzi za Microchip isipokuwa kama ilivyoelezwa vinginevyo.
Alama za biashara
Jina na nembo ya Microchip, nembo ya Microchip, Adaptec, AVR, nembo ya AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus MediaLB, megaAVR, Microsemi, nembo ya Microsemi, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, nembo ya PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetri , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, na XMEGA ni chapa za biashara zilizosajiliwa za Microchip Technology Incorporated nchini Marekani na nchi nyinginezo.
AgileSwitch, APT, ClockWorks, Kampuni ya Embedded Control Solutions, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, nembo ya ProASIC Plus, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, na ZL ni alama za biashara zilizosajiliwa za Microchip Technology Incorporated nchini Marekani.
Ukandamizaji wa Ufunguo wa Karibu, AKS, Umri wa Analogi kwa Dijiti, Kiwezeshaji Chochote, AnyIn, AnyOut, Ubadilishaji Ulioboreshwa, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM Average, dsPICDEM.net , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, nembo iliyoidhinishwa na MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, Uzalishaji wa Msimbo wa Mjuzi, 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, Uvumilivu Jumla, Muda Unaoaminika, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect na ZENA ni alama za biashara za Microchip Technology Incorporated
huko USA na nchi zingine.
SQTP ni alama ya huduma ya Microchip Technology Incorporated nchini Marekani
Nembo ya Adaptec, Frequency on Demand, Silicon Storage Technology, na Symmcom ni alama za biashara zilizosajiliwa za Microchip Technology Inc. katika nchi nyingine.
GestIC ni chapa ya biashara iliyosajiliwa ya Microchip Technology Germany II GmbH & Co. KG, kampuni tanzu ya Microchip Technology Inc., katika nchi nyingine.
Alama zingine zote za biashara zilizotajwa hapa ni mali ya kampuni zao.
© 2023, Microchip Technology Incorporated na matawi yake. Haki zote zimehifadhiwa.
ISBN: 978-1-6683-3694-6
Mfumo wa Usimamizi wa Ubora
Kwa maelezo kuhusu Mifumo ya Kudhibiti Ubora ya Microchip, tafadhali tembelea www.microchip.com/quality.
MAREKANI | ASIA/PACIFIC | ASIA/PACIFIC | ULAYA |
Ofisi ya Shirika 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Simu: 480-792-7200 Faksi: 480-792-7277 Usaidizi wa Kiufundi: www.microchip.com/support Web Anwani: www.microchip.com Atlanta Duluth, GA Simu: 678-957-9614 Faksi: 678-957-1455 Austin, TX Simu: 512-257-3370 Boston Westborough, MA Simu: 774-760-0087 Faksi: 774-760-0088 Chicago Itasca, IL Simu: 630-285-0071 Faksi: 630-285-0075 Dallas Addison, TX Simu: 972-818-7423 Faksi: 972-818-2924 Detroit Novi, MI Simu: 248-848-4000 Houston, TX Simu: 281-894-5983 Indianapolis Noblesville, IN Simu: 317-773-8323 Faksi: 317-773-5453 Simu: 317-536-2380 Los Angeles Mission Viejo, CA Simu: 949-462-9523 Faksi: 949-462-9608 Simu: 951-273-7800 Raleigh, NC Simu: 919-844-7510 New York, NY Simu: 631-435-6000 San Jose, CA Simu: 408-735-9110 Simu: 408-436-4270 Kanada - Toronto Simu: 905-695-1980 Faksi: 905-695-2078 |
Australia - Sydney Simu: 61-2-9868-6733 China - Beijing Simu: 86-10-8569-7000 China - Chengdu Simu: 86-28-8665-5511 Uchina - Chongqing Simu: 86-23-8980-9588 Uchina - Dongguan Simu: 86-769-8702-9880 Uchina - Guangzhou Simu: 86-20-8755-8029 Uchina - Hangzhou Simu: 86-571-8792-8115 Uchina - Hong Kong SAR Simu: 852-2943-5100 China - Nanjing Simu: 86-25-8473-2460 Uchina - Qingdao Simu: 86-532-8502-7355 Uchina - Shanghai Simu: 86-21-3326-8000 China - Shenyang Simu: 86-24-2334-2829 China - Shenzhen Simu: 86-755-8864-2200 Uchina - Suzhou Simu: 86-186-6233-1526 Uchina - Wuhan Simu: 86-27-5980-5300 China - Xian Simu: 86-29-8833-7252 China - Xiamen Simu: 86-592-2388138 Uchina - Zhuhai Simu: 86-756-3210040 |
India - Bangalore Simu: 91-80-3090-4444 India - New Delhi Simu: 91-11-4160-8631 Uhindi - Pune Simu: 91-20-4121-0141 Japan - Osaka Simu: 81-6-6152-7160 Japan - Tokyo Simu: 81-3-6880-3770 Korea - Daegu Simu: 82-53-744-4301 Korea - Seoul Simu: 82-2-554-7200 Malaysia - Kuala Lumpur Simu: 60-3-7651-7906 Malaysia - Penang Simu: 60-4-227-8870 Ufilipino - Manila Simu: 63-2-634-9065 Singapore Simu: 65-6334-8870 Taiwan - Hsin Chu Simu: 886-3-577-8366 Taiwan - Kaohsiung Simu: 886-7-213-7830 Taiwan - Taipei Simu: 886-2-2508-8600 Thailand - Bangkok Simu: 66-2-694-1351 Vietnam - Ho Chi Minh Simu: 84-28-5448-2100 |
Austria - Wels Simu: 43-7242-2244-39 Faksi: 43-7242-2244-393 Denmark - Copenhagen Simu: 45-4485-5910 Faksi: 45-4485-2829 Ufini - Espoo Simu: 358-9-4520-820 Ufaransa - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Ujerumani - Garching Simu: 49-8931-9700 Ujerumani - Haan Simu: 49-2129-3766400 Ujerumani - Heilbronn Simu: 49-7131-72400 Ujerumani - Karlsruhe Simu: 49-721-625370 Ujerumani - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Ujerumani - Rosenheim Simu: 49-8031-354-560 Israel - Ra'anana Simu: 972-9-744-7705 Italia - Milan Simu: 39-0331-742611 Faksi: 39-0331-466781 Italia - Padova Simu: 39-049-7625286 Uholanzi - Drunen Simu: 31-416-690399 Faksi: 31-416-690340 Norway - Trondheim Simu: 47-72884388 Poland - Warsaw Simu: 48-22-3325737 Romania - Bucharest Tel: 40-21-407-87-50 Uhispania - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Uswidi - Gothenberg Tel: 46-31-704-60-40 Uswidi - Stockholm Simu: 46-8-5090-4654 Uingereza - Wokingham Simu: 44-118-921-5800 Faksi: 44-118-921-5820 |
© 2023 Microchip Technology Inc. na matawi yake
DS50003627A -
Nyaraka / Rasilimali
![]() |
Programu ya Maktaba ya Kuiga ya MICROCHIP Libero SoC [pdf] Mwongozo wa Mtumiaji DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Library Software |