NMOS - технология логики на n-типа транзисторах.
[N-type Metal-Oxide-Semiconductor]
NOT
[Идея]
[NMOS]
Делать резисторы в микросхемах неудобно, стараются что бы элементы были однотипные
(так легче изготовлять). Поэтому в реальности в NMOS используют не резистор, а
N-MOSFET (при этом лучше обогащенный - как и основные элементы):
[NMOS как это в реальности и происходит]
когда Vin имеет низкий уровень (т.е. 0), транзистор закрыт и на выход
приходит ток из Vcc (+5V,т.е. 1), [резистор обеспечивает только очень
небольшое падение напряжения в этом случае ~ 0.3V т.е до +4.7V]
если же Vin высокий (1), транзистор открыт и Vout получается соединенным с
землей (т.е. 0).
------------- ----------
Vin | Vout Vin | Vout = NOT
-----+------- ----+-----
0 V | +5V 0 | 1
+5V | 0V 1 | 0
-----+------- ----+-----
Это реальная имплементация NMOS инвертора
(используются полевые транзисторы, верхний как резистор).
NMOS и PMOS инверторы:
Пример аналогового электрического моделирования инвертора:
(используем N-JFET)
Существует время прохождения сигнала через логический элемент:
(в реальном мире все происходит за конкретное время).
Пример моделирования NMOS инвертора на транзисторном уровне на Verilog:
module nmos_not(out,in);
output out;
input in;
wand pull;
supply1 pwr;
supply0 gnd;
assign pull = pwr;
nmos(pull,gnd,in);
assign out = pull;
endmodule
NAND
[Идея]
[NMOS идея]
[NMOS]
NAND очень похож на NOT, но Vout имеет низкий уровень только тогда, когда
открыты оба транзистора:
-------------- -------------
V1 V2 | Vout V1 V2 | Vout = NAND
-------+------ -------+-----
0V 0V | +5V 0 0 | 1
0V +5V | +5V 0 1 | 1
+5V 0V | +5V 1 0 | 1
+5V +5V| 0V 1 1 | 0
-------------- -------------
Пример моделирования NMOS NAND2 на Verilog:
module nmos_nand2(out,a,b);
output out;
input a,b;
supply1 pwr;
supply0 gnd;
wand pull;
wire x;
assign pull = pwr;
nmos(pull, x, a);
nmos(x, gnd, b);
assign out = pull;
endmodule
[Идея]
одно из замечательных свойств это каскадность, трехвходовый NAND легко
делается из двухвходового NAND, простым добавлением транзистора.
Идея все таже: Vout будет подключен к земле (0) только тогда, когда все
3 транзистора будут открыты.
Но бесконечно усиливать число каскадов нельзя.
Современные технологии ограничивают число входов в NAND шести.
Если надо больше то идут уже не электрические схемы, а логические.
Это пример того, что знание соседнего уровня (электрического)
позволяет оптимизировать текущий (фуекционально-логический)
Т.е. мы вместо того чтобы городить каскад логики для NAND3, NAND4, NAND5,
NAND6 просто реализуем это на более нижнем уровне и выиграем в размере
кристалла.
Пример моделирования NMOS NAND3 на Verilog:
module nmos_nand3(out,a,b,c);
output out;
input a,b,c;
supply1 pwr;
supply0 gnd;
wire x,y;
wand pull;
assign pull = pwr;
nmos(pull, x, a);
nmos(x, y, b);
nmos(y, gnd, c);
assign out = pull;
endmodule
NOR
[Идея]
[NMOS идея]
[NMOS]
Идея NOR тоже пришла из инвертора: если хотя бы один транзистор будет открыт
то Vout будет соединен с землей (т.е. 0)
-------------- -------------
V1 V2 | Vout V1 V2 | Vout = NOR
--------+----- -------+-----
0V 0V | +5V 0 0 | 1
0V +5V | 0V 0 1 | 0
+5V 0V | 0V 1 0 | 0
+5V +5V | 0V 1 1 | 0
-------------- -------------
Пример моделирования NMOS NOR2 на Verilog:
module nmos_nor2(out,a,b);
output out;
input a,b;
supply1 pwr;
supply0 gnd;
wand pull;
assign pull = pwr;
nmos(pull, gnd, a);
nmos(pull, gnd, b);
assign out = pull;
endmodule
[Идея]
Таже идея что и в NAND используется для наращивания каскадов.
Современные технологии ограничивают число входов в NAND четырем.
Пример моделирования NMOS NOR3 на Verilog:
module nmos_nor3(out,a,b,c);
output out;
input a,b,c;
supply1 pwr;
supply0 gnd;
wand pull;
assign pull = pwr;
nmos(pull, gnd, a);
nmos(pull, gnd, b);
nmos(pull, gnd, c);
assign out = pull;
endmodule
Buffer
[Идея - в NMOS невоплотима]
повторитель (усилитель) (buffer).
Если Vin имеет низкий уровень (0), то транзистор закрыт и Vout имеет уровень
земли (0). Если Vin высокий (1), транзистор открыт и Vout имеет +5V (1).
----------- -----+------
Vin | Vout Vin | Vout = Buffer
----+------ -----+------
0V | 0V 0 | 0
+5V | +5V 1 | 1
----------- -------------
А для NMOS - только через каскад инверторов:
Недостатки NMOS технологии