माइक्रोचिप लोगो Libero SoC सिमुलेशन
पुस्तकालय सेटअप निर्देशनहरू

परिचय

(एउटा प्रश्न सोध्नुहोस्)

यस कागजातको उद्देश्य इनपुटको रूपमा Libero SoC परियोजना प्रयोग गरेर सिमुलेशन वातावरण सेटअप गर्ने प्रक्रियाको वर्णन गर्नु हो। यो कागजात Libero SoC v11.9 र नयाँ सफ्टवेयर रिलीजहरूसँग प्रयोगको लागि प्रदान गरिएको पूर्व-कम्पाइल गरिएको पुस्तकालयहरूसँग मेल खान्छ। प्रदान गरिएको पुस्तकालयहरू Verilog को लागि कम्पाइल गरिएको छ। VHDL प्रयोगकर्ताहरूलाई मिश्रित-मोड सिमुलेशन अनुमति दिने इजाजतपत्र चाहिन्छ।
संकलित सिमुलेशन पुस्तकालयहरू निम्न उपकरणहरूको लागि उपलब्ध छन्:

  • Aldec सक्रिय-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise र 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 मा डिजाइन सिर्जना र उत्पादन गरेपछि, सबै डिजाइन चरणहरू (presynth, postsynth, र post-layout) अन्तर्गत ModelSim ME/ModelSim Pro ME सिमुलेशन सुरु गर्नुहोस्। यो चरणले run.do उत्पन्न गर्दछ file प्रत्येक डिजाइन चरणको लागि ModelSim ME/ModelSim Pro ME को लागि।
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: प्रत्येक सिमुलेशन रन सुरु गरेपछि, स्वत: उत्पन्न run.do नाम परिवर्तन गर्नुहोस् file Libero SoC लाई ओभरराइट गर्नबाट रोक्न सिमुलेशन डाइरेक्टरी अन्तर्गत file। पूर्वका लागिampले, files लाई presynth_run.do, postsynth_run.do र postlayout_run.do मा पुन: नामाकरण गर्न सकिन्छ।

Active-HDL र Riviera-Pro को लागि Aldec सेटअप (एउटा प्रश्न सोध्नुहोस्)

द रन.डू file ModelSim ME/ModelSim Pro ME द्वारा प्रयोग गरिएको परिमार्जन गर्न सकिन्छ र Aldec सिमुलेटरहरू प्रयोग गरेर सिमुलेशनको लागि प्रयोग गर्न सकिन्छ।
2.1 वातावरण चर (एउटा प्रश्न सोध्नुहोस्)
तपाईंको इजाजतपत्रमा तपाईंको वातावरण चर सेट गर्नुहोस् file स्थान:
LM_LICENSE_FILE: इजाजतपत्र सर्भरमा सूचक समावेश गर्नुपर्छ।
२.२ कम्पाइल गरिएको पुस्तकालय डाउनलोड गर्नुहोस् (एउटा प्रश्न सोध्नुहोस्)
माइक्रोचिपबाट Aldec Active-HDL र Aldec Riviera-PRO को लागि पुस्तकालयहरू डाउनलोड गर्नुहोस्। webसाइट।
2.3 रूपान्तरण run.do को लागि Aldec सिमुलेशन (एउटा प्रश्न सोध्नुहोस्)
द रन.डू fileएक्टिभ-एचडीएल र रिभिएरा-प्रो उपकरण प्रयोग गरेर सिमुलेशनहरूको लागि Libero SoC द्वारा उत्पन्न गरिएको s लाई सक्रिय-HDL र रिभिएरा-प्रो प्रयोग गरेर सिमुलेशनहरूको लागि एकल परिवर्तनको साथ प्रयोग गर्न सकिन्छ। निम्न तालिकाले ModelSim run.do मा परिमार्जन गर्न Aldec-समान आदेशहरू सूचीबद्ध गर्दछ। file.
तालिका २-१। एल्डेक समतुल्य आदेशहरू

मोडल सिम सक्रिय-HDL
vlog अलाग
vcom acom
vlib alib
vsim असिम
vmap amap

निम्नानुसार छample run.do Aldec सिमुलेटरहरूसँग सम्बन्धित।

  1. हालको कार्य निर्देशिकाको स्थान सेट गर्नुहोस्।
    dsn सेट गर्नुहोस्
  2. काम गर्ने पुस्तकालयको नाम सेट गर्नुहोस्, यसको स्थान नक्सा गर्नुहोस्, र त्यसपछि माइक्रोचिप FPGA परिवारको स्थान नक्सा गर्नुहोस्
    पूर्वकम्पाइल गरिएको पुस्तकालयहरू (पूर्वको लागिample, SmartFusion2) जसमा तपाईं आफ्नो डिजाइन चलाउँदै हुनुहुन्छ।
    alib presynth
    amap presynth presynth
    amap SmartFusion2
  3. सबै आवश्यक एचडीएल कम्पाइल गर्नुहोस् files आवश्यक पुस्तकालयको साथ डिजाइनमा प्रयोग गरियो।
    alog -work presynth temp.v (Verilog को लागी)
    alog-work presynth testbench.v
    acom-work presynth temp.vhd (Vhdl को लागी)
    acom-work presynth testbench.vhd
  4. डिजाइन अनुकरण गर्नुहोस्।
    asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    10us चलाउनुहोस्

2.4 ज्ञात मुद्दाहरू (एउटा प्रश्न सोध्नुहोस्)
यस खण्डले ज्ञात मुद्दाहरू र सीमितताहरू सूचीबद्ध गर्दछ।

  • Riviera-PRO प्रयोग गरेर कम्पाइल गरिएका पुस्तकालयहरू प्लेटफर्म विशिष्ट हुन् (अर्थात् 64-बिट पुस्तकालयहरू 32-बिट प्लेटफर्ममा चलाउन सकिँदैन र यसको विपरीत)।
  • SERDES/MDDR/FDDR समावेश डिजाइनहरूको लागि, तपाईंको run.do मा निम्न विकल्प प्रयोग गर्नुहोस् fileतिनीहरूको डिजाइनहरू कम्पाइल गरेपछि सिमुलेशनहरू चलाउँदा:
    - सक्रिय-HDL: असिम -o2
    - Riviera-PRO: asim -O2 (presynth र post-layout simulations को लागि) र asim -O5 (पोस्ट लेआउट सिमुलेशन को लागी)
    Active-HDL र Riviera-Pro को लागि Aldec सेटअपमा निम्न पेन्डिङ SAR हरू छन्। थप जानकारीको लागि, सम्पर्क गर्नुहोस् माइक्रोचिप प्राविधिक समर्थन.
  • SAR 49908 - सक्रिय-HDL: गणित ब्लक सिमुलेशनका लागि VHDL त्रुटि
  • SAR 50627 - Riviera-PRO 2013.02: SERDES डिजाइनहरूको लागि सिमुलेशन त्रुटिहरू
  • SAR 50461 - Riviera-PRO: asim -O2/-O5 सिमुलेशनमा विकल्प

Cadence Incisive सेटअप (एउटा प्रश्न सोध्नुहोस्)

तपाईंले स्क्रिप्ट सिर्जना गर्न आवश्यक छ file चलाउनको लागि ModelSim ME/ModelSim Pro ME run.do जस्तै
Cadence Incisive सिम्युलेटर। यी चरणहरू पालना गर्नुहोस् र स्क्रिप्ट सिर्जना गर्नुहोस् file NCSim को लागि वा लिपि प्रयोग गर्नुहोस् file
ModelSim ME/ModelSim Pro ME run.do लाई रूपान्तरण गर्न प्रदान गरियो fileकन्फिगरेसनमा छ files
NCSim प्रयोग गरेर सिमुलेशनहरू चलाउन आवश्यक छ।
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - ताल Incisive Enterprise को नयाँ संस्करणहरू जारी गर्न रोकेको छ
सिम्युलेटर र Xcelium सिम्युलेटर समर्थन गर्न थाले।

3.1 वातावरण चर (एउटा प्रश्न सोध्नुहोस्)
Cadence Incisive सिमुलेटर चलाउन, निम्न वातावरण चर कन्फिगर गर्नुहोस्:

  1. LM_LICENSE_FILE: इजाजतपत्रको लागि सूचक समावेश गर्नुपर्छ file.
  2. cds_root: Cadence Incisive Installation को गृह डाइरेक्टरी स्थानमा पोइन्ट गर्नुपर्छ।
  3. PATH: cds_root द्वारा पोइन्ट गरिएको उपकरण डाइरेक्टरी अन्तर्गत बिन स्थानमा पोइन्ट गर्नुपर्छ।
    $cds_root/tools/bin/64bit (64-bit मेसिनको लागि र $cds_root/tools/bin 32-bit मेसिनको लागि)।
    64-बिट र 32-बिट अपरेटिङ सिस्टमहरू बीचको स्विचको मामलामा सिमुलेशन वातावरण सेटअप गर्ने तीन तरिकाहरू छन्:

केस १: PATH चर
निम्न आदेश चलाउनुहोस्:
64bit मेसिनहरूको लागि पथ = (install_dir/tools/bin/64bit $path) सेट गर्नुहोस् र
पथ सेट गर्नुहोस् = (install_dir/tools/bin $path) 32bit मेसिनहरूको लागि
केस 2: -64bit कमाण्ड-लाइन विकल्प प्रयोग गर्दै
कमाण्ड-लाइनमा 64bit कार्यान्वयन योग्यलाई आह्वान गर्न -64bit विकल्प निर्दिष्ट गर्नुहोस्।
केस ३: INCA_3BIT वा CDS_AUTO_64BIT वातावरण चर सेट गर्दै
INCA_64BIT चरलाई बुलियन मानिन्छ। तपाईले यो चरलाई कुनै पनि मान वा नल स्ट्रिङमा सेट गर्न सक्नुहुन्छ।
setenv INCA_64BIT

MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - द INCA_64BIT वातावरण चरले अन्य Cadence उपकरणहरू, जस्तै IC उपकरणहरूलाई असर गर्दैन। यद्यपि, Incisive उपकरणहरूको लागि, INCA_64BIT चरले CDS_AUTO_64BIT वातावरण चरको सेटिङलाई ओभरराइड गर्छ। यदि INCA_64BIT वातावरण चर सेट गरिएको छ भने, सबै इन्सिसिभ उपकरणहरू 64-बिट मोडमा चल्छन्। setenv CDS_AUTO_64BIT समावेश: INCA
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - द string INCA ठूलो अक्षरमा हुनुपर्छ। सबै निष्पादन योग्यहरू 32-बिट मोड वा 64-बिट मोडमा चलाउनुपर्दछ, निम्नमा जस्तै एउटा कार्यान्वयनयोग्य समावेश गर्न चर सेट नगर्नुहोस्:
setenv CDS_AUTO_64BIT समावेश:ncelab

अन्य क्याडेन्स उपकरणहरू, जस्तै IC उपकरणहरूले 64-बिट वा 32-बिट कार्यान्वयन योग्यहरूको चयन नियन्त्रण गर्न CDS_AUTO_64BIT वातावरण चर प्रयोग गर्दछ। निम्न तालिकाले देखाउँछ कि तपाइँ कसरी CDS_AUTO_64BIT चर सेट गर्न सक्नुहुन्छ सबै मोडहरूमा Incisive उपकरणहरू र IC उपकरणहरू चलाउन।
तालिका ३-१। CDS_AUTO_3BIT चरहरू

CDS_AUTO_64BIT चर इन्सिसिभ उपकरणहरू आईसी उपकरणहरू
setenv CDS_AUTO_64BIT सबै १ बिट १ बिट
setenv CDS_AUTO_64BIT कुनै पनि छैन १ बिट १ बिट
setenv CDS_AUTO_64BIT बहिष्कार:ic_binary १ बिट १ बिट
setenv CDS_AUTO_64BIT बहिष्कार: INCA १ बिट १ बिट

MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: सबै इन्सिसिभ उपकरणहरू 32-बिट मोड वा 64-बिट मोडमा चलाउनैपर्छ, निम्नमा जस्तै, विशेष कार्यान्वयनयोग्य बहिष्कार गर्न EXCLUDE प्रयोग नगर्नुहोस्: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
यदि तपाईंले Incisive उपकरणहरू (setenv CDS_AUTO_64BIT EXCLUDE:INCA) बहिष्कार गर्न CDS_AUTO_64BIT चर सेट गर्नुभयो भने, सबै इन्सिसिभ उपकरणहरू 32-बिट मोडमा चलाइन्छ। यद्यपि, -64bit आदेश-लाइन विकल्पले वातावरण चरलाई ओभरराइड गर्छ।
निम्न कन्फिगरेसन files ले तपाईंलाई आफ्नो डाटा व्यवस्थापन गर्न र सिमुलेशन उपकरण र उपयोगिताहरूको सञ्चालन नियन्त्रण गर्न मद्दत गर्दछ:

  • पुस्तकालय म्यापिङ file (cds.lib) - तपाईंको डिजाइनको स्थानको लागि तार्किक नाम परिभाषित गर्दछ।
  • पुस्तकालयहरू र तिनीहरूलाई भौतिक डाइरेक्टरी नामहरूसँग सम्बद्ध गर्दछ।
  • चरहरू file (hdl.var) - सिमुलेशन उपकरण र उपयोगिताहरूको व्यवहारलाई असर गर्ने चरहरू परिभाषित गर्दछ।

२.२ कम्पाइल गरिएको पुस्तकालय डाउनलोड गर्नुहोस् (एउटा प्रश्न सोध्नुहोस्)
Microsemi's बाट Cadence Incisive को लागि पुस्तकालयहरू डाउनलोड गर्नुहोस् webसाइट।
3.3 NCSim लिपि सिर्जना गर्दै File (एउटा प्रश्न सोध्नुहोस्)
run.do को प्रतिलिपि सिर्जना गरेपछि files, NCSim प्रयोग गरेर आफ्नो सिमुलेशन चलाउन यी चरणहरू गर्नुहोस्:

  1. cds.lib सिर्जना गर्नुहोस् file जसले पहुँचयोग्य पुस्तकालयहरू र तिनीहरूको स्थान परिभाषित गर्दछ। द file पुस्तकालय तार्किक नामहरू तिनीहरूको भौतिक डाइरेक्टरी मार्गहरूमा नक्सा गर्ने कथनहरू समावेश गर्दछ। पूर्वका लागिample, यदि तपाइँ presynth सिमुलेशन चलाउँदै हुनुहुन्छ भने, cds.lib file निम्न कोडब्लकमा देखाइए अनुसार लेखिएको छ।
    presynth ./presynth परिभाषित गर्नुहोस्
    COREAHBLITE_LIB ./COREAHBLITE_LIB परिभाषित गर्नुहोस्
    smartfusion2 परिभाषित गर्नुहोस्
  2. hdl.var सिर्जना गर्नुहोस् file, एक वैकल्पिक कन्फिगरेसन file यसले कन्फिगरेसन चर समावेश गर्दछ, जसले तपाइँको डिजाइन वातावरण कसरी कन्फिगर गरिएको छ भनेर निर्धारण गर्दछ। निम्न चर files समावेश छन्:
    - चलहरू जुन कार्य पुस्तकालय निर्दिष्ट गर्न प्रयोग गरिन्छ जहाँ कम्पाइलरले कम्पाइल गरिएका वस्तुहरू र अन्य व्युत्पन्न डाटा भण्डार गर्दछ।
    - Verilog को लागि, चर (LIB_MAP, VIEW_MAP, WORK) जुन पुस्तकालयहरू निर्दिष्ट गर्न प्रयोग गरिन्छ र views खोज्न जब elaborator ले उदाहरणहरू समाधान गर्छ।
    - चरहरू जसले तपाईंलाई कम्पाइलर, विस्तारकर्ता, र सिम्युलेटर आदेश-लाइन विकल्पहरू र तर्कहरू परिभाषित गर्न अनुमति दिन्छ।
    presynth सिमुलेशन को मामला मा पूर्वampले माथि देखाइएको छ, भन्नुहोस् हामीसँग तीन RTL छ files: a.v, b.v, र testbench.v, जसलाई क्रमशः presynth, COREAHBLITE_LIB, र presynth पुस्तकालयहरूमा कम्पाइल गर्न आवश्यक छ। hdl.var file निम्न कोडब्लकमा देखाइए अनुसार लेख्न सकिन्छ।
    कार्य प्रिसिन्थ परिभाषित गर्नुहोस्
    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 )
  3. डिजाइन कम्पाइल गर्नुहोस् filencvlog विकल्प प्रयोग गर्दै।
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log-अपडेट-लाइनडेबग ए वी बी वी टेस्टबेंच
  4. ncelab प्रयोग गरी डिजाइन विस्तृत गर्नुहोस्। इलाबोरेटरले डिजाइनमा इन्स्ट्यान्टिएसन र कन्फिगरेसन जानकारीको आधारमा डिजाइन पदानुक्रम निर्माण गर्दछ, सिग्नल जडान स्थापित गर्दछ, र डिजाइनमा सबै वस्तुहरूको लागि प्रारम्भिक मानहरू गणना गर्दछ। विस्तृत डिजाइन पदानुक्रम सिमुलेशन स्न्यापसटमा भण्डार गरिएको छ, जुन सिमुलेटरले सिमुलेशन चलाउन प्रयोग गर्ने तपाईंको डिजाइनको प्रतिनिधित्व हो।
    ncelab –सन्देश –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
    पहुँच +rwc -status worklib।:module
    पोस्ट-लेआउट सिमुलेशनको समयमा विस्तार
    पोस्ट-लेआउट सिमुलेशनको मामलामा, पहिले SDF file ncsdfc आदेश प्रयोग गरेर विस्तार गर्नु अघि कम्पाइल गर्न आवश्यक छ।
    ncsdfcfilename>.sdf -आउटपुट <fileनाम>.sdf.X
    विस्तारको क्रममा निम्न कोडब्लकमा देखाइए अनुसार –autosdf विकल्पसँग कम्पाइल गरिएको SDF आउटपुट प्रयोग गर्नुहोस्।
    ncelab -autosdf -सन्देश -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
    15 -पहुँच +rwc -status worklib।:module -sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file निम्न कोडब्लकमा देखाइए अनुसार हुनुपर्छ।
    COMPILED_SDF_FILE = “<कम्पाइल गरिएको SDF को स्थान file>"
  5. ncsim प्रयोग गरेर सिमुलेट गर्नुहोस्। विस्तार पछि सिमुलेशन स्न्यापसट सिर्जना गरिएको छ, जुन सिमुलेशनको लागि ncsim द्वारा लोड गरिएको छ। तपाईं ब्याच मोड वा GUI मोडमा चलाउन सक्नुहुन्छ।
    ncsim -सन्देश -batch/-gui -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncsim.log -
    errormax 15 -status worklib।:module

MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: कम्पाइल गर्ने, विस्तार गर्ने र सिमुलेट गर्ने माथिका तीनवटा चरणहरूलाई शेल लिपिमा राख्न सकिन्छ। file र कमाण्ड-लाइनबाट स्रोत। यी तीन चरणहरू प्रयोग गर्नुको सट्टा, निम्न कोडब्लकमा देखाइए अनुसार ncverilog वा irun विकल्प प्रयोग गरेर डिजाइनलाई एक चरणमा सिमुलेट गर्न सकिन्छ।
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <सबै RTL
fileडिजाइनमा प्रयोग गरिएको छ >
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <सबै RTL files
डिजाइनमा प्रयोग गरिएको >

