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

Тип natural в Quartusе и FPGA Advantage...

Есть файл VHDL написанный я Quartusе, там есть сигналы определенные как natural. Некоторые определения типа natural - в genericах.

В Quartusе все принимается, компилируется и т.д., тот-же проэкт в FPGA Advantage падает на компиляции с Errors о том что тип natural - есть Non-standard IEEE тип.

Почему так ? На кого полагаться ?

 

Кроме того, те natural которые у меня определены в generic - не имеют ranges, FPGA Advantage на это тоже сетует warningом, тогда как Quartus не обращал внимания.

Почему такие отличия в подходах ?

 

Означает ли это что FPGA Advantage более строг в свом подходе (может пытается сохранять backward compatibility со старыми VHDL стандартами) ? Или польза такого подхода в том что он, заставляя писать боле строго стандартизированный код, таким образом заботиться об общегчении синтеза или что-то в этом роде ?

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


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

Означает ли это что FPGA Advantage более строг в свом подходе (может пытается сохранять backward compatibility со старыми VHDL стандартами) ? Или польза такого подхода в том что он, заставляя писать боле строго стандартизированный код, таким образом заботиться об общегчении синтеза или что-то в этом роде ?

 

Скорее второе. Ну посудите сами, если у сигнала не описан range, будет автоматически сгенерен регистр, компаратор, сумматор и т.д. с максимальной для дального типа разрядностью (например для целого типа - 32 бит). Что приведет к значительно более худшим временам и дополнительной площади кристалла...Поэтому Advantage справедливо сомневается, а нужен ли вам такой широкий регистр...а может вы просто забыли указать range, и вам нужно то всего 8 бит...

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

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


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

Скорее второе. Ну посудите сами, если у сигнала не описан range, будет автоматически сгенерен регистр, компаратор, сумматор и т.д. с максимальной для дального типа разрядностью (например для целого типа - 32 бит). Что приведет к значительно более худшим временам и дополнительной площади кристалла...Поэтому Advantage справедливо сомневается, а нужен ли вам такой широкий регистр...а может вы просто забыли указать range, и вам нужно то всего 8 бит...

 

Да, логично, согласен.

Но почему он вообще дает ошибку на natural в принципе ? Я нашел в его настройках какие виды warning и errors и как реагировать. Там действительно было установлено error на natural. Я могу это конечно отменить, но сомнения гложут. Ежели оно было установлено by default, значит есть какая-то логика наверно...но что именно ?

Может это намекает на то что впредь не рекомендуется использовать natural как тип для синтезируемого дизайна ?

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


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

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

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

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

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

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

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

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

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

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