Перейти к содержанию
    

overflow параметра

Здравствуйте!

подскажите пожалуйста:

каким образом правильно сказать квартусу о том, что у меня не будет превышения значения параметра после суммирования?

 

systemverilog

parameter m = 640;

parameter WIDTH = $clog2(m);

parameter a = WIDTH'(192);

parameter b = WIDTH'(320);

parameter c = WIDTH'(a + b );

Изменено пользователем L47

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

parameter a - при таком объявлении, параметр а будет 32 битным

parameter [WIDTH - 1 : 0] a; - вот так должно полегчать, вроде как... ну и в общем случае сумма будет WIDTH + 1 бит. поэтому возможно параметр С надо расширить на 1 бит.

А потом, если вы уверены что превышения разрядности быть не может, при использовании из него можно брать WIDTH младших бит, или объявить еще 1 параметр в который перенести WIDTH младших бит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А потом, если вы уверены что превышения разрядности быть не может, при использовании из него можно брать WIDTH младших бит, или объявить еще 1 параметр в который перенести WIDTH младших бит

 

получается вот так, но слишком громоздко:

 

 

parameter m = 640;
parameter WIDTH = $clog2(m);
parameter a = WIDTH'(192);
parameter b = WIDTH'(320);
parameter c_sub = (WIDTH + 1)'(a + b);
parameter c = c_sub[WIDTH - 1:0];

Изменено пользователем L47

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...