دانلود پروژه چراغ راهنمایی با استفاده از کدنویسی VHDL و شبیه سازی در modelsim

دانلود پروژه چراغ راهنمایی با استفاده از کدنویسی VHDL و شبیه سازی در modelsim

 TrafficLight

مقدمه :

زبان برنامه نویسی VHDL یکی از زبان های برنامه نویسی سطح بالا است که با استفاده از آن میتوان به توصیف سخت افزار پرداخت . در واقع کد برنامه نوشته شده به زبان VHDL قابلیت تبدیل شدن به سخت افزار را داراست . بنابراین به راحتی میتوان این کد را روی سخت افزارهایی نظیر CPLD یا FPGA پیاده سازی کرد . در این پروژه کد VHDL برای دو عدد چراغ راهنمایی وجود دارد که بر روی هر چراغ سه نور سبز ، زرد و قرمز وجود دارد . مراحل مختلف کار مدار و برنامه نویسی آن توضیح داده شده است و در نهایت توسط برنامه modelsim عملکرد صحیح مدار شبیه سازی شده است.

 

توضیحات نحوه طراحی :

این مدار ۶ وضعیت (state) دارد که هر وضعیت نشان دهنده حالت خاصی از دو چراغ است. مثلاً قرمز بودن چراغ اول و سبز بودن چراغ دوم را یک وضعیت گوییم ، یا زرد شدن چراغ اول و قرمز بودن چراغ دوم ، وضعیتی دیگر است. این وضعیت ها را از  s0 تا s5 نامگذاری کردیم. به جدول زیر دقت کنید.

  Red1 Yellow1 Green1 Red2 Yellow2 Green2
s0 ۱ ۰ ۰ ۰ ۰ ۱
s1 ۱ ۰ ۰ ۰ ۱ ۰
s2 ۱ ۰ ۰ ۱ ۰ ۰
s3 ۰ ۰ ۱ ۱ ۰ ۰
s4 ۰ ۱ ۰ ۱ ۰ ۰
s5 ۱ ۰ ۰ ۱ ۰ ۰

 

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

برای داشتن مدار چراغ راهنمایی باید مداری طراحی کنیم که شامل این وضعیت ها و این چینش سیگنال ها باشد و در عین حال بتواند مدت زمانی را در یک وضعیت مانده و بعد تغییر وضعیت بدهد. مثلا فرض کنید در وضعیت اولیه s0 باشد. این مدار باید به مدت ۶۰ ثانیه در این وضعیت بماند و بعد به وضعیت s1 برود که در این وضعیت چراغی که سبز بود باید زرد شود. بعد از ماندن به مدت ۳ ثانیه در این وضعیت ، به وضعیت s2 می رود که در این وضعیت هردو چراغ قرمز است و باید به سرعت از این وضعیت عبور کرد و به وضعیت بعدی رفت.

این یک توضیح کلی در عمکرد مدار بود. برای نوشتن برنامه و انجام کار شبیه سازی در محیط vhdl باید در ابتدا متغیر وضعیت شامل مقادیر s0تاs5 تعریف کنیم و برای ماندن در یک وضع تا زمان مشخص، از count که بعد از هر کلاک یکی به آن اضافه می شود، استفاده می کنیم. زمانی که count به عنوان مثال به عدد ۶۰ رسید، برنامه با شرط if برای آن تعیین می کند که به وضعیت بعدی برود.

 

نام پروژه :

طراحی و پیاده سازی چراغ راهنمایی به زبان VHDL

فایل های ضمیمه :

  • سورس فایل پروژه توسط نرم افزار modelsim 10
  • گزارش نحوه انجام پروژه در word
  • توضیحات طراحی با VHDL
  • به همراه شبیه سازی (Test Bench)

پسورد: electrovolt.ir

لینک دانلود

3+

کاربرانی که این مطلب را پسندیده اند:

  • avatar
این مطلب را با دوستانتان به اشتراگ بگذارید

دیدگاه (2)

  • montaghem پاسخ

    سلام واقعا خدا خیرتون بده .تا حالا خیلی از مطالب سایتتون کمک گرفتم

    ۰۵/۰۴/۱۳۹۵ در ۱۵:۲۴
    • شجاع داودی پاسخ

      سلام دوست عزیز ممنون از همراهی و حسن نظرتون

      ۰۵/۰۴/۱۳۹۵ در ۱۹:۴۱

پاسخ دهید

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

پنج × 4 =