مهندس موفق الکترونیک

طراحی و ساخت برد آموزشی Xilinx CPLD

طراحی و ساخت برد آموزشی  Xilinx CPLD با زبان برنامه نویسی VHDL

FPGA ها نسل جدید مدارهای مجتمع دیجیتال قابل برنامه ریزی هستند که عبارت FPGA از سر کلمه های Field Programmable Logic Gate Array  گرفته شده است . سرعت اجرای توابع منطقی در FPGA ها بسیار بالا و در حد نانو ثانیه است . اگر بخواهیم FPGA ها را به طور ساده تشریح کنیم ، عبارت است از یک تراشه که از تعداد بالایی بلوک منطقی  LB) Logic Block) ، خطوط ارتباطی و پایه های ورودی / خروجی (IOB) تشکیل شده است که به صورت آرایه ای در کنار یکدیگر قرار دارند . خطوط ارتباطی که وظیفهء آنها ارتباط بین بلوک های منطقی است از سوئیچ های قابل برنامه ریزی تشکیل شده اند. این سوئیچ ها بسته به نوعی که دارند ، برخی تنها یکبار قابل برنامه ریزی هستند و برخی به تعداد دفعات زیادی برنامه ریزی می شوند .

بلوک های منطقی نیز دارای انواع مختلفی هستند که عموما توسط المانی پایه ، تمامی توابع منطقی را ایجاد می کنند . به عنوان مثال بلوک های منطقی در خانواده ACT-1 از شرکت Actel ، با پایهء مالتی پلکسری عمل می کنند . به این معنا که توسط مالتی پلکسر ، توانایی ایجاد توابع منطقی مختلف را دارند .

البته تعداد ورودی های هر بلوک منطقی متفاوت است و به نوع FPGA مربوط می شود . به عنوان مثال بلوک های منطقی در خانوادهء ACT-1  ، از نوع 8 ورودی است . البته در برخی موارد به بلوک های منطقی ، سلول های منطقی نیز گفته می شود .

بلوک دیاگرام یک FPGA به طور ساده در شکل شماره 1 نشان داده شده است .

مطلب پیشنهادی:  را اندازی lcd رنگی با FPGA

ساختار داخلی FPGA

البته بسیاری از سلول های منطقی بر اساس جداول LUT ساخته می شوند. LUT از تعدادی سلولهای حافظه SRAM  تشکیل می شود که در هنگام برنامه ریزی FPGA ، مقدار دهی می شوند . به طور خلاصه LUT عبارت است از تولید توابع آماده برای استفاده در سلول های منطقی .پیاده سازی توابع مختلف نیز به وسیلهء در کنار هم قرار گرفتن بلوک های منطقی و همچنین تنظیم ارتباط بین هر بلوک و به عهده گرفتن پردازش اطلاعات توسط هر بخش انجام می شود که در شکل شماره 2 نشان داده شده است .

ساختار داخلی FPGA

 

مبحث مربوط به FPGA ها بسیار گسترده است . دلیل این امر گوناگونی معماری ساخت برای FPGA های هر شرکت سازنده است . به عنوان نمونه در ساختار منطقی بلوکها ، ترکیب های متفاوتی وجود دارد که هر شرکت از ترکیب خاص خود استفاده می کند .علاوه بر اجزای گفته شده ، ممکن است برخی قسمت های داخلی نیز برای FPGA تعبیه شده باشد ، نظیر ALU و … که بستگی به طراحی شرکت سازنده دارد. FPGA در پیاده سازی توابع نسبتا پیچیده دیجیتال به کار می روند که نیاز به سرعت پردازش بالایی دارد . علاوه بر این کاهش سخت افزار مورد نیاز و همچنین برنامه نویسی ساده و استاندارد نیز از دیگر مزیت های استفاده از FPGA است.

مطلب پیشنهادی:  برد FPGA ucLinux

برنامه نویسی و طراحی مدارات با FPGA ها

برنامه نویسی و طراحی مدارات با FPGA ها به طور کلی به 2 صورت انجام می شود:

  • با استفاده از زبان های توصیف سخت افزاری مانند VHDL ، AHDL ، HDL  و …
  • با استفاده از طراحی مدار

