logo ng MICROCHIP Libero SoC Simulation
Mga Tagubilin sa Pag-setup ng Library

Panimula

(Magtanong)

Ang layunin ng dokumentong ito ay ilarawan ang pamamaraan upang i-set up ang simulation environment gamit ang isang Libero SoC project bilang input. Ang dokumentasyong ito ay tumutugma sa mga pre-compiled na library na ibinigay para sa paggamit sa Libero SoC v11.9 at mas bagong software release. Ang mga library na ibinigay ay pinagsama-sama para sa Verilog. Ang mga gumagamit ng VHDL ay nangangailangan ng lisensya na nagpapahintulot sa mixed-mode na simulation.
Ang pinagsama-samang simulation library ay magagamit para sa mga sumusunod na tool:

  • Aldec Active-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise at Xcelium
  • Siemens QuestaSim
  • Synopsys VCS

Para humiling ng library para sa ibang simulator, makipag-ugnayan Suporta sa Teknikal na Microchip.

Pagsasama ng Libero SoC

(Magtanong)

Sinusuportahan ng Libero SoC ang simulation gamit ang ModelSim ME sa pamamagitan ng pagbuo ng run.do file. Ito file ay ginagamit ng ModelSim ME/ModelSim Pro ME para i-set up at patakbuhin ang simulation. Upang gumamit ng iba pang mga tool sa simulation, maaari kang bumuo ng ModelSim ME/ModelSim Pro ME run.do at baguhin ang Tcl script file para gamitin ang mga command na tugma sa iyong simulator.
1.1 Libero SoC Tcl File henerasyon (Magtanong)
Pagkatapos gumawa at bumuo ng disenyo sa Libero SoC, magsimula ng ModelSim ME/ModelSim Pro ME simulation sa ilalim ng lahat ng yugto ng disenyo (presynth, postsynth, at post-layout). Ang hakbang na ito ay bumubuo ng run.do file para sa ModelSim ME/ModelSim Pro ME para sa bawat yugto ng disenyo.
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Pagkatapos simulan ang bawat simulation run, palitan ang pangalan ng auto-generated run.do file sa ilalim ng direktoryo ng simulation upang maiwasan ang Libero SoC na ma-overwrite iyon file. Para kay example, ang files ay maaaring palitan ng pangalan sa presynth_run.do, postsynth_run.do at postlayout_run.do.

Aldec Setup para sa Active-HDL at Riviera-Pro (Magtanong)

Ang run.do file na ginagamit ng ModelSim ME/ModelSim Pro ME ay maaaring mabago at magamit para sa simulation gamit ang mga Aldec simulator.
2.1 Variable ng Kapaligiran (Magtanong)
Itakda ang iyong environment variable sa iyong lisensya file lokasyon:
LM_LICENSE_FILE: dapat magsama ng pointer sa server ng lisensya.
2.2 I-download ang Compiled Library (Magtanong)
I-download ang mga aklatan para sa Aldec Active-HDL at ang Aldec Riviera-PRO mula sa Microchip website.
2.3 Pag-convert ng run.do para sa Aldec simulation (Magtanong)
Ang run.do files na binuo ng Libero SoC para sa mga simulation gamit ang Active-HDL at Riviera-Pro tool ay maaaring gamitin para sa mga simulation gamit ang Active-HDL at Riviera-Pro na may isang pagbabago. Inililista ng sumusunod na talahanayan ang mga command na katumbas ng Aldec upang baguhin sa ModelSim run.do file.
Talahanayan 2-1. Aldec Equivalent Commands

ModelSim Aktibo-HDL
vlog alog
vcom acom
vlib alib
vsim asim
vmap amap

Ang sumusunod ay bilangample run.do na may kaugnayan sa Aldec simulators.

  1. Itakda ang lokasyon ng kasalukuyang gumaganang direktoryo.
    itakda ang dsn
  2. Magtakda ng gumaganang pangalan ng library, i-map ang lokasyon nito, at pagkatapos ay i-map ang lokasyon ng pamilya ng Microchip FPGA
    mga precompiled na aklatan (para sa halample, SmartFusion2) kung saan mo pinapatakbo ang iyong disenyo.
    alib presynth
    amap presynth presynth
    amap SmartFusion2
  3. Ipunin ang lahat ng kinakailangang HDL files ginamit sa disenyo na may kinakailangang library.
    alog –work presynth temp.v (para sa Verilog)
    alog –work presynth testbench.v
    acom –work presynth temp.vhd (para sa Vhdl)
    acom –work presynth testbench.vhd
  4. Gayahin ang disenyo.
    asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    tumakbo 10us

2.4 Mga Kilalang Isyu (Magtanong)
Inililista ng seksyong ito ang mga kilalang isyu at limitasyon.

  • Ang mga aklatan na pinagsama-sama gamit ang Riviera-PRO ay partikular sa platform (ibig sabihin, ang mga 64-bit na aklatan ay hindi maaaring patakbuhin sa 32-bit na platform at vice versa).
  • Para sa mga disenyong naglalaman ng SERDES/MDDR/FDDR, gamitin ang sumusunod na opsyon sa iyong run.do files habang nagpapatakbo ng mga simulation pagkatapos i-compile ang kanilang mga disenyo:
    – Active-HDL: asim –o2
    – Riviera-PRO: asim –O2 (para sa presynth at post-layout simulation ) at asim –O5 (para sa post-layout simulation)
    Ang setup ng Aldec para sa Active-HDL at Riviera-Pro ay may mga sumusunod na nakabinbing SAR. Para sa karagdagang impormasyon, makipag-ugnayan Suporta sa Teknikal na Microchip.
  • SAR 49908 – Active-HDL: VHDL Error para sa Math block simulation
  • SAR 50627 – Riviera-PRO 2013.02: Mga error sa simulation para sa mga disenyo ng SERDES
  • SAR 50461 – Riviera-PRO: asim -O2/-O5 na opsyon sa mga simulation

Pag-set up ng Cadence Incisive (Magtanong)

Kailangan mong gumawa ng script file katulad ng ModelSim ME/ModelSim Pro ME run.do upang patakbuhin ang
Cadence Incisive simulator. Sundin ang mga hakbang na ito at gumawa ng script file para sa NCSim o gamitin ang script file
ibinigay upang i-convert ang ModelSim ME/ModelSim Pro ME run.do files sa pagsasaayos files
kailangan upang patakbuhin ang mga simulation gamit ang NCSim.
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Cadence ay tumigil sa pagpapalabas ng mga bagong bersyon ng Incisive Enterprise
simulator at nagsimulang suportahan ang Xcelium simulator.

3.1 Mga Variable sa Kapaligiran (Magtanong)
Upang patakbuhin ang Cadence Incisive simulator, i-configure ang mga sumusunod na variable ng kapaligiran:

  1. LM_LICENSE_FILE: dapat may kasamang pointer sa lisensya file.
  2. cds_root: dapat tumuro sa lokasyon ng home directory ng Cadence Incisive Installation.
  3. PATH: dapat tumuro sa lokasyon ng bin sa ilalim ng direktoryo ng mga tool na itinuro ng cds_root iyon ay,
    $cds_root/tools/bin/64bit (para sa isang 64-bit na makina at $cds_root/tools/bin para sa isang 32-bit na makina).
    May tatlong paraan ng pag-set up ng simulation environment kung sakaling lumipat sa pagitan ng 64-bit at 32-bit na operating system:

