الرئيسيةبحث

مراحل تصميم النظم الرقمية

فهرس

مراحل بناء النظم الرقمية :

هناك عدة مراحل يتم إتباعها حتى يتم الوصول إلى مرحلة ال RTL وهذه المراحل بالترتيب هي:

مرحلة توصيف النظام :

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


مرحلة الترجمة(Compilation ):

يتم في هذه المرحلة تحويل الوصف السلوكي للنظام إلى صيغة وسيطة على شكل غراف ُيسمى مخطط انسياب المعطيات DFG (Data Flow Graph ) وهذا يفيد في كتابة النظام بصيغة رياضية بين الخوارزمية وبين التمثيل باستخدام وحدات عملياتية FU (Functional Unit).

مرحلة الجدولة (Scheduling):

في هذه المرحلة يتم إسناد عمليات مخطط انسياب المعطيات إلى خطوات زمنية تُسمى خطوات التحكم (control steps) ،كل خطوة تحكم تقابل نبضة من نبضات الساعة في النظم المتزامنة . الهدف من مرحلة الجدولة هو:

تحديد زمن تنفيذ كل عملية من عمليات مخطط انسياب المعطيات.

تحديد عدد خطوات التحكم الكلي للنظام.

تحديد عدد العمليات الأعظمي في كل خطوة تحكم وبالتالي تحديد عدد الوحدات العملياتية اللازمة لبناء ممر المعطيات data path .

توضيع الوحدات العملياتية وإسناد العمليات : Allocation & Binding :

في هذه المرحلة يتم توضيع الوحدات العملياتية اللازمة لبناء ممر المعطيات والتي تم تحديدها سابقاً في مرحلة الجدولة ثم يتم إسناد عمليات مخطط انسياب المعطيات المجدول إلى هذه الوحدات العملياتية . إن عملية الإسناد تعني: -توضيع المداخل اللازمة لكل وحدة عملياتية . -استخدام النواخب على مداخل الوحدات العملياتية FU التي تستقبل أكثر من دخلين. -ربط الوحدات العملياتية معاً عبر الممرات. في نهاية هذه المرحلة نحصل على النظام على شكل ممر المعطيات data path.

توليد قسم التحكم Control Path:

وظيفة قسم التحكم إعطاء إشارات التحكم اللازمة للنواخب الموجودة على مداخل الوحدات العملياتية لتمرير المعطيات المناسبة لكل خطوة تحكم. إن شكل قسم التحكم على شكل أوتومات Automata ،أي مخطط زمني يحوي على حالات النظام عدد هذه الحالات يساوي بشكل عام عدد خطوات التحكم الناتجة في مرحلة الجدولة . يسمى النظام في هذه المرحلة المكون من ممر المعطيات وممر التحكم مستوى RTL (مستوى تبادل المسجلات) وما يحدث داخل الوحدة العملياتية مجهول بالنسبة لنا...

هناك بعض الملاحظات التي تتعلق بالمراحل السابقة وهي:

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

- على شكل عدد محدود من الوحدات العملياتية . - على شكل عدد محدود من خطوات التحكم.

- بأشكال أخرى منها على سبيل المثال المساحة الكلية للنظام على رقاقة السيليكون ، زمن استجابة النظام الكلي ،استهلاك النظام من الطاقة الكهربائية ،تحمل النظام للحرارة ،تحمل النظام للضجيج,تحمل النظام لبيئة حرجة وتحمل النظام لبيئة مغناطيسية .

- وثوقية النظام أو قابلية النظام لاكتشاف وتصحيح الأخطاء Error Correcting Code

- تتعلق ميزات وخصائص النظام النهائية بالتكنولوجيا المستخدمة لبناء مكوناته ويتعلق خيارالتكنولوجيا بالقيود المفروضة على النظام .

وكمثال على ذلك :

في النظم العادية التي لا تتطلب مميزات خاصة يُفضّل استخدام تكنولوجيا CMOS في بناء النظام لأنها أكثر متانة وممانعة وأقل استخداماً للطاقة الكهربائية بينما نستخدم تكنولوجيا ECL من أجل الأنظمة التي تتطلب سرعة عالية في الوقت الذي يتم فيه استخدام HTL من أجل الممانعة العالية للضجيج. وبالتالي المخطط العام لكل المراحل السابقة هو:

مثال:

لدينا خوارزمية حساب المضاعف المشترك الأصغر التالية :

While M1=!M2

IF M1>M2 then M2=M2+N2

ELSE M1=M1+N1

End IF

حيث M1هو العدد الأول,N2هو العدد الثاني .

الحل:

بعد كتابة الخوارزمية السابقة التي تصف طريقة إيجاد المضاعف المشترك الأصغر والتي تعبر عن المرحلة الأولى ننتقل إلى تنفيذ المرحلة التالية(مرحلة الترجمة):

نقوم بتوضيع الوحدات العملياتية وإسناد العمليات حيث نحتاج إلى وحدتين عملياتين من أجل المقارنة والجمع ثم نقوم بتوضيع المداخل اللازمة لكل وحدة عملياتية مع ملاحظة استخدام النواخب على مداخل الوحدات العملياتية التي تستقبل أكثر من دخلين,كما نحتاج إلى توليد قسم التحكم وذلك من أجل الحصول على اشارات التحكم اللازمة للنواخب الموجودة على مداخل الوحدات العملياتية وذلك بإيجاد مخطط الحالة وفق الجدول:

حيث: Q1,Q0 : current state C1,C0 : condition D1,D0: next state S2,S1,S0,SX : outputs نقوم بإيجاد معادلات الخرج فنجد : S0=S1=S2=C0 SX=C1+C0 ومخطط الحالة هو:

فتصبح الوحدات العملياتية كما يلي:

المراجع:

كتاب:COMPUTER ORGANIZATION&DESIGN

http://www.amazon.com/Computer-Organization-Design-Hardware-Interface

مقرر بنية (1)لكلية الهندسة الكهربائية والالكترونية