2 - tipos de simulação
DESCRIPTION
Tutorial AWR para conhecer os diversos tipos de simulação.TRANSCRIPT
Emmanuel Dupouy
Tipos de simulação
Antes de fabricar um circuito integrado, é essencial garantir o bom funcionamento do circuito em
simulação. Para realizar essas simulações, a primeira condição é possuir um modelo matemático fiel
para cada componente. Basicamente, esse modelo descreve as relações tensão-corrente no
componente. Elas são descritas por equações lineares ou não lineares dependendo do componente
considerado.
Alguns modelos incluem também a dependência dessas duas grandezas em função da temperatura.
Nesse caso, o modelo é chamado de eletrotérmico.
A simulação permite de estudar a resposta do circuito a um estimulo, como a tensão da bateria, um
sinal a tratar, um ruído. Quando o propósito da simulação é de conhecer a resposta dinâmica de um
circuito a um sinal de pequena amplitude, o modelo do componente pode ser simplificado, no caso
linearizado para diminuir o tempo de cálculo.
Existem simulações para numerosos parâmetros, mas são basicamente de dois tipos:
linear: o simulador utiliza as equações linearizadas do componente
não linear: o simulador utiliza o modelo completo do componente
Algumas simulações são mistas, quando o circuito é estimulado no mesmo tempo por um sinal
“grande” e por um sinal “pequeno”.
NB: as palavras “grandes” e “pequenas” são relativas. Uma amplitude grande para um circuito pode
se tornar pequena para outro. Nesse caso, a palavra “pequena” se refere à possibilidade de utilizar um
modelo linearizado sem perda de precisão.
Nesse tutorial, nós abordaremos 6 tipos de simulação:
Direct Current (DC)
Alternate Current (AC)
Transient
Harmonic Balance (HB)
Corner - Monte Carlo (Yield)
Todas essas simulações são genéricas e existem na maioria dos simuladores comerciais (Eldo,
Spectre, ADS, ...). Elas vão estar mostradas usando AWR mas podem ser facilmente transpostas para
outras ferramentas.
Para exemplificar cada uma dessas simulações, utilizaremos um amplificador simples, fonte comum.
Comece por criar um esquema elétrico chamado ampli_CS (Fig. 1)
Crie depois um símbolo:
o Project – Circuit Symbols – Add Symbol...
o Dê o nome de “Single_Amp”.
o Crie um símbolo parecido a Fig. 2.
o Salve com o botão “Update Symbol Edits” na barra de ferramenta.
Associe o símbolo ao esquema elétrico:
o Clique direito encima do esquema elétrico “ampli_CS” – Options...
o Na aba “Symbol”, escolhe o símbolo novamente criado.
Emmanuel Dupouy
Fig. 1: Esquema elétrico do amplificador fonte comum
Fig. 2: Símbolo do amplificador simples
A simulação DC A simulação DC é uma simulação estática. Ela utiliza a descrição completa dos componentes e permite
de simular o ponto de operação do circuito na ausência de sinal. Se pode calcular a partir dela vários
parâmetros:
tensão e corrente de polarização do transistor
consumo de potência estática
parâmetros pequeno sinal do transistor (gm, gds, Cgd, ...)
No AWR, esses parâmetros aparecem no menu não linear. O uso dessa simulação já foi amplamente
abordado no tutorial sobre o transistor MOS. Se referir nele para mais detalhes.
Q: No caso do circuito mostrado na Fig. 3, calcule o ponto de operação (IDS; VDS) usando os
parâmetros da tecnologia obtidos durante o primeiro tutorial e compare com a simulação.
A simulação AC A simulação AC é uma simulação no domínio da frequência. Ela utiliza as equações linearizadas dos
componentes no ponto de operação. A resposta do circuito a um tom é então outro tom à mesma
frequência mas com amplitude e fase diferente. Como é uma simulação rápida, é geralmente realizada
para várias frequências para obter informações como:
o ganho de tensão
a impedância de entrada ou de saída
a admitância de entrada ou de saída
a estabilidade (específica ao AWR)
Esse tipo de simulação tem que ser realizada sem mudar o ponto de operação do circuito. Um exemplo
típico é o estudo AC de um transistor MOS polarizado em tensão (Fig. 3).
RESID=R1R=10k Ohm
D
G
S
1
2
3
4
Gen:Bic35:nmos1ID=M1l=0.35 umng=1w=10 um
Vin
Vdd
Vss
Vout
Vdd
Vin
Vss
Vout
Emmanuel Dupouy
São usados capacitores de desacoplamento com valor suficientemente alto para não alterar a
impedância de entrada do circuito nas frequências simuladas. São também usados indutores de
choque para isolar a tensão DC e conseguir aplicar um sinal AC no nó considerado.
Fig. 3: Exemplo de uso de indutores de choque e capacitores de desacoplamento
Q: O circuito do exemplo anterior poderia ter sido simulado de forma bem mais simples. Como?
O ganho de tensão Dependendo do caso, se torna mais fácil usar uma fonte de tensão ou uma fonte de corrente para
estimular o circuito. A amplitude dessa fonte é geralmente escolhida unitária para simplificar os
cálculos. No caso da simulação do ganho de tensão é aplicado uma tensão de 1V na entrada e é medido
a tensão de saída, diretamente igual ao ganho de tensão do circuito.
Crie um novo esquema elétrico chamado “Ganho_AC”, conforme à Fig. 4. Para pegar o
amplificador criado precedentemente: Draw – Add Subcircuit. Note que nesse caso, a tensão
AC é aplicada junta com a tensão DC na entrada do amplificador.
Fig. 4: Esquema de simulação do ganho de tensão do amplificador
Crie um novo gráfico chamado “Bode”.
Acrescente nesse gráfico a amplitude e a fase da tensão de saída como mostrado na Fig. 5.
CAPID=C1C=1e12 pF
D
G
S
1
2
3
4
Gen:Bic35:nmos1ID=M2l=0.35 umng=1w=10 um
Vout
DCVSID=V1V=1 V
CAPID=C2C=1e12 pF
DCVSID=V2V=2 V
INDID=L1L=1e9 nH
ACVSID=V3Mag=1 VAng=0 DegOffset=0 VDCVal=0 V
INDID=L2L=1e9 nH
DCVSID=V1V=3.3 V
Vin Vout
Vdd
Vss
SUBCKTID=S1NET="ampli_CS"
Out
ACVSID=V2Mag=1 VAng=0 DegOffset=0 VDCVal=1.1 V
Emmanuel Dupouy
Fig. 5: Medição da amplitude e da fase do ganho de tensão
Antes de simular, é preciso ajustar os pontos de frequência a simular. Se esses pontos têm que
ser simulados para todos os esquemas elétrico, pode ser feito nas opções do projeto. Se for
especifico a um esquema, pode ser feito nas opções do esquema, na aba “Frequencies”. Ajuste
as frequências para simular de 1 MHz até 100 GHz, com uma escala logarítmica, e 50 pontos
por década.
Simule e ajeite o gráfico (Fig. 6) para colocar a fase no eixe direito, bem como o eixe x na escala
logarítmica. Essas opções são encontradas nas propriedades do gráfico.
Fig. 6: Ganho em tensão do amplificador; amplitude (azul - eixe esquerdo) e fase (rosa - eixe direito)
Q: Determine a frequência de corte do circuito.
Q: Compare com os valores de ganho e de frequência de corte teóricos. O valor das capacitâncias
parasitas do transistor pode ser obtido por uma simulação do ponto de operação como mostrado
no primeiro tutorial.
A impedância de entrada ou de saída A impedância vista em um nó é a razão entre o potencial do nó e a corrente entrando nele. O mais
simples para obtê-la é então enviar uma corrente alternada de amplitude 1A no nó desativando as
outras fontes alternadas (curto-circuitando as fontes de tensão e abrindo as fontes de corrente). A
.001 .01 .1 1 10 100
Frequency (GHz)
Bode
-5
0
5
10
15
20
0
40
80
120
160
200DB(|Vac(SUBCKT.S1@4)|) (L, dB)Simu_AC.AP
Ang(Vac(SUBCKT.S1@4)) (R, Deg)Simu_AC.AP
Emmanuel Dupouy
impedância será então igual à tensão medida nesse nó. No caso da fonte de corrente, não é necessário
acrescentar um capacitor em série.
Q: Por quê?
Crie um novo esquema elétrico chamado Zin_AC conforme à Fig. 7.
Fig. 7: Esquema de simulação da impedância de entrada do amplificador
Crie um novo gráfico chamado “Zin” e acrescente as medições da parte real e parte imaginaria
da tensão de entrada (Fig. 8).
Fig. 8: Medição da parte real e imaginaria da impedância de entrada
Simule e visualize o resultado
Q: Realize agora a simulação da impedância de saída.
A admitância de entrada ou de saída A simulação da admitância é o inverso daquela da impedância. É preferível utilizar uma fonte de tensão
AC para estimular o circuito (não esquecer o capacitor de desacoplamento) e medir a corrente
entrando no nó. A admitância é então igual a essa corrente.
Q: Simular admitância de entrada e de saída.
ACCSID=I1Mag=1 AAng=0 DegOffset=0 ADCVal=0 A
Vin Vout
Vdd
Vss
SUBCKTID=S1NET="ampli_CS"
DCVSID=V1V=3.3 V
INDID=L1L=1e9 nH
DCVSID=V2V=1.1 V
Out
Emmanuel Dupouy
A estabilidade A estabilidade é um assunto um pouco mais complexo que os outros tipos de simulação, simplesmente
por que não existe um método exato que dê um resultado geral sobre a estabilidade do circuito. São
vários métodos, cada um com suas vantagens e inconvenientes.
Poles e zeros O método mais rigoroso para analisar a estabilidade de um amplificador e encontrar os poles e zeros
da função de transferência em malha fechada. Alguns simuladores permitem de realizar essa
identificação diretamente a partir da simulação do ganho. A dificuldade é evitar os falsos zeros ou
poles que podem aparecer na resposta ou pelo contrário a não identificação de alguns poles e zeros.
De fato, esse método de identificação é baseado numa regressão polinomial a partir da função de
transferência simulada. Essa regressão não é um resultado exato. Quando não diretamente disponível
no simulador, ela pode ser feita usando ferramentas como o Matlab, como no caso do AWR.
Fator de Rollett A função de transferência em malha fechada pode também ser analisada através do fator de Rollett
(fator K). Nesse caso, é necessário realizar uma simulação do quadrupolo representando o circuito.
Não é propriamente dito uma simulação de tipo AC, mas é uma simulação linear. Ela foi inserida nesse
capitulo para poder compara-la às outras simulações de estabilidade.
Crie um novo esquema chamado Stab_Rollett como mostrado na Fig. 9. A impedância das
portas é escolhida para ser parecida às condições reais. As portas são utilizadas pelo simulador
para calcular os parâmetros do quadripolo (Z, Y, S ...) que são necessários ao cálculo do fator
de Rollett.
Fig. 9: Esquema para simulação da estabilidade pelo fator de Rollett
Crie um novo gráfico chamado “Stab_Rollett” e acrescente a medição de K e B1 como
mostrado na Fig. 10.
Simule e analise o resultado.
NB: Para ser incondicionalmente estável: K>1 e B1>0.
PORTP=1Z=2500 Ohm
PORTP=2Z=2500 Ohm
DCVSID=V1V=3.3 V
INDID=L1L=1e9 nH
CAPID=C2C=1e12 pF
DCVSID=V2V=1.1 V
CAPID=C1C=1e12 pF
Vin Vout
Vdd
Vss
SUBCKTID=S1NET="ampli_CS"
Emmanuel Dupouy
Fig. 10: Medição do fator de Rollett
Ganho de malha aberta Outro método é baseado na análise da função de transferência em malha aberta do circuito. Cada
simulador oferece uma ferramenta para abrir o circuito em uma malha escolhida pelo projetista.
Depois, o método muda de um simulador para outro: métodos de Tian, Middlebrooks, S-Probe...
Nenhuma delas dá um resultado rigorosamente exato da função de transferência em malha aberta.
Pois, abrindo a malha, o circuito sofre de uma mudança nas suas condições de carregamento. Então,
dependendo do lugar onde a malha for aberta, o resultado pode mudar. Outra dificuldade é que o
circuito pode conter várias malhas. Esse tipo de simulação tem que ser realizada em vários pontos no
circuito para garantir que as condições de estabilidade são garantidas. Enfim, o transistor usado em
simulação conte vários elementos parasitas que podem deixa-lo instável. Como ele é fechado, é então
impossível abrir a malha internamente.
Nosso exemplo é muito simples e provavelmente não apresente nenhuma instabilidade. Mas vamos
ver como simular o ganho de malha aberta no AWR:
Crie um novo esquema elétrico chamado “Stab_AC” (ele pode ser replicado do esquema
anterior) acrescentando o elemento “GPROBE2” encontrado em MeasDevice – Probe.
Fig. 11: Esquema de simulação do ganho de malha aberta
DCVSID=V2V=1.1 V
ACCSID=I1Mag=1 AAng=0 DegOffset=0 ADCVal=0 A
DCVSID=V1V=3.3 V
1 2
1 2
GPROBE2ID=GP1
INDID=L1L=1e9 nH
OutVin Vout
Vdd
Vss
SUBCKTID=S1NET="ampli_CS"
Emmanuel Dupouy
Crie um novo gráfico “Stab_Bark” e acrescente uma medição como mostrado na Fig. 12:
Medição da magnitude e da fase do ganho de malha abertaFig. 12.
Simule e analise o resultado segundo o critério de Barkhausen.
NB: ao critério de Barkhausen, é necessário acrescentar uma condição sobre o sinal da derivada da
fase em função da frequência: o circuito é instável se 𝜕∅
𝜕𝑓< 0.
Crie um novo gráfico “Stab_Nyquist” de tipo polar e acrescente a mesma medição que
precedentemente, só que dessa vez diretamente de tipo “Complex”
Simule e analise o resultado segundo o critério de Nyquist.
Fig. 12: Medição da magnitude e da fase do ganho de malha aberta
Q: Justifique, pelos 3 métodos, por que o resultado obtido mostra que o circuito é estável.
A simulação transiente Essa simulação, como o nome indica, permite de visualizar os efeitos transitórios e se configurada com
um tempo suficiente, chegar até o estado estabelecido do circuito. É particularmente interessante para
medir o tempo de resposta do circuito, mas também para verificar sua estabilidade. Ela permite de
visualizar também a origem das não linearidades no circuito (saturação por baixo / por cima).
Ela é muito utilizada em eletrônica analógica, mas muito pouco em eletrônica RF devido a uma
descrição ineficiente das linhas de transmissão no domínio do tempo, bem como à necessidade de
calcular fenômenos com constantes de tempo muito diferentes.
Vamos simular a resposta a um impulso (estabilidade), bem como a um sinal senoidal de nosso
amplificador.
Crie um novo esquema elétrico conforme à Fig. 13.
Configure o esquema para simular o intervalo de tempo de 0ns até 2ns por passo de 0,001ns.
Para isso, entre nas opções do esquema e, em seguida, na aba “Transient” (Fig. 14). Na aba
“Frequencies”, configure para simular somente um ponto de frequência igual a 1 MHz. Essa
frequência configura a frequência de repetição da fonte transiente utilizada. Nesse exemplo,
com f=1 MHz, um impulso é gerado todo 1µs.
Crie um novo gráfico retangular e acrescente a medição da tensão de entrada bem como da
tensão de saída no domínio do tempo: Vtime (Fig. 15).
Simule e analise o resultado.
Emmanuel Dupouy
Q: O resultado confirme que o circuito é estável?
Crie um novo esquema elétrico chamado “Transient_Sen” e um novo gráfico do mesmo nome.
Simule agora a resposta do circuito a um sinal senoidal de frequência 100kHz (fonte ACVSN
com Tone=1). Simule para 2 amplitudes: 0,01V e 0,6V. O tempo de fim da simulação e o passo
têm que ser modificados para poder exibir 5 periodos.
Fig. 13: Esquema para simulação transient da resposta a um impulso
Fig. 14: Configuração da simulação transient nas opções do esquema elétrico
OutVin Vout
Vdd
Vss
SUBCKTID=S1NET="ampli_CS"
DCVSID=V1V=3.3 V
DCVSID=V2V=1.1 V
CAPID=C1C=1e12 pF
V_PLSID=V3AMP=2.2 VTW=0.1 nsTR=0.01 nsTF=0.01 nsTD=0.6 nsWINDOW=DEFAULTOffset=0 VDCVal=0 V
INDID=L1L=1e9 nH
Emmanuel Dupouy
Fig. 15: Medição da tensão de saída no dominio do tempo
Q: Qual é o ganho nos dois casos? Corresponde com o ganho da simulação AC? Se não, por quê?
A simulação Harmonic Balance Ela calcule a resposta do circuito a um sinal periódico, à frequência f0 bem como às frequências
harmônicas. É permite então de simular circuitos não lineares e é muito utilizada em RF pelas razões
inversas à simulação transiente:
simulação relativamente simples de fenômenos com constantes de tempo muito diferentes
boa descrição dos elementos lineares no domínio da frequência
os elementos não lineares são simulados no domínio do tempo e a resposta é transformada
no domínio da frequência por transformada de Fourier.
Se torna então uma simulação muito mais eficiente em termo de tempo de cálculo que a simulação
transiente. A contraparte é que ela é limitada à simulação do estado estabelecido do circuito. Não se
pode simular transitórios.
Em nosso exemplo, ela permite de tirar com facilidade a distorção harmônica devida a um sinal de
entrada de forte amplitude:
O esquema para realizar essa simulação é idêntico ao esquema da simulação transiente com
sinal senoidal. Pode reutiliza-lo.
Crie um novo gráfico chamado “Simu_HB” e acrescente a medição da tensão de saída
mostrada na Fig. 16.
Emmanuel Dupouy
Fig. 16: Medição da tensão de saída pela simulação HB
Configure as opções do esquema para simular 7 harmônicos e simule para uma amplitude de
0,1V e 1V na entrada.
Q: Calcule nos dois casos a taxa de distorção harmônica dada pela formula: 𝑻𝑯𝑫 =√∑ 𝑽𝒏
𝟐∞𝒏=𝟐
𝑽𝟏
Fig. 17: Tensão de saída no domínio da frequência para uma amplitude de 0,6V na entrada
A simulação Yield – Corner e Monte Carlo A simulação yield não é um tipo de simulação como as anteriores. É uma opção que pode ser
acrescentada a cada uma das simulações anteriores.
Todo componente eletrônico apresenta incertezas em relação a sua construção: espessura,
comprimento, densidade, ... do material utilizado. Antes de fabricar milhões de unidades de um
circuito integrado, é então importante assegurar-se do seu funcionamento mesmo quando as
incertezas são desfavoráveis. Isso pode ser feito realizando simulações de pior caso, chamadas de
“Corner” ou usando uma distribuição estática mais real das incertezas. Nesse último caso, necessita
um número de simulações muito maior para obter uma relevância estatística suficiente. Essa
simulação é chamada de Monte-Carlo. Ela é muito mais exigente em termo de tempo de
processamento que a simulação Corner mas dá um resultado bem mais próximo da realidade.
No AWR, esses dois tipos de simulação são agrupados sob o nome de Yield.
0 2e-005 4e-005 6e-005 7e-005
Frequency (GHz)
Simu_HB
0
0.5
1
1.5
2
p1
3e-005 GHz0.4378 V
2e-005 GHz0.08779 V
1e-005 GHz1.893 V
|Vharm(SUBCKT.S1@4)|[*] (V)Transient_Sen.$F_SPEC
p1: FREQ = 1e-005 GHz
Emmanuel Dupouy
Simulação Corner O fabricante fornece junto com o modelo de seu transistor o pior caso em termo de velocidade,
chamado “Slow” e o pior caso em termo de consumo chamado “Fast” (mas melhores performances).
Normalmente, ele é fornecido para NMOS e PMOS de forma independente. Existem então 4 casos:
Slow-Slow, Slow-Fast, Fast-Slow e Fast-Fast. No design kit didático fornecido com AWR, foi simplificado
para dois casos só.
Para modificar o corner utilizado, entre nas definições globais do projeto clicando duas vezes
em “Global Definitions”
Mude o item Corners sucessivamente de Nominal para Slow e para Fast. Observe o resultado
da simulação do ganho nesses 4 casos. Pode guardar o resultado da simulação anterior
clicando em Graph – Freeze Traces
Q: O resultado lhe parece lógico? Provavelmente não ... Encontre a razão.
Simulação Monte Carlo Repita a simulação do ganho usando o menu “Simulate – Yield Analysis...”.
Configure para 50 iterações máximo (é muito pouco para um caso real, mas nesse caso, é só
para entender do que se trata)
Inicie a simulação e observe o resultado do ganho
Existem opções para obter a distribuição estática do ganho a uma certa frequência por
exemplo. Para mais detalhes, se referir aos arquivos de ajuda do AWR.