Libero SoC Simulation
ការណែនាំអំពីការដំឡើងបណ្ណាល័យ
សេចក្តីផ្តើម
(សួរសំណួរ)
គោលបំណងនៃឯកសារនេះគឺដើម្បីពិពណ៌នាអំពីនីតិវិធីក្នុងការរៀបចំបរិយាកាសក្លែងធ្វើដោយប្រើគម្រោង Libero SoC ជាការបញ្ចូល។ ឯកសារនេះត្រូវគ្នាទៅនឹងបណ្ណាល័យដែលបានចងក្រងជាមុនដែលបានផ្តល់សម្រាប់ប្រើជាមួយ Libero SoC v11.9 និងការចេញផ្សាយកម្មវិធីថ្មីៗ។ បណ្ណាល័យដែលបានផ្តល់ត្រូវបានចងក្រងសម្រាប់ Verilog ។ អ្នកប្រើប្រាស់ VHDL ទាមទារអាជ្ញាប័ណ្ណដែលអនុញ្ញាតឱ្យមានការក្លែងធ្វើរបៀបចម្រុះ។
បណ្ណាល័យក្លែងធ្វើដែលបានចងក្រងមានសម្រាប់ឧបករណ៍ដូចខាងក្រោមៈ
- Aldec Active-HDL
- Aldec Riviera-PRO
- សហគ្រាស Cadence Incisive និង Xcelium
- Siemens QuestaSim
- Synopsys VCS
ដើម្បីស្នើសុំបណ្ណាល័យសម្រាប់ម៉ាស៊ីនក្លែងធ្វើផ្សេង សូមទាក់ទង ជំនួយបច្ចេកទេសមីក្រូឈីប.
ការរួមបញ្ចូល Libero SoC
(សួរសំណួរ)
Libero SoC គាំទ្រការក្លែងធ្វើដោយប្រើ ModelSim ME ដោយបង្កើត run.do file. នេះ។ file ត្រូវបានប្រើប្រាស់ដោយ ModelSim ME/ModelSim Pro ME ដើម្បីដំឡើង និងដំណើរការការក្លែងធ្វើ។ ដើម្បីប្រើឧបករណ៍ក្លែងធ្វើផ្សេងទៀត អ្នកអាចបង្កើត ModelSim ME/ModelSim Pro ME run.do និងកែប្រែស្គ្រីប Tcl file ដើម្បីប្រើពាក្យបញ្ជាដែលត្រូវគ្នាជាមួយម៉ាស៊ីនក្លែងធ្វើរបស់អ្នក។
1.1 Libero SoC Tcl File ជំនាន់ (សួរសំណួរ)
បន្ទាប់ពីបង្កើត និងបង្កើតការរចនានៅក្នុង Libero SoC សូមចាប់ផ្តើមការក្លែងធ្វើ ModelSim ME/ModelSim Pro ME នៅក្រោមដំណាក់កាលរចនាទាំងអស់ (presynth, postsynth, and post-layout)។ ជំហាននេះបង្កើត run.do file សម្រាប់ ModelSim ME/ModelSim Pro ME សម្រាប់ដំណាក់កាលរចនានីមួយៗ។
សំខាន់៖ បន្ទាប់ពីចាប់ផ្តើមដំណើរការការក្លែងធ្វើនីមួយៗ សូមប្តូរឈ្មោះ run.do ដែលបង្កើតដោយស្វ័យប្រវត្តិ file នៅក្រោមថតក្លែងធ្វើដើម្បីការពារ Libero SoC ពីការសរសេរជាន់លើនោះ។ file. សម្រាប់អតីតampលេ, នេះ files អាចត្រូវបានប្តូរឈ្មោះទៅជា presynth_run.do, postsynth_run.do និង postlayout_run.do ។
ការដំឡើង Aldec សម្រាប់ Active-HDL និង Riviera-Pro (សួរសំណួរ)
រត់.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 (សួរសំណួរ)
រត់.do fileបង្កើតដោយ Libero SoC សម្រាប់ការក្លែងធ្វើដោយប្រើឧបករណ៍ Active-HDL និង Riviera-Pro អាចត្រូវបានប្រើសម្រាប់ការក្លែងធ្វើដោយប្រើ Active-HDL និង Riviera-Pro ជាមួយនឹងការផ្លាស់ប្តូរតែមួយ។ តារាងខាងក្រោមរាយពាក្យបញ្ជាសមមូល Aldec ដើម្បីកែប្រែក្នុង ModelSim run.do file.
តារាង 2-1 ។ ពាក្យបញ្ជាសមមូល Aldec
ម៉ូដែលស៊ីម | សកម្ម-HDL |
vlog | អាឡុក |
vcom | អាខម |
vlib | អាលីប |
វីស៊ីម | អាសុីម |
vmap | អាម៉ាប |
ខាងក្រោមនេះគឺដូចample run.do ទាក់ទងនឹងការក្លែងធ្វើ Aldec ។
- កំណត់ទីតាំងនៃថតការងារបច្ចុប្បន្ន។
កំណត់ dsn - កំណត់ឈ្មោះបណ្ណាល័យដែលកំពុងដំណើរការ ផែនទីទីតាំងរបស់វា ហើយបន្ទាប់មកកំណត់ទីតាំងរបស់គ្រួសារ Microchip FPGA
បណ្ណាល័យដែលបានចងក្រងជាមុន (ឧទាហរណ៍ample, SmartFusion2) ដែលអ្នកកំពុងដំណើរការការរចនារបស់អ្នក។
អាលីប 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 – ការងារ presynth testbench.vhd - ក្លែងធ្វើការរចនា។
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
រត់ 10 ពួកយើង
2.4 បញ្ហាដែលគេស្គាល់ (សួរសំណួរ)
ផ្នែកនេះរាយបញ្ជីបញ្ហា និងដែនកំណត់ដែលគេស្គាល់។
- បណ្ណាល័យដែលបានចងក្រងដោយប្រើ Riviera-PRO គឺជាវេទិកាជាក់លាក់ (ឧទាហរណ៍បណ្ណាល័យ 64 ប៊ីតមិនអាចដំណើរការលើវេទិកា 32 ប៊ីត និងច្រាសមកវិញបានទេ) ។
- សម្រាប់ការរចនាដែលមាន SERDES/MDDR/FDDR សូមប្រើជម្រើសខាងក្រោមនៅក្នុង run.do របស់អ្នក។ files ខណៈពេលកំពុងដំណើរការការក្លែងធ្វើបន្ទាប់ពីចងក្រងការរចនារបស់ពួកគេ៖
- សកម្ម-HDL: asim -o2
- Riviera-PRO៖ asim –O2 (សម្រាប់ការក្លែងធ្វើប្លង់មុន និងក្រោយប្លង់) និង asim –O5 (សម្រាប់ការក្លែងធ្វើក្រោយប្លង់)
ការដំឡើង Aldec សម្រាប់ Active-HDL និង Riviera-Pro មាន SARs ដែលមិនទាន់សម្រេចដូចខាងក្រោម។ សម្រាប់ព័ត៌មានបន្ថែម សូមទាក់ទង ជំនួយបច្ចេកទេសមីក្រូឈីប. - SAR 49908 – Active-HDL៖ កំហុស VHDL សម្រាប់ការក្លែងធ្វើប្លុកគណិតវិទ្យា
- SAR 50627 - Riviera-PRO 2013.02៖ កំហុសក្លែងធ្វើសម្រាប់ការរចនា SERDES
- SAR 50461 - Riviera-PRO: ជម្រើស asim -O2/-O5 ក្នុងការក្លែងធ្វើ
ការរៀបចំការមិនបានកំណត់ (សួរសំណួរ)
អ្នកត្រូវបង្កើតស្គ្រីប file ស្រដៀងទៅនឹង ModelSim ME/ModelSim Pro ME run.do ដើម្បីដំណើរការ
Cadence Incisive simulator ។ អនុវត្តតាមជំហានទាំងនេះ ហើយបង្កើតស្គ្រីប file សម្រាប់ NCSim ឬប្រើស្គ្រីប file
ផ្តល់ជូនដើម្បីបំប្លែង ModelSim ME/ModelSim Pro ME run.do files ចូលទៅក្នុងការកំណត់រចនាសម្ព័ន្ធ files
ត្រូវការដើម្បីដំណើរការការក្លែងធ្វើដោយប្រើ NCSim ។
សំខាន់៖ ទម្លាប់ បានបញ្ឈប់ការចេញផ្សាយកំណែថ្មីនៃសហគ្រាស Incisive
កម្មវិធីក្លែងធ្វើ និងបានចាប់ផ្តើមគាំទ្រម៉ាស៊ីនក្លែងធ្វើ Xcelium ។
3.1 អថេរបរិស្ថាន (សួរសំណួរ)
ដើម្បីដំណើរការកម្មវិធីក្លែងធ្វើ Cadence Incisive កំណត់រចនាសម្ព័ន្ធអថេរបរិស្ថានខាងក្រោម៖
- 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 ប៊ីត និង 32 ប៊ីត៖
ករណីទី១៖ PATH Variable
ដំណើរការពាក្យបញ្ជាខាងក្រោម៖
កំណត់ផ្លូវ = (install_dir/tools/bin/64bit $path) សម្រាប់ម៉ាស៊ីន 64bit និង
កំណត់ផ្លូវ = (install_dir/tools/bin $path) សម្រាប់ម៉ាស៊ីន 32 ប៊ីត
ករណីទី 2៖ ការប្រើជម្រើសបន្ទាត់ពាក្យបញ្ជា -64bit
នៅក្នុងបន្ទាត់ពាក្យបញ្ជាបញ្ជាក់ជម្រើស -64bit ក្នុងគោលបំណងដើម្បីហៅ 64bit ដែលអាចប្រតិបត្តិបាន។
ករណីទី 3៖ ការកំណត់អថេរបរិស្ថាន INCA_64BIT ឬ CDS_AUTO_64BIT
អថេរ INCA_64BIT ត្រូវបានចាត់ទុកជាប៊ូលីន។ អ្នកអាចកំណត់អថេរនេះទៅតម្លៃណាមួយ ឬជាអក្សរទទេ។
setenv INCA_64BIT
សំខាន់៖ អថេរបរិស្ថាន INCA_64BIT មិនប៉ះពាល់ដល់ឧបករណ៍ Cadence ផ្សេងទៀត ដូចជាឧបករណ៍ IC ជាដើម។ ទោះយ៉ាងណាក៏ដោយ សម្រាប់ឧបករណ៍ Incisive អថេរ INCA_64BIT បដិសេធការកំណត់សម្រាប់អថេរបរិស្ថាន CDS_AUTO_64BIT ។ ប្រសិនបើអថេរបរិស្ថាន INCA_64BIT ត្រូវបានកំណត់ នោះឧបករណ៍ Incisive ទាំងអស់ដំណើរការក្នុងរបៀប 64 ប៊ីត។ 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 EXCLUDE៖ic_binary | 64 ប៊ីត | 32 ប៊ីត |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 ប៊ីត | 64 ប៊ីត |
សំខាន់៖ ឧបករណ៍ Incisive ទាំងអស់ត្រូវតែដំណើរការក្នុងរបៀប 32 ប៊ីត ឬក្នុងរបៀប 64 ប៊ីត មិនត្រូវប្រើ EXCLUDE ដើម្បីដកការប្រតិបត្តិជាក់លាក់ណាមួយឡើយ ដូចក្នុងរូបភាពខាងក្រោម៖ setenv CDS_AUTO_64BIT EXCLUDE:ncelab
ប្រសិនបើអ្នកកំណត់អថេរ CDS_AUTO_64BIT ដើម្បីដកឧបករណ៍ Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA) ឧបករណ៍ Incisive ទាំងអស់ដំណើរការក្នុងរបៀប 32 ប៊ីត។ ទោះយ៉ាងណាក៏ដោយ ជម្រើសបន្ទាត់ពាក្យបញ្ជា -64bit បដិសេធអថេរបរិស្ថាន។
ការកំណត់រចនាសម្ព័ន្ធខាងក្រោម 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 មានសេចក្តីថ្លែងការណ៍ដែលគូសផែនទីឈ្មោះឡូជីខលបណ្ណាល័យទៅនឹងផ្លូវថតរូបវន្តរបស់ពួកគេ។ សម្រាប់អតីតample ប្រសិនបើអ្នកកំពុងដំណើរការការក្លែងធ្វើ presynth នោះ cds.lib file ត្រូវបានសរសេរដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
កំណត់ presynth ./presynth
កំណត់ COREAHBLITE_LIB ./COREAHBLITE_LIB
កំណត់ smartfusion2 - បង្កើត hdl.var fileការកំណត់រចនាសម្ព័ន្ធស្រេចចិត្ត file ដែលមានអថេរកំណត់រចនាសម្ព័ន្ធ ដែលកំណត់របៀបបរិស្ថានរចនារបស់អ្នកត្រូវបានកំណត់រចនាសម្ព័ន្ធ។ អថេរខាងក្រោម files ត្រូវបានរួមបញ្ចូល:
- អថេរដែលត្រូវបានប្រើដើម្បីបញ្ជាក់បណ្ណាល័យការងារ ដែលកម្មវិធីចងក្រងរក្សាទុកវត្ថុដែលបានចងក្រង និងទិន្នន័យដែលទទួលបានផ្សេងទៀត។
- សម្រាប់ Verilog អថេរ (LIB_MAP, VIEW_MAP, WORK) ដែលត្រូវបានប្រើដើម្បីបញ្ជាក់បណ្ណាល័យ និង views ដើម្បីស្វែងរកនៅពេលដែលអ្នកឧស្សាហ៍ដោះស្រាយករណី។
- អថេរដែលអនុញ្ញាតឱ្យអ្នកកំណត់អ្នកចងក្រង, ឧឡារិក, និងជម្រើសបន្ទាត់ពាក្យបញ្ជានិងអាគុយម៉ង់ក្លែងក្លាយ។
នៅក្នុងករណីនៃការក្លែងធ្វើ presynth ឧample ដែលបានបង្ហាញខាងលើនិយាយថាយើងមាន RTL បី files: a.v, b.v, និង testbench.v ដែលត្រូវការចងក្រងជា presynth, COREAHBLITE_LIB, និង presynth libraries រៀងគ្នា។ hdl.var file អាចត្រូវបានសរសេរដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
កំណត់ការងារ presynth
កំណត់ PROJECT_DIR <ទីតាំងនៃ files>
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/b.v => 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 –សារ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
ចូលប្រើ +rwc –status worklib។:module
ភាពល្អិតល្អន់កំឡុងពេលក្រោយការក្លែងធ្វើប្លង់
នៅក្នុងករណីនៃការក្លែងធ្វើក្រោយប្លង់ដំបូង SDF file ចាំបាច់ត្រូវចងក្រងមុនពេលសរសេរលម្អិតដោយប្រើពាក្យបញ្ជា ncsdfc ។
ncsdfcfileឈ្មោះ>.sdf – លទ្ធផលfileឈ្មោះ >.sdf.X
កំឡុងពេលពិស្តារ ប្រើលទ្ធផល SDF ដែលបានចងក្រងជាមួយជម្រើស –autosdf ដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax
15 –access +rwc –status worklib.:module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file ត្រូវតែដូចដែលបានបង្ហាញនៅក្នុង codeblock ខាងក្រោម។
COMPILED_SDF_FILE = "< ទីតាំងនៃ SDF ដែលបានចងក្រង file>” - ក្លែងធ្វើដោយប្រើ ncsim ។ បន្ទាប់ពីការពន្យល់លម្អិត រូបថតក្លែងក្លាយត្រូវបានបង្កើតឡើង ដែលត្រូវបានផ្ទុកដោយ ncsim សម្រាប់ការក្លែងធ្វើ។ អ្នកអាចដំណើរការក្នុងទម្រង់ជាបាច់ ឬរបៀប GUI។
ncsim –សារ –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –status worklib.:module
សំខាន់៖ រាល់ជំហានទាំងបីខាងលើនៃការចងក្រង លម្អិត និងការក្លែងធ្វើអាចត្រូវបានដាក់ចូលទៅក្នុងស្គ្រីបសែល file និងប្រភពពីបន្ទាត់ពាក្យបញ្ជា។ ជំនួសឱ្យការប្រើជំហានទាំងបីនេះ ការរចនាអាចត្រូវបានក្លែងធ្វើក្នុងជំហានមួយដោយប្រើជម្រើស ncverilog ឬ irun ដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <ទាំងអស់ RTL
fileប្រើក្នុងការរចនា>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <ទាំងអស់ RTL files
ប្រើក្នុងការរចនា>
3.3.1 បញ្ហាដែលគេស្គាល់ (សួរសំណួរ)
ដំណោះស្រាយ Testbench
ការប្រើសេចក្តីថ្លែងការណ៍ខាងក្រោមសម្រាប់ការបញ្ជាក់ប្រេកង់នាឡិកានៅក្នុង 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 ខណៈពេលដែលដំណើរការការក្លែងធ្វើក្រោយសំយោគនៃការរចនាដែលមានប្លុក MSS ឬការក្លែងធ្វើប្លង់ក្រោយនៃការរចនាដោយប្រើ SERDES ការក្លែងធ្វើ BFM មិនដំណើរការទេប្រសិនបើជម្រើស –libmap គឺ
មិនបានបញ្ជាក់ក្នុងអំឡុងពេលលម្អិត។ នេះគឺដោយសារតែក្នុងអំឡុងពេលលម្អិត MSS ត្រូវបានដោះស្រាយពីបណ្ណាល័យការងារ (ដោយសារតែការចងលំនាំដើម និង worklib ជា postsynth/post-layout) ដែលវាគ្រាន់តែជាមុខងារថេរ។
ពាក្យបញ្ជា ncelab ត្រូវតែសរសេរដូចបង្ហាញក្នុងប្លុកកូដខាងក្រោម ដើម្បីដោះស្រាយ MSS
រារាំងពីបណ្ណាល័យ SmartFusion2 ដែលបានចងក្រងជាមុន។
ncelab -libmap lib.map -libverbose -សារ -access +rwc cfg1
និង lib.map file ត្រូវតែមានដូចខាងក្រោម៖
កំណត់រចនាសម្ព័ន្ធ cfg1;
ការរចនា ;
បញ្ជីឈ្មោះលំនាំដើម smartfusion2 ;
កំណត់រចនាសម្ព័ន្ធបញ្ចប់
វាដោះស្រាយក្រឡាណាមួយនៅក្នុងបណ្ណាល័យ SmartFusion2 មុនពេលរកមើលនៅក្នុងបណ្ណាល័យការងារ ពោលគឺ postsynth/post-layout។
ជម្រើស –libmap អាចត្រូវបានប្រើតាមលំនាំដើមក្នុងអំឡុងពេលលម្អិតសម្រាប់រាល់ការក្លែងធ្វើ (presynth, postsynth, and post-layout)។ វាជៀសវាងបញ្ហាក្លែងធ្វើដែលបណ្តាលមកពីដំណោះស្រាយនៃវត្ថុពីបណ្ណាល័យ។
ncelab: *F, INTERR: ការលើកលែងខាងក្នុង
ការលើកលែងឧបករណ៍ ncelab នេះគឺជាការព្រមានសម្រាប់ការរចនាដែលមាន FDDR នៅក្នុង SmartFusion 2 និង IGLOO 2 កំឡុងពេលការក្លែងធ្វើ postsynth និង post-layout ដោយប្រើជម្រើស –libmap។
សំខាន់៖ បញ្ហានេះត្រូវបានរាយការណ៍ទៅក្រុមគាំទ្រ Cadence (SAR 52113)។
០៣ សample Tcl និង Shell Script Files (សួរសំណួរ)
ខាងក្រោមនេះ files គឺជាការកំណត់រចនាសម្ព័ន្ធ files ត្រូវការសម្រាប់រៀបចំការរចនា និងស្គ្រីបសែល 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
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
កំណត់ 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)
កំណត់ 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 )
កំណត់ 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 )
កំណត់ 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 -អាប់ដេត -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 -សារ -cdslib ./cds.lib -hdlvar ./hdl.var
- ការងារ presynth -logfile ncelab.log -errormax 15 -access +rwc -ស្ថានភាព presynth.testbench: ម៉ូឌុល
ncsim -សារ -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 - ស្ថានភាព presynth.testbench: ម៉ូឌុល
3.5 ស្វ័យប្រវត្តិកម្ម (សួរសំណួរ)
ស្គ្រីបខាងក្រោម file បំប្លែង ModelSim run.do files ចូលទៅក្នុងការកំណត់រចនាសម្ព័ន្ធ fileត្រូវការដើម្បីដំណើរការការក្លែងធ្វើដោយប្រើ NCSim ។
ស្គ្រីប File ការប្រើប្រាស់
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
ទីតាំង_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;
ប្រើយ៉ាងតឹងរឹង;
របស់ខ្ញុំ ($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];
រដ្ឋ $ របស់ខ្ញុំ;
ប្រសិនបើ ( -e “$ModelSim_run_do”)
{
បើក (INFILE,”$ModelSim_run_do”);
របស់ខ្ញុំ @ModelSim_run_do = <INFILE>;
បន្ទាត់ $ របស់ខ្ញុំ;
ប្រសិនបើ ($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”;
បោះពុម្ព “#ការប្រើប្រាស់៖ 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 (ចូលមីក្រូឈីប)
អ្នកត្រូវបង្កើតស្គ្រីប file ស្រដៀងទៅនឹង ModelSim ME/ModelSim Pro ME run.do ដើម្បីដំណើរការ Cadence Xcelium simulator។ អនុវត្តតាមជំហានទាំងនេះ ហើយបង្កើតស្គ្រីប file សម្រាប់ Xcelium ឬប្រើស្គ្រីប 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 (ឧ.
$cds_root/tools/bin/64bit (សម្រាប់ម៉ាស៊ីន 64 ប៊ីត និង $cds_root/tools/bin សម្រាប់ 32 ប៊ីត
ម៉ាស៊ីន) ។
មានវិធីបីយ៉ាងក្នុងការរៀបចំបរិយាកាសក្លែងធ្វើក្នុងករណីប្តូររវាងប្រព័ន្ធប្រតិបត្តិការ 64 ប៊ីត និង 32 ប៊ីត៖
ករណីទី១៖ PATH Variable
កំណត់ផ្លូវ = (install_dir/tools/bin/64bit $path) សម្រាប់ម៉ាស៊ីន 64bit និង
កំណត់ផ្លូវ = (install_dir/tools/bin $path) សម្រាប់ម៉ាស៊ីន 32 ប៊ីត
ករណីទី 2៖ ការប្រើជម្រើសបន្ទាត់ពាក្យបញ្ជា -64bit
នៅក្នុងបន្ទាត់ពាក្យបញ្ជាបញ្ជាក់ជម្រើស -64 ប៊ីតដើម្បីហៅ 64 ប៊ីតដែលអាចប្រតិបត្តិបាន។
ករណីទី 3៖ ការកំណត់អថេរបរិស្ថាន INCA_64BIT ឬ CDS_AUTO_64BIT
អថេរ INCA_64BIT ត្រូវបានចាត់ទុកជាប៊ូលីន។ អ្នកអាចកំណត់អថេរនេះទៅតម្លៃណាមួយ ឬជាមោឃៈ
ខ្សែអក្សរ។
setenv INCA_64BIT
សំខាន់៖ អថេរបរិស្ថាន INCA_64BIT មិនប៉ះពាល់ដល់ឧបករណ៍ Cadence ផ្សេងទៀត ដូចជាឧបករណ៍ IC ជាដើម។ ទោះយ៉ាងណាក៏ដោយ សម្រាប់ឧបករណ៍ Incisive អថេរ INCA_64BIT បដិសេធការកំណត់សម្រាប់អថេរបរិស្ថាន CDS_AUTO_64BIT ។ ប្រសិនបើអថេរបរិស្ថាន INCA_64BIT គឺ et ឧបករណ៍ Incisive ទាំងអស់ដំណើរការក្នុងរបៀប 64 ប៊ីត។
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 EXCLUDE:INCA | 32 ប៊ីត | 64 ប៊ីត |
សំខាន់៖ ឧបករណ៍ Incisive ទាំងអស់ត្រូវតែដំណើរការក្នុងរបៀប 32 ប៊ីត ឬក្នុងរបៀប 64 ប៊ីត មិនត្រូវប្រើ EXCLUDE ដើម្បីដកការប្រតិបត្តិជាក់លាក់ណាមួយដូចក្នុងរបៀបខាងក្រោម៖
setenv CDS_AUTO_64BIT EXCLUDE: ncelab
ប្រសិនបើអ្នកកំណត់អថេរ CDS_AUTO_64BIT ដើម្បីដកឧបករណ៍ Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA) ឧបករណ៍ Incisive ទាំងអស់ដំណើរការក្នុងរបៀប 32 ប៊ីត។ ទោះយ៉ាងណាក៏ដោយ
ជម្រើសបន្ទាត់ពាក្យបញ្ជា -64 ប៊ីតបដិសេធអថេរបរិស្ថាន។
ការកំណត់រចនាសម្ព័ន្ធខាងក្រោម 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 មានសេចក្តីថ្លែងការណ៍ដែលគូសផែនទីឈ្មោះឡូជីខលបណ្ណាល័យទៅនឹងផ្លូវថតរូបវន្តរបស់ពួកគេ។ សម្រាប់អតីតample ប្រសិនបើអ្នកកំពុងដំណើរការការក្លែងធ្វើ presynth នោះ cds.lib file អាចត្រូវបានសរសេរដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
កំណត់ presynth ./presynth
កំណត់ COREAHBLITE_LIB ./COREAHBLITE_LIB
កំណត់ smartfusion2 - បង្កើត hdl.var file ដែលជាការកំណត់រចនាសម្ព័ន្ធស្រេចចិត្ត file ដែលមានអថេរកំណត់រចនាសម្ព័ន្ធ ដែលកំណត់របៀបបរិស្ថានរចនារបស់អ្នកត្រូវបានកំណត់រចនាសម្ព័ន្ធ។ ទាំងនេះរួមបញ្ចូលទាំង:
- អថេរដែលត្រូវបានប្រើដើម្បីបញ្ជាក់បណ្ណាល័យការងារ ដែលកម្មវិធីចងក្រងរក្សាទុកវត្ថុដែលបានចងក្រង និងទិន្នន័យដែលទទួលបានផ្សេងទៀត។
- សម្រាប់ Verilog អថេរ (LIB_MAP, VIEW_MAP, WORK) ដែលត្រូវបានប្រើដើម្បីបញ្ជាក់បណ្ណាល័យ និង views ដើម្បីស្វែងរកនៅពេលដែលអ្នកឧស្សាហ៍ដោះស្រាយករណី។
- អថេរដែលអនុញ្ញាតឱ្យអ្នកកំណត់អ្នកចងក្រង, ឧឡារិក, និងជម្រើសបន្ទាត់ពាក្យបញ្ជានិងអាគុយម៉ង់ក្លែងក្លាយ។
នៅក្នុងករណីនៃការក្លែងធ្វើ presynth ឧample ដែលបានបង្ហាញខាងលើនិយាយថាយើងមាន 3 RTL files a.v, b.v, និង testbench.v ដែលត្រូវការចងក្រងជា presynth, COREAHBLITE_LIB, និង presynth libraries រៀងៗខ្លួន។ hdl.var file អាចត្រូវបានសរសេរដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
កំណត់ការងារ presynth
កំណត់ PROJECT_DIR <ទីតាំងនៃ files>
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/b.v => 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 –សារ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
ចូលប្រើ +rwc –status worklib។:module
ភាពល្អិតល្អន់កំឡុងពេលក្រោយការក្លែងធ្វើប្លង់
នៅក្នុងករណីនៃការក្លែងធ្វើក្រោយប្លង់ដំបូង SDF file ចាំបាច់ត្រូវចងក្រងមុនពេលសរសេរលម្អិតដោយប្រើពាក្យបញ្ជា ncsdfc ។
សេស្យូមfileឈ្មោះ>.sdf – លទ្ធផលfileឈ្មោះ >.sdf.X
កំឡុងពេលពិស្តារ ប្រើលទ្ធផល SDF ដែលបានចងក្រងជាមួយជម្រើស –autosdf ដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax
15 –access +rwc –status worklib.:module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file ត្រូវតែដូចដែលបានបង្ហាញនៅក្នុង codeblock ខាងក្រោម។
COMPILED_SDF_FILE = "< ទីតាំងនៃ SDF ដែលបានចងក្រង file>” - ក្លែងធ្វើដោយប្រើ Xcelium ។ បន្ទាប់ពីការពិសោធន៏ រូបថតក្លែងធ្វើត្រូវបានបង្កើត ដែលត្រូវបានផ្ទុកដោយ Xcelium សម្រាប់ការក្លែងធ្វើ។ វាអាចត្រូវបានដំណើរការក្នុងរបៀបបាច់ឬរបៀប GUI ។
xmsim –សារ –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –status worklib.:module
ការដំឡើង Cadence Xcelium
សំខាន់៖ ទាំងអស់។ ជំហានទាំងបីខាងលើនៃការចងក្រង ភាពល្អិតល្អន់ និងការក្លែងធ្វើអាចត្រូវបានដាក់ចូលទៅក្នុងស្គ្រីបសែល file និងប្រភពពីបន្ទាត់ពាក្យបញ្ជា។ ជំនួសឱ្យការប្រើជំហានទាំងបីនេះ ការរចនាអាចត្រូវបានក្លែងធ្វើក្នុងជំហានមួយដោយប្រើជម្រើស ncverilog ឬ xrun ដូចបង្ហាញក្នុង codeblock ខាងក្រោម។
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <ទាំងអស់ RTL
fileប្រើក្នុងការរចនា>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <ទាំងអស់ RTL files
ប្រើក្នុងការរចនា>
4.3.1 បញ្ហាដែលគេស្គាល់ (សួរសំណួរ)
ដំណោះស្រាយ Testbench
ការប្រើសេចក្តីថ្លែងការណ៍ខាងក្រោមសម្រាប់ការបញ្ជាក់ប្រេកង់នាឡិកានៅក្នុង 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
ខណៈពេលដែលកំពុងដំណើរការការក្លែងធ្វើក្រោយសំយោគនៃការរចនាដែលមានប្លុក MSS ឬការក្លែងធ្វើក្រោយប្លង់នៃការរចនាដោយប្រើ SERDES ការក្លែងធ្វើ BFM មិនដំណើរការទេប្រសិនបើជម្រើស –libmap មិនត្រូវបានបញ្ជាក់កំឡុងពេលលម្អិត។ នេះគឺដោយសារតែក្នុងអំឡុងពេលលម្អិត MSS ត្រូវបានដោះស្រាយពីបណ្ណាល័យការងារ (ដោយសារតែការចងលំនាំដើម និង worklib ជា postsynth/post-layout) ដែលវាគ្រាន់តែជាមុខងារថេរ។
ពាក្យបញ្ជា ncelab ត្រូវតែសរសេរដូចបង្ហាញក្នុងប្លុកកូដខាងក្រោម ដើម្បីដោះស្រាយប្លុក MSS ពីបណ្ណាល័យ SmartFusion2 ដែលបានចងក្រងជាមុន។
xmelab -libmap lib.map -libverbose -សារ -access +rwc cfg1
និង lib.map file ត្រូវតែមានដូចខាងក្រោម៖
កំណត់រចនាសម្ព័ន្ធ cfg1;
ការរចនា ;
បញ្ជីឈ្មោះលំនាំដើម smartfusion2 ;
កំណត់រចនាសម្ព័ន្ធបញ្ចប់
វាត្រូវតែដោះស្រាយក្រឡាណាមួយនៅក្នុងបណ្ណាល័យ SmartFusion2 មុនពេលរកមើលនៅក្នុងបណ្ណាល័យការងារ ពោលគឺ postsynth/post-layout។
ជម្រើស –libmap អាចត្រូវបានប្រើតាមលំនាំដើមក្នុងអំឡុងពេលលម្អិតសម្រាប់រាល់ការក្លែងធ្វើ (presynth, postsynth និង post-layout)។ វាជៀសវាងបញ្ហាក្លែងធ្វើដែលបណ្តាលមកពីដំណោះស្រាយនៃវត្ថុពីបណ្ណាល័យ។
xmelab: *F, INTERR: ការលើកលែងខាងក្នុង
ការលើកលែងឧបករណ៍ ncelab នេះគឺជាការព្រមានសម្រាប់ការរចនាដែលមាន FDDR នៅក្នុង SmartFusion2 និង IGLOO2
កំឡុងពេល postsynth និង post-layout simulation ដោយប្រើជម្រើស –libmap។
សំខាន់៖ បញ្ហានេះត្រូវបានរាយការណ៍ទៅក្រុមគាំទ្រ Cadence (SAR 52113)។
០៣ សample Tcl និងស្គ្រីបសែល files (សួរសំណួរ)
ខាងក្រោមនេះ files គឺជាការកំណត់រចនាសម្ព័ន្ធ files ត្រូវការសម្រាប់រៀបចំការរចនា និងស្គ្រីបសែល 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
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth)
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
កំណត់ LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
កំណត់ 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)
កំណត់ 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 )
កំណត់ 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 )
កំណត់ 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 -អាប់ដេត -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 -សារ -cdslib ./cds.lib -hdlvar ./hdl.var
- ការងារ presynth -logfile ncelab.log -errormax 15 -access +rwc -ស្ថានភាព presynth.testbench: ម៉ូឌុល
ncsim -សារ -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 - ស្ថានភាព presynth.testbench: ម៉ូឌុល
4.5 ស្វ័យប្រវត្តិកម្ម (ចូលមីក្រូឈីប)
ស្គ្រីបខាងក្រោម file បំប្លែង ModelSim run.do files ចូលទៅក្នុងការកំណត់រចនាសម្ព័ន្ធ fileត្រូវការដើម្បីដំណើរការការក្លែងធ្វើដោយប្រើ Xcelium ។
ស្គ្រីប File ការប្រើប្រាស់
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
ទីតាំង_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;
ប្រើយ៉ាងតឹងរឹង;
របស់ខ្ញុំ ($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];
រដ្ឋ $ របស់ខ្ញុំ;
ប្រសិនបើ ( -e “$ModelSim_run_do”)
{
បើក (INFILE,”$ModelSim_run_do”);
របស់ខ្ញុំ @ModelSim_run_do = <INFILE>;
បន្ទាត់ $ របស់ខ្ញុំ;
ប្រសិនបើ ($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”;
បោះពុម្ព “#ការប្រើប្រាស់៖ 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 (សួរសំណួរ)
រត់.do files ដែលបង្កើតដោយ Libero SoC សម្រាប់ការក្លែងធ្វើដោយប្រើ ModelSim Microsemi Editions អាចត្រូវបានប្រើសម្រាប់ការក្លែងធ្វើដោយប្រើ QuestaSim/ModelSim SE/DE/PE ជាមួយនឹងការផ្លាស់ប្តូរតែមួយ។ នៅក្នុង ModelSim ME/ModelSim Pro ME run.do fileទីតាំងបណ្ណាល័យដែលបានចងក្រងជាមុនចាំបាច់ត្រូវកែប្រែ។
សំខាន់៖
តាមលំនាំដើម ឧបករណ៍ក្លែងធ្វើក្រៅពី ModelSim Pro ME អនុវត្តការបង្កើនប្រសិទ្ធភាពការរចនាកំឡុងពេលការក្លែងធ្វើដែលអាចប៉ះពាល់ដល់ភាពមើលឃើញចូលទៅក្នុងវត្ថុបុរាណនៃការក្លែងធ្វើដូចជាវត្ថុរចនា និងការជំរុញការបញ្ចូល។
ជាធម្មតា វាមានប្រយោជន៍ក្នុងការកាត់បន្ថយពេលវេលាដំណើរការនៃការក្លែងធ្វើសម្រាប់ការក្លែងធ្វើដ៏ស្មុគស្មាញ ដោយប្រើពាក្យសំដី ការពិនិត្យមើលខ្លួនឯង។ ទោះជាយ៉ាងណាក៏ដោយ ការបង្កើនប្រសិទ្ធភាពលំនាំដើមប្រហែលជាមិនសមស្របនឹងការក្លែងធ្វើទាំងអស់ទេ ជាពិសេសក្នុងករណីដែលអ្នករំពឹងថានឹងពិនិត្យមើលលទ្ធផលក្លែងធ្វើក្រាហ្វិកដោយប្រើបង្អួចរលក។
ដើម្បីដោះស្រាយបញ្ហាដែលបណ្តាលមកពីការបង្កើនប្រសិទ្ធភាពនេះ អ្នកត្រូវតែបន្ថែមពាក្យបញ្ជាដែលសមស្រប និងអាគុយម៉ង់ដែលពាក់ព័ន្ធកំឡុងពេលការក្លែងធ្វើ ដើម្បីស្ដារភាពមើលឃើញទៅក្នុងការរចនា។ សម្រាប់ពាក្យបញ្ជាជាក់លាក់របស់ឧបករណ៍ សូមមើលឯកសារនៃម៉ាស៊ីនក្លែងធ្វើដែលកំពុងប្រើប្រាស់។
5.1 អថេរបរិស្ថាន (សួរសំណួរ)
ខាងក្រោមនេះគឺជាអថេរបរិស្ថានដែលត្រូវការ។
- LM_LICENSE_FILE៖ ត្រូវតែរួមបញ្ចូលផ្លូវទៅកាន់អាជ្ញាប័ណ្ណ file.
- MODEL_TECH៖ ត្រូវតែកំណត់ផ្លូវទៅកាន់ទីតាំងថតផ្ទះនៃការដំឡើង QuestaSim។
- PATH៖ ត្រូវតែចង្អុលទៅទីតាំងប្រតិបត្តិដែលចង្អុលដោយ MODEL_TECH។
5.2 ការបំប្លែង run.do សម្រាប់ Mentor QuestaSim (សួរសំណួរ)
រត់.do fileបង្កើតដោយ Libero SoC សម្រាប់ការក្លែងធ្វើដោយប្រើ ModelSim Microsemi Editions អាចត្រូវបានប្រើសម្រាប់ការក្លែងធ្វើដោយប្រើ QuestaSim/ModelSim_SE ជាមួយនឹងការផ្លាស់ប្តូរតែមួយ។
សំខាន់៖ ទាំងអស់។ ការរចនាដែលត្រូវបានក្លែងធ្វើដោយប្រើ QuestaSim ត្រូវតែរួមបញ្ចូល -novopt
ជម្រើសរួមជាមួយនឹងពាក្យបញ្ជា vsim នៅក្នុងស្គ្រីប run.do files.
5.3 ទាញយកបណ្ណាល័យចងក្រង (សួរសំណួរ)
ទាញយកបណ្ណាល័យសម្រាប់ Mentor Graphics QuestaSim ពី Microsemi's webគេហទំព័រ។
ការដំឡើង VCS Synopsys (សួរសំណួរ)
លំហូរដែលបានណែនាំដោយ Microsemi ពឹងផ្អែកលើលំហូរលម្អិត និងចងក្រងនៅក្នុង VCS ។ ឯកសារនេះរួមបញ្ចូលស្គ្រីប file ដែលប្រើស្គ្រីប run.do fileបង្កើតដោយ Libero SoC និងបង្កើតការដំឡើង fileត្រូវការសម្រាប់ការក្លែងធ្វើ VCS ។ ស្គ្រីប file ប្រើ run.do file ដើម្បីធ្វើដូចខាងក្រោម។
- បង្កើតផែនទីបណ្ណាល័យ fileដែលត្រូវបានធ្វើដោយប្រើ synopsys_sim.setup file មានទីតាំងនៅក្នុងថតដូចគ្នាដែលការក្លែងធ្វើ VCS កំពុងដំណើរការ។
- បង្កើតស្គ្រីបសែល 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 File (សួរសំណួរ)
បន្ទាប់ពីរៀបចំ VCS និងបង្កើតការរចនា និង run.do ផ្សេងគ្នា files ពី Libero SoC អ្នកត្រូវតែ៖
- បង្កើតផែនទីបណ្ណាល័យ file synopsys_sim.setup; នេះ file មានចង្អុលទៅទីតាំងនៃបណ្ណាល័យទាំងអស់ដែលត្រូវប្រើដោយការរចនា។
សំខាន់៖ file ឈ្មោះមិនត្រូវផ្លាស់ប្តូរទេ ហើយវាត្រូវតែស្ថិតនៅក្នុងថតដូចគ្នា ដែលការក្លែងធ្វើកំពុងដំណើរការ។ នេះគឺជាអតីតample សម្រាប់ការបែបនេះ file សម្រាប់ការក្លែងធ្វើសំយោគ។
ការងារ > ខុស
SmartFusion2៖
presynth : ./presynth
លំនាំដើម៖ ./ ការងារ - រៀបចំការរចនាប្លែកៗ files រួមទាំង testbench ដោយប្រើពាក្យបញ្ជា vlogan នៅក្នុង VCS ។ ពាក្យបញ្ជាទាំងនេះអាចត្រូវបានរួមបញ្ចូលនៅក្នុងស្គ្រីបសែល file. ខាងក្រោមនេះគឺជាអតីតample នៃពាក្យបញ្ជាដែលត្រូវការដើម្បីបញ្ជាក់ការរចនាដែលបានកំណត់ក្នុង 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 អតិបរមា៖។<ឧទាហរណ៍ DUT
ឈ្មោះ>:<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 ។
០៣ សample Tcl និង Shell Script Files (សួរសំណួរ)
Perl ខាងក្រោមធ្វើឱ្យការបង្កើត synopsys_sim.setup ដោយស្វ័យប្រវត្តិ file ក៏ដូចជាស្គ្រីបសែលដែលត្រូវគ្នា។ files ត្រូវការដើម្បីលម្អិត ចងក្រង និងក្លែងធ្វើការរចនា។
ប្រសិនបើការរចនាប្រើ MSS សូមចម្លង test.vec file មានទីតាំងនៅក្នុងថតក្លែងធ្វើនៃគម្រោង Libero SoC ទៅក្នុងថតចម្លង VCS ។ ផ្នែកខាងក្រោមមាន sample run.do fileបង្កើតដោយ Libero SoC រួមទាំងការគូសផែនទីបណ្ណាល័យដែលត្រូវគ្នា និងស្គ្រីបសែល 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” -ធ្វើការ 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/
ការងារ/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
លំនាំដើម៖ ./ ការងារ
6.5.2 ការសំយោគក្រោយការសំយោគ (សួរសំណួរ)
postsynth_run.do
កំណត់ ACTELLIBNAME SmartFusion2 ដោយស្ងាត់ស្ងៀម
កំណត់ PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF” ដោយស្ងាត់ស្ងៀម
ប្រសិនបើ {[file មាន postsynth/_info]} {
បន្ទរ “ព័ត៌មាន៖ បណ្ណាល័យក្លែងធ្វើ postsynth មានរួចហើយ”
} ផ្សេងទៀត {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion 2”
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” - ការងារ 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
លំនាំដើម៖ ./ ការងារ
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/
SmartFusion 2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” - ប្លង់ក្រោយការងារ “${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 - ប្លង់ក្រោយការងារ “${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 ខាងក្រោម file ដើម្បីបំប្លែង ModelSim run.do files ចូលទៅក្នុងស្គ្រីបសែលដែលត្រូវគ្នា VCS files បង្កើតថតត្រឹមត្រូវនៅខាងក្នុងថតក្លែងធ្វើ Libero SoC ហើយបន្ទាប់មកដំណើរការការក្លែងធ្វើ។
ដំណើរការស្គ្រីប file ដោយប្រើវាក្យសម្ព័ន្ធខាងក្រោម។
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
#
############################################### ############################
របស់ខ្ញុំ ($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”)
{
បើក(OUT1,">presynth_main.csh”) || ស្លាប់ “មិនអាចបង្កើត Command File ហេតុផលអាចជា៖ $!”;
}
elsif ($state eq “postsynth”)
{
បើក(OUT1,">postsynth_main.csh”) || ស្លាប់ “មិនអាចបង្កើត Command File ហេតុផលអាចជា៖ $!”;
}
elsif ($state eq “postlayout”)
{
open(OUT1,">postlayout_main.csh”) || ស្លាប់ “មិនអាចបង្កើត Command File ហេតុផលអាចជា៖ $!”;
}
ផ្សេងទៀត។
{
បោះពុម្ព “ស្ថានភាពក្លែងក្លាយបាត់ \n” ;
}
open(OUT2,">synopsys_sim.setup”) || ស្លាប់ “មិនអាចបង្កើត Command File ហេតុផលអាចជា៖ $!”;
#.csh file
បោះពុម្ព OUT1 “#!/bin/csh -f\n\n\n” ;
#កំណត់ FILE
បោះពុម្ព OUT2 "ធ្វើការ > DEFAULT\n" ;
បោះពុម្ព OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
while ($line =FILE>)
{
ការដំឡើង Synopsys VCS
ប្រសិនបើ ($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 =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
បោះពុម្ព OUT1 “$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 = $1;
#បោះពុម្ព “បន្ទាត់៖ $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/min \/// ;
$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”; - វីស៊ីអេស
ទម្រង់ 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”
;
}
អេលស៊ីហ្វ
($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”
;
}
អេលស៊ីហ្វ
($state eq “postlayout”
)
{
បោះពុម្ព OUT2 “ប្លង់ក្រោយ៖ ./postlayout\n” ;
}
ផ្សេងទៀត។
{
បោះពុម្ព “ស្ថានភាពក្លែងក្លាយបាត់ \n” ;
}
foreach $i (គ្រាប់ចុច %LIB)
{
#print “Key : $i តម្លៃ : $LIB{$i} \n” ;
បោះពុម្ព OUT2 “$i : ./$i\n” ;
}
បោះពុម្ព OUT1 “\n\n” ;
បោះពុម្ព OUT1 “./simv -l run.log\n” ;
បោះពុម្ព OUT2 "លំនាំដើម : ./work\n" ;
បិទ INFILE;
បិទ OUT1;
បិទ OUT2;
}
ពិនិត្យឡើងវិញប្រវត្តិសាស្ត្រ (ចូលមីក្រូឈីប
ប្រវត្តិកែប្រែពិពណ៌នាអំពីការផ្លាស់ប្តូរដែលត្រូវបានអនុវត្តនៅក្នុងឯកសារ។ ការផ្លាស់ប្តូរ
ត្រូវបានរាយបញ្ជីដោយការកែប្រែ ដោយចាប់ផ្តើមជាមួយនឹងការបោះពុម្ពផ្សាយបច្ចុប្បន្នបំផុត។
ការពិនិត្យឡើងវិញ | កាលបរិច្ឆេទ | ការពិពណ៌នា |
A | ៥/៥ | ការផ្លាស់ប្តូរខាងក្រោមត្រូវបានធ្វើឡើងនៅក្នុងការកែប្រែនេះ៖ • ឯកសារត្រូវបានបំប្លែងទៅជាគំរូ Microchip។ ការពិនិត្យឡើងវិញដំបូង។ • ផ្នែកដែលបានធ្វើបច្ចុប្បន្នភាព 5. Siemens QuestaSim Setup/ModelSim Setup ដើម្បីរួមបញ្ចូលចំណាំថ្មីដែលពន្យល់ពីផលប៉ះពាល់លើការមើលឃើញកំឡុងពេលក្លែងធ្វើ និងបង្កើនប្រសិទ្ធភាព។ |
ការគាំទ្រ Microchip FPGA
ក្រុមផលិតផល Microchip FPGA គាំទ្រផលិតផលរបស់ខ្លួនជាមួយនឹងសេវាកម្មគាំទ្រផ្សេងៗ រួមទាំងសេវាអតិថិជន មជ្ឈមណ្ឌលជំនួយបច្ចេកទេសអតិថិជន ក 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 និងព័ត៌មានងាយស្រួលអាចរកបានសម្រាប់អតិថិជន។ ខ្លឹមសារមួយចំនួនដែលអាចរកបានរួមមាន:
- ការគាំទ្រផលិតផល - សន្លឹកទិន្នន័យ និងកំហុស កំណត់ចំណាំកម្មវិធី និងសample កម្មវិធី ធនធានរចនា មគ្គុទ្ទេសក៍របស់អ្នកប្រើ និងឯកសារជំនួយផ្នែករឹង ការចេញផ្សាយកម្មវិធីចុងក្រោយបំផុត និងកម្មវិធីដែលបានទុកក្នុងប័ណ្ណសារ
- ជំនួយបច្ចេកទេសទូទៅ - សំណួរដែលគេសួរញឹកញាប់ (FAQs), សំណើជំនួយបច្ចេកទេស, ក្រុមពិភាក្សាអនឡាញ, ការចុះបញ្ជីសមាជិកកម្មវិធីដៃគូរចនា Microchip
- អាជីវកម្មរបស់ Microchip - ការណែនាំអំពីការជ្រើសរើសផលិតផល និងការបញ្ជាទិញ ការចេញផ្សាយព័ត៌មានថ្មីៗរបស់ Microchip ការចុះបញ្ជីសិក្ខាសាលា និងព្រឹត្តិការណ៍ ការចុះបញ្ជីការិយាល័យលក់ Microchip អ្នកចែកចាយ និងតំណាងរោងចក្រ។
សេវាកម្មជូនដំណឹងអំពីការផ្លាស់ប្តូរផលិតផល
សេវាកម្មជូនដំណឹងអំពីការផ្លាស់ប្តូរផលិតផលរបស់ Microchip ជួយរក្សាអតិថិជនបច្ចុប្បន្នលើផលិតផល Microchip ។ អ្នកជាវនឹងទទួលបានការជូនដំណឹងតាមអ៊ីមែល នៅពេលណាដែលមានការផ្លាស់ប្តូរ ការធ្វើបច្ចុប្បន្នភាព ការកែប្រែ ឬកំហុសទាក់ទងនឹងគ្រួសារផលិតផលដែលបានបញ្ជាក់ ឬឧបករណ៍អភិវឌ្ឍន៍ដែលចាប់អារម្មណ៍។
ដើម្បីចុះឈ្មោះ សូមចូលទៅកាន់ www.microchip.com/pcn ហើយធ្វើតាមការណែនាំចុះឈ្មោះ។
ជំនួយអតិថិជន
អ្នកប្រើប្រាស់ផលិតផល Microchip អាចទទួលបានជំនួយតាមរយៈបណ្តាញជាច្រើន៖
- អ្នកចែកចាយ ឬ តំណាង
- ការិយាល័យលក់ក្នុងស្រុក
- វិស្វករដំណោះស្រាយបង្កប់ (ESE)
- ជំនួយបច្ចេកទេស
អតិថិជនគួរតែទាក់ទងអ្នកចែកចាយ តំណាង ឬ ESE របស់ពួកគេសម្រាប់ការគាំទ្រ។ ការិយាល័យលក់ក្នុងស្រុកក៏អាចរកបានដើម្បីជួយអតិថិជនផងដែរ។ ការចុះបញ្ជីការិយាល័យលក់ និងទីតាំងត្រូវបានរួមបញ្ចូលនៅក្នុងឯកសារនេះ។
ជំនួយបច្ចេកទេសអាចរកបានតាមរយៈ webគេហទំព័រនៅ៖ www.microchip.com/support
មុខងារការពារលេខកូដឧបករណ៍មីក្រូឈីប
ចំណាំព័ត៌មានលម្អិតខាងក្រោមនៃមុខងារការពារកូដនៅលើផលិតផល Microchip៖
- ផលិតផល Microchip បំពេញតាមលក្ខណៈជាក់លាក់ដែលមាននៅក្នុងសន្លឹកទិន្នន័យ Microchip ជាក់លាក់របស់ពួកគេ។
- Microchip ជឿជាក់ថាផលិតផលគ្រួសាររបស់វាមានសុវត្ថិភាពនៅពេលប្រើក្នុងលក្ខណៈដែលបានគ្រោងទុក ក្នុងលក្ខណៈប្រតិបត្តិការ និងក្រោមលក្ខខណ្ឌធម្មតា។
- Microchip ផ្តល់តម្លៃ និងការពារយ៉ាងចាស់ដៃនូវសិទ្ធិកម្មសិទ្ធិបញ្ញារបស់វា។ ការប៉ុនប៉ងរំលោភលើមុខងារការពារកូដនៃផលិតផល Microchip ត្រូវបានហាមឃាត់យ៉ាងតឹងរ៉ឹង ហើយអាចបំពានច្បាប់រក្សាសិទ្ធិសហស្សវត្សរ៍ឌីជីថល។
- ទាំង Microchip ឬក្រុមហ៊ុនផលិត semiconductor ផ្សេងទៀតមិនអាចធានាសុវត្ថិភាពនៃកូដរបស់វាបានទេ។ ការការពារលេខកូដមិនមានន័យថាយើងធានាថាផលិតផល "មិនអាចបំបែកបាន" នោះទេ។
ការការពារលេខកូដកំពុងវិវត្តឥតឈប់ឈរ។ មីក្រូឈីបបានប្តេជ្ញាចិត្តក្នុងការធ្វើឱ្យប្រសើរឡើងជាបន្តបន្ទាប់នូវមុខងារការពារកូដនៃផលិតផលរបស់យើង។
សេចក្តីជូនដំណឹងផ្លូវច្បាប់
ការបោះពុម្ពផ្សាយនេះ និងព័ត៌មាននៅទីនេះអាចត្រូវបានប្រើប្រាស់តែជាមួយផលិតផល Microchip ប៉ុណ្ណោះ រួមទាំងការរចនា សាកល្បង និងរួមបញ្ចូលផលិតផល Microchip ជាមួយកម្មវិធីរបស់អ្នក។ ការប្រើប្រាស់ព័ត៌មាននេះក្នុងលក្ខណៈផ្សេងទៀតបំពានលក្ខខណ្ឌទាំងនេះ។ ព័ត៌មានទាក់ទងនឹងកម្មវិធីឧបករណ៍ត្រូវបានផ្តល់ជូនសម្រាប់ភាពងាយស្រួលរបស់អ្នកប៉ុណ្ណោះ ហើយអាចត្រូវបានជំនួសដោយការអាប់ដេត។ វាជាទំនួលខុសត្រូវរបស់អ្នកក្នុងការធានាថាកម្មវិធីរបស់អ្នកត្រូវនឹងលក្ខណៈជាក់លាក់របស់អ្នក។ ទាក់ទងការិយាល័យលក់ Microchip ក្នុងតំបន់របស់អ្នកសម្រាប់ការគាំទ្របន្ថែម ឬ ទទួលបានជំនួយបន្ថែមនៅ www.microchip.com/en-us/support/design-help/client-support-services.
ព័ត៌មាននេះត្រូវបានផ្តល់ដោយមីក្រូឈីប “ដូចដែល”។ មីក្រូឈីបមិនតំណាងឱ្យ ឬការធានានៃប្រភេទណាមួយឡើយ ទោះជាបញ្ជាក់ ឬបង្កប់ន័យ សរសេរ ឬផ្ទាល់មាត់ លក្ខន្តិកៈ ឬបើមិនដូច្នេះទេ ពាក់ព័ន្ធនឹងព័ត៌មានដែលរួមបញ្ចូល ប៉ុន្តែមិនកំណត់ចំពោះពេលវេលា ការមិនបំពានលើការលក់ដូរ និងភាពសមស្របសម្រាប់គោលបំណងពិសេស ឬការធានាទាក់ទងនឹងលក្ខខណ្ឌ គុណភាព ឬប្រតិបត្តិការរបស់វា។
នៅក្នុងករណីគ្មានមីក្រូឈីបនឹងទទួលខុសត្រូវចំពោះការខូចខាតដោយអចេតនា ពិសេស ការដាក់ទណ្ឌកម្ម ឧប្បត្តិហេតុ ឬជាផលវិបាកនៃការបាត់បង់ ការខូចខាត ថ្លៃដើម ឬការចំណាយនៃប្រភេទណាមួយដែលទាក់ទងនឹងការប្រើប្រាស់ ឬស្ថានភាពប្រែប្រួល មីក្រូឈីបត្រូវបានណែនាំពីលទ្ធភាព ឬការខូចខាតគឺអាចមើលបាន ក្នុងវិសាលភាពពេញលេញបំផុតដែលច្បាប់អនុញ្ញាត ការទទួលខុសត្រូវសរុបរបស់មីក្រូឈីប លើការទាមទារទាំងអស់ តាមរបៀបណាក៏ដោយ ដែលទាក់ទងនឹងព័ត៌មាន ឬការប្រើប្រាស់របស់វា នឹងមិនលើសពីចំនួននៃថ្លៃសេវានោះទេ ប្រសិនបើមាន ដែលអ្នកមាន ព័ត៌មាន។
ការប្រើប្រាស់ឧបករណ៍ Microchip នៅក្នុងកម្មវិធីជំនួយអាយុជីវិត និង/ឬកម្មវិធីសុវត្ថិភាពគឺស្ថិតក្នុងហានិភ័យរបស់អ្នកទិញទាំងស្រុង ហើយអ្នកទិញយល់ព្រមការពារ ទូទាត់សំណង និងកាន់ Microchip ដែលគ្មានគ្រោះថ្នាក់ពីការខូចខាត ការទាមទារ ការប្តឹងផ្តល់ ឬការចំណាយដែលបណ្តាលមកពីការប្រើប្រាស់បែបនេះ។ គ្មានអាជ្ញាប័ណ្ណណាមួយត្រូវបានបញ្ជូនដោយប្រយោល ឬបើមិនដូច្នេះទេ នៅក្រោមកម្មសិទ្ធិបញ្ញារបស់ Microchip ណាមួយ លើកលែងតែមានចែងផ្សេងពីនេះ។
ពាណិជ្ជសញ្ញា
ឈ្មោះ និងស្លាកសញ្ញា Microchip, ស្លាកសញ្ញា Microchip, Adaptec, AVR, និមិត្តសញ្ញា AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXuchty MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST SST Logo, SuperF , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, និង XMEGA គឺជាពាណិជ្ជសញ្ញាដែលបានចុះបញ្ជីរបស់ Microchip Technology Incorporated in the U.S.A. និងប្រទេសដទៃទៀត។
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 in the USA
ការសង្កត់គ្រាប់ចុចនៅជាប់គ្នា, AKS, អាណាឡូកសម្រាប់យុគសម័យឌីជីថល, កុងតាក់ណាមួយ, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoPICDnamicontroller, ds, , 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-I.S., 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 មហាវិថី Chandler ខាងលិច Chandler, AZ 85224-6199 ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ ជំនួយបច្ចេកទេស៖ www.microchip.com/support Web អាស័យដ្ឋាន៖ www.microchip.com អាត្លង់តា ឌុលធូ, GA ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ Austin, TX ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ បូស្តុន Westborough, MA ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ ឈីកាហ្គោ Itasca, IL ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ ដាឡាស អាឌីសុន, TX ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ ទីក្រុង Detroit Novi, MI ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ Houston, TX ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ រដ្ឋ Indianapolis Noblesville, IN ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទីក្រុង Los Angeles បេសកកម្ម Viejo, CA ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ Raleigh, NC ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ញូវយ៉ក, ញូវយ៉ក ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ San Jose, CA ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ប្រទេសកាណាដា - តូរ៉ុនតូ ទូរស័ព្ទ៖ ៨៦៦-៤៤៧-២១៩៤ ទូរសារ៖ ៨៦៦-៤៤៧-២១៩៤ |
អូស្ត្រាលី - ស៊ីដនី ទូរស័ព្ទ៖ 61-2-9868-6733 ចិន - ប៉េកាំង ទូរស័ព្ទ៖ 86-10-8569-7000 ប្រទេសចិន - ទីក្រុង Chengdu ទូរស័ព្ទ៖ 86-28-8665-5511 ប្រទេសចិន - ទីក្រុង Chongqing ទូរស័ព្ទ៖ 86-23-8980-9588 ប្រទេសចិន - Dongguan ទូរស័ព្ទ៖ 86-769-8702-9880 ប្រទេសចិន - ក្វាងចូវ ទូរស័ព្ទ៖ 86-20-8755-8029 ប្រទេសចិន - Hangzhou ទូរស័ព្ទ៖ 86-571-8792-8115 ប្រទេសចិន - ហុងកុង SAR ទូរស័ព្ទ៖ 852-2943-5100 ប្រទេសចិន - ណានជីង ទូរស័ព្ទ៖ 86-25-8473-2460 ប្រទេសចិន - ទីក្រុង Qingdao ទូរស័ព្ទ៖ 86-532-8502-7355 ចិន - សៀងហៃ ទូរស័ព្ទ៖ 86-21-3326-8000 ប្រទេសចិន - សេនយ៉ាង ទូរស័ព្ទ៖ 86-24-2334-2829 ប្រទេសចិន - ទីក្រុង Shenzhen ទូរស័ព្ទ៖ 86-755-8864-2200 ប្រទេសចិន - ស៊ូចូវ ទូរស័ព្ទ៖ 86-186-6233-1526 ប្រទេសចិន - វូហាន ទូរស័ព្ទ៖ 86-27-5980-5300 ចិន - ស៊ីអាន ទូរស័ព្ទ៖ 86-29-8833-7252 ប្រទេសចិន - Xiamen ទូរស័ព្ទ៖ 86-592-2388138 ប្រទេសចិន - ជូហៃ ទូរស័ព្ទ៖ 86-756-3210040 |
ប្រទេសឥណ្ឌា - Bangalore ទូរស័ព្ទ៖ 91-80-3090-4444 ប្រទេសឥណ្ឌា - ញូវដេលី ទូរស័ព្ទ៖ 91-11-4160-8631 ឥណ្ឌា - ភូន ទូរស័ព្ទ៖ 91-20-4121-0141 ប្រទេសជប៉ុន - អូសាកា ទូរស័ព្ទ៖ 81-6-6152-7160 ជប៉ុន - តូក្យូ ទូរស័ព្ទ៖ 81-3-6880- 3770 កូរ៉េ - ដាហ្គូ ទូរស័ព្ទ៖ 82-53-744-4301 កូរ៉េ - សេអ៊ូល។ ទូរស័ព្ទ៖ 82-2-554-7200 ម៉ាឡេស៊ី - កូឡាឡាំពួរ ទូរស័ព្ទ៖ 60-3-7651-7906 ម៉ាឡេស៊ី - ប៉េណាង ទូរស័ព្ទ៖ 60-4-227-8870 ហ្វីលីពីន - ម៉ានីល។ ទូរស័ព្ទ៖ 63-2-634-9065 សិង្ហបុរី ទូរស័ព្ទ៖ 65-6334-8870 តៃវ៉ាន់ - ស៊ីនជូ ទូរស័ព្ទ៖ 886-3-577-8366 តៃវ៉ាន់ - កៅសុង ទូរស័ព្ទ៖ 886-7-213-7830 តៃវ៉ាន់ - តៃប៉ិ ទូរស័ព្ទ៖ 886-2-2508-8600 ប្រទេសថៃ - បាងកក ទូរស័ព្ទ៖ 66-2-694-1351 វៀតណាម - ហូជីមិញ ទូរស័ព្ទ៖ 84-28-5448-2100 |
អូទ្រីស - វែល។ ទូរស័ព្ទ៖ 43-7242-2244-39 ទូរសារ៖ 43-7242-2244-393 ដាណឺម៉ាក - ទីក្រុង Copenhagen ទូរស័ព្ទ៖ 45-4485-5910 ទូរសារ៖ 45-4485-2829 ហ្វាំងឡង់ - អេសភី ទូរស័ព្ទ៖ 358-9-4520-820 បារាំង - ប៉ារីស Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 អាឡឺម៉ង់ - Garching ទូរស័ព្ទ៖ 49-8931-9700 អាល្លឺម៉ង់ - ហាន់ ទូរស័ព្ទ៖ 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 អ៊ីស្រាអែល - រ៉ាអាណាណា ទូរស័ព្ទ៖ 972-9-744-7705 អ៊ីតាលី - មីឡាន ទូរស័ព្ទ៖ 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 អេស្ប៉ាញ - ម៉ាឌ្រីដ 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 |