تصميم منطقي

التصميم المنطقي (Logic Design) أو التصميم الرقمي (Digital Design) هو علم متخصص بالدوائر الإلكترونية الرقمية، التي تُستخدم في تصميم نظم كالحواسيب الرقمية (digital computers) والآلات الحاسبة الإلكترونيـة (electronic calculators) ومعدات الاتصال الرقمية وتطبيقات أخرى عديدة تتطلب معدات رقمية إلكترونية.

الاعتبارات العملية في التصميم المنطقي 

هناك مجموعة من المحددات limitations التي يجب أخذها بعين الاعتبار عند التصميم المنطقي وهذه الاعتبارات هي :
 عدد مداخل كل عنصر.
 عدد المكونات الموجودة ضمن كل دارة تكاملية.
 عدد الدارات التكاملية اللازمة لتحقيق التابع المطلوب.
 استهلاك الطاقة،
 السرعة أو التأخير.
 تحميل المخرج.

تأتي الدارات التكاملية الرقمية على شكل شرائح متكاملة ذات عدد محدد من الأطراف (الأقطاب) وتحوي كل دارة عدد محدد من البوابات.
يتعلق العدد الكلي للبوابات الموجودة ضمن الدارة التكاملية بعدد الأقطاب، فمثلا ً في البوابات ذات الثلاث مداخل يكون العدد الكلي للبوابات في الدارة المتكاملة الواحدة هو (12/4=3).

وعادة تحوي الدارة المتكاملة ستة عواكس (inverters) أو عوازل (buffers) وقد تحتاج في تصميم دارة ما إلى سبعة عواكس وهذا يجبرك على استخدام دارتين متكاملتين الأولى فيها ستة عواكس والثانية تحوي أيضا ستة عواكس. ولكنك ستحتاج فقط واحدا من هذه العواكس وتبقى خمسة عواكس غير مستخدمة. وأيضا يمكن أن تعمل بوابات NOR وبوابات NAND كعاكس أيضا عند وصل مدخليها ببعضهما البعض، وعادة يستخدم جدول الحقيقة للبوابة لتحديد المكان الذي توصل إليه المداخل غير المستخدمة ففي بوابات OR وبوابات NOR توصل المداخل غير المستخدمة إلى الأرضي (0 منطقي) أما في بوابات AND وبوابات NAND توصل المداخل غير المستخدمة إلى المصدر أي المنبع الكهربي (1 منطقي).

التخميد ضد الضجيج واستهلاك الطاقة 

تمثل المناعة ضد الضجيج واستهلاك الطاقة والسرعة اعتبارات هامة جداً في التصميم المنطقي. ويجب أن يؤخذ المكان والبيئة التي ستعمل فيها المنظومة المنطقية بالاعتبار، فمثلا : إذا كانت المنظومة ستعمل ضمن مصنع يحوي محركات كهربائية كبيرة أو قرب محطات إرسال راديو أو تلفزيون، فيجب استخدام دارات متكاملة من عائلات ذات تخميد عالي ضد الضجيج.

والتخميد يعني أن الدارة غير حساسة للجهود الضجيجية التي يتم توليدها وبثها بشكل غير مرغوب إلى النظام الإلكتروني، وإذا لم يكن ذلك كافيا ً فيجب استخدام أسلاك توصيل محجوبة لنقل الإشارات المنطقية.

لا يعتبر استهلاك الطاقة مشكلة في التجهيزات التي تتغذى عبر مقوم ومنظم من مصدر جهد الشبكة ولكن يجب أن تصمم الأجهزة التي تعمل على بطاريات من عائلات منطقية قليلة الاستهلاك للطاقة. تعتبر سرعة العمل إحدى المعايير التي تضيق مجال اختيار نوع العائلة المنطقية ولذلك يجب دراسة نشرات المواصفات التي تعطيها الجهات الصانعة من أجل تحقيق أفضل انتقاء للعائلة المنطقية التي تحقق المطلوب.

تحميل المخرج Fan out 
يمثل عامل تحميل المخرج لبوابة منطقية أو لأداة منطقية عدد المداخل التي يمكن وصلها مع المخرج في وقت واحد، ويجب مراعاة هذا العامل للتأكد من أن مخرج الدارة لن يجبر على ضبط أو تشغيل ما يزيد عن إمكانياته من المداخل المنطقية. ويحسب هذا العامل عادة من معرفة مطال التيار للمخرج وقسمته على تيار المدخل الذي يشكل حمل لمخرج.

التأخير 
يمثل التأخير الزمني ضمن العنصر المنطقي (بوابة إلكترونية مثلا ً) والذي يسمى تأخير الانتشار، الوقت بين لحظة تطبيق المدخل المنطقي وظهور المخرج المنطقي الموافق. وهذا التأخير يمكن أن يسبب أحيانا ً مشاكل كالحالات العابرة غير المرغوبة أو يسبب ما يسمى glitches. وفي الشكل التالي نوضح كيف أن تأخيرا واحدا لأحد المداخل يمكن أن يؤدي إلى حدوث glitch. يمكن أن يكون التأخير الزمني مفيداً كما في الشكل التالي حيث يتم توليد إشارة ضيقة عند كل انتقال للمدخل A من وضعية منطقية إلى حالة أخرى.

o تطبيق.. 
تحوي الطائرة منظومة منطقية مكونة من أربع منظومات فرعية A, B, C,D تعمل بشكل مرتبط مع بعضها البعض، ومن أجل التأكد من صحة عمل المنظومة ككل توضع في كبينة الطيار لوحة تحذير لإظهار الخطر في حالات الطوارئ وتعرف أربع حالات خطرة:
 النظامان A, B لا يعملان.
 الأنظمة A, B, C لا تعمل.
 الأنظمة B, C, D لا تعمل.
 الأنظمة B, 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

و تنم خطوات التصميم الرقمي على خمس مراحل:
 التصميم (Design)
 المحاكاة (Simulation)
 قابلية التطبيق (Synthesis)
 ضبط المكان والمسار (Place & Route)
 برمجة الشريحة (Program Device)

التصميم 
في هذه المرحلة يتم تصميم النظام والذاكرة وكيفية تدفق الإشارات والتعامل مع الواجهات الخارجية مثل USB أو RS232 أو Ethernet
و المحترف عادة يستخدم منصات للبرمجة مثل HDL Designer لتصميم مشروعه حيث يصمم الدوائر الرقمية على شكل أنظمة فرعية ليسهل عليه فهم وربط الدوائر الرقمية مع بعضها البعض فهو على الأرجح سيقضي وقت طويل في تطوير وبناء التصميم. على سبيل المثال:
يتم عادة تصميم الدوائر الرقمية المخصصة للتعامل مع واجهة الإيثرنت في نظام فرعي ونظام فرعي آخر لواجهة المنقذ التسلسلي RS232 وأخيراً نظام فرعي لمعالجات الإشارات الواردة من تلك الواجهات وإرسالها مرة أخرى للمخرج. وبدلك عند الحاجة لتعديل النظام الفرعي المخصص لتعديل الإشارات لا يتطلب هذا التعديل المساس بأنظمة الواجهات.

المحاكاة 
و الغرض من هذه المرحلة هي اختبار التصميم والتأكد من عمله وتختلف أدوات المحاكاة على حسب الشريحة المستهدفة فمثلاً هناك شركتين هي المشهورة في تصنيع الشرائح الإلكتورنية (FPGA) وهي التيرا وزايلنكس والأداة المستخدمة لشركة التيرا هي الموديل سيم.

قابلية التطبيق 
في هذه المرحلة نقوم بعمل (Synthesis) للتصميم لمعرفة ما إذا كان التصميم قابل للاستخدام على الشريحة المستهدفة أو لا. ومعرفة ما إذا كان التصميم ملائم لمساحة ومصادر FPGA المستهدفة.

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

برمجة الشريحة 
بكل بساطة نقوم ببرمجة الشريحة بإحدى طريقتين:
 مؤقت : وسيمحى النظام من على الشريحة عند فصل الطاقة عنها وتستخدم في حالة الاختبار والتجربة Debug
 دائم : وهو الذي يتم عند التصنيع بحيث لا يمحى التصميم حتى عند فصل الطاقة .

مراجع 

أتمتة التصميم الإلكتروني
إلكترونيات رقمية
تصميم إلكتروني
هندسة الإلكترونيات
هندسة الحاسوب