|
Глюки при симуляции в Quartus |
|
|
|
May 6 2011, 06:12
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Доброго времени суток! Совсем недавно начал разбираться с ПЛИСинами, в частности CPLD MAXII, и с VHDL'ем. Понадобилось создать элемент результат работы которого удовлетворяет таблице истинности. Составил СДНФ, минимизировал ее с помощью программы. В итоге получилась сокращенная ДНФ Код (!X1 & X2) | (X1 & !X2 & !X3 & !X4) . Написал элемент на VHDL'е и приступил к симуляции. Вот тут и полезли непонятные вспески/провалы на выходе. Пробовал собрать тоже самое на логике, результат один и тот же. В чем может быть проблема, ума не приложу? VHDL код, таблица и скриншот симуляции во вложении.
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 23)
|
May 6 2011, 09:58
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Цитата(des00 @ May 6 2011, 12:37)  бинго  , ну разве не счастье понять это самому  Счастье  , сейчас еще про асинхронные частоты дочитаю  ...... А в Quartus'у есть специальный элемент синхронизатор или самому делать нужно?
Причина редактирования: удалил повторяющийся вопрос (c) des00
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
May 6 2011, 11:16
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Спасибо всем за ответы!
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Dec 20 2011, 09:55
|

Местный
  
Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561

|
переписывал код с AHDL -> SV. переписал. не работает. начал проверять. нашел, что строка Код Ttt[] = (Val[8] & (Cmd[2..0] == 1)) xor Val[7..0]; на верилоге как Код assign Ttt = (Val[8] & (Cmd[2:0] == 1)) ^ Val[7:0]; не обрабатывается правильно. переписал как Код assign Ttt = (Val[8] && (Cmd[2:0] == 1'b1)) ? ~Val[7:0] : Val[7:0]; все ок. не пойму, где у меня ошибка с xor?
--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
|
|
|
|
|
Dec 20 2011, 12:24
|

Местный
  
Группа: Свой
Сообщений: 235
Регистрация: 11-11-09
Пользователь №: 53 561

|
Цитата(sazh @ Dec 20 2011, 13:27)  assign Ttt = {8{(Val[8] & (Cmd[2:0] == 1))}} ^ Val[7:0]; ой. я к этим массивам после ahdl привыкнуть не могу =(. понятно. а до этого я один бит получается сравнивал
--------------------
Мы ведь работаем, чтобы жить, а не живем, чтобы работать??? ;)
|
|
|
|
|
Dec 20 2011, 20:19
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(sazh @ Dec 20 2011, 20:26)  А почему, собственно Мне кажется, stu отнес операцию реплицирования не к результату после логических операторов && и ==, а к чему-то внутри них. Вот и сделал замечание. Если это не так, извиняюсь. А у вас-то все мастерски выходит!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|