طراحی و پیاده سازی کامپایلر بهینه ساز vhdl برای سنتز سطح بالا
چکیده
در این رساله، طراحی و پیاده سازی یک کامپایلر بهینه ساز سیلیکون برای سنتز سطح بالا مورد مطالعه قرار می گیرد. مزیت اصلی این روش، کوتاهتر بودن توصیف سطح بالا نسبت به انواع سطح پائین آن می باشد. از اینرو نوشتن و درک این توصیفات، و نیز تغییرات آتی آنها بسیار ساده تر خواهد بود. این مزایا موجب کاهش خطا و افزایش سرعت در شبیه سازی سیستمهای بزرگ شده و طراحی چنین سیستمهایی را ساده تر و در مدت کوتاه تر امکان پذیر می کند. زبان سخت افزاری vhdl هم اکنون به عنوان یک مجموعه واحد، طراحی و شبیه سازی سیستمهای پیچیده را امکان پذیر می کند. مزیت عمده زبان سخت افزاری vhdl به عنوان زبان سنتز و مشخصات، آن است که قابلیت توصیف سخت افزار را در تمام سطوح تجرد دارا می باشد. تبدیل مشخصه سطح بالا به یک نمایش داخلی، اولین مرحله در سنتز سطح بالا است. پس از این مرحله تبدیلاتی در جهت بهینه سازی رفتار بر روی آن اعمال می شود. زمانبندی و تخصیص، مراحل دیگری می باشند که رفتار توصیف شده را به یک ساختار سخت افزاری تبدیل می کنند. لازم به ذکر است که هر مرحله را می توان بطور مجزا طراحی و پیاده سازی کرد، که این مسئله ناشسی از مستقل بودن مراحل سنتز از یکدیگر می باشد. در این رساله، ابتدا به بررسی زبان vhdl پرداخته و با توجه به مسئله سنتز سطح بالا، زیر مجموعه ای از این زبان توصیف می شود. سپس گرامر این زیر مجموعه در محیط یک کامپایلر-کامپایلر به نام lex&yacc پیاده سازی شده و نهایتا کامپایلر مورد نظر طراحی و تولید می شود. لازم بذکر است که علاوه بر تبدیل یک برنامه رفتاری به نمایش داخلی، به منظور نمایش نحوه عملکرد کامپایلر یک نمایش میانی نیز برای آن در نظر گرفته شده است. نرم افزار فوق در محیط ms-windows با زبان borland c++ طراحی شده و بعلاوه از محیط یک کامپایلر-کامپایلر به نام lex&yacc استفاده شده است.