реклама на сайте
подробности

 
 
> PicoBlaze, VHDL-предупреждения при симуляции
Intekus
сообщение Jun 9 2011, 14:53
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621



Использую PicoBlaze на VHDL; при симуляции в ModelSim на мультиплексировании входов ро номеру порта (port_id) выдаётся предупреждение:
Код
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
#    Time: 0 ps  Iteration: 0  Instance: /pb_warings
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
#    Time: 0 ps  Iteration: 2  Instance: /pb_warings

Закомментированный вариант выдаёт то же самое, плюс предупреждения от функции конвертации.
Можно ли как-то переписать код, чтоб избавиться от этих предупреждений? Слабо верится, чтоб такое популярное и отлаженное ядро никак нельзя было бы заставить работать "красиво".
Какой опцией vsim отключить их вообще - где-то на форуме находил, но не хочется лишаться этой проверки и во всём остальном проекте.
Проект для демонстрации прилагаю, симуляция - файл pb_warings.do, тестбенч не посчитал нужным делать, так как предупреждения выдаются независимо даже от подачи тактового. Для себя тест сделать пробовал - ситуация та же.
P. S. Если это ближе к SoC - перенесите, но, по-моему, вопрос скорее про "пряморукий" VHDL.
P. P. S. Пока писал - пришла мысль посмотреть код и симуляцию подобного в примерах, идущих у Xilinx в комплекте с самим ядром... Найду таким образом ответ - сюда напишу sm.gif.
Прикрепленные файлы
Прикрепленный файл  PB_warnings.zip ( 45.63 килобайт ) Кол-во скачиваний: 24
 


--------------------
...а Сила, Брат - она - в несиловых решениях.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SFx
сообщение Jun 9 2011, 17:27
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



если Dы подаете ресет на kcpsm, то все там инициализируется автоматически по фронту.
До появления первого фронта и при наличие активного ресета, на эти варнинги даже обращать внимания не стоит.

если очень хочется их убрать - просто замените все " : std_logic;" на " : std_logic:='0';" и аналогично с std_logic_vector (как рекомендовал Kuzmi4 в п.1)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 07:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01947 секунд с 7
ELECTRONIX ©2004-2016