Ну, вы знаете.
На плате есть парочка до сих пор не опробированных устройств, одно из них я щас подключил и очень удивился.
Короче, это простой энкодер вращения, один из двух (первый - оптический, 100 шагов на поворот, второй (герой истории) механический, 15 шагов на оборот, на оси ещё кнопка есть). Схема проще некуда - два контакта, два резистора. Зашунтировал ещё входы на сякий случай конденсаторами в 1000 пФ, душеполезная вещь.
Подключил энкодер, красивый ему "хвостик" спаял. В прошивку ПЛИС изменений пока никаких не вносил.
Смотрю на уровни сигнало.. чё за херь? нуль - как нуль, а единица вместо высокого уровня шатается где-то около 0.6В. Явно ненормальная ситуация.
Похоже, что конфигуратор заставляет ПЛИС выставить неиспользуемые пины в некое состояние, напополам между "высокоимпедансное" и "активный выход". Т.е. там и не нуль, и не единица, и не high-Z, а непоймичто.
Прямо прописал, что вот эти вот пины будут входами -- не заработало. Поставил в схему ibuf -- не заработало (компилятор, видать, решил оптимизировать -- раз сигнал никуда не идёт, то и разводить его не будем!). Пробросил от них сигнал на отладочные пины -- заработало. Т.е. уровни стали правильными, уже прогресс. Прикольно...