شبیه سازی SoC Libero
دستورالعمل راه اندازی کتابخانه
مقدمه
هدف این سند توصیف روش راه اندازی محیط شبیه سازی با استفاده از پروژه Libero SoC به عنوان ورودی است. این مستندات مربوط به کتابخانه های از پیش کامپایل شده ای است که برای استفاده با Libero SoC v11.9 و نسخه های نرم افزار جدیدتر ارائه شده است. کتابخانه های ارائه شده برای Verilog گردآوری شده اند. کاربران VHDL به مجوزی نیاز دارند که امکان شبیه سازی حالت مختلط را فراهم کند.
کتابخانه های شبیه سازی کامپایل شده برای ابزارهای زیر در دسترس هستند:
- Aldec Active-HDL
- Aldec Riviera-PRO
- Cadence Incisive Enterprise و Xcelium
- زیمنس QuestaSim
- Synopsys VCS
برای درخواست کتابخانه برای شبیه ساز متفاوت، تماس بگیرید پشتیبانی فنی ریزتراشه.
یکپارچه سازی SoC Libero
Libero SoC از شبیه سازی با استفاده از ModelSim ME با ایجاد run.do پشتیبانی می کند file. این file توسط ModelSim ME/ModelSim Pro ME برای راه اندازی و اجرای شبیه سازی استفاده می شود. برای استفاده از سایر ابزارهای شبیه سازی، می توانید ModelSim ME/ModelSim Pro ME run.do را تولید کنید و اسکریپت Tcl را تغییر دهید. file برای استفاده از دستوراتی که با شبیه ساز شما سازگار است.
1.1 Libero SoC Tcl File نسل (یک سوال بپرسید)
پس از ایجاد و تولید طراحی در Libero SoC، شبیه سازی ModelSim ME/ModelSim Pro ME را در تمام مراحل طراحی (presynth، postsynth و post-layout) شروع کنید. این مرحله run.do را ایجاد می کند file برای ModelSim ME/ModelSim Pro ME برای هر مرحله طراحی.
مهم: پس از شروع هر اجرای شبیه سازی، نام run.do تولید شده به صورت خودکار را تغییر دهید file تحت دایرکتوری شبیه سازی برای جلوگیری از رونویسی Libero SoC file. برای مثالampلو ، files را می توان به presynth_run.do، postsynth_run.do و postlayout_run.do تغییر نام داد.
Aldec Setup برای Active-HDL و Riviera-Pro (یک سوال بپرسید)
اجرا کنید file استفاده شده توسط ModelSim ME/ModelSim Pro ME را می توان تغییر داد و برای شبیه سازی با استفاده از شبیه سازهای Aldec استفاده کرد.
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 می تواند برای شبیه سازی با استفاده از Active-HDL و Riviera-Pro با یک تغییر استفاده شود. جدول زیر دستورات معادل Aldec را برای تغییر در ModelSim run.do فهرست می کند file.
جدول 2-1. دستورات معادل Aldec
ModelSim | Active-HDL |
vlog | از بین بردن |
vcom | acom |
vlib | alib |
vsim | asim |
vmap | آمپ |
زیر به عنوان استample run.do مربوط به شبیه سازهای Aldec است.
- محل دایرکتوری کاری فعلی را تنظیم کنید.
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
10 us اجرا کنید
2.4 مسائل شناخته شده (یک سوال بپرسید)
این بخش مشکلات و محدودیت های شناخته شده را فهرست می کند.
- کتابخانههایی که با استفاده از Riviera-PRO کامپایل شدهاند، مختص پلتفرم هستند (یعنی کتابخانههای 64 بیتی را نمیتوان بر روی پلتفرم 32 بیتی اجرا کرد و بالعکس).
- برای طرح های حاوی SERDES/MDDR/FDDR، از گزینه زیر در run.do خود استفاده کنید files هنگام اجرای شبیه سازی ها پس از کامپایل طرح های آنها:
– Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (برای شبیهسازیهای پیشسینت و پسآرایش) و asim –O5 (برای شبیهسازیهای پس از چیدمان)
راهاندازی Aldec برای Active-HDL و Riviera-Pro دارای SARهای معلق زیر است. برای اطلاعات بیشتر تماس بگیرید پشتیبانی فنی ریزتراشه. - SAR 49908 – Active-HDL: خطای VHDL برای شبیه سازی بلوک های ریاضی
- SAR 50627 – Riviera-PRO 2013.02: خطاهای شبیه سازی برای طرح های SERDES
- SAR 50461 – Riviera-PRO: گزینه asim -O2/-O5 در شبیه سازی
راه اندازی Cadence Incisive (یک سوال بپرسید)
شما باید یک اسکریپت ایجاد کنید file شبیه به ModelSim ME/ModelSim Pro ME run.do برای اجرای
شبیه ساز Cadence Incisive. این مراحل را دنبال کنید و اسکریپت ایجاد کنید file برای NCSim یا از اسکریپت استفاده کنید file
ارائه شده برای تبدیل ModelSim ME/ModelSim Pro ME run.do files وارد پیکربندی شود files
برای اجرای شبیه سازی ها با استفاده از NCSim مورد نیاز است.
مهم: آهنگ انتشار نسخه های جدید Incisive Enterprise را متوقف کرده است
شبیه ساز و شروع به پشتیبانی از شبیه ساز Xcelium کرد.
3.1 متغیرهای محیطی (یک سوال بپرسید)
برای اجرای شبیه ساز Cadence Incisive، متغیرهای محیطی زیر را پیکربندی کنید:
- LM_LICENSE_FILE: باید یک اشاره گر به مجوز داشته باشد file.
- cds_root: باید به محل دایرکتوری اصلی نصب Cadence Incisive اشاره کند.
- PATH: باید به مکان bin در زیر دایرکتوری tools اشاره کند که توسط cds_root نشان داده شده است،
$cds_root/tools/bin/64bit (برای یک ماشین 64 بیتی و $cds_root/tools/bin برای یک ماشین 32 بیتی).
سه راه برای تنظیم محیط شبیه سازی در صورت سوئیچ بین سیستم عامل های 64 بیتی و 32 بیتی وجود دارد:
مورد 1: متغیر PATH
دستور زیر را اجرا کنید:
مسیر تنظیم = (install_dir/tools/bin/64bit $path) برای ماشین های 64 بیتی و
مسیر تنظیم = (install_dir/tools/bin $path) برای ماشین های 32 بیتی
مورد 2: استفاده از گزینه -64bit Command-line
در خط فرمان گزینه -64bit را برای فراخوانی فایل اجرایی 64bit مشخص کنید.
مورد 3: تنظیم متغیر محیطی INCA_64BIT یا CDS_AUTO_64BIT
متغیر INCA_64BIT به عنوان بولی در نظر گرفته می شود. شما می توانید این متغیر را به هر مقدار یا یک رشته تهی تنظیم کنید.
setenv INCA_64BIT
مهم: متغیر محیطی INCA_64BIT بر سایر ابزارهای Cadence مانند ابزارهای IC تأثیر نمی گذارد. با این حال، برای ابزار Incisive، متغیر INCA_64BIT تنظیمات متغیر محیطی CDS_AUTO_64BIT را لغو می کند. اگر متغیر محیطی INCA_64BIT تنظیم شده باشد، همه ابزارهای Incisive در حالت 64 بیتی اجرا می شوند. setenv CDS_AUTO_64BIT شامل:INCA
مهم: رشته INCA باید با حروف بزرگ باشد. همه فایل های اجرایی باید در حالت 32 بیتی یا 64 بیتی اجرا شوند، متغیر را طوری تنظیم نکنید که شامل یک فایل اجرایی باشد، مانند موارد زیر:
setenv CDS_AUTO_64BIT شامل:ncelab
سایر ابزارهای Cadence مانند ابزارهای آی سی نیز از متغیر محیطی CDS_AUTO_64BIT برای کنترل انتخاب فایل های اجرایی 32 بیتی یا 64 بیتی استفاده می کنند. جدول زیر نشان می دهد که چگونه می توانید متغیر CDS_AUTO_64BIT را برای اجرای ابزارهای Incisive و ابزارهای آی سی در همه حالت ها تنظیم کنید.
جدول 3-1. متغیرهای CDS_AUTO_64BIT
متغیر CDS_AUTO_64BIT | ابزارهای برش دهنده | ابزار آی سی |
setenv CDS_AUTO_64BIT ALL | 64 بیت | 64 بیت |
setenv CDS_AUTO_64BIT هیچکدام | 32 بیت | 32 بیت |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary | 64 بیت | 32 بیت |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 بیت | 64 بیت |
مهم: همه ابزارهای Incisive باید در حالت 32 بیتی یا 64 بیتی اجرا شوند، از EXCLUDE برای حذف یک فایل اجرایی خاص مانند موارد زیر استفاده نکنید: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
اگر متغیر CDS_AUTO_64BIT را برای حذف ابزارهای Incisive تنظیم کنید (setenv CDS_AUTO_64BIT EXCLUDE:INCA)، همه ابزارهای Incisive در حالت 32 بیتی اجرا می شوند. با این حال، گزینه خط فرمان -64 بیت، متغیر محیطی را لغو می کند.
پیکربندی زیر fileبه شما کمک می کند تا داده های خود را مدیریت کنید و عملکرد ابزارها و ابزارهای شبیه سازی را کنترل کنید:
- نقشه برداری کتابخانه file (cds.lib) - یک نام منطقی برای محل طراحی شما تعریف می کند.
- کتابخانه می کند و آنها را با نام دایرکتوری فیزیکی مرتبط می کند.
- متغیرها file (hdl.var) - متغیرهایی را تعریف می کند که بر رفتار ابزارها و ابزارهای شبیه سازی تأثیر می گذارند.
3.2 دانلود کتابخانه کامپایل (یک سوال بپرسید)
کتابخانه های Cadence Incisive را از Microsemi’s دانلود کنید webسایت
3.3 ایجاد اسکریپت NCSim File (یک سوال بپرسید)
پس از ایجاد یک کپی از run.do files، این مراحل را برای اجرای شبیه سازی با استفاده از NCSim انجام دهید:
- یک cds.lib ایجاد کنید file که کتابخانه های قابل دسترسی و مکان آنها را تعریف می کند. این file حاوی عباراتی است که نامهای منطقی کتابخانه را به مسیرهای دایرکتوری فیزیکی آنها ترسیم می کند. برای مثالample، اگر شبیه سازی presynth را اجرا می کنید، cds.lib file همانطور که در کد بلوک زیر نشان داده شده است نوشته شده است.
DEFINE presynth ./presynth
COREAHBLITE_LIB را تعریف کنید./COREAHBLITE_LIB
تعریف smartfusion2 - یک hdl.var ایجاد کنید file، یک پیکربندی اختیاری است file که شامل متغیرهای پیکربندی است که نحوه پیکربندی محیط طراحی شما را مشخص می کند. متغیر زیر files شامل می شوند:
– متغیرهایی که برای تعیین کتابخانه کاری که در آن کامپایلر اشیاء کامپایل شده و سایر داده های مشتق شده را ذخیره می کند استفاده می شود.
– برای Verilog، متغیرها (LIB_MAP، VIEW_MAP، WORK) که برای تعیین کتابخانه ها و views برای جستجو در زمانی که سازنده موارد را حل می کند.
– متغیرهایی که به شما امکان می دهند گزینه ها و آرگومان های خط فرمان کامپایلر، توسعه دهنده و شبیه ساز را تعریف کنید.
در مورد شبیه سازی پیش سنتزampدر بالا نشان داده شده است، بگویید ما سه RTL داریم files: a.v، b.v و testbench.v که باید به ترتیب در کتابخانه های presynth، COREAHBLITE_LIB و presynth کامپایل شوند. hdl.var file را می توان همانطور که در کد بلوک زیر نشان داده شده است نوشت.
DEFINE WORK presynth
DEFINE PROJECT_DIR <مکان از files>
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/a.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/b.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/testbench.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، + => presynth) - طرح را کامپایل کنید fileبا استفاده از گزینه ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - طرح را با استفاده از ncelab به تفصیل بسازید. سازنده یک سلسله مراتب طراحی را بر اساس اطلاعات نمونه سازی و پیکربندی در طراحی ایجاد می کند، اتصال سیگنال را برقرار می کند و مقادیر اولیه را برای همه اشیاء در طراحی محاسبه می کند. سلسله مراتب طراحی دقیق در یک عکس فوری شبیه سازی ذخیره می شود، که نمایشی از طرح شما است که شبیه ساز برای اجرای شبیه سازی استفاده می کند.
ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
access +rwc –status worklib.:module
شرح و بسط در طول شبیه سازی Post-layout
در صورت شبیه سازی پس از چیدمان، ابتدا SDF file باید قبل از توضیح با استفاده از دستور ncsdfc کامپایل شود.
ncsdfcfilename>.sdf –outputfileنام>.sdf.X
در حین توضیح از خروجی SDF کامپایل شده با گزینه –autosdf همانطور که در کد بلوک زیر نشان داده شده است استفاده کنید.
ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 – access +rwc – status worklib.:module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file باید مانند بلوک کد زیر باشد.
COMPILED_SDF_FILE = «<مکان SDF کامپایل شده file>> - با استفاده از ncsim شبیه سازی کنید. پس از توضیح، یک عکس فوری شبیه سازی ایجاد می شود که توسط ncsim برای شبیه سازی بارگذاری می شود. شما می توانید در حالت دسته ای یا حالت رابط کاربری گرافیکی اجرا کنید.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –status worklib.:module
مهم: تمام سه مرحله فوق کامپایل، توضیح و شبیه سازی را می توان در یک پوسته اسکریپت قرار داد file و از خط فرمان تهیه شده است. به جای استفاده از این سه مرحله، طراحی را می توان در یک مرحله با استفاده از گزینه ncverilog یا irun شبیه سازی کرد که در کد بلوک زیر نشان داده شده است.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <همه RTL
files در طراحی استفاده می شود>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <همه RTL 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 از کتابخانه کار (به دلیل اتصال پیشفرض و postsynth/post-layout بودن worklib) که در آن فقط یک تابع ثابت است، حل میشود.
دستور ncelab باید همانطور که در بلوک کد زیر نشان داده شده نوشته شود تا MSS حل شود
بلوک از کتابخانه از پیش کامپایل شده SmartFusion2.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
و lib.map file باید به صورت زیر باشد:
پیکربندی cfg1;
طراحی ;
لیست پیش فرض smartfusion2 ;
endconfig
این هر سلول در کتابخانه SmartFusion2 را قبل از جستجو در کتابخانه کاری، یعنی postsynth/ post-layout، حل می کند.
گزینه –libmap میتواند بهطور پیشفرض در حین شرحدادن برای هر شبیهسازی (presynth، postsynth و post-layout) استفاده شود. این امر از مشکلات شبیه سازی که به دلیل حل نمونه هایی از کتابخانه ها ایجاد می شود جلوگیری می کند.
ncelab: *F,INTERR: INTERNAL EXCEPTION
این استثنا ابزار ncelab یک هشدار برای طرحهای حاوی FDDR در SmartFusion 2 و IGLOO 2 در طول شبیهسازی postsynth و post-layout با استفاده از گزینه –libmap است.
مهم: این مشکل به تیم پشتیبانی Cadence (SAR 52113) گزارش شده است.
3.4 اسampTcl و Shell Script Fileس (یک سوال بپرسید)
موارد زیر files پیکربندی هستند fileبرای تنظیم طرح و اسکریپت پوسته مورد نیاز است file برای اجرای دستورات NCSim
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB را تعریف کنید./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstage.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestage.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
پیش سنتز)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
پیش سنتز)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB/SB.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => پیش سنتز )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
DEFINE 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_masterstagاین
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagاین
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
کار presynth -logfile ncelab.log -errormax 15 -access +rwc -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 وارد پیکربندی شود fileبرای اجرای شبیه سازی با استفاده از NCSim مورد نیاز است.
اسکریپت File استفاده
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#استفاده: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ##########################################
##################
از POSIX استفاده کنید.
سخت استفاده کنید
my ($presynth، $postsynth، $postlayout، $family، $lib_location) = @ARGV;
&questa_parser($presynth، $family، $lib_location);
&questa_parser($postsynth، $family، $lib_location);
&questa_parser($postlayout، $family، $lib_location);
زیر questa_parser {
$ModelSim_run_do = $_[0];
my $actel_family = $_[1];
my $lib_location = $_[2];
من $state;
if (-e "$ModelSim_run_do")
{
باز کردن (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do من = <INFILE>;
خط $ من;
if ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
باز کردن (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
باز کردن (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
باز کردن (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} دیگری
{
چاپ "ورودی های اشتباه داده شده به file\n”؛
print "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#عملیات عمومی
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#چاپ کنیدFILE "$line \n";
if ($line =~ m/vmap\s+.*($actel_family)/)
{
چاپ کنیدFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
چاپ کنیدFILE "$line \n";
} elif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
چاپ کنیدFILE "$line \n";
} دیگری
{
چاپ کنیدFILE "$line \n";
}
}
بستن(INFILE);
بستن (خارجFILE);
}دیگر {
چاپ "$ModelSim_run_do وجود ندارد. شبیه سازی را دوباره اجرا کنید \n”;
}
}
راه اندازی Cadence Xcelium (ورود به ریزتراشه)
شما باید یک اسکریپت ایجاد کنید file شبیه به ModelSim ME/ModelSim Pro ME run.do برای اجرای شبیه ساز Cadence Xcelium. این مراحل را دنبال کنید و اسکریپت ایجاد کنید file برای Xcelium یا از اسکریپت استفاده کنید file ارائه شده برای تبدیل ModelSim ME/ModelSim Pro ME run.do files وارد پیکربندی شود fileبرای اجرای شبیه سازی ها با استفاده از Xcelium مورد نیاز است.
4.1 متغیرهای محیطی (یک سوال بپرسید)
برای اجرای Cadence Xcelium، متغیرهای محیطی زیر را پیکربندی کنید:
- LM_LICENSE_FILE: باید یک اشاره گر به مجوز داشته باشد file.
- cds_root: باید به محل دایرکتوری اصلی Cadence Incisive Installation اشاره کند.
- PATH: باید به مکان bin در زیر دایرکتوری tools اشاره کند که توسط cds_root (یعنی
$cds_root/tools/bin/64bit (برای یک ماشین 64 بیتی و $cds_root/tools/bin برای یک دستگاه 32 بیتی
دستگاه).
سه راه برای تنظیم محیط شبیه سازی در صورت سوئیچ بین سیستم عامل های 64 بیتی و 32 بیتی وجود دارد:
مورد 1: متغیر PATH
مسیر تنظیم = (install_dir/tools/bin/64bit $path) برای ماشین های 64 بیتی و
مسیر تنظیم = (install_dir/tools/bin $path) برای ماشین های 32 بیتی
مورد 2: استفاده از گزینه -64bit Command-line
در خط فرمان گزینه -64bit را برای فراخوانی فایل اجرایی 64 بیتی مشخص کنید.
مورد 3: تنظیم متغیر محیطی INCA_64BIT یا CDS_AUTO_64BIT
متغیر INCA_64BIT به عنوان بولی در نظر گرفته می شود. شما می توانید این متغیر را به هر مقدار یا تهی تنظیم کنید
رشته
setenv INCA_64BIT
مهم: متغیر محیطی INCA_64BIT بر سایر ابزارهای Cadence مانند ابزارهای IC تأثیر نمی گذارد. با این حال، برای ابزار Incisive، متغیر INCA_64BIT تنظیمات متغیر محیطی CDS_AUTO_64BIT را لغو می کند. اگر متغیر محیطی INCA_64BIT et باشد، همه ابزارهای Incisive در حالت 64 بیتی اجرا می شوند.
setenv CDS_AUTO_64BIT شامل:INCA
مهم: رشته INCA باید با حروف بزرگ باشد. همه فایل های اجرایی باید در حالت 2 بیتی یا 64 بیتی اجرا شوند، متغیر را طوری تنظیم نکنید که شامل یک فایل اجرایی باشد، مانند موارد زیر:
setenv CDS_AUTO_64BIT شامل:ncelab
سایر ابزارهای Cadence مانند ابزارهای آی سی نیز از متغیر محیطی CDS_AUTO_64BIT برای کنترل انتخاب فایل های اجرایی 32 بیتی یا 64 بیتی استفاده می کنند. جدول زیر نشان می دهد که چگونه می توانید متغیر CDS_AUTO_64BIT را برای اجرای ابزارهای Incisive و ابزارهای آی سی در همه حالت ها تنظیم کنید.
جدول 4-1. متغیرهای CDS_AUTO_64BIT
متغیر CDS_AUTO_64BIT | ابزارهای برش دهنده | ابزار آی سی |
setenv CDS_AUTO_64BIT ALL | 64 بیتی | 64 بیتی |
setenv CDS_AUTO_64BIT هیچکدام | 32 بیتی | 32 بیتی |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary |
64 بیتی | 32 بیتی |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 بیتی | 64 بیتی |
مهم: همه ابزارهای Incisive باید در حالت 32 بیتی یا 64 بیتی اجرا شوند، از EXCLUDE برای حذف یک فایل اجرایی خاص مانند موارد زیر استفاده نکنید:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
اگر متغیر CDS_AUTO_64BIT را برای حذف ابزارهای Incisive تنظیم کنید (setenv
CDS_AUTO_64BIT EXCLUDE:INCA)، همه ابزارهای Incisive در حالت 32 بیتی اجرا می شوند. با این حال
-گزینه خط فرمان 64 بیتی متغیر محیطی را لغو می کند.
پیکربندی زیر fileبه شما کمک می کند تا داده های خود را مدیریت کنید و عملکرد ابزارها و ابزارهای شبیه سازی را کنترل کنید:
- نقشه برداری کتابخانه 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 حاوی عباراتی است که نامهای منطقی کتابخانه را به مسیرهای دایرکتوری فیزیکی آنها ترسیم می کند. برای مثالample، اگر شبیه سازی presynth را اجرا می کنید، cds.lib file را می توان همانطور که در کد بلوک زیر نشان داده شده است نوشت.
DEFINE presynth ./presynth
COREAHBLITE_LIB را تعریف کنید./COREAHBLITE_LIB
تعریف smartfusion2 - یک hdl.var ایجاد کنید file که یک پیکربندی اختیاری است file که شامل متغیرهای پیکربندی است که نحوه پیکربندی محیط طراحی شما را مشخص می کند. این شامل:
– متغیرهایی که برای تعیین کتابخانه کاری که در آن کامپایلر اشیاء کامپایل شده و سایر داده های مشتق شده را ذخیره می کند استفاده می شود.
– برای Verilog، متغیرها (LIB_MAP، VIEW_MAP، WORK) که برای تعیین کتابخانه ها و views برای جستجو در زمانی که سازنده موارد را حل می کند.
– متغیرهایی که به شما امکان می دهند گزینه ها و آرگومان های خط فرمان کامپایلر، توسعه دهنده و شبیه ساز را تعریف کنید.
در مورد شبیه سازی پیش سنتزampدر بالا نشان داده شده است، بگویید ما 3 RTL داریم files a.v، b.v و testbench.v، که باید به ترتیب در کتابخانه های presynth، COREAHBLITE_LIB و presynth کامپایل شوند. hdl.var file را می توان همانطور که در کد بلوک زیر نشان داده شده است نوشت.
DEFINE WORK presynth
DEFINE PROJECT_DIR <مکان از files>
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/a.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/b.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/testbench.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، + => presynth) - طرح را کامپایل کنید fileبا استفاده از گزینه ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - طرح را با استفاده از ncelab به تفصیل بسازید. سازنده یک سلسله مراتب طراحی را بر اساس اطلاعات نمونه سازی و پیکربندی در طراحی ایجاد می کند، اتصال سیگنال را برقرار می کند و مقادیر اولیه را برای همه اشیاء در طراحی محاسبه می کند. سلسله مراتب طراحی دقیق در یک عکس فوری شبیه سازی ذخیره می شود، که نمایشی از طرح شما است که شبیه ساز برای اجرای شبیه سازی استفاده می کند.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
access +rwc –status worklib.:module
شرح و بسط در طول شبیه سازی Post-layout
در صورت شبیه سازی پس از چیدمان، ابتدا SDF file باید قبل از توضیح با استفاده از دستور ncsdfc کامپایل شود.
Xceliumfilename>.sdf –outputfileنام>.sdf.X
در حین توضیح از خروجی SDF کامپایل شده با گزینه –autosdf همانطور که در کد بلوک زیر نشان داده شده است استفاده کنید.
xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 – access +rwc – status worklib.:module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file باید مانند بلوک کد زیر باشد.
COMPILED_SDF_FILE = «<مکان SDF کامپایل شده file>> - شبیه سازی با استفاده از Xcelium. پس از توضیح، یک عکس فوری شبیه سازی ایجاد می شود که توسط Xcelium برای شبیه سازی بارگذاری می شود. این را می توان در حالت دسته ای یا حالت رابط کاربری گرافیکی اجرا کرد.
xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –status worklib.:module
راه اندازی Cadence Xcelium
مهم: همه سه مرحله فوق کامپایل، توضیح و شبیه سازی را می توان در یک پوسته اسکریپت قرار داد file و از خط فرمان تهیه شده است. به جای استفاده از این سه مرحله، طراحی را می توان در یک مرحله با استفاده از گزینه ncverilog یا xrun شبیه سازی کرد که در کد بلوک زیر نشان داده شده است.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <همه RTL
files در طراحی استفاده می شود>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <همه RTL files
استفاده شده در طراحی>
4.3.1 مسائل شناخته شده (یک سوال بپرسید)
راه حل تست میز
استفاده از عبارت زیر برای تعیین فرکانس ساعت در تست بنچ تولید شده توسط کاربر یا تست پیش فرض تولید شده توسط Libero SoC با Xcelium کار نمی کند.
همیشه @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
برای اجرای شبیه سازی به صورت زیر تغییر دهید:
همیشه #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
مهم: کتابخانه های کامپایل شده برای Xcelium مختص پلتفرم هستند (یعنی کتابخانه های 64 بیتی با پلتفرم 32 بیتی سازگار نیستند و بالعکس).
شبیه سازی Postsynth و Post-layout با استفاده از MSS و SERDES
در حین اجرای شبیهسازیهای postsynth طرحهای حاوی بلوک MSS، یا شبیهسازیهای پس از طرحبندی طرحها با استفاده از SERDES، شبیهسازیهای BFM کار نمیکنند اگر گزینه –libmap در حین توضیح مشخص نشده باشد. این به این دلیل است که در طول توسعه، MSS از کتابخانه کار (به دلیل اتصال پیشفرض و postsynth/post-layout بودن worklib) که در آن فقط یک تابع ثابت است، حل میشود.
دستور ncelab باید همانطور که در بلوک کد زیر نشان داده شده نوشته شود تا بلوک MSS از کتابخانه از پیش کامپایل شده SmartFusion2 حل شود.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
و lib.map file باید به صورت زیر باشد:
پیکربندی cfg1;
طراحی ;
لیست پیش فرض smartfusion2 ;
endconfig
این باید قبل از جستجو در کتابخانه کاری، یعنی postsynth/post-layout، هر سلولی را در کتابخانه SmartFusion2 حل کند.
گزینه –libmap را میتوان بهطور پیشفرض در طول توسعه برای هر شبیهسازی (presynth، postsynth و post-layout) استفاده کرد. این امر از مشکلات شبیه سازی که به دلیل حل نمونه هایی از کتابخانه ها ایجاد می شود جلوگیری می کند.
xmelab: *F,INTERR: INTERNAL EXCEPTION
این استثنا ابزار ncelab یک هشدار برای طرح های حاوی FDDR در SmartFusion2 و IGLOO2 است.
در طول شبیه سازی postsynth و post-layout با استفاده از گزینه –libmap.
مهم: این مشکل به تیم پشتیبانی Cadence (SAR 52113) گزارش شده است.
4.4 اسample Tcl و پوسته اسکریپت fileس (یک سوال بپرسید)
موارد زیر files پیکربندی هستند fileبرای تنظیم طرح و اسکریپت پوسته مورد نیاز است file برای اجرای دستورات Xcelium
Cds.lib
Smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2 را تعریف کنید
COREAHBLITE_LIB را تعریف کنید./COREAHBLITE_LIB
DEFINE presynth ./presynth
Hdl.var
DEFINE WORK presynth
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstage.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestage.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
پیش سنتز)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
پیش سنتز)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB/SB.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => پیش سنتز )
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth)
DEFINE LIB_MAP ($LIB_MAP، ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth)
DEFINE 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_masterstagاین
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagاین
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
کار presynth -logfile ncelab.log -errormax 15 -access +rwc -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 وارد پیکربندی شود fileبرای اجرای شبیه سازی ها با استفاده از Xcelium مورد نیاز است.
اسکریپت File استفاده
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#استفاده: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ##########################################
##################
از POSIX استفاده کنید.
سخت استفاده کنید
my ($presynth، $postsynth، $postlayout، $family، $lib_location) = @ARGV;
&questa_parser($presynth، $family، $lib_location);
&questa_parser($postsynth، $family، $lib_location);
&questa_parser($postlayout، $family، $lib_location);
زیر questa_parser {
$ModelSim_run_do = $_[0];
my $actel_family = $_[1];
my $lib_location = $_[2];
من $state;
if (-e "$ModelSim_run_do")
{
باز کردن (INFILE,”$ModelSim_run_do”);
@ModelSim_run_do من = <INFILE>;
خط $ من;
if ($ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
باز کردن (OUTFILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
باز کردن (OUTFILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$state = $1;
} elsif ($ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
باز کردن (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} دیگری
{
چاپ "ورودی های اشتباه داده شده به file\n”؛
print "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#عملیات عمومی
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#چاپ کنیدFILE "$line \n";
if ($line =~ m/vmap\s+.*($actel_family)/)
{
چاپ کنیدFILE “vmap $actel_family \”$lib_location\”\n”;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
چاپ کنیدFILE "$line \n";
} elif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
چاپ کنیدFILE "$line \n";
} دیگری
{
چاپ کنیدFILE "$line \n";
}
}
بستن(INFILE);
بستن (خارجFILE);
}دیگر {
چاپ "$ModelSim_run_do وجود ندارد. شبیه سازی را دوباره اجرا کنید \n”;
}
}
راه اندازی زیمنس QuestaSim/Setup ModelSim (یک سوال بپرسید)
اجرا کنید files، تولید شده توسط Libero SoC برای شبیه سازی با استفاده از نسخه های ModelSim Microsemi، می تواند برای شبیه سازی با استفاده از QuestaSim/ModelSim SE/DE/PE با یک تغییر استفاده شود. در ModelSim ME/ModelSim Pro ME run.do file، مکان کتابخانه های از پیش کامپایل شده باید اصلاح شود.
مهم:
بهطور پیشفرض، ابزار شبیهسازی غیر از ModelSim Pro ME بهینهسازی طراحی را در طول شبیهسازی انجام میدهد که میتواند روی دید به مصنوعات شبیهسازی مانند اشیاء طراحی و محرک ورودی تأثیر بگذارد.
این معمولاً در کاهش زمان اجرای شبیهسازی برای شبیهسازیهای پیچیده، با استفاده از میزهای آزمایشی پرمخاطب و کنترلکننده خودکار مفید است. با این حال، بهینهسازیهای پیشفرض ممکن است برای همه شبیهسازیها مناسب نباشند، به خصوص در مواردی که انتظار دارید نتایج شبیهسازی را با استفاده از پنجره موج به صورت گرافیکی بررسی کنید.
برای رفع مشکلات ناشی از این بهینهسازی، باید دستورات مناسب و آرگومانهای مرتبط را در طول شبیهسازی اضافه کنید تا دید به طرح بازیابی شود. برای دستورات خاص ابزار، به مستندات شبیه ساز در حال استفاده مراجعه کنید.
5.1 متغیرهای محیطی (یک سوال بپرسید)
در زیر متغیرهای محیطی مورد نیاز آورده شده است.
- LM_LICENSE_FILE: باید شامل مسیر مجوز باشد file.
- MODEL_TECH: باید مسیر محل دایرکتوری اصلی نصب QuestaSim را مشخص کند.
- PATH: باید به محل اجرایی اشاره شده توسط MODEL_TECH اشاره کند.
5.2 تبدیل run.do برای Mentor QuestaSim (یک سوال بپرسید)
اجرا کنید filesهای تولید شده توسط Libero SoC برای شبیه سازی با استفاده از ModelSim Microsemi Editions می توانند برای شبیه سازی با استفاده از QuestaSim/ModelSim_SE با یک تغییر استفاده شوند.
مهم: همه طرح هایی که با استفاده از QuestaSim شبیه سازی می شوند باید شامل -novopt باشند
گزینه همراه با دستور vsim در اسکریپت run.do files.
5.3 دانلود کتابخانه کامپایل شده (یک سوال بپرسید)
کتابخانه های Mentor Graphics QuestaSim را از Microsemi’s دانلود کنید webسایت
راه اندازی Synopsys VCS (یک سوال بپرسید)
جریان توصیه شده توسط Microsemi بر جریان Elaborate و Compile در VCS متکی است. این سند شامل یک اسکریپت است file که از اسکریپت run.do استفاده می کند files توسط Libero SoC تولید می شود و راه اندازی را ایجاد می کند fileبرای شبیه سازی VCS مورد نیاز است. فیلمنامه file از run.do استفاده می کند file برای انجام موارد زیر
- ایجاد نقشه کتابخانه file، که با استفاده از synopsys_sim.setup انجام می شود file واقع در همان دایرکتوری که شبیه سازی VCS در آن اجرا می شود.
- یک اسکریپت پوسته ایجاد کنید file تا طرح خود را با استفاده از VCS شرح داده و کامپایل کنید.
6.1 متغیرهای محیطی (یک سوال بپرسید)
بر اساس تنظیمات خود، متغیرهای محیطی مناسب را برای VCS تنظیم کنید. متغیرهای محیطی مورد نیاز طبق مستندات VCS عبارتند از:
- LM_LICENSE_FILE: باید یک اشاره گر به سرور مجوز داشته باشد.
- VCS_HOME: باید به محل دایرکتوری اصلی نصب VCS اشاره کند.
- PATH: باید یک اشاره گر به پوشه bin در زیر فهرست VCS_HOME داشته باشد.
6.2 دانلود کتابخانه کامپایل (یک سوال بپرسید)
کتابخانه های Synopsys VCS را از Microsemi’s دانلود کنید webسایت
6.3 اسکریپت شبیه سازی VCS File (یک سوال بپرسید)
پس از راه اندازی VCS و تولید طرح و اجرای متفاوت run.do fileاز Libero SoC، شما باید:
- نگاشت کتابخانه را ایجاد کنید file synopsys_sim.setup; این file حاوی نشانگرهایی برای مکان همه کتابخانههایی است که میتوان از آنها در طراحی استفاده کرد.
مهم: file نام نباید تغییر کند و باید در همان فهرستی که شبیه سازی در آن اجرا می شود قرار گیرد. اینجا یک سابق استample برای چنین file برای شبیه سازی پیش سنتز
WORK > EFAULT
SmartFusion2 :
presynth : ./presynth
پیش فرض: ./کار - طراحی متفاوت را به تفصیل بیان کنید files، از جمله testbench، با استفاده از دستور vlogan در VCS. این دستورات ممکن است در یک اسکریپت پوسته گنجانده شوند file. زیر یک سابق استampتعدادی از دستورات مورد نیاز برای بسط یک طرح تعریف شده در rtl.v با تست آن در
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 max:.<DUT instance
نام>: file path> –gui –l postlayout.log
6.4 محدودیت ها / استثناها (یک سوال بپرسید)
در زیر محدودیت ها/استثناهای راه اندازی Synopsys VCS آمده است.
- شبیهسازیهای VCS فقط برای پروژههای Verilog از Libero SoC قابل اجرا هستند. شبیه ساز VCS دارای الزامات سختگیرانه زبان VHDL است که توسط VHDL تولید شده خودکار Libero SoC برآورده نمی شود. files.
- شما باید یک دستور $finish در تست Verilog داشته باشید تا هر زمان که بخواهید شبیه سازی را متوقف کنید.
مهم: چه زمانی شبیه سازی ها در حالت GUI اجرا می شوند، زمان اجرا را می توان در رابط کاربری گرافیکی مشخص کرد.
6.5 اسampTcl و Shell Script Fileس (یک سوال بپرسید)
پرل زیر تولید synopsys_sim.setup را خودکار می کند file و همچنین اسکریپت پوسته مربوطه fileبرای تشریح، کامپایل و شبیه سازی طرح مورد نیاز است.
اگر طرح از MSS استفاده می کند، test.vec را کپی کنید file در پوشه شبیه سازی پروژه Libero SoC در پوشه شبیه سازی VCS قرار دارد. بخش های زیر شامل sample run.do files تولید شده توسط Libero SoC، از جمله نگاشت کتابخانه مربوطه و اسکریپت پوسته fileبرای شبیه سازی VCS مورد نیاز است.
6.5.1 پیش سنتز (یک سوال بپرسید)
Presynth_run.do
بی سر و صدا ACTELLIBNAME SmartFusion2 را تنظیم کنید
به آرامی PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF" را تنظیم کنید
اگر {[file presynth/_info وجود دارد]} {
echo "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/*
اضافه کردن log -r /*
1000 ثانیه اجرا کنید
presynth_main.csh
#!/bin/csh -f
تنظیم PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth “${PROJECT_DIR}/component/
work/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
پیش ترکیب "${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
WORK > پیشفرض
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]} {
echo "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 /*
1000 ثانیه اجرا کنید
log SD1_TB1/*
خروج
Postsynth_main.csh
#!/bin/csh -f
تنظیم PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth “${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
WORK > پیشفرض
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]} {
echo "INFO: کتابخانه شبیه سازی ../designer/SD1/simulation/postlayout از قبل وجود دارد"
}دیگر {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog "+incdir+${PROJECT_DIR}/stimulus" - postlayout کار "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
اضافه کردن موج /SD1_TB1/*
اضافه کردن log -r /*
1000 ثانیه اجرا کنید
Postlayout_main.csh
#!/bin/csh -f
تنظیم PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout “${PROJECT_DIR}/
designer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
postlayout "${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
WORK > پیشفرض
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
#
############################################### ############################
my ($presynth، $postsynth، $postlayout) = @ARGV;
if(system("mkdir VCS_Presynth")) {print "mkdir شکست:\n";}
if(system("mkdir VCS_Postsynth")) {print "mkdir شکست:\n";}
if(system("mkdir VCS_Postlayout")) {print "mkdir شکست:\n";}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,”presynth”);
chdir (../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
chdir (../”);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,”postlayout”);
chdir (../”);
sub parse_do {
my $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
%LIB من = ();
دلار منfile = $_[0] ;
my $state = $_[1];
باز کردن(INFILE"$file”) || die «نمی توانم باز کنم File دلیل ممکن است این باشد:$!”;
if ($state eq "presynth")
{
open(OUT1,”>presynth_main.csh”) || die «نمی توان دستور ایجاد کرد File دلیل ممکن است این باشد:$!”;
}
elsif ($state eq "postsynth")
{
open(OUT1,”>postsynth_main.csh”) || die «نمی توان دستور ایجاد کرد File دلیل ممکن است این باشد:$!”;
}
elif ($state eq "postlayout")
{
open(OUT1,”>postlayout_main.csh”) || die «نمی توان دستور ایجاد کرد File دلیل ممکن است این باشد:$!”;
}
دیگر
{
چاپ "وضعیت شبیه سازی وجود ندارد \n" ;
}
open(OUT2,”>synopsys_sim.setup”) || die «نمی توان دستور ایجاد کرد File دلیل ممکن است این باشد:$!”;
# .csh file
چاپ OUT1 "#!/bin/csh -f\n\n\n" ;
#برپایی FILE
print OUT2 "WORK > DEFAULT\n" ;
چاپ OUT2 "SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n"؛
در حالی که ($line = <INFILE>)
{
راه اندازی Synopsys VCS
if ($line =~ m/به آرامی PROJECT_DIR\s+\”(.*?)\”/ را تنظیم کنید
{
چاپ OUT1 “set PROJECT_DIR = \”$1\”\n\n\n” ;
}
elsif ($line =~ m/vlog.*\.v\”/ )
{
اگر ($line =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = “$1″.”_LIB”;
#print "Temp = $temp \n" ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
چاپ OUT1 "$line\n";
}
elsif (($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/))
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print "TB Name : $tb \n";
if ($line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$line = $1 ;
#print “LINE : $line \n” ;
اگر ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
print OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — قالب SDF ModelSim
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"؛ -VCS
فرمت SDF
}
}
}
چاپ کنید
OUT1 «\n\n»
;
if
($state eq "presynth"
)
{
چاپ کنید
OUT2 “presynth
: ./presynth\n”
;
چاپ کنید
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n"
;
}
السیف
($state eq "postsynth"
)
{
چاپ کنید
OUT2 “postsynth
: ./postsynth\n”
;
چاپ کنید
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n"
;
}
السیف
($state eq "postlayout"
)
{
چاپ OUT2 "postlayout : ./postlayout\n" ;
}
دیگر
{
چاپ "وضعیت شبیه سازی وجود ندارد \n" ;
}
foreach $i (کلیدهای %LIB)
{
#print “Key : $i Value : $LIB{$i} \n” ;
چاپ OUT2 "$i : ./$i\n" ;
}
چاپ OUT1 "\n\n" ;
چاپ OUT1 "./simv -l run.log\n" ;
چاپ OUT2 "پیش فرض : ./work\n" ;
بستن INFILE;
بستن 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سایت
Microchip پشتیبانی آنلاین را از طریق ما ارائه می دهد webسایت در www.microchip.com/. این webسایت برای ساخت استفاده می شود files و اطلاعات به راحتی در دسترس مشتریان است. برخی از مطالب موجود عبارتند از:
- پشتیبانی محصول - برگه های داده و خطاها، یادداشت های برنامه و sampبرنامه ها، منابع طراحی، راهنماهای کاربر و اسناد پشتیبانی سخت افزاری، آخرین نسخه های نرم افزاری و نرم افزارهای آرشیو شده
- پشتیبانی فنی عمومی - سوالات متداول (سؤالات متداول)، درخواستهای پشتیبانی فنی، گروههای گفتگوی آنلاین، فهرست اعضای برنامه شریک طراحی ریزتراشه
- Business of Microchip – راهنمای انتخاب و سفارش محصول، آخرین بیانیه های مطبوعاتی ریزتراشه، لیست سمینارها و رویدادها، فهرست دفاتر فروش ریزتراشه، توزیع کنندگان و نمایندگان کارخانه
سرویس اطلاع رسانی تغییر محصول
سرویس اطلاع رسانی تغییر محصول Microchip به مشتریان کمک می کند تا در مورد محصولات Microchip در جریان باشند. مشترکین هر زمان که تغییرات، بهروزرسانیها، بازبینیها یا اشتباهات مربوط به یک خانواده محصول مشخص یا ابزار توسعه مورد علاقه وجود داشته باشد، اعلان ایمیلی دریافت خواهند کرد.
برای ثبت نام به www.microchip.com/pcn و دستورالعمل های ثبت نام را دنبال کنید.
پشتیبانی مشتری
کاربران محصولات میکروچیپ می توانند از طریق چندین کانال کمک دریافت کنند:
- توزیع کننده یا نماینده
- دفتر فروش محلی
- مهندس راه حل های جاسازی شده (ESE)
- پشتیبانی فنی
مشتریان برای پشتیبانی باید با توزیع کننده، نماینده یا ESE خود تماس بگیرند. دفاتر فروش محلی نیز برای کمک به مشتریان در دسترس هستند. فهرستی از دفاتر فروش و مکان ها در این سند گنجانده شده است.
پشتیبانی فنی از طریق در دسترس است webسایت در: www.microchip.com/support
ویژگی حفاظت از کد دستگاه های ریزتراشه
به جزئیات زیر از ویژگی حفاظت از کد در محصولات میکروچیپ توجه کنید:
- محصولات ریزتراشه دارای مشخصات مندرج در برگه داده ریزتراشه خاص خود هستند.
- Microchip معتقد است که خانواده محصولات آن زمانی که به روش مورد نظر، در مشخصات عملیاتی و در شرایط عادی استفاده می شود، ایمن هستند.
- ریزتراشه برای حقوق مالکیت معنوی خود ارزش قائل است و به شدت از آن محافظت می کند. تلاش برای نقض ویژگیهای حفاظت از کد محصول میکروچیپ کاملاً ممنوع است و ممکن است قانون حق نسخهبرداری هزاره دیجیتال را نقض کند.
- نه 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، Kleer، LinkTouchS، max. MediaLB، megaAVR، Microsemi، نشانواره Microsemi، MOST، MOST، MPLAB، OptoLyzer، PIC، picoPower، PICSTART، نشانواره PIC32، PolarFire، Prochip Designer، QTouch، SAM-BA، SenGenuity، SpyNIC، SST، SuperFricom Lost، ، SyncServer، Tachyon، TimeSource، tinyAVR، UNI/O، Vectron، و XMEGA علائم تجاری ثبت شده Microchip Technology Incorporated در ایالات متحده و سایر کشورها هستند.
AgileSwitch، APT، ClockWorks، The Embedded Control Solutions Company، EtherSynch، Flashtec، Hyper Speed Control، HyperLight Load، Libero، motorBench، mTouch، Powermite 3، Precision Edge، ProASIC، ProASIC Plus، ProASIC Plus آرم، Quiet-Wire، SyncWorld، Temux، TimeCesium، TimeHub، TimePictra، TimeProvider، TrueTime و ZL علائم تجاری ثبت شده Microchip Technology Incorporated در ایالات متحده هستند.
سرکوب کلید مجاور، AKS، آنالوگ برای عصر دیجیتال، هر خازن، AnyIn، AnyOut، سوئیچینگ تقویت شده، BlueSky، BodyCom، Clockstudio، CodeGuard، CryptoAuthentication، CryptoAutomotive، CryptoAutomotive، CryptoPictocompanion. تطبیق , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypto,View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit، PICtail، PowerSmart، PureSilicon، QMatrix، REAL ICE، Ripple Blocker، RTAX، RTG4، SAMICE، Serial Quad I/O، simpleMAP، SimpliPHY، SmartBuffer، SmartHLS، SMART-I.S.، storClad، SQI، SuperSwit
SuperSwitcher II، Switchtec، SynchroPHY، Total Endurance، Trusted Time، TSHARC، USBCheck، VariSense، VectorBlox، VeriPHY، ViewSpan، WiperLock، XpressConnect، و ZENA علائم تجاری Microchip Technology Incorporated هستند
در ایالات متحده آمریکا و سایر کشورها
SQTP یک نشان خدمات فناوری میکروچیپ است که در ایالات متحده آمریکا ثبت شده است
آرم Adaptec، Frequency on Demand، Silicon Storage Technology، و Symmcom علائم تجاری ثبت شده Microchip Technology Inc. در کشورهای دیگر هستند.
GestIC یک علامت تجاری ثبت شده Microchip Technology Germany II GmbH & Co. KG، یکی از شرکت های تابعه Microchip Technology Inc. در کشورهای دیگر است.
سایر علائم تجاری ذکر شده در اینجا متعلق به شرکت های مربوطه می باشد.
© 2023، Microchip Technology Incorporated و شرکت های تابعه آن. تمامی حقوق محفوظ است.
ISBN: 978-1-6683-3694-6
سیستم مدیریت کیفیت
برای کسب اطلاعات در مورد سیستم های مدیریت کیفیت میکروچیپ، لطفاً مراجعه کنید 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 آستین، تگزاس تلفن: 512-257-3370 بوستون Westborough, MA تلفن: 774-760-0087 فکس: 774-760-0088 شیکاگو Itasca، IL تلفن: 630-285-0071 فکس: 630-285-0075 دالاس Addison، TX تلفن: 972-818-7423 فکس: 972-818-2924 دیترویت نووی، MI تلفن: 248-848-4000 هیوستون، تگزاس تلفن: 281-894-5983 ایندیاناپولیس نوبلزویل، IN تلفن: 317-773-8323 فکس: 317-773-5453 تلفن: 317-536-2380 لس آنجلس ماموریت ویجو، کالیفرنیا تلفن: 949-462-9523 فکس: 949-462-9608 تلفن: 951-273-7800 رالی، NC تلفن: 919-844-7510 نیویورک، نیویورک تلفن: 631-435-6000 سن خوزه، کالیفرنیا تلفن: 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 Microchip Technology Inc. و شرکت های تابعه آن
DS50003627A –
اسناد / منابع
![]() |
نرم افزار کتابخانه شبیه سازی میکروچیپ Libero SoC [pdfراهنمای کاربر DS50003627A، نرم افزار کتابخانه شبیه سازی SoC Libero، نرم افزار کتابخانه شبیه سازی SoC، نرم افزار کتابخانه شبیه سازی، نرم افزار کتابخانه، نرم افزار |