VHDL زبان توصیف سخت افزاری برای طراحی مدارات دیجیتال می باشد. و مانند سایر زبانهای برنامه نویسی دارای دستورات خاص خود می باشد.
برای یادگیری زبان VHDL دانستن جبر بول و آشنایی با مدارات منطقی ضروری است. لذا ما فرض می کنیم که دوستان با دو مقوله فوق آشنایی کافی دارند.
و اما یادگیری VHDL چه مزایایی دارد. قبل از هرچیز باید گفت که هدف از یادگیری VHDL خصوصاْ در ایران طراحی مدارات دیجیتال و پیاده سازی در FPGA می باشد هرچند مدار طراحی شده را بصورت ASIC (آی سی خاص) نیز می توان پیاده سازی نمود اما غالباْ مدارات دیجیتال با هدف پیاده سازی در FPGA طراحی می شوند.
برای یادگیری VHDL در این مقطع نیاز به نرم افزاری برای شبیه سازی مدارات طراحی شده خواهیم داشت. نرم افزارهای زیادی برای این منظور وجود دارند اما بهترین و آسانترین انها Active-HDL می باشد که نتایج شبیه سازی را بصورت شکل موجهای گرافیکی نمایش می دهد. و در عین حال کار کردی آسان دارد.
تاریخچه
نام VHDL شامل دو بخش V و HDL به معنیVHSIC : Very High Speed Integrated Circuits
HDL : Hardware Description Language
استاندارد IEEE 1076-1987
استاندارد IEEE 1076-1993
Verilog و ABEL (Advanced Boolean Equation Language )
ویژگی ها
HDLها ذاتا موازی (همروند) هستند
ترتیب دستورات مهم نیست
مبتنی بر رخداد
امکان استفاده از دستورات ترتیبی را نیز دارد
اهداف اساسی
مستند سازی : نگهداری، ارائه، تبادل، استفاده مجدد
شبیه سازی : بررسی نتایج و ارزیابی
سنتز : با هدف پیاده سازی در FPGA یا بصورت ASIC
اجرا= شبیه سازی
نیازمندی ها
حداقل نیازمندی ها برای یادگیری زبان VHDL
دانستن جبر بول و آشنایی با مدارات منطقی
داشتن ابزار CAD مناسب
توصیف رفتاری و ساختاری
سه حوزه رفتاری، ساختاری و هندسی (فیزیکی) داریم
VHDL : امکان توصیف طرح بصورت رفتاری و ساختاری
نکته: توصیف رفتاری نسبت به توصیف ساختاری از سطح انتزاع بالاتری برخوردار است
توصیف رفتاری :
رفتار سیستم چیست؟
رابطه بین سیگنال های ورودی و خروجی
توصیف رفتاری :
انتقال ثبات یا Data Flow (معمولا بر اساس جملات همروند)
الگوریتمی Algorithmic(با استفاده از دستورات ترتیبی)
مثال ساده
مدار هشدار باز بودن کمربند و درب خودرو
Warning = Ignition_on AND (Door_open OR Seatbelt_off)
Ignition_on : سویچ در جایش قرار گرفته
Door_open : باز بودن درب خودرو
Seatbelt_off : کمربند بسته نشده
Warning : خروجی هشدار به سرنشین خودرو
توصیف ساختاری :
مجموعه ای از مولفه ها (دروازه ها)
و اتصالات بین آنها
توصیف ساختاری :
مشابه شماتیک
نزدیک به تحقق فیزیکی سیستم
ساختار کلی یک فایل VHDL
یک توصیف VHDL شامل
Entity declaration
Architecture body
تعریف entity در حقیقت معرفی سیگنالهای ورودی و خروجی است
architecture رابطه بین سیگنالهای ورودی و خروجی است
(عملکرد/ساختار)
بخش Entity
NAME_OF_ENTITY : یک شناسه اختیاری
signal_names : سیگنالهای ورودی یا خروجی
mode :یکی از موارد (in،out ،buffer ، Inout )
mode
In :سیگنال ورودی
out : سیگنال خروجی (فقط توسط یک entity دیگر قابل استفاده)
buffer : خروجی که می تواند در داخل entity نیز استفاده شود
Inout : سیگنا ل دوطرفه (ورودی / خروجی)
Type
نوع سیگنال را مشخص می کند ( استاندارد یا User Defined)
Bit : می تواند مقدار صفر یا یک داشته باشد
Bit_vector : برداری از مقادیر بیتی است
Boolean : می تواند مقدار true یا false بگیرد.
Integer : عدد صحیح
Real : عدد حقیقی
Character : هرکاراکتر قابل چاپ
Time : برا ی نمایش زمان بکار می رود.