الدرس الثاني : لغة توصيف العتاد الصلب VHDL

الدرس الأول : مقدمة عن لغة توصيف العتاد الصلب VHDL

الدرس الثاني : لغة توصيف العتاد الصلب VHDL

هيكلية اللغة

لنفرض لدينا شريحة Chip تمثل دارة متكاملة IC عند النظرة الخارجية ما سنجده هو صندوق أسود يخرج منه أطراف معدنية و لن نفهم من ذلك أي شيء.

بالانتقال إلى المخطط الصندوقي سنعرف ما تمثله هذه الدارة و ما هي الأقطاب و ما يمثل القطب (دخل أم خرج ).

بالانتقال إلى عمق أكبر سنتعرف على كيفية وصل الأقطاب مع بعضها و بالتالي معرفة ماهية الشريحة و ما الذي تقوم به.

بالنسبة للمثال المطروح سنعلم أن للدارة قطبي تغذية و تأريض و ستة مداخل و ستة مخارج و أنّ كل مدخل موصول مع مخرج وفق بوابة النفي المنطقي NOT.

تقوم هيكلية توصيف العتاد الصلب باستخدام لغة الـ VHDL  على ثلاثة طبقات،  ففي البداية سيتم تعريف المكتبات التي سنستخدمها في التوصيف و  تشكل الطبقة الأولى.

أما الطبقة الثانية فتمثل توصيف عام للدارة من حيث الاسم و توضيح المداخل و المخارج.

و تأتي الطبقة الثالثة لتعطي توصيفاً لعلاقة الدخل بالخرج و بالتالي تكتمل صورة الدارة المراد توصيفها.

1. المكتبات:

تتكون كل مكتبة (و التي تمثل مجلد) من مجموعة من الحزم –مكتبات جزئية-  تشتمل كل ٍ منها على مجموعة من التوابع و الإجراءات و الأنواع التي يمكننا استخدامها عند تضمين المكتبة.

يتم تضمين المكتبات بالشكل التالي :

من أشهر المكتبات التي لا بد من وجودها عند بناء أي تصميم هي مكتبة ieee

تحتوي هذه المكتبة على أربع حزم :

std_logic_1164: الحزمة الأساسية في المكتبة و التي تمكننا من تعريف معطيات من نوع المؤشر و غير المؤشر و العمليات المنطقية الأساسية عليها.

std_logic_arith: تشتمل على العمليات الحسابية و عمليات المقارنة التي يمكن تطبيقها على المعطيات الأساسية المؤشرة و غير المؤشرة و تشتمل على توابع تحويل بين أنواع المعطيات.

std_logic_signed: تضم توابع تمكّننا من التعامل مع أشعة معطيات مؤشرة std_logic_vector .

std_logic_unsigned: تضم توابع تمكّننا من التعامل مع أشعة معطيات غير مؤشرة std_logic_vector.

سنأتي على تفاصيل هذه الحزم عند استخدامها.

و يوجد المزيد من المكتبات الضرورية سنأتي على ذكرهم في وقت ٍ لاحق.

2.  الكيان Entity

في هذه الطبقة سنعرف اسماً للتوصيف و سيمثل اسماً للدارة و كذلك سنحدد مداخل و مخارج الدارة و طبيعة المعطيات التي يمثلونها.

يكون لها الصيغة العامة التالية:

كيف نوصّف بوابة AND المنطقية بمدخلين:

نفهم من الأسطر السابقة أن الدارة لها ثلاثة أرجل pins – أو منافذ ports- اثنان منها دخل (I1,I2)  و الثالث يمثل خرج الدارة (O)  و قد اخترنا أن يكون اسمها هو and_2.

std_logic: تعني أن المنفذ سيأخذ إحدى القيمتين 0 أو 1 و سيتم التعامل معه كخانة ثنائية وحيدة.

ملاحظة: لغة الـ VHDL ليست حساسة لحالة الأحرف.

3.  البنية Architecture

توصف هذه الطبقة العلاقة بين المداخل و المخارج و بعبارة أخرى فأنها توصف سلوك الدارة أو بنية الدارة

يكون لها الصياغة العامة التالية:

إن قسم التصريحات هو قسم اختاري و سنتعرف لاحقاً على ما يمكن أن يوجد في قسم التصريحات.

ملاحظة: اسم الكيان و البنية غير مقيد بشروط سوى أن لا يكون أحد الكلمات المحجوزة في لغة الـ VHDL.

ما هي بنية بوابة AND بمدخلين:

التوصيف الكامل لبوابة  AND  في لغة الـ VHDL :

ماذا عن OR,NAND,…. ؟

مثال:

نريد توصيف بوابة  XNOR باستخدام البوابات المنطقية الأساسية (AND,OR,NAND,NOR,NOT).

توصف بوابة XNOR  بالتابع المنطقي التالي :

طريقة أخرى:

ملاحظة: في المثال السابق يوجد خطأ طباعي حيث كُتِب:

; O = temp1 OR temp2

و الصحيح أن نكتب :

; O <= temp1 OR temp2

وذلك لأن O هي منفذ خرج output port.

تمرين :

المطلوب توصيف الدارة التالية بطريقتين :

About RaGHaD

Master CSE at Technische Universität Braunschweig,Germany (2012 till now).. Study first year of master in Syria (2010-2011).. Licenses of Computer Engineering - Aleppo University (2006 till 2010)..
هذا المنشور نشر في دروس تعليمية وكلماته الدلالية , . حفظ الرابط الثابت.

16 ردا على الدرس الثاني : لغة توصيف العتاد الصلب VHDL

  1. يقول EN.AKRAM ALNOFAISH:

    great work i dont know how i should thank u
    but from me thanks allot and may allah reward you

  2. يقول adham Al-Mughalles:

    مشكووووووووووووووووووووووووووور
    لاكن اذا عندي استفسار الى من واين يمكن ان اتوجه به ؟
    وجزاك الله خير
    والله استفد من شرحك

  3. يقول ibrahim yousf:

    مرحبا استاذ زين انا ابراهيم من جامعة الخليج شكرا كتير عهالدروس

  4. يقول Abdelhamid Mansour:

    ألله يبارك لك ويزيدك علم و يجعله فى ميزان حسناتك

  5. يقول المهندس امجد:

    السلام عليكم استاذ زين بارك الله فيك عندي سؤال لم افهم بعض عبارات في الشرح ما المقصود بما يلي
    1- معطيات من نوع المؤشر و غير المؤشر
    2- تضم توابع تمكّننا من التعامل مع أشعة معطيات غير مؤشرة std_logic_vector. ما المقصود اشعة معطيات

    • و عليكم السلام و رحمة الله و بركاته
      1- المعطيات غير المؤشرة يقصد بها المعطيات الموجبة أي >= 0 أما المعطيات المؤشرة فقد تكون موجبة أو سالبة. في هذه الحال تحجز خانة واحدة للاشارة و 0 تشير إلى موجب + و 1 تشير إلى سالب -.
      2- شعاع المعطيات أو الـ vector هو مصفوفة من سطر واحد تحوي أكثر من قيمة واحدة أو (في حالة VHDL) قد تشير إلى مجموعة من المداخل Input أو المخارج output.

      تحياتي..

  6. يقول زين العابدين:

    يعطيك العافية

  7. شو يعني الرمز <= ?

  8. أهلا زين العابدين
    الرمز بشير إلى اسناد التابع إلى الخرج, لاحظ أنها تستخدم دائما عند الإسناد إلى المنفذ (port)المعرف كخرج(output).

  9. يقول سحر 2:

    اين الدرس الثالث

  10. يقول خالد حسن غصن:

    و اله كنت أخاف من هذه اللغه و احسها معقدة ,,, لكن معك أخي الكريم أصبحت ممتعة و شيقا
    لك جزيل الشكر
    و بمثلك ترتقي الامم

  11. يقول ayoub aznadi:

    الله يجازيك … الحمد لله أستطيع فهم هذه اللغة العجيبة .

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s