3.3.1 ज्ञात मुद्दाहरू (एउटा प्रश्न सोध्नुहोस्)
Testbench workaround
प्रयोगकर्ता द्वारा उत्पन्न testbench मा घडी फ्रिक्वेन्सी निर्दिष्ट गर्न निम्न कथन प्रयोग गरेर, वा Libero SoC द्वारा उत्पन्न पूर्वनिर्धारित testbench NCSim सँग काम गर्दैन।
सधैं @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
सिमुलेशन चलाउन निम्नानुसार परिमार्जन गर्नुहोस्:
सधैं #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: संकलित NCSim का लागि पुस्तकालयहरू प्लेटफर्म विशिष्ट छन् (अर्थात् 64 बिट पुस्तकालयहरू 32 बिट प्लेटफर्मसँग उपयुक्त छैनन् र यसको विपरीत)।
MSS र SERDES प्रयोग गरेर पोस्टसिन्थ र पोस्ट-लेआउट सिमुलेशनहरू MSS ब्लक वा SERDES प्रयोग गरी डिजाइनहरूको पोस्ट-लेआउट सिमुलेशनहरू समावेश गर्ने डिजाइनहरूको पोस्टसिन्थ सिमुलेशनहरू चलाउँदा, -libmap विकल्प भएमा BFM सिमुलेशनहरूले काम गर्दैन।
विस्तारको समयमा निर्दिष्ट गरिएको छैन। यो किनभने विस्तारको समयमा, MSS कार्य पुस्तकालयबाट समाधान गरिन्छ (पूर्वनिर्धारित बाइन्डिङ र worklib पोस्टसिन्थ/पोस्ट-लेआउट भएको कारण) जहाँ यो केवल एक निश्चित प्रकार्य हो।
MSS समाधान गर्न निम्न कोड ब्लकमा देखाइए अनुसार ncelab कमाण्ड लेखिएको हुनुपर्छ
SmartFusion2 पूर्वकम्पाइल गरिएको पुस्तकालयबाट रोक्नुहोस्।

ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
र lib.map file निम्नानुसार हुनुपर्छ:
कन्फिगरेसन cfg1;
डिजाइन ;
पूर्वनिर्धारित liblist smartfusion2 ;
endconfig
यसले SmartFusion2 पुस्तकालयको कुनै पनि कक्षलाई कार्य पुस्तकालयमा हेर्नु अघि जस्तै postsynth/ post-layout लाई समाधान गर्छ।
-libmap विकल्प प्रत्येक सिमुलेशन (presynth, postsynth, र post-layout) को लागि विस्तार को समयमा पूर्वनिर्धारित रूपमा प्रयोग गर्न सकिन्छ। यसले सिमुलेशन समस्याहरूलाई बेवास्ता गर्छ जुन पुस्तकालयहरूबाट उदाहरणहरूको समाधानको कारणले गर्दा हुन्छ।
ncelab: *F, INTERR: आन्तरिक अपवाद
यो ncelab उपकरण अपवाद -libmap विकल्प प्रयोग गरेर postsynth र पोस्ट-लेआउट सिमुलेशनको समयमा SmartFusion 2 र IGLOO 2 मा FDDR समावेश डिजाइनहरूको लागि चेतावनी हो।
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: यो मुद्दा Cadence समर्थन टोली (SAR 52113) लाई रिपोर्ट गरिएको छ।

१० एसample Tcl र शेल स्क्रिप्ट Files (एउटा प्रश्न सोध्नुहोस्)
निम्न files कन्फिगरेसन हो fileडिजाइन र शेल लिपि सेटअप गर्न को लागी आवश्यक छ file NCSim आदेशहरू चलाउनको लागि।
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB परिभाषित गर्नुहोस्
presynth ./presynth परिभाषित गर्नुहोस्

Hdl.var
कार्य प्रिसिन्थ परिभाषित गर्नुहोस्
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 -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 -सन्देश -cdslib ./cds.lib -hdlvar ./hdl.var
- काम presynth - लगfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

३.५ स्वचालन (एउटा प्रश्न सोध्नुहोस्)
निम्न लिपि file ModelSim run.do लाई रूपान्तरण गर्दछ fileकन्फिगरेसनमा छ fileNCSim प्रयोग गरेर सिमुलेशनहरू चलाउन आवश्यक छ।
लिपि 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 प्रयोग गर्नुहोस्;
कडा प्रयोग;
मेरो ($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");
$ राज्य = $ 1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
खुला (बाहिरFILE,">QUESTA_POSTSYNTH/postsynth_questa.do");
$ राज्य = $ 1;
} elsif ( $ModelSim_run_do =~ m/(पोस्टलेआउट)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
खुला (बाहिरFILE,">QUESTA_POSTLAYOUT/postlayout_questa.do");
$ राज्य = $ 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;
$लाइन =~ s/$state/$state\_questa/g;
#प्रिन्ट आउटFILE "$लाइन \n";
यदि ($line =~ m/vmap\s+.*($actel_family)/)
{
प्रिन्ट आउटFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$लाइन =~ s/..\/component/..\/..\/component/g;
प्रिन्ट आउटFILE "$लाइन \n";
} elsif ($line =~ m/vsim/)
{
$लाइन =~ s/vsim/vsim -novopt/g;
प्रिन्ट आउटFILE "$लाइन \n";
} अरु
{
प्रिन्ट आउटFILE "$लाइन \n";
}
}
बन्द (INFILE);
बन्द भैसकेकोFILE);
} अरु {
छाप्नुहोस् "$ModelSim_run_do अवस्थित छैन। पुन: सिमुलेशन पुन: चलाउनुहोस् \n";
}
}

Cadence Xcelium सेटअप (माइक्रोचिप लगइन)

तपाईंले स्क्रिप्ट सिर्जना गर्न आवश्यक छ file Cadence Xcelium सिम्युलेटर चलाउन ModelSim ME/ModelSim Pro ME run.do जस्तै। यी चरणहरू पालना गर्नुहोस् र स्क्रिप्ट सिर्जना गर्नुहोस् file Xcelium को लागि वा स्क्रिप्ट प्रयोग गर्नुहोस् file ModelSim ME/ModelSim Pro ME run.do लाई रूपान्तरण गर्न प्रदान गरियो fileकन्फिगरेसनमा छ fileXcelium प्रयोग गरेर सिमुलेशनहरू चलाउन आवश्यक छ।
4.1 वातावरण चर (एउटा प्रश्न सोध्नुहोस्)
Cadence Xcelium चलाउन, निम्न वातावरण चर कन्फिगर गर्नुहोस्:

  1. LM_LICENSE_FILE: इजाजतपत्रको लागि सूचक समावेश गर्नुपर्छ file.
  2. cds_root: Cadence Incisive Installation को गृह डाइरेक्टरी स्थानमा पोइन्ट गर्नुपर्छ।
  3. PATH: cds_root (अर्थात्।
    $cds_root/tools/bin/64bit (64 बिट मेसिनको लागि र $cds_root/tools/bin 32 बिटको लागि
    मेसिन)।

64-बिट र 32-बिट अपरेटिङ सिस्टमहरू बीचको स्विचको मामलामा सिमुलेशन वातावरण सेटअप गर्ने तीन तरिकाहरू छन्:
केस १: PATH चर
64bit मेसिनहरूको लागि पथ = (install_dir/tools/bin/64bit $path) सेट गर्नुहोस् र
पथ सेट गर्नुहोस् = (install_dir/tools/bin $path) 32bit मेसिनहरूको लागि
केस 2: -64bit कमाण्ड-लाइन विकल्प प्रयोग गर्दै
कमाण्ड-लाइनमा 64-बिट निष्पादन योग्य आह्वान गर्न -64bit विकल्प निर्दिष्ट गर्नुहोस्।
केस ३: INCA_3BIT वा CDS_AUTO_64BIT वातावरण चर सेट गर्दै
INCA_64BIT चरलाई बुलियन मानिन्छ। तपाईले यो चरलाई कुनै पनि मान वा शून्यमा सेट गर्न सक्नुहुन्छ
तार।
setenv INCA_64BIT

MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - द INCA_64BIT वातावरण चरले अन्य Cadence उपकरणहरू, जस्तै IC उपकरणहरूलाई असर गर्दैन। यद्यपि, Incisive उपकरणहरूको लागि, INCA_64BIT चरले CDS_AUTO_64BIT वातावरण चरको सेटिङलाई ओभरराइड गर्छ। यदि INCA_64BIT वातावरण चर et छ भने, सबै इन्सिसिभ उपकरणहरू 64-बिट मोडमा चल्छन्।
setenv CDS_AUTO_64BIT समावेश: INCA
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - द string INCA ठूलो अक्षरमा हुनुपर्छ। सबै निष्पादन योग्यहरू 2-बिट मोड वा 64-बिट मोडमा चलाउनुपर्दछ, निम्नमा जस्तै एउटा कार्यान्वयनयोग्य समावेश गर्न चर सेट नगर्नुहोस्:
setenv CDS_AUTO_64BIT समावेश:ncelab
अन्य क्याडेन्स उपकरणहरू, जस्तै IC उपकरणहरूले 64-बिट वा 32-बिट कार्यान्वयन योग्यहरूको चयन नियन्त्रण गर्न CDS_AUTO_64BIT वातावरण चर प्रयोग गर्दछ। निम्न तालिकाले देखाउँछ कि तपाइँ कसरी CDS_AUTO_64BIT चर सेट गर्न सक्नुहुन्छ सबै मोडहरूमा Incisive उपकरणहरू र IC उपकरणहरू चलाउन।

तालिका ३-१। CDS_AUTO_4BIT चरहरू

CDS_AUTO_64BIT चर इन्सिसिभ उपकरणहरू आईसी उपकरणहरू
setenv CDS_AUTO_64BIT सबै ३२-बिट ३२-बिट
setenv CDS_AUTO_64BIT कुनै पनि छैन ३२-बिट ३२-बिट
setenv CDS_AUTO_64BIT
EXCLUDE:ic_binary
३२-बिट ३२-बिट
setenv CDS_AUTO_64BIT बहिष्कार: INCA ३२-बिट ३२-बिट

MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: सबै इन्सिसिभ उपकरणहरू 32-बिट मोडमा वा 64-बिट मोडमा चलाउनुपर्दछ, निम्नमा जस्तै, विशेष कार्यान्वयनयोग्य बहिष्कार गर्न EXCLUDE प्रयोग नगर्नुहोस्:
setenv CDS_AUTO_64BIT बहिष्कार:ncelab
यदि तपाईँले CDS_AUTO_64BIT चरलाई Incisive उपकरणहरू बहिष्कार गर्न सेट गर्नुभयो भने (setenv
CDS_AUTO_64BIT बहिष्कार: INCA), सबै इन्सिसिभ उपकरणहरू 32-बिट मोडमा चलाइन्छ। यद्यपि, द
-64bit कमाण्ड-लाइन विकल्पले वातावरण चर ओभरराइड गर्दछ।
निम्न कन्फिगरेसन files ले तपाईंलाई आफ्नो डाटा व्यवस्थापन गर्न र सिमुलेशन उपकरण र उपयोगिताहरूको सञ्चालन नियन्त्रण गर्न मद्दत गर्दछ:

  • पुस्तकालय म्यापिङ file (cds.lib) ले तपाईंको डिजाइनको स्थानको लागि तार्किक नाम परिभाषित गर्दछ।
  • पुस्तकालयहरू र तिनीहरूलाई भौतिक डाइरेक्टरी नामहरूसँग सम्बद्ध गर्दछ।
  • चरहरू file (hdl.var) ले सिमुलेशन उपकरण र उपयोगिताहरूको व्यवहारलाई असर गर्ने चरहरूलाई परिभाषित गर्दछ।

२.२ कम्पाइल गरिएको पुस्तकालय डाउनलोड गर्नुहोस् (एउटा प्रश्न सोध्नुहोस्)
Microsemi's बाट Cadence Xcelium को लागि पुस्तकालयहरू डाउनलोड गर्नुहोस् webसाइट।
4.3 Xcelium लिपि सिर्जना गर्दै file (एउटा प्रश्न सोध्नुहोस्)
run.do को प्रतिलिपि सिर्जना गरेपछि files, Xcelium स्क्रिप्ट प्रयोग गरेर आफ्नो सिमुलेशन चलाउन निम्न चरणहरू गर्नुहोस् file.

  1. cds.lib सिर्जना गर्नुहोस् file कुन पुस्तकालयहरू पहुँचयोग्य छन् र तिनीहरू कहाँ अवस्थित छन् भनेर परिभाषित गर्दछ।
    द file पुस्तकालय तार्किक नामहरू तिनीहरूको भौतिक डाइरेक्टरी मार्गहरूमा नक्सा गर्ने कथनहरू समावेश गर्दछ। पूर्वका लागिample, यदि तपाइँ presynth सिमुलेशन चलाउँदै हुनुहुन्छ भने, cds.lib file निम्न कोडब्लकमा देखाइए अनुसार लेख्न सकिन्छ।
    presynth ./presynth परिभाषित गर्नुहोस्
    COREAHBLITE_LIB ./COREAHBLITE_LIB परिभाषित गर्नुहोस्
    smartfusion2 परिभाषित गर्नुहोस्
  2. hdl.var सिर्जना गर्नुहोस् file जुन एक वैकल्पिक कन्फिगरेसन हो file यसले कन्फिगरेसन चर समावेश गर्दछ, जसले तपाइँको डिजाइन वातावरण कसरी कन्फिगर गरिएको छ भनेर निर्धारण गर्दछ। यी समावेश छन्:
    - चलहरू जुन कार्य पुस्तकालय निर्दिष्ट गर्न प्रयोग गरिन्छ जहाँ कम्पाइलरले कम्पाइल गरिएका वस्तुहरू र अन्य व्युत्पन्न डाटा भण्डार गर्दछ।
    - Verilog को लागि, चर (LIB_MAP, VIEW_MAP, WORK) जुन पुस्तकालयहरू निर्दिष्ट गर्न प्रयोग गरिन्छ र views खोज्न जब elaborator ले उदाहरणहरू समाधान गर्छ।
    - चरहरू जसले तपाईंलाई कम्पाइलर, विस्तारकर्ता, र सिम्युलेटर आदेश-लाइन विकल्पहरू र तर्कहरू परिभाषित गर्न अनुमति दिन्छ।
    presynth सिमुलेशन को मामला मा पूर्वampले माथि देखाइएको छ, भन्नुहोस् हामीसँग 3 RTL छ files a.v, b.v, र testbench.v, जसलाई क्रमशः presynth, COREAHBLITE_LIB, र presynth पुस्तकालयहरूमा कम्पाइल गर्न आवश्यक छ। hdl.var file निम्न कोडब्लकमा देखाइए अनुसार लेख्न सकिन्छ।
    कार्य प्रिसिन्थ परिभाषित गर्नुहोस्
    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 )
  3. डिजाइन कम्पाइल गर्नुहोस् filencvlog विकल्प प्रयोग गर्दै।
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log-अपडेट-लाइनडेबग ए वी बी वी टेस्टबेंच
  4. ncelab प्रयोग गरी डिजाइन विस्तृत गर्नुहोस्। इलाबोरेटरले डिजाइनमा इन्स्ट्यान्टिएसन र कन्फिगरेसन जानकारीको आधारमा डिजाइन पदानुक्रम निर्माण गर्दछ, सिग्नल जडान स्थापित गर्दछ, र डिजाइनमा सबै वस्तुहरूको लागि प्रारम्भिक मानहरू गणना गर्दछ। विस्तृत डिजाइन पदानुक्रम सिमुलेशन स्न्यापसटमा भण्डार गरिएको छ, जुन सिमुलेटरले सिमुलेशन चलाउन प्रयोग गर्ने तपाईंको डिजाइनको प्रतिनिधित्व हो।
    Xcelium -सन्देश -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax 15 -
    पहुँच +rwc -status worklib।:module
    पोस्ट-लेआउट सिमुलेशनको समयमा विस्तार
    पोस्ट-लेआउट सिमुलेशनको मामलामा, पहिले SDF file ncsdfc आदेश प्रयोग गरेर विस्तार गर्नु अघि कम्पाइल गर्न आवश्यक छ।
    एक्सेलियम <filename>.sdf -आउटपुट <fileनाम>.sdf.X
    विस्तारको क्रममा निम्न कोडब्लकमा देखाइए अनुसार –autosdf विकल्पसँग कम्पाइल गरिएको SDF आउटपुट प्रयोग गर्नुहोस्।
    xmelab -autosdf -सन्देश -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
    15 -पहुँच +rwc -status worklib।:module -sdf_cmd_file ./
    sdf_cmd_file
    sdf_cmd_file निम्न कोडब्लकमा देखाइए अनुसार हुनुपर्छ।
    COMPILED_SDF_FILE = “<कम्पाइल गरिएको SDF को स्थान file>"
  5. Xcelium प्रयोग गरेर सिमुलेट गर्नुहोस्। विस्तार पछि सिमुलेशन स्न्यापसट सिर्जना गरिएको छ जुन सिमुलेशनको लागि Xcelium द्वारा लोड गरिएको छ। यो ब्याच मोड वा GUI मोडमा चलाउन सकिन्छ।
    xmsim -सन्देश -batch/-gui -cdslib ./cds.lib -hdlvar ./hdl.var -logfile xmsim.log -
    errormax 15 -status worklib।:module
    Cadence Xcelium सेटअप
    MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - सबै कम्पाइलिङ, एलोबोरेटिङ र सिमुलेटिङका ​​माथिका तीन चरणहरूलाई शेल लिपिमा राख्न सकिन्छ file र कमाण्ड-लाइनबाट स्रोत। यी तीन चरणहरू प्रयोग गर्नुको सट्टा, निम्न कोडब्लकमा देखाइए अनुसार ncverilog वा xrun विकल्प प्रयोग गरेर डिजाइनलाई एक चरणमा सिमुलेट गर्न सकिन्छ।
    xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <सबै RTL
    fileडिजाइनमा प्रयोग गरिएको छ >
    xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <सबै RTL files
    डिजाइनमा प्रयोग गरिएको >

4.3.1 ज्ञात मुद्दाहरू (एउटा प्रश्न सोध्नुहोस्)
Testbench workaround
प्रयोगकर्ता वा Libero SoC द्वारा उत्पन्न पूर्वनिर्धारित testbench मा घडी फ्रिक्वेन्सी निर्दिष्ट गर्न निम्न कथन प्रयोग गरेर Xcelium सँग काम गर्दैन।
सधैं @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
सिमुलेशन चलाउन निम्नानुसार परिमार्जन गर्नुहोस्:
सधैं #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;

MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: Xcelium का लागि कम्पाइल गरिएका पुस्तकालयहरू प्लेटफर्म विशिष्ट हुन् (अर्थात् 64 बिट पुस्तकालयहरू 32 बिट प्लेटफर्मसँग उपयुक्त छैनन् र यसको विपरीत)।
MSS र SERDES प्रयोग गरेर पोस्टसिन्थ र पोस्ट-लेआउट सिमुलेशनहरू
MSS ब्लक, वा SERDES प्रयोग गरी डिजाइनहरूको पोस्ट-लेआउट सिमुलेशनहरू समावेश गर्ने डिजाइनहरूको पोस्टसिन्थ सिमुलेशनहरू चलाउँदा, -libmap विकल्प विस्तारको क्रममा निर्दिष्ट गरिएको छैन भने BFM सिमुलेशनहरूले काम गर्दैन। यो किनभने विस्तारको समयमा, MSS कार्य पुस्तकालयबाट समाधान गरिन्छ (पूर्वनिर्धारित बाइन्डिङ र worklib पोस्टसिन्थ/पोस्ट-लेआउट भएको कारण) जहाँ यो केवल एक निश्चित प्रकार्य हो।
SmartFusion2 पूर्वकम्पाइल गरिएको पुस्तकालयबाट MSS ब्लक समाधान गर्न निम्न कोड ब्लकमा देखाइए अनुसार ncelab आदेश लेखिएको हुनुपर्छ।
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
र lib.map file निम्नानुसार हुनुपर्छ:
कन्फिगरेसन cfg1;
डिजाइन ;
पूर्वनिर्धारित liblist smartfusion2 ;
endconfig
यसले SmartFusion2 पुस्तकालयको कुनै पनि सेललाई कार्य पुस्तकालयमा हेर्नु अघि समाधान गर्नुपर्छ जस्तै postsynth/post-layout।
-libmap विकल्प प्रत्येक सिमुलेशन (presynth, postsynth र post-layout) को लागि विस्तार को समयमा पूर्वनिर्धारित रूपमा प्रयोग गर्न सकिन्छ। यसले सिमुलेशन समस्याहरूलाई बेवास्ता गर्छ जुन पुस्तकालयहरूबाट उदाहरणहरूको समाधानको कारणले गर्दा हुन्छ।
xmelab: *F, INTERR: आन्तरिक अपवाद
यो ncelab उपकरण अपवाद SmartFusion2 र IGLOO2 मा FDDR समावेश डिजाइनहरूको लागि एक चेतावनी हो।
-libmap विकल्प प्रयोग गरेर postsynth र पोस्ट-लेआउट सिमुलेशनको समयमा।
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: यो मुद्दा Cadence समर्थन टोली (SAR 52113) लाई रिपोर्ट गरिएको छ।

१० एसample Tcl र शेल लिपि files (एउटा प्रश्न सोध्नुहोस्)
निम्न files कन्फिगरेसन हो fileडिजाइन र शेल लिपि सेटअप गर्न को लागी आवश्यक छ file Xcelium आदेशहरू चलाउनको लागि।
Cds.lib
smartfusion2 परिभाषित गर्नुहोस् /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB परिभाषित गर्नुहोस्
presynth ./presynth परिभाषित गर्नुहोस्
Hdl.var
कार्य प्रिसिन्थ परिभाषित गर्नुहोस्
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 -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 -सन्देश -cdslib ./cds.lib -hdlvar ./hdl.var
- काम presynth - लगfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

३.५ स्वचालन (माइक्रोचिप लगइन)
निम्न लिपि file ModelSim run.do लाई रूपान्तरण गर्दछ fileकन्फिगरेसनमा छ fileXcelium प्रयोग गरेर सिमुलेशनहरू चलाउन आवश्यक छ।
लिपि 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 प्रयोग गर्नुहोस्;
कडा प्रयोग;
मेरो ($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");
$ राज्य = $ 1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
खुला (बाहिरFILE,">QUESTA_POSTSYNTH/postsynth_questa.do");
$ राज्य = $ 1;
} elsif ( $ModelSim_run_do =~ m/(पोस्टलेआउट)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
खुला (बाहिरFILE,">QUESTA_POSTLAYOUT/postlayout_questa.do");
$ राज्य = $ 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;
$लाइन =~ s/$state/$state\_questa/g;
#प्रिन्ट आउटFILE "$लाइन \n";
यदि ($line =~ m/vmap\s+.*($actel_family)/)
{
प्रिन्ट आउटFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$लाइन =~ s/..\/component/..\/..\/component/g;
प्रिन्ट आउटFILE "$लाइन \n";
} elsif ($line =~ m/vsim/)
{
$लाइन =~ s/vsim/vsim -novopt/g;
प्रिन्ट आउटFILE "$लाइन \n";
} अरु
{
प्रिन्ट आउटFILE "$लाइन \n";
}
}
बन्द (INFILE);
बन्द भैसकेकोFILE);
} अरु {
छाप्नुहोस् "$ModelSim_run_do अवस्थित छैन। पुन: सिमुलेशन पुन: चलाउनुहोस् \n";
}
}

Siemens QuestaSim सेटअप/ModelSim सेटअप (एउटा प्रश्न सोध्नुहोस्)

द रन.डू files, ModelSim Microsemi संस्करणहरू प्रयोग गरेर सिमुलेशनहरूका लागि Libero SoC द्वारा उत्पन्न गरिएको, QuestaSim/ModelSim SE/DE/PE प्रयोग गरेर सिमुलेशनहरूको लागि एकल परिवर्तनको साथ प्रयोग गर्न सकिन्छ। ModelSim ME/ModelSim Pro ME run.do मा file, पूर्वकम्पाइल गरिएको पुस्तकालय स्थान परिमार्जन गर्न आवश्यक छ।
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: 
पूर्वनिर्धारित रूपमा, ModelSim Pro ME बाहेक सिमुलेशन उपकरणले सिमुलेशनको समयमा डिजाइन अप्टिमाइजेसन कार्य गर्दछ जसले डिजाइन वस्तुहरू र इनपुट उत्तेजना जस्ता सिमुलेशन कलाकृतिहरूमा दृश्यतालाई असर गर्न सक्छ।
यो सामान्यतया जटिल सिमुलेशनहरूको लागि सिमुलेशन रनटाइम घटाउनमा उपयोगी हुन्छ, भर्बोज, सेल्फ-चेकिंग टेस्टबेन्चहरू प्रयोग गरेर। यद्यपि, पूर्वनिर्धारित अप्टिमाइजेसनहरू सबै सिमुलेशनहरूका लागि उपयुक्त नहुन सक्छ, विशेष गरी तपाईंले वेभ सञ्झ्याल प्रयोग गरेर सिमुलेशन परिणामहरू ग्राफिक रूपमा निरीक्षण गर्ने अपेक्षा गरेको अवस्थामा।
यस अप्टिमाइजेसनको कारणले गर्दा हुने समस्याहरूलाई सम्बोधन गर्न, तपाईंले डिजाइनमा दृश्यता पुनर्स्थापना गर्न सिमुलेशनको समयमा उपयुक्त आदेशहरू र सम्बन्धित तर्कहरू थप्नु पर्छ। उपकरण-विशेष आदेशहरूको लागि, प्रयोगमा रहेको सिम्युलेटरको कागजात हेर्नुहोस्।

5.1 वातावरण चर (एउटा प्रश्न सोध्नुहोस्)
निम्न आवश्यक वातावरण चरहरू छन्।

  • LM_LICENSE_FILE: इजाजतपत्रको बाटो समावेश गर्नुपर्छ file.
  • MODEL_TECH: QuestaSim स्थापनाको गृह डाइरेक्टरी स्थानको मार्ग पहिचान गर्नुपर्छ।
  • PATH: MODEL_TECH द्वारा पोइन्ट गरिएको कार्यान्वयन योग्य स्थानमा पोइन्ट गर्नुपर्छ।

5.2 Mentor QuestaSim को लागि run.do रूपान्तरण (एउटा प्रश्न सोध्नुहोस्)
द रन.डू fileLibero SoC द्वारा ModelSim माइक्रोसेमी संस्करणहरू प्रयोग गरेर सिमुलेशनहरूका लागि उत्पन्न गरिएको s QuestaSim/ModelSim_SE प्रयोग गरेर सिमुलेशनहरूको लागि एकल परिवर्तनको साथ प्रयोग गर्न सकिन्छ।
MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - सबै QuestaSim प्रयोग गरेर सिमुलेट गरिएका डिजाइनहरूमा -novopt समावेश हुनुपर्छ
run.do स्क्रिप्टमा vsim आदेशको साथ विकल्प files.
5.3 कम्पाइल गरिएको पुस्तकालय डाउनलोड गर्नुहोस् (एउटा प्रश्न सोध्नुहोस्)
Microsemi's बाट Mentor ग्राफिक्स QuestaSim को लागि पुस्तकालयहरू डाउनलोड गर्नुहोस् webसाइट।

Synopsys VCS सेटअप (एउटा प्रश्न सोध्नुहोस्)

Microsemi द्वारा सिफारिस गरिएको प्रवाह VCS मा विस्तृत र कम्पाइल प्रवाहमा निर्भर गर्दछ। यो कागजातमा लिपि समावेश छ file जसले run.do स्क्रिप्ट प्रयोग गर्दछ files Libero SoC द्वारा उत्पन्न र सेटअप उत्पन्न गर्दछ fileVCS सिमुलेशनको लागि आवश्यक छ। लिपि 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 डाइरेक्टरी तलको बिन डाइरेक्टरीमा पोइन्टर समावेश गर्नुपर्छ।

२.२ कम्पाइल गरिएको पुस्तकालय डाउनलोड गर्नुहोस् (एउटा प्रश्न सोध्नुहोस्)
Microsemi's बाट Synopsys VCS को लागि पुस्तकालयहरू डाउनलोड गर्नुहोस् webसाइट।
6.3 VCS सिमुलेशन लिपि File (एउटा प्रश्न सोध्नुहोस्)
VCS सेटअप र डिजाइन र विभिन्न run.do उत्पन्न पछि fileLibero SoC बाट, तपाईंले:

  1. पुस्तकालय म्यापिङ सिर्जना गर्नुहोस् file synopsys_sim.setup; यो file डिजाइन द्वारा प्रयोग गरिने सबै पुस्तकालयहरूको स्थानमा सूचकहरू समावेश गर्दछ।
    MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन  महत्त्वपूर्ण: - द file नाम परिवर्तन हुनु हुँदैन र यो एउटै डाइरेक्टरीमा अवस्थित हुनुपर्छ जहाँ सिमुलेशन चलिरहेको छ। यहाँ एक पूर्व छample यस्तो को लागि file presynthesis सिमुलेशन को लागी।
    कार्य > EFAULT
    SmartFusion2 :
    presynth: ./presynth
    पूर्वनिर्धारित: ./काम
  2. विभिन्न डिजाइन विस्तार गर्नुहोस् files, testbench सहित, VCS मा vlogan आदेश प्रयोग गरी। यी आदेशहरू शेल लिपिमा समावेश गर्न सकिन्छ file। निम्न एक पूर्व होamprtl.v मा परिभाषित गरिएको यसको टेस्टबेन्चमा परिभाषित डिजाइनलाई विस्तार गर्न आवश्यक पर्ने आदेशहरूको le
    testbench.v
    vlogan +v2k -work presynth rtl.v
    vlogan +v2k -work presynth testbench.v
  3. निम्न आदेश प्रयोग गरेर VCS प्रयोग गरी डिजाइन कम्पाइल गर्नुहोस्।
    vcs –sim_res=1fs presynth.testbench
    नोट: - द सही कार्यात्मक सिमुलेशनको लागि सिमुलेशनको समय रिजोल्युसन 1fs मा सेट हुनुपर्छ।
  4. एक पटक डिजाइन कम्पाइल भएपछि, निम्न आदेश प्रयोग गरेर सिमुलेशन सुरु गर्नुहोस्।
    ./simv
  5. ब्याक-एनोटेटेड सिमुलेशनको लागि, VCS आदेश निम्न कोडब्लकमा देखाइए अनुसार हुनुपर्छ।
    vcs postlayout.testbench –sim_res=1fs –sdf अधिकतम:।<DUT उदाहरण
    नाम>:<sdf file path> -gui -l postlayout.log

६.४ सीमितता/अपवाद (एउटा प्रश्न सोध्नुहोस्)
Synopsys VCS सेटअपको सीमितता/अपवादहरू निम्न छन्।

  • VCS सिमुलेशनहरू Libero SoC को Verilog परियोजनाहरूको लागि मात्र चलाउन सकिन्छ। VCS सिम्युलेटरसँग कडा VHDL भाषा आवश्यकताहरू छन् जुन Libero SoC स्वत-उत्पन्न VHDL द्वारा पूरा हुँदैनन्। files.
  • तपाईंले चाहेको बेला सिमुलेशन रोक्नको लागि Verilog testbench मा $finish कथन हुनुपर्छ।
    MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर - आइकन महत्त्वपूर्ण: - कहिले सिमुलेशनहरू GUI मोडमा चलाइन्छ, रन टाइम GUI मा निर्दिष्ट गर्न सकिन्छ।

१० एसample Tcl र शेल स्क्रिप्ट Files (एउटा प्रश्न सोध्नुहोस्)
निम्न पर्लले synopsys_sim.setup को पुस्तालाई स्वचालित बनाउँछ file साथै सम्बन्धित शेल लिपि fileविस्तृत, कम्पाइल, र डिजाइन अनुकरण गर्न आवश्यक छ।
यदि डिजाइनले MSS प्रयोग गर्दछ भने, test.vec प्रतिलिपि गर्नुहोस् file VCS सिमुलेशन फोल्डरमा Libero SoC परियोजनाको सिमुलेशन फोल्डरमा अवस्थित छ। निम्न खण्डहरूमा s समावेश छample run.do fileLibero SoC द्वारा उत्पन्न गरिएको, सम्बन्धित पुस्तकालय म्यापिङ र शेल लिपि सहित fileVCS सिमुलेशनको लागि आवश्यक छ।
६.५.१ पूर्व संश्लेषण (एउटा प्रश्न सोध्नुहोस्)
Presynth_run.do
चुपचाप ACTELLIBNAME SmartFusion2 सेट गर्नुहोस्
चुपचाप सेट गर्नुहोस् PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
यदि {[file अवस्थित presynth/_info]} {
प्रतिध्वनि "जानकारी: सिमुलेशन लाइब्रेरी presynth पहिले नै अवस्थित छ"
} अरु {
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”
भ्लग “+incdir+${PROJECT_DIR}/stimulus” -कार्य प्रिसिंथ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
लहर थप्नुहोस् /SD1_TB1/*
log -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” -काम
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]} {
इको "जानकारी: सिमुलेशन लाइब्रेरी पोस्टसिन्थ पहिले नै अवस्थित छ"
} अरु {
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" -कार्य पोस्टसिन्थ "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
लहर थप्नुहोस् /SD1_TB1/*
log -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” -काम
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
पूर्वनिर्धारित: ./काम
६.५.३ पोस्ट-लेआउट (एउटा प्रश्न सोध्नुहोस्)
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 -कार्य पोस्टलेआउट "${PROJECT_DIR}/designer/SD1/SD1_ba.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -कार्य पोस्टलेआउट "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L पोस्टलेआउट -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf पोस्टलेआउट।SD1_TB1
लहर थप्नुहोस् /SD1_TB1/*
log -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}/
designer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -काम
पोस्टलेआउट "${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
३.५ स्वचालन (एउटा प्रश्न सोध्नुहोस्)
प्रवाह निम्न पर्ल लिपि प्रयोग गरेर स्वचालित गर्न सकिन्छ file ModelSim run.do लाई रूपान्तरण गर्न fileVCS मिल्दो शेल लिपिमा s 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";}
if(system("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") || मर्नुहोस् "कमाण्ड सिर्जना गर्न सक्दैन File कारण हुन सक्छ:$!";
}
elsif ( $state eq "postsynth" )
{
खोल्नुहोस्(OUT1,">postsynth_main.csh") || मर्नुहोस् "कमाण्ड सिर्जना गर्न सक्दैन File कारण हुन सक्छ:$!";
}
elsif ($state eq "पोस्टलेआउट")
{
खोल्नुहोस्(OUT1,">postlayout_main.csh") || मर्नुहोस् "कमाण्ड सिर्जना गर्न सक्दैन File कारण हुन सक्छ:$!";
}
अरू
{
छाप्नुहोस् "सिमुलेशन स्टेट हराइरहेको छ \n" ;
}
खोल्नुहोस्(OUT2,">synopsys_sim.setup") || मर्नुहोस् "कमाण्ड सिर्जना गर्न सक्दैन File कारण हुन सक्छ:$!";
# .csh file
छाप्नुहोस् OUT1 "#!/bin/csh -f\n\n\n";
#सेट गर्नुहोस् FILE
प्रिन्ट आउट२ "कार्य > पूर्वनिर्धारित\n" ;
छाप्नुहोस् OUT2 "SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n" ;
जबकि ($लाइन = <INFILE>)
{

Synopsys VCS सेटअप

यदि ($लाइन =~ m/चुपचाप सेट गर्नुहोस् PROJECT_DIR\s+\”(.*?)\”/)
{
छाप्नुहोस् OUT1 "सेट PROJECT_DIR = \"$1\"\n\n\n";
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
यदि ($लाइन =~ m/\s+(\w*?)\_LIB/)
{
#छाप "\$1 =$1 \n";
$temp = "$1"।"_LIB";
# प्रिन्ट "Temp = $temp \n" ;
$LIB{$temp}++;
}
chomp ($ line);
$लाइन =~ s/^vlog/$vlog/ ;
$लाइन =~ s/ //g;
प्रिन्ट आउट१ "$लाइन\n";
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*पोस्टलेआउट\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp ($tb);
#छाप "TB नाम: $tb \n";
यदि ( $line =~ m/sdf(.*)\.sdf/)
{
chomp ($ line);
$लाइन = $1;
# छाप्नुहोस् "लाइन: $लाइन \n" ;
यदि ($लाइन =~ m/max/)
{
$लाइन =~ s/अधिकतम \/// ;
$लाइन =~ 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/)
{
$लाइन =~ s/min \/// ;
$लाइन =~ 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/)
{
$लाइन =~ s/typ \/// ;
$लाइन =~ 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 अधिकतम:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; -VCS
SDF ढाँचा
}
}
}
छाप्नुहोस्
आउट१ "\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”
;
}
elsif
($state eq "postsynth"
)
{
छाप्नुहोस्
OUT2 “पोस्टसिंथ
:।/postsynth\n”
;
छाप्नुहोस्
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
($state eq "पोस्टलेआउट"
)
{
छाप्नुहोस् OUT2 "पोस्टलेआउट: ./पोस्टलेआउट\n";
}
अरू
{
छाप्नुहोस् "सिमुलेशन स्टेट हराइरहेको छ \n" ;
}
foreach $i (कुञ्जीहरू %LIB)
{
# छाप्नुहोस् "कुञ्जी: $i मान: $LIB{$i} \n" ;
छाप्नुहोस् OUT2 "$i : ./$i\n" ;
}
प्रिन्ट आउट१ “\n\n”;
छाप्नुहोस् OUT1 "./simv -l run.log\n" ;
प्रिन्ट आउट२ "पूर्वनिर्धारित: ./कार्य\n";
IN बन्द गर्नुहोस्FILE;
OUT1 बन्द गर्नुहोस्;
OUT2 बन्द गर्नुहोस्;
}

संशोधन इतिहास (माइक्रोचिप लगइन

संशोधन इतिहासले कागजातमा लागू गरिएका परिवर्तनहरू वर्णन गर्दछ। परिवर्तनहरू
सबैभन्दा हालको प्रकाशनबाट सुरु गरी संशोधनद्वारा सूचीबद्ध गरिएको छ।

संशोधन मिति विवरण
A १/४ यस संशोधनमा निम्न परिवर्तनहरू गरिएका छन्:
• कागजातलाई माइक्रोचिप टेम्प्लेटमा रूपान्तरण गरियो। प्रारम्भिक संशोधन।
• अद्यावधिक गरिएको खण्ड 5। सिमुलेशन र अप्टिमाइजेसनको समयमा दृश्यतामा पर्ने प्रभावको व्याख्या गर्ने नयाँ नोट समावेश गर्न Siemens QuestaSim सेटअप/ModelSim सेटअप।

माइक्रोचिप FPGA समर्थन
माइक्रोचिप एफपीजीए उत्पादन समूहले ग्राहक सेवा, ग्राहक प्राविधिक समर्थन केन्द्र, ए सहित विभिन्न समर्थन सेवाहरूसँग आफ्ना उत्पादनहरूलाई समर्थन गर्दछ। webसाइट, र विश्वव्यापी बिक्री कार्यालयहरू।
ग्राहकहरूलाई समर्थनलाई सम्पर्क गर्नु अघि माइक्रोचिप अनलाइन स्रोतहरू भ्रमण गर्न सुझाव दिइएको छ किनभने यो धेरै सम्भावना छ कि तिनीहरूका प्रश्नहरूको जवाफ पहिले नै दिइसकिएको छ।
मार्फत प्राविधिक सहयोग केन्द्रलाई सम्पर्क गर्नुहोस् webसाइट मा www.microchip.com/support। FPGA यन्त्र भाग नम्बर उल्लेख गर्नुहोस्, उपयुक्त केस कोटी चयन गर्नुहोस्, र डिजाइन अपलोड गर्नुहोस् fileप्राविधिक सहयोग केस सिर्जना गर्दा।
गैर-प्राविधिक उत्पादन समर्थनको लागि ग्राहक सेवालाई सम्पर्क गर्नुहोस्, जस्तै उत्पादन मूल्य निर्धारण, उत्पादन अपग्रेडहरू, अद्यावधिक जानकारी, अर्डर स्थिति, र प्राधिकरण।

  • उत्तर अमेरिकाबाट, 800.262.1060 मा कल गर्नुहोस्
  • बाँकी संसारबाट, 650.318.4460 मा कल गर्नुहोस्
  • फ्याक्स, संसारको कुनै पनि ठाउँबाट, 650.318.8044

माइक्रोचिप जानकारी
माइक्रोचिप Webसाइट
माइक्रोचिपले हाम्रो मार्फत अनलाइन समर्थन प्रदान गर्दछ webसाइट मा www.microchip.com/। यो webसाइट बनाउन प्रयोग गरिन्छ files र जानकारी सजिलै ग्राहकहरु लाई उपलब्ध छ। उपलब्ध सामग्री मध्ये केही समावेश:

  • उत्पादन समर्थन - डाटा पाना र इरेटा, आवेदन नोटहरू र sample प्रोग्रामहरू, डिजाइन स्रोतहरू, प्रयोगकर्ताको गाइड र हार्डवेयर समर्थन कागजातहरू, नवीनतम सफ्टवेयर रिलीजहरू र अभिलेख गरिएको सफ्टवेयर
  • सामान्य प्राविधिक समर्थन - बारम्बार सोधिने प्रश्नहरू (FAQs), प्राविधिक समर्थन अनुरोधहरू, अनलाइन छलफल समूहहरू, माइक्रोचिप डिजाइन साझेदार कार्यक्रम सदस्य सूची
  • माइक्रोचिपको व्यवसाय - उत्पादन चयनकर्ता र अर्डर गाइडहरू, नवीनतम माइक्रोचिप प्रेस विज्ञप्ति, सेमिनार र घटनाहरूको सूची, माइक्रोचिप बिक्री कार्यालयहरूको सूची, वितरक र कारखाना प्रतिनिधिहरू

उत्पादन परिवर्तन सूचना सेवा
माइक्रोचिपको उत्पादन परिवर्तन सूचना सेवाले ग्राहकहरूलाई माइक्रोचिप उत्पादनहरूमा अद्यावधिक राख्न मद्दत गर्दछ। कुनै निर्दिष्ट उत्पादन परिवार वा रुचिको विकास उपकरणसँग सम्बन्धित परिवर्तनहरू, अद्यावधिकहरू, संशोधनहरू वा त्रुटिहरू हुँदा सदस्यहरूले इमेल सूचना प्राप्त गर्नेछन्।
दर्ता गर्न, जानुहोस् www.microchip.com/pcn र दर्ता निर्देशनहरू पालना गर्नुहोस्।
ग्राहक समर्थन
माइक्रोचिप उत्पादनका प्रयोगकर्ताहरूले धेरै च्यानलहरू मार्फत सहायता प्राप्त गर्न सक्छन्:

  • वितरक वा प्रतिनिधि
  • स्थानीय बिक्री कार्यालय
  • इम्बेडेड समाधान इन्जिनियर (ESE)
  • प्राविधिक समर्थन

ग्राहकहरूले समर्थनको लागि आफ्नो वितरक, प्रतिनिधि वा ESE लाई सम्पर्क गर्नुपर्छ। स्थानीय बिक्री कार्यालयहरू पनि ग्राहकहरूलाई मद्दत गर्न उपलब्ध छन्। यस कागजातमा बिक्री कार्यालय र स्थानहरूको सूची समावेश गरिएको छ।
प्राविधिक सहयोग मार्फत उपलब्ध छ webसाइट मा: www.microchip.com/support
माइक्रोचिप उपकरण कोड सुरक्षा सुविधा
माइक्रोचिप उत्पादनहरूमा कोड सुरक्षा सुविधाको निम्न विवरणहरू नोट गर्नुहोस्:

  • माइक्रोचिप उत्पादनहरूले तिनीहरूको विशेष माइक्रोचिप डेटा पानामा समावेश विशिष्टताहरू पूरा गर्दछ।
  • Microchip ले विश्वास गर्छ कि यसको उत्पादनहरु को परिवार सुरक्षित छ जब अभिप्रेत तरिकामा प्रयोग गरिन्छ, सञ्चालन विनिर्देशहरु भित्र, र सामान्य अवस्थामा।
  • माइक्रोचिप मान र आक्रामक रूपमा यसको बौद्धिक सम्पत्ति अधिकारहरूको रक्षा गर्दछ। माइक्रोचिप उत्पादनको कोड सुरक्षा सुविधाहरू उल्लङ्घन गर्ने प्रयासहरू कडा रूपमा निषेध गरिएको छ र डिजिटल मिलेनियम प्रतिलिपि अधिकार ऐन उल्लङ्घन गर्न सक्छ।
  • न त माइक्रोचिप वा कुनै अन्य अर्धचालक निर्माताले यसको कोडको सुरक्षाको ग्यारेन्टी गर्न सक्छ। कोड सुरक्षाको मतलब यो होइन कि हामीले उत्पादन "अनब्रेक्बल" छ भनेर ग्यारेन्टी गरिरहेका छौं।
    कोड सुरक्षा निरन्तर विकसित हुँदैछ। Microchip हाम्रा उत्पादनहरूको कोड सुरक्षा सुविधाहरू निरन्तर सुधार गर्न प्रतिबद्ध छ।

कानूनी सूचना
यो प्रकाशन र यहाँको जानकारी माइक्रोचिप उत्पादनहरूमा मात्र प्रयोग गर्न सकिन्छ, डिजाइन, परीक्षण, र माइक्रोचिप उत्पादनहरू तपाईंको अनुप्रयोगसँग एकीकृत गर्न सहित। कुनै पनि अन्य तरिकामा यो जानकारीको प्रयोगले यी सर्तहरूको उल्लङ्घन गर्दछ। यन्त्र अनुप्रयोगहरू सम्बन्धी जानकारी तपाईंको सुविधाको लागि मात्र प्रदान गरिएको छ र अद्यावधिकहरूद्वारा हटाइएको हुन सक्छ। यो सुनिश्चित गर्न को लागी तपाइँको जिम्मेवारी हो कि तपाइँको आवेदन तपाइँको विशिष्टताहरु संग मिल्छ। अतिरिक्त समर्थनको लागि आफ्नो स्थानीय माइक्रोचिप बिक्री कार्यालयमा सम्पर्क गर्नुहोस् वा, मा अतिरिक्त समर्थन प्राप्त गर्नुहोस् www.microchip.com/en-us/support/design-help/client-support-services.
यो जानकारी माइक्रोचिप "जस्तो छ" द्वारा प्रदान गरिएको हो। MICROCHIP ले कुनै पनि प्रकारको कुनै प्रतिनिधित्व वा वारेन्टी गर्दैन, चाहे अभिव्यक्त वा निहित, लिखित वा मौखिक, वैधानिक वा अन्यथा, जानकारीसँग सम्बन्धित तर सीमित रूपमा सीमित छैन। गैर-उल्लंघन, व्यापारिकता, र एक विशेष उद्देश्यको लागि फिटनेस, वा यसको अवस्था, गुणस्तर, वा कार्यसम्पादनसँग सम्बन्धित वारेन्टीहरू।
कुनै पनि हालतमा माइक्रोसिप कुनै पनि अप्रत्यक्ष, विशेष, दण्डात्मक, आकस्मिक, वा परिणामात्मक हानि, क्षति, लागत, वा कुनै पनि प्रकारको खर्चको लागि उत्तरदायी हुनेछैन जुन पनि USMEWETUS सम्बन्धी, MICROCHIP लाई सम्भाव्यताको बारेमा सल्लाह दिइएको भए पनि वा क्षतिहरू अनुमानित छन्। कानूनद्वारा अनुमति दिइएको पूर्ण हदसम्म, जानकारी वा यसको प्रयोगसँग सम्बन्धित कुनै पनि हिसाबले सबै दावीहरूमा माइक्रोचिपको पूर्ण दायित्वले शुल्कको रकम भन्दा बढि हुने छैन, यदि कुनै पनि भएमा, जानकारीको लागि माइक्रोचिप।
जीवन समर्थन र/वा सुरक्षा अनुप्रयोगहरूमा माइक्रोचिप यन्त्रहरूको प्रयोग पूर्ण रूपमा क्रेताको जोखिममा हुन्छ, र क्रेता कुनै पनि र सबै क्षतिहरू, दावीहरू, सूटहरू, वा त्यस्ता प्रयोगको परिणामस्वरूप खर्चहरूबाट हानिरहित माइक्रोचिपलाई रक्षा गर्न, क्षतिपूर्ति गर्न र होल्ड गर्न सहमत हुन्छन्। कुनै पनि माइक्रोचिप बौद्धिक सम्पदा अधिकार अन्तर्गत कुनै पनि इजाजतपत्र, अस्पष्ट वा अन्यथा, अन्यथा भनिएको छैन।
ट्रेडमार्कहरू
माइक्रोचिपको नाम र लोगो, माइक्रोचिप लोगो, Adaptec, AVR, AVR लोगो, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, MACHLX, MACHLX, Kleuch MediaLB, megaAVR, Microsemi, Microsemi लोगो, MOST, MOST लोगो, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 लोगो, PolarFire, Prochip डिजाइनर, QTouch, SAM-BA, SenGenuity, SpyNIC, SAM-BA, SenGenuity, SpyNIC, SAM-BA, SuperSymt, SFYMST , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, र XMEGA संयुक्त राज्य अमेरिका र अन्य देशहरूमा माइक्रोचिप टेक्नोलोजीको दर्ता ट्रेडमार्कहरू हुन्।
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 लोगो, Quiuset Smart-Wire SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, र ZL संयुक्त राज्य अमेरिका मा माइक्रोचिप टेक्नोलोजी को दर्ता ट्रेडमार्क हो।
आसन्न कुञ्जी दमन, AKS, एनालग-फर-द-डिजिटल उमेर, कुनै पनि क्यापेसिटर, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoAuthentication, CryptoAutomotive, Cryptoemtoomnic, CCDPIMtoomspan, CDPIMtoomspan, CDPI, CDPI,,, , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-chip Connectivity, JitterBlocker, Knob-on-Display, Kopto,View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB प्रमाणित लोगो, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, सुपरस्विचर,
SuperSwitcher II, Switchtec, Synchrophy, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, र ZENA Microchip Technology Incorporated का ट्रेडमार्क हुन्
संयुक्त राज्य अमेरिका र अन्य देशहरूमा।
SQTP संयुक्त राज्य अमेरिका मा माइक्रोचिप टेक्नोलोजी को एक सेवा चिन्ह हो
Adaptec लोगो, फ्रिक्वेन्सी अन डिमान्ड, सिलिकन स्टोरेज टेक्नोलोजी, र Symmcom अन्य देशहरूमा माइक्रोचिप टेक्नोलोजी इन्कका दर्ता ट्रेडमार्क हुन्।
GestIC माइक्रोचिप टेक्नोलोजी जर्मनी II GmbH & Co. KG को दर्ता गरिएको ट्रेडमार्क हो, माइक्रोचिप टेक्नोलोजी इन्कको सहायक कम्पनी, अन्य देशहरूमा।
यहाँ उल्लेख गरिएका अन्य सबै ट्रेडमार्कहरू तिनीहरूको सम्बन्धित कम्पनीहरूको सम्पत्ति हुन्।
© 2023, Microchip Technology Incorporated र यसका सहायक कम्पनीहरू। सबै अधिकार सुरक्षित।
ISBN: 978-1-6683-3694-6
गुणस्तर व्यवस्थापन प्रणाली
माइक्रोचिपको गुणस्तर व्यवस्थापन प्रणालीको बारेमा जानकारीको लागि, कृपया भ्रमण गर्नुहोस् www.microchip.com/quality।

अमेरिका एशिया/प्यासिफिक एशिया/प्यासिफिक युरोप
कर्पोरेट कार्यालय
2355 West Chandler Blvd।
Chandler, AZ 85224-6199
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
प्राविधिक समर्थन:
www.microchip.com/support
Web ठेगाना:
www.microchip.com
एटलान्टा
डुलुथ, GA
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
अस्टिन, TX
टेलिफोन: ८००-५५५-०१९९
बोस्टन
वेस्टबरो, एमए
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
शिकागो
Itasca, IL
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
डलास
एडिसन, TX
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
डेट्रोइट
नोभि, एमआई
टेलिफोन: ८००-५५५-०१९९
ह्युस्टन, TX
टेलिफोन: ८००-५५५-०१९९
इन्डियानापोलिस
Noblesville, IN
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
टेलिफोन: ८००-५५५-०१९९
लस एन्जलस
मिशन भिजो, CA
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
टेलिफोन: ८००-५५५-०१९९
Raleigh, NC
टेलिफोन: ८००-५५५-०१९९
न्यूयोर्क, NY
टेलिफोन: ८००-५५५-०१९९
सान जोस, CA
टेलिफोन: ८००-५५५-०१९९
टेलिफोन: ८००-५५५-०१९९
क्यानडा - टोरन्टो
टेलिफोन: ८००-५५५-०१९९
फ्याक्स: ८००-५५५-०१९९
अस्ट्रेलिया - सिड्नी
टेलिफोन: ६१-२-९८६८-६७३३
चीन - बेइजिङ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - चेङ्दु
टेलिफोन: ६१-२-९८६८-६७३३
चीन - चोङकिङ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - डोंगगुआन
टेलिफोन: ६१-२-९८६८-६७३३
चीन - ग्वांगझाउ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - हांग्जाउ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - हङकङ SAR
टेलिफोन: ८६-१०-८५६९
चीन - नान्जिङ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - किंगदाओ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - सांघाई
टेलिफोन: ६१-२-९८६८-६७३३
चीन - शेनयाङ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - शेन्जेन
टेलिफोन: ६१-२-९८६८-६७३३
चीन - सुजाउ
टेलिफोन: ६१-२-९८६८-६७३३
चीन - वुहान
टेलिफोन: ६१-२-९८६८-६७३३
चीन - सियान
टेलिफोन: ६१-२-९८६८-६७३३
चीन - सियामेन
टेलिफोन: ८६-१०-८५६९
चीन - Zhuhai
टेलिफोन: ८६-१०-८५६९
भारत - बैंगलोर
टेलिफोन: ६१-२-९८६८-६७३३
भारत - नयाँ दिल्ली
टेलिफोन: ६१-२-९८६८-६७३३
भारत - पुणे
टेलिफोन: ६१-२-९८६८-६७३३
जापान - ओसाका
टेलिफोन: ६१-२-९८६८-६७३३
जापान - टोकियो
टेलिफोन: ८१-३-६८८०-३७७०
कोरिया - डेगु
टेलिफोन: ६१-२-९८६८-६७३३
कोरिया - सियोल
टेलिफोन: ६१-२-९८६८-६७३३
मलेसिया - क्वालालम्पुर
टेलिफोन: ६१-२-९८६८-६७३३
मलेसिया - पेनाङ
टेलिफोन: ६१-२-९८६८-६७३३
फिलिपिन्स - मनिला
टेलिफोन: ६१-२-९८६८-६७३३
सिङ्गापुर
टेलिफोन: ८६-१०-८५६९
ताइवान - सिन चु
टेलिफोन: ६१-२-९८६८-६७३३
ताइवान - काओसिङ
टेलिफोन: ६१-२-९८६८-६७३३
ताइवान - ताइपेई
टेलिफोन: ६१-२-९८६८-६७३३
थाइल्याण्ड - बैंकक
टेलिफोन: ६१-२-९८६८-६७३३
भियतनाम - हो ची मिन्ह
टेलिफोन: ६१-२-९८६८-६७३३
अस्ट्रिया - वेल्स
टेलिफोन: ६१-२-९८६८-६७३३
फ्याक्स: ४३-७२४२-२२४४-३९३
डेनमार्क - कोपेनहेगन
टेलिफोन: ८६-१०-८५६९
फ्याक्स: ४५-४४८५-२८२९
फिनल्याण्ड - एस्पो
टेलिफोन: ६१-२-९८६८-६७३३
फ्रान्स - पेरिस
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
जर्मनी - Garching
टेलिफोन: ८६-१०-८५६९
जर्मनी - हान
टेलिफोन: ८६-१०-८५६९
जर्मनी - Heilbronn
टेलिफोन: ८६-१०-८५६९
जर्मनी - कार्ल्सरुहे
टेलिफोन: ८६-१०-८५६९
जर्मनी - म्युनिख
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
जर्मनी - रोजेनहेम
टेलिफोन: ६१-२-९८६८-६७३३
इजरायल - रानाना
टेलिफोन: ६१-२-९८६८-६७३३
इटाली - मिलान
टेलिफोन: ८६-१०-८५६९
फ्याक्स: ४५-४४८५-२८२९
इटाली - पाडोभा
टेलिफोन: ८६-१०-८५६९
नेदरल्याण्ड्स - ड्रुनेन
टेलिफोन: ८६-१०-८५६९
फ्याक्स: ४५-४४८५-२८२९
नर्वे - ट्रोन्डहेम
टेलिफोन: ४७-७२८८४३८८
पोल्याण्ड - वार्सा
टेलिफोन: ८६-१०-८५६९
रोमानिया - बुखारेस्ट
Tel: 40-21-407-87-50
स्पेन - म्याड्रिड
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
स्वीडेन - गोटेनबर्ग
Tel: 46-31-704-60-40
स्वीडेन - स्टकहोम
टेलिफोन: ६१-२-९८६८-६७३३
UK - Wokingham
टेलिफोन: ६१-२-९८६८-६७३३
फ्याक्स: ४३-७२४२-२२४४-३९३

माइक्रोचिप लोगो© 2023 Microchip Technology Inc. र यसका सहायक कम्पनीहरू
DS50003627A -

कागजातहरू / स्रोतहरू

MICROCHIP Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर [pdf] प्रयोगकर्ता गाइड
DS50003627A, Libero SoC सिमुलेशन लाइब्रेरी सफ्टवेयर, SoC सिमुलेशन लाइब्रेरी सफ्टवेयर, सिमुलेशन लाइब्रेरी सफ्टवेयर, लाइब्रेरी सफ्टवेयर, सफ्टवेयर

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *