pullup в Verilog.

Модератор: kustarev

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

Кто-нибудь сталкивался с подобной задачей?
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

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;
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: pullup в Verilog.

Сообщение Соратник слонопотама » 23 апр 2009, 19:35

Интегральный вычислитель писал(а):Требуется написать тестбенч для схемы с двунаправленным выходом подтянутым к единице (открытый коллектор).


имхо, это не открытый коллектор, а самый что ни на есть выход с третьим состоянием
Аватара пользователя
Соратник слонопотама
 
Сообщения: 250
Зарегистрирован: 16 апр 2008, 13:18

Re: pullup в Verilog.

Сообщение Интегральный вычислитель » 24 апр 2009, 13:53

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


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

Откуда третье состояние? Есть только 0 и Z => открытый коллектор
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: pullup в Verilog.

Сообщение Соратник слонопотама » 25 апр 2009, 11:18

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


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

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


есть уверенность, что выход реально умеет работать как открытый коллектор? мне почему-то кажется, что физически там только буферы с третьим состоянием, которым ничто не мешает обеспечить те самые 0 и Z.
Аватара пользователя
Соратник слонопотама
 
Сообщения: 250
Зарегистрирован: 16 апр 2008, 13:18

Re: pullup в Verilog.

Сообщение Интегральный вычислитель » 28 апр 2009, 11:47

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

Да, на fpga есть только тристабильные буферы.
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса


Вернуться в Языки структурно-функционального описания аппаратуры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron