Libero SoC Simulation
لائبريري سيٽ اپ هدايتون
تعارف
هن دستاويز جو مقصد هڪ Libero SoC پروجيڪٽ کي ان پٽ جي طور تي استعمال ڪندي تخليقي ماحول کي ترتيب ڏيڻ جي طريقيڪار کي بيان ڪرڻ آهي. هي دستاويز Libero SoC v11.9 ۽ جديد سافٽ ويئر رليز سان استعمال لاءِ مهيا ڪيل اڳ ۾ مرتب ڪيل لائبريرين سان مطابقت رکي ٿو. مهيا ڪيل لائبريريون Verilog لاءِ مرتب ڪيون ويون آهن. VHDL استعمال ڪندڙن کي لائسنس جي ضرورت آھي مخلوط موڊ سموليشن جي اجازت ڏئي ٿي.
مرتب ڪيل تخليقي لائبريريون هيٺين اوزارن لاءِ موجود آهن:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise ۽ Xcelium
- Siemens QuestaSim
- Synopsys VCS
هڪ مختلف سموليٽر لاءِ لائبريري جي درخواست ڪرڻ لاءِ، رابطو ڪريو مائڪروچپ ٽيڪنيڪل سپورٽ.
Libero SoC انٽيگريشن
Libero SoC هڪ run.do ٺاهي ModelSim ME استعمال ڪندي تخليق کي سپورٽ ڪري ٿو file. هي file استعمال ڪيو ويو آهي ModelSim ME/ModelSim Pro ME پاران ترتيب ڏيڻ ۽ هلائڻ لاءِ. ٻيا تخليقي اوزار استعمال ڪرڻ لاءِ، توھان ٺاھي سگھوٿا ModelSim ME/ModelSim Pro ME run.do ۽ تبديل ڪري سگھو ٿا Tcl اسڪرپٽ file انهن حڪمن کي استعمال ڪرڻ لاءِ جيڪي توهان جي سموليٽر سان مطابقت رکن ٿيون.
1.1 Libero SoC Tcl File نسل (هڪ سوال پڇو)
Libero SoC ۾ ڊيزائن ٺاهڻ ۽ پيدا ڪرڻ کان پوءِ، هڪ ModelSim ME/ModelSim Pro ME سموليشن شروع ڪريو سڀني ڊيزائن جي مرحلن (presynth، postsynth، ۽ post-layout) تحت. هي قدم run.do ٺاهي ٿو file ModelSim ME/ModelSim Pro ME لاءِ هر ڊيزائن واري مرحلي لاءِ.
اهم: هر سميوليشن رن کي شروع ڪرڻ کان پوء، نالو تبديل ڪريو خودڪار ٺاهيل run.do file Libero SoC کي اوور رائٽنگ ڪرڻ کان روڪڻ لاءِ سموليشن ڊاريڪٽري جي تحت file. مثال لاءِampلي ، جي files جو نالو تبديل ڪري سگھجي ٿو presynth_run.do، postsynth_run.do ۽ postlayout_run.do.
Active-HDL ۽ رويرا-پرو لاءِ Aldec سيٽ اپ (هڪ سوال پڇو)
ڊوڙندو file ModelSim ME/ModelSim Pro ME پاران استعمال ٿيل Aldec simulators استعمال ڪندي سموليشن لاءِ تبديل ۽ استعمال ٿي سگھي ٿو.
2.1 ماحولياتي تبديلي (هڪ سوال پڇو)
پنھنجي ماحول جي متغير کي پنھنجي لائسنس تي سيٽ ڪريو file جڳھ:
LM_LICENSE_FILE: لائسنس سرور ڏانهن اشارو شامل ڪرڻ لازمي آهي.
2.2 ڊائون لوڊ مرتب ٿيل لائبريري (هڪ سوال پڇو)
مائڪروچپ مان Aldec Active-HDL ۽ Aldec Riviera-PRO لاءِ لائبريريون ڊائون لوڊ ڪريو webسائيٽ.
2.3 بدلائڻ run.do لاءِ Aldec تخليق (هڪ سوال پڇو)
ڊوڙندو files Libero SoC پاران ٺاهيل سموليشنز لاءِ Active-HDL ۽ Riviera-Pro ٽول استعمال ڪري سگهبا آهن Simulations لاءِ Active-HDL ۽ Riviera-Pro استعمال ڪندي ھڪڙي تبديلي سان. ھيٺ ڏنل جدول ماڊل سم run.do ۾ تبديل ڪرڻ لاءِ Aldec-برابر حڪمن جي لسٽ ڪري ٿو file.
ٽيبل 2-1. Aldec برابر حڪم
ماڊل سم | فعال-HDL |
vlog | برابر |
vcom | acom |
vlib | عليب |
vsim | عاصم |
vmap | amap |
هيٺ ڏنل آهي جيئنample run.do Aldec simulators سان لاڳاپيل.
- موجوده ڪم ڪندڙ ڊاريڪٽري جو مقام مقرر ڪريو.
dsn مقرر ڪريو - ھڪڙي ڪم ڪندڙ لائبريري جو نالو مقرر ڪريو، ان جي جڳھ جو نقشو ٺاھيو، ۽ پوء Microchip FPGA خاندان جي جڳھ جو نقشو ٺاھيو
اڳ ۾ ٺهيل لائبريريون (مثال طورample، SmartFusion2) جنهن تي توهان پنهنجي ڊيزائن کي هلائي رهيا آهيو.
alib presynth
amap presynth presynth
amap SmartFusion2 - تمام ضروري HDL گڏ ڪريو files کي گهربل لائبريري سان گڏ ڊزائين ۾ استعمال ڪيو ويو.
alog -work presynth temp.v (Verilog لاءِ)
alog-work presynth testbench.v
acom -work presynth temp.vhd (Vhdl لاءِ)
acom -work presynth testbench.vhd - ٺاھ جوڙ ڪريو.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10us هلائي
2.4 ڄاڻايل مسئلا (هڪ سوال پڇو)
هي سيڪشن ڄاڻايل مسئلن ۽ حدن کي لسٽ ڪري ٿو.
- Riviera-PRO استعمال ڪندي مرتب ڪيل لائبريريون پليٽ فارم جي مخصوص آهن (يعني 64-bit لائبريريون 32-bit پليٽ فارم تي نه هلائي سگهجن ٿيون ۽ ان جي برعڪس).
- SERDES/MDDR/FDDR تي مشتمل ڊيزائن لاءِ، ھيٺ ڏنل آپشن استعمال ڪريو پنھنجي run.do ۾ files جڏهن انهن جي ڊيزائن کي گڏ ڪرڻ کان پوءِ سميوليشن هلائڻ:
- فعال-HDL: عاصم -o2
- رويرا-پيرو: عاصم -O2 (پريسنٿ ۽ پوسٽ-لي آئوٽ سميوليشنز لاءِ) ۽ عاصم -O5 (پوسٽ-لي آئوٽ سميوليشنز لاءِ)
Active-HDL ۽ Riviera-Pro لاءِ Aldec سيٽ اپ ھيٺ ڏنل التوا ۾ آھن SARs. وڌيڪ معلومات لاء، رابطو ڪريو مائڪروچپ ٽيڪنيڪل سپورٽ. - SAR 49908 - Active-HDL: VHDL Error for Math block simulations
- SAR 50627 - Riviera-PRO 2013.02: SERDES ڊيزائنز لاءِ تخليقي غلطيون
- SAR 50461 - رويرا-PRO: سميليشنز ۾ عاصم -O2/-O5 آپشن
Cadence Incisive سيٽ اپ (هڪ سوال پڇو)
توهان کي اسڪرپٽ ٺاهڻ جي ضرورت آهي file ModelSim ME/ModelSim Pro ME run.do کي هلائڻ لاءِ ملندڙ
Cadence Incisive simulator. انهن قدمن تي عمل ڪريو ۽ اسڪرپٽ ٺاهيو file NCSim لاءِ يا اسڪرپٽ استعمال ڪريو file
تبديل ڪرڻ لاءِ مهيا ڪيو ويو ModelSim ME/ModelSim Pro ME run.do files ترتيب ۾ files
NCSim استعمال ڪندي تخليقن کي هلائڻ جي ضرورت آھي.
اهم: ڪيڊنس Incisive Enterprise جا نوان ورزن جاري ڪرڻ بند ڪري ڇڏيا آهن
simulator ۽ Xcelium simulator کي سپورٽ ڪرڻ شروع ڪيو.
3.1 ماحولياتي تبديليون (هڪ سوال پڇو)
Cadence Incisive simulator کي هلائڻ لاءِ، ھيٺ ڏنل ماحوليات کي ترتيب ڏيو:
- LM_LICENSE_FILE: لائسنس ڏانهن اشارو شامل ڪرڻ لازمي آهي file.
- cds_root: گھر جي ڊاريڪٽري جي جڳھ ڏانھن اشارو ڪرڻ گھرجي Cadence Incisive Installation.
- PATH: ٽولز ڊاريڪٽري جي تحت بن جي جڳھ ڏانھن اشارو ڪيو وڃي cds_root طرفان اشارو ڪيو ويو آھي،
$cds_root/tools/bin/64bit (64-bit مشين لاءِ ۽ $cds_root/tools/bin 32-bit مشين لاءِ).
64-bit ۽ 32-bit آپريٽنگ سسٽم جي وچ ۾ سوئچ جي صورت ۾ تخليقي ماحول کي ترتيب ڏيڻ جا ٽي طريقا آهن:
ڪيس 1: PATH متغير
ھيٺ ڏنل حڪم ھلايو:
رستو مقرر ڪريو = (install_dir/tools/bin/64bit $path) 64bit مشينن لاءِ ۽
رستو مقرر ڪريو = (install_dir/tools/bin $path) 32bit مشينن لاءِ
ڪيس 2: استعمال ڪندي -64bit ڪمانڊ لائن آپشن
ڪمانڊ لائن ۾ وضاحت ڪريو -64bit آپشن کي سڏڻ لاءِ 64bit عملدار.
ڪيس 3: INCA_64BIT يا CDS_AUTO_64BIT ماحوليات کي ترتيب ڏيڻ
INCA_64BIT متغير کي بوليان سمجھيو ويندو آھي. توهان هن متغير کي ڪنهن به قدر يا null string تي سيٽ ڪري سگهو ٿا.
setenv INCA_64BIT
اهم: جي INCA_64BIT ماحوليات متغير ٻين ڪيڊنس اوزار، جهڙوڪ IC اوزار تي اثر انداز نٿو ڪري. جڏهن ته، Incisive اوزارن لاءِ، INCA_64BIT متغير CDS_AUTO_64BIT ماحوليات جي سيٽنگ کي اوور رائيڊ ڪري ٿو. جيڪڏهن INCA_64BIT ماحوليات متغير مقرر ڪيو ويو آهي، سڀ انسائيڪلوپيڊيا اوزار 64-bit موڊ ۾ هلندا آهن. setenv CDS_AUTO_64BIT شامل آھي: INCA
اهم: جي string INCA وڏي اکر ۾ هجڻ گهرجي. سڀئي عملدار 32-bit موڊ يا 64-bit موڊ ۾ هلائڻ گهرجن، متغير کي مقرر نه ڪريو ھڪڙي عمل ڪندڙ کي شامل ڪرڻ لاء، جيئن ھيٺ ڏنل ۾:
setenv CDS_AUTO_64BIT شامل آھي:ncelab
ڪيڊنس جا ٻيا اوزار، جهڙوڪ IC ٽولز، 64-bit يا 32-bit executables جي چونڊ کي ڪنٽرول ڪرڻ لاءِ CDS_AUTO_64BIT ماحوليات جي متغير پڻ استعمال ڪندا آهن. هيٺ ڏنل جدول ڏيکاري ٿو ته توهان ڪيئن سيٽ ڪري سگهو ٿا CDS_AUTO_64BIT متغير کي هلائڻ لاءِ Incisive Tools ۽ IC اوزار سڀني طريقن ۾.
جدول 3-1. CDS_AUTO_64BIT متغير
CDS_AUTO_64BIT متغير | ڇڪڻ وارو اوزار | IC اوزار |
setenv CDS_AUTO_64BIT سڀ | 64 بٽ | 64 بٽ |
setenv CDS_AUTO_64BIT ڪو به نه | 32 بٽ | 32 بٽ |
setenv CDS_AUTO_64BIT خارج ڪريو:ic_binary | 64 بٽ | 32 بٽ |
setenv CDS_AUTO_64BIT خارج ڪريو: INCA | 32 بٽ | 64 بٽ |
اهم: سڀ Incisive اوزار يا ته 32-bit موڊ يا 64-bit موڊ ۾ ھلڻ گھرجي، EXCLUDE استعمال نه ڪريو ھڪڙي مخصوص ايگزيڪيوٽو کي خارج ڪرڻ لاءِ، جيئن ھيٺ ڏنل آھي: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
جيڪڏھن توھان سيٽ ڪريو CDS_AUTO_64BIT متغير کي خارج ڪرڻ لاءِ Incisive اوزار (setenv CDS_AUTO_64BIT EXCLUDE:INCA)، سڀ انڪسائيو اوزار 32-bit موڊ ۾ ھلندا آھن. بهرحال، -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 بيانن تي مشتمل آهي جيڪي لائبريري منطقي نالن کي انهن جي فزيڪل ڊاريڪٽري جي رستن تي نقشو ڪن ٿا. مثال لاءِampلي، جيڪڏهن توهان presynth سموليشن هلائي رهيا آهيو، cds.lib file لکيو ويو آهي جيئن هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آهي.
بيان ڪريو presynth ./presynth
وضاحت ڪريو COREAHBLITE_LIB ./COREAHBLITE_LIB
سمارٽ فيوزن جي وضاحت ڪريو 2 - هڪ hdl.var ٺاهيو file، هڪ اختياري ترتيب file جنهن ۾ ڪنفيگريشن متغير شامل آهن، اهو طئي ڪري ٿو ته توهان جي ڊيزائن جو ماحول ڪيئن ترتيب ڏنو ويو آهي. هيٺيون variable files شامل آهن:
- متغير جيڪي ڪم لائبريري کي بيان ڪرڻ لاء استعمال ڪيا ويا آهن جتي گڏ ڪرڻ وارو ذخيرو گڏ ڪيل شيون ۽ ٻيو نڪتل ڊيٽا.
- Verilog لاءِ، متغير (LIB_MAP، VIEW_MAP، WORK) جيڪي لائبريرين جي وضاحت ڪرڻ لاءِ استعمال ٿين ٿا ۽ views ڳولڻ لاءِ جڏهن وضاحت ڪندڙ مثالن کي حل ڪري ٿو.
- متغير جيڪي توهان کي ترتيب ڏيڻ جي اجازت ڏين ٿا مرتب ڪندڙ، وضاحت ڪندڙ، ۽ سمائيٽر ڪمانڊ لائن آپشنز ۽ دلائل.
presynth simulation جي صورت ۾ exampمٿي ڏيکاريل آهي، چئو ته اسان وٽ ٽي RTL آهن files: av، bv، ۽ testbench.v، جن کي ترتيب ڏيڻ جي ضرورت آھي presynth، COREAHBLITE_LIB، ۽ presynth لائبريرين ۾. hdl.var file لکي سگهجي ٿو جيئن هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آهي.
ڪم جي وضاحت ڪريو
DEFINE PROJECT_DIR files>
وضاحت ڪريو LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
وضاحت ڪريو LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
وضاحت ڪريو LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
وضاحت ڪريو LIB_MAP ( $LIB_MAP, + => presynth ) - ڊيزائن کي گڏ ڪريو files ncvlog آپشن استعمال ڪندي.
ncvlog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -تازه ڪاري -linedebug av bv testbench.v - ncelab استعمال ڪندي ڊيزائن کي وڌايو. وضاحت ڪندڙ هڪ ڊيزائن جي جوڙجڪ جي بنياد تي ترتيب ڏئي ٿو ترتيب ۽ ترتيب جي معلومات جي بنياد تي ڊزائن ۾، سگنل ڪنيڪشن قائم ڪري ٿو، ۽ ڊزائن ۾ سڀني شين جي شروعاتي قدرن جي حساب سان. تشريح ڪيل ڊيزائن جي جوڙجڪ کي نقلي سنيپ شاٽ ۾ محفوظ ڪيو ويو آهي، جيڪو توهان جي ڊزائن جي نمائندگي ڪري ٿو جيڪو سموليٽر استعمال ڪري ٿو تخليق کي هلائڻ لاءِ.
ncelab -پيغام -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax 15 -
رسائي +rwc -status worklib. : ماڊل
پوسٽ-لي آئوٽ تخليق دوران تفصيل
پوسٽ-لي آئوٽ سموليشن جي صورت ۾، پهريون SDF file ncsdfc ڪمانڊ استعمال ڪندي تفصيل کان اڳ مرتب ڪيو وڃي.
ncsdfcfileنالو>.sdf-آئوٽ پٽfileنالو>.sdf.X
تفصيل جي دوران استعمال ڪريو مرتب ٿيل SDF آئوٽ پٽ سان -autosdf اختيار جيئن هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آهي.
ncelab -autosdf -پيغام -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
15 -رسائي + rwc -status worklib. : ماڊل -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 استعمال ڪندي ڊيزائنن جي پوسٽ-لي آئوٽ سميوليشنز کي هلائڻ دوران، BFM سموليشن ڪم نه ڪندا جيڪڏهن -libmap آپشن آهي.
وضاحت دوران بيان نه ڪيو ويو آهي. اهو ئي سبب آهي ته وضاحت جي دوران، MSS ڪم لائبريري مان حل ڪيو ويو آهي (ڇاڪاڻ ته ڊفالٽ بائنڊنگ ۽ worklib جي postsynth/post-layout هجڻ جي ڪري) جتي اهو صرف هڪ مقرر ٿيل فنڪشن آهي.
MSS کي حل ڪرڻ لاءِ هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل طور تي ncelab ڪمانڊ لکڻ لازمي آهي
SmartFusion2 اڳ ۾ ٺهيل لائبريري مان بلاڪ.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
۽ lib.map file هن ريت هجڻ گهرجي:
config cfg1؛
ڊيزائن ؛
ڊفالٽ liblist smartfusion2 ؛
endconfig
اهو ڪم لائبريري ۾ ڏسڻ کان اڳ SmartFusion2 لائبريري ۾ ڪنهن به سيل کي حل ڪري ٿو يعني postsynth/ post-layout.
-libmap آپشن ڊفالٽ طور استعمال ڪري سگھجي ٿو تفصيل جي دوران ھر تخليق لاءِ (presynth, postsynth, and post-layout). هي تخليقي مسئلن کان بچي ٿو جيڪي لائبريرين مان مثالن جي حل جي ڪري پيدا ٿين ٿا.
ncelab: *F، INTERR: اندروني استثنا
هي ncelab ٽول استثنٰي ڊيزائنن لاءِ هڪ احتياط آهي جنهن ۾ SmartFusion 2 ۽ IGLOO 2 ۾ FDDR شامل آهن پوسٽ سنٿ ۽ پوسٽ-لي آئوٽ سموليشن دوران -libmap آپشن استعمال ڪندي.
اهم: اهو مسئلو ڪيڊنس سپورٽ ٽيم (SAR 52113) کي ٻڌايو ويو آهي.
3.4 ايسample Tcl ۽ شيل اسڪرپٽ Fileايس (هڪ سوال پڇو)
هيٺيون files جي تشڪيل آهن files ڊيزائن ۽ شيل اسڪرپٽ کي ترتيب ڏيڻ جي ضرورت آهي 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 =>
پري سنٿ)
وضاحت ڪريو LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => اڳڪٿي )
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 => نسخو )
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 => پري سنٿ )
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
- ڪم جي اڳڪٿي- لاگ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
3.5 خودڪار (هڪ سوال پڇو)
هيٺ ڏنل رسم الخط file ModelSim run.do کي تبديل ڪري ٿو files ترتيب ۾ 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);
ذيلي questa_parser {
منهنجو $ModelSim_run_do = $_[0]؛
منهنجي $actel_family = $_[1]؛
منهنجو $lib_location = $_[2]؛
منهنجي $ رياست؛
جيڪڏهن (-e “$ModelSim_run_do”)
{
کليل (INFILE"$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
\"Libraries_location\"\n"؛
}
foreach $line (@ModelSim_run_do)
{
# جنرل آپريشنز
$line =~ s/..\/designer.*simulation\///g؛
$line =~ 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)/)
{
$line =~ s/..\/component/..\/..\/component/g؛
پرنٽ آئوٽFILE "$ لائن \n"؛
} elsif ($ line = ~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g؛
پرنٽ آئوٽFILE "$ لائن \n"؛
} يو
{
پرنٽ آئوٽFILE "$ لائن \n"؛
}
}
بند ڪريو (INFILE);
بند ڪريو (ٻاهرFILE);
} ٻيو {
پرنٽ “$ModelSim_run_do موجود ناهي. نقل وري هلايو \n”;
}
}
Cadence Xcelium سيٽ اپ (مائڪروچپ لاگ ان)
توهان کي اسڪرپٽ ٺاهڻ جي ضرورت آهي file Cadence Xcelium simulator کي هلائڻ لاءِ ModelSim ME/ModelSim Pro ME run.do وانگر. انهن قدمن تي عمل ڪريو ۽ اسڪرپٽ ٺاهيو file Xcelium لاءِ يا اسڪرپٽ استعمال ڪريو file تبديل ڪرڻ لاءِ مهيا ڪيو ويو ModelSim ME/ModelSim Pro ME run.do files ترتيب ۾ files Xcelium استعمال ڪندي سموليشن کي هلائڻ جي ضرورت آهي.
4.1 ماحولياتي تبديليون (هڪ سوال پڇو)
Cadence Xcelium کي هلائڻ لاء، ھيٺ ڏنل ماحولياتي متغير کي ترتيب ڏيو:
- LM_LICENSE_FILE: لائسنس ڏانهن اشارو شامل ڪرڻ لازمي آهي file.
- cds_root: گھر جي ڊاريڪٽري جي جڳھ ڏانھن اشارو ڪيو وڃي Cadence Incisive Installation.
- PATH: ٽولز ڊاريڪٽري جي تحت بن جي جڳھ ڏانھن اشارو ڪيو وڃي cds_root (يعني
$cds_root/tools/bin/64bit (64 بٽ مشين لاءِ ۽ $cds_root/tools/bin 32 بٽ لاءِ
مشين).
64-bit ۽ 32-bit آپريٽنگ سسٽم جي وچ ۾ سوئچ جي صورت ۾ تخليقي ماحول کي ترتيب ڏيڻ جا ٽي طريقا آهن:
ڪيس 1: PATH متغير
رستو مقرر ڪريو = (install_dir/tools/bin/64bit $path) 64bit مشينن لاءِ ۽
رستو مقرر ڪريو = (install_dir/tools/bin $path) 32bit مشينن لاءِ
ڪيس 2: استعمال ڪندي -64bit ڪمانڊ لائن آپشن
ڪمانڊ لائن ۾ وضاحت ڪريو -64 بٽ آپشن کي 64-bit ايگزيڪيوٽيبل سڏڻ لاءِ.
ڪيس 3: INCA_64BIT يا CDS_AUTO_64BIT ماحوليات کي ترتيب ڏيڻ
INCA_64BIT متغير کي بوليان سمجھيو ويندو آھي. توھان ھي متغير مقرر ڪري سگھو ٿا ڪنھن قدر يا null ڏانھن
تار.
setenv INCA_64BIT
اهم: جي INCA_64BIT ماحوليات متغير ٻين ڪيڊنس اوزار، جهڙوڪ IC اوزار تي اثر انداز نٿو ڪري. جڏهن ته، Incisive اوزارن لاءِ، INCA_64BIT متغير CDS_AUTO_64BIT ماحوليات جي سيٽنگ کي اوور رائيڊ ڪري ٿو. جيڪڏهن INCA_64BIT ماحوليات متغير et آهي، سڀ انسائيڪلوپيڊيا اوزار 64-bit موڊ ۾ هلندا آهن.
setenv CDS_AUTO_64BIT شامل آھي: INCA
اهم: جي string INCA وڏي اکر ۾ هجڻ گهرجي. سڀئي عملدار 2-bit موڊ يا 64-bit موڊ ۾ هلائڻ گهرجن، متغير کي مقرر نه ڪريو ھڪڙي عمل ڪندڙ کي شامل ڪرڻ لاء، جيئن ھيٺ ڏنل ۾:
setenv CDS_AUTO_64BIT شامل آھي:ncelab
ڪيڊنس جا ٻيا اوزار، جهڙوڪ IC ٽولز، 64-bit يا 32-bit executables جي چونڊ کي ڪنٽرول ڪرڻ لاءِ CDS_AUTO_64BIT ماحوليات جي متغير پڻ استعمال ڪندا آهن. هيٺ ڏنل جدول ڏيکاري ٿو ته توهان ڪيئن سيٽ ڪري سگهو ٿا CDS_AUTO_64BIT متغير کي هلائڻ لاءِ Incisive Tools ۽ IC اوزار سڀني طريقن ۾.
جدول 4-1. CDS_AUTO_64BIT متغير
CDS_AUTO_64BIT متغير | ڇڪڻ وارو اوزار | IC اوزار |
setenv CDS_AUTO_64BIT سڀ | 64-bit | 64-bit |
setenv CDS_AUTO_64BIT ڪو به نه | 32-bit | 32-bit |
setenv CDS_AUTO_64BIT خارج ڪريو:ic_binary |
64-bit | 32-bit |
setenv CDS_AUTO_64BIT خارج ڪريو: INCA | 32-bit | 64-bit |
اهم: سڀ Incisive اوزار يا ته 32-bit موڊ يا 64-bit موڊ ۾ ھلڻ گھرجي، EXCLUDE استعمال نه ڪريو ھڪڙي مخصوص عمل کي خارج ڪرڻ لاءِ، جيئن ھيٺ ڏنل آھي:
setenv CDS_AUTO_64BIT خارج ڪريو:ncelab
جيڪڏھن توھان سيٽ ڪريو CDS_AUTO_64BIT متغير کي خارج ڪرڻ لاءِ Incisive اوزار (setenv
CDS_AUTO_64BIT EXCLUDE:INCA)، سڀ انسائيڪلوپيڊيا اوزار 32-bit موڊ ۾ هلندا آهن. بهرحال، جي
-64bit ڪمانڊ لائن آپشن ماحول جي متغير کي ختم ڪري ٿو.
هيٺ ڏنل تشڪيل files توهان جي ڊيٽا کي منظم ڪرڻ ۽ تخليقي اوزار ۽ افاديت جي آپريشن کي ڪنٽرول ڪرڻ ۾ مدد ڪري ٿي:
- لائبريري ميپنگ file (cds.lib) توهان جي ڊزائين جي جڳهه لاء منطقي نالو بيان ڪري ٿو.
- لائبريريون ۽ انهن کي جسماني ڊاريڪٽري جي نالن سان ملائي ٿو.
- متغير file (hdl.var) متغيرن کي بيان ڪري ٿو جيڪي تخليقي اوزار ۽ افاديت جي رويي کي متاثر ڪن ٿا.
4.2 ڊائون لوڊ مرتب ٿيل لائبريري (هڪ سوال پڇو)
لائبرريون ڊائون لوڊ ڪريو Cadence Xcelium لاءِ Microsemi's کان webسائيٽ.
4.3 Xcelium اسڪرپٽ ٺاهڻ file (هڪ سوال پڇو)
run.do جي ڪاپي ٺاهڻ کان پوء files، Xcelium اسڪرپٽ استعمال ڪندي پنھنجي تخليق کي هلائڻ لاء ھيٺ ڏنل قدمن تي عمل ڪريو file.
- cds.lib ٺاهيو file اهو بيان ڪري ٿو ته ڪهڙيون لائبريريون رسائي لائق آهن ۽ اهي ڪٿي آهن.
جي file بيانن تي مشتمل آهي جيڪي لائبريري منطقي نالن کي انهن جي فزيڪل ڊاريڪٽري جي رستن تي نقشو ڪن ٿا. مثال لاءِampلي، جيڪڏهن توهان presynth سموليشن هلائي رهيا آهيو، cds.lib file لکي سگهجي ٿو جيئن هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آهي.
بيان ڪريو presynth ./presynth
وضاحت ڪريو COREAHBLITE_LIB ./COREAHBLITE_LIB
سمارٽ فيوزن جي وضاحت ڪريو 2 - هڪ hdl.var ٺاهيو file جيڪو هڪ اختياري ترتيب آهي file جنهن ۾ ڪنفيگريشن متغير شامل آهن، اهو طئي ڪري ٿو ته توهان جي ڊيزائن جو ماحول ڪيئن ترتيب ڏنو ويو آهي. انهن ۾ شامل آهن:
- متغير جيڪي ڪم لائبريري کي بيان ڪرڻ لاء استعمال ڪيا ويا آهن جتي گڏ ڪرڻ وارو ذخيرو گڏ ڪيل شيون ۽ ٻيو نڪتل ڊيٽا.
- Verilog لاءِ، متغير (LIB_MAP، VIEW_MAP، WORK) جيڪي لائبريرين جي وضاحت ڪرڻ لاءِ استعمال ٿين ٿا ۽ views ڳولڻ لاءِ جڏهن وضاحت ڪندڙ مثالن کي حل ڪري ٿو.
- متغير جيڪي توهان کي ترتيب ڏيڻ جي اجازت ڏين ٿا مرتب ڪندڙ، وضاحت ڪندڙ، ۽ سمائيٽر ڪمانڊ لائن آپشنز ۽ دلائل.
presynth simulation جي صورت ۾ exampمٿي ڏيکاريل آهي، چئو ته اسان وٽ 3 RTL آهي files av، bv، ۽ testbench.v، جن کي ترتيب ڏيڻ جي ضرورت آھي presynth، COREAHBLITE_LIB، ۽ presynth لائبريرين ۾. hdl.var file لکي سگهجي ٿو جيئن هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آهي.
ڪم جي وضاحت ڪريو
DEFINE PROJECT_DIR files>
وضاحت ڪريو LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
وضاحت ڪريو LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
وضاحت ڪريو LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
وضاحت ڪريو LIB_MAP ( $LIB_MAP, + => presynth ) - ڊيزائن کي گڏ ڪريو files ncvlog آپشن استعمال ڪندي.
xmvlog +incdir+ -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -تازه ڪاري -linedebug av bv testbench.v - ncelab استعمال ڪندي ڊيزائن کي وڌايو. وضاحت ڪندڙ هڪ ڊيزائن جي جوڙجڪ جي بنياد تي ترتيب ڏئي ٿو ترتيب ۽ ترتيب جي معلومات جي بنياد تي ڊزائن ۾، سگنل ڪنيڪشن قائم ڪري ٿو، ۽ ڊزائن ۾ سڀني شين جي شروعاتي قدرن جي حساب سان. تشريح ڪيل ڊيزائن جي جوڙجڪ کي نقلي سنيپ شاٽ ۾ محفوظ ڪيو ويو آهي، جيڪو توهان جي ڊزائن جي نمائندگي ڪري ٿو جيڪو سموليٽر استعمال ڪري ٿو تخليق کي هلائڻ لاءِ.
Xcelium -پيغام -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax 15 -
رسائي +rwc -status worklib. : ماڊل
پوسٽ-لي آئوٽ تخليق دوران تفصيل
پوسٽ-لي آئوٽ سموليشن جي صورت ۾، پهريون SDF file ncsdfc ڪمانڊ استعمال ڪندي تفصيل کان اڳ مرتب ڪيو وڃي.
ايڪسيليمfileنالو>.sdf-آئوٽ پٽfileنالو>.sdf.X
تفصيل جي دوران استعمال ڪريو مرتب ٿيل SDF آئوٽ پٽ سان -autosdf اختيار جيئن هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آهي.
xmelab -autosdf -پيغام -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
15 -رسائي + rwc -status worklib. : ماڊل -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 - اسٽيٽس ڪمبل. : ماڊل
Cadence Xcelium سيٽ اپ
اهم: سڀ مٿي ڏنل ٽن مرحلن کي گڏ ڪرڻ، تفصيل ڏيڻ ۽ نقل ڪرڻ جي شيل اسڪرپٽ ۾ رکي سگھجي ٿو 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 استعمال ڪندي ڊيزائنن جي پوسٽ-لي آئوٽ سميوليشنز، BFM سميوليشن ڪم نه ڪندا جيڪڏهن -libmap آپشن جي وضاحت دوران وضاحت نه ڪئي وئي آهي. اهو ئي سبب آهي ته وضاحت جي دوران، MSS ڪم لائبريري مان حل ڪيو ويو آهي (ڇاڪاڻ ته ڊفالٽ بائنڊنگ ۽ worklib جي postsynth/post-layout هجڻ جي ڪري) جتي اهو صرف هڪ مقرر ٿيل فنڪشن آهي.
ncelab ڪمانڊ لازمي طور تي لکيو وڃي جيئن هيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آهي SmartFusion2 precompiled لائبريري مان MSS بلاڪ کي حل ڪرڻ لاءِ.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
۽ lib.map file هن ريت هجڻ گهرجي:
config cfg1؛
ڊيزائن ؛
ڊفالٽ liblist smartfusion2 ؛
endconfig
اهو ڪم لائبرري ۾ ڏسڻ کان اڳ SmartFusion2 لائبريري ۾ ڪنهن به سيل کي حل ڪرڻ گهرجي يعني postsynth/post-layout.
-libmap آپشن ڊفالٽ طور استعمال ڪري سگھجي ٿو تفصيل جي دوران ھر تخليق لاءِ (presynth، postsynth ۽ post-layout). هي تخليقي مسئلن کان بچي ٿو جيڪي لائبريرين مان مثالن جي حل جي ڪري پيدا ٿين ٿا.
xmelab: *F، INTERR: اندروني استثنا
هي ncelab ٽول استثنا SmartFusion2 ۽ IGLOO2 ۾ FDDR تي مشتمل ڊيزائن لاءِ هڪ احتياط آهي.
-libmap آپشن استعمال ڪندي پوسٽ سنٿ ۽ پوسٽ-لي آئوٽ سموليشن دوران.
اهم: اهو مسئلو ڪيڊنس سپورٽ ٽيم (SAR 52113) کي ٻڌايو ويو آهي.
4.4 ايسample Tcl ۽ شيل اسڪرپٽ fileايس (هڪ سوال پڇو)
هيٺيون files جي تشڪيل آهن files ڊيزائن ۽ شيل اسڪرپٽ کي ترتيب ڏيڻ جي ضرورت آهي 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 =>
پري سنٿ)
وضاحت ڪريو LIB_MAP ( $LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => اڳڪٿي )
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 => نسخو )
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 => پري سنٿ )
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
- ڪم جي اڳڪٿي- لاگ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
4.5 خودڪار (مائڪروچپ لاگ ان)
هيٺ ڏنل رسم الخط file بدلائي ٿو ModelSim run.do files ترتيب ۾ files Xcelium استعمال ڪندي سموليشن کي هلائڻ جي ضرورت آهي.
اسڪرپٽ File استعمال
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
####################################################### #################################################
###############
#استعمال: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
####################################################### #################################################
###############
POSIX استعمال ڪريو؛
سخت استعمال؛
منهنجو ($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]؛
منهنجي $ رياست؛
جيڪڏهن (-e “$ModelSim_run_do”)
{
کليل (INFILE"$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
\"Libraries_location\"\n"؛
}
foreach $line (@ModelSim_run_do)
{
# جنرل آپريشنز
$line =~ s/..\/designer.*simulation\///g؛
$line =~ 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)/)
{
$line =~ s/..\/component/..\/..\/component/g؛
پرنٽ آئوٽFILE "$ لائن \n"؛
} elsif ($ line = ~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g؛
پرنٽ آئوٽFILE "$ لائن \n"؛
} يو
{
پرنٽ آئوٽFILE "$ لائن \n"؛
}
}
بند ڪريو (INFILE);
بند ڪريو (ٻاهرFILE);
} ٻيو {
پرنٽ “$ModelSim_run_do موجود ناهي. نقل وري هلايو \n”;
}
}
Siemens QuestaSim سيٽ اپ / ماڊل سم سيٽ اپ (هڪ سوال پڇو)
ڊوڙندو files، Libero SoC پاران ٺاهيل سميوليشنز لاءِ ModelSim Microsemi Editions استعمال ڪندي، QuestaSim/ModelSim SE/DE/PE کي ھڪڙي تبديلي سان استعمال ڪندي سميوليشن لاءِ استعمال ڪري سگھجي ٿو. ModelSim ME/ModelSim Pro ME run.do ۾ file, precompiled لائبريري جي جڳھ کي تبديل ڪرڻ جي ضرورت آهي.
اهم:
ڊفالٽ طور، ماڊل سم پرو ME کان سواءِ سموليشن ٽول سموليشن دوران ڊيزائن آپٽمائيزيشن انجام ڏئي ٿو جيڪو نموني نموني ۾ نمائش کي متاثر ڪري سگھي ٿو جهڙوڪ ڊيزائن آبجیکٹس ۽ ان پٽ اسٽيمولس.
هي عام طور تي پيچيده سميوليشنز لاءِ سموليشن رن ٽائم کي گهٽائڻ ۾ مددگار آهي، وربوز استعمال ڪندي، خود-چڪنگ ٽيسٽ بينچ. بهرحال، ڊفالٽ اصلاحون شايد سڀني سميوليشنز لاءِ مناسب نه هجن، خاص ڪري انهن صورتن ۾ جتي توهان توقع ڪندا آهيو ته موج ونڊو استعمال ڪندي تخليقي نتيجن جو گرافڪ معائنو ڪيو وڃي.
ھن اصلاح جي سبب پيدا ٿيل مسئلن کي حل ڪرڻ لاءِ، توھان کي لازمي طور شامل ڪرڻ گھرجي مناسب حڪم ۽ لاڳاپيل دليلن کي سموليشن دوران ڊيزائن ۾ نمائش بحال ڪرڻ لاءِ. اوزار جي مخصوص حڪمن لاءِ، استعمال ۾ سمائيٽر جي دستاويز کي ڏسو.
5.1 ماحولياتي تبديليون (هڪ سوال پڇو)
هيٺيان گهربل ماحولياتي متغير آهن.
- LM_LICENSE_FILE: لائسنس جو رستو شامل ڪرڻ گھرجي file.
- MODEL_TECH: QuestaSim تنصيب جي گھر ڊاريڪٽري جي جڳھ جي رستي کي سڃاڻڻ گھرجي.
- PATH: MODEL_TECH پاران اشارو ڪيل قابل عمل جڳھ ڏانھن اشارو ڪرڻ گھرجي.
5.2 بدلائڻ run.do لاءِ Mentor QuestaSim (هڪ سوال پڇو)
ڊوڙندو fileLibero SoC پاران ٺاهيل سميوليشنز لاءِ ModelSim Microsemi Editions استعمال ڪري سگھجن ٿيون Simulations لاءِ QuestaSim/ModelSim_SE استعمال ڪندي ھڪڙي تبديلي سان.
اهم: سڀ ڊزائن جيڪي QuestaSim استعمال ڪندي ٺاهيا ويا آهن انهن ۾ شامل ٿيڻ گهرجي -novopt
run.do اسڪرپٽ ۾ vsim ڪمانڊ سان گڏ اختيار files.
5.3 ڊائون لوڊ ڪريو مرتب ٿيل لائبريري (هڪ سوال پڇو)
Microsemi's کان Mentor گرافڪس QuestaSim لاءِ لائبريريون ڊائون لوڊ ڪريو webسائيٽ.
Synopsys VCS سيٽ اپ (هڪ سوال پڇو)
Microsemi پاران تجويز ڪيل وهڪري VCS ۾ تفصيلي ۽ مرتب ڪيل وهڪري تي ڀاڙي ٿو. ھن دستاويز ۾ ھڪڙي رسم الخط شامل آھي file جيڪو run.do اسڪرپٽ استعمال ڪري ٿو files Libero SoC پاران ٺاهيل آهي ۽ سيٽ اپ ٺاهي ٿو files جي ضرورت آهي VCS تخليق لاءِ. لکت file run.do استعمال ڪري ٿو file هيٺين ڪرڻ لاء.
- لائبريري ميپنگ ٺاهيو file، جيڪو استعمال ڪيو ويندو آهي synopsys_sim.setup file ساڳئي ڊاريڪٽري ۾ واقع آهي جتي VCS سموليشن هلندي آهي.
- شيل اسڪرپٽ ٺاهيو file VCS استعمال ڪندي پنھنجي ڊيزائن کي تفصيلي ۽ مرتب ڪرڻ لاءِ.
6.1 ماحولياتي تبديليون (هڪ سوال پڇو)
پنهنجي سيٽ اپ جي بنياد تي VCS لاءِ مناسب ماحوليات متغير مقرر ڪريو. VCS دستاويزن جي مطابق ماحول جي متغير گهربل آهن:
- LM_LICENSE_FILE: لائسنس سرور ڏانهن اشارو شامل ڪرڻ لازمي آهي.
- VCS_HOME: VCS تنصيب جي گھر ڊاريڪٽري جي جڳھ ڏانھن اشارو ڪرڻ گھرجي.
- PATH: VCS_HOME ڊاريڪٽري جي ھيٺان بِن ڊاريڪٽري ڏانھن پوائنٽر شامل ڪرڻ گھرجي.
6.2 ڊائون لوڊ مرتب ٿيل لائبريري (هڪ سوال پڇو)
لائبرريون ڊائون لوڊ ڪريو Synopsys VCS لاءِ Microsemi's مان webسائيٽ.
6.3 VCS سموليشن اسڪرپٽ File (هڪ سوال پڇو)
VCS قائم ڪرڻ کان پوء ۽ ڊزائين ٺاهڻ ۽ مختلف run.do files Libero SoC کان، توهان کي لازمي آهي:
- لائبريري ميپنگ ٺاهيو file synopsys_sim.setup ؛ هي file سڀني لائبريرين جي جڳھ ڏانھن اشارو شامل آھي جيڪي ڊزائن پاران استعمال ڪيا ويندا.
اهم: جي file نالو تبديل نه ٿيڻ گھرجي ۽ اھو لازمي طور تي ھڪڙي ڊاريڪٽري ۾ واقع ھجڻ گھرجي جتي تخليق ھلائي رھي آھي. هتي هڪ سابق آهيample اهڙي لاءِ file presynthesis simulation لاء.
ڪم > EFAULT
SmartFusion2:
presynth: ./presynth
ڊفالٽ: ./ڪم - مختلف ڊيزائن جي وضاحت ڪريو files، ٽيسٽ بينچ سميت، VCS ۾ vlogan ڪمانڊ استعمال ڪندي. اهي حڪم هڪ شيل اسڪرپٽ ۾ شامل ٿي سگهن ٿيون file. هيٺ ڏنل هڪ اڳوڻي آهيamprtl.v ۾ بيان ڪيل ڊيزائن کي وضاحت ڪرڻ لاءِ گهربل حڪمن جو le.
testbench.v
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - هيٺ ڏنل حڪم استعمال ڪندي VCS استعمال ڪندي ڊيزائن کي گڏ ڪريو.
vcs –sim_res=1fs presynth.testbench
نوٽ: جي سموليشن جي ٽائيم ريزوليوشن کي 1fs تي صحيح فنڪشنل تخليق لاءِ مقرر ڪيو وڃي. - هڪ دفعو ڊزائين مرتب ڪيو ويو آهي، هيٺ ڏنل حڪم استعمال ڪندي تخليق شروع ڪريو.
./simv - پوئتي تشريح ٿيل تخليق لاء، VCS حڪم لازمي طور تي ھيٺ ڏنل ڪوڊ بلاڪ ۾ ڏيکاريل آھي.
vcs postlayout.testbench –sim_res=1fs –sdf وڌ ۾ وڌ: .
نالو>: file path> -gui -l postlayout.log
6.4 حدون/ استثنا (هڪ سوال پڇو)
هيٺيون Synopsys VCS سيٽ اپ جون حدون/ استثنا آهن.
- VCS سموليشن صرف ليبرو SoC جي Verilog منصوبن لاءِ هلائي سگھجن ٿا. VCS سموليٽر وٽ سخت VHDL ٻولي جون گهرجون آهن جيڪي Libero SoC خودڪار ٺاهيل VHDL پاران پورا نه ٿيون ٿين. files.
- توھان وٽ لازمي آھي $finish بيان Verilog testbench ۾ جڏھن توھان چاھيو سموليشن کي روڪڻ لاءِ.
اهم: جڏهن سموليشن GUI موڊ ۾ هلائي رهيا آهن، هلائڻ جو وقت GUI ۾ بيان ڪري سگهجي ٿو.
6.5 ايسample Tcl ۽ شيل اسڪرپٽ Fileايس (هڪ سوال پڇو)
هيٺ ڏنل پرل synopsys_sim.setup جي نسل کي خودڪار ڪري ٿو file انهي سان گڏ لاڳاپيل شيل اسڪرپٽ files جي ضرورت آهي وضاحت ڪرڻ، مرتب ڪرڻ، ۽ ڊزائن کي نقل ڪرڻ لاءِ.
جيڪڏهن ڊزائن هڪ MSS استعمال ڪري ٿي، ڪاپي ڪريو test.vec file Libero SoC پروجيڪٽ جي سيميوليشن فولڊر ۾ وي سي ايس سموليشن فولڊر ۾ واقع آهي. هيٺين حصن تي مشتمل آهي sample run.do files Libero SoC پاران ٺاهيل، لاڳاپيل لائبريري ميپنگ ۽ شيل اسڪرپٽ سميت files جي ضرورت آهي VCS تخليق لاءِ.
6.5.1 اڳ-ترڪيب (هڪ سوال پڇو)
Presynth_run.do
خاموشي سان سيٽ ڪريو ACTELLIBNAME SmartFusion2
خاموشيءَ سان سيٽ ڪريو PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF”
جيڪڏهن {[file موجود آهي presynth/_info]} {
گونج ”معلومات: تخليقي لائبريري اڳ ۾ ئي موجود آهي“
} ٻيو {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
موج شامل ڪريو /SD1_TB1/*
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/
ڪم/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]} {
گونج “INFO: Simulation Library postsynth اڳ ۾ ئي موجود آهي”
} ٻيو {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
موج شامل ڪريو /SD1_TB1/*
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” -ڪم
پوسٽ سنٿ “${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
پوسٽ سنٿ: ./possynth
ڊفالٽ: ./ڪم
6.5.3 پوسٽ ترتيب (هڪ سوال پڇو)
postlayout_run.do
خاموشي سان سيٽ ڪريو ACTELLIBNAME SmartFusion2
خاموشي سان PROJECT_DIR سيٽ ڪريو "E:/ModelSim_Work/Test_DFF"
جيڪڏهن {[file موجود آهي ../designer/SD1/simulation/postlayout/_info]} {
گونج "INFO: Simulation لائبريري ../designer/SD1/simulation/postlayout اڳ ۾ ئي موجود آهي"
} ٻيو {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work postlayout “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L پوسٽ ترتيب -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.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}/
ڊيزائنر/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
6.6 خودڪار (هڪ سوال پڇو)
وهڪري کي هيٺ ڏنل پرل اسڪرپٽ استعمال ڪندي خودڪار ٿي سگهي ٿو file تبديل ڪرڻ لاءِ ModelSim run.do files VCS مطابقت واري شيل اسڪرپٽ ۾ files، Libero SoC سميوليشن ڊاريڪٽري اندر مناسب ڊائريڪٽري ٺاھيو، ۽ پوءِ سميوليشن کي ھلايو.
اسڪرپٽ هلايو file هيٺ ڏنل نحو استعمال ڪندي.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
####################################################### #########################
#
#استعمال: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
####################################################### ############################
منهنجو ($presynth، $postsynth، $postlayout) = @ARGV؛
if(system(“mkdir VCS_Presynth”)) {پرنٽ “mkdir ناڪام ٿيو:\n”;}
جيڪڏهن (سسٽم(“mkdir VCS_Postsynth”)) {پرنٽ “mkdir ناڪام ٿيو:\n”;}
جيڪڏهن (سسٽم ("mkdir VCS_Postlayout")) {پرنٽ "mkdir ناڪام ٿيو:\n"؛}
chdir(VCS_Presynth)؛
`cp ../$ARGV[0] .` ;
&parse_do($presynth,"presynth");
chdir ("../")؛
chdir(VCS_Postsynth)؛
`cp ../$ARGV[1] .` ;
&parse_do($possynth,"postsynth");
chdir ("../")؛
chdir(VCS_Postlayout)؛
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,"postlayout");
chdir ("../")؛
ذيلي 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
پرنٽ آئوٽ 2 ”ڪم > ڊفالٽ\n“ ؛
پرنٽ OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
جڏهن ته ($ لائن =FILE>)
{
Synopsys VCS سيٽ اپ
جيڪڏهن ($ لائن = ~ m/خاموشيءَ سان سيٽ ڪريو PROJECT_DIR\s+\"(.*؟)\"/)
{
پرنٽ OUT1 “سيٽ PROJECT_DIR = \"$1\"\n\n\n" ;
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
جيڪڏھن ($line =~ m/\s+(\w*?)\_LIB/)
{
# ڇاپيو "\$1 = $1 \n" ؛
$temp = "$1"."_LIB"؛
# پرنٽ "Temp = $temp \n" ؛
$LIB{$temp}++؛
}
chomp ($ لائن)؛
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g؛
پرنٽ آئوٽ 1 “$ لائن\n”؛
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g؛
chomp ($tb)؛
# پرنٽ "ٽي بي جو نالو: $tb \n"؛
جيڪڏھن ( $line = ~ m/sdf ( ) * . sdf / )
{
chomp ($ لائن)؛
$line = $1؛
# پرنٽ "لائن: $ لائن \n" ؛
جيڪڏهن ($ لائن = ~ m/max/)
{
$line =~ s/max \" // ؛
$line =~ s/=/:/؛
پرنٽ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
وڌ ۾ وڌ:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($ line = ~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/؛
پرنٽ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
منٽ:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($ line = ~ m/typ/)
{
$line =~ s/typ /// ;
$line =~ s/=/:/؛
پرنٽ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ٽائيپ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ماڊل سم SDF فارميٽ
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"؛ -VCS
SDF فارميٽ
}
}
}
ڇپائي
ٻاهر 1 “\n\n”
;
if
($state eq "presynth"
)
{
ڇپائي
ٻاهر 2 "پريسنٿ
: ./presynth\n”
;
ڇپائي
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
ايلسف
($state eq "possynth"
)
{
ڇپائي
ٻاهر 2 "پوسٽ سنٿ
: ./possynth\n”
;
ڇپائي
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
ايلسف
($state eq "پوسٽ لي آئوٽ"
)
{
پرنٽ OUT2 "پوسٽ لي آئوٽ: ./postlayout\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. Siemens QuestaSim Setup/ModelSim Setup ھڪڙو نئون نوٽ شامل ڪرڻ لاءِ جيڪو بيان ڪري ٿو سموليشن ۽ اصلاح جي دوران ڏيک تي اثر. |
مائڪروچپ FPGA سپورٽ
Microchip 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 ۽ معلومات آساني سان گراهڪن لاء دستياب آهي. موجود مواد مان ڪجھ شامل آھن:
- پراڊڪٽ سپورٽ - ڊيٽا شيٽ ۽ خطا، ايپليڪيشن نوٽس ۽ ايسampلي پروگرام، ڊيزائن جا وسيلا، صارف جي رهنمائي ۽ هارڊويئر سپورٽ دستاويز، جديد سافٽ ويئر رليز ۽ آرڪائيو ٿيل سافٽ ويئر
- جنرل ٽيڪنيڪل سپورٽ - اڪثر پڇيا ويندڙ سوال (FAQs)، ٽيڪنيڪل سپورٽ جون درخواستون، آن لائين بحث مباحثا گروپ، مائڪروچپ ڊيزائن پارٽنر پروگرام ميمبر لسٽنگ
- مائڪروچپ جو ڪاروبار - پراڊڪٽ سليڪٽر ۽ آرڊرنگ گائيڊز، تازو مائڪروچپ پريس رليز، سيمينارن ۽ واقعن جي لسٽنگ، مائڪروچپ سيلز آفيسن جي لسٽنگ، ڊسٽريبيوٽر ۽ فيڪٽري جا نمائندا
پيداوار جي تبديلي جي اطلاع جي خدمت
مائڪروچپ جي پراڊڪٽ تبديلي جي نوٽيفڪيشن سروس مدد ڪري ٿي صارفين کي موجوده مائڪروچپ پروڊڪٽس تي. رڪنن کي اي ميل نوٽيفڪيشن ملندو جڏهن به تبديليون، تازه ڪاريون، ترميمون يا غلطيون هونديون جيڪي مخصوص پراڊڪٽ فيملي سان لاڳاپيل هونديون يا دلچسپي جي ڊولپمينٽ اوزار.
رجسٽر ڪرڻ لاءِ، وڃو www.microchip.com/pcn ۽ رجسٽريشن جي هدايتن تي عمل ڪريو.
ڪسٽمر سپورٽ
مائڪروچپ پروڊڪٽس جا استعمال ڪندڙ ڪيترن ئي چينلن ذريعي مدد حاصل ڪري سگھن ٿا:
- تقسيم ڪندڙ يا نمائندو
- مقامي سيلز آفيس
- ايمبيڊڊ حل انجنيئر (ESE)
- ٽيڪنيڪل سپورٽ
گراهڪن کي مدد لاءِ سندن ورهائيندڙ، نمائندو يا ESE سان رابطو ڪرڻ گهرجي. مقامي سيلز آفيسون پڻ موجود آهن گراهڪن جي مدد لاءِ. سيلز آفيسن ۽ هنڌن جي هڪ لسٽ هن دستاويز ۾ شامل آهي.
ٽيڪنيڪل سپورٽ جي ذريعي دستياب آهي webسائيٽ تي: www.microchip.com/support
مائڪروچپ ڊوائيسز ڪوڊ تحفظ جي خصوصيت
مائڪروچپ پروڊڪٽس تي ڪوڊ تحفظ جي خصوصيت جا هيٺيان تفصيل نوٽ ڪريو:
- مائڪروچپ پروڊڪٽس انهن جي خاص مائڪروچپ ڊيٽا شيٽ ۾ موجود وضاحتن کي پورا ڪن ٿيون.
- مائڪروچپ يقين رکي ٿو ته ان جي پروڊڪٽس جو خاندان محفوظ آهي جڏهن استعمال ٿيل انداز ۾، آپريٽنگ وضاحتن جي اندر، ۽ عام حالتن ۾.
- مائڪروچپ قدر ۽ جارحتي طور تي ان جي دانشورانه ملڪيت جي حقن جي حفاظت ڪري ٿو. Microchip پراڊڪٽ جي ڪوڊ تحفظ جي خصوصيتن جي ڀڃڪڙي ڪرڻ جي ڪوشش سختي سان منع ٿيل آهي ۽ ڊجيٽل ملينيم ڪاپي رائيٽ ايڪٽ جي ڀڃڪڙي ٿي سگهي ٿي.
- نه ئي Microchip ۽ نه ئي ڪو ٻيو سيمي ڪنڊڪٽر ٺاهيندڙ ان جي ڪوڊ جي حفاظت جي ضمانت ڏئي سگهي ٿو. ڪوڊ تحفظ جو مطلب اهو ناهي ته اسان ضمانت ڪري رهيا آهيون پراڊڪٽ ”ناقابل برداشت“ آهي.
ڪوڊ تحفظ مسلسل ترقي ڪري رهيو آهي. Microchip مسلسل اسان جي پروڊڪٽس جي ڪوڊ تحفظ خاصيتن کي بهتر ڪرڻ لاء پرعزم آهي.
قانوني نوٽيس
هي پبليڪيشن ۽ هتي ڏنل معلومات صرف مائڪروچپ پراڊڪٽس سان استعمال ٿي سگهي ٿي، جنهن ۾ توهان جي ايپليڪيشن سان مائڪروچپ پروڊڪٽس کي ڊزائين ڪرڻ، ٽيسٽ ڪرڻ ۽ ضم ڪرڻ شامل آهي. ڪنهن ٻئي طريقي سان هن معلومات جو استعمال انهن شرطن جي ڀڃڪڙي آهي. ڊوائيس ايپليڪيشنن جي حوالي سان معلومات صرف توهان جي سهولت لاء مهيا ڪئي وئي آهي ۽ ٿي سگهي ٿي تازه ڪاري جي ذريعي. اهو توهان جي ذميواري آهي انهي کي يقيني بڻائڻ ته توهان جي درخواست توهان جي وضاحتن سان ملن ٿا. اضافي مدد لاءِ پنهنجي مقامي مائڪروچپ سيلز آفيس سان رابطو ڪريو يا، تي اضافي مدد حاصل ڪريو www.microchip.com/en-us/support/design-help/client-support-services.
هي معلومات مائڪروچپ پاران مهيا ڪيل آهي "جيئن آهي". مائڪروچپ ڪنهن به قسم جي نمائندگي يا وارنٽي نٿو ڏئي ته ظاهري هجي يا نقلي هجي، لکيل هجي يا زباني، قانوني يا ٻي صورت ۾، معلومات سان لاڳاپيل هجي پر ان ۾ محدود نه هجي غير خلاف ورزي، واپار، ۽ هڪ خاص مقصد لاءِ مناسب، يا ان جي حالت، معيار، يا ڪارڪردگي سان لاڳاپيل وارنٽيون.
ڪنهن به صورت ۾ مائڪروچپ ڪنهن به اڻ سڌي، خاص، تعزيتي، اتفاقي، يا نتيجي ۾ ٿيندڙ نقصان، نقصان، قيمت، يا ڪنهن به قسم جي خرچ لاءِ ذميوار نه هوندي، جيڪو به يو ايس ويسٽس سان لاڳاپيل هجي، ايستائين جو مائڪروچپ کي صلاح ڏني وئي آهي امڪاني يا نقصانات اڳڪٿي ڪري سگهجن ٿيون. قانون طرفان اجازت ڏنل مڪمل حد تائين، معلومات يا ان جي استعمال سان لاڳاپيل سڀني دعوائن تي مائڪروچپ جي مڪمل ذميواري ڪنهن به طريقي سان فيس جي رقم کان وڌيڪ نه هوندي، جيڪڏهن توهان کي ڪنهن به صورت ۾، معلومات لاء مائڪروچپ.
لائف سپورٽ ۽/يا حفاظتي ايپليڪيشنن ۾ مائڪروچپ ڊوائيسز جو استعمال مڪمل طور تي خريد ڪندڙ جي خطري تي آهي، ۽ خريد ڪندڙ اتفاق ڪري ٿو حفاظت ڪرڻ، معاوضي ڏيڻ ۽ بي ضرر مائڪروچپ کي ڪنهن به ۽ سڀني نقصانن، دعوائن، سوٽ، يا خرچن کان اهڙي استعمال جي نتيجي ۾. ڪوبه لائسنس نه ڏنو ويو آهي، واضح طور تي يا ٻي صورت ۾، ڪنهن به مائڪروچپ دانشورانه ملڪيت جي حقن جي تحت، جيستائين ٻي صورت ۾ بيان نه ڪيو وڃي.
ٽريڊ مارڪ
مائڪروچپ جو نالو ۽ لوگو، مائڪروچپ لوگو، Adaptec، AVR، AVR لوگو، AVR Freaks، BesTime، BitCloud، CryptoMemory، CryptoRF، dsPIC، flexPWR، HELDO، IGLOO، JukeBlox، KeeLoq، Linkus MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST لوگو, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST, SymFST, Logo , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, ۽ XMEGA آمريڪا ۽ ٻين ملڪن ۾ شامل ڪيل Microchip ٽيڪنالاجي جا رجسٽرڊ ٽريڊ مارڪ آھن.
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-Smart-Wires, Quiiet Plus Logo SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, and ZL آهن رجسٽرڊ ٽريڊ مارڪ مائڪرو چِپ ٽيڪنالاجي جا شامل آهن آمريڪا ۾
ڀرپاسي ڪي دٻائڻ، AKS، اينالاگ-فار-دي-ڊجيٽل عمر، ڪو به ڪيپيسٽر، AnyIn، AnyOut، Augmented Switching، BlueSky، BodyCom، Clockstudio، CodeGuard، CryptoAuthentication، CryptoAutomotive، CryptoAuthentication، CryptoAutomotive، CryptoAuthentication، CryptoAutomotive. ، متحرڪ اوسط ملائڻ , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-chip Connectivity, JitterBlocker, Knob-on-Display, Kopmaxry, KoD,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-IS, storClad, SQI, SuperSwitcher
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan، WiperLock، XpressConnect، ۽ ZENA آهن ٽريڊ مارڪ مائڪروچپ ٽيڪنالاجي شامل آهن
آمريڪا ۽ ٻين ملڪن ۾.
SQTP آمريڪا ۾ شامل ڪيل مائڪروچپ ٽيڪنالاجي جو هڪ خدمت نشان آهي
Adaptec لوگو، فريڪوئنسي آن ڊيمانڊ، سلڪون اسٽوريج ٽيڪنالاجي، ۽ Symmcom ٻين ملڪن ۾ Microchip Technology Inc. جا رجسٽرڊ ٽريڊ مارڪ آهن.
GestIC Microchip Technology Germany II GmbH & Co. KG جو هڪ رجسٽرڊ ٽريڊ مارڪ آهي، جيڪو Microchip Technology Inc. جي ماتحت آهي، ٻين ملڪن ۾.
هتي ذڪر ڪيل ٻيا سڀئي ٽريڊ مارڪ انهن جي لاڳاپيل ڪمپنين جي ملڪيت آهن.
© 2023، Microchip ٽيڪنالاجي شامل ڪيل ۽ ان جي ماتحت. سڀ حق محفوظ آهن.
ISBN: 978-1-6683-3694-6
معيار جي انتظام جو نظام
Microchip جي معيار مينيجمينٽ سسٽم بابت معلومات لاء، مهرباني ڪري دورو ڪريو www.microchip.com/quality.
آمريڪا | ايشيا / پئسفڪ | ايشيا / پئسفڪ | يورپ |
ڪارپوريٽ آفيس 2355 ويسٽ چانڊلر بل وي ڊي. چانڊلر، AZ 85224-6199 ٽيليفون: 480-792-7200 فيڪس: 480-792-7277 ٽيڪنيڪل سپورٽ: www.microchip.com/support Web ائڊريس: www.microchip.com ائٽلانتا دولٿ، GA ٽيليفون: 678-957-9614 فيڪس: 678-957-1455 آسٽن، TX ٽيليفون: 512-257-3370 بوسٽن ويسٽبورو، ايم اي ٽيليفون: 774-760-0087 فيڪس: 774-760-0088 شڪاگو Itasca، IL ٽيليفون: 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 نيو يارڪ، NY ٽيليفون: 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 چين - Qingdao ٽيليفون: 86-532-8502-7355 چين - شنگھائي ٽيليفون: 86-21-3326-8000 چين - شين يانگ ٽيليفون: 86-24-2334-2829 چين - شينزين ٽيليفون: 86-755-8864-2200 چين - سوزو ٽيليفون: 86-186-6233-1526 چين - ووهان ٽيليفون: 86-27-5980-5300 چين - Xian ٽيليفون: 86-29-8833-7252 چين - Xiamen ٽيليفون: 86-592-2388138 چين - Zhuhai ٽيليفون: 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 تائيوان - Hsin Chu ٽيليفون: 886-3-577-8366 تائيوان - Kaohsiung ٽيليفون: 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 جرمني - Rosenheim ٽيليفون: 49-8031-354-560 اسرائيل - راناانا ٽيليفون: 972-9-744-7705 اٽلي - ملان ٽيليفون: 39-0331-742611 فيڪس: 39-0331-466781 اٽلي - Padova ٽيليفون: 39-049-7625286 هالينڊ - Drunen ٽيليفون: 31-416-690399 فيڪس: 31-416-690340 ناروي - Trondheim ٽيليفون: 47-72884388 پولينڊ - وارسا ٽيليفون: 48-22-3325737 رومانيا - بخارسٽ 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 UK - Wokingham ٽيليفون: 44-118-921-5800 فيڪس: 44-118-921-5820 |
© 2023 Microchip Technology Inc. ۽ ان جا ماتحت ادارا
DS50003627A -
دستاويز / وسيلا
![]() |
MICROCHIP Libero SoC Simulation لائبريري سافٽ ويئر [pdf] استعمال ڪندڙ ھدايت DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Libery Software, Software |