Case 1: PATH Variable
Patakbuhin ang sumusunod na command:
itakda ang landas = (install_dir/tools/bin/64bit $path) para sa 64bit machine at
itakda ang landas = (install_dir/tools/bin $path) para sa 32bit na makina
Case 2: Gamit ang -64bit Command-line Option
Sa command-line, tukuyin ang -64bit na opsyon para ma-invoke ang 64bit executable.
Case 3: Pagtatakda ng INCA_64BIT o CDS_AUTO_64BIT Environment Variable
Ang INCA_64BIT variable ay itinuturing bilang boolean. Maaari mong itakda ang variable na ito sa anumang halaga o sa isang null string.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang Ang variable ng kapaligiran ng INCA_64BIT ay hindi nakakaapekto sa iba pang mga tool sa Cadence, tulad ng mga tool sa IC. Gayunpaman, para sa mga Incisive na tool, in-override ng INCA_64BIT variable ang setting para sa CDS_AUTO_64BIT environment variable. Kung ang INCA_64BIT environment variable ay nakatakda, lahat ng Incisive tool ay tumatakbo sa 64-bit na mode. setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang Ang string ng INCA ay dapat nasa uppercase. Ang lahat ng mga executable ay dapat na tumakbo sa alinman sa 32-bit mode o sa 64-bit na mode, huwag itakda ang variable na magsama ng isang executable, tulad ng sa mga sumusunod:
setenv CDS_AUTO_64BIT INCLUDE:ncelab

Ginagamit din ng iba pang mga tool ng Cadence, gaya ng mga IC tool, ang CDS_AUTO_64BIT environment variable upang kontrolin ang pagpili ng 32-bit o 64-bit na mga executable. Ipinapakita ng sumusunod na talahanayan kung paano mo maitatakda ang variable na CDS_AUTO_64BIT upang patakbuhin ang mga Incisive na tool at IC tool sa lahat ng mga mode.
Talahanayan 3-1. Mga Variable ng CDS_AUTO_64BIT

Variable ng CDS_AUTO_64BIT Mga Kasangkapan na Mapanindigan Mga Tool sa IC
setenv CDS_AUTO_64BIT LAHAT 64 bit 64 bit
setenv CDS_AUTO_64BIT WALA 32 bit 32 bit
setenv CDS_AUTO_64BIT IBUKOD:ic_binary 64 bit 32 bit
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32 bit 64 bit

MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang lahat ng Incisive na tool ay dapat tumakbo sa alinman sa 32-bit na mode o sa 64-bit na mode, huwag gumamit ng EXCLUDE upang ibukod ang isang partikular na executable, tulad ng sa sumusunod: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Kung itinakda mo ang variable na CDS_AUTO_64BIT upang ibukod ang mga Incisive na tool (setenv CDS_AUTO_64BIT EXCLUDE:INCA), lahat ng Incisive na tool ay pinapatakbo sa 32-bit na mode. Gayunpaman, ang -64bit command-line na opsyon ay na-override ang environment variable.
Ang sumusunod na configuration fileTinutulungan ka nitong pamahalaan ang iyong data at kontrolin ang pagpapatakbo ng mga tool at utility ng simulation:

  • Pagmamapa ng aklatan file (cds.lib)—Tumutukoy ng lohikal na pangalan para sa lokasyon ng iyong disenyo.
  • Mga aklatan at iniuugnay ang mga ito sa mga pangalan ng pisikal na direktoryo.
  • Mga variable file (hdl.var)—Tinutukoy ang mga variable na nakakaapekto sa gawi ng mga simulation tool at utility.

3.2 I-download ang Compiled Library (Magtanong)
I-download ang mga aklatan para sa Cadence Incisive mula sa Microsemi's website.
3.3 Paglikha ng NCSim Script File (Magtanong)
Pagkatapos gumawa ng kopya ng run.do files, gawin ang mga hakbang na ito upang patakbuhin ang iyong simulation gamit ang NCSim:

  1. Gumawa ng cds.lib file na tumutukoy sa mga aklatan na naa-access at ang kanilang lokasyon. Ang file naglalaman ng mga pahayag na nagmamapa ng mga lohikal na pangalan ng library sa kanilang mga pisikal na path ng direktoryo. Para kay exampAt, kung nagpapatakbo ka ng presynth simulation, ang cds.lib file ay nakasulat tulad ng ipinapakita sa sumusunod na codeblock.
    DEFINE presynth ./presynth
    I-DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
    MAKILALA ang smartfusion2
  2. Gumawa ng hdl.var file, isang opsyonal na pagsasaayos file na naglalaman ng mga variable ng configuration, na tumutukoy kung paano na-configure ang iyong kapaligiran sa disenyo. Ang sumusunod na variable files ay kasama:
    – Mga variable na ginagamit upang tukuyin ang work library kung saan iniimbak ng compiler ang mga pinagsama-samang bagay at iba pang nagmula na data.
    – Para sa Verilog, mga variable (LIB_MAP, VIEW_MAP, WORK) na ginagamit upang tukuyin ang mga aklatan at views upang maghanap kapag nalutas ng elaborator ang mga pagkakataon.
    – Mga variable na nagbibigay-daan sa iyong tukuyin ang mga opsyon at argumento ng compiler, elaborator, at simulator command-line.
    Sa kaso ng presynth simulation halampAng ipinakita sa itaas, sabihin nating mayroon tayong tatlong RTL files: av, bv, at testbench.v, na kailangang i-compile sa presynth, COREAHBLITE_LIB, at presynth library ayon sa pagkakabanggit. Ang hdl.var file maaaring isulat tulad ng ipinapakita sa sumusunod na codeblock.
    MAKILALA ANG TRABAHO presynth
    I-DEFINE PROJECT_DIR files>
    I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth )
    I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    I-DEFINE LIB_MAP ($LIB_MAP, + => presynth )
  3. I-compile ang disenyo files gamit ang ncvlog na opsyon.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Ipaliwanag ang disenyo gamit ang ncelab. Bumubuo ang elaborator ng hierarchy ng disenyo batay sa instantiation at configuration na impormasyon sa disenyo, nagtatatag ng signal connectivity, at nagko-compute ng mga paunang halaga para sa lahat ng object sa disenyo. Ang detalyadong hierarchy ng disenyo ay nakaimbak sa isang simulation snapshot, na siyang representasyon ng iyong disenyo na ginagamit ng simulator upang patakbuhin ang simulation.
    ncelab –Mensahe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    access +rwc –status worklib. :modyul
    Elaborasyon Sa panahon ng simulation ng Post-layout
    Sa kaso ng post-layout simulation, una ang SDF file kailangang i-compile bago ang elaborasyon gamit ang ncsdfc command.
    ncsdfcfilepangalan>.sdf –outputfilepangalan>.sdf.X
    Sa panahon ng elaborasyon gamitin ang pinagsama-samang SDF output na may –autosdf na opsyon tulad ng ipinapakita sa sumusunod na codeblock.
    ncelab -autosdf –Mensahe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –access +rwc –status worklib. :module –sdf_cmd_file ./
    sdf_cmd_file
    Ang sdf_cmd_file dapat ay tulad ng ipinapakita sa sumusunod na codeblock.
    COMPILED_SDF_FILE = “ file>”
  5. Gayahin gamit ang ncsim. Pagkatapos ng elaborasyon isang simulation snapshot ay nilikha, na kung saan ay ikinarga ng ncsim para sa simulation. Maaari kang tumakbo sa batch mode o GUI mode.
    ncsim –Mensahe –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
    errormax 15 –status worklib. :modyul

MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang lahat ng tatlong hakbang sa itaas ng pag-compile, pag-elaborate, at pagtulad ay maaaring ilagay sa isang shell script file at nagmula sa command-line. Sa halip na gamitin ang tatlong hakbang na ito, ang disenyo ay maaaring gayahin sa isang hakbang gamit ang ncverilog o irun na opsyon tulad ng ipinapakita sa sumusunod na codeblock.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files ginamit sa disenyo>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
ginamit sa disenyo>

3.3.1 Mga Kilalang Isyu (Magtanong)
Testbench Workaround
Gamit ang sumusunod na pahayag para sa pagtukoy ng dalas ng orasan sa testbench na binuo ng user, o ang default na testbench na binuo ng Libero SoC ay hindi gumagana sa NCSim.
palaging @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Baguhin ang mga sumusunod upang magpatakbo ng simulation:
palaging #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Compiled Ang mga aklatan para sa NCSim ay partikular sa platform (ibig sabihin, ang mga 64 bit na aklatan ay hindi tugma sa 32 bit na platform at kabaliktaran).
Postsynth at Post-layout Simulation Gamit ang MSS at SERDES Habang nagpapatakbo ng postsynth simulation ng mga disenyo na naglalaman ng MSS block o ang post-layout simulation ng mga disenyo gamit ang SERDES, ang BFM simulation ay hindi gagana kung ang –libmap na opsyon ay
hindi tinukoy sa panahon ng elaborasyon. Ito ay dahil sa panahon ng elaborasyon, ang MSS ay naresolba mula sa work library (dahil sa default na binding at ang worklib ay postsynth/post-layout) kung saan ito ay isang Fixed Function lamang.
Ang ncelab command ay dapat na nakasulat tulad ng ipinapakita sa sumusunod na code block upang malutas ang MSS
block mula sa SmartFusion2 precompiled library.

ncelab -libmap lib.map -libverbose -Mensahe -access +rwc cfg1
at ang lib.map file dapat ay ang mga sumusunod:
config cfg1;
disenyo ;
default na liblist smartfusion2 ;
endconfig
Niresolba nito ang anumang cell sa SmartFusion2 library bago tumingin sa work library ie postsynth/ post-layout.
Ang –libmap na opsyon ay maaaring gamitin bilang default sa panahon ng elaborasyon para sa bawat simulation (presynth, postsynth, at post-layout). Iniiwasan nito ang mga isyu sa simulation na sanhi dahil sa paglutas ng mga instance mula sa mga library.
ncelab: *F,INTERR: INTERNAL EXCEPTION
Ang ncelab tool exception na ito ay isang caveat para sa mga disenyong naglalaman ng FDDR sa SmartFusion 2 at IGLOO 2 sa panahon ng postsynth at post-layout simulation gamit ang –libmap na opsyon.
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang isyung ito ay naiulat sa Cadence support team (SAR 52113).

3.4 Sample Tcl at Shell Script Files (Magtanong)
Ang mga sumusunod files ay ang pagsasaayos files kailangan para sa pag-set up ng disenyo at shell script file para sa pagpapatakbo ng mga utos ng NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
I-DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth

Hdl.var
MAKILALA ANG TRABAHO presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, + => presynth )
Commands.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 -Mensahe -cdslib ./cds.lib -hdlvar ./hdl.var
-trabaho presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Mensahe -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

3.5 Automation (Magtanong)
Ang sumusunod na script file kino-convert ang ModelSim run.do files sa pagsasaayos files kinakailangan upang magpatakbo ng mga simulation gamit ang NCSim.
Script File Paggamit
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

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

