عکس پیش‌فرض نوشته

برای توصیف عملکرد قطعه mux در VHDL روش دیگری نیز وجود دارد. اینکه VHDL چندین بیان ممکن برای عملکردی مشابه دارد فراگیری کامل زبان را کمی سخت می کند.

سومین روش برای توصیف عملکرد mux استفاده از دستور پروسس برای توصیف الگوریتمی عملکرد است.

Learning VHDL

 

این روش در معماری sequential نشان داده شده است:

ARCHITECTURE sequential OF mux IS
      (a,b,c,d,s0,s1)
      VARIABLE se1 :  INTEGER
   BEGIN
      IF s0 = ‘0’ and s1 = ‘0’ THEN
            Se1 := 0;
      ELSIF s0 = ‘1’ and s1 = ‘0’ THEN
            Se1 := 1;
      ELSIF s0 = ‘0’ and s1 = ‘0’ THEN
            Se1 := 2;
      ELSIF
            Se1 := 3;
      END IF;
   CASE se1 IS 
      WHEN 0 =>
            X <= a;
      WHEN 1 =>
            X <= b;
      WHEN 2 =>
            X <= c;
      WHEN OTHERS =>
            X <= d;
   END CASE;
END PROCESS;
END sequential;

 

معماری فقط یک دستور به نام پروسس دارد. دستور با کلید واژه PROCESS شروع شده و با END PROCESS خاتمه می یابد.تمام دستورات بین این دو کلید واژه قسمتی از دستور پروسس در نظر گرفته می شوند.

 

دستورات پروسس:

دستور پروسس از چند قسمت تشکیل می شود قسمت اول نیز حساسیت نامیده می شود؛ قسمت دوم بخش اعلانی پروسس و قسمت سوم بخش دستوری نامیده می شود. در مثال قبل، لیست سیگنال های درون پرانتز پس از کلید واژه PROCESS لیست حساسیت نامیده می شود. این لیست سیگنال هایی را مشخص می کند که باعث اجرای دستور پروسس می شوند. لیست این مثال حاوی a  ، b ، c ، d ، s0 ، s1  است. فقط رویدادهای این سیگنال ها دستور پروسس را اجرا می کنند.

 

بخش اعلانی پروسس:

بخش اعلانی پروسس ناحیه بین پایان لیست حساسیت و کلید واژه BEGIN را شامل می شود. در این مثال، قسمت اعلانی یک اعلان متغییر دارد که متغییر محلی se1 را اعلان می کند. این متغییر محلی مقدار محاسبه شده بر مبنای درگاه های s0 ، s1 را نگهداری می کند.

 

بخش دستوری پروسس:

بخش دستوری پروسس با کلید واژه BEGIN آغاز و در خط END PROCESS خاتمه می یابد. تمام دستورات درون پروسس، دستورات ترتیبی می باشند یعنی مشابه یک زبان برنامه نویسی معمول، یکی پس از دیگری و به طور متوالی اجرا می شوند. یادآوری می شود که ترتیب دستورات در معماری هیچ اهمیتی ندارد، اما در مورد دستورات درون پروسس چنین نیست. ترتیب اجرا، همان ترتیب دستورات در دستور پروسس است.

این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست به‌روزرسانی‌های سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال می‌شیم به ما اطلاع بدهید.