You are on page 1of 19

3

1/20
‫ارائه درس ‪FPGA‬‬ ‫‪‬‬

‫ارائه کننده‪:‬احمدرضا بنائی مقدم‬

‫‪‬‬
‫استاد‪:‬دکتر صفدرخانی‬

‫موضوع‪MicroBlaze :‬‬
‫‪2/20‬‬
‫میکروبلیز چیست؟‬

‫میکروبلیز در حقیقت میکروکنترلر مخصوص شرکت ‪Xilinx‬‬ ‫‪‬‬

‫است‪.‬‬

‫معماری این میکروکنترلر از نوع ‪ RISC‬و ‪‌۳۲‬بیتی است‪.‬‬ ‫‪‬‬

‫‪FPGA‬های شرکت ‪ Xilinx‬قابل‬


‫‌‬ ‫به‌صورت ‪ soft core‬در تمام‬ ‫‪‬‬

‫استفاده است‪.‬‬

‫‪3/20‬‬
‫ت‬
‫‪ Soft core‬چ‪1‬یس ؟‬

‫اگر در هنگام تولید یک تراشه ‪ ،FPGA‬یک ماژول یا بخش‬ ‫‪‬‬

‫سخت‌افزاری در آن تعبیه شود‪ ،‬اصطالحا ً به آن ‪hard core‬‬


‫می‌گوییم‪.‬‬

‫اما اگر این ماژول توسط کاربر و به‌کمک منابع‬ ‫‪‬‬

‫‪LUT‬ها‪،‬‬
‫سخت‌افزاری موجود در ‪ FPGA‬مانند ( ‌‬
‫فلیپ‌فالپ‌ها و ‪ )...‬ساخته شود‪ ،‬به آن‪ soft core‬گفته‬
‫می‌شود‪.‬‬

‫‪4/20‬‬
‫مزیت‪  Soft Core‬بودن میکروبلیز‬

‫هزینه ای ندارد‪.‬‬ ‫‪‬‬

‫در صورت عدم نیاز به آن فضایی اشغال نخواهد شد‪.‬‬ ‫‪‬‬

‫چون از قبل آماده نشده است‪،‬می توانید بخش های مورد نظر‬ ‫‪‬‬

‫خودتان را در آن پیاده سازی کنید‪.‬‬


‫‪ ‬انواع باس‪/‬حجم حافظه‪/‬حافظه کش‪.../‬‬

‫‪5/20‬‬
‫چرا در کنار‪  FPGA‬از یک میکروکنترلر ا‪1‬ستفاده‬
‫می‌کنیم؟‬
‫پیاده‌سازی بخش‌های کنترلی در‪ FPGA‬مشکل است‪.‬‬ ‫‪‬‬

‫تغییر و تست این بخش ها زمان بر است‪.‬‬ ‫‪‬‬

‫پیاده سازی ‪ interface‬ها در ‪ FPGA‬زمان بر است‪.‬‬ ‫‪‬‬

‫میکروکنترلرها می‌توانند وظیفه ایجاد اینترفیس‌ها و مدیریت و‬ ‫‪‬‬

‫زمان‌بندی انجام کارها را در یک طرح سخت‌افزاری بر عهده گیرند‪.‬‬


‫‪6/20‬‬
‫چرا میکرو بلیز؟‬

‫مهم‌ترین دلیل این است که میکروبلیز نیاز ما را به استفاده از یک‬ ‫‪‬‬

‫میکروکنترلر در کنار ‪ FPGA‬برطرف می‌کند‪.‬‬


‫فضای کمتر‪/‬هزینه کمتر‪/‬پایه های کمتر‬ ‫‪‬‬

‫تعداد زیادی ‪ IP‬وجود دارد که در کنار آن می توان استفاده کرد‪:‬‬ ‫‪‬‬

‫…‪LAN/RS232/‬‬ ‫‪‬‬

‫در نرم افزار ‪ ISE‬امکانات زیادی برای استفاده راحت و سریع از‬ ‫‪‬‬

