امروزه امکان پیاده سازی و استفاده از میکروکنترلرها با استفاده از Soft Core ها قابلیتی مهم است. با استفاده از این IP Core ها می توان نیازمندیهای کنترلی را در کنار بخش پردازشی برطرف نمود.
میکروبلیز ( MicroBlaze ) و NIOS هسته های نرم افزاری میکروکنترلری هستند که به صورت سفارشی به ترتیب بر روی
FPGA های شرکت XILINX و Altera قابل پیاده سازی هستند.
در این مقاله قصد آشنایی با میکروبلیز ( MicroBlaze ) را داریم.
باید بدانیم این IP Core در تمامی تراشه های شرکت Xilinx قابل پیاده سازی بوده و با توجه به امکانات لازم می توان آن را به صورت سفارشی مورد استفاده قرار داد.
میکروکنترلرهایی که با استفاده از میکروبلیز ( MicroBlaze ) پیاده سازی می شوند به دلیل استفاده از گیت های درون FPGA در مقایسه با میکروکنترلرهای موجود در بازار از سرعت پایین تری برخوردار خواهند بود. ولی میتوان انتظار داشت در حد میکرو کنترلر های رده پایین بازار همچون سری AVR عمل کنند.
در FPGA های سری اسپارتان Spartan ، پروتکل ارتباطی بر اساس PLB بوده و از سرعت بالایی برخوردار نیست، در مقابل برای تمام سری های دیگر نظیر Kintexو Virtex با استفاده از ارتباط AXI درون تراشه سرعت بالاتری بین بخش های پردازشی و MicroBlaze برقرار خواهد بود.
کاملا واضح است در FPGA های مدل بالاتر سرعت میکروبلیز ( MicroBlaze ) به دلیل کاهش تاخیر Gate ها از سرعت بیشتری برخوردار خواهد بود.
Device |
Performance Optimized MicroBlaze with Branch Optimizations | Performance Optimized MicroBlaze | Area Optimized MicroBlaze | |||
(5-state pipeline) |
(5-stage pipeline) |
(3-state pipeline) |
||||
1.44 DMIPs/MHz | 1.34 DMIPs/MHz |
1.07 DMIPs/MHZ |
||||
Fmax | DMIPs | Fmax | DMIPs | Fmax |
DMIPs |
|
Virtex-7 FPGA -3 |
246 |
354 | 343 | 460 | 303 |
324 |
Kintex-7 FPGA -3 |
241 |
347 | 337 | 452 | 303 |
324 |
Artix-7 FPGA -3 |
173 |
249 | 224 | 300 | 214 |
229 |
Kintex-7 UltraScale -3 |
299 |
431 | 384 | 515 | 364 |
389 |
Virtex-7 UltraScale -3 |
299 |
431 | 377 | 505 | 365 |
391 |
این Soft Core ها قابلیت پیکربندی و پیاده سازی به عنوان یک هسته پردازشی ARM یا یک کنترلر ساده AVR را دارا هستند. این پیکربندی نقش تعیین کننده ای در دقت، سرعت و قدرت محاسبات اعشاری خواهد داشت. .این تنوع پیاده سازی در Soft Core ها، باعث تمایز در کاربرد آن ها خواهد شد.
پیاده سازی و استفاده از MicroBlaze شامل دو مرحله خواهد بود :
- پیاده سازی سخت افزار در محیط EDK درون HDL
- پیاده سازی نرم افزار بوسیله SDK
پس از پیاده سازی Core مورد نظر باید تعداد و نوع ادوات مورد نیاز را در کنار پردازنده انتخاب نموده و پیکربندی مورد نظر را نهایی کنید. حال با استفاده از SDK می توانید اقدام به توسعه نرم افزار مورد نظر خود برای اجرا بر روی آن بنمایید.
توجه داشته باشید این هسته نرم افزاری Soft Core برای پردازش مناسب نیست، ولی میتوان محاسبات را با سرعت پایین درون آن انجام داده یا روتین های کنترلی را با استفاده از آن پیاه سازی کنید. برای کاربردهای پردازشی بهتر است از سری تراشه های دیگری که از پردازنده های ARM بصورت Hard Core در کنار FPGA بهره می برند، استفاده نمایید. FPGA های سروی Zynq از این دست پردازنده هایی است که از یک پردازنده ARM بصورت سخت افزاری در کنار بخش FPGA تشکیل شده است. ارتباط بین بخش FPGA و پردازنده ARM با استفاده از پروتکل ارتباطی AXI بوده و از بازدهی و سرعت بالایی برخوردار است. این لینک درون چیپ امکان ارتباط با نرخ بالا را برای موضوعات پردازشی و کنترلی بلادرنگ فراهم میکند. همچنین پردازنده ARM درون چیپ از فرکانس بالایی برخوردار است. ( حداقل 800 MHz )
شما میتوانید با بررسی نیازمندی پروژه تصمیم به استفاده از میکروبلیز MicroBlaze و Zynq یا میکروکنترلرهای موجود در بازار بگیرید.
ارسال پاسخ