4.4.4.2. ОТКРЫТЫЕ СТОКИ И ШИНЫ



На рисунке показаны два элемента И-НЕ с открытыми стоками и общая шина.
(Открытый сток значит что сток подключен не к питанию а выходу на шину,
на которую через резистор подключено питание). 
Такая система позволяет уменьшить время отклика (т.к. сразу понижается
напряжение на шине и не идет ток через питание в самом логическом элементе)
Если все закрыто то на шине 1. Поэтому в PC чтение из памяти которой нету
физически дает одни 1.

Идея шины и открытых стоков:


Выходы с открытым стоком помечают как правило схемотехническим знаком:

/\ / \ \ / \/ ----


Пример CMOS открытого стока:




Попробуем промоделировать шину с 2мя устройствами с открытым стоком на Verilog:



Модель устройства с открытым стоком. Имеет два входа - один это сигнал который выставлять на шину, другой - разрешение выставления на шину: module cmos_opendrain(out,in,en); output out; input in; input en; wire iin; wire x; cmos_not CMOS_NOT_1(iin, in); supply0 gnd; assign out = 1'bZ; nmos(x, gnd, en); nmos(out, x, iin); endmodule Модель шины: module bus_test(a,b,ena, enb); input a,b,ena,enb; wand bus; supply1 pwr; assign bus = pwr; cmos_opendrain DEVICE0(bus,a, ena); cmos_opendrain DEVICE1(bus,b, enb); endmodule Результаты моделирования: Видно, что когда никто не выставляется на шину то ее значение 1. (вот почему если читать зону за пределами физической оперативной памяти мы получаем одни FFh). Если кто-то один выставляется - то результатты соответсвуют данным. Если выставляются сразу оба - то побеждает тот кто выставляет 0. (Эта особенность используется для арбитража шины).


Монтажная логика



Собственно говоря шина основанная на открытых стоках выполняет логическую функцию AND. Если у кого-то 0 - то на шине будет тоже 0. Поэтому ее иногда еще называют монтажной логикой.

Index Prev Next