بخش مدار های ASIC/FPGA _ بلوک های منطقی قابل برنامه ریزی
آشنایی زبان های برنامه ریزی میکروکنترولر FPGA
پژوهشگر و نویسنده: دکتر ( افشین رشید)
برای پیاده سازی یک طرح یا سیستم روی یک FPGA ابتدا مدار را به بلوک(مدول)های کوچک تقسیم می کنند و سپس به توصیف آنها و نحوه اتصال شان به یکدیگر می پردازند و به این ترتیب بعد از اتمام این مراحل کدهای مربوط به مدار اصلی آماده می شوند.(در واقع کدها همان سخت افزار را طراحی می کنند.)که به این مرحله ، مرحله Design Entry می گویند.
بعد از اتمام این مرحله نوبت به شبیه سازی برنامه میرسد و بعد از اطمینان از عملکرد صحیح مدار ، مرحله Synthesis آغاز می شود که در این مرحله کد های نوشته شده به شماتیک مدار تبدیل می شود(در شماتیک از گیت ها و دیگر عناصر دیجیتال مانند مالتی پلکسر ، جمع کننده و غیره استفاده می شود ).سپس فایل خروجی که از ابزار سنتز گرفته می شود به ابزار Implement داده می شود. در این مرحله شماتیکی که از مرحله سنتز به وجود آمده است به ترکیبی از المان های موجود در داخل FPGA تبدیل شده و سپس در جای مناسب در داخل FPGA قرار داده می شوند ، که به این مرحله Placement می گویند.
و بعد از این المان ها عمل سیم کشی و اتصال آغاز می شود که به این مرحله ، مرحله ی Routingمی گویند. و بعد از این مرحله فایلی با پسوند bit تولید می شود که ما می توانیم توسط این فایل bit خود FPGA ، و یا تبدیل آن به فایل های دیگر و ROM متصل به FPGA را پروگرام کنیم.
آشنایی زبان های برنامه نویسی میکروکنترولر FPGA
برای طراحی یک مدار با یک FPGA ما نیاز به یک زبان توصیف سخت افزار داریم که کدهای نوشته شده ی ما را به مدار مد نظر ما تبدیل کند. در واقع ما در یک FPGA با نوشتن برنامه مدار مورد نظرمان را طراحی می کنیم. تعداد زبان های توصیف سخت افزار زیاد است اما دو زبان VHDL و Verilog از همه مشهورتر هستند. که توسط شرکت IBM و Texas Insturment عرضه شده است.نرم افزار هایی مانند LVD ، Modelsim برای شبیه سازی و نرم افزار هایی مانند Sinplify ، FPGA Express برای سنتز می توانند مورد استفاده قرار بگیرند. البته در طراحی با FPGA نرم افزار های دیگری هم هستند که شرکت های تولید کننده FPGA برای راحتی کار با محصولات خودشان ارائه می دهند که مورد استفاده کاربران قرار می گیرند.
پژوهشگر و نویسنده: دکتر ( افشین رشید)
دکترایِ تخصصی نانو _ میکرو الکترونیک