Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: the result will be 'X'(es) в Modelsime
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Среды разработки - обсуждаем САПРы
Mr. Smith
Уже несколько раз сталкивался с загадочным для меня явлением когда при моделированиии заведомо работоспособной схемы или кода в ModelSim XE II/Starter 5.7g все выходные сигналы устанавливаются либо в 0 либо в неопределенное состояние т. е. схема не работает, но когда выведеш наружу какие-либо промежуточные сигналы, то моделирование проходит успешно (т. е. в окошке Wave выходные сигналы ведут себя как я и задумывал.). Все это сопровождается следующими матюганиями Modelsim'a в обоих случаях:
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
# Time: 0 ps Iteration: 0 Instance:

т.е. возникает какая то неопределенность в начальный момент времени.

Вопрос откуда она берется и как от нее избавиться, так как схема и код вполне работоспособны или возможно я не учитываю какой-то неизвестной мне особенности ModelSima? Помогите пожалуйста разобраться.
andrew_b
Цитата(Mr. Smith @ Aug 10 2005, 16:22)
Уже несколько раз сталкивался с загадочным для меня явлением когда при моделированиии заведомо работоспособной схемы или кода в ModelSim XE II/Starter 5.7g все выходные сигналы устанавливаются либо в 0 либо в неопределенное состояние т. е. схема не работает, но когда выведеш наружу какие-либо промежуточные сигналы, то моделирование проходит успешно (т. е. в окошке Wave выходные сигналы ведут себя как я и задумывал.).

Вы делаете post-place'n'route моделирование? Или чисто поведенческое?
Цитата
Все это сопровождается следующими матюганиями Modelsim'a в обоих случаях:
# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
#    Time: 0 ps  Iteration: 0  Instance:

т.е. возникает какая то неопределенность в начальный момент времени.
Вопрос откуда она берется и как от нее избавиться, так как схема и код вполне работоспособны или возможно я не учитываю какой-то неизвестной мне особенности ModelSima? Помогите пожалуйста разобраться.
*

Вероятно, сигналы, участвующие в арифметических операциях, имеют значение 'U', т. е. они не проинициализированы разумным значением ('0' или '1'). Проанализируйте код.
Mr. Smith
Цитата(andrew_b @ Aug 10 2005, 15:39)
Вы делаете post-place'n'route моделирование? Или чисто поведенческое?
Вероятно, сигналы, участвующие в арифметических операциях, имеют значение 'U', т. е. они не проинициализированы разумным значением ('0' или '1'). Проанализируйте код.
*



При поведенческом моделировании, без трассировки по криссталлу.

Как проинициализировать? Когда я задаю начальное значение сигнала = 0 это ничего не дает.
andrew_b
Цитата(Mr. Smith @ Aug 10 2005, 16:50)
Как проинициализировать? Когда я задаю начальное значение сигнала = 0 это ничего не дает.
*

Моделсим же пишет полный путь к месту, где это возникает. Нужно обсмотреть этот узел.
Вообще, подобного бага я в Моделсиме не помню, а другим симулятором я никогда не пользовался. Так что скорее всего, это где-то у вас недочет.
Другая версия симулятора доступна? Есть с чем сравнить?
Mr. Smith
Цитата(andrew_b @ Aug 10 2005, 16:02)
Вообще, подобного бага я в Моделсиме не помню, а другим симулятором я никогда не пользовался. Так что скорее всего, это где-то у вас недочет.
*



Скорее всего мой... но почему когда выводиш промежуточные сигналы все начинает работать wacko.gif wacko.gif как они помогают правильному функционированию?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.