--- robots: noindex, nofollow --- $$ \theta = 30\circ $$ # Projeto de um amplificadodor diferencial em tecnologia CMOS **Aluno: Maurício Taffarel** **N=24** O projeto deve ser realizado para uma tecnologia CMOS 130 nm, com dimensões mínimas $W_{min} = 0.16 \mu m$ e $L_{min} = 0.12 \mu m$ e com tensões de alimentação $V_{DD} = 0.6V$ e $V_{SS} = -0.6 V$. Os parâmetros principais para utilização do modelo ACM nos cálculos manuais são listados abaixo: <center> | Parâmetro | Valor | |:----------------------- |:-------:| | Tipo de amplificador | Canal n | | $A_{d0min} (dB)$ | $28$ | | $GBW_{min} (MHz)$ | $150$ | | Mínima $v_{OUTmáx} (V)$ | $0.20$ | | Máxima $v_{OUTmin} (V)$ | $-0.20$ | | Mínima $CMR+ (V)$ | $0.25$ | | Máxima $CMR- (V)$ | $-0.25$ | | $SR_{min} (V/\mu s)$ | $40$ | | $P_{DCmáx} (\mu W)$ | $120$ | | $C_L(pF)$ | $0.03$ | </center> A topologia do circuito utilizada está mostada a seguir: <center> ![](https://i.imgur.com/dciLuCu.png) </center> ## 1. Dimensionar o circuito seguindo a metodologia sugerida em classe O dimensionamento foi realizado utilizando uma rotina criada no Octave pare o cálculo dos níveis de inversão e os valores requeridos. A saída do script (que pode ser utilizado como memorial de cálculo) está descrito a seguir: ```python (i) Escolha dos L p calculo de VA1min e VA3min: VAmin1 = 6.9343 VAmin3 = 8.9635 (ii) Calcular if1_max pela condição do ganho mínimo: if1max = 58.018 (iii) Escolher if1 e obter if3max: if1 = 11.604 f_if3_max = 11.430 if3max1 = 122.75 (iv) Encontrar outro valor de if3max: if3max2 = 152.38 (v) Escolher if3 if3 = 85.927 (vi) Determinar um valor de if5máx: if5max1 = 32.819 (vii) Determinar outro valor de if5máx: if5max2 = 33.041 (viii) Escolher if5 e determinar o potencial VGG5: if5 = 29.537 Vgg5 = -0.057643 (ix) Dimensionar divisor de tensao para Vgg5: f_if6 = 5.0359 f_if7 = 8.9752 if6 = 29.395 if7 = 78.248 Id = 5.0000e-06 W6_L6 = 0.4813 W7_L7 = 1.2905 L6 = 0.3000 L7 = 0.2000 L7 = 0.2000 W6 = 0.1444 W7 = 0.2581 Idiv = 5.0000e-06 (x) Determinar um valor mínimo para IBIAS: Ibiasmin1 = 6.5234e-05 (xi) Determinar outro valor mínimo para IBIAS: Ibiasmin2 = 1.2000e-05 (xii) Determinar um valor máximo para IBIAS: Ibiasmax = 9.5000e-05 (xiii) Escolher IBIAS Ibias = 8.0117e-05 (xiv) Dimensionar os transistores W1 = 1.9538e-05 W3 = 1.8831e-05 L5 = 1.0000e-06 W5 = 7.6756e-06 ``` ## 2. Simular o amplificador inicialmente com uma fonte de corrente ideal IBIAS substituindo a fonte ou sorvedor M5. > Verificar |Ad0| e GBW na simulação de pequenos sinais. Se satisfatórios, passar para o item (3). Com os parâmetros dos transistores dimensionados, realiza-se a simulação usando o software LTSpice: <center> ![](https://i.imgur.com/3a2yfiQ.png) ![](https://i.imgur.com/vzJBZ5o.png) </center> A simulação foi realizada para pequenos sinais variando de $100Hz$ a $100GHz$. | Parâmetro | Valor | |:----------------------- |:-------:| | Tipo de amplificador | Canal n | | $A_{d0min} (dB)$ | $28$ | | $GBW_{min} (MHz)$ | $150$ | ![](https://i.imgur.com/WCMMLvL.png) Podemos ver que o projeto apresenta resultados satisfatórios. Segue-se para o item 3. ## 3. Acrescentar M5 com dimensões e potencial VGG5 calculados para fornecer IBIAS do item (2). > Simular o ponto de operação e verificar a magnitude da corrente de dreno de M5. Caso diferente de IBIAS, ajustar as dimensões de M5 e/ou VGG5 empiricamente até que |ID5|= IBIAS. Ajustes foram realizados em $V_{GG5}$ para obter o $I_{BIAS}$: ``` (xiii) Escolher IBIAS Ibias = 8.0117e-05 ``` ![](https://i.imgur.com/zEpOaXx.png) Foi necessário diminuir o nível de inversão. | Antes | Depois | |:----------------------:|:--------------------:| | $V_{gg5} = -0.057643V$ | $V_{gg5} = -0.2569V$ | ## 4. Dimensionar um divisor de tensão com cargas ativas de canal n (M6) e de canal p (M7) para prover o potencial VGG5 ajustado no item (3). > Ajustar uma das dimensões empiricamente para obter o valor desejado de VGG5 a partir da simulação do ponto de operação. Com o novo valor de $V_{GG5}$ foi ajustado, foi calculado os parâmetros do transistor após o ajuste. ![](https://i.imgur.com/Jps2X5w.png) O retorno obtido para uma rede geradora de referencial de tensão: ``` > calculoAposAjuste f_if6 = 5.0359 f_if7 = 8.9752 if6 = 29.395 if7 = 78.248 Id = 5.0000e-06 W6_L6 = 0.4813 W7_L7 = 1.2905 L6 = 0.3000 L7 = 0.2000 W6 = 0.1444 W7 = 0.2581 ``` O divisor de tensão obtido pode ser visto a seguir: <center> ![](https://i.imgur.com/gWKyUui.png) </center> O circuito será ajustado aumentando o $W/L$ do transistor U6, o que irá fazer com que o valor se distancie do desejado, mas esse ajuste é necessário para $W > W_{min}$ devido a tecnologia. Assim, $W_6 \rightarrow 0.16\mu m$ <center> ![](https://i.imgur.com/mYOLh6m.png) </center> E agora no sentindo de "ajudar", o $W_7$ foi aumentado para $W_7 \rightarrow 2.1\mu m$ ## 5. Realizar no software SMASH as seguintes simulações sobre o circuito completo, de modo a verificar todas as características de desempenho especificadas ### 5.1. Simulação DC para gerar a característica vOUT x vDIF, com vIN(+) = -vIN(-) = vDIF/2, ou seja, com vCM = 0, e observar a excursão na saída Utilizando o seguinte comando de simulação: `.dc Vdif/2 -0.6 0.6 1m` Foi obtida a característica $v_{OUT} \times v_{DIF}$ com $v_{CM}=0$: <center> ![](https://i.imgur.com/sqN42sh.png) </center> ### 5.2. Simulação de pequenos sinais para gerar o diagrama de Bode da magnitude do ganho diferencial e observar |Ad0| e GBW Utilizando o seguinte comando de simulação: `.ac dec 100 100 100G` Foi obtida o diagrama de Bode <center> ![](https://i.imgur.com/aG9Ak0P.png) </center> Nota que o ganho está adequado e o GBW está comprometido. ### 5.3. Simulação do ponto de operação para verificar a potência estática: $$ P_{DC} = (V_{DD} – V_{SS})(|I_{D5}| + I_{D6}) $$ Utilizando o seguinte comando de simulação: `.op` Foram obtidos os valores $|I_{D5}|$ e $I_{D6}$: ``` Ix(u5:1): 8.30219e-005 subckt_current Ix(u5:2): 0 subckt_current Ix(u5:3): -8.30219e-005 subckt_current Ix(u5:4): -2.8614e-013 subckt_current Ix(u6:1): -5.19813e-006 subckt_current Ix(u6:2): 0 subckt_current Ix(u6:3): 5.19813e-006 subckt_current ``` Assim, calcula-se a potência estática: $$ P_{DC}=(0.6+0.6)(8.30219\cdot10^{-5}+5.19813\cdot10^{-6})\\ P_{DC}=105.864036\mu W $$ Observa-se que o consumo estático através da dissipação de potência elétrica, é menor que o requisitado pelo projeto. $$ 105.864036\mu W = P_{DC} < P_{DCmáx} = 120 \mu W $$ ### 5.4. Simulação de pequenos sinais, com vIN(+) = vIN(-) = vCM, para gerar o diagrama de Bode da magnitude do ganho de modo comum e observar |Acm0|(ganho de modo comum em baixas frequências), a fim de calcular a CMRR0 = |Ad0/Acm0|dB em baixas frequências. Para atender vIN(+) = vIN(-) = vCM, foi realizado a seguinte configuração: ![](https://i.imgur.com/aHGuPsB.png) O diagrama de bode obtido está a seguir: ![](https://i.imgur.com/7iYYTWC.png) Nota-se que o $ACM0 = -27.3dB$, então, calcula-se o $CMRR0$. $$ CMRR0dB = Ad0dB - Acm0dB = 33dB - (-27.3dB) = 60.3dB $$ ### 5.5. Simulação DC com a entrada inversora em curto com a saída para gerar a característica vOUT x vIN(+) e observar a CMR A entrada inversor foi realimentada com o sinal de saida, realizando uma configuração no seguidor de tensão. ![](https://i.imgur.com/hpugwo3.png) Assim, é esperado uma resposta vOUT x vIN(+) linear dentro dos limites de modo comum especificado. ![](https://i.imgur.com/2kt0UgP.png) A faixa linear observada foi; $$ -600mV < V_{IN(+)} < 275mV $$ > Vale ressaltar que a entrada balanceada foi desconectada, a entrada inversora somente está conectada com o sinal de saída. > ![](https://i.imgur.com/yVK0ZFE.png) ### 5.6. Simulação no domínio do tempo para gerar a forma de onda vOUT(t) com a entrada inversora em curto com a saída e com uma onda retangular variando de VSS a VDD aplicada à entrada não inversora, para observar a SR+ e a SR- A simulação foi realizada com mesmas configurações do item anterior com o capacitor de saída desacoplado, pois será realizado uma simulação do tipo transiente com o tempo de resposta do circuito. ![](https://i.imgur.com/k0GM2dp.png) A entrada não inversora foi selecionado um sinal do tipo pulso como mostram as imagens abaixo ![](https://i.imgur.com/7dM0XXU.png) ![](https://i.imgur.com/7bXZiiH.png) O circuito foi então simulado: ![](https://i.imgur.com/BDditjC.png) Com um zoom na subida: ![](https://i.imgur.com/ODsPZpP.png) Calculando a derivada numa região aproximadamente na metade da subida da tensão de saída (representado pela reta branca vertical) ![](https://i.imgur.com/QG0xucW.png) É como taxa de variação de tensão pelo tempo um valor apróximado de $436MV/s$. A ordem de grandeza da escala de tempo nestes gráficos estão muito próximos da ordem de grandeza dos tempos escolhidos na simulação, por isso a derivada (de vermelho) apresenta valores contínuos em alguns intervalos, estamos próximos do período da amostragem da simulação. Esse valor estimado por mim seria um pouco maior, certa de $490MV/s$ ou $490V/\mu s$, valor muito maior que o desajado como requisito. $$ 490V/\mu s >> 40V/\mu s $$ ![](https://i.imgur.com/L52SGqG.png) Simulação feita com mais pontos constatou a estimativa. Na descida o simulador apresenta uma resposta diferente do esperado, apresentando uma resposta muito rápida, aparentando ser um erro numérico do simulador (mesmo utilizando muitos pontos). ![](https://i.imgur.com/vCClkvZ.png) Uma forma de levantar esse slew rate, seria traçar uma imaginária e encontrar a derivada desta nova curva, mas como obtido anteriormente um valor de slew rate bem maior do projeto, e como também é esperado um valor aproximadamente teórico, irei utilizar a região que o simulador encontrou da tensão de saída que tem uma derivada menor, já que mesmo um valor menor, deve atender os requisitos de projeto. ![](https://i.imgur.com/vOpsBDM.png) Utilizei o valor de pico da derivada, sendo $-166V/\mu s$ $$ -166V/\mu s << -40V/\mu s $$ ## 6. Tabela de resultados | Transistor | $i_f$ | $W(\mu m)$ calculado | $W(\mu m)$ ajustado | $L(\mu m)$ calculado | $L(\mu m)$ ajustado | |:----------:|:-----:|:--------------------:|:-------------------:|:--------------------:|:-------------------:| |M1, M2|11.604|19.538|19.54|2|2| |M3, M4|85.927|18.831|18.83|2|2| |M5|29.537|7.6756|19.54|2|2| |M6|29.395|0.1444|0.16|0.3|0.3| |M7|78.248|0.2581|2.1|0.2|0.2| | Parâmetro | Calculado | Ajustado | |:----------:|:-------------:|:--------------:| | $I_{BIAS}$ | $80.117\mu A$ | $80.1266\mu A$ | | $V_{GG5}$ | $−0.057643V$ | $−0.2569V$ | | Parâmetro | Especificado | Simulado | |:-----------------------:|:------------:|:--------:| | Tipo de amplificador | Canal n | OK | | $A_{d0min} (dB)$ | $28$ | $33$ | | $GBW_{min} (MHz)$ | $150$ | $200$ | | Mínima $v_{OUTmáx} (V)$ | $0.20$ | $0.32$ | | Máxima $v_{OUTmin} (V)$ | $-0.20$ | $-0.19$ | | Mínima $CMR+ (V)$ | $0.25$ | $0.275$ | | Máxima $CMR- (V)$ | $-0.25$ | $-0.6$ | | $SR_{min} (V/\mu s)$ | $40$ | $400$ | | $P_{DCmáx} (\mu W)$ | $120$ | $106$ | ###### tags: `Eletrônica Analógica`