مقدمه
زبان برنامه نویسی 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)
دیدگاه (3)
سلام واقعا خدا خیرتون بده .تا حالا خیلی از مطالب سایتتون کمک گرفتم
سلام دوست عزیز ممنون از همراهی و حسن نظرتون
سلام میشه فایل خود نرم افزار modelsim رو با نحوه ی کرکش برای ویندوز 10 قرار بدید؟چون اکثر سایت بدون آموزش کرک گذاشتن و من خیلی تلاش کردم ولی موفق نشدم به درستی نصب کنم.ممنون