سؤال

في ه (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 ، ولكن الحجم ثابت القائمة مجموعة, بحيث قد كنت في مكان ما.

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