#################################################### ##############################################
##################
gumamit ng POSIX;
gumamit ng mahigpit;
my ($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);
sub questa_parser {
aking $ModelSim_run_do = $_[0];
aking $actel_family = $_[1];
aking $lib_location = $_[2];
aking $estado;
kung ( -e “$ModelSim_run_do” )
{
bukas (INFILE,”$ModelSim_run_do”);
aking @ModelSim_run_do =FILE>;
aking $line;
kung ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
bukas (LABASFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$estado = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
bukas (LABASFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$estado = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
bukas (LABASFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$estado = $1;
} iba pa
{
print “Maling Input na ibinigay sa file\n”;
print “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#General Operations
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$estado/$estado\_questa/g;
#print OUTFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
i-print OUTFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
i-print OUTFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
i-print OUTFILE “$line \n”;
} iba pa
{
i-print OUTFILE “$line \n”;
}
}
malapit (INFILE);
malapit (LABASFILE);
} iba {
i-print ang "$ModelSim_run_do ay hindi umiiral. Patakbuhin muli ang simulation \n”;
}
}

Pag-setup ng Cadence Xcelium (Pag-login sa Microchip)

Kailangan mong gumawa ng script file katulad ng ModelSim ME/ModelSim Pro ME run.do para patakbuhin ang Cadence Xcelium simulator. Sundin ang mga hakbang na ito at gumawa ng script file para sa Xcelium o gamitin ang script file ibinigay upang i-convert ang ModelSim ME/ModelSim Pro ME run.do files sa pagsasaayos files kinakailangan upang magpatakbo ng mga simulation gamit ang Xcelium.
4.1 Mga Variable sa Kapaligiran (Magtanong)
Upang patakbuhin ang Cadence Xcelium, i-configure ang mga sumusunod na variable ng kapaligiran:

  1. LM_LICENSE_FILE: dapat may kasamang pointer sa lisensya file.
  2. cds_root: dapat tumuro sa lokasyon ng home directory ng Cadence Incisive Installation.
  3. PATH: dapat tumuro sa lokasyon ng bin sa ilalim ng direktoryo ng mga tool na itinuro ng cds_root (ibig sabihin
    $cds_root/tools/bin/64bit (para sa 64 bit machine at $cds_root/tools/bin para sa 32 bit
    makina).

May tatlong paraan ng pag-set up ng simulation environment kung sakaling lumipat sa pagitan ng 64-bit at 32-bit na operating system:
Case 1: PATH Variable
itakda ang landas = (install_dir/tools/bin/64bit $path) para sa 64bit machine at
itakda ang landas = (install_dir/tools/bin $path) para sa 32bit na makina
Case 2: Gamit ang -64bit Command-line Option
Sa command-line, tukuyin ang -64bit na opsyon para ma-invoke ang 64-bit executable.
Case 3: Pagtatakda ng INCA_64BIT o CDS_AUTO_64BIT Environment Variable
Ang INCA_64BIT variable ay itinuturing bilang boolean. Maaari mong itakda ang variable na ito sa anumang halaga o sa isang null
string.
setenv INCA_64BIT

MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang Ang variable ng kapaligiran ng INCA_64BIT ay hindi nakakaapekto sa iba pang mga tool sa Cadence, tulad ng mga tool sa IC. Gayunpaman, para sa mga Incisive na tool, in-override ng INCA_64BIT variable ang setting para sa CDS_AUTO_64BIT environment variable. Kung ang INCA_64BIT environment variable ay et, lahat ng Incisive tool ay tumatakbo sa 64-bit mode.
setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang Ang string ng INCA ay dapat nasa uppercase. Ang lahat ng mga executable ay dapat na tumakbo sa alinman sa 2-bit mode o sa 64-bit na mode, huwag itakda ang variable na magsama ng isang executable, tulad ng sa mga sumusunod:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Ginagamit din ng iba pang mga tool ng Cadence, gaya ng mga IC tool, ang CDS_AUTO_64BIT environment variable upang kontrolin ang pagpili ng 32-bit o 64-bit na mga executable. Ipinapakita ng sumusunod na talahanayan kung paano mo maitatakda ang variable na CDS_AUTO_64BIT upang patakbuhin ang mga Incisive na tool at IC tool sa lahat ng mga mode.

Talahanayan 4-1. Mga Variable ng CDS_AUTO_64BIT

Variable ng CDS_AUTO_64BIT Mga Kasangkapan na Mapanindigan Mga Tool sa IC
setenv CDS_AUTO_64BIT LAHAT 64-bit 64-bit
setenv CDS_AUTO_64BIT WALA 32-bit 32-bit
setenv CDS_AUTO_64BIT
IBUWAS:ic_binary
64-bit 32-bit
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32-bit 64-bit

MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang lahat ng Incisive tool ay dapat tumakbo sa alinman sa 32-bit mode o sa 64-bit mode, huwag gumamit ng EXCLUDE upang ibukod ang isang partikular na executable, tulad ng sa mga sumusunod:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Kung itinakda mo ang variable na CDS_AUTO_64BIT upang ibukod ang mga Incisive na tool (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), lahat ng Incisive tool ay pinapatakbo sa 32-bit na mode. Gayunpaman, ang
-64bit na opsyon sa command-line ay nag-o-override sa variable ng kapaligiran.
Ang sumusunod na configuration fileTinutulungan ka nitong pamahalaan ang iyong data at kontrolin ang pagpapatakbo ng mga tool at utility ng simulation:

  • Pagmamapa ng aklatan file (cds.lib) ay tumutukoy sa isang lohikal na pangalan para sa lokasyon ng iyong disenyo.
  • Mga aklatan at iniuugnay ang mga ito sa mga pangalan ng pisikal na direktoryo.
  • Mga variable file Tinutukoy ng (hdl.var) ang mga variable na nakakaapekto sa gawi ng mga simulation tool at utility.

4.2 I-download ang Compiled Library (Magtanong)
I-download ang mga aklatan para sa Cadence Xcelium mula sa Microsemi's website.
4.3 Paglikha ng Xcelium script file (Magtanong)
Pagkatapos gumawa ng kopya ng run.do files, gawin ang mga sumusunod na hakbang upang patakbuhin ang iyong simulation gamit ang Xcelium script file.

  1. Gumawa ng cds.lib file na tumutukoy kung aling mga aklatan ang naa-access at kung saan matatagpuan ang mga ito.
    Ang file naglalaman ng mga pahayag na nagmamapa ng mga lohikal na pangalan ng library sa kanilang mga pisikal na path ng direktoryo. Para kay exampAt, kung nagpapatakbo ka ng presynth simulation, ang cds.lib file maaaring isulat tulad ng ipinapakita sa sumusunod na codeblock.
    DEFINE presynth ./presynth
    I-DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
    MAKILALA ang smartfusion2
  2. Gumawa ng hdl.var file na isang opsyonal na pagsasaayos file na naglalaman ng mga variable ng configuration, na tumutukoy kung paano na-configure ang iyong kapaligiran sa disenyo. Kabilang dito ang:
    – Mga variable na ginagamit upang tukuyin ang work library kung saan iniimbak ng compiler ang mga pinagsama-samang bagay at iba pang nagmula na data.
    – Para sa Verilog, mga variable (LIB_MAP, VIEW_MAP, WORK) na ginagamit upang tukuyin ang mga aklatan at views upang maghanap kapag nalutas ng elaborator ang mga pagkakataon.
    – Mga variable na nagbibigay-daan sa iyong tukuyin ang mga opsyon at argumento ng compiler, elaborator, at simulator command-line.
    Sa kaso ng presynth simulation halampAng ipinapakita sa itaas, sabihin nating mayroon tayong 3 RTL files av, bv, at testbench.v, na kailangang i-compile sa presynth, COREAHBLITE_LIB, at presynth library ayon sa pagkakabanggit. Ang hdl.var file maaaring isulat tulad ng ipinapakita sa sumusunod na codeblock.
    MAKILALA ANG TRABAHO presynth
    I-DEFINE PROJECT_DIR files>
    I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/av => presynth )
    I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    I-DEFINE LIB_MAP ($LIB_MAP, + => presynth )
  3. I-compile ang disenyo files gamit ang ncvlog na opsyon.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug av bv testbench.v
  4. Ipaliwanag ang disenyo gamit ang ncelab. Bumubuo ang elaborator ng hierarchy ng disenyo batay sa instantiation at configuration na impormasyon sa disenyo, nagtatatag ng signal connectivity, at nagko-compute ng mga paunang halaga para sa lahat ng object sa disenyo. Ang detalyadong hierarchy ng disenyo ay nakaimbak sa isang simulation snapshot, na siyang representasyon ng iyong disenyo na ginagamit ng simulator upang patakbuhin ang simulation.
    Xcelium –Mensahe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    access +rwc –status worklib. :modyul
    Elaborasyon Sa panahon ng simulation ng Post-layout
    Sa kaso ng post-layout simulation, una ang SDF file kailangang i-compile bago ang elaborasyon gamit ang ncsdfc command.
    Xceliumfilepangalan>.sdf –outputfilepangalan>.sdf.X
    Sa panahon ng elaborasyon gamitin ang pinagsama-samang SDF output na may –autosdf na opsyon tulad ng ipinapakita sa sumusunod na codeblock.
    xmelab -autosdf –Mensahe –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –access +rwc –status worklib. :module –sdf_cmd_file ./
    sdf_cmd_file
    Ang sdf_cmd_file dapat ay tulad ng ipinapakita sa sumusunod na codeblock.
    COMPILED_SDF_FILE = “ file>”
  5. Gayahin gamit ang Xcelium. Pagkatapos ng elaborasyon isang simulation snapshot ay nilikha na na-load ng Xcelium para sa simulation. Maaari itong patakbuhin sa batch mode o GUI mode.
    xmsim –Mensahe –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
    errormax 15 –status worklib. :modyul
    Pag-setup ng Cadence Xcelium
    MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Lahat ang tatlong hakbang sa itaas ng pag-compile, pag-elaborate at pagtulad ay maaaring ilagay sa isang shell script file at nagmula sa command-line. Sa halip na gamitin ang tatlong hakbang na ito, ang disenyo ay maaaring gayahin sa isang hakbang gamit ang ncverilog o xrun na opsyon tulad ng ipinapakita sa sumusunod na codeblock.
    xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
    files ginamit sa disenyo>
    xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
    ginamit sa disenyo>

4.3.1 Mga Kilalang Isyu (Magtanong)
Testbench Workaround
Ang paggamit sa sumusunod na pahayag para sa pagtukoy sa dalas ng orasan sa testbench na binuo ng user o ang default na testbench na binuo ng Libero SoC ay hindi gumagana sa Xcelium.
palaging @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Baguhin ang mga sumusunod upang magpatakbo ng simulation:
palaging #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;

MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang mga pinagsama-samang aklatan para sa Xcelium ay partikular sa platform (ibig sabihin, ang mga 64 bit na aklatan ay hindi tugma sa 32 bit na platform at vice versa).
Mga Simulation ng Postsynth at Post-layout gamit ang MSS at SERDES
Habang nagpapatakbo ng postsynth simulation ng mga disenyong naglalaman ng MSS block, o post-layout simulation ng mga disenyo gamit ang SERDES, hindi gagana ang BFM simulation kung ang –libmap na opsyon ay hindi tinukoy sa panahon ng elaborasyon. Ito ay dahil sa panahon ng elaborasyon, ang MSS ay naresolba mula sa work library (dahil sa default na binding at ang worklib ay postsynth/post-layout) kung saan ito ay isang Fixed Function lamang.
Ang ncelab command ay dapat na nakasulat tulad ng ipinapakita sa sumusunod na code block upang malutas ang MSS block mula sa SmartFusion2 precompiled library.
xmelab -libmap lib.map -libverbose -Mensahe -access +rwc cfg1
at ang lib.map file dapat ay ang mga sumusunod:
config cfg1;
disenyo ;
default na liblist smartfusion2 ;
endconfig
Dapat nitong lutasin ang anumang cell sa SmartFusion2 library bago tumingin sa work library ie postsynth/post-layout.
Ang –libmap na opsyon ay maaaring gamitin bilang default sa panahon ng elaborasyon para sa bawat simulation (presynth, postsynth at post-layout). Iniiwasan nito ang mga isyu sa simulation na sanhi dahil sa paglutas ng mga instance mula sa mga library.
xmelab: *F,INTERR: INTERNAL EXCEPTION
Ang ncelab tool exception na ito ay isang caveat para sa mga disenyong naglalaman ng FDDR sa SmartFusion2 at IGLOO2
sa panahon ng postsynth at post-layout simulation gamit ang –libmap na opsyon.
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Ang isyung ito ay naiulat sa Cadence support team (SAR 52113).

4.4 Sample Tcl at shell script files (Magtanong)
Ang mga sumusunod files ay ang pagsasaayos files kailangan para sa pag-set up ng disenyo at shell script file para sa pagpapatakbo ng mga utos ng Xcelium.
Cds.lib
I-DEFINE ang smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
I-DEFINE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
MAKILALA ANG TRABAHO presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
I-DEFINE LIB_MAP ($LIB_MAP, + => presynth )
Commands.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 -Mensahe -cdslib ./cds.lib -hdlvar ./hdl.var
-trabaho presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Mensahe -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

4.5 Automation (Pag-login sa Microchip)
Ang sumusunod na script file nagpalit ng ModelSim run.do files sa pagsasaayos files kinakailangan upang magpatakbo ng mga simulation gamit ang Xcelium.
Script File Paggamit
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

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

#################################################### ##############################################
##################
gumamit ng POSIX;
gumamit ng mahigpit;
my ($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);
sub questa_parser {
aking $ModelSim_run_do = $_[0];
aking $actel_family = $_[1];
aking $lib_location = $_[2];
aking $estado;
kung ( -e “$ModelSim_run_do” )
{
bukas (INFILE,”$ModelSim_run_do”);
aking @ModelSim_run_do =FILE>;
aking $line;
kung ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
bukas (LABASFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$estado = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
bukas (LABASFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$estado = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
bukas (LABASFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$estado = $1;
} iba pa
{
print “Maling Input na ibinigay sa file\n”;
print “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#General Operations
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$estado/$estado\_questa/g;
#print OUTFILE “$line \n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
i-print OUTFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
i-print OUTFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
i-print OUTFILE “$line \n”;
} iba pa
{
i-print OUTFILE “$line \n”;
}
}
malapit (INFILE);
malapit (LABASFILE);
} iba {
i-print ang "$ModelSim_run_do ay hindi umiiral. Patakbuhin muli ang simulation \n”;
}
}

Siemens QuestaSim Setup/ModelSim Setup (Magtanong)

Ang run.do files, na binuo ng Libero SoC para sa mga simulation gamit ang ModelSim Microsemi Editions, ay maaaring gamitin para sa mga simulation gamit ang QuestaSim/ModelSim SE/DE/PE na may iisang pagbabago. Sa ModelSim ME/ModelSim Pro ME run.do file, kailangang baguhin ang lokasyon ng precompiled na mga aklatan.
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: 
Bilang default, ang tool ng simulation maliban sa ModelSim Pro ME ay nagsasagawa ng pag-optimize ng disenyo sa panahon ng simulation na maaaring makaapekto sa visibility sa mga artifact ng simulation gaya ng mga bagay sa disenyo at input stimulus.
Ito ay karaniwang nakakatulong sa pagbabawas ng simulation runtime para sa mga kumplikadong simulation, gamit ang verbose, self-checking testbenches. Gayunpaman, maaaring hindi angkop ang mga default na pag-optimize para sa lahat ng simulation, lalo na sa mga kaso kung saan inaasahan mong graphical na suriin ang mga resulta ng simulation gamit ang wave window.
Upang matugunan ang mga isyung dulot ng pag-optimize na ito, dapat kang magdagdag ng mga naaangkop na command at nauugnay na argumento sa panahon ng simulation upang maibalik ang visibility sa disenyo. Para sa mga command na partikular sa tool, tingnan ang dokumentasyon ng simulator na ginagamit.

5.1 Mga Variable sa Kapaligiran (Magtanong)
Ang mga sumusunod ay ang mga kinakailangang variable ng kapaligiran.

  • LM_LICENSE_FILE: dapat isama ang landas patungo sa lisensya file.
  • MODEL_TECH: dapat tukuyin ang landas patungo sa lokasyon ng home directory ng pag-install ng QuestaSim.
  • PATH: dapat tumuro sa executable na lokasyon na itinuro ng MODEL_TECH.

5.2 Pag-convert ng run.do para sa Mentor QuestaSim (Magtanong)
Ang run.do files na binuo ng Libero SoC para sa mga simulation gamit ang ModelSim Microsemi Editions ay maaaring gamitin para sa mga simulation gamit ang QuestaSim/ModelSim_SE na may isang pagbabago.
MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Lahat ang mga disenyo na kunwa gamit ang QuestaSim ay dapat kasama ang -novopt
opsyon kasama ang vsim command sa run.do script files.
5.3 I-download ang Compiled Library (Magtanong)
I-download ang mga aklatan para sa Mentor Graphics QuestaSim mula sa Microsemi's website.

Synopsys VCS Setup (Magtanong)

Ang daloy na inirerekomenda ng Microsemi ay umaasa sa daloy ng Elaborate at Compile sa VCS. Ang dokumentong ito ay may kasamang script file na gumagamit ng run.do script files binuo ng Libero SoC at bumubuo ng setup files kailangan para sa VCS simulation. Ang script file gumagamit ng run.do file upang gawin ang mga sumusunod.

  • Gumawa ng pagmamapa ng library file, na ginagawa gamit ang synopsys_sim.setup file matatagpuan sa parehong direktoryo kung saan tumatakbo ang VCS simulation.
  • Gumawa ng shell script file upang ipaliwanag at i-compile ang iyong disenyo gamit ang VCS.

6.1 Mga Variable sa Kapaligiran (Magtanong)
Itakda ang naaangkop na mga variable ng kapaligiran para sa VCS batay sa iyong setup. Ang mga variable ng kapaligiran na kailangan ayon sa dokumentasyon ng VCS ay:

  • LM_LICENSE_FILE: dapat magsama ng pointer sa server ng lisensya.
  • VCS_HOME: dapat tumuro sa lokasyon ng home directory ng pag-install ng VCS.
  • PATH: dapat may kasamang pointer sa direktoryo ng bin sa ibaba ng direktoryo ng VCS_HOME.

6.2 I-download ang Compiled Library (Magtanong)
I-download ang mga aklatan para sa Synopsys VCS mula sa Microsemi's website.
6.3 VCS Simulation Script File (Magtanong)
Pagkatapos mag-set up ng VCS at bumuo ng disenyo at iba't ibang run.do filemula sa Libero SoC, dapat kang:

  1. Lumikha ng pagmamapa ng library file synopsys_sim.setup; ito file naglalaman ng mga payo sa lokasyon ng lahat ng mga aklatan na gagamitin ng disenyo.
    MICROCHIP Libero SoC Simulation Library Software - icon  Mahalaga: Ang file hindi dapat magbago ang pangalan at dapat itong matatagpuan sa parehong direktoryo kung saan tumatakbo ang simulation. Narito ang isang example para sa tulad ng isang file para sa presynthesis simulation.
    TRABAHO > EFAULT
    SmartFusion2 :
    presynth : ./presynth
    DEFAULT : ./trabaho
  2. Ipaliwanag ang iba't ibang disenyo files, kasama ang testbench, gamit ang vlogan command sa VCS. Ang mga command na ito ay maaaring isama sa isang shell script file. Ang sumusunod ay isang example ng mga utos na kailangan upang ipaliwanag ang isang disenyo na tinukoy sa rtl.v kasama ang testbench nito na tinukoy sa
    testbench.v.
    vlogan +v2k -work presynth rtl.v
    vlogan +v2k -work presynth testbench.v
  3. I-compile ang disenyo gamit ang VCS gamit ang sumusunod na command.
    vcs –sim_res=1fs presynth.testbench
    Tandaan: Ang dapat itakda ang timing resolution ng simulation sa 1fs para sa tamang functional simulation.
  4. Kapag naipon na ang disenyo, simulan ang simulation gamit ang sumusunod na command.
    ./simv
  5. Para sa back-annotated simulation, ang VCS command ay dapat na tulad ng ipinapakita sa sumusunod na codeblock.
    vcs postlayout.testbench –sim_res=1fs –sdf max: .
    pangalan>: file landas> –gui –l postlayout.log

6.4 Mga Limitasyon/Pagbubukod (Magtanong)
Ang mga sumusunod ay ang mga limitasyon/pagbubukod ng Synopsys VCS setup.

  • Ang mga simulation ng VCS ay maaaring patakbuhin lamang para sa mga proyekto ng Verilog ng Libero SoC. Ang VCS simulator ay may mahigpit na mga kinakailangan sa wika ng VHDL na hindi natutugunan ng Libero SoC na awtomatikong nabuong VHDL files.
  • Dapat ay mayroon kang $finish statement sa Verilog testbench upang ihinto ang simulation kahit kailan mo gusto.
    MICROCHIP Libero SoC Simulation Library Software - icon Mahalaga: Kailan Ang mga simulation ay pinapatakbo sa GUI mode, ang oras ng pagtakbo ay maaaring tukuyin sa GUI.

6.5 Sample Tcl at Shell Script Files (Magtanong)
Ang sumusunod na Perl ay nag-automate sa pagbuo ng synopsys_sim.setup file pati na rin ang kaukulang shell script files kinakailangan upang ipaliwanag, i-compile, at gayahin ang disenyo.
Kung ang disenyo ay gumagamit ng MSS, kopyahin ang test.vec file na matatagpuan sa simulation folder ng Libero SoC project sa VCS simulation folder. Ang mga sumusunod na seksyon ay naglalaman ng sample run.do files binuo ng Libero SoC, kasama ang kaukulang library mapping at shell script files kailangan para sa VCS simulation.
6.5.1 Pre-synthesis (Magtanong)
Presynth_run.do
tahimik na itakda ang ACTELLIBNAME SmartFusion2
tahimik na itakda ang PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
kung {[file umiiral ang presynth/_info]} {
echo "INFO: Umiiral na ang simulation library presynth"
} iba {
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” -work presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
magdagdag ng wave /SD1_TB1/*
magdagdag ng log -r /*
tumakbo ng 1000ns
presynth_main.csh
#!/bin/csh -f
itakda ang 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/
trabaho/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -trabaho
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
TRABAHO > DEFAULT
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
DEFAULT : ./trabaho

6.5.2 Post-synthesis (Magtanong)
postsynth_run.do
tahimik na itakda ang ACTELLIBNAME SmartFusion2
tahimik na itakda ang PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
kung {[file umiiral ang postsynth/_info]} {
echo "INFO: Umiiral na ang simulation library postsynth"
} iba {
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
magdagdag ng wave /SD1_TB1/*
magdagdag ng log -r /*
tumakbo ng 1000ns
log SD1_TB1/*
labasan
Postsynth_main.csh
#!/bin/csh -f
itakda ang 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” -trabaho
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
TRABAHO > DEFAULT
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
DEFAULT : ./trabaho
6.5.3 Post-layout (Magtanong)
postlayout_run.do
tahimik na itakda ang ACTELLIBNAME SmartFusion2
tahimik na itakda ang PROJECT_DIR "E:/ModelSim_Work/Test_DFF"
kung {[file umiiral ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: Simulation library ../designer/SD1/simulation/postlayout mayroon na"
} iba {
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
magdagdag ng wave /SD1_TB1/*
magdagdag ng log -r /*
tumakbo ng 1000ns
Postlayout_main.csh
#!/bin/csh -f
itakda ang PROJECT_DIR = “/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
designer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -trabaho
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
TRABAHO > DEFAULT
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
DEFAULT : ./workVCS
6.6 Automation (Magtanong)
Maaaring awtomatiko ang daloy gamit ang sumusunod na Perl script file upang i-convert ang ModelSim run.do files sa VCS compatible shell script files, gumawa ng mga wastong direktoryo sa loob ng Libero SoC simulation directory, at pagkatapos ay magpatakbo ng mga simulation.
Patakbuhin ang script file gamit ang sumusunod na syntax.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
###################################################### ##############################
#
#Paggamit: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
###################################################### ##############################
my ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(“mkdir VCS_Presynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postsynth”)) {print “mkdir failed:\n”;}
if(system(“mkdir VCS_Postlayout”)) {print “mkdir failed:\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 {
aking $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
aking %LIB = ();
ang aking $file = $_[0] ;
aking $estado = $_[1];
bukas (INFILE,”$file”) || mamatay “Hindi mabuksan File Maaaring ang dahilan ay:$!”;
kung ($ state eq “presynth” )
{
open(OUT1,”>presynth_main.csh”) || mamatay "Hindi makalikha ng Command File Maaaring ang dahilan ay:$!”;
}
elsif ( $state eq “postsynth” )
{
open(OUT1,”>postsynth_main.csh”) || mamatay "Hindi makalikha ng Command File Maaaring ang dahilan ay:$!”;
}
elsif ( $state eq “postlayout” )
{
open(OUT1,”>postlayout_main.csh”) || mamatay "Hindi makalikha ng Command File Maaaring ang dahilan ay:$!”;
}
iba pa
{
i-print ang "Simulation State ay nawawala \n" ;
}
open(OUT2,”>synopsys_sim.setup”) || mamatay "Hindi makalikha ng Command File Maaaring ang dahilan ay:$!”;
# .csh file
print OUT1 “#!/bin/csh -f\n\n\n” ;
#SET UP FILE
print OUT2 “WORK > DEFAULT\n” ;
i-print ang OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
habang ($line =FILE>)
{

Synopsys VCS Setup

kung ($line =~ m/tahimik na itakda ang PROJECT_DIR\s+\”(.*?)\”/)
{
print OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
if ($line =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
i-print ang OUT1 "$line\n";
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print "Pangalan ng TB : $tb \n";
if ($line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$line = $1 ;
#print “LINE : $line \n” ;
kung ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ModelSim SDF format
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
SDF format
}
}
}
print
OUT1 “\n\n”
;
if
($ state eq “presynth”
)
{
print
OUT2 “presynth
: ./presynth\n”
;
print
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
($ state eq “postsynth”
)
{
print
OUT2 “postsynth
: ./postsynth\n”
;
print
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” ;
}
iba pa
{
i-print ang "Simulation State ay nawawala \n" ;
}
foreach $i ( mga key %LIB)
{
#print “Susi : $i Halaga : $LIB{$i} \n” ;
print OUT2 “$i : ./$i\n” ;
}
i-print ang OUT1 “\n\n” ;
print OUT1 “./simv -l run.log\n” ;
print OUT2 “DEFAULT : ./work\n” ;
malapit sa INFILE;
isara ang OUT1;
isara ang OUT2;
}

Kasaysayan ng Pagbabago (Pag-login sa Microchip

Inilalarawan ng kasaysayan ng rebisyon ang mga pagbabagong ipinatupad sa dokumento. Ang mga pagbabago
ay nakalista ayon sa rebisyon, simula sa pinakabagong publikasyon.

Rebisyon Petsa Paglalarawan
A 12/2023 Ang mga sumusunod na pagbabago ay ginawa sa rebisyong ito:
• Na-convert ang dokumento sa template ng Microchip. Paunang Rebisyon.
• Na-update na seksyon 5. Siemens QuestaSim Setup/ModelSim Setup para magsama ng bagong tala na nagpapaliwanag ng epekto sa visibility sa panahon ng simulation at optimization.

Suporta sa Microchip FPGA
Ang grupo ng mga produkto ng Microchip FPGA ay sumusuporta sa mga produkto nito sa iba't ibang serbisyo ng suporta, kabilang ang Customer Service, Customer Technical Support Center, a website, at mga opisina sa pagbebenta sa buong mundo.
Iminumungkahi ang mga customer na bisitahin ang mga online na mapagkukunan ng Microchip bago makipag-ugnayan sa suporta dahil malamang na nasagot na ang kanilang mga tanong.
Makipag-ugnayan sa Technical Support Center sa pamamagitan ng website sa www.microchip.com/support. Banggitin ang FPGA Device Part number, piliin ang naaangkop na kategorya ng case, at i-upload ang disenyo files habang gumagawa ng kaso ng teknikal na suporta.
Makipag-ugnayan sa Customer Service para sa hindi teknikal na suporta sa produkto, gaya ng pagpepresyo ng produkto, pag-upgrade ng produkto, impormasyon sa pag-update, status ng order, at awtorisasyon.

  • Mula sa North America, tumawag sa 800.262.1060
  • Mula sa ibang bahagi ng mundo, tumawag sa 650.318.4460
  • Fax, mula saanman sa mundo, 650.318.8044

Impormasyon sa Microchip
Ang Microchip Website
Nagbibigay ang Microchip ng online na suporta sa pamamagitan ng aming website sa www.microchip.com/. Ito website ay ginagamit upang gumawa files at impormasyong madaling makuha ng mga customer. Ang ilan sa mga magagamit na nilalaman ay kinabibilangan ng:

  • Suporta sa Produkto – Mga sheet ng data at errata, mga tala ng aplikasyon at sampmga programa, mapagkukunan ng disenyo, mga gabay sa gumagamit at mga dokumento ng suporta sa hardware, pinakabagong paglabas ng software at naka-archive na software
  • Pangkalahatang Suporta sa Teknikal – Mga Madalas Itanong (FAQ), mga kahilingan sa teknikal na suporta, mga online na grupo ng talakayan, listahan ng miyembro ng programa ng kasosyo sa disenyo ng Microchip
  • Negosyo ng Microchip – Tagapili ng produkto at mga gabay sa pag-order, pinakabagong mga press release ng Microchip, listahan ng mga seminar at kaganapan, mga listahan ng mga opisina ng pagbebenta ng Microchip, mga distributor at mga kinatawan ng pabrika

Serbisyong Abiso sa Pagbabago ng Produkto
Nakakatulong ang serbisyo ng abiso sa pagbabago ng produkto ng Microchip na panatilihing napapanahon ang mga customer sa mga produkto ng Microchip. Makakatanggap ang mga subscriber ng abiso sa email sa tuwing may mga pagbabago, update, rebisyon o pagkakamali na nauugnay sa isang partikular na pamilya ng produkto o tool sa pag-develop ng interes.
Upang magparehistro, pumunta sa www.microchip.com/pcn at sundin ang mga tagubilin sa pagpaparehistro.
Suporta sa Customer
Ang mga gumagamit ng mga produkto ng Microchip ay maaaring makatanggap ng tulong sa pamamagitan ng ilang mga channel:

  • Distributor o Kinatawan
  • Lokal na Sales Office
  • Naka-embed na Solutions Engineer (ESE)
  • Teknikal na Suporta

Dapat makipag-ugnayan ang mga customer sa kanilang distributor, kinatawan o ESE para sa suporta. Available din ang mga lokal na opisina ng pagbebenta upang tulungan ang mga customer. Ang isang listahan ng mga opisina ng pagbebenta at mga lokasyon ay kasama sa dokumentong ito.
Ang teknikal na suporta ay makukuha sa pamamagitan ng website sa: www.microchip.com/support
Tampok na Proteksyon ng Code ng Mga Microchip Device
Tandaan ang mga sumusunod na detalye ng tampok na proteksyon ng code sa mga produkto ng Microchip:

  • Ang mga produktong Microchip ay nakakatugon sa mga pagtutukoy na nakapaloob sa kanilang partikular na Microchip Data Sheet.
  • Naniniwala ang Microchip na ang pamilya ng mga produkto nito ay ligtas kapag ginamit sa inilaan na paraan, sa loob ng mga pagtutukoy sa pagpapatakbo, at sa ilalim ng normal na mga kondisyon.
  • Pinahahalagahan ng Microchip at agresibong pinoprotektahan ang mga karapatan sa intelektwal na pag-aari nito. Mahigpit na ipinagbabawal ang mga pagtatangkang labagin ang mga tampok na proteksyon ng code ng produkto ng Microchip at maaaring lumabag sa Digital Millennium Copyright Act.
  • Ni ang Microchip o anumang iba pang tagagawa ng semiconductor ay hindi magagarantiyahan ang seguridad ng code nito. Ang proteksyon ng code ay hindi nangangahulugan na ginagarantiya namin na ang produkto ay "hindi nababasag".
    Ang proteksyon ng code ay patuloy na umuunlad. Ang Microchip ay nakatuon sa patuloy na pagpapabuti ng mga tampok sa proteksyon ng code ng aming mga produkto.

Legal na Paunawa
Ang publikasyong ito at ang impormasyon dito ay maaari lamang gamitin sa mga produkto ng Microchip, kabilang ang pagdidisenyo, pagsubok, at pagsasama ng mga produktong Microchip sa iyong aplikasyon. Ang paggamit ng impormasyong ito sa anumang iba pang paraan ay lumalabag sa mga tuntuning ito. Ang impormasyon tungkol sa mga application ng device ay ibinibigay lamang para sa iyong kaginhawahan at maaaring mapalitan ng mga update. Responsibilidad mong tiyakin na ang iyong aplikasyon ay nakakatugon sa iyong mga detalye. Makipag-ugnayan sa iyong lokal na opisina ng pagbebenta ng Microchip para sa karagdagang suporta o, kumuha ng karagdagang suporta sa www.microchip.com/en-us/support/design-help/client-support-services.
ANG IMPORMASYON NA ITO AY IBINIGAY NG MICROCHIP "AS IS". ANG MICROCHIP ay WALANG GUMAWA NG MGA REPRESENTASYON O WARRANTY NG ANUMANG URI MAHALAGA MAN O IPINAHIWATIG, NAKASULAT O BALIG, STATUTORY O IBA PA, NA KAUGNAY SA IMPORMASYON KASAMA NGUNIT HINDI LIMITADO SA ANUMANG IPINAHIWATIG NA WARRANTY NG HINDI PAGKAKABIGAY, AT PAGKAKATAON. LAYUNIN, O MGA WARRANTY NA KAUGNAY SA KUNDISYON, KALIDAD, O PAGGANAP NITO.
HINDI MANANAGOT ANG MICROCHIP SA ANUMANG INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL, O CONSEQUENTIAL LOSS, PANCER, COST, O EXPENS OF ANUMANG URI NA KAUGNAY SA IMPORMASYON O SA PAGGAMIT NITO, GAANO MAN ANG SANHI, KAHIT NA MAY NAMIN POSIBILIDAD O ANG MGA PINSALA AY MAKIKITA. HANGGANG SA BUONG SAKOT NA PINAHAYAGAN NG BATAS, ANG KABUUANG PANANAGUTAN NG MICROCHIP SA LAHAT NG MGA CLAIMS SA ANUMANG PARAAN NA KAUGNAY SA IMPORMASYON O ANG PAGGAMIT NITO AY HINDI HIGIT SA HALAGA NG MGA BAYAD, KUNG MERON, NA DIREKTA NINYONG BINAYARAN SA MICROCHIP PARA SA IMPORMASYON.
Ang paggamit ng mga aparatong Microchip sa suporta sa buhay at/o mga aplikasyong pangkaligtasan ay ganap na nasa panganib ng mamimili, at sumasang-ayon ang bumibili na ipagtanggol, bayaran at hawakan ang Microchip na hindi nakakapinsala sa anuman at lahat ng pinsala, paghahabol, paghahabla, o gastos na nagreresulta mula sa naturang paggamit. Walang mga lisensya ang ipinadala, nang tahasan o kung hindi man, sa ilalim ng anumang mga karapatan sa intelektwal na ari-arian ng Microchip maliban kung iba ang nakasaad.
Mga trademark
Ang pangalan at logo ng Microchip, ang logo ng Microchip, Adaptec, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, at XMEGA ay mga rehistradong trademark ng Microchip Technology Incorporated sa USA at iba pang mga bansa.
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, Ang SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, at ZL ay mga rehistradong trademark ng Microchip Technology Incorporated sa USA
Katabing Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net Average Matching Dynamic , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Parallel, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified na logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewAng Span, WiperLock, XpressConnect, at ZENA ay mga trademark ng Microchip Technology Incorporated
sa USA at iba pang mga bansa.
Ang SQTP ay isang marka ng serbisyo ng Microchip Technology Incorporated sa USA
Ang logo ng Adaptec, Frequency on Demand, Silicon Storage Technology, at Symmcom ay mga rehistradong trademark ng Microchip Technology Inc. sa ibang mga bansa.
Ang GestIC ay isang rehistradong trademark ng Microchip Technology Germany II GmbH & Co. KG, isang subsidiary ng Microchip Technology Inc., sa ibang mga bansa.
Ang lahat ng iba pang trademark na binanggit dito ay pag-aari ng kani-kanilang kumpanya.
© 2023, Microchip Technology Incorporated at mga subsidiary nito. Lahat ng Karapatan ay Nakalaan.
ISBN: 978-1-6683-3694-6
Sistema ng Pamamahala ng Kalidad
Para sa impormasyon tungkol sa Quality Management System ng Microchip, pakibisita www.microchip.com/quality.

AMERIKA ASIA/PACIFIC ASIA/PACIFIC EUROPE
Tanggapan ng Kumpanya
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Teknikal na Suporta:
www.microchip.com/support
Web Address:
www.microchip.com
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Austin, TX
Tel: 512-257-3370
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Tel: 317-536-2380
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800
Raleigh, NC
Tel: 919-844-7510
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Tel: 408-436-4270
Canada - Toronto
Tel: 905-695-1980
Fax: 905-695-2078
Australia – Sydney
Tel: 61-2-9868-6733
Tsina - Beijing
Tel: 86-10-8569-7000
Tsina – Chengdu
Tel: 86-28-8665-5511
Tsina – Chongqing
Tel: 86-23-8980-9588
Tsina – Dongguan
Tel: 86-769-8702-9880
Tsina - Guangzhou
Tel: 86-20-8755-8029
Tsina - Hangzhou
Tel: 86-571-8792-8115
China – Hong Kong SAR
Tel: 852-2943-5100
Tsina – Nanjing
Tel: 86-25-8473-2460
Tsina – Qingdao
Tel: 86-532-8502-7355
Tsina - Shanghai
Tel: 86-21-3326-8000
Tsina – Shenyang
Tel: 86-24-2334-2829
Tsina - Shenzhen
Tel: 86-755-8864-2200
Tsina - Suzhou
Tel: 86-186-6233-1526
Tsina - Wuhan
Tel: 86-27-5980-5300
Tsina – Xian
Tel: 86-29-8833-7252
Tsina – Xiamen
Tel: 86-592-2388138
Tsina – Zhuhai
Tel: 86-756-3210040
India – Bangalore
Tel: 91-80-3090-4444
India – New Delhi
Tel: 91-11-4160-8631
India - Pune
Tel: 91-20-4121-0141
Japan – Osaka
Tel: 81-6-6152-7160
Japan – Tokyo
Tel: 81-3-6880-3770
Korea – Daegu
Tel: 82-53-744-4301
Korea – Seoul
Tel: 82-2-554-7200
Malaysia - Kuala Lumpur
Tel: 60-3-7651-7906
Malaysia – Penang
Tel: 60-4-227-8870
Pilipinas – Maynila
Tel: 63-2-634-9065
Singapore
Tel: 65-6334-8870
Taiwan – Hsin Chu
Tel: 886-3-577-8366
Taiwan – Kaohsiung
Tel: 886-7-213-7830
Taiwan - Taipei
Tel: 886-2-2508-8600
Thailand – Bangkok
Tel: 66-2-694-1351
Vietnam – Ho Chi Minh
Tel: 84-28-5448-2100
Austria – Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark – Copenhagen
Tel: 45-4485-5910
Fax: 45-4485-2829
Finland – Espoo
Tel: 358-9-4520-820
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Alemanya – Garching
Tel: 49-8931-9700
Alemanya – Haan
Tel: 49-2129-3766400
Alemanya - Heilbronn
Tel: 49-7131-72400
Alemanya - Karlsruhe
Tel: 49-721-625370
Alemanya - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Alemanya - Rosenheim
Tel: 49-8031-354-560
Israel – Ra'anana
Tel: 972-9-744-7705
Italya - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Italya - Padova
Tel: 39-049-7625286
Netherlands – Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Norway - Trondheim
Tel: 47-72884388
Poland - Warsaw
Tel: 48-22-3325737
Romania – Bucharest
Tel: 40-21-407-87-50
Espanya - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Sweden - Gothenberg
Tel: 46-31-704-60-40
Sweden - Stockholm
Tel: 46-8-5090-4654
UK – Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820

logo ng MICROCHIP© 2023 Microchip Technology Inc. at mga subsidiary nito
DS50003627A –

Mga Dokumento / Mga Mapagkukunan

MICROCHIP Libero SoC Simulation Library Software [pdf] Gabay sa Gumagamit
DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Library Software, Software

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *