не могу понять...... Добавил в схему двунаправленный порт. в асигментах указал
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
Feb 7 2012, 10:38
Код
always @( * )
if(out_preliminary)
out<=1'bz;
else
out<=0;
Если у вас на выходе только 0 и Z, то при включенном правиле (наз-ся как-то типа "Auto Open Drain", где-то в настройках) получится выход с Открытым Стоком.
В отчете компилятора Квартуса можно убедиться, что на нужных выходах получился Open Drain.
Всё делал правильно. Не на тот пин смотрел осцылом
сори за беспокойство.
Mahagam
Feb 7 2012, 14:28
QUOTE (DmitryR @ Feb 7 2012, 13:38)

CODE
always @( * )
if(out_preliminary)
out<=1'bz;
else
out<=0;
Verilog позволяет писать сильно короче:
assign my_pin = out ? 'bZ : 0;
стоит пользоватся всеми прелестями сокращённого синтаксиса.