Libero SoC Simulazzjoni
Istruzzjonijiet dwar is-Setup tal-Librerija
Introduzzjoni
L-għan ta 'dan id-dokument huwa li jiddeskrivi l-proċedura biex jitwaqqaf l-ambjent ta' simulazzjoni bl-użu ta 'proġett Libero SoC bħala l-input. Din id-dokumentazzjoni tikkorrispondi mal-libreriji kkompilati minn qabel ipprovduti għall-użu ma' Libero SoC v11.9 u rilaxxi ta' softwer aktar ġodda. Il-libreriji pprovduti huma kkompilati għal Verilog. L-utenti tal-VHDL jeħtieġu liċenzja li tippermetti simulazzjoni b'modalità mħallta.
Il-libreriji ta' simulazzjoni kkompilati huma disponibbli għall-għodod li ġejjin:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise u Xcelium
- Siemens QuestaSim
- Synopsys VCS
Biex titlob librerija għal simulatur differenti, ikkuntattja Appoġġ Tekniku tal-Mikroċippa.
Libero SoC Integrazzjoni
Libero SoC jappoġġja simulazzjoni bl-użu ta' ModelSim ME billi jiġġenera run.do file. Dan file jintuża minn ModelSim ME/ModelSim Pro ME biex iwaqqaf u jħaddem is-simulazzjoni. Biex tuża għodod oħra ta' simulazzjoni, tista' tiġġenera l-ModelSim ME/ModelSim Pro ME run.do u timmodifika l-iskrittura Tcl file biex tuża l-kmandi li huma kompatibbli mas-simulatur tiegħek.
1.1 Libero SoC Tcl File Ġenerazzjoni (Staqsi Mistoqsija)
Wara li toħloq u tiġġenera disinn f'Libero SoC, ibda simulazzjoni ModelSim ME/ModelSim Pro ME taħt il-fażijiet kollha tad-disinn (presynth, postsynth, u post-layout). Dan il-pass jiġġenera l-run.do file għall-ModelSim ME/ModelSim Pro ME għal kull fażi tad-disinn.
Importanti: Wara li tibda kull ġirja ta' simulazzjoni, semmi mill-ġdid il-run.do iġġenerat awtomatikament file taħt id-direttorju tas-simulazzjoni biex jipprevjeni lil Libero SoC milli jikteb dak file. Per example, il files jistgħu jissemmew mill-ġdid għal presynth_run.do, postsynth_run.do u postlayout_run.do.
Aldec Setup għal Active-HDL u Riviera-Pro (Staqsi Mistoqsija)
Il-ġirja.do file użati mill-ModelSim ME/ModelSim Pro ME jistgħu jiġu modifikati u użati għas-simulazzjoni bl-użu tas-simulaturi Aldec.
2.1 Varjabbli Ambjentali (Staqsi Mistoqsija)
Issettja l-varjabbli ambjentali tiegħek għal-liċenzja tiegħek file post:
LM_LICENSE_FILE: għandu jinkludi pointer għas-server tal-liċenzja.
2.2 Niżżel Librerija Kumpilata (Staqsi Mistoqsija)
Niżżel il-libreriji għall-Aldec Active-HDL u l-Aldec Riviera-PRO mill-Mikroċipp websit.
2.3 Konverżjoni ta' run.do għal simulazzjoni Aldec (Staqsi Mistoqsija)
Il-ġirja.do files iġġenerat minn Libero SoC għal simulazzjonijiet li jużaw l-għodda Active-HDL u Riviera-Pro jistgħu jintużaw għal simulazzjonijiet bl-użu ta 'Active-HDL u Riviera-Pro b'bidla waħda. It-tabella li ġejja telenka l-kmandi ekwivalenti għal Aldec li għandhom jiġu modifikati fil-ModelSim run.do file.
Tabella 2-1. Kmandi Ekwivalenti Aldec
ModelSim | Attiv-HDL |
vlog | alog |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | amap |
Li ġej huwa kifample run.do relatati mas-simulaturi Aldec.
- Issettja l-post tad-direttorju tax-xogħol kurrenti.
issettja dsn - Issettja isem tal-librerija li taħdem, immappja l-post tagħha, u mbagħad immappja l-post tal-familja Microchip FPGA
libreriji kkumpilati minn qabel (eżample, SmartFusion2) li fuqha qed tmexxi d-disinn tiegħek.
alib presinth
amap presynth presynth
amap SmartFusion2 - Iġbor l-HDL kollha meħtieġa files użati fid-disinn mal-librerija meħtieġa.
alog –work presynth temp.v (għal Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (għal Vhdl)
acom –work presynth testbench.vhd - Issimula d-disinn.
asim –L SmartFusion2 –L presinth –t 1ps presynth.testbench
run 10us
2.4 Kwistjonijiet Magħrufa (Staqsi Mistoqsija)
Din it-taqsima telenka l-kwistjonijiet u l-limitazzjonijiet magħrufa.
- Libreriji kkompilati bl-użu ta' Riviera-PRO huma speċifiċi għall-pjattaforma (jiġifieri libreriji ta' 64 bit ma jistgħux jitħaddmu fuq pjattaforma ta' 32 bit u viċi versa).
- Għal disinji li fihom SERDES/MDDR/FDDR, uża l-għażla li ġejja fir-run.do tiegħek files waqt li tkun qed tmexxi simulazzjonijiet wara l-kumpilazzjoni tad-disinji tagħhom:
– Attiv-HDL: asim –o2
– Riviera-PRO: asim –O2 (għal simulazzjonijiet ta’ presynth u ta’ wara t-tqassim) u asim –O5 (għal simulazzjonijiet ta’ wara t-tqassim)
Is-setup Aldec għal Active-HDL u Riviera-Pro għandha s-SARs pendenti li ġejjin. Għal aktar informazzjoni, ikkuntattja Appoġġ Tekniku tal-Mikroċippa. - SAR 49908 – Active-HDL: Żball VHDL għal simulazzjonijiet ta' blokki tal-Matematika
- SAR 50627 – Riviera-PRO 2013.02: Żbalji ta' simulazzjoni għal disinji SERDES
- SAR 50461 – Riviera-PRO: għażla asim -O2/-O5 f'simulazzjonijiet
Cadence Inċiżiva Setup (Staqsi Mistoqsija)
Għandek bżonn toħloq skript file simili għall-ModelSim ME/ModelSim Pro ME run.do biex imexxu l-
Cadence Simulatur inċiżiv. Segwi dawn il-passi u oħloq iskrittura file għal NCSim jew uża l-iskrittura file
ipprovdut biex jikkonverti l-run.do ModelSim ME/ModelSim Pro ME files fil-konfigurazzjoni files
meħtieġa biex imexxu s-simulazzjonijiet bl-użu ta’ NCSim.
Importanti: Cadence waqaf tirrilaxxa verżjonijiet ġodda tal-Intrapriża Inċiżiva
simulatur u beda jappoġġja simulatur Xcelium.
3.1 Varjabbli Ambjentali (Staqsi Mistoqsija)
Biex tħaddem is-simulatur Cadence Incisive, ikkonfigura l-varjabbli ambjentali li ġejjin:
- LM_LICENSE_FILE: irid jinkludi punter għal-liċenzja file.
- cds_root: għandu jindika l-post tad-direttorju tad-dar tal-Installazzjoni Cadence Incisive.
- PATH: irid jindika l-post tal-bin taħt id-direttorju tal-għodda indikat minn cds_root jiġifieri,
$cds_root/tools/bin/64bit (għal magna 64-bit u $cds_root/tools/bin għal magna 32-bit).
Hemm tliet modi kif jiġi stabbilit l-ambjent ta' simulazzjoni f'każ ta' bidla bejn sistemi operattivi ta' 64-bit u 32-bit:
Każ 1: Varjabbli PATH
Mexxi l-kmand li ġej:
sett path = (install_dir/tools/bin/64bit $path) għal magni 64bit u
sett path = (install_dir/tools/bin $path) għal magni 32bit
Każ 2: Uża l-Għażla tal-Linja tal-Kmand -64bit
Fil-linja tal-kmand speċifika l-għażla -64bit sabiex tinvoka l-eżekutibbli 64bit.
Każ 3: Issettjar tal-Varjabbli tal-Ambjent INCA_64BIT jew CDS_AUTO_64BIT
Il-varjabbli INCA_64BIT hija ttrattata bħala boolean. Tista' tissettja din il-varjabbli għal kwalunkwe valur jew għal string null.
setenv INCA_64BIT
Importanti: Il- Il-varjabbli ambjentali INCA_64BIT ma taffettwax għodod Cadence oħra, bħal għodod IC. Madankollu, għal għodod Inċiżivi, il-varjabbli INCA_64BIT jegħleb is-setting għall-varjabbli ambjentali CDS_AUTO_64BIT. Jekk il-varjabbli ambjentali INCA_64BIT hija ssettjata, l-għodod Inċiżivi kollha jaħdmu fil-modalità 64-bit. setenv CDS_AUTO_64BIT INCLUDE:INCA
Importanti: Il- is-sekwenza INCA trid tkun b'ittri kbar. L-eżekutibbli kollha għandhom jitħaddmu jew fil-modalità 32-bit jew fil-modalità 64-bit, tissettjax il-varjabbli biex tinkludi eżekutibbli wieħed, bħal f'dan li ġej:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Għodod Cadence oħra, bħal għodod IC, jużaw ukoll il-varjabbli ambjentali CDS_AUTO_64BIT biex jikkontrollaw l-għażla ta 'eżekutibbli 32-bit jew 64-bit. It-tabella li ġejja turi kif tista 'tissettja l-varjabbli CDS_AUTO_64BIT biex tħaddem l-għodod Inċiżivi u l-għodod IC fil-modi kollha.
Tabella 3-1. CDS_AUTO_64BIT Varjabbli
CDS_AUTO_64BIT Varjabbli | Għodda Inċiżiva | Għodod IC |
setenv CDS_AUTO_64BIT KOLLHA | 64-il bit | 64-il bit |
setenv CDS_AUTO_64BIT XEJN | 32-il bit | 32-il bit |
setenv CDS_AUTO_64BIT ESCLUD:ic_binary | 64-il bit | 32-il bit |
setenv CDS_AUTO_64BIT ESCLUD:INCA | 32-il bit | 64-il bit |
Importanti: L-għodod Inċiżivi kollha għandhom jitħaddmu jew fil-modalità 32-bit jew fil-modalità 64-bit, tużax EXCLUDE biex teskludi eżekutibbli speċifiku, bħal f'dan li ġej: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Jekk issettja l-varjabbli CDS_AUTO_64BIT biex teskludi l-għodod Inċiżivi (setenv CDS_AUTO_64BIT EXCLUDE:INCA), l-għodod Inċiżivi kollha jitmexxew fil-modalità 32-bit. Madankollu, l-għażla tal-linja tal-kmand -64bit tegħleb il-varjabbli ambjentali.
Il-konfigurazzjoni li ġejja files jgħinek timmaniġġja d-dejta tiegħek u tikkontrolla l-operat tal-għodod u l-utilitajiet tas-simulazzjoni:
- Immappjar tal-librerija file (cds.lib) — Jiddefinixxi isem loġiku għall-post tad-disinn tiegħek.
- Libreriji u jassoċjahom ma’ ismijiet ta’ direttorji fiżiċi.
- Varjabbli file (hdl.var) — Jiddefinixxi varjabbli li jaffettwaw l-imġiba ta 'għodod ta' simulazzjoni u utilitajiet.
3.2 Niżżel Librerija Kumpilata (Staqsi Mistoqsija)
Niżżel il-libreriji għal Cadence Incisive minn Microsemi's websit.
3.3 Ħolqien tal-NCSim Script File (Staqsi Mistoqsija)
Wara li toħloq kopja tal-run.do files, wettaq dawn il-passi biex tmexxi s-simulazzjoni tiegħek billi tuża NCSim:
- Oħloq cds.lib file li jiddefinixxi l-libreriji li huma aċċessibbli u l-post tagħhom. Il- file fih dikjarazzjonijiet li jimmappjaw ismijiet loġiċi tal-libreriji mal-mogħdijiet tad-direttorju fiżiku tagħhom. Per example, jekk qed taħdem simulazzjoni presenth, il-cds.lib file huwa miktub kif muri fil-codeblock li ġej.
DEFINE presynth ./presynth
IDDEFINIX COREAHBLITE_LIB ./COREAHBLITE_LIB
IDDEFINIX smartfusion2 - Oħloq hdl.var file, konfigurazzjoni fakultattiva file li fih varjabbli tal-konfigurazzjoni, li jiddetermina kif l-ambjent tad-disinn tiegħek huwa kkonfigurat. Il-varjabbli li ġej filehuma inklużi:
– Varjabbli li jintużaw biex jispeċifikaw il-librerija tax-xogħol fejn il-kompilatur jaħżen oġġetti kkumpilati u data oħra derivata.
– Għal Verilog, varjabbli (LIB_MAP, VIEW_MAP, XOGĦOL) li jintużaw biex jispeċifikaw il-libreriji u views biex tfittex meta l-elaboratur isolvi l-istanzi.
– Varjabbli li jippermettulek tiddefinixxi l-għażliet u l-argumenti tal-linja tal-kmand tal-kompilatur, tal-elaboratur u tas-simulatur.
Fil-każ ta’ simulazzjoni ta’ presinth example muri hawn fuq, ngħidu aħna għandna tliet RTL files: av, bv, u testbench.v, li jeħtieġ li jiġu kkompilati fil-libreriji presinth, COREAHBLITE_LIB, u presenth rispettivament. Il-hdl.var file jista 'jinkiteb kif muri fil-codeblock li ġej.
IDDEFINIX XOGĦOL presinth
IDDEFINI PROJECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => presynth ) - Iġbor id-disinn files bl-użu ncvlog għażla.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –aġġornament –linedebug av bv testbench.v - Elabora d-disinn billi tuża ncelab. L-elaboratur jibni ġerarkija tad-disinn ibbażata fuq l-instanzjazzjoni u l-informazzjoni tal-konfigurazzjoni fid-disinn, jistabbilixxi konnettività tas-sinjal, u jikkalkula l-valuri inizjali għall-oġġetti kollha fid-disinn. Il-ġerarkija tad-disinn elaborat hija maħżuna f'snapshot ta 'simulazzjoni, li hija r-rappreżentazzjoni tad-disinn tiegħek li s-simulatur juża biex imexxi s-simulazzjoni.
ncelab –Messaġġ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
aċċess +rwc –status worklib. :modulu
Elaborazzjoni Waqt is-simulazzjoni ta' wara t-tqassim
F'każ ta' simulazzjonijiet ta' wara t-tqassim, l-ewwel l-SDF file jeħtieġ li jiġi kkompilat qabel l-elaborazzjoni bl-użu tal-kmand ncsdfc.
ncsdfcfileisem>.sdf –outputfileisem>.sdf.X
Waqt l-elaborazzjoni uża l-output SDF ikkumpilat bl-għażla –autosdf kif muri fil-codeblock li ġej.
ncelab -autosdf –Messaġġ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –aċċess +rwc –status worklib. :module –sdf_cmd_file ./
sdf_cmd_file
L-sdf_cmd_file irid ikun kif muri fil-codeblock li ġej.
COMPILED_SDF_FILE = “ file>> - Issimula bl-użu ta 'ncsim. Wara l-elaborazzjoni tinħoloq snapshot ta 'simulazzjoni, li titgħabba minn ncsim għas-simulazzjoni. Tista 'taħdem fil-modalità lott jew modalità GUI.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –status worklib. :modulu
Importanti: It-tliet passi kollha ta 'hawn fuq tal-kompilazzjoni, l-elaborazzjoni u s-simulazzjoni jistgħu jitqiegħdu fi skript tal-qoxra file u jinxtraw mill-linja tal-kmand. Minflok ma jintużaw dawn it-tliet passi, id-disinn jista 'jiġi simulat f'pass wieħed bl-użu ta' ncverilog jew irun option kif muri fil-codeblock li ġej.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files użati fid-disinn>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
użati fid-disinn>
3.3.1 Kwistjonijiet Magħrufa (Staqsi Mistoqsija)
Soluzzjoni ta' Testbench
L-użu tad-dikjarazzjoni li ġejja biex tispeċifika l-frekwenza tal-arloġġ fit-testbench iġġenerat mill-utent, jew it-testbench default iġġenerat minn Libero SoC ma taħdimx ma NCSim.
dejjem @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Immodifika kif ġej biex tħaddem is-simulazzjoni:
dejjem #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Importanti: Miġbura libreriji għal NCSim huma speċifiċi għall-pjattaforma (jiġifieri libreriji ta' 64 bit mhumiex kompatibbli ma' pjattaforma ta' 32 bit u viċeversa).
Simulazzjonijiet ta' wara s-synth u ta' wara t-tqassim bl-użu ta' MSS u SERDES Waqt li jkunu qed isiru simulazzjonijiet ta' postsynth ta' disinji li fihom il-blokk MSS jew is-simulazzjonijiet ta' wara t-tqassim ta' disinji li jużaw SERDES, is-simulazzjonijiet BFM ma jaħdmux jekk l-għażla –libmap tkun
mhux speċifikat waqt l-elaborazzjoni. Dan għaliex waqt l-elaborazzjoni, MSS jiġi solvut mil-librerija tax-xogħol (minħabba l-irbit default u l-worklib tkun postsynth/post-layout) fejn hija biss Funzjoni Fiss.
Il-kmand ncelab għandu jinkiteb kif muri fil-blokk tal-kodiċi li ġej biex issolvi l-MSS
blokk mil-librerija SmartFusion2 ikkumpilata minn qabel.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
u l-lib.map file għandu jkun kif ġej:
konfigurazzjoni cfg1;
disinn ;
default liblist smartfusion2 ;
endconfig
Dan isolvi kwalunkwe ċellula fil-librerija SmartFusion2 qabel ma tħares fil-librerija tax-xogħol jiġifieri postsynth/post-layout.
L-għażla –libmap tista' tintuża awtomatikament waqt l-elaborazzjoni għal kull simulazzjoni (presynth, postsynth, u post-layout). Dan jevita kwistjonijiet ta' simulazzjoni li huma kkawżati minħabba riżoluzzjoni ta' każijiet mil-libreriji.
ncelab: *F,INTERR: EĊĊEZZJONI INTERNA
Din l-eċċezzjoni tal-għodda ncelab hija twissija għal disinji li fihom FDDR fi SmartFusion 2 u IGLOO 2 waqt simulazzjonijiet ta' wara s-synth u ta' wara t-tqassim bl-użu tal-għażla –libmap.
Importanti: Din il-kwistjoni ġiet irrappurtata lit-tim ta' appoġġ ta' Cadence (SAR 52113).
3.4 Sample Tcl u Shell Script Files (Staqsi Mistoqsija)
Dan li ġej files huma l-konfigurazzjoni files meħtieġa għat-twaqqif tad-disinn u l-iskript tal-qoxra file għat-tmexxija tal-kmandi NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
IDDEFINIX COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
IDDEFINIX XOGĦOL presinth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presint)
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}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presint)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/work/SB/SB.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
Kmandi.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
-xogħol presinth -logfile ncelab.log -errormax 15 -aċċess +rwc -status presiynth.testbench:modulu
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modulu
3.5 Awtomazzjoni (Staqsi Mistoqsija)
L-iskrittura li ġejja file jikkonverti l-run.do ModelSim files fil-konfigurazzjoni files meħtieġa biex imexxu simulazzjonijiet bl-użu NCSim.
Iskript File Użu
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
################################################### ############################################
##################
#Użu: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
################################################### ############################################
##################
uża POSIX;
użu strett;
tiegħi ($presynth, $postsynth, $postlayout, $familja, $lib_location) = @ARGV;
&questa_parser($presynth, $familja, $lib_location);
&questa_parser($postsynth, $familja, $lib_location);
&questa_parser($postlayout, $familja, $lib_location);
sub questa_parser {
tiegħi $ModelSim_run_do = $_[0];
tiegħi $actel_family = $_[1];
tiegħi $lib_location = $_[2];
$stat tiegħi;
jekk (-e “$ModelSim_run_do”)
{
miftuħa (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do tiegħi =FILE>;
linja $ tiegħi;
jekk ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
miftuħa (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$stat = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
miftuħa (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stat = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
miftuħa (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stat = $1;
} inkella
{
print “Inputs Ħażin mogħtija lill- file\n”;
print “#Użu: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokazzjoni_libreriji\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operazzjonijiet Ġenerali
$line =~ s/..\/disinjatur.*simulazzjoni\///g;
$linja =~ s/$state/$state\_questa/g;
#ipprintjaFILE “$linja \n”;
jekk ($line =~ m/vmap\s+.*($actel_family)/)
{
ipprintjaFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/komponent/..\/..\/komponent/g;
ipprintjaFILE “$linja \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ipprintjaFILE “$linja \n”;
} inkella
{
ipprintjaFILE “$linja \n”;
}
}
agħlaq(FIFILE);
agħlaq(OUTFILE);
} inkella {
print “$ModelSim_run_do ma jeżistix. Erġa' wettaq is-simulazzjoni \n”;
}
}
Cadence Xcelium Setup (Login tal-Mikroċippa)
Għandek bżonn toħloq skript file simili għall-ModelSim ME/ModelSim Pro ME run.do biex iħaddem is-simulatur Cadence Xcelium. Segwi dawn il-passi u oħloq iskrittura file għal Xcelium jew uża l-iskript file ipprovdut biex jikkonverti l-run.do ModelSim ME/ModelSim Pro ME files fil-konfigurazzjoni files meħtieġa biex imexxu simulazzjonijiet bl-użu ta ' Xcelium.
4.1 Varjabbli Ambjentali (Staqsi Mistoqsija)
Biex tmexxi Cadence Xcelium, ikkonfigura l-varjabbli ambjentali li ġejjin:
- LM_LICENSE_FILE: irid jinkludi punter għal-liċenzja file.
- cds_root: għandu jindika l-post tad-direttorju tad-dar ta' Cadence Incisive Installation.
- PATH: irid jindika l-post tal-bin taħt id-direttorju tal-għodda indikat minn cds_root (ie
$cds_root/tools/bin/64bit (għal magna 64 bit u $cds_root/tools/bin għal 32 bit
magna).
Hemm tliet modi kif jiġi stabbilit l-ambjent ta' simulazzjoni f'każ ta' bidla bejn sistemi operattivi ta' 64-bit u 32-bit:
Każ 1: Varjabbli PATH
sett path = (install_dir/tools/bin/64bit $path) għal magni 64bit u
sett path = (install_dir/tools/bin $path) għal magni 32bit
Każ 2: Uża l-Għażla tal-Linja tal-Kmand -64bit
Fil-linja tal-kmand speċifika l-għażla -64bit sabiex tinvoka l-eżekutibbli 64-bit.
Każ 3: Issettjar tal-Varjabbli tal-Ambjent INCA_64BIT jew CDS_AUTO_64BIT
Il-varjabbli INCA_64BIT hija ttrattata bħala boolean. Tista' tissettja din il-varjabbli għal kwalunkwe valur jew għal null
spag.
setenv INCA_64BIT
Importanti: Il- Il-varjabbli ambjentali INCA_64BIT ma taffettwax għodod Cadence oħra, bħal għodod IC. Madankollu, għal għodod Inċiżivi, il-varjabbli INCA_64BIT jegħleb is-setting għall-varjabbli ambjentali CDS_AUTO_64BIT. Jekk il-varjabbli ambjentali INCA_64BIT hija et, l-għodod Inċiżivi kollha jaħdmu fil-modalità 64-bit.
setenv CDS_AUTO_64BIT INCLUDE:INCA
Importanti: Il- is-sekwenza INCA trid tkun b'ittri kbar. L-eżekutibbli kollha għandhom jitħaddmu jew fil-modalità 2-bit jew fil-modalità 64-bit, tissettjax il-varjabbli biex tinkludi eżekutibbli wieħed, bħal f'dan li ġej:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Għodod Cadence oħra, bħal għodod IC, jużaw ukoll il-varjabbli ambjentali CDS_AUTO_64BIT biex jikkontrollaw l-għażla ta 'eżekutibbli 32-bit jew 64-bit. It-tabella li ġejja turi kif tista 'tissettja l-varjabbli CDS_AUTO_64BIT biex tħaddem l-għodod Inċiżivi u l-għodod IC fil-modi kollha.
Tabella 4-1. CDS_AUTO_64BIT Varjabbli
CDS_AUTO_64BIT Varjabbli | Għodda Inċiżiva | Għodod IC |
setenv CDS_AUTO_64BIT KOLLHA | 64-bit | 64-bit |
setenv CDS_AUTO_64BIT XEJN | 32-bit | 32-bit |
setenv CDS_AUTO_64BIT ESCLUD:ic_binary |
64-bit | 32-bit |
setenv CDS_AUTO_64BIT ESCLUD:INCA | 32-bit | 64-bit |
Importanti: L-għodod Inċiżivi kollha għandhom jitħaddmu jew fil-modalità 32-bit jew fil-modalità 64-bit, tużax ESCLUDI biex teskludi eżekutibbli speċifiku, bħal f'dan li ġej:
setenv CDS_AUTO_64BIT ESCLUD:ncelab
Jekk issettja l-varjabbli CDS_AUTO_64BIT biex teskludi l-għodod Inċiżivi (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), l-għodod Inċiżivi kollha jitmexxew fil-modalità 32-bit. Madankollu, il-
L-għażla tal-linja tal-kmand -64bit tisboq il-varjabbli ambjentali.
Il-konfigurazzjoni li ġejja files jgħinek timmaniġġja d-dejta tiegħek u tikkontrolla l-operat tal-għodod u l-utilitajiet tas-simulazzjoni:
- Immappjar tal-librerija file (cds.lib) jiddefinixxi isem loġiku għall-post tad-disinn tiegħek.
- Libreriji u jassoċjahom ma’ ismijiet ta’ direttorji fiżiċi.
- Varjabbli file (hdl.var) jiddefinixxi varjabbli li jaffettwaw l-imġieba ta 'għodod ta' simulazzjoni u utilitajiet.
4.2 Niżżel Librerija Kumpilata (Staqsi Mistoqsija)
Niżżel il-libreriji għal Cadence Xcelium minn Microsemi's websit.
4.3 Il-ħolqien tal-iskript Xcelium file (Staqsi Mistoqsija)
Wara li toħloq kopja tal-run.do files, wettaq il-passi li ġejjin biex tmexxi s-simulazzjoni tiegħek billi tuża l-iskrittura Xcelium file.
- Oħloq cds.lib file li jiddefinixxi liema libreriji huma aċċessibbli u fejn jinsabu.
Il- file fih dikjarazzjonijiet li jimmappjaw ismijiet loġiċi tal-libreriji mal-mogħdijiet tad-direttorju fiżiku tagħhom. Per example, jekk qed taħdem simulazzjoni presenth, il-cds.lib file jista 'jinkiteb kif muri fil-codeblock li ġej.
DEFINE presynth ./presynth
IDDEFINIX COREAHBLITE_LIB ./COREAHBLITE_LIB
IDDEFINIX smartfusion2 - Oħloq hdl.var file li hija konfigurazzjoni fakultattiva file li fih varjabbli tal-konfigurazzjoni, li jiddetermina kif l-ambjent tad-disinn tiegħek huwa kkonfigurat. Dawn jinkludu:
– Varjabbli li jintużaw biex jispeċifikaw il-librerija tax-xogħol fejn il-kompilatur jaħżen oġġetti kkumpilati u data oħra derivata.
– Għal Verilog, varjabbli (LIB_MAP, VIEW_MAP, XOGĦOL) li jintużaw biex jispeċifikaw il-libreriji u views biex tfittex meta l-elaboratur isolvi l-istanzi.
– Varjabbli li jippermettulek tiddefinixxi l-għażliet u l-argumenti tal-linja tal-kmand tal-kompilatur, tal-elaboratur u tas-simulatur.
Fil-każ ta’ simulazzjoni ta’ presinth example muri hawn fuq, ngħidu aħna għandna 3 RTL files av, bv, u testbench.v, li jeħtieġ li jiġu kkompilati fil-libreriji presinth, COREAHBLITE_LIB, u presenth rispettivament. Il-hdl.var file jista 'jinkiteb kif muri fil-codeblock li ġej.
IDDEFINIX XOGĦOL presinth
IDDEFINI PROJECT_DIR files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => presynth ) - Iġbor id-disinn files bl-użu ncvlog għażla.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –aġġornament –linedebug av bv testbench.v - Elabora d-disinn billi tuża ncelab. L-elaboratur jibni ġerarkija tad-disinn ibbażata fuq l-instanzjazzjoni u l-informazzjoni tal-konfigurazzjoni fid-disinn, jistabbilixxi konnettività tas-sinjal, u jikkalkula l-valuri inizjali għall-oġġetti kollha fid-disinn. Il-ġerarkija tad-disinn elaborat hija maħżuna f'snapshot ta 'simulazzjoni, li hija r-rappreżentazzjoni tad-disinn tiegħek li s-simulatur juża biex imexxi s-simulazzjoni.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
aċċess +rwc –status worklib. :modulu
Elaborazzjoni Waqt is-simulazzjoni ta' wara t-tqassim
F'każ ta' simulazzjonijiet ta' wara t-tqassim, l-ewwel l-SDF file jeħtieġ li jiġi kkompilat qabel l-elaborazzjoni bl-użu tal-kmand ncsdfc.
Xceliumfileisem>.sdf –outputfileisem>.sdf.X
Waqt l-elaborazzjoni uża l-output SDF ikkumpilat bl-għażla –autosdf kif muri fil-codeblock li ġej.
xmelab -autosdf –Messaġġ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –aċċess +rwc –status worklib. :module –sdf_cmd_file ./
sdf_cmd_file
L-sdf_cmd_file irid ikun kif muri fil-codeblock li ġej.
COMPILED_SDF_FILE = “ file>> - Simula bl-użu ta' Xcelium. Wara l-elaborazzjoni tinħoloq snapshot ta' simulazzjoni li titgħabba minn Xcelium għas-simulazzjoni. Dan jista 'jitħaddem fil-modalità lott jew modalità GUI.
xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –status worklib. :modulu
Cadence Xcelium Setup
Importanti: Kollha it-tliet passi ta 'hawn fuq tal-kompilazzjoni, l-elaborazzjoni u s-simulazzjoni jistgħu jitqiegħdu fi skript tal-qoxra file u jinxtraw mill-linja tal-kmand. Minflok ma jintużaw dawn it-tliet passi, id-disinn jista 'jiġi simulat f'pass wieħed bl-użu ta' ncverilog jew għażla xrun kif muri fil-codeblock li ġej.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files użati fid-disinn>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
użati fid-disinn>
4.3.1 Kwistjonijiet Magħrufa (Staqsi Mistoqsija)
Soluzzjoni ta' Testbench
L-użu tad-dikjarazzjoni li ġejja biex tispeċifika l-frekwenza tal-arloġġ fit-testbench iġġenerat mill-utent jew it-testbench default iġġenerat minn Libero SoC ma taħdimx ma 'Xcelium.
dejjem @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Immodifika kif ġej biex tħaddem is-simulazzjoni:
dejjem #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
Importanti: Libreriji kkumpilati għal Xcelium huma speċifiċi għall-pjattaforma (jiġifieri libreriji ta' 64 bit mhumiex kompatibbli ma' pjattaforma ta' 32 bit u viċeversa).
Simulazzjonijiet Postsynth u Post-layout li jużaw MSS u SERDES
Waqt li jkunu qed isiru simulazzjonijiet postsynth ta' disinji li fihom blokk MSS, jew simulazzjonijiet ta' wara t-tqassim ta' disinji bl-użu ta' SERDES, is-simulazzjonijiet BFM ma jaħdmux jekk l-għażla –libmap ma tkunx speċifikata waqt l-elaborazzjoni. Dan għaliex waqt l-elaborazzjoni, MSS jiġi solvut mil-librerija tax-xogħol (minħabba l-irbit default u l-worklib tkun postsynth/post-layout) fejn hija biss Funzjoni Fiss.
Il-kmand ncelab għandu jinkiteb kif muri fil-blokk tal-kodiċi li ġej biex issolvi l-blokk MSS mil-librerija kkumpilata minn qabel SmartFusion2.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
u l-lib.map file għandu jkun kif ġej:
konfigurazzjoni cfg1;
disinn ;
default liblist smartfusion2 ;
endconfig
Dan għandu jsolvi kwalunkwe ċellula fil-librerija SmartFusion2 qabel ma tfittex fil-librerija tax-xogħol jiġifieri postsynth/post-layout.
L-għażla –libmap tista' tintuża awtomatikament waqt l-elaborazzjoni għal kull simulazzjoni (presynth, postsynth u post-layout). Dan jevita kwistjonijiet ta' simulazzjoni li huma kkawżati minħabba riżoluzzjoni ta' każijiet mil-libreriji.
xmelab: *F,INTERR: EĊĊEZZJONI INTERNA
Din l-eċċezzjoni tal-għodda ncelab hija twissija għal disinji li fihom FDDR fi SmartFusion2 u IGLOO2
waqt simulazzjonijiet postsynth u post-layout bl-użu tal-għażla –libmap.
Importanti: Din il-kwistjoni ġiet irrappurtata lit-tim ta' appoġġ ta' Cadence (SAR 52113).
4.4 Sample Tcl u skript tal-qoxra files (Staqsi Mistoqsija)
Dan li ġej files huma l-konfigurazzjoni files meħtieġa għat-twaqqif tad-disinn u l-iskript tal-qoxra file għat-tmexxija tal-kmandi ta' Xcelium.
Cds.lib
IDDEFINI smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
IDDEFINIX COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
IDDEFINIX XOGĦOL presinth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presint)
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}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presint)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/komponent/work/SB/SB.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
Kmandi.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
-xogħol presinth -logfile ncelab.log -errormax 15 -aċċess +rwc -status presiynth.testbench:modulu
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:modulu
4.5 Awtomazzjoni (Login tal-Mikroċippa)
L-iskrittura li ġejja file tikkonverti ModelSim run.do files fil-konfigurazzjoni files meħtieġa biex imexxu simulazzjonijiet bl-użu ta ' Xcelium.
Iskript File Użu
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
################################################### ############################################
##################
#Użu: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
################################################### ############################################
##################
uża POSIX;
użu strett;
tiegħi ($presynth, $postsynth, $postlayout, $familja, $lib_location) = @ARGV;
&questa_parser($presynth, $familja, $lib_location);
&questa_parser($postsynth, $familja, $lib_location);
&questa_parser($postlayout, $familja, $lib_location);
sub questa_parser {
tiegħi $ModelSim_run_do = $_[0];
tiegħi $actel_family = $_[1];
tiegħi $lib_location = $_[2];
$stat tiegħi;
jekk (-e “$ModelSim_run_do”)
{
miftuħa (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do tiegħi =FILE>;
linja $ tiegħi;
jekk ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
miftuħa (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$stat = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
miftuħa (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$stat = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
miftuħa (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$stat = $1;
} inkella
{
print “Inputs Ħażin mogħtija lill- file\n”;
print “#Użu: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Lokazzjoni_libreriji\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#Operazzjonijiet Ġenerali
$line =~ s/..\/disinjatur.*simulazzjoni\///g;
$linja =~ s/$state/$state\_questa/g;
#ipprintjaFILE “$linja \n”;
jekk ($line =~ m/vmap\s+.*($actel_family)/)
{
ipprintjaFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/komponent/..\/..\/komponent/g;
ipprintjaFILE “$linja \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ipprintjaFILE “$linja \n”;
} inkella
{
ipprintjaFILE “$linja \n”;
}
}
agħlaq(FIFILE);
agħlaq(OUTFILE);
} inkella {
print “$ModelSim_run_do ma jeżistix. Erġa' wettaq is-simulazzjoni \n”;
}
}
Siemens QuestaSim Setup/ModelSim Setup (Staqsi Mistoqsija)
Il-ġirja.do files, iġġenerat mill-Libero SoC għal simulazzjonijiet bl-użu tal-ModelSim Microsemi Editions, jistgħu jintużaw għal simulazzjonijiet bl-użu ta 'QuestaSim/ModelSim SE/DE/PE b'bidla waħda. Fil-ModelSim ME/ModelSim Pro ME run.do file, il-post tal-libreriji kkumpilati minn qabel jeħtieġ li jiġi modifikat.
Importanti:
B'mod awtomatiku, l-għodda ta 'simulazzjoni minbarra l-ModelSim Pro ME twettaq ottimizzazzjoni tad-disinn waqt is-simulazzjoni li tista' tħalli impatt fuq il-viżibilità f'artifatti ta 'simulazzjoni bħal oġġetti tad-disinn u stimulu ta' input.
Dan huwa tipikament utli fit-tnaqqis tar-runtime tas-simulazzjoni għas-simulazzjonijiet kumplessi, bl-użu ta' testbenches li jivverifikaw lilu nnifsu. Madankollu, l-ottimizzazzjonijiet default jistgħu ma jkunux xierqa għas-simulazzjonijiet kollha, speċjalment f'każijiet fejn tistenna li tispezzjona b'mod grafiku r-riżultati tas-simulazzjoni billi tuża t-tieqa tal-mewġ.
Biex tindirizza l-kwistjonijiet ikkawżati minn din l-ottimizzazzjoni, trid iżżid kmandi xierqa u argumenti relatati waqt is-simulazzjoni biex tirrestawra l-viżibilità fid-disinn. Għal kmandi speċifiċi għall-għodda, ara d-dokumentazzjoni tas-simulatur li qed jintuża.
5.1 Varjabbli Ambjentali (Staqsi Mistoqsija)
Dawn li ġejjin huma l-varjabbli ambjentali meħtieġa.
- LM_LICENSE_FILE: irid jinkludi l-mogħdija tal-liċenzja file.
- MODEL_TECH: għandu jidentifika l-mogħdija għall-post tad-direttorju tad-dar tal-installazzjoni ta 'QuestaSim.
- PATH: għandu jindika l-post eżekutibbli indikat minn MODEL_TECH.
5.2 Konverżjoni ta' run.do għal Mentor QuestaSim (Staqsi Mistoqsija)
Il-ġirja.do files iġġenerat minn Libero SoC għal simulazzjonijiet li jużaw ModelSim Microsemi Editions jistgħu jintużaw għal simulazzjonijiet bl-użu ta 'QuestaSim/ModelSim_SE b'bidla waħda.
Importanti: Kollha id-disinji li huma simulati bl-użu ta 'QuestaSim għandhom jinkludu -novopt
għażla flimkien mal-kmand vsim fl-iskrittura run.do files.
5.3 Niżżel il-Librerija Miġbura (Staqsi Mistoqsija)
Niżżel il-libreriji għal Mentor Graphics QuestaSim minn Microsemi's websit.
Synopsys VCS Setup (Staqsi Mistoqsija)
Il-fluss rakkomandat minn Microsemi jiddependi fuq il-fluss Elaborate and Compile f'VCS. Dan id-dokument jinkludi skript file li juża l-iskrittura run.do files iġġenerat minn Libero SoC u jiġġenera s-setup files meħtieġa għal simulazzjoni VCS. L-iskrittura file juża l-run.do file biex tagħmel dan li ġej.
- Oħloq mapping tal-librerija file, li jsir bl-użu ta' synopsys_sim.setup file jinsab fl-istess direttorju fejn qed taħdem is-simulazzjoni VCS.
- Oħloq script shell file biex telabora u tiġbor id-disinn tiegħek billi tuża VCS.
6.1 Varjabbli Ambjentali (Staqsi Mistoqsija)
Issettja l-varjabbli ambjentali xierqa għal VCS ibbażati fuq is-setup tiegħek. Il-varjabbli ambjentali meħtieġa skont id-dokumentazzjoni VCS huma:
- LM_LICENSE_FILE: għandu jinkludi pointer għas-server tal-liċenzja.
- VCS_HOME: għandu jindika l-post tad-direttorju tad-dar tal-installazzjoni tal-VCS.
- PATH: trid tinkludi pointer għad-direttorju bin taħt id-direttorju VCS_HOME.
6.2 Niżżel Librerija Kumpilata (Staqsi Mistoqsija)
Niżżel il-libreriji għal Synopsys VCS minn Microsemi's websit.
6.3 Script ta' Simulazzjoni VCS File (Staqsi Mistoqsija)
Wara li twaqqaf VCS u tiġġenera d-disinn u l-run.do differenti files minn Libero SoC, trid:
- Oħloq l-immappjar tal-librerija file synopsys_sim.setup; dan file fih indikaturi għall-post tal-libreriji kollha li għandhom jintużaw mid-disinn.
Importanti: Il- file l-isem m'għandux jinbidel u għandu jkun jinsab fl-istess direttorju fejn tkun qed taħdem is-simulazzjoni. Hawn example għal tali a file għas-simulazzjoni ta' presinteżi.
XOGĦOL> EFAULT
SmartFusion2:
presinth : ./presynth
DEFAULT : ./xogħol - Elabora d-disinn differenti files, inkluż it-testbench, bl-użu tal-kmand tal-vlogan f'VCS. Dawn il-kmandi jistgħu jiġu inklużi fi script shell file. Li ġej huwa example tal-kmandi li huma meħtieġa biex jiġi elaborat disinn definit f'rtl.v bit-testbench tiegħu definit f'
bank tat-test.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - Iġbor id-disinn billi tuża VCS billi tuża l-kmand li ġej.
vcs –sim_res=1fs presynth.testbench
Nota: Il- Ir-riżoluzzjoni tal-ħin tas-simulazzjoni għandha tkun issettjata għal 1fs għal simulazzjoni funzjonali korretta. - Ladarba d-disinn jiġi kkompilat, ibda s-simulazzjoni billi tuża l-kmand li ġej.
./simv - Għal simulazzjoni annotata lura, il-kmand VCS għandu jkun kif muri fil-kodiċi li ġej.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
isem>: file mogħdija> –gui –l postlayout.log
6.4 Limitazzjonijiet/Eċċezzjonijiet (Staqsi Mistoqsija)
Dawn li ġejjin huma l-limitazzjonijiet/eċċezzjonijiet tas-setup ta' Synopsys VCS.
- Simulazzjonijiet VCS jistgħu jitmexxew biss għal proġetti Verilog ta 'Libero SoC. Is-simulatur VCS għandu rekwiżiti stretti tal-lingwa VHDL li mhumiex sodisfatti mill-VHDL iġġenerat awtomatikament mill-Libero SoC files.
- Irid ikollok dikjarazzjoni $finish fil-Verilog testbench biex twaqqaf is-simulazzjoni kull meta trid.
Importanti: Meta simulazzjonijiet huma mmexxija fil-modalità GUI, run time jista 'jiġi speċifikat fil-GUI.
6.5 Sample Tcl u Shell Script Files (Staqsi Mistoqsija)
Il-Perl li ġej awtomatizza l-ġenerazzjoni tas-synopsys_sim.setup file kif ukoll l-iskript tal-qoxra korrispondenti files meħtieġa biex jelaboraw, jikkompilaw, u jissimulaw id-disinn.
Jekk id-disinn juża MSS, ikkopja t-test.vec file jinsab fil-folder ta 'simulazzjoni tal-proġett Libero SoC fil-folder ta' simulazzjoni VCS. It-taqsimiet li ġejjin fihom sample run.do files iġġenerat minn Libero SoC, inkluż l-immappjar tal-librerija korrispondenti u l-iskript tal-qoxra files meħtieġa għal simulazzjoni VCS.
6.5.1 Pre-sintesi (Staqsi Mistoqsija)
Presynth_run.do
issettja bil-kwiet ACTELLIBNAME SmartFusion2
issettja bil-kwiet PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF”
jekk {[file teżisti presynth/_info]} {
eku "INFO: Presynth tal-librerija ta' simulazzjoni diġà teżisti"
} inkella {
vlib presinth
}
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” -work presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
żid il-mewġ /SD1_TB1/*
żid log -r /*
run 1000ns
presinth_main.csh
#!/bin/csh -f
issettja 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/
xogħol/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -xogħol
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
XOGĦOL > DEFAULT
SmartFusion2 : /VCS/SmartFusion2
presinth : ./presynth
DEFAULT : ./xogħol
6.5.2 Wara s-sinteżi (Staqsi Mistoqsija)
postsynth_run.do
issettja bil-kwiet ACTELLIBNAME SmartFusion2
issettja bil-kwiet PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF”
jekk {[file teżisti postsynth/_info]} {
eku "INFO: Postsynth tal-librerija ta' simulazzjoni diġà teżisti"
} inkella {
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” -work postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
żid il-mewġ /SD1_TB1/*
żid log -r /*
run 1000ns
log SD1_TB1/*
ħruġ
Postsynth_main.csh
#!/bin/csh -f
issettja 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” -xogħol
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
XOGĦOL > DEFAULT
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
DEFAULT : ./xogħol
6.5.3 Wara t-tqassim (Staqsi Mistoqsija)
postlayout_run.do
issettja bil-kwiet ACTELLIBNAME SmartFusion2
issettja bil-kwiet PROJECT_DIR “E:/ModelSim_Work/Test_DFF”
jekk {[file jeżisti ../designer/SD1/simulation/postlayout/_info]} {
eku “INFO: Librerija ta’ simulazzjoni ../designer/SD1/simulation/postlayout diġà teżisti”
} inkella {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work postlayout “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
żid il-mewġ /SD1_TB1/*
żid log -r /*
run 1000ns
Postlayout_main.csh
#!/bin/csh -f
issettja PROJECT_DIR = “/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
disinjatur/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -xogħol
postlayout “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
XOGĦOL > DEFAULT
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
DEFAULT : ./workVCS
6.6 Awtomazzjoni (Staqsi Mistoqsija)
Il-fluss jista 'jiġi awtomatizzat billi tuża l-iskrittura Perl li ġejja file biex tikkonverti l-run.do ModelSim files fis-script tal-qoxra kompatibbli VCS files, oħloq direttorji xierqa ġewwa d-direttorju ta 'simulazzjoni ta' Libero SoC, u mbagħad mexxi simulazzjonijiet.
Mexxi l-iskrittura file bl-użu tas-sintassi li ġejja.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
################################################### ###########################
#
#Użu: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
################################################### #############################
tiegħi ($presynth, $postsynth, $postlayout) = @ARGV;
if(sistema ("mkdir VCS_Presynth")) {print "mkdir falla:\n";}
if(sistema ("mkdir VCS_Postsynth")) {print "mkdir falla:\n";}
if(sistema ("mkdir VCS_Postlayout")) {print "mkdir falla:\n";}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,”presynth”);
chdir (“../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
chdir (“../”);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,”postlayout”);
chdir (“../”);
sub parse_do {
$vlog tiegħi = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k" ;
%LIB tiegħi = ();
$ tiegħifile = $_[0] ;
$l-istat tiegħi = $_[1];
miftuħa (FIFILE,”$file”) || die “Ma nistax tiftaħ File Ir-raġuni tista’ tkun: $!”;
jekk ($state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || die “Ma tistax toħloq Kmand File Ir-raġuni tista’ tkun: $!”;
}
elsif ($state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || die “Ma tistax toħloq Kmand File Ir-raġuni tista’ tkun: $!”;
}
elsif ($state eq “postlayout”)
{
open(OUT1,”>postlayout_main.csh”) || die “Ma tistax toħloq Kmand File Ir-raġuni tista’ tkun: $!”;
}
inkella
{
print “L-Istat tas-Simulazzjoni huwa nieqes \n” ;
}
open(OUT2,”>synopsys_sim.setup”) || die “Ma tistax toħloq Kmand File Ir-raġuni tista’ tkun: $!”;
# .csh file
print OUT1 "#!/bin/csh -f\n\n\n" ;
# SET UP FILE
print OUT2 "XOGĦOL > DEFAULT\n" ;
print OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
filwaqt li ($line =FILE>)
{
Setup ta' Synopsys VCS
jekk ($line =~ m/settja bil-kwiet PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 “sett PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
jekk ($line =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp($line);
$linja =~ s/^vlog/$vlog/ ;
$linja =~ s/ //g;
print OUT1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) ||
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print “Isem TB : $tb \n”;
jekk ($linja =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$linja = $1 ;
#print “LINE : $line \n” ;
jekk ($linja =~ m/max/)
{
$linja =~ s/max \/// ;
$linja =~ 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/)
{
$linja =~ s/min \/// ;
$linja =~ 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 ($linja =~ m/tip/)
{
$linja =~ s/tip \/// ;
$linja =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — Format ModelSim SDF
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
Format SDF
}
}
}
istampar
OUT1 “\n\n”
;
if
( $state eq “presynth”
)
{
istampar
OUT2 “presynth
: ./presynth\n”
;
istampar
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postsynth”
)
{
istampar
OUT2 “postsynth
: ./postsynth\n”
;
istampar
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
( $state eq “postlayout”
)
{
print OUT2 “postlayout : ./postlayout\n” ;
}
inkella
{
print “L-Istat tas-Simulazzjoni huwa nieqes \n” ;
}
foreach $i (ċwievet %LIB)
{
#print “Key : $i Valur : $LIB{$i} \n” ;
print OUT2 “$i : ./$i\n” ;
}
print OUT1 “\n\n” ;
print OUT1 "./simv -l run.log\n" ;
print OUT2 “DEFAULT : ./xogħol\n” ;
qrib INFILE;
agħlaq OUT1;
agħlaq OUT2;
}
Storja tar-reviżjoni (Login tal-Mikroċippa
L-istorja tar-reviżjoni tiddeskrivi l-bidliet li ġew implimentati fid-dokument. Il-bidliet
huma elenkati b'reviżjoni, li tibda bil-pubblikazzjoni l-aktar attwali.
Reviżjoni | Data | Deskrizzjoni |
A | 12/2023 | Il-bidliet li ġejjin huma magħmula f'din ir-reviżjoni: • Dokument konvertit għal mudell ta 'Mikroċippa. Reviżjoni Inizjali. • Sezzjoni aġġornata 5. Siemens QuestaSim Setup/ModelSim Setup biex tinkludi nota ġdida li tispjega l-impatt fuq il-viżibilità waqt is-simulazzjoni u l-ottimizzazzjoni. |
Appoġġ FPGA Microchip
Il-grupp ta' prodotti Microchip FPGA jappoġġja l-prodotti tiegħu b'diversi servizzi ta' appoġġ, inkluż is-Servizz tal-Klijent, iċ-Ċentru ta' Appoġġ Tekniku tal-Klijent, websit, u uffiċċji tal-bejgħ madwar id-dinja.
Il-klijenti huma ssuġġeriti li jżuru r-riżorsi onlajn tal-Mikroċippa qabel ma jikkuntattjaw lill-appoġġ peress li huwa probabbli ħafna li l-mistoqsijiet tagħhom diġà ġew imwieġba.
Ikkuntattja Ċentru ta' Appoġġ Tekniku permezz tal- websit fuq www.microchip.com/support. Semmi n-numru tal-Parti tal-Apparat FPGA, agħżel il-kategorija tal-każ xierqa, u ttella 'disinn files filwaqt li toħloq każ ta ' appoġġ tekniku.
Ikkuntattja lis-Servizz tal-Klijent għal appoġġ mhux tekniku tal-prodott, bħall-ipprezzar tal-prodott, titjib tal-prodott, informazzjoni ta’ aġġornament, status tal-ordni, u awtorizzazzjoni.
- Mill-Amerika ta' Fuq, ċempel 800.262.1060
- Mill-bqija tad-dinja, ċempel 650.318.4460
- Fax, minn kullimkien fid-dinja, 650.318.8044
Informazzjoni dwar il-Mikroċippa
Il-Mikroċippa Websit
Microchip jipprovdi appoġġ onlajn permezz tagħna websit fuq www.microchip.com/. Dan websit huwa użat biex tagħmel files u informazzjoni faċilment disponibbli għall-klijenti. Uħud mill-kontenut disponibbli jinkludi:
- Appoġġ għall-Prodott - Folji tad-dejta u errata, noti tal-applikazzjoni u sample programmi, riżorsi tad-disinn, gwidi tal-utent u dokumenti ta 'appoġġ tal-ħardwer, l-aħħar rilaxxi ta' softwer u softwer arkivjat
- Appoġġ Tekniku Ġenerali – Mistoqsijiet Frekwenti (FAQs), talbiet ta’ appoġġ tekniku, gruppi ta’ diskussjoni onlajn, lista tal-membri tal-programm tas-sieħba tad-disinn ta’ Microchip
- Negozju tal-Mikroċippa – Selettur tal-prodotti u gwidi tal-ordnijiet, l-aħħar stqarrijiet għall-istampa tal-Mikroċippa, elenku ta’ seminars u avvenimenti, listi tal-uffiċċji tal-bejgħ tal-Mikroċipp, distributuri u rappreżentanti tal-fabbriki
Servizz ta' Notifika ta' Bidla fil-Prodott
Is-servizz ta 'notifika tal-bidla tal-prodott ta' Microchip jgħin biex iżomm lill-klijenti kurrenti dwar il-prodotti Microchip. L-abbonati se jirċievu notifika bl-email kull meta jkun hemm bidliet, aġġornamenti, reviżjonijiet jew errata relatati ma 'familja ta' prodotti speċifikata jew għodda ta 'żvilupp ta' interess.
Biex tirreġistra, mur fuq www.microchip.com/pcn u segwi l-istruzzjonijiet tar-reġistrazzjoni.
Appoġġ għall-Klijent
L-utenti tal-prodotti Microchip jistgħu jirċievu assistenza permezz ta’ diversi mezzi:
- Distributur jew Rappreżentant
- Uffiċċju tal-Bejgħ Lokali
- Inġinier tas-Soluzzjonijiet Inkorporati (ESE)
- Appoġġ Tekniku
Il-klijenti għandhom jikkuntattjaw lid-distributur, ir-rappreżentant jew l-ESE tagħhom għall-appoġġ. Uffiċċji tal-bejgħ lokali huma wkoll disponibbli biex jgħinu lill-klijenti. Lista ta' uffiċċji u postijiet tal-bejgħ hija inkluża f'dan id-dokument.
L-appoġġ tekniku huwa disponibbli permezz tal- websit fuq: www.microchip.com/support
Karatteristika tal-Protezzjoni tal-Kodiċi tat-Tagħmir tal-Mikroċippa
Innota d-dettalji li ġejjin tal-karatteristika tal-protezzjoni tal-kodiċi fuq il-prodotti Microchip:
- Il-prodotti tal-Mikroċippa jissodisfaw l-ispeċifikazzjonijiet li jinsabu fl-Iskeda tad-Data tal-Mikroċippa partikolari tagħhom.
- Microchip jemmen li l-familja ta 'prodotti tagħha hija sigura meta tintuża fil-mod maħsub, fi ħdan l-ispeċifikazzjonijiet operattivi, u taħt kundizzjonijiet normali.
- Microchip valuri u jipproteġi b'mod aggressiv id-drittijiet tal-proprjetà intellettwali tiegħu. It-tentattivi biex jiksru l-karatteristiċi tal-protezzjoni tal-kodiċi tal-prodott Microchip huma strettament ipprojbiti u jistgħu jiksru l-Att dwar id-Dritt tal-Millenju Diġitali.
- La Microchip u lanqas kwalunkwe manifattur ieħor tas-semikondutturi ma jistgħu jiggarantixxu s-sigurtà tal-kodiċi tiegħu. Il-protezzjoni tal-kodiċi ma tfissirx li qed niggarantixxu li l-prodott huwa "li ma jinkisirx".
Il-protezzjoni tal-kodiċi qed tevolvi kontinwament. Microchip hija impenjata li ttejjeb kontinwament il-karatteristiċi tal-protezzjoni tal-kodiċi tal-prodotti tagħna.
Avviż Legali
Din il-pubblikazzjoni u l-informazzjoni hawnhekk jistgħu jintużaw biss mal-prodotti Microchip, inkluż biex jiddisinjaw, jittestjaw, u jintegraw prodotti Microchip mal-applikazzjoni tiegħek. L-użu ta' din l-informazzjoni bi kwalunkwe mod ieħor jikser dawn it-termini. L-informazzjoni dwar l-applikazzjonijiet tal-apparat hija pprovduta biss għall-konvenjenza tiegħek u tista’ tiġi sostitwita minn aġġornamenti. Hija r-responsabbiltà tiegħek li tiżgura li l-applikazzjoni tiegħek tilħaq l-ispeċifikazzjonijiet tiegħek. Ikkuntattja l-uffiċċju lokali tal-bejgħ tal-Mikroċippa tiegħek għal appoġġ addizzjonali jew, ikseb appoġġ addizzjonali fuq www.microchip.com/en-us/support/design-help/client-support-services.
DIN L-INFORMAZZJONI HIJA PROVVISTA MILL-MICROCHIP “KIF INHI”. MICROCHIP MA JAGĦMEL L-EBDA RAPPREŻENTAZZJONIJIET JEW GARANZIJI TA’ KULL TIP KEMM KEMM ESPLIĊI JEW IMPLIKATI, BIL-MIKTUBA JEW ORALI, STATUTAJI JEW MOD IEĦOR, RELATATI MA’ L-INFORMAZZJONI INKLUŻI IMMA MHUX LIMITATA GĦAL KWALUNKWE GARANZIJI IMPLICITI TA’ NUQQAS TA’ Ksur, KUMMERĊJALITÀ U PARTECJENZA GĦALL-AFFARIJIET. GARANZIJI RELATATI MAL-KONDIZZJONI, KWALITÀ, JEW PRESTAZZJONI TAGĦHA.
FL-EBDA KAŻ MIKROCHIP MA JKUN RESPONSABBLI GĦAL KWALUNKWE TELF INDIRETT, SPEĊJALI, PUNITTIVI, INĊIDENTALI, JEW KONSEKWENZJALI, ĦSARA, SPIŻA, JEW SPEJJA TA’ KULL TIP RELATATI MA’ L-INFORMAZZJONI JEW L-UŻU TAGĦHA, IKUN IKKAWŻAT, ANKE KIF JINKUN ADMIKU. POSSIBILITÀ JEW IL-DANNI HUMA PREVESTIBLI. SAL-KIT SĦIĦ PERMESS MILL-LIĠI, IR-RESPONSABBILTÀ TOTALI TA' MICROCHIP DWAR KOLLHA TALBIET B'XI MOD RELATATI MA' L-INFORMAZZJONI JEW L-UŻU TAGĦHA MHUX SE TAQBED MILL-AMMONT TA' MIŻATI, JEKK HEKK, LI INTI ĦALLAS DIRETTAMENT LILL-MICROCHIP GĦALL-INFORMAZZJONI.
L-użu ta 'apparati Microchip f'applikazzjonijiet ta' appoġġ għall-ħajja u/jew sigurtà huwa kompletament għar-riskju tax-xerrej, u x-xerrej jaqbel li jiddefendi, jindennizza u jżomm lil Microchip mingħajr ħsara minn kull ħsara, pretensjoni, ilbiesi, jew spejjeż li jirriżultaw minn tali użu. L-ebda liċenzja ma tingħata, impliċitament jew mod ieħor, taħt xi drittijiet ta' proprjetà intellettwali ta' Microchip sakemm ma jkunx iddikjarat mod ieħor.
Trademarks
L-isem u l-logo tal-Mikroċippa, il-logo tal-Mikroċippa, Adaptec, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStyluuchs, MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, logo MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, u XMEGA huma trademarks reġistrati ta' Microchip Technology Incorporated fl-Istati Uniti u f'pajjiżi oħra.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, u ZL huma trademarks reġistrati ta' Microchip Technology Incorporated fl-Istati Uniti.
Soppressjoni taċ-ċavetta adjaċenti, AKS, Analog-for-the-Digital Age, Kwalunkwe Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM Media Matching, Dynamic Matching. , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programmazzjoni Serjali In-Circuit, ICSP, INICnet, Parallelment Intelliġenti, IntelliMOS, Konnettività Inter-Chip, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, logo MPLAB Certified, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, u ZENA huma trademarks ta’ Microchip Technology Incorporated
fl-Istati Uniti u pajjiżi oħra.
SQTP hija marka ta' servizz ta' Microchip Technology Incorporated fl-Istati Uniti
Il-logo Adaptec, Frequency on Demand, Silicon Storage Technology, u Symmcom huma trademarks reġistrati ta' Microchip Technology Inc. f'pajjiżi oħra.
GestIC hija trademark reġistrata ta' Microchip Technology Germany II GmbH & Co. KG, sussidjarja ta' Microchip Technology Inc., f'pajjiżi oħra.
It-trademarks l-oħra kollha msemmija hawn huma proprjetà tal-kumpaniji rispettivi tagħhom.
© 2023, Microchip Technology Incorporated u s-sussidjarji tagħha. Id-Drittijiet Kollha Riservati.
ISBN: 978-1-6683-3694-6
Sistema ta 'Ġestjoni tal-Kwalità
Għal informazzjoni dwar is-Sistemi ta' Ġestjoni tal-Kwalità ta' Microchip, jekk jogħġbok żur www.microchip.com/quality.
L-AMERIKA | ASJA/PAĊIFIKU | ASJA/PAĊIFIKU | L-EWROPA |
Uffiċċju Korporattiv 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Appoġġ Tekniku: www.microchip.com/support Web Indirizz: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Kanada – Toronto Tel: 905-695-1980 Fax: 905-695-2078 |
Awstralja – Sydney Tel: 61-2-9868-6733 Iċ-Ċina – Beijing Tel: 86-10-8569-7000 Iċ-Ċina – Chengdu Tel: 86-28-8665-5511 Iċ-Ċina – Chongqing Tel: 86-23-8980-9588 Iċ-Ċina – Dongguan Tel: 86-769-8702-9880 Ċina – Guangzhou Tel: 86-20-8755-8029 Iċ-Ċina – Hangzhou Tel: 86-571-8792-8115 Iċ-Ċina – Hong Kong SAR Tel: 852-2943-5100 Iċ-Ċina – Nanjing Tel: 86-25-8473-2460 Iċ-Ċina – Qingdao Tel: 86-532-8502-7355 Iċ-Ċina – Shanghai Tel: 86-21-3326-8000 Iċ-Ċina – Shenyang Tel: 86-24-2334-2829 Ċina – Shenzhen Tel: 86-755-8864-2200 Iċ-Ċina – Suzhou Tel: 86-186-6233-1526 Iċ-Ċina – Wuhan Tel: 86-27-5980-5300 Iċ-Ċina – Xian Tel: 86-29-8833-7252 Iċ-Ċina – Xiamen Tel: 86-592-2388138 Iċ-Ċina – Zhuhai Tel: 86-756-3210040 |
Indja – Bangalore Tel: 91-80-3090-4444 Indja – New Delhi Tel: 91-11-4160-8631 Indja - Pune Tel: 91-20-4121-0141 Ġappun – Osaka Tel: 81-6-6152-7160 Ġappun – Tokyo Tel: 81-3-6880- 3770 Korea – Daegu Tel: 82-53-744-4301 Korea – Seoul Tel: 82-2-554-7200 Malasja – Kuala Lumpur Tel: 60-3-7651-7906 Malasja – Penang Tel: 60-4-227-8870 Filippini – Manila Tel: 63-2-634-9065 Singapor Tel: 65-6334-8870 Tajwan – Hsin Chu Tel: 886-3-577-8366 Tajwan – Kaohsiung Tel: 886-7-213-7830 Tajwan – Tajpej Tel: 886-2-2508-8600 Tajlandja – Bangkok Tel: 66-2-694-1351 Vjetnam – Ho Chi Minh Tel: 84-28-5448-2100 |
L-Awstrija – Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Id-Danimarka – Kopenħagen Tel: 45-4485-5910 Fax: 45-4485-2829 Il-Finlandja – Espoo Tel: 358-9-4520-820 Franza – Pariġi Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Il-Ġermanja – Garching Tel: 49-8931-9700 Il-Ġermanja – Haan Tel: 49-2129-3766400 Il-Ġermanja – Heilbronn Tel: 49-7131-72400 Il-Ġermanja – Karlsruhe Tel: 49-721-625370 Il-Ġermanja – Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Il-Ġermanja – Rosenheim Tel: 49-8031-354-560 Iżrael – Ra'anana Tel: 972-9-744-7705 Italja – Milan Tel: 39-0331-742611 Fax: 39-0331-466781 L-Italja – Padova Tel: 39-049-7625286 Olanda – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norveġja – Trondheim Tel: 47-72884388 Polonja – Varsavja Tel: 48-22-3325737 Rumanija – Bukarest Tel: 40-21-407-87-50 Spanja – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 L-Isvezja – Gothenberg Tel: 46-31-704-60-40 L-Isvezja – Stokkolma Tel: 46-8-5090-4654 Renju Unit – Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
© 2023 Microchip Technology Inc. u s-sussidjarji tagħha
DS50003627A –
Dokumenti / Riżorsi
![]() |
Softwer tal-Librerija ta' Simulazzjoni MICROCHIP Libero SoC [pdfGwida għall-Utent DS50003627A, Software tal-Librerija ta' Simulazzjoni tas-SoC Libero, Softwer tal-Librerija ta' Simulazzjoni tas-SoC, Softwer tal-Librerija ta' Simulazzjoni, Software tal-Librerija, Software |