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

Начинаю изучать ПЛИС, странное поведение сумматора в железе

Ни в какую не получается заставить правильно работать полусумматор в железе.

ПЛИС: Cyclone IV EP4CE6E22C8N

ПО: Quartus Prime 19.1, стоит на Windows 8.1

Попробовал несколько описаний (написал сам на Verilog, использовал готовый модуль LPM_ADD_SUB), все варианты при проверке в железе выдают результат на 1 больше чем ожидается. Ввод чисел осуществляю тумблерами, а вывод диодами макетной платы ALTERA A-C4E6E10, в частности, когда на входах 0, на выходе в младшем разряде 1. 

При этом при моделировании в Modelsim сумматор работает верно.

Цитата

module sum (c_out,s,a,b);
output c_out, s;
input a,b;
wire a,b;
reg c_out,s;
always @(a,b)

begin
s = a^b;
c_out = a&b;
end

endmodule
 

При построении с помощью LPM_ADD_SUB полного сумматора, в том числе многоразрядного, ошибка та же: результат на практике на 1 больше чем должен быть при любых значениях входа.

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


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

Если в Моделсиме всё правильно, тогда проблема в железе. Или не так детектирование "ввода чисел тумблерами" либо ещё что-то пролазит. Первый вариант - подать на выход то что нащёлкано тумблерами и смотреть где может быть косяк. Со вторым чуть сложнее.

Кстати использовать чистую комбинаторику - плохой тон. Схемы рассчитаны для работы синхронно, посиму лучше задать всё через регистры на входе и на выходе (а там гляди и баги пропадут)

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


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

у вас на плате инверсия на ваших ключах где-то. на светодиод выведите. а вообще, освойте сигнал тап, помогает 146% 

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


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

Прямой вывод на светодиод дал правильный результат. Но инверсия действительно была, просто она была и на входах и на выходах. 

SignalTap действительно вещь, спасибо!

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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