كيف أعلن قائمة من طول ثابت في specman?
-
09-06-2019 - |
سؤال
في ه (specman) أريد أن تعلن المتغيرات التي هي قوائم و أريد أن أصلح أطوالها.
فإنه من السهل القيام به من أجل عضوا البنية:
thread[2] : list of thread_t;
في حين "العادية" متغير في الدالة أعلاه لا يعمل, وأنا يجب أن نفعل شيئا مثل:
var warned : list of bool;
gen warned keeping {
it.size() == 5;
};
هل هناك طريقة أفضل أن تعلن قائمة ثابتة الحجم ؟
المحلول
الصعب الحفاظ على مثل لديك لن يؤدي إلا إلى إصلاح الحجم في التهيئة ولكن العناصر التي يمكن إضافتها أو انخفض في وقت لاحق ، تحاول أن نحترس من هذا الشرط ؟ الطريقة الوحيدة التي يمكنني أن أضمن أن العناصر لا تتم إضافة أو انخفض في وقت لاحق هو انبعاث الحدث مزامنتها على حجم != المبلغ المحدد سلفا:
event list_size_changed is true (wanted.size() != 5) @clk;
الأمر الآخر الذي يمكن أن نقدمه هو قليل من السكر النحوية الصعب الحفاظ على:
var warned : list of bool;
keep warned.size() == 5;
نصائح أخرى
أنا لا أعرف شيئا عن specman ، ولكن الحجم ثابت القائمة مجموعة, بحيث قد كنت في مكان ما.
لا تنتمي إلى StackOverflow