تصميم منطقي
التصميم المنطقي (Logic Design) أو التصميم الرقمي (Digital Design) علم متخصص بالدوائر الإلكترونية الرقمية, تُستخدم الدوائر الرقمية في تصميم نظم كالحواسيب الرقمية (digital computers) والآلات الحاسبة الإلكترونيـة (electronic calculators) ومعدات الاتصال الرقمية وتطبيقات أخرى عديدة تتطلب معدات رقمية إلكترونية.
هناك مجموعة من المحددات limitations التي يجب أخذها بعين الاعتبار عند التصميم المنطقي وهذه الاعتبارات هي :
تأتي الدارات التكاملية الرقمية على شكل شرائح متكاملة ذات عدد محدد من الأطراف (الأقطاب) وتحوي كل دارة عدد محدد من البوابات.
يتعلق العدد الكلي للبوابات الموجودة ضمن الدارة التكاملية بعدد الأقطاب، فمثلا ً في البوابات ذات الثلاث مداخل يكون العدد الكلي للبوابات في الدارة المتكاملة الواحدة هو (12/4=3).
وعادة تحوي الدارة المتكاملة ستة عواكس (inverters) أو عوازل (buffers) وقد تحتاج في تصميم دارة ما إلى سبعة عواكس وهذا يجبرك على استخدام دارتين متكاملتين الأولى فيها ستة عواكس والثانية تحوي أيضا ستة عواكس. ولكنك ستحتاج فقط واحدا من هذه العواكس وتبقى خمسة عواكس غير مستخدمة. وأيضا يمكن أن تعمل بوابات NOR وبوابات NAND كعاكس أيضا عند وصل مدخليها ببعضهما البعض، وعادة يستخدم جدول الحقيقة للبوابة لتحديد المكان الذي توصل إليه المداخل غير المستخدمة ففي بوابات OR وبوابات NOR توصل المداخل غير المستخدمة إلى الأرضي (0 منطقي) أما في بوابات AND وبوابات NAND توصل المداخل غير المستخدمة إلى المصدر أي المنبع الكهربي (1 منطقي).
تمثل المناعة ضد الضجيج واستهلاك الطاقة والسرعة اعتبارات هامة جداً في التصميم المنطقي. ويجب أن يؤخذ المكان والبيئة التي ستعمل فيها المنظومة المنطقية بالاعتبار، فمثلا : إذا كانت المنظومة ستعمل ضمن مصنع يحوي محركات كهربائية كبيرة أو قرب محطات إرسال راديو أو تلفزيون، فيجب استخدام دارات متكاملة من عائلات ذات تخميد عالي ضد الضجيج.
والتخميد يعني أن الدارة غير حساسة للجهود الضجيجية التي يتم توليدها وبثها بشكل غير مرغوب إلى النظام الإلكتروني، وإذا لم يكن ذلك كافيا ً فيجب استخدام أسلاك توصيل محجوبة لنقل الإشارات المنطقية.
لا يعتبر استهلاك الطاقة مشكلة في التجهيزات التي تتغذى عبر مقوم ومنظم من مصدر جهد الشبكة ولكن يجب أن تصمم الأجهزة التي تعمل على بطاريات من عائلات منطقية قليلة الاستهلاك للطاقة. تعتبر سرعة العمل إحدى المعايير التي تضيق مجال اختيار نوع العائلة المنطقية ولذلك يجب دراسة نشرات المواصفات التي تعطيها الجهات الصانعة من أجل تحقيق أفضل انتقاء للعائلة المنطقية التي تحقق المطلوب.
يمثل عامل تحميل المخرج لبوابة منطقية أو لأداة منطقية عدد المداخل التي يمكن وصلها مع المخرج في وقت واحد, ويجب مراعاة هذا العامل للتأكد من أن مخرج الدارة لن يجبر على ضبط أو تشغيل ما يزيد عن إمكانياته من المداخل المنطقية. ويحسب هذا العامل عادة من معرفة مطال التيار للمخرج وقسمته على تيار المدخل الذي يشكل حمل لمخرج.
يمثل التأخير الزمني ضمن العنصر المنطقي (بوابة إلكترونية مثلا ً) والذي يسمى تأخير الانتشار، الوقت بين لحظة تطبيق المدخل المنطقي وظهور المخرج المنطقي الموافق. وهذا التأخير يمكن أن يسبب أحيانا ً مشاكل كالحالات العابرة غير المرغوبة أو يسبب ما يسمى glitches. وفي الشكل التالي نوضح كيف أن تأخيرا واحدا لأحد المداخل يمكن أن يؤدي إلى حدوث glitch. يمكن أن يكون التأخير الزمني مفيداً كما في الشكل التالي حيث يتم توليد إشارة ضيقة عند كل انتقال للمدخل A من وضعية منطقية إلى حالة أخرى.
تحوي الطائرة منظومة منطقية مكونة من أربع منظومات فرعية A,B,C,D تعمل بشكل مرتبط مع بعضها البعض، ومن أجل التأكد من صحة عمل المنظومة ككل توضع في كبينة الطيار لوحة تحذير لإظهار الخطر في حالات الطوارئ وتعرف أربع حالات خطرة:
المطلوب تصميم دارة تؤدي إلى إضاءة مصباح دلالة في لوحة التحذير الموجودة في كبينة الطيار عند تحقق أي من حالات الطوارئ السابقة.
سوف نعتبر أن هذه المسألة هي مسألة منطقية، أي أن المتحولات التي ستؤخذ بعين الاعتبار لها حالتين (1) وتدل على أن النظام يعمل و(0) وتدل على أن النظام لا يعمل. يتكون نظام التحذير من مصباح دلالة يضيء عند تحقق أي من حالات الطوارئ. سوف نرمز للمنظومات الفرعية بمتحولات لها نفس الاسم وبذلك فإن المسألة يمنك تصورها كما في الشكل التالي الذي يبين أن مداخل النظام المنطقي المطلوب تصميمه هي أربع مداخل A,B,C,D وللنظام مخرج واحد هو F وهذا المخرج يجب أن يكون فعالا ً (أي يؤدي إلى إضاءة مصباح التحذير في حالات الطوارئ). نضع جدول الحقيقة للمنظومة حيث نبين فيه الوضعيات المنطقية المحتملة للمداخل وحالة المخرج الموافقة. بما أنه لدينا أربع متحولات دخل فإن الحالات الممكنة لكافة المتحولات هي 16 حالة. ولكي نراعي كل هذه الحالات دون أن ننسى أي واحدة منها نكتب جدول الحقيقة بالطريقة العامة.
نرسم مخطط كارنوف للمسألة :
نعطي الأربع واحدات الموجودة تحت بعضها في العمود الذي فيه A.B=00 الحد. B¯ Ā، وأول واحدين من اليسار من الجدول الذي فيه C.D=00 و A=0 يعطيان الحد Ā.C¯.D¯، وبلف الأربع واحدات الموجودة في الزوايا الأربعة من الجدول مع بعض نحصل على الحد B¯.D¯ وبذلك يكون التابع المنطقي النهائي F هو.B¯+D¯.B¯+ Ā.C¯.D¯ Ā F=
ويمكن تحقيق هذا التابع بواسطة بوابات NAND. نلاحظ من المخطط المنطقي للدارة أن التابع المنطقي F يمكن تحقيقه بواسطة 6 بوابات AND ثنائية المدخل وبوابتي NAND ذات ثلاثة مداخل ومن أجل ذلك نحتاج إلى دارتين متكاملتين Ics من نوع 7400 لأن كل واحدة منهما تحوي أربع بوابات NAND كما نحتاج إلى دارة متكاملة 7410 تحوي ثلاث بوابات NAND ثلاثية المداخل. وعند تنفيذ الدارة تبقى بوابتان في إحدى دارات 7400 بدون استخدام وبوابة واحدة في 7410 غير مستخدمة. يوصل مصباح الدلالة الذي سيوضع في كبينة الطيار بين مخرج البوابة النهائية والأرض وهذا المصباح يمكن أن يكون LED بلون أحمر.
كما يمكن أن توصيل مقاومة 300 أوم مع الدايود على التوالي في حال كانت الإضاءة شديدة. وفي حالات الضرورة يمكن استخدام دارة ترانزيستور لقيادة الدايود الضوئي، عندما يكون F=1 يعمل الترانزيستور ويمر تيار عبر الـ LED فيصدر ضوءاً، أما عندما يكون F=0 فيكون الترانزيستور في حالة قطع ولا يمر تيار في القاعدة ولا في المجمع ولا يضيء الدايود. يمكن أن يكون جهد تغذية الدارة +12 فولت أو +5 فولت.
وبدلا ً عن الدايود يمكن وصل مصباح صغير عادي.
= التصميم الرقمي =
التصميم الرقمي هو تصميم برمجي في البداية و لكنه هاردوير عند التطبيق أي أنك لا تقوم بوضع متغيرات و إنما تصمم الدوائر المنطقية داخل شريحة صغيرة مثل FPGA
و تنم خطوات التصميم الرقمي على خمس مراحل:
في هذه المرحلة يتم تصميم النظام و الذاكرة و كيفية تدفق الإشارات و التعامل مع الواجهات الخارجية مثل USB أو RS232 أو Ethernet
و المحترف عادة يستخدم منصات للبرمجة مثل HDL Designer لتصميم مشروعه حيث يصمم الدوائر الرقمية على شكل أنظمة فرعية ليسهل عليه فهم و ربط الدوائر الرقمية مع بعضها البعض فهو على الأرجح سيقضي وقت طويل في تطوير و بناء التصميم. على سبيل المثال:
يتم عادة تصميم الدوائر الرقمية المخصصة للتعامل مع واجهة الإيثرنت في نظام فرعي و نظام فرعي آخر لواجهة المنقذ التسلسلي RS232 و أخيراً نظام فرعي لمعالجات الإشارات الواردة من تلك الواجهات و إرسالها مرة أخرى للمخرج. و بدلك عند الحاجة لتعديل النظام الفرعي المخصص لتعديل الإشارات لا يتطلب هذا التعديل المساس بأنظمة الواجهات.
و الغرض من هذه المرحلة هي اختبار التصميم و التأكد من عمله و تختلف أدوات المحاكاة على حسب الشريحة المستهدفة فمثلاً هناك شركتين هي المشهورة في تصنيع الشرائح الإلكتورنية (FPGA) و هي التيرا و زايلنكس و الأداة المستخدمة لشركة التيرا هي الموديل سيم.
في هذه المرحلة نقوم بعمل (Synthesis) للتصميم لمعرفة ما إذا كان التصميم قابل للاستخدام على الشريحة المستهدفة أو لا. و معرفة ما إذا كان التصميم ملائم لمساحة و مصادر FPGA المستهدفة.
هنا يتم تحديد مواقع و مسارات المكونات الالكترونية و لكن عادة تتمتلقائياً من الأداة نفسها و يستطيع المصمم تعديل بعض الخيارات مثل أن يستخدم مساحة أقل إذا كان لا يهتم للسرعة أو أن يعمل توازن و يمكن أن يتم ذلك يدوياً إذا أراد المصمم ذلك.
بكل بساطة نقوم ببرمجة الشريحة بإحدى طريقتين: