FPGA یا Field Programmable Gate Array یک مدار مجتمع است که می توان آن را پس از اتمام فرآیند تولید، مطابق نیاز طراح برنامه ریزی نمود و روابط منطقی بین پایه های ورودی و خروجی ...
FPGA یا Field Programmable Gate Array یک مدار مجتمع است که می توان آن را پس از اتمام فرآیند تولید، مطابق نیاز طراح برنامه ریزی نمود و روابط منطقی بین پایه های ورودی و خروجی را تغییر داد. این تراشه ها نیمه رساناهایی هستند که از تعداد زیادی جزء کوچک الکترونیکی یا سلول به نام بلوک منطقی (Logic Block) ساخته شدهاند. این سلول از نظر منطقی چیزی بین یک مدار الکترونیکی و یک میکروکنترلر است. در واقع، FPGA یک تراشه قابل برنامهریزی است. این تراشهها برای توسعه سخت افزارهای دیجیتالی پیچیده و اجتناب از ساخت بردهایی با تراشههای گسسته به وجود آمدهاند. با استفاده از تراشههای FPGA بردهایی که قبلاً با تعداد زیادی از تراشههای دیجیتال ساخته میشدند، در یک تراشه FPGA با سرعت بالاتر و امکان بهروزرسانی کردن سخت افزار پیادهسازی میشوند.
FPGA ها برای ایجاد سیستمهایی با انعطاف پذیری بالا مورد استفاده قرار میگیرند. FPGAها با ارائه یک معماری برنامهپذیر، قیمت پایین و زمان راهاندازی اندک و مهمتر از همه، ایجاد امکان پردازش موازی مشکلات متعدد مهندسین و طراحان مدارات دیجیتال را رفع نمودهاند.
از دیگر مزایای استفاده از FPGA ها در طراحی ها، میتوان به سرعت بالای پردازش و فرکانس کاری بسیار بالای آنها اشاره کرد. FPGA ها در حوزههای گستردهای از جمله پردازش سیگنال، پردازش تصویر، فیلترهای دیجیتال، سیستمهای انتقال دیتاهای دیجیتال، سیستمهای مخابراتی و سیستمهای مختلف کنترلی به کار برده میشوند.
هدف از دوره آموزشی FPGA مقدماتی آشنایی با معماری داخلی FPGAها، نحوه برنامهریزی و استفاده از آنها، بهینهسازی برنامهها، شبیهسازی برنامهها، معرفی ابزارهای مورد استفاده جهت کار با تراشه های FPGA و استفاده از تراشهها در پروژههای جدی با نرخ بالا و حجم پردازش سنگین است.
این دوره برای کسانی که علاقمند به کار در حوزههای الکترونیکی و فضاهای مرتبط آن در ایران و یا خارج از کشور هستند، مناسب است. همچنین دانشجویانی که در زمینههای تحقیقاتی مشغول هستند، میتوانند از مفاهیم گفته شده استفاده نمایند.
به طورکلی، یکی از قدرتمندترین تراشههایی که امروزه در کاربردهای مختلف الکترونیکی، مخابراتی و کنترل مورد استفاده شرکتهای بزرگ دنیا و ایران میباشد ، تراشههای FPGA است که با فراهم آوردن بسترهایی برای پردازش سیگنال، و با بهبود قابلیتهای پردازندهها و ... در بسیاری از کاربردها مورد استفاده قرار گرفتهاند.
این دوره آموزشی در دو دوره مقدماتی و پیشرفته ارائه میشود که شما پس از گذراندن دوره مقدماتی با مفاهیم اساسی مربوط به معماری FPGAها، مقایسه آنها با دیگر پردازندهها، ساختارهای برنامه نویسی موجود برای FPGAها، فرآیند شبیهسازی و پیادهسازی آنها آشنا میشوید و با انجام پروژههای درنظر گرفته شده، در این مباحث به تسلط خوبی خواهید رسید.
FPGA مخفف Field-Programmable Gate Array است و میتواند به عنوان یک تراشه سختافزاری تعریف شود که برای انجام عملیات منطقی استفاده میشود. FPGA از یک شبکه یکپارچه یا مجموعهای از بلوکهای منطقی که در یک تراشه قرار گرفتهاند، تشکیل شدهاند. که در آن مدارها گیتهای منطقی قابل برنامهریزی هستند. FPGAها از بلوکهای منطقی قابل تنظیم جداگانه یا CLB تشکیل شدهاند که از طریق اتصالات قابل برنامهریزی به هم متصل میشوند.
همانطور که از نام فنآوری نیمه هادی نشان داده شده است، مزایای FPGA به دلیل توانایی آنها برای برنامهریزی در هنگام پیادهسازی در زمینه در مقابل انواع دیگر تراشههای نیمه هادی مانند ASIC شناخته شده است. بنابراین میتوان گفت که آموزش FPGA مقدماتی دارای اهمیت ویژه ای است. ما در مکتبخونه دوره آموزش FPGA مقدماتی را ارائه می دهیم. در ادامه به بررسی این موضوع می پردازیم.
برای بیان مزایای آموزش FPGA مقدماتی مکتبخونه لازم است نمونههایی را مثال بزنیم. برای مثال یک ASIC یا یک مدار مجتمع خاص برنامه برای انجام یک کار خاص طراحی شده است. به این ترتیب، تنها یک عملکرد را انجام میدهد و نمیتوان آن را به چیز دیگری تغییر داد، همچنین نمیتوان آن را پاک کرد و بازنویسی کرد تا دوباره از تراشه استفاده شود.
از سوی دیگر، یک FPGA را میتوان دوباره برنامهریزی کرد و دوباره مورد استفاده قرار داد و در مورد سفارشیسازی و شخصیسازی بسیار انعطاف پذیرتر است، به خصوص زمانی که در این زمینه مستقر شود. این امر باعث میشود FPGA نسبت به ASIC در برنامههای خاص بسیار مناسبتر و ارجحتر باشد.
با کمک یک FPGA میتوانید برنامهای بنویسید که بر روی یک تراشه سیلیکونی بارگذاری و عملکردها آن اجرا شود. اگر میخواهید یک تراشه را بهینه کنید تا با حجم کاری خاصی متناسب باشد، میتوانید از یک تراشه FPGA استفاده کنید. FPGAها میتوانند با نیازهای مدرن از پیچیدگی بالا و دستگاههای با کارایی بالا خود را مطابقت دهند. آنها همچنین چگالی منطقی بیشتر، پردازندههای تعبیهشده، بلوکهای DSP و کلاک را از دیگر ویژگیهای برجسته ارائه میدهند.
FPGA برای سیستمهاییایدهآل است که در آن بهروزرسانیهای مداوم الزامی است. اگر یک پردازنده نیاز به تغییراتی داشته باشد، تراشههای FPGA میتوانند در صورت نصب آنها را برای ایجاد این تغییرات مورد استفاده قرار دهند و نیاز به خرید سختافزار جدید را از بین ببرند.
اگر از تراشههای FPGA در خودروها استفاده میشود، میتوان با کمک این تراشهها حتی پس از فروختن آنها را بهروزرسانی کرد. این تراشهها همچنین اغلب توسط مشاغل سازمانی استفاده میشوند، زیرا میتوان آنها را با استفاده از مسیر دادهای که با تجزیه و تحلیل دادهها، استنتاج تصویر و حتی فشردهسازی مطابقت دارد، دوباره برنامهریزی کرد.
در ابتدا، هدف اصلی یک تراشه FPGA، نمونهسازی اولیه ASICها بود. مزیت استفاده از FPGA برای این منظور این است که میتوان آن را بارها و بارها برنامهریزی کرد، تا زمانی که یک طرح نهایی شود و هیچ اشکالی در طراحی پیدا نشود. به طور مثال، اینتل که یک نام بزرگ در صنعت فناوری اطلاعات است، از FPGA برای نمونهسازی اولیه تراشههای دائمی جدید استفاده میکند تا از کیفیت، عملکرد و یکپارچگی آنها اطمینان حاصل کند.
با در نظر گرفتن ویژگیهای مفید مختلف تراشههای FPGA، میتوان انواع مختلفی از برنامهها را نام برد که استفاده از FPGAها برای آنها مناسبتر هستند. FPGAها معمولاً برای پروژههای با حجم کم و پیچیدگی بالا استفاده میشوند، زیرا سفارشیسازی را ارائه میدهند.
کاربردهای اصلی FPGAها را میتوان در برنامههای پزشکی، پردازش تصویر و تصویر، مخابرات و دیتاکام، سرور و ابر و دفاع و فضا جستجو کرد. کاربردهای گسترده FPGA ها سبب شده است تا آموزش FPGA مقدماتی برای افراد با تخصص متنوع مفید باشد.
تراشههای FPGA هم در ارتباطات سیمی و هم در ارتباطات بیسیم استفاده میشوند. در ارتباطات سیمی در بک پلنهای سریال و ارتباطات بیسیم برای راه حلهای شبکه و آدرس دهی استانداردهای وایمکس و ۵G/۶G و HSDPA استفاده میشود. همچنین FPGA در بخش زیرساخت استفاده میشود و به خرد کردن دادهها با سرعت بالا کمک میکند.
در زمینه کاربردهای پزشکی نیز، از تراشههای FPGA برای اهداف تشخیصی و نظارتی استفاده میشود. آنها در تجهیزات پزشکی برای پردازش دادهها استفاده میشوند.
در زمینه هوافضا و کاربردهای دفاعی، کاربرد تراشههای FPGA را میتوان در برای پردازش تصویر، پیکربندی مجدد جزئی برای SDRها و همچنین برای تولید شکل موج جستجو کرد.
FPGA برای بهبود زمان عرضه به بازار محصولات مختلف تکنولوژیکی و کاهش هزینههای کلی مهندسی که در تعدادی از فرآیندها از جمله اتوماسیون صنعتی و نظارت انجام میشود، از دیگر کاربردهای FPGAها است.
از آنجایی که FPGA برای پیکربندی مجدد و هماهنگی با تغییرات استفاده میشود، هزینه نگهداری طولانی مدت لازم برای یک سیستم را کاهش میدهد.
از جمله اصلیترین کابردهای FPGAها میتوان به توسعه شبکههای عصبی عمیق یا DNN اشاره داشت که در نهایت منجر به تولید و نگهداری سیستمهای هوشمند مصنوعی میشود. FPGAهای با کارایی بالا در مقایسه با GPUها میتوانند حتی بیشتر به یک برنامه کاربردی کمک کنند و بنابراین برای اهداف توسعه فناوری یادگیری ماشین ترجیح داده میشوند. علاوه بر این موارد فناوری FPGA به شرکتهای ASIC فرصت نمونهسازی سریع را میدهد.
به طور مثال در زمینه کاربردهای پزشکی، از تراشههای FPGA برای اهداف تشخیصی و نظارتی استفاده میشود. آنها در تجهیزات پزشکی برای پردازش دادهها استفاده میشوند. FPGAها در MRI، CT اسکن، سونوگرافی، سیستم هایمانیتورینگ بیمار ECG استفاده میشوند.
FPGAها همچنین برای مشاغل سازمانی مفید هستند زیرا میتوانند به صورت پویا با یک مسیر داده که دقیقاً با یک حجم کاری خاص مطابقت دارد، مانند تجزیه و تحلیل داده، استنتاج تصویر، رمزگذاری یا فشردهسازی مجدد برنامهریزی شوند. FPGAهای بهینهسازی شده نیز نسبت به اجرای بارهای کاری معادل روی یک CPU از نظر مصرف انرژی کارآمدتر هستند.
این FPGA ترکیبی از تطبیقپذیری، کارایی و عملکرد، یک بسته جذاب برای کسب و کارهای مدرنی ارائه میدهند که به دنبال پردازش دادههای بیشتر با هزینه کل مالکیت کمتر (TCO) هستند. پس باید آموزش FPGA مقدماتی را به عنوان امری مناسب برای بهینه سازی فعالیتهای مشاغل سازمانی در نظر گرفت.
شبکههای عصبی عمیق (DNN) که برای هوش مصنوعی( AI) استفاده میشوند، زمینه جدیدی از کاربردهای FPGAها به شمار میروند که در حال حاضر مورد توجه است.
اجرای مدلهای استنتاج DNN قدرت پردازش قابل توجهی را میطلبد. واحدهای پردازش گرافیکی (GPU) اغلب برای تسریع پردازش استنتاج استفاده میشوند، اما در برخی موارد، FPGA با کارایی بالا ممکن است در تجزیه و تحلیل مقادیر زیادی از دادهها برای یادگیری ماشین، عملکرد بهتری از GPU داشته باشند.
مایکروسافت در حال حاضر از قابلیت تطبیقپذیری Intel FPGA را برای تسریع هوش مصنوعی بهره میبرد. Project Brainwave مایکروسافت از طریق خدمات ابری Microsoft Azure دسترسی به FPGAهای Intel Stratix را برای مشتریان فراهم میکند.
سرورهای ابری مجهز به این FPGAها به طور خاص برای اجرای مدلهای یادگیری عمیق پیکربندی شدهاند. سرویس مایکروسافت به توسعهدهندگان این امکان را میدهد تا از قدرت تراشههای FPGA بدون خرید و پیکربندی سختافزار و نرمافزار تخصصی استفاده کنند.
درعوض، توسعهدهندگان میتوانند با ابزارهای متنباز رایج مانند Microsoft Cognitive Toolkit یا چارچوب توسعه هوش مصنوعی TensorFlow کار کنند. بنابراین بیراه نیست اگر بگوییم که آموزش FPGA پیشرفته میتواند چشم اندازهای جدیدی برای آینده شغلی و تحصیلی شما محیا کند.
دانش اولیه زبانهای توصیف سختافزار مانند Verilog یا VHDL از جمله اصلیترین پیش نیازهای دوره آموزش FPGA مقدماتی به شمار میروند.
سایت مکتبخونه علاوه بر ارائه آموزش FPGA مقدماتی، از دوره ها و مقالات معتبر و مفیدی برخوردار است که مطمئنا برای شما مفید خواهد بود. از اینکه تا پایان این مطلب ما را همراهی کردید، سپاس گزارم.
آیا تا به حال پیش آمده که از قدرت پردازش کامپیوتر خود احساس نارضایتی کنید؟ شاید نرم افزارهای سنگین سرعت سیستم شما را پایین آوردهاند و یا به دنبال راه حلی برای انجام محاسبات خاص و با کارایی بالا هستید. در اینجاست که دنیای هیجان انگیز FPGA به میان میآید، که ما با این مقاله به آموزش fpga و کارایی آن خواهیم پرداخت.
ماتریس دروازه قابل برنامه ریزی میدان (Field-Programmable Gate Array) یا به اختصار FPGA یک مدار مجتمع با قابلیت برنامه ریزی مجدد است. این بدان معناست که شما میتوانید پیکربندی داخلی آن را تغییر دهید تا وظایف خاصی را انجام دهد. برخلاف CPU های سنتی که برای انجام مجموعه دستورالعملهای از پیش تعیین شده طراحی شدهاند، FPGA ها را میتوان برای اجرای الگوریتمهای خاص به صورت سخت افزاری برنامه ریزی کرد.
دلایل متعددی برای یادگیری FPGA وجود دارد. در اینجا به چند مورد از مهمترین آنها اشاره میکنیم:
کاربردهای FPGA بسیار متنوع است. در اینجا چند نمونه ذکر شده است:
برای شروع یادگیری و آموزش FPGA به چند ابزار کلیدی نیاز دارید:
منابع مختلفی برای یادگیری FPGA در دسترس است، از جمله:
یادگیری FPGA یک فرآیند گام به گام است. در اینجا مراحل کلی که باید دنبال کنید آورده شده است:
1. آشنایی با مفاهیم پایه: اولین قدم این است که در مورد مفاهیم اساسی طراحی دیجیتال مانند گیتهای منطقی، فلیپ فلاپها و مدارهای ترکیبی و ترتیبی دانش کسب کنید.
2. انتخاب برد آموزشی و نرم افزار EDA: پس از آشنایی با مفاهیم پایه، باید یک برد آموزشی FPGA و نرم افزار EDA مناسب را انتخاب کنید. برد آموزشی باید با نیازها و بودجه شما مطابقت داشته باشد و نرم افزار EDA باید استفاده از آن آسان و دارای ویژگیهای کافی باشد.
3. یادگیری زبان سخت افزار: در مرحله بعد باید یک زبان سخت افزار مانند VHDL یا Verilog را یاد بگیرید. این زبانها برای توصیف مدارهای منطقی و پیاده سازی آنها روی FPGA استفاده میشوند.
4. شروع با پروژههای ساده: پس از یادگیری زبان سخت افزار، میتوانید با پروژههای ساده شروع کنید. این پروژهها به شما کمک میکند تا مفاهیم کلیدی را درک کرده و مهارتهای خود را تمرین کنید.
5. به تدریج به سمت پروژههای پیچیده تر بروید: با افزایش مهارت خود، میتوانید به سراغ پروژههای پیچیده تر بروید. این پروژهها به شما کمک میکند تا دانش و مهارت خود را در زمینهٔ FPGA به چالش بکشید و ارتقا دهید.
6. از منابع آموزش fpga موجود استفاده کنید: منابع آموزشی مختلفی مانند دورههای آنلاین، کتابها و آموزشگاهها برای کمک به شما در یادگیری FPGA در دسترس است. از این منابع برای تکمیل دانش و مهارتهای خود استفاده کنید.
7. با جامعه FPGA ارتباط برقرار کنید: جامعه FPGA فعال و حمایتی است. میتوانید با پیوستن به انجمنهای آنلاین و حضور در رویدادهای FPGA با سایر علاقهمندان به FPGA ارتباط برقرار کنید. این امر میتواند به شما در یادگیری، اشتراک گذاری ایدهها و رفع چالشها کمک کند.
8. صبور باشید و به تمرین ادامه دهید: یادگیری FPGA یک فرآیند زمان بر است. صبور باشید و به تمرین ادامه دهید. با تلاش و پشتکار میتوانید به یک متخصص FPGA تبدیل شوید.
FPGA ها در مقایسه با CPU ها مزایای متعددی دارند. FPGA ها میتوانند محاسبات را سریعتر انجام دهند، انعطاف پیرتر باشند و کنترل دقیق تری بر سخت افزار به شما ارائه دهند. با این حال، CPU ها برای اجرای برنامههای عمومی مناسب تر هستند و برنامه نویسی آنها آسانتر است.
یادگیری FPGA به زمان و تلاش نیاز دارد، اما با منابع و راهنمایی مناسب، میتواند برای افراد با پیشینههای مختلف قابل دسترس باشد.
بهترین راه برای یادگیری FPGA ترکیبی از یادگیری تئوری، انجام پروژههای عملی و استفاده از منابع آموزشی موجود است.
مهندسان FPGA در طیف گستردهای از صنایع از جمله مخابرات، دفاع، هوافضا، پزشکی و محاسبات علمی کار میکنند.
دوره آموزش FPGA مقدماتی برای افرادی مناسب است که به دنبال یادگیری اصول طراحی و برنامه نویسی FPGA هستند. این دوره برای افراد با پیشینههای مختلف از جمله دانشجویان مهندسی برق و کامپیوتر، مهندسان سخت افزار و علاقهمندان به یادگیری مهارتهای جدید مناسب است.
در دوره آموزش fpga، شما با مفاهیم زیر آشنا خواهید شد:
در این دوره آموزش fpga، شما با انواع پردازندهها و عملکرد آنها آشنا خواهید شد. شما همچنین در مورد مزایا و معایب استفاده از FPGA ها در مقایسه با پردازندههای سنتی خواهید آموخت.
در این دوره آموزش fpga، شما با معماری FPGA ها، بلوکهای ساختمانی آنها و نحوه برنامه ریزی آنها آشنا خواهید شد. شما همچنین در مورد ابزارها و نرم افزارهای مورد استفاده برای طراحی FPGA ها خواهید آموخت.
در این دوره آموزش fpga، شما با زبانهای توصیف سخت افزار HDL مانند VHDL و Verilog آشنا خواهید شد. شما همچنین در مورد بدنههای ترکیبی و ترتیبی که بلوکهای ساختمانی اساسی طراحی FPGA هستند، خواهید آموخت.
در این دوره آموزش fpga، شما با مفهوم ماشین حالت و نحوه استفاده از آنها برای طراحی مدارهای کنترل آشنا خواهید شد. شما همچنین در مورد فراخوانیهای مکرر، زیربرنامه ها و توابع در VHDL خواهید آموخت.
در این دوره آموزش fpga، شما با ملاحظات مربوط به تست و اشکال زدایی برنامههای FPGA آشنا خواهید شد. شما همچنین در مورد فرآیند پیاده سازی یک طراحی FPGA بر روی یک برد واقعی خواهید آموخت.
پس از اتمام این دوره، شما قادر خواهید بود:
دوره آموزش FPGA مقدماتی یک دوره جامع است که به شما اصول طراحی و برنامه نویسی FPGA را آموزش میدهد. این دوره برای افراد با پیشینههای مختلف از جمله دانشجویان مهندسی، مهندسان و علاقهمندان به یادگیری مهارتهای جدید مناسب است. همچنین در مکتب خونه انواع دوره آموزش برنامه نویسی و آموزش سخت افزار و غیره به عنوان مکمل و پیش نیاز این دوره موجود است.
در فصل اول از دوره آموزش FPGA مقدماتی در مکتب خونه با پردازندهها و قابلیتهای آنها آشنا خواهید شد. در بخش اول از این فصل، کلیات میکروکنترلرها و میکروپروسسورها معرفی میشود و در بخش های دوم و سوم نیز، به معرفی معماری کلی پردازندهها و پردازندههای DSP پرداخته میشود. تمرین پایان این فصل، بررسی معماری پردازندههای جدید و روشهای مورد استفاده برای افزایش سرعت در آنها میباشد.
فصل دوم دوره آشنایی با FPGAهاست. در بخش اول آن تفاوت پردازنده ها، ASIC و FPGA بیان میشود. در بخش دوم، به معرفی شرکتهای معروف سازنده FPGA، بخش سوم، معرفی سایتهای مرتبط با تراشه های Xilinx، Intel و Actel در بخش چهارم، به معماری داخلی FPGA، بخش CLB و پردازندههای داخلی پرداخته میگردد. پس از پایان بخش چهارم، نوبت به تمرین دوم میرسد که مقایسه LUTها و دلیل انتخاب ورودیهای 4، 5 و 6 برای آنها با آن انجام میگیرد. بخش پنجم این فصل، به حافظه های BRAM در FPGA و معرفی چند بورد نمونه FPGA اختصاص دارد. در بخش ششم نیز مقایسه تعدادی از تراشههای FPGA از شرکت Xilinx مورد بررسی قرار میگیرد. در پایان این فصل، تمرین سوم آورده شده است که معماری FPGAهای Zynq، سری RFSoC و MPSoC را در آن بررسی میکنیم و برای تثبیت آموختهها یک کوییز نیز از علاقمندان گرفته میشود.
در فصل سوم از دوره آموزش FPGA به آشنایی با کلیات زبانهای توصیف سختافزار، بدنههای ترکیبی و ترتیبی پرداخته میشود. در بخش اول این فصل کلیات زبانهای مورد استفاده برای برنامه نویسی و کار با FPGA بررسی و مرور میشوند. در بخش دوم، کار با نرمافزار ISE را شروع میکنیم و در بخش سوم، یک برنامه ساده گیت منطقی NOT در محیط ISE سنتز و شبیهسازی میشود. در پروژه اول این فصل، برنامه f=a.b را با استفاده از گیت AND و با استفاده از مالتیپلکسر مینویسیم. بعد از پایان پروژه بخش چهارم این فصل آغاز میشود، در این بخش کتابخانهها و نوع متغیرها در VHDL تعریف میشوند.
در بخش پنجم، با ساختارهای dataflow، structural و behavioral آشنا میشویم و در بخش ششم، از بدنههای ترکیبی در زبان VHDL مثالهایی آورده میشود. بعد از آن پروژه دوم، یعنی برنامه ضربکننده دو عدد 2-بیتی بدون علامت را مورد بررسی قرار میدهیم. در بخش هفتم از فصل دوم دوره آموزش FPGA با Language Template در نرم افزار ISE آشنا میشویم و در بخش هشتم، برنامه یک جمع کننده 4 بیتی با فراخوانی Full-Adderها در ISE آموزش داده میشود.
بعد از این بخش، پروژه سوم این فصل یعنی برنامه مرتب کننده 4 عدد بدون علامت را آموزش خواهیم دید. در بخشهای نهم، دهم، یازدهم، دوازدهم و سیزدهم به مثالهایی از ساختارهای منطقی ترتیبی مانند Latch، فلیپ فلاپ، رجیسترها و ...، شیفت رجیستر، شمارندهها، LFSR و کاربردهای آن، مثالهایی ازکدنویسی در ISE، نوشتن برنامه یک شمارنده در ISE و مثالی از بدنههای ترکیبی و ترتیبی، حافظه ROM، تفاوت signal و variable پرداخته میشود. در پایان، این فصل با پروژه برنامه تقریب تکه خطی یک تابع ریاضی به انتها میرسد و کوییز دوم نیز برگزار میشود.
فصل چهارم از دوره آموزش FPGA در مورد ماشین حالت و برنامههای کنترل داده، فراخوانیهای مکرر، زیربرنامهها و توابع در VHDL است. در بخش اول این فصل قسمت اول از ماشین حالت و در بخش دوم، قسمت دوم ماشین حالت معرفی میشود. پس از آن، پروژه پنجم این دوره آموزشی یعنی برنامه انکدر CRC انجام میشود. در بخش سوم استفاده از for-generate را میآموزیم. در بخش چهارم Package، Function و Procedure معرفی میشوند. در بخش پنجم، برنامه محاسبه بزرگترین مضرب مشترک دو عدد نوشته میشود و در بخش ششم، برنامه Funnel Shifter آموزش داده میشود. سپس پروژه ششم یعنی برنامه ضربکننده Baugh-Wooly آموزش داده میشود.
در بخش هفتم این فصل، برنامه تابع ضربکننده و استفاده از Package معرفی میشود. در بخشهای هشتم و نهم، مثالهایی از برنامه نویسی VHDL آورده میشود. پس از آن پروژه هفتم یعنی برنامه ضرب دو ماتریس 3×3 آموزش داده میشود و مجدداً برای تعمیق و تثبیت آموختهها، کوییز سوم برگزار میشود.
در فصل پنجم به ملاحظات برنامههای تست و مطالب مرتبط با پیادهسازی سخت افزاری پرداخته میشود. در بخش اول از این فصل، اصول کلی برنامههای تست، در بخش دوم، ساخت سیگنالهای متناوب، استفاده از Record و استفاده از دستور Assert آموزش داده میشود. در بخش سوم و بخشهای چهارم و پنجم، برای تست برنامه، کار با فایلها، برنامه محاسبه فیلتر میانه و ادامه برنامه محاسبه فیلتر میانه آموزش داده میشود. سپس، پروژه هشتم یعنی برنامه مولد اعداد گوسی مورد بررسی قرار میدهیم.
در بخش ششم، گزارشگیری Timing در نرمافزار ISE معرفی میشود. بخش هفتم، به گزارشگیری توان مصرفی در نرمافزار ISE پرداخته میشود. در بخشهای هشتم و نهم، نحوه مشخص کردن پینها و پیکربندی FPGA و همینطور آشنایی با محیط Vivado و نحوه کار در این محیط بررسی میگردد. در پایان، پروژه نهم یعنی برنامه محاسبه جذر، لگاریتم و پروژه دهم یعنی برنامه محاسبه هیستوگرام یک تصویر انجام میگیرد و در خاتمه دوره نیز، کوییز چهارم برگزار میشود.
اطلاعات بیشتر
از مجموع 31 امتیاز
9 نظرنظرات بیشتر
پس از گذراندن محتوای دوره به صورت آنلاین (بدون دانلود) در سایت مکتبخونه، در صورتی که حد نصاب قبولی در دوره را کسب و تمرین ها و پروژه های الزامی را ارسال کنید، گواهینامه رسمی پایان دوره توسط مکتبخونه به اسم شما صادر شده و در اختیار شما قرار میگیرد.
قابل اشتراکگذاری در
دکتر مهدی آیت دانشآموخته دکترای رشته برق الکترونیک از دانشگاه علم و صنعت ایران میباشد. ایشان از سال 1387 بطور تخصصی مشغول به کار در حوزههای راداری، جنگ الکترونیک، مخابرات ماهواره و ... هستند. از جمله فعالیتهای کاری ایشان، انجام یک سری فعالیتهای تحقیقاتی در حوزههای مخابراتی، همکاری با چند موسسه برای تدریس مباحث پیشرفته پردازش سیگنال، مخابرات و FPGA، مشاوره و همکاری با چند شرکت معتبر در پروژههای ساخت رادار، جنگ الکترونیک و ماهواره و همچنین طراحی این سیستمها میباشد.
اطلاعات بیشتر