بخشی از پاورپوینت
اسلاید 1 :
توصیف مدارهای ترکیبی ساده انتساب همروند شرطی و انجام عملیات محاسباتی
اسلاید 2 :
دستور انتساب سيگنال شرطی
سیگنال Target_signal مقدار اولین expression که شرط آن درست است
اگر هیچ شرطی درست نباشد مقدار آخرین expression که بدون شرط ذکر شده
دو نکته مهم:
همروند بودن دستور انتساب شرطی
رخداد در expression یا شرط باعث ارزیابی مجدد میشود
اسلاید 3 :
مثال 3-8) مالتی پلکسر 2 به 1
این مثال از نظر رفتاری معادل مثال 3-3 است.
در مثال 3-3 از دستور انتساب ساده استفاده شده بود.
در اینجا از دستور انتساب شرطی استفاده شده است
اسلاید 4 :
مثال 3-9) اتصال خروجی دو بافر سه حالته
برای جلوگیری از تداخل باید در هر لحظه فقط فعالساز خروجی یکی از آنها فعال باشد.
اسلاید 5 :
مثال 3-10) توصیف یک مالتی پلکسر 4 به 1
اسلاید 6 :
تعریف سیگنال نوع std_logic_vector
در زبان VHDL یک سیم با یک سیگنال از نوع
bit
std_ulogic
std_logic
برای نمایش یک عدد به دستهای از سیمها نیاز داریم
bit_vector
std_ulogic_vector
std_logic_vector
اسلاید 7 :
مثال 3-11) مالتی پلکسر مثال 3-10
اسلاید 8 :
تمرین
اسلاید 9 :
تمرین
اسلاید 10 :
عملگرهای محاسباتی و مقایسهای
عملگرهای منطقی
عملگرهای مقایسهای
عملگرهای محاسباتی
عملگر الحاق
اسلاید 11 :
انجام عملیات محاسباتی و مقایسهای
معمولا روی سیگنالهای چند بیتی انجام میشود
نوع سیگنالهای چند بیتی؟
std_logic_vector
یکی از بستههای زیر ضروری است (تصمیم با طراح، بسته به کاربرد)
std_logic_unsigned برای محاسبات بدون علامت
std_logic_signed برای محاسبات علامت دار
آیا علامتدار بودن یا نبودن تاثیری در نتیجه محاسبه/مقایسه دارد؟
درعملیات جمع و تفریق خیر
درعملیات مقایسه، ضرب و تقسیم بله
اسلاید 12 :
مثال 3-12) مقایسه کنندهی 8 بیتی
علامت دار است؟
یا بدون علامت؟
اسلاید 13 :
مثال 3-13) توصیف یک جمع کننده 16 بیتی بدون علامت
اسلاید 14 :
مثال 3-13) توصیف یک ضربکننده 8بیتی بدون علامت
اسلاید 15 :
مثال 3-14) ضرب کننده 8 بیتی علامتدار
اسلاید 16 :
تعریف سیگنال از نوع signed و unsigned
راه حل دوم برای انجام عملیات محاسباتی و مقایسهای
استفاده از بسته std_logic_arith
تعریف سیگنال چند بیتی بایکی از انواع زیر
SIGNED : علامت دار
UNSIGNED : بدون علامت
اسلاید 17 :
روشهای انجام عملیات محاسباتی و مقایسهای
بطور کلی چهار حالت میتواند وجود داشته باشد (جدول زیر)
دو تای اول علامت دار و دو تای دوم بدون علامت
اسلاید 18 :
مثال 3-15) توصیف یک جمع کننده 8 بیتی بدون علامت
طول بیت عبارت جمع برابر ماکزیمم طول ورودیها
ولی در ضرب برابر حاصل جمع طول ورودیها است
استفاده از عملگر الحاق (&)
در دستور انتساب باید طول بیت عبارت سمت راست با طول سیگنال سمت چپ برابر باشد
اسلاید 19 :
تعریف سیگنال از نوع Integer
integer یک نوع استانداردکه برای اعداد صحیح بکار میرود.
بنابراین به هیچ بسته و کتابخانهای نیاز نیست.
برای آن طول بیت تعریف نمیشود.
بجای آن میتوان برای آن محدوده تعیین کرد
مثلا [-32768, +32767] که معادل 16 بیت است
اسلاید 20 :
مثال 3-16) یک جمع کنندهی 16بیتی از نوع integer
بسادگی نمیتوان به بیتهای اعداد دسترسی پیدا کرد.
افزودن رقم نقلی و سرریز به توصیف جمع کننده زیر کار آسانی نیست