CMOS Logic-Gate Circuits 1
Static CMOS Circuits At every point in time (when input and output are stable) each gate output is connected to either V DD or ss via a low-resistive path. The outputs of the gates assume at all times the value of the Boolean function, dependent of input signals (ignoring, once again, the transient effects during switching periods). They differ from the Esta parte inicial, até o slide 9, pode ser vista com detalhes na Seção 10.3 do livro-texto do Sedra. dynamic class circuits, which relies on temporary storage of signal values on the capacitance of high impedance circuit nodes.
PUN and PDN PMOS only (pulls output to VDD) NMOS only (pulls output to GROUND) Figure 10.8 Representation of a three-input CMOS logic gate. The PUN comprises PMOS transistors, and the PDN comprises NMOS transistors.
How do VDSn and VGSn apply? Pull-down networks either A=H or B=H pulls output to GND both A and B=H pulls output to GND either A=H or B=C=H pulls output to GND Figure 10.9 Examples of pull-down networks. How do VDSn and VGSn apply?
How do VDSp and VGSp apply? Pull-up networks either A=L or B=L pulls output to VDD both A and B=L pulls output to VDD either A=L or B=C=L pulls output to VDD Figure 10.10 Examples of pull-up networks. How do VDSp and VGSp apply?
Complementary CMOS Logic PUN is DUAL of PDN; by DeMorgan´s Theorem: PUN and dual PDN fill the whole logic function space of Y The complementary gate implements an inverting logic (NANDs, NORs, etc.) Pela lógica complentar CMOS, os sinais A e B dos exemplos estão presentes tanto no PDN como no PUN, ou seja um mesmo sinal deverá acionar um transistor n e outro p.
Example of Complementary CMOS Logic Figure 10.12 A two-input CMOS NOR gate.
Example of Complementary CMOS Logic Figure 10.12 A two-input CMOS NOR gate.
Example of Complementary CMOS Logic Figure 10.13 A two-input CMOS NAND gate.
Example of Complementary CMOS Logic Figure 10.13 A two-input CMOS NAND gate.
Complex CMOS Gates PDN PUN (dual) Figure 10.14 CMOS realization of a complex gate.
Complex Gates as Standard Cells No Routing channels Mirrored Cell VDD VDD M2 Uma das formas mais usuais de implementação de portas complexas em CIs é na forma de células-padrão (standard-cells). Células implementando diferentes funções são armazenadas em bibliotecas de fabricantes (tanto na forma lógica como em leiaute) para serem utilizadas pelos projetistas. A figura apresenta uma possível célula NAND seguida de um inversor.Observe que na célula NAND uma linha de silício-poli aciona um transistor n e outro p, assim como a outra linha do mesmo material, característica da lógica complementar CMOS. Pode-se observar que tanto a linha de VDD como de GND são utilizadas por células adjacentes, acima e abaixo, de forma rebatida (espelhada). M3 GND Mirrored Cell GND
Stick Diagrams Dimensionless layout entities Only topology is important V DD V DD Inverter NAND2 Agora, temos a representação do leiaute de uma célula inverosora e uma NAND em forma de diagrama de palitos. Relembrando, tal diagrama objetiva ilustrar o projeto de leiaute sem o detalhe exato do tamanho dos transistores, apenas com o seu posicionamento relativo. Out Out In A B GND GND
“B & W” Stick Diagrams Quando não se tem possibilidade de se utilizar cores, a solução adotada para o diagram de palitos é utilizar polígonos finos com hachuras, ou tons de cinza. O diagram exemplo do slide apresenta novamente o leiaute de uma porta NAND.
Two Layouts for C.(A+B) direct bypass discontinuity continuous line A VDD VDD X X discontinuity continuous line Ao tratarmos de lógica complementar CMOS, entradas de um transistor n e um transistor p devem estar conectados. Para um bom leaiute, como ilustrado na figura, transistores tipo p podem ser posicionadas na parte superior, enquanto as de tipo n sõa posicionadas na parte inferior; além disso uma mesma linha de silício-poli pode ser posicionada verticalmente acionando um transistor de cada tipo. O slide ilustra também uma característica do projeto de um leiaute. A sequência em que as entradas (silício-poli) são posicionadas afetam a qualidade do leiaute. Observe que no leiaute à esquerda, dois fenômenos ocorrem: 1) há uma descontinuidade na linha de metal na parte superior e; b) há uma descontinuidade na difusão n na parte inferior. Tais problemas não se verificam no leiaute à direita. A questão então é se existe alguma forma sistemática para gerar um leiaute onde não ocorram as quebras descritas anteriormente. GND GND
Stick Diagrams Logic Graph j VDD X i GND A B C PUN PDN A j C B EE141 Stick Diagrams Logic Graph j VDD X i GND A B C PUN PDN A j C B X = C • (A + B) C i Com o objetivo de sistematizar o projeto de leiaute, vamos inicialmente apresentar o grafo lógico (di inglês, logic graph). O grafo é formado a partir de vértices e ramos, um para o PUN e outro para o PDN. Os vértice correspondem aos nós elétricos do circuito (no nível de transistores), enquanto os ramos correspondem aos sinais de entrada dos transistores que conectam os nós. No exemplo da figura, os nós são VDD, X, GND, sendo adicionados ainda os nós intermediários i e j. Veja, por exemplo, que na rede PDN (verde), os nós GND e i (vértices) estão conectados através de dois transistores (ramos) controlados por A e B. Repare que PUN e PDN são duais (paralelo <-> série). A B A B C
Consistent Euler Path X C i VDD X B A j A B C GND EE141 A metodologia para se obter uma sequência adequada para os sinais de entrada passa pela obtenção do caminho de Euler. Trata-se do seguinte problema: Dado um grafo, procura-se um caminho que passe por todos os nós de tal forma que cada ramo é visitado também uma única vez. Os caminhos de Euler devem se consistentes nos PUN e PDN, isto é devem apresentar a mesma sequência. Se pensarmos na solução deste problema, perceberemos que estamos procurando uma sequência consistente de transistores (e sinais de entrada). Se houver consistência, não haverá interrupções nas difusões n e p. No PDN: É caminho de Euler: A B C, BAC, C A B, CBA Não é caminho de Euler: ACB, BCA No PUN: É caminho de Euler: todos (pois é circular) Portanto ABC é uma solução possível (figura à direita no slide 13), enquanto ACB não é solução (figura à esquerda no slide 13). A B C GND
OAI22 Logic Graph X PUN A C j k D k C B D i VDD X X = (A+B)•(C+D) C D EE141 OAI22 Logic Graph X PUN A C j k D k C B D i VDD X X = (A+B)•(C+D) C D B A j Um outro exemplo, a porta lógica OAI22. O nós i, j e k são adicionados para se criar os grafos lógicos PDN e PUN. Novamente, fica clara a dualidade entre estas duas redes. O próximo passo é a obtenção de caminhos de Euler consistentes. i A B PDN A GND B C D
EE141 Example: x = ab+cd Sem passar por todos os detalhes, podemos ver que a sequência abcd é uma solução possível, pois trata-se de um caminho de Euler tanto para o PDN (verde) como para o PUN (amarelo). O leiaute correspondente com difusões n e p contínuas é apresentada no slide. Atentar os exemplos utilizados apresentam poucas entradas (poucos ramos) fazendo com que os grafos sejam pequenos. No caso de circuitos maiores, a busca pelos caminhos de Euler pode tomar bastante tempo. Existem, na literatura da ciência de computação, algoritmos eficientes para a obtenção de caminhos de Euler e o aluno interessado poderá fazer uma pesquisa sobre isto em separado.
XOR Complex Gate They are not dual !! They are mirrored !! Teoria na Seção 10.3.6 do Sedra They are not dual !! They are mirrored !!
Resistance-Switch Delay Model-1 What are the values for VGSn and VDSn? Reqn X X closes on X=1 sedr42021_1015a.jpg What are the dependencies for Reqn with respect to Wn, Ln ,CL, VDD and mn? 21
Resistance-Switch Delay Model-2 What are the values for VGSp and VDSp? Reqp Y Y closes on Y=0 sedr42021_1015a.jpg What are the dependencies for Reqp with respect to Wp, Lp ,CL, VDD and mp? 22
Transistor Sizing Wp/Lp=p Wn/Ln=n Using Inverter as Reference A Rp Rp a 1/p A Wp/Lp=p CL Rn a 1/n Wn/Ln=n A sedr42021_1015a.jpg INVERTER Using Inverter as Reference tpHL a 1/n and tpLH a 1/p
Worst Case Delay- NAND Example Rp B Rp CL Rn A sedr42021_1015a.jpg Rn B When both A and B are “ON”, CL discharges through 2XRn 24
Worst Case Delay- NAND Example Rp B Rp CL Rn Wn/Ln=n A Rtotal=2XRn a 2/n, therefore tPHL=2XtpHL(inverter) sedr42021_1015a.jpg Wn/Ln=n Rn B When both A and B are “ON”, CL discharges through 2XRn 25
Worst Case Delay- NAND Example Rp B Rp CL Rn Wn/Ln=2n A Rtotal=2XRn a 2/2n=1/n, therefore tPHL=tpHL(inverter) sedr42021_1015a.jpg Wn/Ln=2n Rn B When both A and B are “ON”, CL discharges through 2XRn 26
NAND Example- Series Transistors Rp B Rp 1) During discharge, consider body effect (VSB≠0) for transistor A, then Rn(A) ≠Rn(B) CL Rn A 2) Consider capacitance Cint. The tpHL will depend on type of transition: A=1, B:01 (Cint has charge) A :01, B=1 (Cint not charged) A :01, B:01 (Cint unknown) Cint Rn sedr42021_1015a.jpg B
Worst Case Delay- NAND Example Rp B Rp How about the charging of CL? CL Rn A Cint sedr42021_1015a.jpg Rn B
Worst Case Delay- NAND Example Assuming Wp/Lp=p (as inverter) CL B Rn A Rp Cint CL B Rn A Rp Cint Rp Rp A B CL Rn B A Rn sedr42021_1015a.jpg Cint Rtotal=Rp a 1/p Rtotal=Rp a 1/p Rtotal=Rp/2 a 1/(2p) therefore tPHL=tpHL(inverter) at worst case
Transistor Sizing for Delay (NOR4) Equivalent to inverter Wp/Lp=p sedr42021_1016.jpg Figure 10.16 Proper transistor sizing for a four-input NOR gate. Note that n and p denote the (W/L) ratios of QN and QP, respectively, of the basic inverter.
Transistor Sizing for Delay (NAND4) Equivalent to inverter Wn/Ln=n sedr42021_1017.jpg Figure 10.17 Proper transistor sizing for a four-input NAND gate. Note that n and p denote the (W/L) ratios of QN and QP, respectively, of the basic inverter.
Sizing Example Inverter Wp/Lp=p=5 Wn/Ln=n=1,5 0,25mm CMOS sedr42021_1018.jpg Figure 10.18 Circuit for Example 10.2. 32
Sizing Example sedr42021_1018.jpg Figure 10.18 Circuit for Example 10.2.