آموزش FPGA

به طور کلی بلوک های داخلی FPGA  قابل برنامه ریزی هستند و با یک برنامه ریزی ساده می توان آن را به هر مدار دلخواه تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند. در ادامه با میکرو دیزاینر الکترونیک باشید تا با FPGA  ها بیشتر آشنا شوید و در آینده در پروژه های خود استفاده کنید.

آقا این FPGA  چیه کلا ؟

تفاوت FPGA  با میکروکنترلر ؟

زبان های برنامه نویسی FPGA ؟

برای کار با  FPGA  به چه نرم افزار هایی نیاز است ؟

مراحل طراحی تا پروگرام یک کد ساده FPGA  چیه ؟

شرکت های تولید کننده FPGA

چند نمونه از کاربرد های FPGA

آموزش FPGA

خب محکم بشینید میریم دنبال قطعات فرکانس بالا 🙂

آقا این FPGA  چیه کلا ؟

FPGA  مخفف Field Programmable Gate Arrays  یعنی آرایه های گیت قابل برنامه ریزی است. که با متصل کردن بلوک های داخلی آن به هم ، می توان هر مدار دیجیتالی دلخواه را به وجود آورد به عنوان مثال با یک FPGA  میتوان یک پردازنده یا Microproccessor  طراحی کرد یا از آن میتوان  برای پردازش تصویر ، صوت و سیگنال های دیگر بهره برد.

به طور کلی بلوک های داخلی FPGA  قابل برنامه ریزی هستند و با یک برنامه ریزی ساده می توان آن را به هر مدار دلخواه تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند. در ادامه با میکرو دیزاینر الکترونیک باشید تا با FPGA  ها بیشتر آشنا شوید و در آینده در پروژه های خود استفاده کنید.

تفاوت FPGA  با میکروکنترلر ؟

یک میکروکنترلر از  CPU  ، تایمر ها ، پورت ها و حافظه های مختلفف مانند  RAM  ، FLASH  و EEPROM  تشکیل شده است که با پروگرام کردن آن CPU  شروع به اجرای خط به خط برنامه نوشته شده می کند. در حالی که در FPGA  هیچ CPU  یی وجود ندارد و با نوشتن کد به یک FPGA  در واقع ما سخت افزار مدار را طراحی میکنیم.

حتما در ادامه این مطلب را هم بخوانید:  برد FPGA ucLinux

در یک FPGA  بر خلاف میکروکنترلر قابلیت اجرای پردازش های موازی وجود دارد و این امر باعث بالا رفتن سرعت عملیات در یک FPGA  می شود. همچنین یک FPGA  به دلیل استفاده مستقیم از گیت ها و بلوک های منطقی و عملیاتی دیگر خیلی سریع تر از میکروکنترلر هست. به همین دلیل از FPGA  ها برای ساخت سیستم های پرسرعت و حساس که دارای پیچیدگی های خاص هم می باشند استفاده می شود. در ادامه با میکرو دیزاینر الکترونیک باشید تا زبان برنامه نویسی یا توصیف سخت افزار برای کار با FPGA  را برسی کنیم.

زبان های برنامه نویسی FPGA ؟

برای طراحی یک مدار با یک FPGA  ما نیاز به یک زبان توصیف سخت افزار داریم که کدهای نوشته شده ی ما را به مدار مد نظر ما تبدیل کند. در واقع ما در یک FPGA  با نوشتن برنامه مدار مورد نظرمان را طراحی می کنیم.

تعداد زبان های توصیف سخت افزار زیاد است اما دو زبان VHDL  و Verilog  از همه مشهورتر هستند.

VHDL  مخفف کلمات Very high speed integrated Hardware Description Language  میباشد که توسط شرکت IBM  و Texas Insturment  عرضه شده است.

آموزش FPGA

مراحل طراحی تا پروگرام یک کد ساده FPGA  چیه ؟

برای پیاده سازی یک طرح یا سیستم روی یک FPGA  ابتدا مدار را به بلوک(مدول)های کوچک تقسیم می کنند و سپس به توصیف آنها و نحوه اتصال شان به یکدیگر می پردازند و به این ترتیب بعد از اتمام این مراحل کدهای مربوط به مدار اصلی آماده می شوند.(بازهم تاکید می کنم در واقع کدها همان سخت افزار را طراحی می کنند.)که به این مرحله ، مرحله Design Entry  می گویند.

حتما در ادامه این مطلب را هم بخوانید:  مبدل همه کاره SMD به DIP

بعد از اتمام این مرحله نوبت به شبیه سازی برنامه میرسد و بعد از اطمینان از عملکرد صحیح مدار ، مرحله Synthesis  آغاز می شود که در این مرحله کد های نوشته شده به شماتیک مدار تبدیل می شود(در شماتیک از گیت ها و دیگر عناصر دیجیتال مانند مالتی پلکسر ، جمع کننده و غیره استفاده می شود ).سپس فایل خروجی که از ابزار سنتز گرفته می شود به ابزار Implement  داده می شود. در این مرحله شماتیکی که از مرحله سنتز به وجود آمده است به ترکیبی از المان های موجود در داخل FPGA  تبدیل شده و سپس در جای مناسب در داخل FPGA  قرار داده می شوند ، که به این مرحله Placement  می گویند.

و بعد از این المان ها عمل سیم کشی و اتصال آغاز می شود که به این مرحله ، مرحله ی Routing می گویند. و بعد از این مرحله فایلی با پسوند bit  تولید می شود که ما می توانیم توسط این فایل bit خود FPGA  ، و یا تبدیل آن به فایل های دیگر و ROM  متصل به FPGA  را پروگرام کنیم.

یادگیری fpga

برای کار با  FPGA  به چه نرم افزار هایی نیاز است ؟

نرم افزار هایی مانند LVD  ، Modelsim  برای شبیه سازی و نرم افزار هایی مانند Sinplify  ، FPGA Express  برای سنتز می توانند مورد استفاده قرار بگیرند.

البته در طراحی با FPGA  نرم افزار های دیگری هم هستند که شرکت های تولید کننده FPGA  برای راحتی کار با محصولات خودشان ارائه می دهند که مورد استفاده کاربران قرار می گیرند.

حتما در ادامه این مطلب را هم بخوانید:  را اندازی lcd رنگی با FPGA

نرم افزارهای طراحی مدارات الکترونیکی

شرکت های تولید کننده FPGA

شرکت های Xilinx  ، Altera  ، Actel  ، Lattice  ، Quick Logic  و غیره تولید کننده FPGA  هستند که بین آنها محصولات شرکت های Xilinx  و Altera  شهرت بیشتری دارند.

چند نمونه از کاربرد های FPGA

همانطور که قبلا اشاره شد کاربرد FPGA  ها معمولا در مدارات پیچیده دیجیتالی که از پیچیدگی ، سرعت ، حساسیت و دقت بالایی برخوردار می باشند ، است .

بنابراین عمده کاربرد های FPGA  بیشتر در شبکه ها ، مدارات مخابراتی ، پردازش صوت و تصویر ، انجام مراحل تست و راه اندازی ASIC ها و در جاهایی که تولید تراشه ASIC مقرون به صرفه نیست ، ار FPGA  استفاده می شود.

همچنین سرعت ، دقت ، پایداری و امنیت FPGA  ها باعث شده که آنها به طور وسیعی در صنایع نظامی ، پزشکی و صنعتی برای خود پیدا کنند.

در صنایع نظامی از FPGA  ها در سیستم های رادار ، رمزنگاری و در پزشکی در رادیولوژی ها و پردازش تصویر استفاده می شود.

چگونه FPGA  یاد بگیریم ؟

FPGA  ها بر خلاف میکروکنترلرها منبع فارسی چندانی ندارند و برای یادگیری آنها می توان از User Guide  های مخصوص هر FPGA  که توسط شرکت های تولید کننده ارائه می شود استفاده شود. که در سطح حرفه ای این هم خودش داستانی داره ^_^

ممنون که تا اینجای آموزش میکرو دیزاینر الکترونیک را دنبال کردید. در ادامه فایل های و فیلم های جالبی را برای یادگیری شما آماده کرده ایم که در نوشته های بعدی قابل دانلود خواهند بود.

دانلود فایل های آموزش FPGA

نویسنده : مهدی فرامرزپور

این نوشته را با دوستانتان در تلگرام به اشتراک بگذارید :
⁩لینک گروه پرسش و پاسخ مهندسان الکترونیک   http://bit.ly/2oLHpZM

درباره ی جهاندیده

با سلام درود به شما که مطالب سایت خودتان را مطالعه می کنید امیدوارم مطالب سایت برایتان مفید باشد و باعث پیشرفت روز افزون شما شود. دوران راهنمایی در کار منتاژ کیت های الکترونیکی بودم تا رفتم هنرستان ^_^ دو سال هنرستان الکترونیک خیلی چیزها یاد گرفتم ! دو سال کاردانی الکترونیک و کارشناسی ICT گرایش بهره برداری از سیستم های مخابراتی پر از تجربه بود و مدتی است در الکترونیک دنیای مشغولم . الکترونیک - تکنولوژی - ICT ، برنامه نویسی ...

3 دیدگاه

  1. محمد رضایی شمس

    از مطالب مفیدت ممنون آقا میلاد. امیدوارم انشاءالله هرجا که هستی انشاءالله همیشه موفق.و سربلند باشی.

  2. besiar ali
    website khubi darin
    enshala dar tak tak marahel zendegi movafagh bashin

  3. از مطلبای خوب وو بدر بخورتون واقعا ممنون واقعا هم اموزشی بوود هم اکادمیک

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

چهار + 11 =