‫این میکرو وجود دارد‪.‬‬

‫‪7/20‬‬
‫استفاده از میکروبلیز در ‪FPGA‬‬

‫‪8/20‬‬
‫پلت‪1‬فرم میکروبلیز‬

‫منظور از پلتفرم‪،‬‬ ‫‪‬‬

‫پردازنده میکروبلیز‬ ‫‪‬‬

‫و قطعات جانبی آن است‪.‬‬ ‫‪‬‬

‫‪9/20‬‬
‫پلتفرم میکروبلیز‬

‫‪10/20‬‬
‫بخش های تشکیل دهنده میکروبلیز‬
‫پلتفرم سخت‌افزاری‬ ‫‪‬‬

‫‪IP‬ها‬
‫‪ ‬پلتفرم سخت‌افزاری شامل پردازنده‪ ،‬حافظه‌ها‪‌ ،‬‬
‫و ‪ ...‬می‌شود‪.‬‬
‫نرم‌افزار‬ ‫‪‬‬

‫‪ ‬کد به‌زبان ‪ ++C/C‬که در حافظه دستورات ذخیره می‬


‫شود‪.‬‬

‫‪11/20‬‬
‫ابزار پ‪1‬یاده سازی میکروبلیز‬

‫تمام مراحل پیاده‌سازی سخت‌افزار و نرم‌افزار میکروبلیز‬ ‫‪‬‬

‫توسط ابزار ‪ ،EDK‬از مجموعه نرم‌افزاری ‪ ISE‬انجام‬


‫می‌شود‪.‬‬

‫ابزار ‪ EDK‬از دو بخش اصلی تشکیل می‌شود‪:‬‬ ‫‪‬‬

‫‪Š‬خت‪Š‬فزاری‬
‫‪:XPS‬ب‪ŠŠŠ‬را‪Š‬یطرا‪Š‬حیو پ‪ŠŠŠ‬یاده‪ Š‬س‪ŠŠ‬ازیپ‪ŠŠŠ‬لتفرم‪ Š‬س‪ Š‬ا‬‫‪‬‬

‫میکروبلیز‬
‫‪:SDK‬ب‪ŠŠŠ‬را‪Š‬یطرا‪Š‬حیو پ‪ŠŠŠ‬یاده‪ Š‬س‪ŠŠ‬ازین‪ŠŠ‬رم‪ Š‬ا‪Š‬فزار میکروبلیز‬
‫‪‬‬

‫‪12/20‬‬
‫ میکروبلیز‬Block Diagram

13/20
‫سخت افزار میکروبلیز‬

 Hardware Functions
 Hardware Barrel Shifter
 Hardware Divider
 Floating-Point Unit (FPU)
 Hardware Multiplier

14/20
)‫سخت افزار میکروبلیز(ادامه‬

 Cache Options
 Configurable size 2kB - 64 kB
 Configurable micro-cache size 64B – 1024B
 Bus Infrastructure
 On-Chip Peripheral Bus (OPB) for interfacing to
peripherals
 Local Memory Bus (LMB) for fast local access memory
 Fast Simplex Link (FSL) for interfacing to co-
processors
15/20
‫رجیسترهای میکروبلیز‬

 General Purpose Registers


 32-bit General Purpose Registers numbered R0
through R31.

 Special Purpose Registers


 Program Counter (PC)
 Machine Status Register (MSR)
 Floating Point Status Register (FSR)

17/20
‫دو سوال‬

‫‪-1‬هر کدام از این ‪ block ram‬ها برای ذخیره چیست؟‬

‫‪-2‬منظور از پلتفرم میکروبلیز چیست؟‬

‫‪18/20‬‬
‫منابع‬


1-https://faradandish.com/

2-www.elprocus.com

3-https://www.researchgate.net

4-https://www.xilinx.com/content/dam/xilinx/support/do
cuments/sw_manuals/xilinx2021_2/ug984-vivado-
microblaze-ref.pdf

19/20
‫ممنون از توجه شما‬
‫‪‬‬

‫‪20/20‬‬

You might also like