این عمل توسط نرم افزارها و ابزارهای برنامه ریزی مختص به هر خانواده انجام می شود که توسط شرکت های سازنده در اختیار طراحان قرار می گیرد . به عنوان نمونه MAX + Plus || و QUARTUS || ابزار های برنامه ریزی FPGA های ساخت شرکت ALTERA هستند.

در فصل اول به بررسی کامل FPGA از لحاظ بررسی ساختار داخلی، چگونگی عملکرد و کاربرد،

قابلیت و توانایی های، کارخانه های تولید کننده و در نهایت زبانهای برنامه نویسی ,نرم افزارهای مربوط FPGA  پرداخته شده است.

در فصل دوم به بررسی کامل قطعات و سخت افزار پروژه و تشریح کامل آنها پرداخته و در نهایت نقشه های جانمایی قطعات و PCB پروژه را قرار داده.

در فصل سوم به صورت کامل به بررسی VHDL پرداخته و نرم افزار ISE را بصورت توضیح و شکل بررسی کامل نموده.

در ادامه پیوست هایی درباره کارها و آزمایش های انجام شده و طریقه برنامه نویسی توسط برد آموزشی قرار داده شده است.

مطلب پیشنهادی:  پروژه ساخت کنسول بازی

فهرست مطالب

فصل اول : عنوان پرو‍‍ژه و تحقيق

  • طراحی و ساخت برد آموزشی  Xilinx FPGA با زبان برنامه نویسی VHDL
  • بررسی ساختار داخلی و بلاك دياگرام FPGA
  • چگونگی عملکرد و کاربرد FPGA
  • قابلیت و توانایی های FPGA
  • کارخانه های تولید کننده FPGA
  • زبانهای برنامه نویسی FPGA
  • نرم افزارهای مربوط FPGA

فصل دوم : تشريح نقشه فني پروژه و سخت افزارطراحي شده

  • آی سی XC9572
  • LCD کاراکتری 16*2
  • بررسی پایه های LCD کاراکتری 16*2
  • صفحه کلید ماتریسی
  • سون سگمنت
  • آی سی بافر ULN2003
  • پورت سریال و MAX232
  • رگولاتور 7805
  • نقشه جانمایی قطعات بر روی بورد
  • نقشه PCB مدار 

فصل سوم: تشریح نرم افزار و برنامه های پروژه

  • درباره ی VHDL
  • آشنایی با زبان های توصیف سخت افزار
  • تاریخچه VHDL
  • سطوح طراحی در VHDL
  • مقدمه ای بر VHDL
  • اعلان Entity
  • قسمت Architecture
  • مدل ساختاری
  • مدل جریان داده
  • مدل رفتاری
  • کلمه کلیدی GENERIS

نرم­ افزار طراحي و پياده ­سازي سخت­ افزار ISE

  • آشنايي با نرم افزار ISE
  • ايجاد يك پروژه جديد در ISE
  • اضافه كردن فايل شماتيك جديد به پروژه

فصل چهارم: خلاصه پروژه و پيشنهادات

  • خلاصه و پيشنهاداتي براي ساخت و تست بردهاي XC9500 FPGA’s

فایل ها و توضیحات تکمیلی را از لینک زیر دانلود کنید :

مطالب مرتبط بیشتر در مورد FPGA ها را اینجا دنبال کنید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

4 دیدگاه

  1. خیلی ممنون از این پست
    بهتر بود نحوه اتصال به کامپیوتر و برد پروگرمر نیز توضیحاتی داده می شد.

  2. خیلی ممنون از این پست
    بهتر بود نحوه اتصال به کامپیوتر و برد پروگرمر نیز توضیحاتی داده می شد..

  3. با سلام لطفا پروژه های رایگان fpga را بیشتر و ایمیل کنید! با تشکر

  4. سلام خسته نباشید. مطالب خیلی عالی بود. امکانش هست نقشه شماتیک برد اموزشی رو ایمیل کنید یا در سایت قرار بدید؟!