بخش مدار های 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  برای راحتی کار با محصولات خودشان ارائه می دهند که مورد استفاده کاربران قرار می گیرند.

پژوهشگر و نویسنده:  دکتر  (  افشین رشید)

دکترایِ  تخصصی نانو _ میکرو الکترونیک