juvf 17 7 февраля, 2012 Опубликовано 7 февраля, 2012 · Жалоба не могу понять...... Добавил в схему двунаправленный порт. в асигментах указал Location W19 Weak Pull-Up Resistor on Auto-Open Duran Pin on W19 выходит из плис и "висит" в воздухе, больше ни кого на этом порту нет. Все подтяжки к Vcc делаю внутри ПЛИС. В схеме в квартусе на пин W19 подал импульсы. Всё время "0" и иногда "1". 3-го состояния вообще нет. Собрал, залил в плис. Смотрю оссцилогафом - на W19 1,7 В. (питание 3.3), т.е. кагбэ тристэйт. Смотрю сигналтабом на w19 - всё в норме, всегда 0 и иногда, в соответствии с моим алгоритмом 1. Почему на ноге W19 тристэйт? Как делают на плис открытый коллектор? что я делаю не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 7 февраля, 2012 Опубликовано 7 февраля, 2012 · Жалоба always @( * ) if(out_preliminary) out<=1'bz; else out<=0; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ianpo 0 7 февраля, 2012 Опубликовано 7 февраля, 2012 (изменено) · Жалоба Если у вас на выходе только 0 и Z, то при включенном правиле (наз-ся как-то типа "Auto Open Drain", где-то в настройках) получится выход с Открытым Стоком. В отчете компилятора Квартуса можно убедиться, что на нужных выходах получился Open Drain. Изменено 7 февраля, 2012 пользователем IanPo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 17 7 февраля, 2012 Опубликовано 7 февраля, 2012 · Жалоба Всё делал правильно. Не на тот пин смотрел осцылом :laughing: сори за беспокойство. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mahagam 0 7 февраля, 2012 Опубликовано 7 февраля, 2012 · Жалоба always @( * ) if(out_preliminary) out<=1'bz; else out<=0; Verilog позволяет писать сильно короче: assign my_pin = out ? 'bZ : 0; стоит пользоватся всеми прелестями сокращённого синтаксиса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться