پیاده‌سازی مدارات VHDL در FPGA | مدارات عمومی الکترونیک ,

پیاده‌سازی مدارات VHDL در FPGA

پیاده‌سازی برنامه‌های VHDL در FPGA  شامل مراحل زیر می‌باشد.

1-    طراحی و شبیه‌سازی برنامه VHDL: 

    در این مرحله معمولاً مدار دیجیتال مورد نظر را در سطح رفتاری با استفاده از VHDL طراحی كرده و به كمك ابزارهای شبیه‌سازی ، برنامه نوشته شده را در سطح رفتاری شبیه‌سازی می‌كنند.

    برای طراحی و شبیه‌سازی برنامه‌های VHDL ابزارهای مختلفی از جمله Modelsim ، Active-VHDL ، HDL-Designer و وجود دارد.

   پس از طراحی كامل VHDL و شبیه‌سازی آن چنانچه تابع مورد نظر بدست آمده باشد برنامه را جهت سنتز آماده می‌كنند.‌ در ضمن اگر میزان سخت‌افزاری كه اشغال خواهد شد یا سرعت آن مهم باشد در طراحی VHDL علاوه بر بدست آوردن تابع مورد نظر نكات دیگری نیز باید مد نظر قرار گیرد كه البته در اینجا مجال پرداختن به آن نیست و در آینده در این مورد بحث خواهد شد.

2-   سنتز برنامهVHDL : 

     برنامه VHDL كه طراحی شده است جهت پیاده‌سازی در FPGA باید به سطح قابل فهم برای ابزار پیاده‌سازی ترجمه شود. به عنوان مثال وقتی در VHDL نوشته می‌شود S <= A + B ; در واقع هدف طراحی یك مدار جمع كننده‌ای می‌باشد كه دو ورودی  A و B (فرض كنید دو عدد 8 بیتی) را با هم جمع كرده و نتیجه را در خروجی  S نمایش دهد. در سطح رفتاری جهت سادگی طراحی به این شكل می‌نویسند. در صورتی كه ابزار پیاده‌سازی جز تعدادی المان مشخص (موجود در كتابخانه) كه به یكدیگر متصل شده باشند چیزی نمی‌فهمد. و این ابزار سنتز است كه برنامه VHDL را از سطح رفتاری به سطح گیتی قابل فهم برای ابزار پیاده‌سازی ترجمه می‌كند.

     بنابراین سنتز را می‌توانیم بصورت زیر تعریف كنیم:

“ سنتز عبارت است از انتقال طراحی از سطح بالا به سطوح پائینتر“ 

   مثلاً انتقال از سطح رفتاری به سطح گیتی یا از سطح رفتاری به سطح ساختاری و 

   ابزار سنتز با استفاده از كتابخانه‌هایی كه در اختیار دارد مدار طراحی شده در سطح رفتاری را به مداری متشكل از تعدادی المان متصل شده به یكدیگر تبدیل می‌كند. از نرم‌افزارهای بسیار قدرتمند در این زمینه  Leonardo می‌باشد كه قابلیت انتقال مدار از سطح رفتاری به سطح گیتی برای پیاده‌سازی در FPGA و ASIC را دارا می‌باشد.

   ابزارهای سنتز با توجه به قابلیت‌هایی كه دارند معمولاً تعدادی از پارامترها را به عنوان ورودی قرار داده و كاربر می‌تواند با تغییر این پارامترها مدار را جهت بدست آوردن حداكثر سرعت یا حداقل سخت‌افزار یا حالت متعادلی بین این دو سنتز نماید. به عنوان مثال نرم‌افزار Leonardo پارامتر ورودی دارد به نام Max Fan Out كه كاربر می‌تواند با تعیین مقدار خاصی برای این پارامتر مدار را جهت بیشترین سرعت بهینه نماید.

3-    شبیه‌سازی مدار سنتز شده: 

   ابزار سنتز خروجی‌های مختلفی را برای اهداف متفاوتی در اختیار كاربر قرار می‌دهد. معمولاً یك فایل Edif جهت استفاده در ابزار پیاده‌سازی در اختیار قرار می‌دهد و همچنین كاربر می‌تواند با تنظیم مناسب نرم‌افزار ، برنامه VHDL سطح گیتی را نیز از آن دریافت كرده و در ابزارهای شبیه‌سازی VHDL شبیه‌سازی نماید. البته لازم به ذكر می‌باشد كه برای شبیه‌سازی این برنامه VHDL باید كتابخانه‌هایی را كه ابزار سنتز از آن استفاده كرده است به ابزار شبیه‌سازی شناساند. در اینجا نكته مهمی وجود دارد و آن اینكه الزاماً همیشه كتابخانه مورد استفاده ابزار سنتز به ابزار شبیه‌سازی قابل شناساندن نیست، چون ابزار شبیه‌سازی VHDL كتابخانه‌های با فرمت VHDL را می‌پذیرد در حالی كه ابزار سنتز ممكن است از كتابخانه‌هایی با فرمت‌ خاص استفاده كرده باشد. معمولاً شركت‌های سازنده FPGAفرمت‌های مختلف كتابخانه‌های خود را در اختیار مصرف‌كنندگان قرار می‌دهند.

    برای شبیه‌سازی سطح گیتی نیز از نرم‌افزارهای Modelsim و Active-VHDL به شرطی كه كتابخانه‌های آنها تأمین شده باشد می‌توان استفاده نمود.

   در مرحله شبیه‌سازی گیتی چنانچه مشكلی مشاهده شد حل آنرا در چند نقطه باید جستجو كرد.

1-    تنظیمات ابزار سنتز كه باعث ایجاد مشكل نشده باشد.

2-     كتابخانه‌های مورد استفاده توسط ابزارهای سنتز و شبیه‌سازی

3-     برنامه VHDL كه از دستورات غیر قابل سنتز استفاده نشده باشد یا از نظر Timing ایجاد اختلال نكرده باشد.

4-    پیاده‌سازی مدار سنتز شده در FPGA: 

     ابزار پیاده‌سازی برخلاف ابزار سنتز و شبیه‌سازی برای هر شركت سازنده FPGA متفاوت بوده و هر شركتی ابزار پیاده‌سازی خاص FPGA های خود را به بازار عرضه می‌كند. عموم این نرم‌افزارها برنامه سنتز شده با فرمت Edif را دریافت كرده و پس از ترجمه و Place & Route در FPGA  فایل Bit Stream ، Hex یا Bin جهت Download در FPGA تولید می‌كند. و كاربر می‌تواند این فایل را از طریق پورت JTAG در FPGA ، Download كرده یا به اصطلاح FPGA را Configure نماید.

 


نوشته شده توسط الکترونیک ۲ در شنبه 27 مرداد 1386 و ساعت 01:08 ق.ظ
نوشته های پیشین
+ شیر آب جادویی+ هنر اندازه گیری و مدل سازی در آزمایش مودال و مشکلات آن-1+ فرهنگ مصرف در ایران+ ذخایر اورانیوم ایران ( Iran uranium )+ پهپاد ( UAV ) ؟ ؟+ نگاهی به "سبك زندگی" ترویجی سینما و تلویزون و رابطه آن با "جمعیت"+ پهباد (UAV)+ ساخت ربات مسیریاب+ شبیه سازی بویلر زغال سنگ سوز به کمک نرم افزار EES (قسمت 4)+ شعار سال 91+ سال نو مبارک+ کمپین خودجوش دانشجویان ایرانی برای همکاری داوطلبانه با سازمان انرژی اتمی+ بررسی رفتار غیر خطی سازه در تست مودال+ عید غدیر مبارک+ ارائه یك طرح نوین مهندسی جهت مدیریت ناوگان اتوبوسرانی درون شهری+ مبارزه بیولوژیک، راهی بسوی توسعه پایدار کشاورزی+ سوخت بیودیزل چیست ؟+ عید فطر مبارک+ کاربرد نانوتکنولوژی در کشاورزی+ دیدار رهبر معظم انقلاب اسلامی امام خامنه ای، با اساتید دانشگاه ها+ علائم کمبود و بیشبود (مسمومیت) عناصر غذایی پرمصرف اصلی در گلخانه ها+ شبیه سازی بویلر زغال سنگ سوز به کمک نرم افزار EES (قسمت 3)+ بن سای ( درختان مینیاتوری )+ پیوند زنی و انواع آن Grafting | قسمت سوم+ پیوند زنی و انواع آن Grafting | قسمت دوم+ پیوند زنی و انواع آن Grafting | قسمت اول+ بستر كشت گیاهان گلخانه ای + List of Papers from IOMAC2009+ تکنیک‌های تهیه و تولید کشت آگار + مزایای كشت گلخانه‌ای

صفحات:
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic