Сведения о вопросе

HOLY

23:23, 26th August, 2020

Теги

specman    

Как объявить список фиксированной длины в specman?

Просмотров: 395   Ответов: 2

В E (specman) я хочу объявить переменные, которые являются списками, и я хочу исправить их длины.

Это легко сделать для члена структуры:

thread[2] : list of thread_t;

в то время как для переменной "regular" в функции вышеизложенное не работает, и я должен сделать что-то вроде:

var warned : list of bool;
gen warned keeping {
    it.size() == 5;
};

Есть ли лучший способ объявить список фиксированного размера?



  Сведения об ответе

appple

07:41, 6th August, 2020

Жесткий диск, как у вас, будет только фиксировать размер при инициализации, но элементы все равно могут быть добавлены или удалены позже, вы пытаетесь защититься от этого условия? Единственный способ, который я могу придумать, чтобы гарантировать, что элементы не будут добавлены или удалены позже, - это испускать событие, синхронизированное по размеру != заранее определенная сумма:

event list_size_changed is true (wanted.size() != 5) @clk;

Единственное, что я могу предложить, это немного синтаксического сахара для жесткого удержания:

var warned : list of bool;
keep warned.size() == 5;


  Сведения об ответе

ASSembler

10:05, 3rd August, 2020

Я ничего не знаю о specman, но список фиксированного размера-это массив, так что это может указать вам на что-то.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться