مقدمه ای بر تکنولوژی fpgaو نرم افزار QUARTUS II
شاید تاکنون فکر کرده باشید اگر یک طرح دیجیتالی داشته و این طرح دارای تعداد ریادی آی سی باشد چگونه طرح خود را پیاده کرده و به صورت یک برد بسازید.یا اینکه یک آی سی با امکاناتی به خصوص داشته باشید که نمونه اش در هیچ یک از آی سی های دیجیتالی دنیا موجود نباشد.
مثلا میخواهیم یکی از طرح های زیر را پیاده کنیم:
یک ساعت دیجیتالی با امکانات کامل
یک تولید کننده پالسهای pwm برای یک اینورتر تک فاز یا سه فاز
تولید سیگنالهای همزمانی عمودی و افقی برای یک نمایشگر RGBیا LCD
ساختن یک اسیلوسکوپ دیجیتالی
ساختن یک تابلوی روان با LED
و.....
سری تراشه هایی به نامهای FPGA و CPLD تولید شده اند که دارای یک معماری خاص بوده به طوری که شما را قادر می سازد هر گونه طرح دیجیتالی خود را ابتدا با نرم افزار واسط طراحی کرده سپس طرح خود را در نرم افزار مربوطه شبیه سازی کرده و به کمک پروگرامر مخصوص بر روی این آی سی خام به صورت سخت افزاری پیاده کنید.
حتی شما میتوانید تعداد پایه های مورد نیاز خود برای آی سی ٬محل قرار گرفتن این پایه ها در اطراف آی سی و نوع آن را در نرم افزار مربوطه انتخاب کنید.
پس از طراحی میتوان بررسی کرد که چه زمان تاخیر بین تحریک ورودیها و تغییر وضغیت در خروجیها وجود داردو در صورت زیاد بودن این تاخیر یا موارد ایرادهای دیگر طرح را قبل از پروگرام کردن بهینه کرد. کار طراحی برنامه بر روی این نرم افزارهای واسط به دو روش انجام میشود:
1-روش گرافیکی:در این روش با استفاده از توابع از پیش طراحی شده که در واقع یک سری بلوک گرافیکی هستند طرح آماده میشود.
این توابع عبارتند از:
primitive functions
macro functions
library of paraneterized modules
mega functions
که در مورد توابع mega باید گفت که به دو دسته open core و mega core
تقسیم بندی میشوند.این دودسته را شرکتهای طراحی کننده ماکروها طراحی میکنند و جهت فروش آماده می نمایند.دسته اول را بر روی نرم افزار میتوان شبیه سازی کرد ولی نمیتوان بر روی آی سی پروگرام کرد(بایستی خریداری کرد) و دسته دوم را میبایست از ابتدا خریداری کرد.
(یکی از کارهای سود آور شرکتهای بزرگ طراحی همین mega functions ها است.
2-روش برنامه نویسی:در این روش با استفاده از برنامه نویسی VHDL (برنامه نویسی توصیف سخت افزاری )قسمتهایی از طرح که به صورت گرافیکی قابل پیاده سازی نیست را طراحی کرده و سپس آن را به طرح اصلی اضافه میکنیم.
امادر مورد نرم افزار MAX+PLUS شرکت ALTERA نرم افزار جدید خود با نام QUARTUS II را جهت برنامه نویسی سری FPGA های خود ارائه کرد.امکانات این نرم افزار قدرتمند به این شرح است:
1-ایجاد طرح های مورد نظر شما به صورت گرافیکی
2-محیط برنامه نویسی VHDL جهت برنامه نویسی
3-شبیه سازی طرح آماده شده
4-کامپایلر و سنتز برنامه
5-بهینه کردن طرح از نظر تاخیر و فرکانس کاری
6-ایجاد فایل مورد نیاز به صورت رشته هایی از صفر و یک برای برنامه ریزی سوئیچ ها و قسمتهای مختلف FPGA
مراحل کار در این نرم افزار به این صورت است:
ابتدا طرح مورد نظر خودتان را به صورت گرافیکی یا زبان برنامه نویسی VHDL پیاده سازی می کنید.سپس توسط نرم افزار QUARTUS II برنامه شما سنتز و کامپایلر میشود.
در مرحله بعد طرح توسط نرم افزار شبیه سازی میشود تا رفع اشکال و بهینه شود.
سپس FPGAمورد نظر انتخاب میشود و پایه ها بر روی آن مشخص میشوند و سپس طرح شما از نظر فرکانس کاری و میزان تاخیر چک میشود.