---
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>

</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>


</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$ |

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
```

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.

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>

</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>

</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>

</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>

</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:

O diagrama de bode obtido está a seguir:

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.

Assim, é esperado uma resposta vOUT x vIN(+) linear dentro dos limites de modo comum especificado.

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.
> 
### 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.

A entrada não inversora foi selecionado um sinal do tipo pulso como mostram as imagens abaixo


O circuito foi então simulado:

Com um zoom na subida:

Calculando a derivada numa região aproximadamente na metade da subida da tensão de saída (representado pela reta branca vertical)

É 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
$$

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).

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.

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`