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

Массивы

Можно ли создать массив переменных типа integer но с разной разрядностью?

типа такого

TYPE t_delays IS ARRAY(0 TO Noutsignals-1) OF integer range 0 to (2**17-1);

 

Как при этом задать разрядность для каждой из переменной массива?

 

Если поставить везде 32 bit (мне этого достаточно), то используются лишние триггеры и компилятор их не удаляет.

 

:blush:

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


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

Если поставить везде 32 bit (мне этого достаточно), то используются лишние триггеры и компилятор их не удаляет.

какой странный компилятор! а ведь должен! - варианта два -- либо то что вы думаете что не используется - на самом деле где-то используется, либо в директивах компилятока поставлено директива чтобы он не сокращал

 

а по существу вопроса - нужно использовать блоки GENERIC - как делать это в ВХДЛе не скажу - давно уже с ним не работаю а вот примерчик подобного свойства для Верилога я вешал здесь http://forum.electronix.ru/index.php?showtopic=6339 пусть вас не пугает текстовое содержание поста - в ВХДЛ такие GNERIC блоки компилируются Синплифаем нормально

 

надеюсь чем-нить поможет

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


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

Если поставить везде 32 bit (мне этого достаточно), то используются лишние триггеры и компилятор их не удаляет.

какой странный компилятор! а ведь должен! - варианта два -- либо то что вы думаете что не используется - на самом деле где-то используется, либо в директивах компилятока поставлено директива чтобы он не сокращал

 

а по существу вопроса - нужно использовать блоки GENERIC - как делать это в ВХДЛе не скажу - давно уже с ним не работаю а вот примерчик подобного свойства для Верилога я вешал здесь http://forum.electronix.ru/index.php?showtopic=6339 пусть вас не пугает текстовое содержание поста - в ВХДЛ такие GNERIC блоки компилируются Синплифаем нормально

 

надеюсь чем-нить поможет

 

Спасибо, попробуем.

Точнее говоря я не ставлю везде 32 bit, а просто ничего не пишу в range

(это соответствует по умолчанию 32bit).

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

 

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

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


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

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

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

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

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

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

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

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

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

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