ການຈຳລອງ Libero SoC
ຄໍາແນະນໍາການຕິດຕັ້ງຫ້ອງສະຫມຸດ
ແນະນຳ
ຈຸດປະສົງຂອງເອກະສານນີ້ແມ່ນເພື່ອອະທິບາຍຂັ້ນຕອນການຕັ້ງຄ່າສະພາບແວດລ້ອມການຈໍາລອງໂດຍໃຊ້ໂຄງການ Libero SoC ເປັນການປ້ອນຂໍ້ມູນ. ເອກະສານນີ້ກົງກັບຫ້ອງສະໝຸດທີ່ລວບລວມໄວ້ລ່ວງໜ້າທີ່ສະໜອງໃຫ້ເພື່ອໃຊ້ກັບ Libero SoC v11.9 ແລະ ລຸ້ນຊອບແວໃໝ່ກວ່າ. ຫ້ອງສະຫມຸດທີ່ສະຫນອງໃຫ້ແມ່ນລວບລວມສໍາລັບ Verilog. ຜູ້ໃຊ້ VHDL ຕ້ອງການໃບອະນຸຍາດອະນຸຍາດໃຫ້ມີການຈໍາລອງແບບປະສົມ.
ຫ້ອງສະຫມຸດຈໍາລອງທີ່ລວບລວມແມ່ນມີສໍາລັບເຄື່ອງມືດັ່ງຕໍ່ໄປນີ້:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise ແລະ Xcelium
- Siemens QuestaSim
- Synopsys VCS
ເພື່ອຮ້ອງຂໍຫ້ອງສະຫມຸດສໍາລັບ simulator ທີ່ແຕກຕ່າງກັນ, ຕິດຕໍ່ ສະຫນັບສະຫນູນດ້ານວິຊາການຂອງ Microchip.
ການເຊື່ອມໂຍງ Libero SoC
Libero SoC ຮອງຮັບການຈຳລອງໂດຍໃຊ້ ModelSim ME ໂດຍການສ້າງ run.do file. ນີ້ file ຖືກນໍາໃຊ້ໂດຍ ModelSim ME / ModelSim Pro ME ເພື່ອຕັ້ງຄ່າແລະດໍາເນີນການຈໍາລອງ. ເພື່ອໃຊ້ເຄື່ອງມືຈໍາລອງອື່ນໆ, ທ່ານສາມາດສ້າງ ModelSim ME/ModelSim Pro ME run.do ແລະດັດແປງສະຄິບ Tcl. file ການນໍາໃຊ້ຄໍາສັ່ງທີ່ເຫມາະສົມກັບ simulator ຂອງທ່ານ.
1.1 Libero SoC Tcl File ລຸ້ນ (ຖາມຄໍາຖາມ)
ຫຼັງຈາກການສ້າງແລະສ້າງການອອກແບບໃນ Libero SoC, ເລີ່ມຕົ້ນການຈໍາລອງ ModelSim ME/ModelSim Pro ME ພາຍໃຕ້ຂັ້ນຕອນການອອກແບບທັງຫມົດ (presynth, postsynth, ແລະ post-layout). ຂັ້ນຕອນນີ້ສ້າງ run.do file ສໍາລັບ ModelSim ME / ModelSim Pro ME ສໍາລັບແຕ່ລະໄລຍະການອອກແບບ.
ສຳຄັນ: ຫຼັງຈາກເລີ່ມແຕ່ລະໄລຍະການຈໍາລອງ, ປ່ຽນຊື່ run.do ທີ່ສ້າງຂຶ້ນອັດຕະໂນມັດ file ພາຍໃຕ້ໄດເລກະທໍລີຈໍາລອງເພື່ອປ້ອງກັນບໍ່ໃຫ້ Libero SoC ຈາກການຂຽນທັບສິ່ງນັ້ນ file. ຕົວຢ່າງample, ໄດ້ files ສາມາດຖືກປ່ຽນຊື່ເປັນ presynth_run.do, postsynth_run.do ແລະ postlayout_run.do.
ການຕິດຕັ້ງ Aldec ສໍາລັບ Active-HDL ແລະ Riviera-Pro (ຖາມຄໍາຖາມ)
run.do ໄດ້ file ທີ່ໃຊ້ໂດຍ ModelSim ME/ModelSim Pro ME ສາມາດຖືກດັດແປງ ແລະໃຊ້ສໍາລັບການຈໍາລອງໂດຍໃຊ້ເຄື່ອງຈໍາລອງ Aldec.
2.1 ຕົວແປສະພາບແວດລ້ອມ (ຖາມຄໍາຖາມ)
ຕັ້ງຕົວແປສະພາບແວດລ້ອມຂອງທ່ານໃຫ້ກັບໃບອະນຸຍາດຂອງທ່ານ file ສະຖານທີ່:
LM_LICENSE_FILE: ຕ້ອງມີຕົວຊີ້ໄປຫາເຊີບເວີໃບອະນຸຍາດ.
2.2 ດາວໂຫຼດຫ້ອງສະໝຸດທີ່ລວບລວມ (ຖາມຄໍາຖາມ)
ດາວໂຫລດຫ້ອງສະຫມຸດສໍາລັບ Aldec Active-HDL ແລະ Aldec Riviera-PRO ຈາກ Microchip webເວັບໄຊ.
2.3 ແປງ run.do ສໍາລັບການຈໍາລອງ Aldec (ຖາມຄໍາຖາມ)
run.do ໄດ້ files ຜະລິດໂດຍ Libero SoC ສໍາລັບການຈໍາລອງການນໍາໃຊ້ Active-HDL ແລະ Riviera-Pro ເຄື່ອງມືສາມາດຖືກນໍາໃຊ້ສໍາລັບການຈໍາລອງການນໍາໃຊ້ Active-HDL ແລະ Riviera-Pro ມີການປ່ຽນແປງດຽວ. ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຄໍາສັ່ງທີ່ທຽບເທົ່າ Aldec ເພື່ອແກ້ໄຂໃນ ModelSim run.do file.
ຕາຕະລາງ 2-1. ຄໍາສັ່ງທຽບເທົ່າ Aldec
ModelSim | Active-HDL |
vlog | ນາມ |
vcom | ອາຄອມ |
vlib | ອາລິບ |
vsim | asim |
vmap | ແອມພອຍ |
ຕໍ່ໄປນີ້ແມ່ນເປັນample run.do ກ່ຽວຂ້ອງກັບເຄື່ອງຈຳລອງ Aldec.
- ກໍານົດສະຖານທີ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ.
ຕັ້ງ dsn - ກໍານົດຊື່ຫ້ອງສະຫມຸດທີ່ເຮັດວຽກ, ແຜນທີ່ສະຖານທີ່ຂອງມັນ, ແລະຫຼັງຈາກນັ້ນແຜນທີ່ສະຖານທີ່ຂອງຄອບຄົວ Microchip FPGA
ຫ້ອງສະຫມຸດ precompiled (ສໍາລັບການຍົກຕົວຢ່າງample, SmartFusion2) ທີ່ທ່ານກໍາລັງດໍາເນີນການອອກແບບຂອງທ່ານ.
alib presynth
amap presynth presynth
amap SmartFusion2 - ລວບລວມ HDL ທີ່ຈໍາເປັນທັງຫມົດ files ໃຊ້ໃນການອອກແບບກັບຫ້ອງສະຫມຸດທີ່ຕ້ອງການ.
alog –work presynth temp.v (ສໍາລັບ Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (ສໍາລັບ Vhdl)
acom –work presynth testbench.vhd - ຈໍາລອງການອອກແບບ.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
ແລ່ນ 10 ພວກເຮົາ
2.4 ບັນຫາທີ່ຮູ້ຈັກ (ຖາມຄໍາຖາມ)
ພາກນີ້ບອກບັນຫາແລະຂໍ້ຈໍາກັດທີ່ຮູ້ຈັກ.
- ຫ້ອງສະຫມຸດທີ່ລວບລວມໂດຍໃຊ້ Riviera-PRO ແມ່ນສະເພາະເວທີ (ເຊັ່ນ: ຫ້ອງສະຫມຸດ 64-bit ບໍ່ສາມາດດໍາເນີນການໄດ້ໃນເວທີ 32-bit ແລະໃນທາງກັບກັນ).
- ສໍາລັບການອອກແບບທີ່ມີ SERDES/MDDR/FDDR, ໃຊ້ຕົວເລືອກຕໍ່ໄປນີ້ໃນ run.do ຂອງທ່ານ files ໃນຂະນະທີ່ແລ່ນ simulations ຫຼັງຈາກລວບລວມການອອກແບບຂອງພວກເຂົາ:
– Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (ສໍາລັບການຈໍາລອງ presynth ແລະຫຼັງການຈັດຮູບແບບ) ແລະ asim –O5 (ສໍາລັບການຈໍາລອງຫຼັງການຈັດວາງ)
ການຕັ້ງຄ່າ Aldec ສໍາລັບ Active-HDL ແລະ Riviera-Pro ມີ SAR ທີ່ຍັງຄ້າງຕໍ່ໄປນີ້. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ຕິດຕໍ່ ສະຫນັບສະຫນູນດ້ານວິຊາການຂອງ Microchip. - SAR 49908 – Active-HDL: VHDL Error ສໍາລັບການຈໍາລອງການບລັອກຄະນິດສາດ
- SAR 50627 – Riviera-PRO 2013.02: ການຈຳລອງຄວາມຜິດພາດສຳລັບການອອກແບບ SERDES
- SAR 50461 – Riviera-PRO: asim -O2/-O5 ທາງເລືອກໃນການຈໍາລອງ
ການຕິດຕັ້ງ Cadence Incisive (ຖາມຄໍາຖາມ)
ທ່ານຈໍາເປັນຕ້ອງສ້າງ script file ຄ້າຍຄືກັນກັບ ModelSim ME/ModelSim Pro ME run.do ເພື່ອດໍາເນີນການ
Cadence Incisive simulator. ປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້ແລະສ້າງ script file ສໍາລັບ NCSim ຫຼືໃຊ້ສະຄິບ file
ສະໜອງໃຫ້ເພື່ອປ່ຽນ ModelSim ME/ModelSim Pro ME run.do files ເຂົ້າໄປໃນການຕັ້ງຄ່າ files
ຕ້ອງການເພື່ອດໍາເນີນການຈໍາລອງໂດຍໃຊ້ NCSim.
ສິ່ງສໍາຄັນ: Cadence ໄດ້ຢຸດເຊົາການປ່ອຍສະບັບໃຫມ່ຂອງວິສາຫະກິດ Incisive
simulator ແລະໄດ້ເລີ່ມຕົ້ນສະຫນັບສະຫນູນ Xcelium simulator.
3.1 ຕົວແປສະພາບແວດລ້ອມ (ຖາມຄໍາຖາມ)
ເພື່ອເປີດໃຊ້ Cadence Incisive simulator, ຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້:
- LM_LICENSE_FILE: ຕ້ອງມີຕົວຊີ້ໄປຫາໃບອະນຸຍາດ file.
- cds_root: ຕ້ອງຊີ້ໄປຫາສະຖານທີ່ໄດເລກະທໍລີເຮືອນຂອງການຕິດຕັ້ງ Cadence Incisive.
- PATH: ຕ້ອງຊີ້ໃຫ້ເຫັນສະຖານທີ່ຖັງພາຍໃຕ້ໄດເລກະທໍລີເຄື່ອງມືທີ່ຊີ້ໂດຍ cds_root ນັ້ນຄື,
$cds_root/tools/bin/64bit (ສໍາລັບເຄື່ອງ 64-bit ແລະ $cds_root/tools/bin ສໍາລັບເຄື່ອງ 32-bit).
ມີສາມວິທີໃນການຕັ້ງຄ່າສະພາບແວດລ້ອມການຈໍາລອງໃນກໍລະນີຂອງການສະຫຼັບລະຫວ່າງ 64-bit ແລະ 32-bit ລະບົບປະຕິບັດການ:
ກໍລະນີ 1: PATH ຕົວແປ
ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້:
set path = (install_dir/tools/bin/64bit $path) ສໍາລັບເຄື່ອງ 64bit ແລະ
set path = (install_dir/tools/bin $path) ສໍາລັບເຄື່ອງ 32bit
ກໍລະນີ 2: ການນໍາໃຊ້ -64bit Command-line Option
ໃນແຖວຄໍາສັ່ງໃຫ້ລະບຸທາງເລືອກ -64bit ເພື່ອເອີ້ນໃຊ້ 64bit.
ກໍລະນີທີ 3: ການຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ INCA_64BIT ຫຼື CDS_AUTO_64BIT
ຕົວແປ INCA_64BIT ຖືກປະຕິບັດເປັນ boolean. ທ່ານສາມາດຕັ້ງຕົວແປນີ້ເປັນຄ່າໃດໆ ຫຼືເປັນສະຕຣິງ null.
setenv INCA_64BIT
ທີ່ສໍາຄັນ: ໄດ້ ຕົວແປສະພາບແວດລ້ອມ INCA_64BIT ບໍ່ມີຜົນຕໍ່ເຄື່ອງມື Cadence ອື່ນໆ ເຊັ່ນ: ເຄື່ອງມື IC. ແນວໃດກໍ່ຕາມ, ສໍາລັບເຄື່ອງມື Incisive, ຕົວແປ INCA_64BIT ລົບລ້າງການຕັ້ງຄ່າສໍາລັບຕົວແປສະພາບແວດລ້ອມ CDS_AUTO_64BIT. ຖ້າຕົວແປສະພາບແວດລ້ອມ INCA_64BIT ຖືກຕັ້ງ, ເຄື່ອງມື Incisive ທັງໝົດຈະເຮັດວຽກໃນໂໝດ 64-bit. setenv CDS_AUTO_64BIT ລວມມີ:INCA
ທີ່ສໍາຄັນ: ໄດ້ ສະຕຣິງ INCA ຈະຕ້ອງເປັນຕົວພິມໃຫຍ່. ການປະຕິບັດທັງຫມົດຕ້ອງຖືກດໍາເນີນການໃນໂຫມດ 32 ບິດຫຼືໃນໂຫມດ 64 ບິດ, ຢ່າກໍານົດຕົວແປທີ່ຈະລວມເອົາຫນຶ່ງທີ່ສາມາດປະຕິບັດໄດ້, ດັ່ງຕໍ່ໄປນີ້:
setenv CDS_AUTO_64BIT ລວມມີ: ncelab
ເຄື່ອງມື Cadence ອື່ນໆ, ເຊັ່ນ: ເຄື່ອງມື IC, ຍັງໃຊ້ຕົວແປສະພາບແວດລ້ອມ CDS_AUTO_64BIT ເພື່ອຄວບຄຸມການເລືອກຄຳສັ່ງ 32-bit ຫຼື 64-bit. ຕາຕະລາງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນວິທີທີ່ທ່ານສາມາດຕັ້ງຄ່າຕົວແປ CDS_AUTO_64BIT ເພື່ອແລ່ນເຄື່ອງມື Incisive ແລະເຄື່ອງມື IC ໃນທຸກໂໝດ.
ຕາຕະລາງ 3-1. CDS_AUTO_64BIT ຕົວແປ
CDS_AUTO_64BIT ຕົວແປ | ເຄື່ອງມື Incisive | ເຄື່ອງມື IC |
setenv CDS_AUTO_64BIT ທັງໝົດ | 64 ບິດ | 64 ບິດ |
setenv CDS_AUTO_64BIT ບໍ່ມີ | 32 ບິດ | 32 ບິດ |
setenv CDS_AUTO_64BIT ຍົກເວັ້ນ:ic_binary | 64 ບິດ | 32 ບິດ |
setenv CDS_AUTO_64BIT ຍົກເວັ້ນ:INCA | 32 ບິດ | 64 ບິດ |
ສຳຄັນ: ເຄື່ອງມື Incisive ທັງໝົດຈະຕ້ອງຖືກແລ່ນຢູ່ໃນໂໝດ 32-bit ຫຼືໃນໂໝດ 64-bit, ຫ້າມໃຊ້ EXCLUDE ເພື່ອຍົກເວັ້ນການດຳເນີນການສະເພາະໃດໜຶ່ງ, ດັ່ງຕໍ່ໄປນີ້: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
ຖ້າທ່ານຕັ້ງຕົວແປ CDS_AUTO_64BIT ເພື່ອຍົກເວັ້ນເຄື່ອງມື Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), ເຄື່ອງມື Incisive ທັງໝົດຈະເຮັດວຽກຢູ່ໃນໂໝດ 32-bit. ຢ່າງໃດກໍຕາມ, ທາງເລືອກເສັ້ນຄໍາສັ່ງ -64bit overrides ສະພາບແວດລ້ອມ.
ການຕັ້ງຄ່າຕໍ່ໄປນີ້ files ຊ່ວຍໃຫ້ທ່ານຈັດການຂໍ້ມູນຂອງທ່ານແລະຄວບຄຸມການດໍາເນີນງານຂອງເຄື່ອງມືຈໍາລອງແລະຜົນປະໂຫຍດ:
- ແຜນທີ່ຫ້ອງສະໝຸດ file (cds.lib)—ກໍານົດຊື່ທີ່ມີເຫດຜົນສໍາລັບສະຖານທີ່ຂອງການອອກແບບຂອງທ່ານ.
- ຫ້ອງສະຫມຸດແລະເຊື່ອມໂຍງພວກເຂົາດ້ວຍຊື່ໄດເລກະທໍລີ.
- ຕົວແປ file (hdl.var)—ກຳນົດຕົວແປທີ່ສົ່ງຜົນກະທົບຕໍ່ພຶດຕິກຳຂອງເຄື່ອງມືຈຳລອງ ແລະເຄື່ອງໃຊ້ຕ່າງໆ.
3.2 ດາວໂຫຼດຫ້ອງສະໝຸດທີ່ລວບລວມ (ຖາມຄໍາຖາມ)
ດາວໂຫລດຫ້ອງສະຫມຸດສໍາລັບ Cadence Incisive ຈາກ Microsemi's webເວັບໄຊ.
3.3 ການສ້າງ NCSim Script File (ຖາມຄໍາຖາມ)
ຫຼັງຈາກການສ້າງສໍາເນົາຂອງ run.do files, ປະຕິບັດຂັ້ນຕອນເຫຼົ່ານີ້ເພື່ອດໍາເນີນການຈໍາລອງຂອງທ່ານໂດຍໃຊ້ NCSim:
- ສ້າງ cds.lib file ທີ່ກໍານົດຫ້ອງສະຫມຸດທີ່ສາມາດເຂົ້າເຖິງໄດ້ແລະສະຖານທີ່ຂອງພວກເຂົາ. ໄດ້ file ປະກອບມີຄໍາຖະແຫຼງທີ່ສ້າງແຜນທີ່ຊື່ຂອງຫ້ອງສະຫມຸດກັບເສັ້ນທາງໄດເລກະທໍລີທາງດ້ານຮ່າງກາຍຂອງພວກເຂົາ. ຕົວຢ່າງampດັ່ງນັ້ນ, ຖ້າທ່ານກໍາລັງແລ່ນ simulation presynth, cds.lib file ຖືກຂຽນໄວ້ດັ່ງທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
ກໍານົດ presynth ./presynth
ກຳນົດ COREAHBLITE_LIB ./COREAHBLITE_LIB
ກໍານົດ smartfusion2 - ສ້າງ hdl.var file, ການຕັ້ງຄ່າທາງເລືອກ file ທີ່ປະກອບດ້ວຍຕົວແປການຕັ້ງຄ່າ, ທີ່ກໍານົດວິທີການສະພາບແວດລ້ອມການອອກແບບຂອງທ່ານຖືກກໍາຫນົດຄ່າ. ຕົວແປຕໍ່ໄປນີ້ files ລວມມີ:
– ຕົວແປທີ່ຖືກນໍາໃຊ້ເພື່ອກໍານົດຫ້ອງສະຫມຸດບ່ອນເຮັດວຽກທີ່ compiler ເກັບລວບລວມວັດຖຸທີ່ລວບລວມແລະຂໍ້ມູນອື່ນໆທີ່ໄດ້ມາ.
– ສໍາລັບ Verilog, ຕົວແປ (LIB_MAP, VIEW_MAP, WORK) ທີ່ຖືກນໍາໃຊ້ເພື່ອກໍານົດຫ້ອງສະຫມຸດແລະ views ເພື່ອຄົ້ນຫາເມື່ອຜູ້ສ້າງລາຍລະອຽດແກ້ໄຂຕົວຢ່າງ.
– ຕົວແປທີ່ອະນຸຍາດໃຫ້ທ່ານສາມາດກໍານົດ compiler, elaborator, ແລະ simulator ທາງເລືອກເສັ້ນຄໍາສັ່ງແລະການໂຕ້ຖຽງ.
ໃນກໍລະນີຂອງ simulation presynth example ສະແດງໃຫ້ເຫັນຂ້າງເທິງ, ເວົ້າວ່າພວກເຮົາມີສາມ RTL files: av, bv, ແລະ testbench.v, ເຊິ່ງຈໍາເປັນຕ້ອງຖືກລວບລວມເຂົ້າໄປໃນ presynth, COREAHBLITE_LIB, ແລະ presynth libraries ຕາມລໍາດັບ. hdl.var file ສາມາດຂຽນໄດ້ດັ່ງທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
ກໍານົດການເຮັດວຽກ presynth
ກຳນົດ PROJECT_DIR files>
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
ກຳນົດ LIB_MAP ( $LIB_MAP, + => presynth ) - ລວບລວມການອອກແບບ files ໃຊ້ທາງເລືອກ ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ລາຍລະອຽດການອອກແບບໂດຍໃຊ້ncelab. ຜູ້ສ້າງແບບລຳດັບຊັ້ນໃນການອອກແບບໂດຍອີງໃສ່ຂໍ້ມູນທັນທີ ແລະການຕັ້ງຄ່າໃນການອອກແບບ, ສ້າງການເຊື່ອມຕໍ່ສັນຍານ ແລະຄຳນວນຄ່າເບື້ອງຕົ້ນສຳລັບວັດຖຸທັງໝົດໃນການອອກແບບ. ລຳດັບຊັ້ນຂອງການອອກແບບທີ່ລະອຽດຈະຖືກເກັບໄວ້ໃນຮູບການຈຳລອງ, ເຊິ່ງເປັນການສະແດງເຖິງການອອກແບບຂອງເຈົ້າທີ່ເຄື່ອງຈຳລອງໃຊ້ເພື່ອແລ່ນການຈຳລອງ.
ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
ເຂົ້າເຖິງ +rwc – ສະຖານະ worklib. :ໂມດູນ
ລາຍລະອຽດໃນລະຫວ່າງການຈໍາລອງຫຼັງການຈັດວາງ
ໃນກໍລະນີຂອງ simulations ຫລັງການຈັດວາງ, ທໍາອິດ SDF file ຕ້ອງໄດ້ຮັບການລວບລວມກ່ອນທີ່ຈະລະອຽດໂດຍໃຊ້ຄໍາສັ່ງ ncsdfc.
ncsdfcfilename>.sdf –outputfileຊື່>.sdf.X
ໃນລະຫວ່າງການລະອຽດນໍາໃຊ້ຜົນຜະລິດ SDF ສັງລວມທີ່ມີທາງເລືອກ –autosdf ດັ່ງທີ່ສະແດງໃຫ້ເຫັນໃນ codeblock ດັ່ງຕໍ່ໄປນີ້.
ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :ໂມດູນ –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file ຕ້ອງເປັນດັ່ງທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
COMPILED_SDF_FILE = “ file>” - ຈຳລອງໂດຍໃຊ້ ncsim. ຫຼັງຈາກການລະອຽດຮູບພາບຈໍາລອງໄດ້ຖືກສ້າງຕັ້ງຂື້ນ, ເຊິ່ງແມ່ນການໂຫຼດໂດຍ ncsim ສໍາລັບການຈໍາລອງ. ທ່ານສາມາດດໍາເນີນການໃນຮູບແບບ batch ຫຼືຮູບແບບ GUI.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 – ສະຖານະ worklib. :ໂມດູນ
ສຳຄັນ: ທັງສາມຂັ້ນຕອນຂ້າງເທິງຂອງການລວບລວມ, ລະອຽດ, ແລະການຈໍາລອງສາມາດໃສ່ເຂົ້າໄປໃນ Shell script. file ແລະໄດ້ມາຈາກບັນຊີຄໍາສັ່ງ. ແທນທີ່ຈະໃຊ້ສາມຂັ້ນຕອນນີ້, ການອອກແບບສາມາດຖືກຈໍາລອງໃນຂັ້ນຕອນຫນຶ່ງໂດຍໃຊ້ ncverilog ຫຼື irun ທາງເລືອກທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files ໃຊ້ໃນການອອກແບບ>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
ໃຊ້ໃນການອອກແບບ>
3.3.1 ບັນຫາທີ່ຮູ້ຈັກ (ຖາມຄໍາຖາມ)
Testbench Workaround
ການນໍາໃຊ້ຄໍາຖະແຫຼງຕໍ່ໄປນີ້ສໍາລັບການກໍານົດຄວາມຖີ່ຂອງໂມງໃນ testbench ທີ່ສ້າງຂຶ້ນໂດຍຜູ້ໃຊ້, ຫຼື testbench ເລີ່ມຕົ້ນທີ່ສ້າງໂດຍ Libero SoC ບໍ່ເຮັດວຽກກັບ NCSim.
ສະເໝີ @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
ແກ້ໄຂດັ່ງຕໍ່ໄປນີ້ເພື່ອດໍາເນີນການຈໍາລອງ:
ສະເໝີ #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
ສິ່ງສໍາຄັນ: ລວບລວມ ຫ້ອງສະຫມຸດສໍາລັບ NCSim ແມ່ນເວທີສະເພາະ (ເຊັ່ນ: ຫ້ອງສະຫມຸດ 64 ບິດບໍ່ເຫມາະສົມກັບເວທີ 32 ບິດແລະໃນທາງກັບກັນ).
Postynth ແລະ Post-layout Simulations ໂດຍໃຊ້ MSS ແລະ SERDES ໃນຂະນະທີ່ແລ່ນການຈໍາລອງ postsynth ຂອງການອອກແບບທີ່ປະກອບດ້ວຍ MSS block ຫຼືການຈໍາລອງຫລັງການຈັດວາງຂອງການອອກແບບໂດຍໃຊ້ SERDES, ການຈໍາລອງ BFM ບໍ່ເຮັດວຽກຖ້າທາງເລືອກ -libmap ແມ່ນ
ບໍ່ໄດ້ລະບຸໄວ້ໃນລະຫວ່າງການລະອຽດ. ນີ້ແມ່ນຍ້ອນວ່າໃນລະຫວ່າງການລະອຽດ, MSS ຖືກແກ້ໄຂຈາກຫ້ອງສະຫມຸດບ່ອນເຮັດວຽກ (ເນື່ອງຈາກການຜູກມັດໃນຕອນຕົ້ນແລະ worklib ເປັນ postsynth / post-layout) ບ່ອນທີ່ມັນເປັນພຽງແຕ່ຫນ້າທີ່ຄົງທີ່.
ຄໍາສັ່ງ ncelab ຕ້ອງໄດ້ຮັບການຂຽນຕາມທີ່ສະແດງຢູ່ໃນບລັອກລະຫັດຕໍ່ໄປນີ້ເພື່ອແກ້ໄຂ MSS
ບລັອກຈາກຫ້ອງສະໝຸດ SmartFusion2 precompiled.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
ແລະ lib.map file ຕ້ອງເປັນດັ່ງຕໍ່ໄປນີ້:
config cfg1;
ອອກແບບ ;
ບັນຊີລາຍການເລີ່ມຕົ້ນ smartfusion2 ;
endconfig
ນີ້ແກ້ໄຂເຊລໃດໆໃນຫ້ອງສະຫມຸດ SmartFusion2 ກ່ອນທີ່ຈະຊອກຫາຢູ່ໃນຫ້ອງສະຫມຸດບ່ອນເຮັດວຽກເຊັ່ນ postsynth / post-layout.
ທາງເລືອກ –libmap ສາມາດຖືກນໍາໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນໃນລະຫວ່າງການລະອຽດສໍາລັບທຸກໆ simulation (presynth, postsynth, ແລະ post-layout). ນີ້ຫຼີກເວັ້ນບັນຫາການຈໍາລອງທີ່ເກີດຈາກການແກ້ໄຂຕົວຢ່າງຈາກຫ້ອງສະຫມຸດ.
ncelab: *F,INTERR: ການຍົກເວັ້ນພາຍໃນ
ຂໍ້ຍົກເວັ້ນຂອງເຄື່ອງມື ncelab ນີ້ແມ່ນຄໍາເຕືອນສໍາລັບການອອກແບບທີ່ມີ FDDR ໃນ SmartFusion 2 ແລະ IGLOO 2 ໃນລະຫວ່າງການຈໍາລອງ postsynth ແລະ post-layout ໂດຍໃຊ້ທາງເລືອກ –libmap.
ສຳຄັນ: ບັນຫານີ້ໄດ້ຖືກລາຍງານໃຫ້ທີມງານສະຫນັບສະຫນູນ Cadence (SAR 52113).
3.4 ສample Tcl ແລະ Shell Script Files (ຖາມຄໍາຖາມ)
ຕໍ່ໄປນີ້ files ແມ່ນການຕັ້ງຄ່າ files ທີ່ຈໍາເປັນສໍາລັບການຕັ້ງຄ່າການອອກແບບແລະ shell script file ສໍາລັບແລ່ນຄໍາສັ່ງ NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
ກຳນົດ COREAHBLITE_LIB ./COREAHBLITE_LIB
ກໍານົດ presynth ./presynth
HDl.var
ກໍານົດການເຮັດວຽກ presynth
ກໍານົດ PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/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 )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/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 )
ກຳນົດ 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 )
ກຳນົດ 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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
- ເຮັດວຽກ presynth -logfile ncelab.log -errormax 15 -access +rwc -ສະຖານະ presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -ສະຖານະ presynth.testbench:module
3.5 ອັດຕະໂນມັດ (ຖາມຄໍາຖາມ)
script ຕໍ່ໄປນີ້ file ປ່ຽນ ModelSim run.do files ເຂົ້າໃນການຕັ້ງຄ່າ fileຕ້ອງການເພື່ອດໍາເນີນການຈໍາລອງໂດຍໃຊ້ NCSim.
ສະຄຣິບ File ການນໍາໃຊ້
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
############################################### ###########################################
##################
#ການນໍາໃຊ້: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ###########################################
##################
ໃຊ້ POSIX;
ໃຊ້ຢ່າງເຄັ່ງຄັດ;
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 {
$ModelSim_run_do ຂອງຂ້ອຍ = $_[0];
$actel_family ຂອງຂ້ອຍ = $_[1];
$lib_location ຂອງຂ້ອຍ = $_[2];
$state ຂອງຂ້ອຍ;
ຖ້າ ( -e “$ModelSim_run_do” )
{
ເປີດ (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do ຂອງຂ້ອຍ =FILE>;
$line ຂອງຂ້ອຍ;
ຖ້າ ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
ເປີດ (ອອກFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
ເປີດ (ອອກFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(ຮູບແບບຫຼັງ)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
ເປີດ (ອອກFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} ອື່ນ
{
ພິມ “ການປ້ອນຂໍ້ມູນຜິດທີ່ມອບໃຫ້ file\n”;
ພິມ “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Libraries_location\"\n";
}
foreach $line (@ModelSim_run_do)
{
# ການດໍາເນີນງານທົ່ວໄປ
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ພິມອອກມາFILE “$line \n”;
ຖ້າ ($line =~ m/vmap\s+.*($actel_family)/)
{
ພິມອອກມາFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ພິມອອກມາFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ພິມອອກມາFILE “$line \n”;
} ອື່ນ
{
ພິມອອກມາFILE “$line \n”;
}
}
ປິດ(INFILE);
ປິດ(ອອກFILE);
} ອື່ນ {
ພິມ “$ModelSim_run_do ບໍ່ມີ. ເປີດໃຊ້ການຈຳລອງອີກຄັ້ງ \n”;
}
}
ການຕິດຕັ້ງ Cadence Xcelium (ເຂົ້າສູ່ລະບົບໄມໂຄຣຊິບ)
ທ່ານຈໍາເປັນຕ້ອງສ້າງ script file ຄ້າຍກັບ ModelSim ME/ModelSim Pro ME run.do ເພື່ອແລ່ນ Cadence Xcelium simulator. ປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້ແລະສ້າງ script file ສໍາລັບ Xcelium ຫຼືໃຊ້ script file ສະໜອງໃຫ້ເພື່ອປ່ຽນ ModelSim ME/ModelSim Pro ME run.do files ເຂົ້າໄປໃນການຕັ້ງຄ່າ fileຕ້ອງການເພື່ອດໍາເນີນການຈໍາລອງໂດຍໃຊ້ Xcelium.
4.1 ຕົວແປສະພາບແວດລ້ອມ (ຖາມຄໍາຖາມ)
ເພື່ອແລ່ນ Cadence Xcelium, ຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້:
- LM_LICENSE_FILE: ຕ້ອງມີຕົວຊີ້ໄປຫາໃບອະນຸຍາດ file.
- cds_root: ຕ້ອງຊີ້ໃຫ້ເຫັນສະຖານທີ່ໄດເລກະທໍລີເຮືອນຂອງການຕິດຕັ້ງ Cadence Incisive.
- PATH: ຕ້ອງຊີ້ໄປທີ່ບ່ອນເກັບມ້ຽນພາຍໃຕ້ໄດເລກະທໍລີເຄື່ອງມືທີ່ຊີ້ໂດຍ cds_root (ie
$cds_root/tools/bin/64bit (ສໍາລັບເຄື່ອງ 64 bit ແລະ $cds_root/tools/bin ສໍາລັບ 32 bit
ເຄື່ອງ).
ມີສາມວິທີໃນການຕັ້ງຄ່າສະພາບແວດລ້ອມການຈໍາລອງໃນກໍລະນີຂອງການສະຫຼັບລະຫວ່າງ 64-bit ແລະ 32-bit ລະບົບປະຕິບັດການ:
ກໍລະນີ 1: PATH ຕົວແປ
set path = (install_dir/tools/bin/64bit $path) ສໍາລັບເຄື່ອງ 64bit ແລະ
set path = (install_dir/tools/bin $path) ສໍາລັບເຄື່ອງ 32bit
ກໍລະນີ 2: ການນໍາໃຊ້ -64bit Command-line Option
ໃນເສັ້ນຄໍາສັ່ງໃຫ້ລະບຸທາງເລືອກ -64bit ເພື່ອເອີ້ນໃຊ້ 64-bit.
ກໍລະນີທີ 3: ການຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ INCA_64BIT ຫຼື CDS_AUTO_64BIT
ຕົວແປ INCA_64BIT ຖືກປະຕິບັດເປັນ boolean. ທ່ານສາມາດຕັ້ງຕົວແປນີ້ເປັນຄ່າໃດໆ ຫຼືເປັນ null
ສາຍ.
setenv INCA_64BIT
ທີ່ສໍາຄັນ: ໄດ້ ຕົວແປສະພາບແວດລ້ອມ INCA_64BIT ບໍ່ມີຜົນຕໍ່ເຄື່ອງມື Cadence ອື່ນໆ ເຊັ່ນ: ເຄື່ອງມື IC. ແນວໃດກໍ່ຕາມ, ສໍາລັບເຄື່ອງມື Incisive, ຕົວແປ INCA_64BIT ລົບລ້າງການຕັ້ງຄ່າສໍາລັບຕົວແປສະພາບແວດລ້ອມ CDS_AUTO_64BIT. ຖ້າຕົວແປສະພາບແວດລ້ອມ INCA_64BIT ແມ່ນ et, ເຄື່ອງມື Incisive ທັງໝົດຈະເຮັດວຽກໃນໂໝດ 64-bit.
setenv CDS_AUTO_64BIT ລວມມີ:INCA
ທີ່ສໍາຄັນ: ໄດ້ ສະຕຣິງ INCA ຈະຕ້ອງເປັນຕົວພິມໃຫຍ່. ການປະຕິບັດທັງຫມົດຕ້ອງຖືກດໍາເນີນການໃນໂຫມດ 2 ບິດຫຼືໃນໂຫມດ 64 ບິດ, ຢ່າກໍານົດຕົວແປທີ່ຈະລວມເອົາຫນຶ່ງທີ່ສາມາດປະຕິບັດໄດ້, ດັ່ງຕໍ່ໄປນີ້:
setenv CDS_AUTO_64BIT ລວມມີ: ncelab
ເຄື່ອງມື Cadence ອື່ນໆ, ເຊັ່ນ: ເຄື່ອງມື IC, ຍັງໃຊ້ຕົວແປສະພາບແວດລ້ອມ CDS_AUTO_64BIT ເພື່ອຄວບຄຸມການເລືອກຄຳສັ່ງ 32-bit ຫຼື 64-bit. ຕາຕະລາງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນວິທີທີ່ທ່ານສາມາດຕັ້ງຄ່າຕົວແປ CDS_AUTO_64BIT ເພື່ອແລ່ນເຄື່ອງມື Incisive ແລະເຄື່ອງມື IC ໃນທຸກໂໝດ.
ຕາຕະລາງ 4-1. CDS_AUTO_64BIT ຕົວແປ
CDS_AUTO_64BIT ຕົວແປ | ເຄື່ອງມື Incisive | ເຄື່ອງມື IC |
setenv CDS_AUTO_64BIT ທັງໝົດ | 64-ບິດ | 64-ບິດ |
setenv CDS_AUTO_64BIT ບໍ່ມີ | 32-ບິດ | 32-ບິດ |
setenv CDS_AUTO_64BIT ຍົກເວັ້ນ: ic_binary |
64-ບິດ | 32-ບິດ |
setenv CDS_AUTO_64BIT ຍົກເວັ້ນ:INCA | 32-ບິດ | 64-ບິດ |
ສຳຄັນ: ເຄື່ອງມື Incisive ທັງຫມົດຕ້ອງໄດ້ຮັບການດໍາເນີນການໃນຮູບແບບ 32-bit ຫຼືໃນຮູບແບບ 64-bit, ບໍ່ໄດ້ນໍາໃຊ້ EXCLUDE ເພື່ອຍົກເວັ້ນການປະຕິບັດສະເພາະໃດຫນຶ່ງ, ດັ່ງຕໍ່ໄປນີ້:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
ຖ້າທ່ານຕັ້ງຕົວແປ CDS_AUTO_64BIT ເພື່ອຍົກເວັ້ນເຄື່ອງມື Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), ເຄື່ອງມື Incisive ທັງໝົດແມ່ນເຮັດວຽກຢູ່ໃນໂໝດ 32-bit. ຢ່າງໃດກໍຕາມ, ໄດ້
-64bit ທາງເລືອກແຖວຄໍາສັ່ງ overrides ຕົວແປສະພາບແວດລ້ອມ.
ການຕັ້ງຄ່າຕໍ່ໄປນີ້ files ຊ່ວຍໃຫ້ທ່ານຈັດການຂໍ້ມູນຂອງທ່ານແລະຄວບຄຸມການດໍາເນີນງານຂອງເຄື່ອງມືຈໍາລອງແລະຜົນປະໂຫຍດ:
- ແຜນທີ່ຫ້ອງສະໝຸດ file (cds.lib) ກໍານົດຊື່ທີ່ມີເຫດຜົນສໍາລັບສະຖານທີ່ຂອງການອອກແບບຂອງທ່ານ.
- ຫ້ອງສະຫມຸດແລະເຊື່ອມໂຍງພວກເຂົາດ້ວຍຊື່ໄດເລກະທໍລີ.
- ຕົວແປ file (hdl.var) ກໍານົດຕົວແປທີ່ມີຜົນກະທົບຕໍ່ພຶດຕິກໍາຂອງເຄື່ອງມືຈໍາລອງແລະຜົນປະໂຫຍດ.
4.2 ດາວໂຫຼດຫ້ອງສະໝຸດທີ່ລວບລວມ (ຖາມຄໍາຖາມ)
ດາວໂຫລດຫ້ອງສະຫມຸດສໍາລັບ Cadence Xcelium ຈາກ Microsemi's webເວັບໄຊ.
4.3 ການສ້າງຕົວໜັງສື Xcelium file (ຖາມຄໍາຖາມ)
ຫຼັງຈາກການສ້າງສໍາເນົາຂອງ run.do files, ດໍາເນີນຂັ້ນຕອນຕໍ່ໄປນີ້ເພື່ອດໍາເນີນການຈໍາລອງຂອງທ່ານໂດຍໃຊ້ Xcelium script file.
- ສ້າງ cds.lib file ທີ່ກໍານົດວ່າຫ້ອງສະຫມຸດໃດສາມາດເຂົ້າເຖິງໄດ້ແລະບ່ອນທີ່ພວກເຂົາຕັ້ງຢູ່.
ໄດ້ file ປະກອບມີຄໍາຖະແຫຼງທີ່ສ້າງແຜນທີ່ຊື່ຂອງຫ້ອງສະຫມຸດກັບເສັ້ນທາງໄດເລກະທໍລີທາງດ້ານຮ່າງກາຍຂອງພວກເຂົາ. ຕົວຢ່າງampດັ່ງນັ້ນ, ຖ້າທ່ານກໍາລັງແລ່ນ simulation presynth, cds.lib file ສາມາດຂຽນໄດ້ດັ່ງທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
ກໍານົດ presynth ./presynth
ກຳນົດ COREAHBLITE_LIB ./COREAHBLITE_LIB
ກໍານົດ smartfusion2 - ສ້າງ hdl.var file ເຊິ່ງເປັນການຕັ້ງຄ່າທາງເລືອກ file ທີ່ປະກອບດ້ວຍຕົວແປການຕັ້ງຄ່າ, ທີ່ກໍານົດວິທີການສະພາບແວດລ້ອມການອອກແບບຂອງທ່ານຖືກກໍາຫນົດຄ່າ. ເຫຼົ່ານີ້ລວມມີ:
– ຕົວແປທີ່ຖືກນໍາໃຊ້ເພື່ອກໍານົດຫ້ອງສະຫມຸດບ່ອນເຮັດວຽກທີ່ compiler ເກັບລວບລວມວັດຖຸທີ່ລວບລວມແລະຂໍ້ມູນອື່ນໆທີ່ໄດ້ມາ.
– ສໍາລັບ Verilog, ຕົວແປ (LIB_MAP, VIEW_MAP, WORK) ທີ່ຖືກນໍາໃຊ້ເພື່ອກໍານົດຫ້ອງສະຫມຸດແລະ views ເພື່ອຄົ້ນຫາເມື່ອຜູ້ສ້າງລາຍລະອຽດແກ້ໄຂຕົວຢ່າງ.
– ຕົວແປທີ່ອະນຸຍາດໃຫ້ທ່ານສາມາດກໍານົດ compiler, elaborator, ແລະ simulator ທາງເລືອກເສັ້ນຄໍາສັ່ງແລະການໂຕ້ຖຽງ.
ໃນກໍລະນີຂອງ simulation presynth example ສະແດງໃຫ້ເຫັນຂ້າງເທິງ, ເວົ້າວ່າພວກເຮົາມີ 3 RTL files av, bv, ແລະ testbench.v, ເຊິ່ງຈໍາເປັນຕ້ອງຖືກລວບລວມເຂົ້າໄປໃນ presynth, COREAHBLITE_LIB, ແລະ presynth libraries ຕາມລໍາດັບ. hdl.var file ສາມາດຂຽນໄດ້ດັ່ງທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
ກໍານົດການເຮັດວຽກ presynth
ກຳນົດ PROJECT_DIR files>
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
ກຳນົດ LIB_MAP ( $LIB_MAP, + => presynth ) - ລວບລວມການອອກແບບ files ໃຊ້ທາງເລືອກ ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ລາຍລະອຽດການອອກແບບໂດຍໃຊ້ncelab. ຜູ້ສ້າງແບບລຳດັບຊັ້ນໃນການອອກແບບໂດຍອີງໃສ່ຂໍ້ມູນທັນທີ ແລະການຕັ້ງຄ່າໃນການອອກແບບ, ສ້າງການເຊື່ອມຕໍ່ສັນຍານ ແລະຄຳນວນຄ່າເບື້ອງຕົ້ນສຳລັບວັດຖຸທັງໝົດໃນການອອກແບບ. ລຳດັບຊັ້ນຂອງການອອກແບບທີ່ລະອຽດຈະຖືກເກັບໄວ້ໃນຮູບການຈຳລອງ, ເຊິ່ງເປັນການສະແດງເຖິງການອອກແບບຂອງເຈົ້າທີ່ເຄື່ອງຈຳລອງໃຊ້ເພື່ອແລ່ນການຈຳລອງ.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
ເຂົ້າເຖິງ +rwc – ສະຖານະ worklib. :ໂມດູນ
ລາຍລະອຽດໃນລະຫວ່າງການຈໍາລອງຫຼັງການຈັດວາງ
ໃນກໍລະນີຂອງ simulations ຫລັງການຈັດວາງ, ທໍາອິດ SDF file ຕ້ອງໄດ້ຮັບການລວບລວມກ່ອນທີ່ຈະລະອຽດໂດຍໃຊ້ຄໍາສັ່ງ ncsdfc.
ເຊລຽມfilename>.sdf –outputfileຊື່>.sdf.X
ໃນລະຫວ່າງການລະອຽດນໍາໃຊ້ຜົນຜະລິດ SDF ສັງລວມທີ່ມີທາງເລືອກ –autosdf ດັ່ງທີ່ສະແດງໃຫ້ເຫັນໃນ codeblock ດັ່ງຕໍ່ໄປນີ້.
xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :ໂມດູນ –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file ຕ້ອງເປັນດັ່ງທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
COMPILED_SDF_FILE = “ file>” - ຈຳລອງໃຊ້ Xcelium. ຫຼັງຈາກການລະອຽດຮູບພາບຈໍາລອງໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນທີ່ຖືກໂຫຼດໂດຍ Xcelium ສໍາລັບການຈໍາລອງ. ນີ້ສາມາດດໍາເນີນການໃນໂຫມດ batch ຫຼືຮູບແບບ GUI.
xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 – ສະຖານະ worklib. :ໂມດູນ
ການຕິດຕັ້ງ Cadence Xcelium
ສໍາຄັນ: ທັງຫມົດ ສາມຂັ້ນຕອນຂ້າງເທິງຂອງການລວບລວມ, ລາຍລະອຽດແລະການຈໍາລອງສາມາດຖືກໃສ່ເຂົ້າໄປໃນ Shell script file ແລະໄດ້ມາຈາກບັນຊີຄໍາສັ່ງ. ແທນທີ່ຈະໃຊ້ສາມຂັ້ນຕອນນີ້, ການອອກແບບສາມາດຖືກຈໍາລອງໃນຂັ້ນຕອນຫນຶ່ງໂດຍໃຊ້ ncverilog ຫຼື xrun ທາງເລືອກທີ່ສະແດງຢູ່ໃນ codeblock ຕໍ່ໄປນີ້.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files ໃຊ້ໃນການອອກແບບ>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
ໃຊ້ໃນການອອກແບບ>
4.3.1 ບັນຫາທີ່ຮູ້ຈັກ (ຖາມຄໍາຖາມ)
Testbench Workaround
ການນໍາໃຊ້ຄໍາຖະແຫຼງຕໍ່ໄປນີ້ສໍາລັບການລະບຸຄວາມຖີ່ຂອງໂມງໃນ testbench ທີ່ສ້າງຂຶ້ນໂດຍຜູ້ໃຊ້ຫຼື testbench ເລີ່ມຕົ້ນທີ່ສ້າງໂດຍ Libero SoC ບໍ່ເຮັດວຽກກັບ Xcelium.
ສະເໝີ @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
ແກ້ໄຂດັ່ງຕໍ່ໄປນີ້ເພື່ອດໍາເນີນການຈໍາລອງ:
ສະເໝີ #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
ສຳຄັນ: ຫ້ອງສະຫມຸດທີ່ລວບລວມສໍາລັບ Xcelium ແມ່ນເວທີສະເພາະ (ເຊັ່ນ: ຫ້ອງສະຫມຸດ 64 ບິດບໍ່ເຫມາະສົມກັບເວທີ 32 ບິດແລະໃນທາງກັບກັນ).
Postynth ແລະ Post-layout Simulations ໂດຍໃຊ້ MSS ແລະ SERDES
ໃນຂະນະທີ່ແລ່ນການຈໍາລອງແບບ postsynth ຂອງການອອກແບບທີ່ມີບລັອກ MSS, ຫຼືການຈໍາລອງການອອກແບບຫລັງການອອກແບບໂດຍໃຊ້ SERDES, ການຈໍາລອງ BFM ຈະບໍ່ເຮັດວຽກຖ້າ -libmap ບໍ່ໄດ້ລະບຸທາງເລືອກໃນລະຫວ່າງການລະອຽດ. ນີ້ແມ່ນຍ້ອນວ່າໃນລະຫວ່າງການລະອຽດ, MSS ຖືກແກ້ໄຂຈາກຫ້ອງສະຫມຸດບ່ອນເຮັດວຽກ (ເນື່ອງຈາກການຜູກມັດໃນຕອນຕົ້ນແລະ worklib ເປັນ postsynth / post-layout) ບ່ອນທີ່ມັນເປັນພຽງແຕ່ຫນ້າທີ່ຄົງທີ່.
ຄໍາສັ່ງ ncelab ຕ້ອງໄດ້ຮັບການຂຽນຕາມທີ່ສະແດງຢູ່ໃນບລັອກລະຫັດຕໍ່ໄປນີ້ເພື່ອແກ້ໄຂບລັອກ MSS ຈາກຫ້ອງສະຫມຸດ SmartFusion2 precompiled.
xmelab -libmap lib.map -libverbose -ຂໍ້ຄວາມ -access +rwc cfg1
ແລະ lib.map file ຕ້ອງເປັນດັ່ງຕໍ່ໄປນີ້:
config cfg1;
ອອກແບບ ;
ບັນຊີລາຍການເລີ່ມຕົ້ນ smartfusion2 ;
endconfig
ອັນນີ້ຕ້ອງແກ້ໄຂເຊລໃດນຶ່ງໃນຫ້ອງສະໝຸດ SmartFusion2 ກ່ອນທີ່ຈະເບິ່ງໃນຫ້ອງສະໝຸດວຽກເຊັ່ນ: postsynth/post-layout.
ທາງເລືອກ –libmap ສາມາດຖືກນໍາໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນໃນລະຫວ່າງການລະອຽດສໍາລັບທຸກໆ simulation (presynth, postsynth ແລະ post-layout). ນີ້ຫຼີກເວັ້ນບັນຫາການຈໍາລອງທີ່ເກີດຈາກການແກ້ໄຂຕົວຢ່າງຈາກຫ້ອງສະຫມຸດ.
xmelab: *F,INTERR: ການຍົກເວັ້ນພາຍໃນ
ຂໍ້ຍົກເວັ້ນຂອງເຄື່ອງມື ncelab ນີ້ແມ່ນຄໍາເຕືອນສໍາລັບການອອກແບບທີ່ມີ FDDR ໃນ SmartFusion2 ແລະ IGLOO2
ໃນລະຫວ່າງການຈໍາລອງ postsynth ແລະ post-layout ໂດຍໃຊ້ຕົວເລືອກ –libmap.
ສຳຄັນ: ບັນຫານີ້ໄດ້ຖືກລາຍງານໃຫ້ທີມງານສະຫນັບສະຫນູນ Cadence (SAR 52113).
4.4 ສample Tcl ແລະ shell script files (ຖາມຄໍາຖາມ)
ຕໍ່ໄປນີ້ files ແມ່ນການຕັ້ງຄ່າ files ທີ່ຈໍາເປັນສໍາລັບການຕັ້ງຄ່າການອອກແບບແລະ shell script file ສໍາລັບແລ່ນຄໍາສັ່ງ Xcelium.
Cds.lib
ກໍານົດ smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
ກຳນົດ COREAHBLITE_LIB ./COREAHBLITE_LIB
ກໍານົດ presynth ./presynth
HDl.var
ກໍານົດການເຮັດວຽກ presynth
ກໍານົດ PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/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 )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
ກຳນົດ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/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 )
ກຳນົດ 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 )
ກຳນົດ 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 -Message -cdslib ./cds.lib -hdlvar ./hdl.var
- ເຮັດວຽກ presynth -logfile ncelab.log -errormax 15 -access +rwc -ສະຖານະ presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -ສະຖານະ presynth.testbench:module
4.5 ອັດຕະໂນມັດ (ເຂົ້າສູ່ລະບົບໄມໂຄຣຊິບ)
script ຕໍ່ໄປນີ້ file ປ່ຽນ ModelSim run.do files ເຂົ້າໃນການຕັ້ງຄ່າ fileຕ້ອງການເພື່ອດໍາເນີນການຈໍາລອງໂດຍໃຊ້ Xcelium.
ສະຄຣິບ File ການນໍາໃຊ້
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
############################################### ###########################################
##################
#ການນໍາໃຊ້: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ###########################################
##################
ໃຊ້ POSIX;
ໃຊ້ຢ່າງເຄັ່ງຄັດ;
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 {
$ModelSim_run_do ຂອງຂ້ອຍ = $_[0];
$actel_family ຂອງຂ້ອຍ = $_[1];
$lib_location ຂອງຂ້ອຍ = $_[2];
$state ຂອງຂ້ອຍ;
ຖ້າ ( -e “$ModelSim_run_do” )
{
ເປີດ (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do ຂອງຂ້ອຍ =FILE>;
$line ຂອງຂ້ອຍ;
ຖ້າ ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
ເປີດ (ອອກFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
ເປີດ (ອອກFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(ຮູບແບບຫຼັງ)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
ເປີດ (ອອກFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} ອື່ນ
{
ພິມ “ການປ້ອນຂໍ້ມູນຜິດທີ່ມອບໃຫ້ file\n”;
ພິມ “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"Libraries_location\"\n";
}
foreach $line (@ModelSim_run_do)
{
# ການດໍາເນີນງານທົ່ວໄປ
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ພິມອອກມາFILE “$line \n”;
ຖ້າ ($line =~ m/vmap\s+.*($actel_family)/)
{
ພິມອອກມາFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ພິມອອກມາFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ພິມອອກມາFILE “$line \n”;
} ອື່ນ
{
ພິມອອກມາFILE “$line \n”;
}
}
ປິດ(INFILE);
ປິດ(ອອກFILE);
} ອື່ນ {
ພິມ “$ModelSim_run_do ບໍ່ມີ. ເປີດໃຊ້ການຈຳລອງອີກຄັ້ງ \n”;
}
}
Siemens QuestaSim Setup/ModelSim Setup (ຖາມຄໍາຖາມ)
run.do ໄດ້ files, ສ້າງຂຶ້ນໂດຍ Libero SoC ສໍາລັບການຈໍາລອງໂດຍໃຊ້ ModelSim Microsemi Editions, ສາມາດນໍາໃຊ້ສໍາລັບການຈໍາລອງໂດຍໃຊ້ QuestaSim/ModelSim SE/DE/PE ດ້ວຍການປ່ຽນແປງດຽວ. ໃນ ModelSim ME/ModelSim Pro ME run.do file, ສະຖານທີ່ຫ້ອງສະຫມຸດ precompiled ຕ້ອງໄດ້ຮັບການແກ້ໄຂ.
ສຳຄັນ:
ໂດຍຄ່າເລີ່ມຕົ້ນ, ເຄື່ອງມືການຈໍາລອງອື່ນນອກຈາກ ModelSim Pro ME ປະຕິບັດການເພີ່ມປະສິດທິພາບການອອກແບບໃນລະຫວ່າງການຈໍາລອງທີ່ສາມາດສົ່ງຜົນກະທົບຕໍ່ການເບິ່ງເຫັນເຂົ້າໄປໃນສິ່ງປະດິດຈໍາລອງເຊັ່ນວັດຖຸອອກແບບແລະການກະຕຸ້ນການປ້ອນຂໍ້ມູນ.
ໂດຍທົ່ວໄປແລ້ວນີ້ແມ່ນເປັນປະໂຫຍດໃນການຫຼຸດຜ່ອນການຈໍາລອງ runtime ສໍາລັບການຈໍາລອງທີ່ຊັບຊ້ອນ, ການນໍາໃຊ້ verbose, testbenches ການກວດສອບຕົນເອງ. ຢ່າງໃດກໍ່ຕາມ, ການເພີ່ມປະສິດທິພາບໃນຕອນຕົ້ນອາດຈະບໍ່ເຫມາະສົມສໍາລັບການຈໍາລອງທັງຫມົດ, ໂດຍສະເພາະໃນກໍລະນີທີ່ເຈົ້າຄາດຫວັງວ່າຈະກວດສອບຜົນການຈໍາລອງແບບຮູບພາບໂດຍໃຊ້ປ່ອງຢ້ຽມຄື້ນ.
ເພື່ອແກ້ໄຂບັນຫາທີ່ເກີດຈາກການເພີ່ມປະສິດທິພາບນີ້, ທ່ານຕ້ອງເພີ່ມຄໍາສັ່ງທີ່ເຫມາະສົມແລະການໂຕ້ຖຽງທີ່ກ່ຽວຂ້ອງໃນລະຫວ່າງການຈໍາລອງເພື່ອຟື້ນຟູການເບິ່ງເຫັນໃນການອອກແບບ. ສໍາລັບຄໍາສັ່ງສະເພາະເຄື່ອງມື, ເບິ່ງເອກະສານຂອງ simulator ໃນການນໍາໃຊ້.
5.1 ຕົວແປສະພາບແວດລ້ອມ (ຖາມຄໍາຖາມ)
ຕໍ່ໄປນີ້ແມ່ນຕົວແປສະພາບແວດລ້ອມທີ່ຕ້ອງການ.
- LM_LICENSE_FILE: ຕ້ອງປະກອບມີເສັ້ນທາງໄປຫາໃບອະນຸຍາດ file.
- MODEL_TECH: ຕ້ອງລະບຸເສັ້ນທາງໄປຫາສະຖານທີ່ໄດເຣັກທໍຣີຫຼັກຂອງການຕິດຕັ້ງ QuestaSim.
- PATH: ຕ້ອງຊີ້ໄປທີ່ສະຖານທີ່ປະຕິບັດໄດ້ຊີ້ໂດຍ MODEL_TECH.
5.2 ການແປງ run.do ສໍາລັບ Mentor QuestaSim (ຖາມຄໍາຖາມ)
run.do ໄດ້ files ຜະລິດໂດຍ Libero SoC ສໍາລັບການຈໍາລອງການນໍາໃຊ້ ModelSim Microsemi Editions ສາມາດນໍາໃຊ້ສໍາລັບການຈໍາລອງການນໍາໃຊ້ QuestaSim/ModelSim_SE ດ້ວຍການປ່ຽນແປງດຽວ.
ສໍາຄັນ: ທັງຫມົດ ການອອກແບບທີ່ຖືກຈໍາລອງໂດຍໃຊ້ QuestaSim ຕ້ອງປະກອບມີ -novopt
ທາງເລືອກພ້ອມກັບຄໍາສັ່ງ vsim ໃນ script run.do files.
5.3 ດາວໂຫຼດຫ້ອງສະໝຸດທີ່ລວບລວມ (ຖາມຄໍາຖາມ)
ດາວໂຫລດຫ້ອງສະຫມຸດສໍາລັບ Mentor Graphics QuestaSim ຈາກ Microsemi's webເວັບໄຊ.
ການຕິດຕັ້ງ VCS Synopsys (ຖາມຄໍາຖາມ)
ການໄຫຼເຂົ້າທີ່ແນະນໍາໂດຍ Microsemi ແມ່ນອີງໃສ່ການໄຫຼເຂົ້າຢ່າງລະອຽດ ແລະລວບລວມໃນ VCS. ເອກະສານນີ້ປະກອບມີສະຄິບ file ທີ່ໃຊ້ script run.do files ສ້າງໂດຍ Libero SoC ແລະສ້າງການຕິດຕັ້ງ fileຕ້ອງການສໍາລັບການຈໍາລອງ VCS. ສະຄຣິບ file ໃຊ້ run.do file ເພື່ອເຮັດສິ່ງຕໍ່ໄປນີ້.
- ສ້າງແຜນທີ່ຫ້ອງສະຫມຸດ file, ເຊິ່ງເຮັດໄດ້ໂດຍໃຊ້ synopsys_sim.setup file ຕັ້ງຢູ່ໃນໄດເລກະທໍລີດຽວກັນທີ່ການຈໍາລອງ VCS ກໍາລັງແລ່ນ.
- ສ້າງ Shell script file ເພື່ອລະອຽດແລະລວບລວມການອອກແບບຂອງທ່ານໂດຍໃຊ້ VCS.
6.1 ຕົວແປສະພາບແວດລ້ອມ (ຖາມຄໍາຖາມ)
ກໍານົດຕົວແປສະພາບແວດລ້ອມທີ່ເຫມາະສົມສໍາລັບ VCS ໂດຍອີງໃສ່ການຕັ້ງຄ່າຂອງທ່ານ. ຕົວແປສະພາບແວດລ້ອມທີ່ຕ້ອງການຕາມເອກະສານ VCS ແມ່ນ:
- LM_LICENSE_FILE: ຕ້ອງມີຕົວຊີ້ໄປຫາເຊີບເວີໃບອະນຸຍາດ.
- VCS_HOME: ຕ້ອງຊີ້ໄປຫາສະຖານທີ່ໄດເຣັກທໍຣີຫຼັກຂອງການຕິດຕັ້ງ VCS.
- PATH: ຕ້ອງມີຕົວຊີ້ໄປຫາໄດເລກະທໍລີຖັງທີ່ຢູ່ດ້ານລຸ່ມຂອງໄດເຣັກທໍຣີ VCS_HOME.
6.2 ດາວໂຫຼດຫ້ອງສະໝຸດທີ່ລວບລວມ (ຖາມຄໍາຖາມ)
ດາວໂຫລດຫ້ອງສະຫມຸດສໍາລັບ Synopsys VCS ຈາກ Microsemi's webເວັບໄຊ.
6.3 VCS Simulation Script File (ຖາມຄໍາຖາມ)
ຫຼັງຈາກການຕັ້ງຄ່າ VCS ແລະສ້າງການອອກແບບແລະ run.do ທີ່ແຕກຕ່າງກັນ files ຈາກ Libero SoC, ທ່ານຕ້ອງ:
- ສ້າງແຜນທີ່ຫ້ອງສະຫມຸດ file synopsys_sim.setup; ນີ້ file ມີຕົວຊີ້ໄປຫາສະຖານທີ່ຂອງຫ້ອງສະຫມຸດທັງຫມົດທີ່ຈະນໍາໃຊ້ໂດຍການອອກແບບ.
ທີ່ສໍາຄັນ: ໄດ້ file ຊື່ຈະຕ້ອງບໍ່ປ່ຽນແປງແລະມັນຕ້ອງຢູ່ໃນໄດເລກະທໍລີດຽວກັນບ່ອນທີ່ການຈໍາລອງກໍາລັງດໍາເນີນການ. ນີ້ແມ່ນ example ສໍາລັບການດັ່ງກ່າວ file ສໍາລັບການຈໍາລອງ presynthesis.
ເຮັດວຽກ > ບໍ່ໄດ້ຜົນ
SmartFusion2:
presynth : ./presynth
ຄ່າເລີ່ມຕົ້ນ : ./work - ລາຍລະອຽດການອອກແບບທີ່ແຕກຕ່າງກັນ files, ລວມທັງ testbench, ການນໍາໃຊ້ຄໍາສັ່ງ vlogan ໃນ VCS. ຄໍາສັ່ງເຫຼົ່ານີ້ອາດຈະຖືກລວມຢູ່ໃນ Shell script file. ຕໍ່ໄປນີ້ແມ່ນ example ຂອງຄໍາສັ່ງທີ່ຈໍາເປັນເພື່ອລາຍລະອຽດການອອກແບບທີ່ກໍານົດໄວ້ໃນ rtl.v ກັບ testbench ຂອງມັນກໍານົດໄວ້ໃນ
testbench.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - ລວບລວມການອອກແບບໂດຍໃຊ້ VCS ໂດຍໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້.
vcs –sim_res=1fs presynth.testbench
ຫມາຍເຫດ: ໄດ້ ການແກ້ໄຂໄລຍະເວລາຂອງການຈໍາລອງຕ້ອງຖືກຕັ້ງເປັນ 1fs ສໍາລັບການຈໍາລອງການທໍາງານທີ່ຖືກຕ້ອງ. - ເມື່ອການອອກແບບຖືກລວບລວມ, ເລີ່ມຕົ້ນການຈໍາລອງໂດຍໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້.
./simv - ສຳລັບການຈຳລອງແບບຫຍໍ້ໜ້າຫຼັງ, ຄຳສັ່ງ VCS ຈະຕ້ອງເປັນດັ່ງທີ່ສະແດງຢູ່ໃນລະຫັດບລັອກຕໍ່ໄປນີ້.
vcs postlayout.testbench –sim_res=1fs –sdf ສູງສຸດ: .
ຊື່>: file ເສັ້ນທາງ> –gui –l postlayout.log
6.4 ຂໍ້ຈຳກັດ/ຂໍ້ຍົກເວັ້ນ (ຖາມຄໍາຖາມ)
ຕໍ່ໄປນີ້ແມ່ນຂໍ້ຈໍາກັດ / ຂໍ້ຍົກເວັ້ນຂອງການຕິດຕັ້ງ Synopsys VCS.
- ການຈຳລອງ VCS ສາມາດດໍາເນີນການໄດ້ສະເພາະໂຄງການ Verilog ຂອງ Libero SoC ເທົ່ານັ້ນ. ເຄື່ອງຈຳລອງ VCS ມີຄວາມຕ້ອງການພາສາ VHDL ທີ່ເຄັ່ງຄັດທີ່ບໍ່ໄດ້ຕອບສະໜອງໄດ້ໂດຍ Libero SoC ທີ່ສ້າງຂຶ້ນອັດຕະໂນມັດ VHDL files.
- ທ່ານຕ້ອງມີຄໍາຖະແຫຼງການ $finish ໃນ Verilog testbench ເພື່ອຢຸດການຈໍາລອງທຸກຄັ້ງທີ່ທ່ານຕ້ອງການ.
ສິ່ງສໍາຄັນ: ເມື່ອ ການຈໍາລອງແມ່ນດໍາເນີນຢູ່ໃນໂຫມດ GUI, ເວລາແລ່ນສາມາດຖືກກໍານົດໄວ້ໃນ GUI.
6.5 ສample Tcl ແລະ Shell Script Files (ຖາມຄໍາຖາມ)
Perl ຕໍ່ໄປນີ້ເຮັດໃຫ້ການຜະລິດ synopsys_sim.setup ອັດຕະໂນມັດ file ເຊັ່ນດຽວກັນກັບ script shell ທີ່ສອດຄ້ອງກັນ files ຕ້ອງການຢ່າງລະອຽດ, ລວບລວມ, ແລະຈໍາລອງການອອກແບບ.
ຖ້າການອອກແບບໃຊ້ MSS, ຄັດລອກ test.vec file ຕັ້ງຢູ່ໃນໂຟເດີຈໍາລອງຂອງໂຄງການ Libero SoC ເຂົ້າໄປໃນໂຟເດີຈໍາລອງ VCS. ພາກສ່ວນຕໍ່ໄປນີ້ປະກອບດ້ວຍ sample run.do files ຜະລິດໂດຍ Libero SoC, ລວມທັງການສ້າງແຜນທີ່ຫ້ອງສະຫມຸດທີ່ສອດຄ້ອງກັນແລະສະຄິບ shell fileຕ້ອງການສໍາລັບການຈໍາລອງ VCS.
6.5.1 ການສັງເຄາະລ່ວງໜ້າ (ຖາມຄໍາຖາມ)
Presynth_run.do
ຕັ້ງ ACTELLIBNAME SmartFusion2 ຢ່າງງຽບໆ
ຕັ້ງ PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF” ຢ່າງງຽບໆ
ຖ້າ {[file ມີ presynth/_info]} {
ສຽງສະທ້ອນ “ຂໍ້ມູນ: ຫ້ອງສະໝຸດຈຳລອງມີຢູ່ກ່ອນແລ້ວ”
} ອື່ນ {
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
ເພີ່ມຄື້ນ /SD1_TB1/*
ເພີ່ມບັນທຶກ -r /*
ແລ່ນ 1000ns
presynth_main.csh
#!/bin/csh -f
ຕັ້ງ PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth “${PROJECT_DIR}/component/
work/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
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
ເຮັດວຽກ > ຄ່າເລີ່ມຕົ້ນ
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
ຄ່າເລີ່ມຕົ້ນ : ./work
6.5.2 ການສັງເຄາະຫຼັງການສັງເຄາະ (ຖາມຄໍາຖາມ)
postsynth_run.do
ຕັ້ງ ACTELLIBNAME SmartFusion2 ຢ່າງງຽບໆ
ຕັ້ງ PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF” ຢ່າງງຽບໆ
ຖ້າ {[file ມີ postsynth/_info]} {
echo "ຂໍ້ມູນ: ຫ້ອງສະຫມຸດຈໍາລອງ postsynth ມີຢູ່ແລ້ວ"
} ອື່ນ {
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
ເພີ່ມຄື້ນ /SD1_TB1/*
ເພີ່ມບັນທຶກ -r /*
ແລ່ນ 1000ns
ບັນທຶກ SD1_TB1/*
ອອກໄປ
Postsynth_main.csh
#!/bin/csh -f
ຕັ້ງ PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth “${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
ເຮັດວຽກ > ຄ່າເລີ່ມຕົ້ນ
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
ຄ່າເລີ່ມຕົ້ນ : ./work
6.5.3 ການຈັດວາງຫຼັງ (ຖາມຄໍາຖາມ)
postlayout_run.do
ຕັ້ງ ACTELLIBNAME SmartFusion2 ຢ່າງງຽບໆ
ຕັ້ງ PROJECT_DIR “E:/ModelSim_Work/Test_DFF” ຢ່າງງຽບໆ
ຖ້າ {[file ມີຢູ່../designer/SD1/simulation/postlayout/_info]} {
ສຽງສະທ້ອນ “ຂໍ້ມູນ: ຫ້ອງສະໝຸດຈຳລອງ../designer/SD1/simulation/postlayout ມີຢູ່ແລ້ວ”
} ອື່ນ {
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
ເພີ່ມຄື້ນ /SD1_TB1/*
ເພີ່ມບັນທຶກ -r /*
ແລ່ນ 1000ns
Postlayout_main.csh
#!/bin/csh -f
ຕັ້ງ PROJECT_DIR = “/VCS_Tests/Test_DFF”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
ຜູ້ອອກແບບ/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -work
ການຈັດວາງຫຼັງ “${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
ເຮັດວຽກ > ຄ່າເລີ່ມຕົ້ນ
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
ຄ່າເລີ່ມຕົ້ນ : ./workVCS
6.6 ອັດຕະໂນມັດ (ຖາມຄໍາຖາມ)
ການໄຫຼເຂົ້າສາມາດອັດຕະໂນມັດໂດຍໃຊ້ Perl script ຕໍ່ໄປນີ້ file ເພື່ອປ່ຽນ ModelSim run.do files ເຂົ້າໄປໃນ VCS compatible shell script files, ສ້າງໄດເລກະທໍລີທີ່ເຫມາະສົມພາຍໃນໄດເລກະທໍລີ simulation Libero SoC, ແລະຫຼັງຈາກນັ້ນດໍາເນີນການ simulations.
ດໍາເນີນການສະຄິບ file ໂດຍໃຊ້ syntax ຕໍ່ໄປນີ້.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
############################################### ############################
#
#ການນໍາໃຊ້: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
############################################### ############################
my ($presynth, $postsynth, $postlayout) = @ARGV;
ຖ້າ(ລະບົບ(“mkdir VCS_Presynth”)) {ພິມ “mkdir ລົ້ມເຫລວ:\n”;}
ຖ້າ(ລະບົບ(“mkdir VCS_Postsynth”)) {ພິມ “mkdir ລົ້ມເຫລວ:\n”;}
ຖ້າ(ລະບົບ(“mkdir VCS_Postlayout”)) {ພິມ “mkdir ລົ້ມເຫລວ:\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 ຂອງຂ້ອຍ = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
%LIB ຂອງຂ້ອຍ = ();
$ ຂອງຂ້ອຍfile = $_[0] ;
$state ຂອງຂ້ອຍ = $_[1];
ເປີດ(INFILE,”$file”) || ຕາຍ “ເປີດບໍ່ໄດ້ File ເຫດຜົນອາດຈະເປັນ: $!”;
ຖ້າ ($state eq “presynth”)
{
open(OUT1,”>presynth_main.csh”) || ຕາຍ “ບໍ່ສາມາດສ້າງຄໍາສັ່ງ File ເຫດຜົນອາດຈະເປັນ: $!”;
}
elsif ($state eq “postsynth”)
{
open(OUT1,”>postsynth_main.csh”) || ຕາຍ “ບໍ່ສາມາດສ້າງຄໍາສັ່ງ File ເຫດຜົນອາດຈະເປັນ: $!”;
}
elsif ($state eq “ການວາງຫຼັງ”)
{
open(OUT1,”>postlayout_main.csh”) || ຕາຍ “ບໍ່ສາມາດສ້າງຄໍາສັ່ງ File ເຫດຜົນອາດຈະເປັນ: $!”;
}
ອື່ນ
{
ພິມ “ສະຖານະຈຳລອງຫາຍໄປ \n” ;
}
open(OUT2,">synopsys_sim.setup”) || ຕາຍ “ບໍ່ສາມາດສ້າງຄໍາສັ່ງ File ເຫດຜົນອາດຈະເປັນ: $!”;
# .csh file
ພິມ OUT1 “#!/bin/csh -f\n\n\n” ;
#ຕັ້ງຄ່າ FILE
ພິມອອກ 2 "ເຮັດວຽກ > ເລີ່ມຕົ້ນ\n" ;
ພິມ OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
ໃນຂະນະທີ່ ($line =FILE>)
{
ການຕັ້ງຄ່າ VCS Synopsys
ຖ້າ ($line =~ m/ຕັ້ງ PROJECT_DIR\s+\” (.*?)\”/)
{
ພິມ OUT1 “ຕັ້ງ PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($line =~ m/vlog.*\.v\"/ )
{
ຖ້າ ($line =~ m/\s+(\w*?)\_LIB/)
{
#ພິມ “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#ພິມ “Temp = $temp \n” ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
ພິມອອກ 1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.*)/) || ($line =~ m/vsim.*postsynth\.(*)/) || ($line
=~ m/vsim.*postlayout\.(*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#ພິມ “ຊື່ວັນນະໂລກ: $tb \n”;
ຖ້າ ($line =~ m/sdf.*)\.sdf/)
{
chomp($line);
$line = $1 ;
#ພິມ “LINE: $line \n” ;
ຖ້າ ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
ພິມ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ສູງສຸດ:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/min/)
{
$line =~ s/ນາທີ \/// ;
$line =~ s/=/:/;
ພິມ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ຕ່ຳສຸດ:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
ພິມ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ພິມ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ຮູບແບບ ModelSim SDF
#$sdf = “-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -VCS
ຮູບແບບ SDF
}
}
}
ພິມ
OUT1 “\n\n”
;
if
($state eq “presynth”
)
{
ພິມ
OUT2 “presynth
: ./presynth\n”
;
ພິມ
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elif
($state eq “postsynth”
)
{
ພິມ
OUT2 “postsynth
: ./postsynth\n”
;
ພິມ
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elif
($state eq “postlayout”
)
{
ພິມ OUT2 “postlayout : ./postlayout\n” ;
}
ອື່ນ
{
ພິມ “ສະຖານະຈຳລອງຫາຍໄປ \n” ;
}
foreach $i (ກະແຈ %LIB)
{
#print “Key : $i Value : $LIB{$i} \n” ;
ພິມ OUT2 “$i : ./$i\n” ;
}
ພິມອອກ 1 “\n\n” ;
ພິມ OUT1 “./simv -l run.log\n” ;
ພິມ OUT2 “DEFAULT : ./work\n” ;
ປິດ INFILE;
ປິດ OUT1;
ປິດ OUT2;
}
ປະຫວັດການດັດແກ້ (ເຂົ້າສູ່ລະບົບໄມໂຄຣຊິບ
ປະຫວັດການດັດແກ້ອະທິບາຍການປ່ຽນແປງທີ່ໄດ້ປະຕິບັດໃນເອກະສານ. ການປ່ຽນແປງ
ຖືກລະບຸໄວ້ໂດຍການດັດແກ້, ເລີ່ມຕົ້ນດ້ວຍການພິມເຜີຍແຜ່ໃນປະຈຸບັນຫຼາຍທີ່ສຸດ.
ການທົບທວນ | ວັນທີ | ລາຍລະອຽດ |
A | 12/2023 | ການປ່ຽນແປງຕໍ່ໄປນີ້ແມ່ນເຮັດໃນການປັບປຸງນີ້: • ເອກະສານຖືກປ່ຽນເປັນແມ່ແບບ Microchip. ການແກ້ໄຂເບື້ອງຕົ້ນ. • ການປັບປຸງພາກສ່ວນ 5. Siemens QuestaSim Setup/ModelSim Setup ເພື່ອປະກອບມີບັນທຶກໃຫມ່ທີ່ອະທິບາຍຜົນກະທົບກ່ຽວກັບການເບິ່ງເຫັນໃນລະຫວ່າງການຈໍາລອງແລະການເພີ່ມປະສິດທິພາບ. |
ຮອງຮັບ Microchip FPGA
ກຸ່ມຜະລິດຕະພັນ Microchip FPGA ສະຫນັບສະຫນູນຜະລິດຕະພັນຂອງຕົນດ້ວຍການບໍລິການສະຫນັບສະຫນູນຕ່າງໆ, ລວມທັງການບໍລິການລູກຄ້າ, ສູນສະຫນັບສະຫນູນດ້ານວິຊາການຂອງລູກຄ້າ, a webສະຖານທີ່, ແລະຫ້ອງການຂາຍທົ່ວໂລກ.
ລູກຄ້າໄດ້ຖືກແນະນໍາໃຫ້ໄປຢ້ຽມຢາມຊັບພະຍາກອນອອນໄລນ໌ຂອງ Microchip ກ່ອນທີ່ຈະຕິດຕໍ່ກັບການສະຫນັບສະຫນູນເນື່ອງຈາກວ່າມັນເປັນໄປໄດ້ຫຼາຍທີ່ຄໍາຖາມຂອງພວກເຂົາໄດ້ຮັບຄໍາຕອບແລ້ວ.
ຕິດຕໍ່ສູນສະຫນັບສະຫນູນດ້ານວິຊາການໂດຍຜ່ານ webສະຖານທີ່ຢູ່ www.microchip.com/support. ກ່າວເຖິງໝາຍເລກອຸປະກອນ FPGA, ເລືອກໝວດໝູ່ກໍລະນີທີ່ເໝາະສົມ, ແລະອອກແບບການອັບໂຫລດ files ໃນຂະນະທີ່ສ້າງກໍລະນີສະຫນັບສະຫນູນດ້ານວິຊາການ.
ຕິດຕໍ່ຝ່າຍບໍລິການລູກຄ້າສໍາລັບການສະຫນັບສະຫນູນຜະລິດຕະພັນທີ່ບໍ່ແມ່ນດ້ານວິຊາການ, ເຊັ່ນ: ລາຄາຜະລິດຕະພັນ, ການຍົກລະດັບຜະລິດຕະພັນ, ອັບເດດຂໍ້ມູນ, ສະຖານະການສັ່ງຊື້, ແລະການອະນຸຍາດ.
- ຈາກອາເມລິກາເໜືອ, ໂທ 800.262.1060
- ຈາກສ່ວນທີ່ເຫຼືອຂອງໂລກ, ໂທຫາ 650.318.4460
- ແຟັກ, ຈາກທຸກບ່ອນໃນໂລກ, 650.318.8044
ຂໍ້ມູນໄມໂຄຊິບ
ໄມໂຄຣຊິບ Webເວັບໄຊ
Microchip ໃຫ້ການຊ່ວຍເຫຼືອອອນໄລນ໌ໂດຍຜ່ານຂອງພວກເຮົາ webສະຖານທີ່ຢູ່ www.microchip.com/. ນີ້ webເວັບໄຊໄດ້ຖືກນໍາໃຊ້ເພື່ອເຮັດໃຫ້ files ແລະຂໍ້ມູນຂ່າວສານໄດ້ຢ່າງງ່າຍດາຍສາມາດໃຊ້ໄດ້ກັບລູກຄ້າ. ບາງເນື້ອໃນທີ່ມີຢູ່ລວມມີ:
- ສະຫນັບສະຫນູນຜະລິດຕະພັນ - ເອກະສານຂໍ້ມູນແລະຂໍ້ຜິດພາດ, ບັນທຶກການນໍາໃຊ້ແລະ sample ໂປລແກລມ, ຊັບພະຍາກອນການອອກແບບ, ຄູ່ມືຜູ້ໃຊ້ແລະເອກະສານສະຫນັບສະຫນູນຮາດແວ, ການປ່ອຍຊອບແວຫລ້າສຸດແລະຊອບແວທີ່ເກັບໄວ້
- ການສະຫນັບສະຫນູນດ້ານວິຊາການທົ່ວໄປ - ຄໍາຖາມທີ່ຖາມເລື້ອຍໆ (FAQs), ການຮ້ອງຂໍການສະຫນັບສະຫນູນດ້ານວິຊາການ, ກຸ່ມສົນທະນາອອນໄລນ໌, ລາຍຊື່ສະມາຊິກໂຄງການຄູ່ຮ່ວມງານຂອງ Microchip
- ທຸລະກິດຂອງ Microchip - ຄູ່ມືເລືອກຜະລິດຕະພັນແລະຄໍາສັ່ງ, ການປ່ອຍຂ່າວຫຼ້າສຸດຂອງ Microchip, ລາຍຊື່ການສໍາມະນາແລະກິດຈະກໍາ, ລາຍຊື່ຫ້ອງການຂາຍ Microchip, ຜູ້ຈັດຈໍາຫນ່າຍແລະຕົວແທນໂຮງງານ.
ບໍລິການແຈ້ງການປ່ຽນແປງຜະລິດຕະພັນ
ບໍລິການແຈ້ງການປ່ຽນແປງຜະລິດຕະພັນຂອງ Microchip ຊ່ວຍໃຫ້ລູກຄ້າມີປະຈຸບັນກ່ຽວກັບຜະລິດຕະພັນຂອງ Microchip. ຜູ້ຈອງຈະໄດ້ຮັບການແຈ້ງເຕືອນທາງອີເມລ໌ທຸກຄັ້ງທີ່ມີການປ່ຽນແປງ, ການປັບປຸງ, ການແກ້ໄຂຫຼືຄວາມຜິດພາດທີ່ກ່ຽວຂ້ອງກັບຄອບຄົວຜະລິດຕະພັນທີ່ລະບຸຫຼືເຄື່ອງມືການພັດທະນາທີ່ມີຄວາມສົນໃຈ.
ເພື່ອລົງທະບຽນ, ໄປທີ່ www.microchip.com/pcn ແລະປະຕິບັດຕາມຄໍາແນະນໍາການລົງທະບຽນ.
ການຊ່ວຍເຫຼືອລູກຄ້າ
ຜູ້ໃຊ້ຜະລິດຕະພັນ Microchip ສາມາດໄດ້ຮັບການຊ່ວຍເຫຼືອຜ່ານຫຼາຍຊ່ອງທາງ:
- ຕົວແທນຈໍາຫນ່າຍຫຼືຕົວແທນ
- ຫ້ອງການຂາຍທ້ອງຖິ່ນ
- Embedded Solutions Engineer (ESE)
- ສະຫນັບສະຫນູນດ້ານວິຊາການ
ລູກຄ້າຄວນຕິດຕໍ່ຜູ້ຈັດຈໍາຫນ່າຍ, ຕົວແທນຫຼື ESE ຂອງເຂົາເຈົ້າສໍາລັບການສະຫນັບສະຫນູນ. ຫ້ອງການຂາຍໃນທ້ອງຖິ່ນຍັງມີຢູ່ເພື່ອຊ່ວຍລູກຄ້າ. ບັນຊີລາຍຊື່ຂອງຫ້ອງການຂາຍແລະສະຖານທີ່ແມ່ນລວມຢູ່ໃນເອກະສານນີ້.
ສະຫນັບສະຫນູນດ້ານວິຊາການແມ່ນມີຢູ່ໂດຍຜ່ານ webເວັບໄຊຢູ່: www.microchip.com/support
ຄຸນສົມບັດການປົກປ້ອງລະຫັດອຸປະກອນໄມໂຄຊິບ
ໃຫ້ສັງເກດລາຍລະອຽດຕໍ່ໄປນີ້ຂອງຄຸນສົມບັດປ້ອງກັນລະຫັດໃນຜະລິດຕະພັນໄມໂຄຊິບ:
- ຜະລິດຕະພັນ Microchip ຕອບສະໜອງໄດ້ສະເພາະໃນເອກະສານຂໍ້ມູນ Microchip ໂດຍສະເພາະ.
- ໄມໂຄຣຊິບເຊື່ອວ່າຜະລິດຕະພັນໃນຄອບຄົວຂອງມັນມີຄວາມປອດໄພເມື່ອໃຊ້ໃນລັກສະນະທີ່ຕັ້ງໃຈ, ພາຍໃນສະເພາະການໃຊ້ງານ ແລະພາຍໃຕ້ເງື່ອນໄຂປົກກະຕິ.
- ຄຸນຄ່າຂອງ Microchip ແລະປົກປ້ອງສິດຊັບສິນທາງປັນຍາຂອງຕົນຢ່າງແຮງ. ຄວາມພະຍາຍາມທີ່ຈະລະເມີດຄຸນສົມບັດການປົກປ້ອງລະຫັດຂອງຜະລິດຕະພັນໄມໂຄຊິບແມ່ນຖືກຫ້າມຢ່າງເຂັ້ມງວດ ແລະອາດລະເມີດກົດໝາຍ Digital Millennium Copyright Act.
- ທັງ Microchip ຫຼືຜູ້ຜະລິດ semiconductor ອື່ນໆບໍ່ສາມາດຮັບປະກັນຄວາມປອດໄພຂອງລະຫັດຂອງມັນ. ການປົກປ້ອງລະຫັດບໍ່ໄດ້ຫມາຍຄວາມວ່າພວກເຮົາກໍາລັງຮັບປະກັນວ່າຜະລິດຕະພັນແມ່ນ "ບໍ່ສາມາດທໍາລາຍໄດ້".
ການປົກປ້ອງລະຫັດແມ່ນພັດທະນາຢ່າງຕໍ່ເນື່ອງ. Microchip ມຸ່ງຫມັ້ນທີ່ຈະປັບປຸງຄຸນສົມບັດການປົກປ້ອງລະຫັດຂອງຜະລິດຕະພັນຂອງພວກເຮົາຢ່າງຕໍ່ເນື່ອງ.
ປະກາດກົດໝາຍ
ສິ່ງພິມນີ້ ແລະຂໍ້ມູນໃນນີ້ອາດຈະຖືກໃຊ້ກັບຜະລິດຕະພັນໄມໂຄຊິບເທົ່ານັ້ນ, ລວມທັງການອອກແບບ, ທົດສອບ ແລະລວມຜະລິດຕະພັນໄມໂຄຊິບກັບແອັບພລິເຄຊັນຂອງເຈົ້າ. ການນໍາໃຊ້ຂໍ້ມູນນີ້ໃນລັກສະນະອື່ນໃດກໍ່ລະເມີດຂໍ້ກໍານົດເຫຼົ່ານີ້. ຂໍ້ມູນກ່ຽວກັບການນໍາໃຊ້ອຸປະກອນແມ່ນສະຫນອງໃຫ້ພຽງແຕ່ເພື່ອຄວາມສະດວກຂອງທ່ານແລະອາດຈະຖືກແທນທີ່ໂດຍການປັບປຸງ. ມັນເປັນຄວາມຮັບຜິດຊອບຂອງທ່ານເພື່ອຮັບປະກັນວ່າຄໍາຮ້ອງສະຫມັກຂອງທ່ານຕອບສະຫນອງກັບສະເພາະຂອງທ່ານ. ຕິດຕໍ່ຫ້ອງການຂາຍ Microchip ທ້ອງຖິ່ນຂອງທ່ານສໍາລັບການສະຫນັບສະຫນູນເພີ່ມເຕີມຫຼື, ໄດ້ຮັບການສະຫນັບສະຫນູນເພີ່ມເຕີມທີ່ www.microchip.com/en-us/support/design-help/client-support-services.
ຂໍ້ມູນນີ້ແມ່ນສະໜອງໃຫ້ໂດຍໄມໂຄຣຊິບ “ຄື”. ໄມໂຄຣຊິບບໍ່ໄດ້ເປັນຕົວແທນ ຫຼືການຮັບປະກັນໃດໆ ບໍ່ວ່າຈະເປັນການສະແດງອອກ ຫຼືໂດຍຫຍໍ້, ເປັນລາຍລັກອັກສອນ ຫຼືທາງປາກປາກ, ຕາມກົດໝາຍ ຫຼືໃນອີກອັນໜຶ່ງ, ກ່ຽວຂ້ອງກັບຂໍ້ມູນຮວມເຖິງຂໍ້ມູນແຕ່ບໍ່ຈຳກັດການກຳນົດໄວ້. ການບໍ່ລະເມີດ, ການຄ້າ, ແລະຄວາມສອດຄ່ອງເພື່ອຈຸດປະສົງສະເພາະ, ຫຼືການຮັບປະກັນທີ່ກ່ຽວຂ້ອງກັບເງື່ອນໄຂ, ຄຸນນະພາບ, ຫຼືການປະຕິບັດຂອງມັນ.
ໃນກໍລະນີໃດກໍ່ຕາມ, ໄມໂຄຣຊິບຈະຮັບຜິດຊອບຕໍ່ຄວາມຜິດທາງອ້ອມ, ພິເສດ, ລົງໂທດ, ບັງເອີນ, ຫຼືຜົນສະທ້ອນຕໍ່ການສູນເສຍ, ຄວາມເສຍຫາຍ, ຄ່າໃຊ້ຈ່າຍ, ຫຼືຄ່າໃຊ້ຈ່າຍໃດໆກໍຕາມທີ່ກ່ຽວຂ້ອງກັບສະພາບການປ່ຽນແປງ, ຫຼືໃນກໍລະນີໃດກໍ່ຕາມ. ໄມໂຄຣຊິບໄດ້ຮັບຄໍາແນະນໍາວ່າມີຄວາມເປັນໄປໄດ້ ຫຼືຄວາມເສຍຫາຍແມ່ນເປັນໄປໄດ້. ໃນຂອບເຂດທີ່ກົດໝາຍອະນຸຍາດສູງສຸດ, ຄວາມຮັບຜິດ ຊອບທັງໝົດຂອງໄມໂຄຣຊິບ ຕໍ່ກັບການຮຽກຮ້ອງທັງໝົດ ໃນທາງໃດກໍຕາມ ທີ່ກ່ຽວຂ້ອງກັບຂໍ້ມູນ ຫຼື ການໃຊ້ຂອງມັນຈະບໍ່ເກີນຈຳນວນຂອງຄ່າທຳນຽມ, ຖ້າມີ, ທັງໝົດທີ່ເຈົ້າມີຢູ່. ຂໍ້ມູນ.
ການນໍາໃຊ້ອຸປະກອນ Microchip ໃນການຊ່ວຍເຫຼືອຊີວິດແລະ / ຫຼືຄໍາຮ້ອງສະຫມັກຄວາມປອດໄພແມ່ນມີຄວາມສ່ຽງຂອງຜູ້ຊື້ທັງຫມົດ, ແລະຜູ້ຊື້ຕົກລົງທີ່ຈະປົກປ້ອງ, ຊົດເຊີຍແລະຖື Microchip ທີ່ບໍ່ມີອັນຕະລາຍຈາກຄວາມເສຍຫາຍ, ການຮຽກຮ້ອງ, ຟ້ອງ, ຫຼືຄ່າໃຊ້ຈ່າຍທີ່ເກີດຈາກການນໍາໃຊ້ດັ່ງກ່າວ. ບໍ່ມີໃບອະນຸຍາດຖືກຖ່າຍທອດ, ໂດຍທາງອ້ອມ ຫຼື ອື່ນໆ, ພາຍໃຕ້ສິດຊັບສິນທາງປັນຍາຂອງ Microchip ເວັ້ນເສຍແຕ່ໄດ້ລະບຸໄວ້ເປັນຢ່າງອື່ນ.
ເຄື່ອງໝາຍການຄ້າ
ຊື່ ແລະໂລໂກ້ຂອງ Microchip, ໂລໂກ້ Microchip, Adaptec, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXSty ໂລໂກ້ MediaLB, megaAVR, Microsemi, Microsemi, MOST, MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, ໂລໂກ້ PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logoymmetric, SuperFlash , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, ແລະ XMEGA ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Microchip Technology Incorporated ໃນສະຫະລັດອາເມລິກາ ແລະປະເທດອື່ນໆ.
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, ແລະ ZL ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Microchip Technology Incorporated ໃນສະຫະລັດ.
ການສະກັດກັ້ນກະແຈທີ່ຕິດກັນ, AKS, ອະນາລັອກສຳລັບຍຸກດິຈິຕອລ, ຕົວເກັບປະຈຸໃດໆ, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoPICDEM, ds, ds Authentication , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, ICE ແທ້, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, ຄວາມອົດທົນທັງໝົດ, ເວລາທີ່ເຊື່ອຖືໄດ້, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, ແລະ ZENA ແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Microchip Technology Incorporated
ໃນອາເມລິກາແລະປະເທດອື່ນໆ.
SQTP ເປັນເຄື່ອງໝາຍການບໍລິການຂອງ Microchip Technology Incorporated in USA
ໂລໂກ້ Adaptec, ຄວາມຖີ່ຕາມຄວາມຕ້ອງການ, Silicon Storage Technology, ແລະ Symmcom ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Microchip Technology Inc. ໃນປະເທດອື່ນໆ.
GestIC ເປັນເຄື່ອງໝາຍການຄ້າຈົດທະບຽນຂອງ Microchip Technology Germany II GmbH & Co. KG, ເຊິ່ງເປັນບໍລິສັດຍ່ອຍຂອງ Microchip Technology Inc., ໃນປະເທດອື່ນໆ.
ເຄື່ອງໝາຍການຄ້າອື່ນໆທັງໝົດທີ່ກ່າວມານີ້ແມ່ນຊັບສິນຂອງບໍລິສັດທີ່ກ່ຽວຂ້ອງ.
© 2023, Microchip Technology Incorporated ແລະບໍລິສັດຍ່ອຍຂອງມັນ. ສະຫງວນລິຂະສິດທັງໝົດ.
ISBN: 978-1-6683-3694-6
ລະບົບການຄຸ້ມຄອງຄຸນນະພາບ
ສໍາລັບຂໍ້ມູນກ່ຽວກັບລະບົບການຄຸ້ມຄອງຄຸນນະພາບຂອງ Microchip, ກະລຸນາເຂົ້າໄປເບິ່ງ www.microchip.com/quality.
ອາເມຣິກາ | ອາຊີ/ປາຊີຟິກ | ອາຊີ/ປາຊີຟິກ | ເອີຣົບ |
ຫ້ອງການບໍລິສັດ 2355 West Chandler Blvd. Chandler, AZ 85224-6199 ໂທ: 480-792-7200 ແຟັກ: 480-792-7277 ສະຫນັບສະຫນູນດ້ານວິຊາການ: www.microchip.com/support Web ທີ່ຢູ່: www.microchip.com ແອດແລນຕາ Duluth, GA ໂທ: 678-957-9614 ແຟັກ: 678-957-1455 Austin, TX ໂທ: 512-257-3370 ບອສຕັນ Westborough, MA ໂທ: 774-760-0087 ແຟັກ: 774-760-0088 ຊິຄາໂກ Itasca, IL ໂທ: 630-285-0071 ແຟັກ: 630-285-0075 ດາລາສ ແອດດິສັນ, TX ໂທ: 972-818-7423 ແຟັກ: 972-818-2924 ດີທຣອຍ Novi, MI ໂທ: 248-848-4000 Houston, TX ໂທ: 281-894-5983 Indianapolis Noblesville, IN ໂທ: 317-773-8323 ແຟັກ: 317-773-5453 ໂທ: 317-536-2380 Los Angeles ພາລະກິດ Viejo, CA ໂທ: 949-462-9523 ແຟັກ: 949-462-9608 ໂທ: 951-273-7800 Raleigh, NC ໂທ: 919-844-7510 ນິວຢອກ, NY ໂທ: 631-435-6000 San Jose, CA ໂທ: 408-735-9110 ໂທ: 408-436-4270 ການາດາ – Toronto ໂທ: 905-695-1980 ແຟັກ: 905-695-2078 |
ອົດສະຕາລີ - Sydney ໂທ: 61-2-9868-6733 ຈີນ-ປັກກິ່ງ ໂທ: 86-10-8569-7000 ຈີນ – Chengdu ໂທ: 86-28-8665-5511 ຈີນ - ຈົງຊິງ ໂທ: 86-23-8980-9588 ຈີນ - Dongguan ໂທ: 86-769-8702-9880 ຈີນ - ກວາງໂຈ່ວ ໂທ: 86-20-8755-8029 ຈີນ - Hangzhou ໂທ: 86-571-8792-8115 ຈີນ - ຮົງກົງ SAR ໂທ: 852-2943-5100 ຈີນ - Nanjing ໂທ: 86-25-8473-2460 ຈີນ - Qingdao ໂທ: 86-532-8502-7355 ຈີນ - ຊຽງໄຮ້ ໂທ: 86-21-3326-8000 ຈີນ - Shenyang ໂທ: 86-24-2334-2829 ຈີນ - Shenzhen ໂທ: 86-755-8864-2200 ຈີນ - ຊູໂຈວ ໂທ: 86-186-6233-1526 ຈີນ - Wuhan ໂທ: 86-27-5980-5300 ຈີນ - Xian ໂທ: 86-29-8833-7252 ຈີນ - Xiamen ໂທ: 86-592-2388138 ຈີນ - ຈູໄຫ່ ໂທ: 86-756-3210040 |
ປະເທດອິນເດຍ - Bangalore ໂທ: 91-80-3090-4444 ອິນເດຍ - ນິວເດລີ ໂທ: 91-11-4160-8631 ອິນເດຍ - Pune ໂທ: 91-20-4121-0141 ຍີ່ປຸ່ນ – Osaka ໂທ: 81-6-6152-7160 ຍີ່ປຸ່ນ – ໂຕກຽວ ໂທ: 81-3-6880- 3770 ເກົາຫຼີ - Daegu ໂທ: 82-53-744-4301 ເກົາຫຼີ – ເຊອຸນ ໂທ: 82-2-554-7200 ມາເລເຊຍ - Kuala Lumpur ໂທ: 60-3-7651-7906 ມາເລເຊຍ - Penang ໂທ: 60-4-227-8870 ຟີລິບປິນ – ມະນີລາ ໂທ: 63-2-634-9065 ສິງກະໂປ ໂທ: 65-6334-8870 ໄຕ້ຫວັນ - Hsin Chu ໂທ: 886-3-577-8366 ໄຕ້ຫວັນ - Kaohsiung ໂທ: 886-7-213-7830 ໄຕ້ຫວັນ - Taipei ໂທ: 886-2-2508-8600 ໄທ - ບາງກອກ ໂທ: 66-2-694-1351 ຫວຽດນາມ - ໂຮ່ຈີມິນ ໂທ: 84-28-5448-2100 |
ອອສເຕຣຍ - ເວນ ໂທ: 43-7242-2244-39 ແຟັກ: 43-7242-2244-393 ເດນມາກ - ໂຄເປນເຮເກນ ໂທ: 45-4485-5910 ແຟັກ: 45-4485-2829 ຟິນແລນ – Espoo ໂທ: 358-9-4520-820 ຝຣັ່ງ - ປາຣີ Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 ເຢຍລະມັນ - Garching ໂທ: 49-8931-9700 ເຢຍລະມັນ - Haan ໂທ: 49-2129-3766400 ເຢຍລະມັນ - Heilbronn ໂທ: 49-7131-72400 ເຢຍລະມັນ - Karlsruhe ໂທ: 49-721-625370 ເຢຍລະມັນ - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 ເຢຍລະມັນ - Rosenheim ໂທ: 49-8031-354-560 ອິດສະຣາເອນ - Ra'anana ໂທ: 972-9-744-7705 ອີຕາລີ – Milan ໂທ: 39-0331-742611 ແຟັກ: 39-0331-466781 ອິຕາລີ - Padova ໂທ: 39-049-7625286 ເນເທີແລນ - Drunen ໂທ: 31-416-690399 ແຟັກ: 31-416-690340 ນໍເວ - Trondheim ໂທ: 47-72884388 ໂປແລນ - ວໍຊໍ ໂທ: 48-22-3325737 ໂຣມາເນຍ - Bucharest Tel: 40-21-407-87-50 ສະເປນ – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 ສວີເດນ – Gothenberg Tel: 46-31-704-60-40 ສວີເດນ – ສະຕັອກໂຮມ ໂທ: 46-8-5090-4654 ອັງກິດ - Wokingham ໂທ: 44-118-921-5800 ແຟັກ: 44-118-921-5820 |
© 2023 Microchip Technology Inc. ແລະບໍລິສັດຍ່ອຍຂອງມັນ
DS50003627A –
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
ຊອບແວຫ້ອງສະໝຸດຈຳລອງ MICROCHIP Libero SoC [pdf] ຄູ່ມືຜູ້ໃຊ້ DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Library Software, Software |