المحاكاة

المحاكاة هي مصطلح مركب من كلمتي المحاكاة والمحاكاة في علوم الحاسوب ، وتشير إلى عملية التحكم في المحاكاة من خلال جهاز محاكاة.

المحاكاة في علوم الحاسوب

تُوصَف الأجهزة الرقمية باستخدام لغات وصف الأجهزة (HDL) مثل VHDL و Verilog و System Verilog . تُحاكى هذه الأوصاف مع بيئة اختبار خاصة بالمشكلة. يتم التحقق الوظيفي الأولي لمعظم تصميمات الملكية الفكرية (IP) عبر المحاكاة على مستوى نقل السجلات (RTL) أو مستوى البوابات المنطقية. في طريقة المحاكاة القائمة على الأحداث، يجب معالجة الكود بشكل تسلسلي بواسطة وحدة المعالجة المركزية (CPU )، لأن الحاسوب العادي غير قادر على معالجة الأجهزة المُنفذة بالتوازي. يؤدي هذا النهج التسلسلي إلى أوقات محاكاة طويلة، خاصة في تصميمات الأنظمة المعقدة على شريحة واحدة (SoC) .

بعد المحاكاة، يجب توليف وصف RTL ليتناسب مع المكونات المادية النهائية (مثل FPGA أو ASIC ). تنطوي هذه الخطوة على الكثير من الشكوك لأن المكونات المادية الحقيقية عادةً ما تكون أقل مثالية من نموذج المحاكاة. تُعد الاختلافات بين الواقع والمحاكاة سببًا رئيسيًا لاستخدام المحاكاة في تصميم المكونات المادية.

بشكل عام، تُعد بيئة المحاكاة وبيئة المحاكاة نظامين مستقلين. أما المحاكاة فهي تكامل بين الطريقتين. في المحاكاة، تتم معالجة جزء من تصميم الأجهزة بشكل تسلسلي في البرمجيات (مثل بيئة الاختبار)، بينما تتم محاكاة الجزء الآخر.

يوضح المخطط الكتلي التالي مثالاً على تدفق التصميم للمحاكاة :

تحتوي قاعدة البيانات على ملفات التصميم وملفات بيئة الاختبار، بالإضافة إلى معلومات حول ما إذا كانت الوحدة ستُحاكى أم لا. يُظهر الجزء الأيسر مسار المحاكاة المعتاد حيث يجب تجميع ملفات التصميم لمحاكي لغة وصف الأجهزة (HDL). أما الجزء الأيمن من مخطط الحالة فيُعنى بتدفق نظام المحاكاة. يجب توليف ملفات تصميم FPGA لتتوافق مع التقنية المستهدفة المناسبة. يُعد الربط بين نظام المحاكاة ومحاكي لغة وصف الأجهزة (HDL) نقطةً أساسيةً في المحاكاة ، حيث تُعدّ هذه الواجهة ضروريةً لتمكين المحاكي من التعامل مع الأجهزة المتصلة.

مزايا المحاكاة

  • تسريع المحاكاة: تُعدّ محاكاة التصاميم الضخمة باستخدام محاكي لغة وصف الأجهزة (HDL) مهمة شاقة. عندما ينقل المصمم أجزاءً من التصميم إلى نظام محاكاة ويُجري محاكاة مشتركة لها مع محاكاة لغة وصف الأجهزة، يُمكن تقليل أوقات تشغيل المحاكاة.
  • استخدام الأجهزة الحقيقية في وقت مبكر من عملية التصميم.

مراجع