Страница 1 из 1

pullup в Verilog.

СообщениеДобавлено: 23 апр 2009, 17:51
Интегральный вычислитель
Требуется написать тестбенч для схемы с двунаправленным выходом подтянутым к единице (открытый коллектор).
Никак не могу понять, как подтянуть выход к единице (чтобы получилось монтажное И ) : в симуляторе все время получаю сигнал X (неизвестно) на линии :(

Модуль для тестирования:

Код: Выделить всё
module ps2_rt
  (
...
  inout  wire        ps2_clk,
  inout  wire        ps2_dat,

....
);

// управление выходами
  reg drive_clk_lo;
  reg drive_dat_lo;

  assign ps2_clk = drive_clk_lo ? 1'b0 : 1'bz; // выход с открытым коллектором
  assign ps2_dat = drive_dat_lo ? 1'b0 : 1'bz;
.....



Пробовал различные варианты с pullup, результат всегда X

Кто-нибудь сталкивался с подобной задачей?

Re: pullup в Verilog.

СообщениеДобавлено: 23 апр 2009, 18:05
Интегральный вычислитель
Оказалось все просто, в тестбенче выводом надо управлять аналогично:
Код: Выделить всё
   
wire ps2_clk;
wire ps2_dat;
   
pullup(ps2_clk);
pullup(ps2_dat);

reg drive_ps2clk_lo;
reg drive_ps2dat_lo;

assign ps2_clk = (drive_ps2clk_lo) ? 1'b0: 1'bz;
assign ps2_dat = (drive_ps2dat_lo) ? 1'b0: 1'bz;

Re: pullup в Verilog.

СообщениеДобавлено: 23 апр 2009, 19:35
Соратник слонопотама
Интегральный вычислитель писал(а):Требуется написать тестбенч для схемы с двунаправленным выходом подтянутым к единице (открытый коллектор).


имхо, это не открытый коллектор, а самый что ни на есть выход с третьим состоянием

Re: pullup в Verilog.

СообщениеДобавлено: 24 апр 2009, 13:53
Интегральный вычислитель
Соратник слонопотама писал(а):
Интегральный вычислитель писал(а):Требуется написать тестбенч для схемы с двунаправленным выходом подтянутым к единице (открытый коллектор).


имхо, это не открытый коллектор, а самый что ни на есть выход с третьим состоянием

Откуда третье состояние? Есть только 0 и Z => открытый коллектор

Re: pullup в Verilog.

СообщениеДобавлено: 25 апр 2009, 11:18
Соратник слонопотама
Интегральный вычислитель писал(а):
Соратник слонопотама писал(а):
Интегральный вычислитель писал(а):Требуется написать тестбенч для схемы с двунаправленным выходом подтянутым к единице (открытый коллектор).


имхо, это не открытый коллектор, а самый что ни на есть выход с третьим состоянием

Откуда третье состояние? Есть только 0 и Z => открытый коллектор


есть уверенность, что выход реально умеет работать как открытый коллектор? мне почему-то кажется, что физически там только буферы с третьим состоянием, которым ничто не мешает обеспечить те самые 0 и Z.

Re: pullup в Verilog.

СообщениеДобавлено: 28 апр 2009, 11:47
Интегральный вычислитель
Соратник слонопотама писал(а):есть уверенность, что выход реально умеет работать как открытый коллектор? мне почему-то кажется, что физически там только буферы с третьим состоянием, которым ничто не мешает обеспечить те самые 0 и Z.

Да, на fpga есть только тристабильные буферы.