Libero SoC সিমুলেশন
লাইব্রেরি সেটআপ নির্দেশাবলী
ভূমিকা
এই নথির উদ্দেশ্য হল ইনপুট হিসাবে একটি Libero SoC প্রকল্প ব্যবহার করে সিমুলেশন পরিবেশ সেট আপ করার পদ্ধতি বর্ণনা করা। এই ডকুমেন্টেশনটি Libero SoC v11.9 এবং নতুন সফ্টওয়্যার রিলিজের সাথে ব্যবহারের জন্য প্রদত্ত প্রাক-সংকলিত লাইব্রেরির সাথে মিলে যায়। প্রদত্ত লাইব্রেরিগুলি ভেরিলগের জন্য সংকলিত হয়। VHDL ব্যবহারকারীদের মিশ্র-মোড সিমুলেশনের অনুমতি দেয় এমন একটি লাইসেন্স প্রয়োজন।
সংকলিত সিমুলেশন লাইব্রেরিগুলি নিম্নলিখিত সরঞ্জামগুলির জন্য উপলব্ধ:
- অ্যালডেক অ্যাক্টিভ-এইচডিএল
- Aldec Riviera-PRO
- ক্যাডেন্স ইনসিসিভ এন্টারপ্রাইজ এবং এক্সসেলিয়াম
- সিমেন্স কোয়েস্টাসিম
- সিনোপসিস ভিসিএস
একটি ভিন্ন সিমুলেটরের জন্য একটি লাইব্রেরি অনুরোধ করতে, যোগাযোগ করুন মাইক্রোচিপ প্রযুক্তিগত সহায়তা.
Libero SoC ইন্টিগ্রেশন
Libero SoC একটি run.do তৈরি করে ModelSim ME ব্যবহার করে সিমুলেশন সমর্থন করে file. এই file মডেলসিম ME/ModelSim Pro ME দ্বারা সিমুলেশন সেট আপ এবং চালানোর জন্য ব্যবহৃত হয়। অন্যান্য সিমুলেশন টুল ব্যবহার করতে, আপনি ModelSim ME/ModelSim Pro ME run.do তৈরি করতে পারেন এবং Tcl স্ক্রিপ্ট পরিবর্তন করতে পারেন file আপনার সিমুলেটরের সাথে সামঞ্জস্যপূর্ণ কমান্ডগুলি ব্যবহার করতে।
1.1 Libero SoC Tcl File প্রজন্ম (একটি প্রশ্ন জিজ্ঞাসা করুন)
Libero SoC-তে ডিজাইন তৈরি এবং তৈরি করার পরে, সমস্ত ডিজাইনের ধাপে (প্রেসসিন্থ, পোস্টসিন্থ এবং পোস্ট-লেআউট) একটি মডেলসিম ME/ModelSim Pro ME সিমুলেশন শুরু করুন। এই ধাপটি run.do তৈরি করে file মডেলসিম ME/ModelSim Pro ME-এর জন্য প্রতিটি ডিজাইন পর্বের জন্য।
গুরুত্বপূর্ণ: প্রতিটি সিমুলেশন রান শুরু করার পরে, স্বয়ংক্রিয়ভাবে তৈরি run.do-এর নাম পরিবর্তন করুন file Libero SoC কে ওভাররাইট করা থেকে আটকাতে সিমুলেশন ডিরেক্টরির অধীনে file. প্রাক্তন জন্যampলে, files এর নাম পরিবর্তন করে presynth_run.do, postsynth_run.do এবং postlayout_run.do করা যেতে পারে।
অ্যাক্টিভ-এইচডিএল এবং রিভেরা-প্রোর জন্য অ্যালডেক সেটআপ (একটি প্রশ্ন জিজ্ঞাসা করুন)
রান. করতে file ModelSim ME/ModelSim Pro ME দ্বারা ব্যবহৃত Aldec সিমুলেটর ব্যবহার করে সিমুলেশনের জন্য পরিবর্তন করা যেতে পারে।
2.1 পরিবেশ পরিবর্তনশীল (একটি প্রশ্ন জিজ্ঞাসা করুন)
আপনার লাইসেন্সে আপনার পরিবেশ পরিবর্তনশীল সেট করুন file অবস্থান:
LM_LICENSE_FILE: লাইসেন্স সার্ভারে একটি পয়েন্টার অন্তর্ভুক্ত করতে হবে।
2.2 কম্পাইল করা লাইব্রেরি ডাউনলোড করুন (একটি প্রশ্ন জিজ্ঞাসা করুন)
মাইক্রোচিপ থেকে Aldec Active-HDL এবং Aldec Riviera-PRO-এর জন্য লাইব্রেরি ডাউনলোড করুন webসাইট
2.3 Aldec সিমুলেশনের জন্য run.do রূপান্তর করা (একটি প্রশ্ন জিজ্ঞাসা করুন)
রান. করতে fileActive-HDL এবং Riviera-Pro টুল ব্যবহার করে সিমুলেশনের জন্য Libero SoC দ্বারা জেনারেট করা s একক পরিবর্তনের সাথে Active-HDL এবং Riviera-Pro ব্যবহার করে সিমুলেশনের জন্য ব্যবহার করা যেতে পারে। নিম্নোক্ত সারণী মডেলসিম run.do-তে পরিবর্তন করার জন্য Aldec-সমতুল্য কমান্ড তালিকাভুক্ত করে file.
টেবিল 2-1। Aldec সমতুল্য কমান্ড
মডেলসিম | সক্রিয়-এইচডিএল |
vlog | একটি লগ |
vcom | acom |
vlib | আলিব |
vsim | আসিম |
vmap | amap |
নিম্নলিখিত একটি এসample run.do অ্যালডেক সিমুলেটর সম্পর্কিত।
- বর্তমান কাজের ডিরেক্টরির অবস্থান সেট করুন।
ডিএসএন সেট করুন - একটি কার্যকরী লাইব্রেরির নাম সেট করুন, এর অবস্থান ম্যাপ করুন এবং তারপরে মাইক্রোচিপ এফপিজিএ পরিবারের অবস্থান ম্যাপ করুন
প্রি-কম্পাইল করা লাইব্রেরি (উদাহরণস্বরূপample, SmartFusion2) যার উপর আপনি আপনার ডিজাইন চালাচ্ছেন।
আলিব প্রেসিন্থ
amap presynth presynth
amap SmartFusion2 - সমস্ত প্রয়োজনীয় এইচডিএল কম্পাইল করুন fileপ্রয়োজনীয় লাইব্রেরি সহ ডিজাইনে ব্যবহৃত হয়।
alog -work presynth temp.v (ভেরিলগের জন্য)
alog-work presynth testbench.v
acom -work presynth temp.vhd (Vhdl এর জন্য)
acom-work presynth testbench.vhd - নকশা অনুকরণ.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10us চালান
2.4 পরিচিত সমস্যা (একটি প্রশ্ন জিজ্ঞাসা করুন)
এই বিভাগে পরিচিত সমস্যা এবং সীমাবদ্ধতা তালিকা.
- Riviera-PRO ব্যবহার করে সংকলিত লাইব্রেরিগুলি প্ল্যাটফর্ম নির্দিষ্ট (যেমন 64-বিট লাইব্রেরিগুলি 32-বিট প্ল্যাটফর্মে চালানো যায় না এবং এর বিপরীতে)।
- SERDES/MDDR/FDDR ধারণকারী ডিজাইনের জন্য, আপনার run.do-তে নিম্নলিখিত বিকল্পটি ব্যবহার করুন files তাদের ডিজাইন কম্পাইল করার পরে সিমুলেশন চালানোর সময়:
- সক্রিয়-এইচডিএল: আসিম -o2
– Riviera-PRO: asim –O2 (প্রেসসিন্থ এবং পোস্ট-লেআউট সিমুলেশনের জন্য) এবং আসিম –O5 (লেআউট-পরবর্তী সিমুলেশনের জন্য)
Active-HDL এবং Riviera-Pro-এর জন্য Aldec সেটআপে নিম্নলিখিত মুলতুবি থাকা SAR আছে। আরো তথ্যের জন্য যোগাযোগ মাইক্রোচিপ প্রযুক্তিগত সহায়তা. - SAR 49908 - অ্যাক্টিভ-এইচডিএল: ম্যাথ ব্লক সিমুলেশনের জন্য ভিএইচডিএল ত্রুটি
- SAR 50627 – Riviera-PRO 2013.02: SERDES ডিজাইনের জন্য সিমুলেশন ত্রুটি
- SAR 50461 – Riviera-PRO: সিমুলেশনে asim -O2/-O5 বিকল্প
ক্যাডেন্স ইনসিসিভ সেটআপ (একটি প্রশ্ন জিজ্ঞাসা করুন)
আপনাকে একটি স্ক্রিপ্ট তৈরি করতে হবে file ModelSim ME/ModelSim Pro ME run.do এর মতোই চালাতে পারেন
ক্যাডেন্স ইনসিসিভ সিমুলেটর। এই পদক্ষেপগুলি অনুসরণ করুন এবং স্ক্রিপ্ট তৈরি করুন file NCSim এর জন্য বা স্ক্রিপ্ট ব্যবহার করুন file
ModelSim ME/ModelSim Pro ME run.do রূপান্তর করার জন্য প্রদান করা হয়েছে৷ fileকনফিগারেশনে s files
NCSim ব্যবহার করে সিমুলেশন চালানোর জন্য প্রয়োজন।
গুরুত্বপূর্ণ: ক্যাডেন্স ইনসিসিভ এন্টারপ্রাইজের নতুন সংস্করণ প্রকাশ করা বন্ধ করে দিয়েছে
সিমুলেটর এবং Xcelium সিমুলেটর সমর্থন করা শুরু করে।
3.1 এনভায়রনমেন্ট ভেরিয়েবল (একটি প্রশ্ন জিজ্ঞাসা করুন)
ক্যাডেন্স ইনসিসিভ সিমুলেটর চালানোর জন্য, নিম্নলিখিত পরিবেশ ভেরিয়েবলগুলি কনফিগার করুন:
- LM_LICENSE_FILE: লাইসেন্সে একটি পয়েন্টার অন্তর্ভুক্ত করতে হবে file.
- cds_root: ক্যাডেন্স ইনসিসিভ ইন্সটলেশনের হোম ডিরেক্টরির অবস্থান নির্দেশ করতে হবে।
- PATH: অবশ্যই cds_root দ্বারা নির্দেশিত টুল ডিরেক্টরির অধীনে বিন অবস্থান নির্দেশ করতে হবে,
$cds_root/tools/bin/64bit (একটি 64-বিট মেশিনের জন্য এবং $cds_root/tools/bin একটি 32-বিট মেশিনের জন্য)।
64-বিট এবং 32-বিট অপারেটিং সিস্টেমের মধ্যে একটি স্যুইচের ক্ষেত্রে সিমুলেশন পরিবেশ সেট আপ করার তিনটি উপায় রয়েছে:
কেস 1: PATH পরিবর্তনশীল
নিম্নলিখিত কমান্ড চালান:
64 বিট মেশিনের জন্য পথ = (install_dir/tools/bin/64bit $path) সেট করুন এবং
32 বিট মেশিনের জন্য পথ = (install_dir/tools/bin $path) সেট করুন
কেস 2: -64 বিট কমান্ড-লাইন বিকল্পটি ব্যবহার করা
64bit এক্সিকিউটেবল চালু করার জন্য কমান্ড-লাইনে -64bit বিকল্পটি উল্লেখ করুন।
কেস 3: INCA_64BIT বা CDS_AUTO_64BIT এনভায়রনমেন্ট ভেরিয়েবল সেট করা
INCA_64BIT ভেরিয়েবলটিকে বুলিয়ান হিসাবে বিবেচনা করা হয়। আপনি এই ভেরিয়েবলটিকে যেকোনো মান বা নাল স্ট্রিং-এ সেট করতে পারেন।
setenv INCA_64BIT
গুরুত্বপূর্ণ: The INCA_64BIT এনভায়রনমেন্ট ভেরিয়েবল অন্যান্য ক্যাডেন্স টুলকে প্রভাবিত করে না, যেমন IC টুল। যাইহোক, ইনসিসিভ টুলের জন্য, INCA_64BIT ভেরিয়েবল CDS_AUTO_64BIT এনভায়রনমেন্ট ভেরিয়েবলের সেটিং ওভাররাইড করে। INCA_64BIT এনভায়রনমেন্ট ভেরিয়েবল সেট করা থাকলে, সমস্ত ইনসিসিভ টুল 64-বিট মোডে চলে। setenv CDS_AUTO_64BIT অন্তর্ভুক্ত:INCA
গুরুত্বপূর্ণ: The স্ট্রিং INCA অবশ্যই বড় হাতের অক্ষরে হতে হবে। সমস্ত এক্সিকিউটেবল অবশ্যই 32-বিট মোডে বা 64-বিট মোডে চালাতে হবে, নিম্নলিখিতগুলির মতো একটি এক্সিকিউটেবল অন্তর্ভুক্ত করার জন্য ভেরিয়েবল সেট করবেন না:
setenv CDS_AUTO_64BIT অন্তর্ভুক্ত:ncelab
অন্যান্য ক্যাডেন্স টুল, যেমন IC টুল, এছাড়াও 64-বিট বা 32-বিট এক্সিকিউটেবল নির্বাচন নিয়ন্ত্রণ করতে CDS_AUTO_64BIT এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে। নিচের সারণীটি দেখায় কিভাবে আপনি CDS_AUTO_64BIT ভেরিয়েবল সেট করতে পারেন যাতে সমস্ত মোডে ইনসিসিভ টুল এবং IC টুল চালানো যায়।
টেবিল 3-1। CDS_AUTO_64BIT ভেরিয়েবল
CDS_AUTO_64BIT পরিবর্তনশীল | ইনসিসিভ টুলস | আইসি টুলস |
setenv CDS_AUTO_64BIT সব | 64 বিট | 64 বিট |
setenv CDS_AUTO_64BIT কোনোটিই নয় | 32 বিট | 32 বিট |
setenv CDS_AUTO_64BIT বাদ:ic_binary | 64 বিট | 32 বিট |
setenv CDS_AUTO_64BIT বাদ দিন:INCA | 32 বিট | 64 বিট |
গুরুত্বপূর্ণ: সমস্ত ইনসিসিভ টুল অবশ্যই 32-বিট মোডে বা 64-বিট মোডে চালাতে হবে, একটি নির্দিষ্ট এক্সিকিউটেবল বাদ দিতে EXCLUDE ব্যবহার করবেন না, যেমনটি নিম্নরূপ: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
আপনি যদি CDS_AUTO_64BIT ভেরিয়েবল সেট করেন ইনসিসিভ টুলগুলিকে বাদ দিতে (setenv CDS_AUTO_64BIT বাদ:INCA), সমস্ত ইনসিসিভ টুল 32-বিট মোডে চালানো হয়। যাইহোক, -64bit কমান্ড-লাইন বিকল্পটি পরিবেশ পরিবর্তনশীলকে ওভাররাইড করে।
নিম্নলিখিত কনফিগারেশন files আপনাকে আপনার ডেটা পরিচালনা করতে এবং সিমুলেশন টুল এবং ইউটিলিটিগুলির ক্রিয়াকলাপ নিয়ন্ত্রণ করতে সহায়তা করে:
- লাইব্রেরি ম্যাপিং file (cds.lib)-আপনার ডিজাইনের অবস্থানের জন্য একটি যৌক্তিক নাম সংজ্ঞায়িত করে।
- লাইব্রেরি এবং তাদের ফিজিক্যাল ডিরেক্টরি নামের সাথে সংযুক্ত করে।
- ভেরিয়েবল file (hdl.var)- সিমুলেশন টুল এবং ইউটিলিটিগুলির আচরণকে প্রভাবিত করে এমন ভেরিয়েবলের সংজ্ঞা দেয়।
3.2 কম্পাইল করা লাইব্রেরি ডাউনলোড করুন (একটি প্রশ্ন জিজ্ঞাসা করুন)
Microsemi's থেকে Cadence Incisive-এর জন্য লাইব্রেরিগুলি ডাউনলোড করুন webসাইট
3.3 NCSim স্ক্রিপ্ট তৈরি করা File (একটি প্রশ্ন জিজ্ঞাসা করুন)
run.do এর একটি কপি তৈরি করার পর files, NCSim ব্যবহার করে আপনার সিমুলেশন চালানোর জন্য এই পদক্ষেপগুলি সম্পাদন করুন:
- একটি cds.lib তৈরি করুন file যা অ্যাক্সেসযোগ্য গ্রন্থাগার এবং তাদের অবস্থান নির্ধারণ করে। দ্য file বিবৃতি ধারণ করে যেগুলি লাইব্রেরির লজিক্যাল নামগুলিকে তাদের ফিজিক্যাল ডিরেক্টরি পাথে ম্যাপ করে। প্রাক্তন জন্যample, আপনি presynth সিমুলেশন চালাচ্ছেন, cds.lib file নিম্নলিখিত কোডব্লক হিসাবে দেখানো হয়েছে.
presynth ./presynth সংজ্ঞায়িত করুন
COREAHBLITE_LIB ./COREAHBLITE_LIB সংজ্ঞায়িত করুন৷
স্মার্টফিউশন সংজ্ঞায়িত করুন2 - একটি hdl.var তৈরি করুন file, একটি ঐচ্ছিক কনফিগারেশন file যেটিতে কনফিগারেশন ভেরিয়েবল রয়েছে, যা আপনার ডিজাইনের পরিবেশ কীভাবে কনফিগার করা হয়েছে তা নির্ধারণ করে। নিম্নলিখিত পরিবর্তনশীল files অন্তর্ভুক্ত করা হয়:
– ভেরিয়েবল যেগুলি কাজের লাইব্রেরি নির্দিষ্ট করতে ব্যবহৃত হয় যেখানে কম্পাইলার কম্পাইল করা বস্তু এবং অন্যান্য প্রাপ্ত ডেটা সঞ্চয় করে।
- ভেরিলগ, ভেরিয়েবলের জন্য (LIB_MAP, VIEW_MAP, WORK) যা লাইব্রেরি নির্দিষ্ট করতে ব্যবহৃত হয় এবং views অনুসন্ধান করতে যখন elaborator দৃষ্টান্তগুলি সমাধান করে।
– ভেরিয়েবল যা আপনাকে কম্পাইলার, এলাবোরেটর এবং সিমুলেটর কমান্ড-লাইন অপশন এবং আর্গুমেন্ট নির্ধারণ করতে দেয়।
presynth সিমুলেশন ক্ষেত্রে exampলে উপরে দেখানো হয়েছে, বলুন আমাদের তিনটি আরটিএল আছে files: av, bv, এবং testbench.v, যা যথাক্রমে presynth, COREAHBLITE_LIB, এবং presynth লাইব্রেরিতে কম্পাইল করা প্রয়োজন। hdl.var file নিচের কোডব্লকে দেখানো হিসাবে লেখা যেতে পারে।
কাজ presynth সংজ্ঞায়িত
PROJECT_DIR সংজ্ঞায়িত করুন files>
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, + => presynth ) - ডিজাইন কম্পাইল করুন filencvlog বিকল্প ব্যবহার করে।
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log -আপডেট -লাইনডিবাগ এভি bv testbench.v - ncelab ব্যবহার করে নকশা বিস্তারিত করুন। এলাবোরেটর ডিজাইনের ইনস্ট্যান্টেশন এবং কনফিগারেশন তথ্যের উপর ভিত্তি করে একটি ডিজাইনের অনুক্রম তৈরি করে, সিগন্যাল সংযোগ স্থাপন করে এবং ডিজাইনের সমস্ত বস্তুর জন্য প্রাথমিক মান গণনা করে। বিস্তৃত নকশা অনুক্রম একটি সিমুলেশন স্ন্যাপশটে সংরক্ষণ করা হয়, যা আপনার ডিজাইনের উপস্থাপনা যা সিমুলেটরটি সিমুলেশন চালানোর জন্য ব্যবহার করে।
ncelab –বার্তা –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
অ্যাক্সেস +আরডব্লিউসি-স্ট্যাটাস ওয়ার্কলিব। : মডিউল
পোস্ট-লেআউট সিমুলেশনের সময় বিশদ বিবরণ
পোস্ট-লেআউট সিমুলেশনের ক্ষেত্রে, প্রথমে SDF file ncsdfc কমান্ড ব্যবহার করে বিস্তারিত বর্ণনা করার আগে কম্পাইল করা প্রয়োজন।
ncsdfcfileনাম>.এসডিএফ -আউটপুটfileনাম>.sdf.X
বিস্তারিত করার সময় নিচের কোডব্লকে দেখানো হিসাবে –autosdf বিকল্পের সাথে সংকলিত SDF আউটপুট ব্যবহার করুন।
ncelab -autosdf –বার্তা –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax
15 -অ্যাক্সেস +rwc -স্ট্যাটাস ওয়ার্কলিব। : মডিউল -sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file নিম্নলিখিত কোডব্লক হিসাবে দেখানো আবশ্যক।
COMPILED_SDF_FILE = “ file>" - ncsim ব্যবহার করে অনুকরণ করুন। বিস্তারিত করার পর একটি সিমুলেশন স্ন্যাপশট তৈরি করা হয়, যা সিমুলেশনের জন্য ncsim দ্বারা লোড করা হয়। আপনি ব্যাচ মোড বা GUI মোডে চালাতে পারেন।
ncsim –বার্তা –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
errormax 15 - স্ট্যাটাস ওয়ার্কলিব। : মডিউল
গুরুত্বপূর্ণ: সংকলন, বিস্তারিত এবং অনুকরণের উপরের তিনটি ধাপ একটি শেল স্ক্রিপ্টে রাখা যেতে পারে file এবং কমান্ড লাইন থেকে প্রাপ্ত. এই তিনটি ধাপ ব্যবহার না করে, নিচের কোডব্লকের মতো ncverilog বা irun বিকল্প ব্যবহার করে এক ধাপে নকশা সিমুলেট করা যেতে পারে।
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files ডিজাইনে ব্যবহৃত হয়>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
ডিজাইনে ব্যবহৃত হয়>
3.3.1 পরিচিত সমস্যা (একটি প্রশ্ন জিজ্ঞাসা করুন)
টেস্টবেঞ্চ ওয়ার্কআউন্ড
ব্যবহারকারীর দ্বারা উত্পন্ন টেস্টবেঞ্চে ঘড়ির ফ্রিকোয়েন্সি নির্দিষ্ট করার জন্য নিম্নলিখিত বিবৃতিটি ব্যবহার করা বা Libero SoC দ্বারা উত্পন্ন ডিফল্ট টেস্টবেঞ্চ NCSim এর সাথে কাজ করে না।
সর্বদা @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
সিমুলেশন চালানোর জন্য নিম্নরূপ পরিবর্তন করুন:
সর্বদা #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
গুরুত্বপূর্ণ: সংকলিত NCSim-এর জন্য লাইব্রেরিগুলি প্ল্যাটফর্ম নির্দিষ্ট (যেমন 64 বিট লাইব্রেরিগুলি 32 বিট প্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ নয় এবং এর বিপরীতে)।
MSS এবং SERDES ব্যবহার করে পোস্ট-সিন্থ এবং পোস্ট-লেআউট সিমুলেশন MSS ব্লক সম্বলিত ডিজাইনের পোস্ট-সিনথ সিমুলেশন বা SERDES ব্যবহার করে ডিজাইনের পোস্ট-লেআউট সিমুলেশন চালানোর সময়, -libmap বিকল্প থাকলে BFM সিমুলেশন কাজ করে না।
বিশদ বিবরণের সময় উল্লেখ করা হয়নি। এর কারণ হল বিস্তারিত করার সময়, MSS ওয়ার্ক লাইব্রেরি থেকে সমাধান করা হয় (ডিফল্ট বাইন্ডিং এবং ওয়ার্কলিব পোস্টসিন্থ/পোস্ট-লেআউট হওয়ার কারণে) যেখানে এটি একটি স্থির ফাংশন।
MSS সমাধান করতে নিম্নলিখিত কোড ব্লকে দেখানো হিসাবে ncelab কমান্ড লিখতে হবে
SmartFusion2 প্রি-কম্পাইল করা লাইব্রেরি থেকে ব্লক করুন।
ncelab -libmap lib.map -libverbose -বার্তা -অ্যাক্সেস +rwc cfg1
এবং lib.map file নিম্নলিখিত হিসাবে হতে হবে:
config cfg1;
নকশা ;
ডিফল্ট liblist smartfusion2 ;
endconfig
এটি ওয়ার্ক লাইব্রেরি অর্থাৎ postsynth/ post-layout দেখার আগে SmartFusion2 লাইব্রেরির যেকোনো ঘরের সমাধান করে।
–libmap বিকল্পটি ডিফল্টরূপে প্রতিটি সিমুলেশনের (presynth, postsynth, এবং post-layout) বিস্তারিত বর্ণনার সময় ব্যবহার করা যেতে পারে। এটি লাইব্রেরি থেকে দৃষ্টান্তের রেজোলিউশনের কারণে সৃষ্ট সিমুলেশন সমস্যাগুলি এড়ায়।
ncelab: *F,INTERR: অভ্যন্তরীণ ব্যতিক্রম
এই ncelab টুল ব্যতিক্রমটি স্মার্টফিউশন 2 এবং IGLOO 2-এ পোস্ট-সিন্থ এবং পোস্ট-লেআউট সিমুলেশনের সময় –libmap বিকল্প ব্যবহার করে FDDR ধারণকারী ডিজাইনের জন্য একটি সতর্কতা।
গুরুত্বপূর্ণ: এই সমস্যাটি ক্যাডেন্স সাপোর্ট টিমকে রিপোর্ট করা হয়েছে (SAR 52113)।
3.4 এস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
কাজ 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 =>
প্রিসিন্থ)
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 =>
প্রিসিন্থ)
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 -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:মডিউল
ncsim -বার্তা -ব্যাচ -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -স্থিতি presynth.testbench:মডিউল
3.5 অটোমেশন (একটি প্রশ্ন জিজ্ঞাসা করুন)
নিম্নলিখিত স্ক্রিপ্ট file ModelSim run.do রূপান্তর করে files কনফিগারেশনে fileNCSim ব্যবহার করে সিমুলেশন চালানোর জন্য প্রয়োজন।
স্ক্রিপ্ট File ব্যবহার
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do মাইক্রোসেমি_ফ্যামিলি
ক্যাডেন্স_প্রি-কম্পাইলড_লাইব্রেরির_অবস্থান
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);
সাব questa_parser {
আমার $ModelSim_run_do = $_[0];
আমার $actel_family = $_[1];
আমার $lib_location = $_[2];
আমার $state;
যদি ( -e “$ModelSim_run_do”)
{
খোলাFILE,"$ModelSim_run_do");
আমার @ModelSim_run_do =FILE>;
আমার $লাইন;
যদি ( $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
\"লাইব্রেরি_লোকেশন\"\n";
}
foreach $line (@ModelSim_run_do)
{
#জেনারেল অপারেশন
$line =~ s/..\/designer.*simulation\///g;
$লাইন =~ s/$state/$state\_questa/g;
#প্রিন্ট আউটFILE "$লাইন \n";
যদি ($লাইন =~ 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";
}
}
বন্ধFILE);
বন্ধ (বাইরেFILE);
} অন্য {
প্রিন্ট “$ModelSim_run_do বিদ্যমান নেই। আবার সিমুলেশন পুনরায় চালান \n”;
}
}
ক্যাডেন্স এক্সেলিয়াম সেটআপ (মাইক্রোচিপ লগইন)
আপনাকে একটি স্ক্রিপ্ট তৈরি করতে হবে file Cadence Xcelium সিমুলেটর চালানোর জন্য ModelSim ME/ModelSim Pro ME run.do-এর মতো। এই পদক্ষেপগুলি অনুসরণ করুন এবং স্ক্রিপ্ট তৈরি করুন file Xcelium এর জন্য বা স্ক্রিপ্ট ব্যবহার করুন file ModelSim ME/ModelSim Pro ME run.do রূপান্তর করার জন্য প্রদান করা হয়েছে৷ fileকনফিগারেশনে s fileXcelium ব্যবহার করে সিমুলেশন চালানোর জন্য প্রয়োজন।
4.1 এনভায়রনমেন্ট ভেরিয়েবল (একটি প্রশ্ন জিজ্ঞাসা করুন)
Cadence Xcelium চালানোর জন্য, নিম্নলিখিত পরিবেশ ভেরিয়েবলগুলি কনফিগার করুন:
- LM_LICENSE_FILE: লাইসেন্সে একটি পয়েন্টার অন্তর্ভুক্ত করতে হবে file.
- cds_root: ক্যাডেন্স ইনসিসিভ ইনস্টলেশনের হোম ডিরেক্টরির অবস্থান নির্দেশ করতে হবে।
- PATH: অবশ্যই cds_root দ্বারা নির্দেশিত টুল ডিরেক্টরির অধীনে বিন অবস্থান নির্দেশ করতে হবে (যেমন
$cds_root/tools/bin/64bit (একটি 64 বিট মেশিনের জন্য এবং $cds_root/tools/bin একটি 32 বিটের জন্য
মেশিন)।
64-বিট এবং 32-বিট অপারেটিং সিস্টেমের মধ্যে একটি স্যুইচের ক্ষেত্রে সিমুলেশন পরিবেশ সেট আপ করার তিনটি উপায় রয়েছে:
কেস 1: PATH পরিবর্তনশীল
64 বিট মেশিনের জন্য পথ = (install_dir/tools/bin/64bit $path) সেট করুন এবং
32 বিট মেশিনের জন্য পথ = (install_dir/tools/bin $path) সেট করুন
কেস 2: -64 বিট কমান্ড-লাইন বিকল্পটি ব্যবহার করা
64-বিট এক্সিকিউটেবল চালু করার জন্য কমান্ড-লাইনে -64bit বিকল্প নির্দিষ্ট করুন।
কেস 3: INCA_64BIT বা CDS_AUTO_64BIT এনভায়রনমেন্ট ভেরিয়েবল সেট করা
INCA_64BIT ভেরিয়েবলটিকে বুলিয়ান হিসাবে বিবেচনা করা হয়। আপনি এই ভেরিয়েবলটিকে যেকোনো মান বা নাল সেট করতে পারেন
স্ট্রিং
setenv INCA_64BIT
গুরুত্বপূর্ণ: The INCA_64BIT এনভায়রনমেন্ট ভেরিয়েবল অন্যান্য ক্যাডেন্স টুলকে প্রভাবিত করে না, যেমন IC টুল। যাইহোক, ইনসিসিভ টুলের জন্য, INCA_64BIT ভেরিয়েবল CDS_AUTO_64BIT এনভায়রনমেন্ট ভেরিয়েবলের সেটিং ওভাররাইড করে। যদি INCA_64BIT এনভায়রনমেন্ট ভেরিয়েবল et হয়, তাহলে সমস্ত ইনসিসিভ টুল 64-বিট মোডে চলে।
setenv CDS_AUTO_64BIT অন্তর্ভুক্ত:INCA
গুরুত্বপূর্ণ: The স্ট্রিং INCA অবশ্যই বড় হাতের অক্ষরে হতে হবে। সমস্ত এক্সিকিউটেবল অবশ্যই 2-বিট মোডে বা 64-বিট মোডে চালাতে হবে, নিম্নলিখিতগুলির মতো একটি এক্সিকিউটেবল অন্তর্ভুক্ত করার জন্য ভেরিয়েবল সেট করবেন না:
setenv CDS_AUTO_64BIT অন্তর্ভুক্ত:ncelab
অন্যান্য ক্যাডেন্স টুল, যেমন IC টুল, এছাড়াও 64-বিট বা 32-বিট এক্সিকিউটেবল নির্বাচন নিয়ন্ত্রণ করতে CDS_AUTO_64BIT এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে। নিচের সারণীটি দেখায় কিভাবে আপনি CDS_AUTO_64BIT ভেরিয়েবল সেট করতে পারেন যাতে সমস্ত মোডে ইনসিসিভ টুল এবং IC টুল চালানো যায়।
টেবিল 4-1। CDS_AUTO_64BIT ভেরিয়েবল
CDS_AUTO_64BIT পরিবর্তনশীল | ইনসিসিভ টুলস | আইসি টুলস |
setenv CDS_AUTO_64BIT সব | 64-বিট | 64-বিট |
setenv CDS_AUTO_64BIT কোনোটিই নয় | 32-বিট | 32-বিট |
setenv CDS_AUTO_64BIT বাদ দিন:ic_binary |
64-বিট | 32-বিট |
setenv CDS_AUTO_64BIT বাদ দিন:INCA | 32-বিট | 64-বিট |
গুরুত্বপূর্ণ: সমস্ত ইনসিসিভ টুল অবশ্যই 32-বিট মোডে বা 64-বিট মোডে চালাতে হবে, একটি নির্দিষ্ট এক্সিকিউটেবল বাদ দিতে EXCLUDE ব্যবহার করবেন না, যেমনটি নিম্নরূপ:
setenv CDS_AUTO_64BIT বাদ:ncelab
যদি আপনি CDS_AUTO_64BIT ভেরিয়েবল সেট করেন incisive টুলগুলি বাদ দিতে (setenv
CDS_AUTO_64BIT বাদ:INCA), সমস্ত ইনসিসিভ টুল 32-বিট মোডে চালিত হয়। তবে
-64 বিট কমান্ড-লাইন বিকল্প পরিবেশ পরিবর্তনশীলকে ওভাররাইড করে।
নিম্নলিখিত কনফিগারেশন files আপনাকে আপনার ডেটা পরিচালনা করতে এবং সিমুলেশন টুল এবং ইউটিলিটিগুলির ক্রিয়াকলাপ নিয়ন্ত্রণ করতে সহায়তা করে:
- লাইব্রেরি ম্যাপিং file (cds.lib) আপনার ডিজাইনের অবস্থানের জন্য একটি যৌক্তিক নাম সংজ্ঞায়িত করে।
- লাইব্রেরি এবং তাদের ফিজিক্যাল ডিরেক্টরি নামের সাথে সংযুক্ত করে।
- ভেরিয়েবল file (hdl.var) ভেরিয়েবলগুলিকে সংজ্ঞায়িত করে যা সিমুলেশন টুল এবং ইউটিলিটিগুলির আচরণকে প্রভাবিত করে।
4.2 কম্পাইল করা লাইব্রেরি ডাউনলোড করুন (একটি প্রশ্ন জিজ্ঞাসা করুন)
Microsemi's থেকে Cadence Xcelium-এর জন্য লাইব্রেরিগুলি ডাউনলোড করুন webসাইট
4.3 Xcelium স্ক্রিপ্ট তৈরি করা file (একটি প্রশ্ন জিজ্ঞাসা করুন)
run.do এর একটি কপি তৈরি করার পর files, Xcelium স্ক্রিপ্ট ব্যবহার করে আপনার সিমুলেশন চালানোর জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন৷ file.
- একটি cds.lib তৈরি করুন file এটি সংজ্ঞায়িত করে যে কোন লাইব্রেরিগুলি অ্যাক্সেসযোগ্য এবং তারা কোথায় অবস্থিত।
দ file বিবৃতি ধারণ করে যেগুলি লাইব্রেরির লজিক্যাল নামগুলিকে তাদের ফিজিক্যাল ডিরেক্টরি পাথে ম্যাপ করে। প্রাক্তন জন্যample, আপনি presynth সিমুলেশন চালাচ্ছেন, cds.lib file নিচের কোডব্লকে দেখানো হিসাবে লেখা যেতে পারে।
presynth ./presynth সংজ্ঞায়িত করুন
COREAHBLITE_LIB ./COREAHBLITE_LIB সংজ্ঞায়িত করুন৷
স্মার্টফিউশন সংজ্ঞায়িত করুন2 - একটি hdl.var তৈরি করুন file যা একটি ঐচ্ছিক কনফিগারেশন file যেটিতে কনফিগারেশন ভেরিয়েবল রয়েছে, যা আপনার ডিজাইনের পরিবেশ কীভাবে কনফিগার করা হয়েছে তা নির্ধারণ করে। এর মধ্যে রয়েছে:
– ভেরিয়েবল যেগুলি কাজের লাইব্রেরি নির্দিষ্ট করতে ব্যবহৃত হয় যেখানে কম্পাইলার কম্পাইল করা বস্তু এবং অন্যান্য প্রাপ্ত ডেটা সঞ্চয় করে।
- ভেরিলগ, ভেরিয়েবলের জন্য (LIB_MAP, VIEW_MAP, WORK) যা লাইব্রেরি নির্দিষ্ট করতে ব্যবহৃত হয় এবং views অনুসন্ধান করতে যখন elaborator দৃষ্টান্তগুলি সমাধান করে।
– ভেরিয়েবল যা আপনাকে কম্পাইলার, এলাবোরেটর এবং সিমুলেটর কমান্ড-লাইন অপশন এবং আর্গুমেন্ট নির্ধারণ করতে দেয়।
presynth সিমুলেশন ক্ষেত্রে exampউপরে দেখানো হয়েছে, বলুন আমাদের 3 টি আরটিএল আছে files av, bv, এবং testbench.v, যা যথাক্রমে presynth, COREAHBLITE_LIB এবং presynth লাইব্রেরিতে কম্পাইল করা প্রয়োজন। hdl.var file নিচের কোডব্লকে দেখানো হিসাবে লেখা যেতে পারে।
কাজ presynth সংজ্ঞায়িত
PROJECT_DIR সংজ্ঞায়িত করুন files>
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP সংজ্ঞায়িত করুন ( $LIB_MAP, + => presynth ) - ডিজাইন কম্পাইল করুন filencvlog বিকল্প ব্যবহার করে।
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log -আপডেট -লাইনডিবাগ এভি bv testbench.v - ncelab ব্যবহার করে নকশা বিস্তারিত করুন। এলাবোরেটর ডিজাইনের ইনস্ট্যান্টেশন এবং কনফিগারেশন তথ্যের উপর ভিত্তি করে একটি ডিজাইনের অনুক্রম তৈরি করে, সিগন্যাল সংযোগ স্থাপন করে এবং ডিজাইনের সমস্ত বস্তুর জন্য প্রাথমিক মান গণনা করে। বিস্তৃত নকশা অনুক্রম একটি সিমুলেশন স্ন্যাপশটে সংরক্ষণ করা হয়, যা আপনার ডিজাইনের উপস্থাপনা যা সিমুলেটরটি সিমুলেশন চালানোর জন্য ব্যবহার করে।
Xcelium –বার্তা –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
অ্যাক্সেস +আরডব্লিউসি-স্ট্যাটাস ওয়ার্কলিব। : মডিউল
পোস্ট-লেআউট সিমুলেশনের সময় বিশদ বিবরণ
পোস্ট-লেআউট সিমুলেশনের ক্ষেত্রে, প্রথমে SDF file ncsdfc কমান্ড ব্যবহার করে বিস্তারিত বর্ণনা করার আগে কম্পাইল করা প্রয়োজন।
এক্সেলিয়ামfileনাম>.এসডিএফ -আউটপুটfileনাম>.sdf.X
বিস্তারিত করার সময় নিচের কোডব্লকে দেখানো হিসাবে –autosdf বিকল্পের সাথে সংকলিত SDF আউটপুট ব্যবহার করুন।
xmelab -autosdf –বার্তা –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax
15 -অ্যাক্সেস +rwc -স্ট্যাটাস ওয়ার্কলিব। : মডিউল -sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file নিম্নলিখিত কোডব্লক হিসাবে দেখানো আবশ্যক।
COMPILED_SDF_FILE = “ file>" - Xcelium ব্যবহার করে অনুকরণ করুন। বিস্তারিত করার পরে একটি সিমুলেশন স্ন্যাপশট তৈরি করা হয় যা সিমুলেশনের জন্য Xcelium দ্বারা লোড করা হয়। এটি ব্যাচ মোড বা GUI মোডে চালানো যেতে পারে।
xmsim –বার্তা –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
errormax 15 - স্ট্যাটাস ওয়ার্কলিব। : মডিউল
ক্যাডেন্স এক্সসেলিয়াম সেটআপ
গুরুত্বপূর্ণ: সব সংকলন, বিস্তারিত এবং অনুকরণের উপরের তিনটি ধাপ একটি শেল স্ক্রিপ্টে রাখা যেতে পারে file এবং কমান্ড লাইন থেকে প্রাপ্ত. এই তিনটি ধাপ ব্যবহার না করে, নিচের কোডব্লকের মতো ncverilog বা xrun বিকল্প ব্যবহার করে এক ধাপে ডিজাইন সিমুলেট করা যেতে পারে।
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
files ডিজাইনে ব্যবহৃত হয়>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
ডিজাইনে ব্যবহৃত হয়>
4.3.1 পরিচিত সমস্যা (একটি প্রশ্ন জিজ্ঞাসা করুন)
টেস্টবেঞ্চ ওয়ার্কআউন্ড
ব্যবহারকারীর দ্বারা তৈরি টেস্টবেঞ্চে ঘড়ির ফ্রিকোয়েন্সি বা Libero SoC দ্বারা তৈরি ডিফল্ট টেস্টবেঞ্চে ঘড়ির ফ্রিকোয়েন্সি নির্দিষ্ট করার জন্য নিম্নলিখিত বিবৃতিটি ব্যবহার করা Xcelium-এর সাথে কাজ করে না।
সর্বদা @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
সিমুলেশন চালানোর জন্য নিম্নরূপ পরিবর্তন করুন:
সর্বদা #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
গুরুত্বপূর্ণ: Xcelium-এর জন্য সংকলিত লাইব্রেরিগুলি প্ল্যাটফর্ম নির্দিষ্ট (যেমন 64 বিট লাইব্রেরিগুলি 32 বিট প্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ নয় এবং এর বিপরীতে)।
MSS এবং SERDES ব্যবহার করে পোস্টসিন্থ এবং পোস্ট-লেআউট সিমুলেশন
MSS ব্লক সম্বলিত ডিজাইনের পোস্টসিন্থ সিমুলেশন চালানোর সময়, অথবা SERDES ব্যবহার করে ডিজাইনের পোস্ট-লেআউট সিমুলেশন চালানোর সময়, -libmap বিকল্পটি বিশদকরণের সময় নির্দিষ্ট না হলে BFM সিমুলেশন কাজ করে না। এর কারণ হল বিস্তারিত করার সময়, MSS ওয়ার্ক লাইব্রেরি থেকে সমাধান করা হয় (ডিফল্ট বাইন্ডিং এবং ওয়ার্কলিব পোস্টসিন্থ/পোস্ট-লেআউট হওয়ার কারণে) যেখানে এটি একটি স্থির ফাংশন।
SmartFusion2 প্রি-কম্পাইল করা লাইব্রেরি থেকে MSS ব্লক সমাধান করতে নিম্নলিখিত কোড ব্লকে দেখানো হিসাবে ncelab কমান্ড লিখতে হবে।
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
এবং lib.map file নিম্নলিখিত হিসাবে হতে হবে:
config cfg1;
নকশা ;
ডিফল্ট liblist smartfusion2 ;
endconfig
কাজের লাইব্রেরিতে যেমন পোস্টসিন্থ/পোস্ট-লেআউট দেখার আগে স্মার্টফিউশন2 লাইব্রেরির যেকোন ঘরের সমাধান করতে হবে।
–libmap বিকল্পটি ডিফল্টরূপে প্রতিটি সিমুলেশনের (প্রেসসিন্থ, পোস্টসিন্থ এবং পোস্ট-লেআউট) বিশদ বিবরণের সময় ব্যবহার করা যেতে পারে। এটি লাইব্রেরি থেকে দৃষ্টান্তের রেজোলিউশনের কারণে সৃষ্ট সিমুলেশন সমস্যাগুলি এড়ায়।
xmelab: *F,INTERR: অভ্যন্তরীণ ব্যতিক্রম
এই ncelab টুল ব্যতিক্রম স্মার্টফিউশন2 এবং IGLOO2 এ FDDR ধারণকারী ডিজাইনের জন্য একটি সতর্কতা
–libmap বিকল্প ব্যবহার করে postsynth এবং পোস্ট-লেআউট সিমুলেশনের সময়।
গুরুত্বপূর্ণ: এই সমস্যাটি ক্যাডেন্স সাপোর্ট টিমকে রিপোর্ট করা হয়েছে (SAR 52113)।
4.4 এস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
কাজ 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 =>
প্রিসিন্থ)
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 =>
প্রিসিন্থ)
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 -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:মডিউল
ncsim -বার্তা -ব্যাচ -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -স্থিতি presynth.testbench:মডিউল
4.5 অটোমেশন (মাইক্রোচিপ লগইন)
নিম্নলিখিত স্ক্রিপ্ট file রূপান্তর ModelSim run.do files কনফিগারেশনে fileXcelium ব্যবহার করে সিমুলেশন চালানোর জন্য প্রয়োজন।
স্ক্রিপ্ট File ব্যবহার
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do মাইক্রোসেমি_ফ্যামিলি
ক্যাডেন্স_প্রি-কম্পাইলড_লাইব্রেরির_অবস্থান
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);
সাব questa_parser {
আমার $ModelSim_run_do = $_[0];
আমার $actel_family = $_[1];
আমার $lib_location = $_[2];
আমার $state;
যদি ( -e “$ModelSim_run_do”)
{
খোলাFILE,"$ModelSim_run_do");
আমার @ModelSim_run_do =FILE>;
আমার $লাইন;
যদি ( $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
\"লাইব্রেরি_লোকেশন\"\n";
}
foreach $line (@ModelSim_run_do)
{
#জেনারেল অপারেশন
$line =~ s/..\/designer.*simulation\///g;
$লাইন =~ s/$state/$state\_questa/g;
#প্রিন্ট আউটFILE "$লাইন \n";
যদি ($লাইন =~ 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";
}
}
বন্ধFILE);
বন্ধ (বাইরেFILE);
} অন্য {
প্রিন্ট “$ModelSim_run_do বিদ্যমান নেই। আবার সিমুলেশন পুনরায় চালান \n”;
}
}
সিমেন্স কোয়েস্টাসিম সেটআপ/মডেলসিম সেটআপ (একটি প্রশ্ন জিজ্ঞাসা করুন)
রান. করতে files, মডেলসিম মাইক্রোসেমি সংস্করণ ব্যবহার করে সিমুলেশনের জন্য Libero SoC দ্বারা উত্পন্ন, QuestaSim/ModelSim SE/DE/PE ব্যবহার করে সিমুলেশনের জন্য একটি একক পরিবর্তনের সাথে ব্যবহার করা যেতে পারে। মডেলসিমে ME/ModelSim Pro ME run.do file, precompiled লাইব্রেরি অবস্থান পরিবর্তন করা প্রয়োজন.
গুরুত্বপূর্ণ:
ডিফল্টরূপে, মডেলসিম প্রো ME ছাড়া অন্য সিমুলেশন টুল সিমুলেশনের সময় ডিজাইন অপ্টিমাইজেশান করে যা সিমুলেশন আর্টিফ্যাক্ট যেমন ডিজাইন অবজেক্ট এবং ইনপুট স্টিমুলাসের দৃশ্যমানতাকে প্রভাবিত করতে পারে।
এটি সাধারণত জটিল সিমুলেশনের জন্য সিমুলেশন রানটাইম কমাতে সহায়ক, ভার্বোস, স্ব-পরীক্ষা টেস্টবেঞ্চ ব্যবহার করে। যাইহোক, ডিফল্ট অপ্টিমাইজেশনগুলি সমস্ত সিমুলেশনের জন্য উপযুক্ত নাও হতে পারে, বিশেষ করে এমন ক্ষেত্রে যেখানে আপনি ওয়েভ উইন্ডো ব্যবহার করে সিমুলেশন ফলাফলগুলি গ্রাফিকভাবে পরিদর্শন করার আশা করেন৷
এই অপ্টিমাইজেশানের কারণে সৃষ্ট সমস্যাগুলি মোকাবেলা করার জন্য, ডিজাইনে দৃশ্যমানতা পুনরুদ্ধার করতে আপনাকে সিমুলেশনের সময় উপযুক্ত কমান্ড এবং সম্পর্কিত আর্গুমেন্ট যোগ করতে হবে। টুল-নির্দিষ্ট কমান্ডের জন্য, ব্যবহার করা সিমুলেটরের ডকুমেন্টেশন দেখুন।
5.1 এনভায়রনমেন্ট ভেরিয়েবল (একটি প্রশ্ন জিজ্ঞাসা করুন)
নিম্নলিখিত প্রয়োজনীয় পরিবেশ ভেরিয়েবল আছে.
- LM_LICENSE_FILE: লাইসেন্সের পথ অবশ্যই অন্তর্ভুক্ত করতে হবে file.
- MODEL_TECH: QuestaSim ইনস্টলেশনের হোম ডিরেক্টরি অবস্থানের পথটি অবশ্যই চিহ্নিত করতে হবে।
- PATH: অবশ্যই MODEL_TECH দ্বারা নির্দেশিত এক্সিকিউটেবল অবস্থানের দিকে নির্দেশ করতে হবে৷
5.2 মেন্টর QuestaSim এর জন্য run.do রূপান্তর করা (একটি প্রশ্ন জিজ্ঞাসা করুন)
রান. করতে fileমডেলসিম মাইক্রোসেমি সংস্করণ ব্যবহার করে সিমুলেশনের জন্য Libero SoC দ্বারা উত্পন্ন s একটি একক পরিবর্তনের সাথে QuestaSim/ModelSim_SE ব্যবহার করে সিমুলেশনের জন্য ব্যবহার করা যেতে পারে।
গুরুত্বপূর্ণ: সব QuestaSim ব্যবহার করে সিমুলেটেড ডিজাইনের মধ্যে অবশ্যই -novopt অন্তর্ভুক্ত থাকতে হবে
run.do স্ক্রিপ্টে vsim কমান্ড সহ বিকল্প files.
5.3 কম্পাইল করা লাইব্রেরি ডাউনলোড করুন (একটি প্রশ্ন জিজ্ঞাসা করুন)
Microsemi's থেকে Mentor Graphics QuestaSim-এর জন্য লাইব্রেরিগুলো ডাউনলোড করুন webসাইট
সিনোপসিস ভিসিএস সেটআপ (একটি প্রশ্ন জিজ্ঞাসা করুন)
মাইক্রোসেমি দ্বারা প্রস্তাবিত প্রবাহ VCS-এ বিস্তৃত এবং সংকলন প্রবাহের উপর নির্ভর করে। এই নথিতে একটি স্ক্রিপ্ট রয়েছে৷ file যে run.do স্ক্রিপ্ট ব্যবহার করে files Libero SoC দ্বারা উত্পন্ন এবং সেটআপ তৈরি করে৷ fileVCS সিমুলেশনের জন্য প্রয়োজন। এই পান্ডুলিপি file run.do ব্যবহার করে file নিম্নলিখিত করতে.
- একটি লাইব্রেরি ম্যাপিং তৈরি করুন file, যা synopsys_sim.setup ব্যবহার করে করা হয় file একই ডিরেক্টরিতে অবস্থিত যেখানে VCS সিমুলেশন চলছে।
- একটি শেল স্ক্রিপ্ট তৈরি করুন file ভিসিএস ব্যবহার করে আপনার ডিজাইনকে বিস্তৃত এবং কম্পাইল করতে।
6.1 এনভায়রনমেন্ট ভেরিয়েবল (একটি প্রশ্ন জিজ্ঞাসা করুন)
আপনার সেটআপের উপর ভিত্তি করে VCS-এর জন্য উপযুক্ত পরিবেশের ভেরিয়েবল সেট করুন। ভিসিএস ডকুমেন্টেশন অনুযায়ী পরিবেশের ভেরিয়েবলের প্রয়োজন হল:
- LM_LICENSE_FILE: লাইসেন্স সার্ভারে একটি পয়েন্টার অন্তর্ভুক্ত করতে হবে।
- VCS_HOME: VCS ইনস্টলেশনের হোম ডিরেক্টরির অবস্থান নির্দেশ করতে হবে।
- PATH: VCS_HOME ডিরেক্টরির নীচে বিন ডিরেক্টরিতে একটি পয়েন্টার অন্তর্ভুক্ত করতে হবে।
6.2 কম্পাইল করা লাইব্রেরি ডাউনলোড করুন (একটি প্রশ্ন জিজ্ঞাসা করুন)
Microsemi's থেকে Synopsys VCS-এর জন্য লাইব্রেরিগুলি ডাউনলোড করুন webসাইট
6.3 VCS সিমুলেশন স্ক্রিপ্ট File (একটি প্রশ্ন জিজ্ঞাসা করুন)
VCS সেট আপ এবং ডিজাইন এবং বিভিন্ন run.do তৈরি করার পর fileLibero SoC থেকে, আপনাকে অবশ্যই:
- লাইব্রেরি ম্যাপিং তৈরি করুন file synopsys_sim.setup; এই file ডিজাইন দ্বারা ব্যবহার করা সমস্ত লাইব্রেরির অবস্থান নির্দেশক রয়েছে।
গুরুত্বপূর্ণ: The file নাম পরিবর্তন করা উচিত নয় এবং এটি অবশ্যই একই ডিরেক্টরিতে অবস্থিত যেখানে সিমুলেশন চলছে। এখানে একজন প্রাক্তনample যেমন একটি জন্য file presynthesis সিমুলেশন জন্য.
কাজ > ইফল্ট
স্মার্টফিউশন 2:
presynth: ./presynth
ডিফল্ট: ./কাজ - বিভিন্ন নকশা বিস্তারিত files, টেস্টবেঞ্চ সহ, ভিসিএস-এ ভ্লোগান কমান্ড ব্যবহার করে। এই কমান্ড একটি শেল স্ক্রিপ্ট অন্তর্ভুক্ত করা যেতে পারে file. নিম্নলিখিত একটি প্রাক্তনamprtl.v তে সংজ্ঞায়িত একটি ডিজাইনকে বিস্তৃত করার জন্য প্রয়োজনীয় কমান্ডগুলির le এর testbench এর সাথে সংজ্ঞায়িত করা হয়েছে
testbench.v
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - নিম্নলিখিত কমান্ড ব্যবহার করে VCS ব্যবহার করে নকশা কম্পাইল করুন।
vcs –sim_res=1fs presynth.testbench
দ্রষ্টব্য: The সঠিক কার্যকরী সিমুলেশনের জন্য সিমুলেশনের সময় রেজোলিউশন অবশ্যই 1fs এ সেট করতে হবে। - একবার ডিজাইন কম্পাইল হয়ে গেলে, নিম্নলিখিত কমান্ডটি ব্যবহার করে সিমুলেশন শুরু করুন।
./simv - ব্যাক-টীকাযুক্ত সিমুলেশনের জন্য, VCS কমান্ডটি অবশ্যই নিম্নলিখিত কোডব্লক-এ দেখানো হয়েছে।
vcs postlayout.testbench –sim_res=1fs –sdf সর্বোচ্চ: .
নাম>: file path> –gui –l postlayout.log
6.4 সীমাবদ্ধতা/ব্যতিক্রম (একটি প্রশ্ন জিজ্ঞাসা করুন)
নিচে Synopsys VCS সেটআপের সীমাবদ্ধতা/ব্যতিক্রম রয়েছে।
- ভিসিএস সিমুলেশনগুলি শুধুমাত্র Libero SoC-এর ভেরিলগ প্রকল্পগুলির জন্য চালানো যেতে পারে। VCS সিমুলেটরের কঠোর VHDL ভাষার প্রয়োজনীয়তা রয়েছে যা Libero SoC স্বয়ংক্রিয়ভাবে তৈরি VHDL দ্বারা পূরণ হয় না files.
- আপনি যখনই চান সিমুলেশন বন্ধ করতে আপনার ভেরিলগ টেস্টবেঞ্চে একটি $ফিনিশ স্টেটমেন্ট থাকতে হবে।
গুরুত্বপূর্ণ: কখন সিমুলেশনগুলি GUI মোডে চালানো হয়, রান টাইম GUI-তে নির্দিষ্ট করা যেতে পারে।
6.5 এসample Tcl এবং শেল স্ক্রিপ্ট Files (একটি প্রশ্ন জিজ্ঞাসা করুন)
নিম্নলিখিত পার্ল synopsys_sim.setup-এর প্রজন্মকে স্বয়ংক্রিয় করে file সেইসাথে সংশ্লিষ্ট শেল স্ক্রিপ্ট files বিস্তারিত, কম্পাইল, এবং নকশা অনুকরণ প্রয়োজন.
নকশা একটি MSS ব্যবহার করে, test.vec অনুলিপি file ভিসিএস সিমুলেশন ফোল্ডারে Libero SoC প্রকল্পের সিমুলেশন ফোল্ডারে অবস্থিত। নিম্নলিখিত বিভাগে s রয়েছেample run.do fileসংশ্লিষ্ট লাইব্রেরি ম্যাপিং এবং শেল স্ক্রিপ্ট সহ Libero SoC দ্বারা উত্পন্ন fileVCS সিমুলেশনের জন্য প্রয়োজন।
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” -ওয়ার্ক প্রেসসিন্থ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
তরঙ্গ যোগ করুন /SD1_TB1/*
লগ -আর /* যোগ করুন
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/
স্মার্টফিউশন2”
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/*
লগ -আর /* যোগ করুন
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” -কাজ
পোস্টসিন্থ “${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]} {
প্রতিধ্বনি "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/
স্মার্টফিউশন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 পোস্টলেআউট -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf পোস্টলেআউট।SD1_TB1
তরঙ্গ যোগ করুন /SD1_TB1/*
লগ -আর /* যোগ করুন
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}/
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
পোস্টলেআউট: ./পোস্টলেআউট
ডিফল্ট: ./workVCS
6.6 অটোমেশন (একটি প্রশ্ন জিজ্ঞাসা করুন)
নিম্নলিখিত পার্ল স্ক্রিপ্ট ব্যবহার করে প্রবাহ স্বয়ংক্রিয় হতে পারে file ModelSim run.do রূপান্তর করতে files ভিসিএস সামঞ্জস্যপূর্ণ শেল স্ক্রিপ্টে 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
#
###################################### ########################
my ($presynth, $postsynth, $postlayout) = @ARGV;
if(system("mkdir VCS_Presynth")) {মুদ্রণ "mkdir ব্যর্থ হয়েছে:\n";}
if(system("mkdir VCS_Postsynth")) {মুদ্রণ "mkdir ব্যর্থ হয়েছে:\n";}
if(system("mkdir VCS_Postlayout")) {মুদ্রণ "mkdir ব্যর্থ হয়েছে:\n";}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,"presynth");
chdir (“../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&পার্স করুন($postsynth,"postsynth");
chdir (“../”);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&পার্স করুন($postlayout,"postlayout");
chdir (“../”);
সাব parse_do {
আমার $vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k" ;
আমার %LIB = ();
আমার $file = $__[0];
আমার $state = $_[1];
খোলাFILE,"$file”) || die “খোলা যাবে না File কারণ হতে পারে:$!";
যদি ( $state eq "presynth" )
{
open(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
প্রিন্ট আউট1 “#!/bin/csh -f\n\n\n” ;
# সেট আপ করুন FILE
প্রিন্ট আউট 2 "ওয়ার্ক > ডিফল্ট\n" ;
প্রিন্ট আউট2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
যখন ($ লাইন =FILE>)
{
Synopsys VCS সেটআপ
যদি ($লাইন =~ মি/চুপচাপ PROJECT_DIR\s+\”(.*?)\”/) সেট করুন
{
প্রিন্ট আউট 1 “সেট PROJECT_DIR = \"$1\"\n\n\n" ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
যদি ($লাইন =~ m/\s+(\w*?)\_LIB/)
{
#মুদ্রণ "\$1 =$1 \n" ;
$temp = "$1″."_LIB";
#মুদ্রণ "টেম্প = $temp \n" ;
$LIB{$temp}++;
}
চম্প ($ লাইন);
$লাইন =~ s/^vlog/$vlog/ ;
$লাইন =~ s/ //g;
প্রিন্ট আউট1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ মি/ভিসিম.*পোস্টলেআউট\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp($tb);
#প্রিন্ট "টিবি নাম: $tb \n";
যদি ( $লাইন =~ m/sdf(.*)\.sdf/)
{
চম্প ($ লাইন);
$লাইন = $1;
#মুদ্রণ "লাইন: $লাইন \n" ;
যদি ($লাইন =~ মি/সর্বোচ্চ/)
{
$লাইন =~ 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” ;
}
এলসিফ ($লাইন =~ মি/মিন/)
{
$লাইন =~ 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/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 — মডেলসিম SDF ফর্ম্যাট
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; -ভিসিএস
SDF বিন্যাস
}
}
}
মুদ্রণ
আউট1 “\n\n”
;
if
( $state eq "presynth"
)
{
মুদ্রণ
OUT2 “প্রেসসিন্থ
: ./প্রেসিন্থ\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
: ./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 "পোস্টলেআউট"
)
{
প্রিন্ট আউট2 "পোস্টলেআউট: ./পোস্টলেআউট\n" ;
}
অন্য
{
প্রিন্ট করুন "সিমুলেশন স্টেট অনুপস্থিত \n" ;
}
foreach $i ( কী %LIB)
{
#মুদ্রণ "কী: $i মান: $LIB{$i} \n" ;
প্রিন্ট আউট 2 "$i : ./$i\n" ;
}
প্রিন্ট আউট1 “\n\n” ;
প্রিন্ট OUT1 “./simv -l run.log\n” ;
প্রিন্ট আউট 2 "ডিফল্ট: ./work\n" ;
বন্ধFILE;
OUT1 বন্ধ করুন;
OUT2 বন্ধ করুন;
}
পরিবর্ধন ও পরিবর্তন তালিকা (মাইক্রোচিপ লগইন
পুনর্বিবেচনার ইতিহাস নথিতে বাস্তবায়িত পরিবর্তনগুলি বর্ণনা করে। পরিবর্তন
সবচেয়ে বর্তমান প্রকাশনা দিয়ে শুরু করে সংশোধনের মাধ্যমে তালিকাভুক্ত করা হয়েছে।
রিভিশন | তারিখ | বর্ণনা |
A | 12/2023 | এই সংশোধনে নিম্নলিখিত পরিবর্তনগুলি করা হয়েছে: • ডকুমেন্টকে মাইক্রোচিপ টেমপ্লেটে রূপান্তর করা হয়েছে। প্রাথমিক রিভিশন। • আপডেট করা বিভাগ 5. সিমেন্স কোয়েস্টাসিম সেটআপ/মডেলসিম সেটআপ একটি নতুন নোট অন্তর্ভুক্ত করতে যা সিমুলেশন এবং অপ্টিমাইজেশনের সময় দৃশ্যমানতার উপর প্রভাব ব্যাখ্যা করে। |
মাইক্রোচিপ FPGA সমর্থন
মাইক্রোচিপ এফপিজিএ পণ্য গোষ্ঠী গ্রাহক পরিষেবা, গ্রাহক প্রযুক্তিগত সহায়তা কেন্দ্র, একটি সহ বিভিন্ন সহায়তা পরিষেবাগুলির সাথে তার পণ্যগুলিকে সমর্থন করে। webসাইট, এবং বিশ্বব্যাপী বিক্রয় অফিস।
গ্রাহকদের সহায়তার সাথে যোগাযোগ করার আগে মাইক্রোচিপ অনলাইন সংস্থানগুলি দেখার পরামর্শ দেওয়া হচ্ছে কারণ সম্ভবত তাদের প্রশ্নের উত্তর দেওয়া হয়েছে।
এর মাধ্যমে প্রযুক্তিগত সহায়তা কেন্দ্রের সাথে যোগাযোগ করুন webসাইটে www.microchip.com/support. FPGA ডিভাইস পার্ট নম্বর উল্লেখ করুন, উপযুক্ত কেস বিভাগ নির্বাচন করুন এবং ডিজাইন আপলোড করুন fileএকটি প্রযুক্তিগত সহায়তা মামলা তৈরি করার সময়।
অ-প্রযুক্তিগত পণ্য সহায়তার জন্য গ্রাহক পরিষেবার সাথে যোগাযোগ করুন, যেমন পণ্যের মূল্য নির্ধারণ, পণ্য আপগ্রেড, আপডেট তথ্য, অর্ডার স্থিতি এবং অনুমোদন।
- উত্তর আমেরিকা থেকে, 800.262.1060 এ কল করুন
- বাকি বিশ্ব থেকে, 650.318.4460 নম্বরে কল করুন
- ফ্যাক্স, বিশ্বের যেকোনো স্থান থেকে, 650.318.8044
মাইক্রোচিপ তথ্য
মাইক্রোচিপ Webসাইট
মাইক্রোচিপ আমাদের মাধ্যমে অনলাইন সহায়তা প্রদান করে webসাইটে www.microchip.com/. এই webসাইট তৈরি করতে ব্যবহার করা হয় fileএবং গ্রাহকদের কাছে সহজলভ্য তথ্য। উপলব্ধ কিছু সামগ্রীর মধ্যে রয়েছে:
- পণ্য সমর্থন – ডেটা শীট এবং ত্রুটি, অ্যাপ্লিকেশন নোট এবং এসample প্রোগ্রাম, নকশা সম্পদ, ব্যবহারকারীর গাইড এবং হার্ডওয়্যার সমর্থন নথি, সর্বশেষ সফ্টওয়্যার রিলিজ এবং সংরক্ষণাগার সফ্টওয়্যার
- সাধারণ প্রযুক্তিগত সহায়তা - প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQs), প্রযুক্তিগত সহায়তার অনুরোধ, অনলাইন আলোচনা গোষ্ঠী, মাইক্রোচিপ ডিজাইন পার্টনার প্রোগ্রাম সদস্য তালিকা
- মাইক্রোচিপ ব্যবসা - পণ্য নির্বাচক এবং অর্ডার গাইড, সর্বশেষ মাইক্রোচিপ প্রেস রিলিজ, সেমিনার এবং ইভেন্টের তালিকা, মাইক্রোচিপ বিক্রয় অফিসের তালিকা, পরিবেশক এবং কারখানার প্রতিনিধি
পণ্য পরিবর্তন বিজ্ঞপ্তি পরিষেবা
মাইক্রোচিপের পণ্য পরিবর্তনের বিজ্ঞপ্তি পরিষেবা গ্রাহকদের মাইক্রোচিপ পণ্যগুলিতে বর্তমান রাখতে সাহায্য করে। কোনো নির্দিষ্ট পণ্য পরিবার বা আগ্রহের উন্নয়ন টুলের সাথে সম্পর্কিত পরিবর্তন, আপডেট, সংশোধন বা ত্রুটি-বিচ্যুতি হলেই গ্রাহকরা ইমেল বিজ্ঞপ্তি পাবেন।
নিবন্ধন করতে, যান www.microchip.com/pcn এবং রেজিস্ট্রেশন নির্দেশাবলী অনুসরণ করুন।
কাস্টমার সাপোর্ট
মাইক্রোচিপ পণ্যের ব্যবহারকারীরা বিভিন্ন চ্যানেলের মাধ্যমে সহায়তা পেতে পারেন:
- পরিবেশক বা প্রতিনিধি
- স্থানীয় বিক্রয় অফিস
- এমবেডেড সলিউশন ইঞ্জিনিয়ার (ইএসই)
- প্রযুক্তিগত সহায়তা
সমর্থনের জন্য গ্রাহকদের তাদের পরিবেশক, প্রতিনিধি বা ESE এর সাথে যোগাযোগ করা উচিত। গ্রাহকদের সাহায্য করার জন্য স্থানীয় বিক্রয় অফিসগুলিও উপলব্ধ। বিক্রয় অফিস এবং অবস্থানের একটি তালিকা এই নথিতে অন্তর্ভুক্ত করা হয়েছে।
এর মাধ্যমে প্রযুক্তিগত সহায়তা পাওয়া যায় webসাইটে: www.microchip.com/support
মাইক্রোচিপ ডিভাইস কোড সুরক্ষা বৈশিষ্ট্য
মাইক্রোচিপ পণ্যগুলিতে কোড সুরক্ষা বৈশিষ্ট্যের নিম্নলিখিত বিবরণগুলি নোট করুন:
- মাইক্রোচিপ পণ্যগুলি তাদের নির্দিষ্ট মাইক্রোচিপ ডেটা শীটে থাকা বৈশিষ্ট্যগুলি পূরণ করে।
- মাইক্রোচিপ বিশ্বাস করে যে তার পণ্যের পরিবার নিরাপদ থাকে যখন উদ্দেশ্যমূলকভাবে, অপারেটিং স্পেসিফিকেশনের মধ্যে এবং স্বাভাবিক অবস্থায় ব্যবহার করা হয়।
- মাইক্রোচিপ মূল্যবোধ এবং আক্রমনাত্মকভাবে এর মেধা সম্পত্তি অধিকার রক্ষা করে। মাইক্রোচিপ পণ্যের কোড সুরক্ষা বৈশিষ্ট্য লঙ্ঘনের প্রচেষ্টা কঠোরভাবে নিষিদ্ধ এবং ডিজিটাল মিলেনিয়াম কপিরাইট আইন লঙ্ঘন করতে পারে।
- মাইক্রোচিপ বা অন্য কোন সেমিকন্ডাক্টর প্রস্তুতকারক এর কোডের নিরাপত্তার নিশ্চয়তা দিতে পারে না। কোড সুরক্ষার অর্থ এই নয় যে আমরা পণ্যটিকে "অবিচ্ছেদ" বলে গ্যারান্টি দিচ্ছি।
কোড সুরক্ষা ক্রমাগত পরিবর্তিত হয়ে চলেছে। মাইক্রোচিপ আমাদের পণ্যগুলির কোড সুরক্ষা বৈশিষ্ট্যগুলি ক্রমাগত উন্নত করতে প্রতিশ্রুতিবদ্ধ।
আইনি নোটিশ
এই প্রকাশনা এবং এখানে থাকা তথ্যগুলি শুধুমাত্র মাইক্রোচিপ পণ্যগুলির সাথে ব্যবহার করা যেতে পারে, যার মধ্যে আপনার অ্যাপ্লিকেশনের সাথে মাইক্রোচিপ পণ্যগুলি ডিজাইন, পরীক্ষা এবং সংহত করা সহ। অন্য কোনো উপায়ে এই তথ্য ব্যবহার এই শর্তাবলী লঙ্ঘন. ডিভাইস অ্যাপ্লিকেশন সংক্রান্ত তথ্য শুধুমাত্র আপনার সুবিধার জন্য প্রদান করা হয় এবং আপডেট দ্বারা বাতিল করা হতে পারে। আপনার আবেদন আপনার স্পেসিফিকেশনের সাথে মেলে তা নিশ্চিত করা আপনার দায়িত্ব। অতিরিক্ত সহায়তার জন্য আপনার স্থানীয় মাইক্রোচিপ বিক্রয় অফিসে যোগাযোগ করুন বা অতিরিক্ত সহায়তা পান এখানে www.microchip.com/en-us/support/design-help/client-support-services.
এই তথ্যটি মাইক্রোচিপ "যেমন আছে" দ্বারা সরবরাহ করা হয়েছে৷ মাইক্রোচিপ কোন প্রকারের কোন উপস্থাপনা বা ওয়ারেন্টি দেয় না তা প্রকাশ বা উহ্য, লিখিত বা মৌখিক, সংবিধিবদ্ধ বা অন্যথায়, তথ্যের সাথে সম্পর্কিত কিন্তু সীমাবদ্ধ নয় অ-লঙ্ঘন, ব্যবসায়িকতা, এবং একটি বিশেষ উদ্দেশ্যে উপযুক্ততা, বা এর শর্ত, গুণমান, বা কর্মক্ষমতা সম্পর্কিত ওয়্যারেন্টি।
কোনো অবস্থাতেই মাইক্রোচিপ কোনো পরোক্ষ, বিশেষ, শাস্তিমূলক, আকস্মিক, বা ফলস্বরূপ ক্ষতি, ক্ষয়ক্ষতি, খরচ বা যেকোনো ধরনের খরচের জন্য দায়ী থাকবে না এমনকি যদি মাইক্রোচিপ সম্ভাবনার পরামর্শ দেওয়া হয় বা ক্ষতিগুলি পূর্বাভাসযোগ্য। আইন দ্বারা অনুমোদিত সম্পূর্ণ সীমা পর্যন্ত, তথ্য বা এর ব্যবহারের সাথে সম্পর্কিত যেকোনওভাবে সমস্ত দাবির উপর মাইক্রোচিপের সম্পূর্ণ দায়বদ্ধতা আপনার অর্থের অর্থের পরিমাণ অতিক্রম করবে না, যদি থাকে তবে তথ্যের জন্য মাইক্রোচিপ।
লাইফ সাপোর্ট এবং/অথবা সুরক্ষা অ্যাপ্লিকেশনগুলিতে মাইক্রোচিপ ডিভাইসগুলির ব্যবহার সম্পূর্ণরূপে ক্রেতার ঝুঁকিতে, এবং ক্রেতা এই ধরনের ব্যবহারের ফলে যেকোনও এবং সমস্ত ক্ষতি, দাবি, মামলা বা খরচ থেকে রক্ষা, ক্ষতিপূরণ এবং ক্ষতিহীন মাইক্রোচিপ রাখতে সম্মত হন। মাইক্রোচিপ বৌদ্ধিক সম্পত্তির অধিকারের অধীনে কোনো লাইসেন্স, পরোক্ষভাবে বা অন্যথায় জানানো হয় না যদি না অন্যথায় বলা হয়।
ট্রেডমার্ক
মাইক্রোচিপের নাম এবং লোগো, মাইক্রোচিপ লোগো, অ্যাডাপ্টেক, এভিআর, এভিআর লোগো, এভিআর ফ্রিকস, বেসটাইম, বিটক্লাউড, ক্রিপ্টোমেমরি, ক্রিপ্টোআরএফ, ডিএসপিআইসি, ফ্লেক্সপিডব্লিউআর, হেলডো, ইগ্লু, জুকব্লক্স, কিলোক, লিংক, ম্যাক, লিংক, ম্যাক, লিংক, ম্যাক MediaLB, megaAVR, Microsemi, Microsemi লোগো, MOST, MOST লোগো, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 লোগো, PolarFire, Prochip ডিজাইনার, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST, SST, SST, লোগো , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, এবং XMEGA হল মার্কিন যুক্তরাষ্ট্র এবং অন্যান্য দেশে নিযুক্ত মাইক্রোচিপ প্রযুক্তির নিবন্ধিত ট্রেডমার্ক।
AgileSwitch, APT, ClockWorks, দ্য এমবেডেড কন্ট্রোল সলিউশন কোম্পানি, EtherSynch, Flashtec, হাইপার স্পিড কন্ট্রোল, হাইপারলাইট লোড, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus স্মার্ট Wire, Quii SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, এবং ZL হল মার্কিন যুক্তরাষ্ট্রে নিযুক্ত মাইক্রোচিপ প্রযুক্তির নিবন্ধিত ট্রেডমার্ক
সংলগ্ন কী দমন, AKS, এনালগ-ফর-দ্য-ডিজিটাল বয়স, যে কোনো ক্যাপাসিটর, যেকোনো ইন, যেকোনো আউট, অগমেন্টেড সুইচিং, ব্লুস্কাই, বডিকম, ক্লকস্টুডিও, কোডগার্ড, ক্রিপ্টো প্রমাণীকরণ, ক্রিপ্টোঅটোমোটিভ, ক্রিপ্টোঅটোমোটিভ, ক্রিপ্টোনো, সিডিপিআইএমডিএস প্যান, ক্রিপ্টোঅটোমোটিভ। , 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, সর্বজ্ঞ কোড জেনারেশন, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, সিরিয়াল কোয়াড I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, Viewস্প্যান, ওয়াইপারলক, এক্সপ্রেস কানেক্ট এবং জেনা হল মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেডের ট্রেডমার্ক
মার্কিন যুক্তরাষ্ট্র এবং অন্যান্য দেশে।
SQTP হল মার্কিন যুক্তরাষ্ট্রে নিযুক্ত মাইক্রোচিপ প্রযুক্তির একটি পরিষেবা চিহ্ন
অ্যাডাপ্টেক লোগো, ফ্রিকোয়েন্সি অন ডিমান্ড, সিলিকন স্টোরেজ টেকনোলজি এবং সিমকম অন্যান্য দেশে মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেডের নিবন্ধিত ট্রেডমার্ক।
GestIC হল মাইক্রোচিপ টেকনোলজি জার্মানি II GmbH & Co. KG-এর একটি নিবন্ধিত ট্রেডমার্ক, অন্যান্য দেশে মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেডের একটি সহযোগী প্রতিষ্ঠান।
এখানে উল্লিখিত অন্যান্য সমস্ত ট্রেডমার্ক তাদের নিজ নিজ কোম্পানির সম্পত্তি.
© 2023, মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেড এবং এর সহযোগী সংস্থাগুলি৷ সমস্ত অধিকার সংরক্ষিত.
ISBN: 978-1-6683-3694-6
গুণমান ব্যবস্থাপনা সিস্টেম
মাইক্রোচিপের কোয়ালিটি ম্যানেজমেন্ট সিস্টেম সম্পর্কিত তথ্যের জন্য, অনুগ্রহ করে দেখুন www.microchip.com/quality।
আমেরিকা | এশিয়া/প্যাসিফিক | এশিয়া/প্যাসিফিক | ইউরোপ |
কর্পোরেট অফিস 2355 West Chandler Blvd. চ্যান্ডলার, AZ 85224-6199 টেলিফোন: 480-792-7200 ফ্যাক্স: 480-792-7277 প্রযুক্তিগত সহায়তা: www.microchip.com/support Web ঠিকানা: www.microchip.com আটলান্টা ডুলুথ, জিএ টেলিফোন: 678-957-9614 ফ্যাক্স: 678-957-1455 অস্টিন, TX টেলিফোন: 512-257-3370 বোস্টন ওয়েস্টবরো, এমএ টেলিফোন: 774-760-0087 ফ্যাক্স: 774-760-0088 শিকাগো ইটাস্কা, আইএল টেলিফোন: 630-285-0071 ফ্যাক্স: 630-285-0075 ডালাস অ্যাডিসন, TX টেলিফোন: 972-818-7423 ফ্যাক্স: 972-818-2924 ডেট্রয়েট নোভি, এমআই টেলিফোন: 248-848-4000 হিউস্টন, TX টেলিফোন: 281-894-5983 ইন্ডিয়ানাপলিস Noblesville, IN টেলিফোন: 317-773-8323 ফ্যাক্স: 317-773-5453 টেলিফোন: 317-536-2380 লস এঞ্জেলেস মিশন ভিজো, CA টেলিফোন: 949-462-9523 ফ্যাক্স: 949-462-9608 টেলিফোন: 951-273-7800 রেলি, এনসি টেলিফোন: 919-844-7510 নিউ ইয়র্ক, এনওয়াই টেলিফোন: 631-435-6000 সান জোসে, CA টেলিফোন: 408-735-9110 টেলিফোন: 408-436-4270 কানাডা - টরন্টো টেলিফোন: 905-695-1980 ফ্যাক্স: 905-695-2078 |
অস্ট্রেলিয়া - সিডনি টেলিফোন: 61-2-9868-6733 চীন - বেইজিং টেলিফোন: 86-10-8569-7000 চীন - চেংদু টেলিফোন: 86-28-8665-5511 চীন - চংকিং টেলিফোন: 86-23-8980-9588 চীন - ডংগুয়ান টেলিফোন: 86-769-8702-9880 চীন - গুয়াংজু টেলিফোন: 86-20-8755-8029 চীন - হ্যাংজু টেলিফোন: 86-571-8792-8115 চীন - হংকং SAR টেলিফোন: 852-2943-5100 চীন - নানজিং টেলিফোন: 86-25-8473-2460 চীন - কিংডাও টেলিফোন: 86-532-8502-7355 চীন - সাংহাই টেলিফোন: 86-21-3326-8000 চীন-শেনিয়াং টেলিফোন: 86-24-2334-2829 চীন - শেনজেন টেলিফোন: 86-755-8864-2200 চীন - সুজু টেলিফোন: 86-186-6233-1526 চীন - উহান টেলিফোন: 86-27-5980-5300 চীন - জিয়ান টেলিফোন: 86-29-8833-7252 চীন - জিয়ামেন টেলিফোন: 86-592-2388138 চীন - ঝুহাই টেলিফোন: 86-756-3210040 |
ভারত - ব্যাঙ্গালোর টেলিফোন: 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 ডেনমার্ক-কোপেনহেগেন টেলিফোন: 45-4485-5910 ফ্যাক্স: 45-4485-2829 ফিনল্যান্ড - এসপু টেলিফোন: 358-9-4520-820 ফ্রান্স - প্যারিস Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 জার্মানি - গার্চিং টেলিফোন: 49-8931-9700 জার্মানি - হান টেলিফোন: 49-2129-3766400 জার্মানি - হেইলব্রন টেলিফোন: 49-7131-72400 জার্মানি - কার্লসরুহে টেলিফোন: 49-721-625370 জার্মানি - মিউনিখ Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 জার্মানি - রোজেনহেইম টেলিফোন: 49-8031-354-560 ইসরাইল - রাআনানা টেলিফোন: 972-9-744-7705 ইতালি - মিলান টেলিফোন: 39-0331-742611 ফ্যাক্স: 39-0331-466781 ইতালি - পাডোভা টেলিফোন: 39-049-7625286 নেদারল্যান্ডস - ড্রুনেন টেলিফোন: 31-416-690399 ফ্যাক্স: 31-416-690340 নরওয়ে - ট্রনহাইম টেলিফোন: 47-72884388 পোল্যান্ড - ওয়ারশ টেলিফোন: 48-22-3325737 রোমানিয়া - বুখারেস্ট Tel: 40-21-407-87-50 স্পেন - মাদ্রিদ Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 সুইডেন - গোথেনবার্গ Tel: 46-31-704-60-40 সুইডেন-স্টকহোম টেলিফোন: 46-8-5090-4654 ইউকে - ওকিংহাম টেলিফোন: 44-118-921-5800 ফ্যাক্স: 44-118-921-5820 |
© 2023 মাইক্রোচিপ টেকনোলজি ইনকর্পোরেটেড এবং এর সহযোগী সংস্থাগুলি৷
DS50003627A -
দলিল/সম্পদ
![]() |
MICROCHIP Libero SoC সিমুলেশন লাইব্রেরি সফটওয়্যার [পিডিএফ] ব্যবহারকারীর নির্দেশিকা DS50003627A, Libero SoC সিমুলেশন লাইব্রেরি সফ্টওয়্যার, SoC সিমুলেশন লাইব্রেরি সফ্টওয়্যার, সিমুলেশন লাইব্রেরি সফ্টওয়্যার, লাইব্রেরি সফ্টওয়্যার, সফ্টওয়্যার |