سؤال

وأنا كلفت بمهمة التحقق من بعض فيريلوج مقرها كود RTL. الآن، ترميز testbench RTL باستخدام فيريلوج يبدو أن من الصعب جدا (بالنسبة لي). لذلك أود أن محاولة واحدة مما يلي. - حاول توفير واجهة PLI إلى RTL، وبالتالي استدعاء وظائف "C للاختبار - استخدام نظام "C للتفاعل في 'وظائف C

وPS: لدي بالفعل "شفرة واسعة النطاق C الذي تم استخدامه لاختبار النموذج السلوكي. أنا جديدة في عالم البرمجة الأجهزة. ومن شأن أي مؤشرات سيتم تقدير كبير.

هل كانت مفيدة؟

المحلول

إذا كان لديك بالفعل كود C واسعة النطاق التي تم استخدامها لاختبار النموذج السلوكي، ثم ما ينبغي القيام به هو مجرد إضافة واجهة PLI (أو DPI) التي من شأنها أن تسمح لك لاستدعاء هذا الرمز ج من فيريلوج.

وSystemC هو في الأساس C ++ مع الكثير من الفئات التي تسمح لك لنموذج الأب. أنا لا أرى كيف يمكن أن تستفيد من تعلم SystemC للمهمة التي تحاول لديك بالفعل نموذج C المتاحة التي يمكنك اختبار HW ضد. تعلم SystemC وربما مبالغة لما تحاول القيام به.

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

نصائح أخرى

والسؤال ليس من السهل الإجابة دون معرفة دي يو الخاص بك (جهاز تحت التحقق) أو رمز C لديك. تحتاج سيلة لتحفيز وتحقق من التصميم الخاص بك، وهنا ربما تحتاج إلى ترجمة من / إلى مستوى المعاملة (هياكل البيانات C) إلى / من مستوى دبوس. SystemVerilog واجهات أو SystemC قد يكون هذا النهج. أنا لم تستخدم DPI / PLI واجهات حتى الان.

لديك testbench "للدولة من بين الفن" يجب عليك أن تنظر في استخدام واحدة من المنهجيات testbench هناك، وهما <لأ href = "http://www.vmm-sv.org/" يختلط = "نوفولو noreferrer"> VMM أو OVM . وسوف توفر لك أيضا مع وثائق كيفية البدء.

ويبدو وكأنه يجب عليك الحصول على أداة مثل لمعلمه أو محاكاة الإيقاع والتي تجمع بين RTL ورمز SystemC تحت نظام واحد. غير حرة، بالتأكيد، لكنها هي الحل لهذا موجود في الواقع.

والحل الصحيح هيكليا ما تحتاجه هو لC أو SystemC للدعوة إلى RTL، وليس العكس. القيام بذلك يعني دمج بعض RTL محاكاة مع برنامج C أو برنامج SystemC. ومن المؤكد قابلة للتنفيذ، ولكن مهمة كبيرة جدا.

وأيضا، وأعتقد أن استخدام SystemVerilog يجعل الكثير من معانيها.

ولقد استعملت على حد سواء لSystemC ونظام فيريلوج / VMM للتحقق، والجواب هو، فإنه يعتمد. عندما كنت مع بدء التشغيل التي كان على بميزانية صغيرة تحاول الحصول على أول ASIC للخروج من الباب، كان SystemC خيارا طبيعيا لأنه ركض على موقعنا على محاكاة ذات الميزانيات المنخفضة وفعل SystemVerilog لا. مع SystemC، لا تحتاج إلى استخدام PLI أو DPI. كنت في الواقع مثيل نموذج SystemC الخاص كمكون في testbench، والتي هي مثيرة للاهتمام.

ومع ذلك، SystemC هي مكتبة C ++ لا لديها تركيب بديهية جدا. يجب أن يكون C ++ الخلفية لائقة قبل محاولة تعلم مكتبة SystemC. الكتب لهذا المتوفرة تمتص معظمها، باستثناء "SystemC من الألف إلى الياء" من قبل ديفيد الأسود.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top