Вы находитесь на странице: 1из 21

1 PROJETO: AMPLIFICADOR CMOS DE ESTGIO SIMPLES

Este manual pretende servir como guia para o Laboratrio de Projeto de Circuitos Integrados
(LPCI) do Departamento de Engenharia Eltrica (ENE) da Universidade de Braslia (UnB). Deseja-se
projetar um amplificador CMOS de estgio simples do tipo fonte comum, seguindo o fluxo de projeto
apresentado no Tutorial CADENCE - Nvel 1 e utilizando as ferramentas CADENCE de projeto de
circuitos integrados, bem como a tecnologia AMS CMOS 0,35m. Nas sees seguintes, o usurio ser
orientado no uso dessas ferramentas em cada etapa do projeto.

2 CRIANDO UM NOVO ESQUEMTICO


Execute o CADENCE, observando os passos a seguir:
1) Abrir o terminal
2) Digitar o comando: csh
3) Acessar a pasta cadence: cd /home/<nome do usurio>/cadence
4) Executar a ferramenta digitando o comando: cadence
Aps a inicializao do CADENCE, a janela Library Manager se abrir. Nela, esto listadas as
bibliotecas com todas as clulas disponveis pela tecnologia, bem como os projetos criados pelo usurio
que estejam na pasta onde o CADENCE foi executado.

Selecione a biblioteca Tutorial, criada no projeto do inversor.

Crie um novo esquemtico realizando os comandos:


File -> New -> Cell View

Na janela New File que aparecer, preencha o campo Cell com o nome da clula, no
caso, amplificador.

No campo Type, selecione a opo schematic. Os outros campos sero preenchidos


automaticamente.

Uma janela vazia do Virtuoso Schematic Editor se abrir automaticamente. Ser nessa
ferramenta que o amplificador fonte comum da Figura 1 ser criado. Os componentes necessrios esto
listados na Tabela1.

Insira os componentes no esquemtico, usando o comando:


Create -> Instance

Atalho: I
Tabela 1 - Lista de componentes para o projeto do amplificador.

Componentes

Biblioteca

Nome na Biblioteca

View

Transistor NMOS

PRIMLIB

nmos4

symbol

2 Transistores PMOS

PRIMLIB

pmos4

symbol

Fonte de alimentao

analogLib

vdd

symbol

Terra

analoglib

gnd

symbol

Figura 1 - Posicionamento dos componentes no esquemtico.

Realize as conexes entre os componentes, usando o comando:


Create -> Wire(narrow)

Atalho: W

Pressione a tecla ESC ao final para desativar o comando de conexo.

Altere as dimenses dos transistores, de acordo com a Tabela 2 (os dois transistores
PMOS so idnticos). Para isso, utilize o comando:
Edit -> Properties -> Objects

Atalho: Q

Tabela 2 - Largura e comprimento dos transistores NMOS e PMOS.

NMOS

PMOS

Width

0.8 m

2.4 m

Length

0.4 m

0.4 m

Number of Gates

Insira os pinos de entrada e sada do circuito para finalizar o esquemtico utilizando o


comando:
Create -> Pin

Atalho: P

Na janela Add Pin que aparecer, escreva in Iref (sem as aspas) no campo Pin
Names e selecione a opo input no campo Direction.

Insira os pinos de entrada no esquemtico, conforme a Figura 1. Dica: antes de inserir


o pino Iref, utilize o comando

Repetindo os procedimentos anteriores, insira o pino de sada, escrevendo out no


campo Pin Names e selecionando a opo output no campo Direction.

Verifique o esquemtico em busca de erros e depois o salve, executando o comando:


File -> Check and Save

Atalho: Shift + X

Verifique se no h erros ou mensagens de alerta na janela MSFB.

3 CRIANDO UM SMBOLO
Depois que o esquemtico do amplificador for concludo, deve-se criar um smbolo para esse
circuito.

Crie um smbolo executando o comando:


Create -> Cellview -> From Cellview

Na janela Cellview From Cellview que aparecer, preencha o campo Library Name
com o nome da biblioteca que contm a clula original, no caso, Tutorial.

O campo Cell Name deve ser preenchido com o nome da clula que contm o
esquemtico do circuito, no caso, amplificador.

Clique no boto OK.

Outra janela, chamada Symbol Generation Options, aparecer. Essa janela permite a
escolha da posio dos pinos. Por conveno, os pinos de entrada so colocados no
lado esquerdo e os pinos de sada, no lado direito. Assim, preencha o campo Left Pins
com a opo in e o campo Right Pins, com a opo out. Como Iref a corrente de
polarizao, e no uma entrada, coloque-o no campo Bottom Pins.

Clique no boto OK para finalizar.

Na ltima janela que se abrir (Figura 2), verifique e salve o smbolo executando o
comando:
File -> Check and Save

Atalho: Shift + X

Figura 2 -Janela de edio do smbolo.

4 CRIANDO UM TESTBENCH
necessrio avaliar o funcionamento do circuito atravs de uma simulao funcional. Para isso,
necessrio criar outro esquemtico, chamado de Testbench.

Crie um novo esquemtico chamado amplificador_tb.

Utilizando os mesmos passos descritos para se inserir componentes ao esquemtico,


insira no Testbench os componentes listados na Tabela 3.
Tabela 3 - Lista de componentes usados para o teste do Inversor.

Componentes

Biblioteca

Nome na Biblioteca

View

Amplificador

Tutorial

amplificador

symbol

Fonte de alimentao

analogLib

vdd

symbol

Terra

analogLib

gnd

symbol

3 Fontes de tenso DC

analogLib

vdc

symbol

Fonte de corrente DC

analogLib

idc

symbol

Posicione esses elementos e os conecte usando o procedimento descrito


anteriormente. A Figura 3 mostra o esquemtico final.

Figura 3 - Esquemtico do amplificador_tb.

Altere os parmetros da fonte de alimentao, inserindo o valor 3.3 no campo DC


voltage.

Altere os parmetros da fonte de corrente de polarizao, inserindo o valor 100u no


campo DC current.

Altere os parmetros da fonte conectada entrada do amplificador, inserindo Vin no


campo DC voltage. Dessa forma, a varivel Vin criada automaticamente.

Finalmente, altere os parmetros da fonte conectada sada do amplificador,


inserindo Vout no campo DC voltage. Da mesma forma que anteriormente, a varivel
Vout criada automaticamente.

5 SIMULANDO O ESQUEMTICO DO AMPLIFICADOR.


Agora que o esquemtico do circuito e seu testbench foram criados, procede-se com a
simulao funcional. Sero traadas as curvas caractersticas ID x VDS do NMOS, bem como a curva de
carga. Isso feito calculando-se as correntes de dreno dos transistores para vrios pontos de operao
do amplificador. Esses clculos sero realizados pela ferramenta de testes Analog Design
Environment, ou ADE.

Inicie o ADE executando o comando:


Launch -> ADE L

Na janela que aparecer (Figura 4), selecione o tipo de simulao que se deseja
realizar no circuito executando o comando no menu do ADE:
Analyses -> Choose

Figura 4 - Janela do Analog Design Environment.

Na janela Choosing Analyses (Figura 5), escolha a opo dc na seo Analysis.

Figura 5 - Janela de escolha de simulao a ser realizada pelo ADE.

Para que as correntes sejam calculadas para vrios valores de V DS, na seo Sweep
Variable, marque a opo Component Parameter. Ao marcar essa opo, novos
campos aparecero na janela.

Como a tenso VDS do NMOS igual a Vout, clique no boto Select Component e
depois selecione a fonte de tenso na sada do amplificador, clicando sobre ela no
esquemtico do testbench.

Na janela que aparecer (Figura 6), selecione a opo DC voltage e clique em OK.

Figura 6 - Janela de seleo do parmetro que ser varrido na simulao.

Na seo Sweep Range (Figura 5), preencha os campos Start e Stop com os valores
0 e 3.3, respectivamente.

Em Sweep Type, escolha a opo Linear, selecione Step Size e preencha o campo ao
lado com o valor 0.3.

Clique no boto OK.

O prximo passo recuperar as variveis do testbench.

No menu da janela do ADE, escolha:


Variables -> Copy From Cellview

As variveis, no caso Vin e Vout, aparecero no campo Design Variables. Os valores de Vin
sero ajustados mais adiante e os valores referentes fonte de tenso Vout j foram definidos na
escolha dos parmetros da anlise DC. Todavia, mesmo que nem todas variveis sejam usadas em
determinada anlise, a simulao no ser realizada se alguma varivel estiver indefinida.

Na coluna Value do campo Design Variables, clique ao lado do nome da varivel


Vout e atribua um valor qualquer a ela (por exemplo: 1).

Agora, necessrio escolher quais ns do circuito se deseja observar.

No menu da janela do ADE, escolha:


Output -> To Be Plotted -> Select On Schematic

Na janela do esquemtico, execute o comando:


Edit -> Hierarchy -> Descend Edit
Atalho: Shift + E

Clique sobre o smbolo do amplificador.

Na janela que aparecer (Figura 7), selecione a opo schematic no campo View e,
em Open in, selecione new tab.

Figura 7 - Janela de descida do nvel hierrquico.

Clique no boto OK. Uma nova aba aparecer na janela do Schematic Editor,
contendo o esquemtico do amplificador.

Selecione o dreno do transistor NMOS e a fonte do transistor PMOS ligado ao NMOS


(Figura 8).

Figura 8 - Janela do esquemtico mostrando os ns selecionados para observao.

Na janela do ADE, na seo Outputs, note que somente a opo Plot est marcada
para os dois ns que apareceram. Marque tambm a opo Save.

Agora, a janela do ADE deve ficar como a Figura 9. O ltimo passo lanar uma anlise
paramtrica em funo de Vin. Note que Vin igual tenso VGS do NMOS.

Figura 9 - Janela do ADE mostrando os ns selecionados para observao.

Na janela do ADE, execute o comando:


Tools -> Parametric Analysis

Na janela que aparecer (Figura 10), no campo Variable Name, escreva Vin.

Na seo de Range Type, nos campos From e To, escreva 0.9 e 2.4, respectivamente.

Na seo Step Control, selecione a opo Linear e preencha o campo Total Steps
com o valor 6.

Figura 10 - Janela de anlise paramtrica.

Ainda nessa janela, execute o comando:


Analysis -> Start

Ao final das simulaes, uma janela abrir com o resultado da simulao, mostrando as curvas
caractersticas - ID x VDS para diferentes valores de VGS - e a curva de carga do amplificador (Figura 11).

Figura 11 - Formas de onda obtidas na simulao.

Finalmente, possvel salvar as configuraes da simulao realizada. Dessa forma, se


quisermos repeti-la no futuro, no ser necessrio refazer todos os passos acima.

Na janela do ADE, execute o comando:


Session -> Save State

Repare no nome do estado, que aparece no campo Save As, e clique em OK.

6 LEIAUTE DO INVERSOR
Seguindo o fluxo de projeto, aps se criar o circuito do amplificador e de se verificar seu
funcionamento atravs de simulao, segue-se com a criao do seu leiaute.

Para gerar o leiaute, abra o esquemtico do amplificador e execute o comando na


barra de ferramentas:
Launch -> Layout XL

Na janela que aparecer (Figura 12) escolha a opo Create New e clique em OK.

Figura 12 - Janela de criao de novo Layout XL.

Na prxima janela, clique em OK para confirmar a criao do novo leiaute.

Lembre-se que antes de se iniciar o posicionamento dos componentes do circuito, necessrio


ajustar-se o grid do editor de leiaute.

Execute o comando:
Options -> Display

Na janela que aparecer, ajuste com os valores da Tabela 4.


Tabela 4 - Valores de Grid.

Opo

Valor

Minor Spacing

0.025

Major Spacing

X Snap Spacing

0.025

Y Snap Spacing

0.025

Alm dos ajustes nos valores de grid, recorde que h outras opes que auxiliam durante
desenho do leiaute, como a opo Cross Cursor, no campo Display Controls. Outra opo interessante
selecionar em ambos os campos Create e Edit a opo diagonal.
Com o grid ajustado, procede-se com a adio e posicionamento dos componentes do circuito.

Para adicionar os componentes que fazem parte do circuito, clique no boto Generate
All From Source, na barra de ferramentas inferior:

Na janela que aparecer, marque as opes Preserve Mappings, Transistor Folding


e desmarque PR Boundary. Clique em OK.

Agora a view criada contm todos os transistores que fazem parte do circuito, bem como os
pinos e seus respectivos labels (Figura 13). Basta posicionar os componentes e criar as conexes entre
eles. Lembre-se que, para alternar entre as duas formas de visualizao possveis, devem-se executar os
comandos:
Atalho: Shift + F e Ctrl + F

Figura 13 - Layout XL com os transistores, pinos e respectivos labels do circuito do amplificador.

Recorde, ainda, que a ferramenta Annotation Browser auxilia na visualizao de conexes


incompletas no leiaute, indicando-as como linhas coloridas (Figura 14). Para utiliz-la, realize o comando
no menu do Layout XL:
Window -> Assistants -> Annotation Browser

Figura 14 - Layout XL com a janela do Annotation Browser.

Primeiramente, criaremos os contatos de substrato de todos os transistores.

Selecione um dos transistores, depois execute o comando Edit Properties:


Edit -> Basic -> Properties

Atalho: Q

Na janela que aparecer, selecione a aba Parameter e marque a opo Substrate


Contact. Clique em Apply.
Faa o mesmo para os transistores restantes. Ao final, clique em OK para fechar a
janela Edit Instance Properties.

Lembre-se que tambm podemos criar os contatos de substrato com o comando Create Via.

Agora, posicione os transistores PMOS lado a lado, de modo que eles fiquem alinhados
e que a distncia entre eles seja de 1 m.
Posicione o transistor NMOS abaixo do transistor PMOS que deve ser ligado ao pino de
sada, de forma que a distncia entre o NMOS e o NTUB do PMOS seja de 1,2 m.
Para mover componentes, utilize o comando:
Edit -> Move

Atalho: M
Para utilizar a rgua, execute o comando:
Tools -> Create Ruler
Atalho: K
Para apagar todas as rguas existentes no leiaute, execute o comando:
Window -> Clear all rulers
Atalho: Shift + K
A Figura 15 mostra a tela do Virtuoso depois que os transistores PMOS e NMOS foram inseridos
e posicionados adequadamente.

Figura 15 - Transistores PMOS e NMOS posicionados.

Os transistores devem ser ligados para formar o amplificador. Com auxlio do Annotation
Browser, faa uma net de cada vez, realizando todas as conexes necessrias. Deixe gnd! e vdd! para o
final.

Comeando com Iref (ver Figura 16), crie trilhas de POLY1 entre as portas dos
transistores PMOS, utilizando o comando:
Create -> Rectangle
Atalho: R
ou o comando:
Create -> Shape -> Path
Atalho: P

No PMOS da esquerda (no conectado sada), conecte o dreno porta, com uma via
do tipo P1_C. Para isso, utilize o comando:
Create -> Via

Atalho: O

Com auxlio do Annotation Browser, identifique o pino correspondente a Iref. Mova


esse pino, colocando-o sobre a via criada no passo anterior.
Ainda falta criar um rtulo (label) para ele. Note que todos os pinos foram criados na
camada MET1_pin; dessa forma, selecione a camada PIN_M1 na janela LSW.
Para criao do rtulo de um pino do circuito, execute o comando:
Create -> Label

Atalho: L

Na janela que abrir, preencha o campo Label com o nome Iref.

Um rtulo contendo o nome escrito aparecer na ponta do cursor. Posicione esse


rtulo sobre o pino.

A Figura 16 ilustra o resultado aps esses passos. Repare que Iref no aparece mais na janela
do Annotation Browser.

Figura 16 - Conexes da net Iref.

De forma semelhante, prossegue-se com a criao da net in (ver Figura 17).

Crie uma via do tipo P1_C;


Conecte essa via porta do transistor NMOS com uma trilha de POLY1;
Mova o pino correspondente net in, colocando-o sobre a via criada no passo acima;
Crie um rtulo chamado in e o posicione sobre pino.

O leiaute resultante ilustrado na Figura 17. Veja que in tambm no aparece mais na janela
do Annotation Browser.

Figura 17 - Criao da net in.

O prximo passo, agora, criar a net out.

Desenhe trilhas de MET1 para conectar o dreno do NMOS ao dreno do PMOS da


direita (ligado sada).
Mova o pino correspondente net out, colocando-o sobre a trilha de MET1;
Crie um rtulo chamado out e posicione-o sobre pino.

A Figura 18 mostra o leiaute resultante.

Figura 18 - Criao da net out.

Finalmente, necessrio criar as linhas de alimentao (vdd) e de terra (gnd).

Faa um retngulo de MET1 acima dos transistores PMOS e outro retngulo abaixo do
transistor NMOS.
Faa retngulos conectando os transistores PMOS linha de cima e um retngulo
conectando o transistor NMOS linha de baixo.
Mova o pino correspondente a gnd!, colocando-o sobre o retngulo de MET1 inferior;
Crie um rtulo chamado gnd! e posicione-o sobre pino.
Da mesma forma, mova o pino correspondente a vdd!, colocando-o sobre o retngulo
de MET1 superior;
Crie um rtulo chamado vdd! e posicione-o sobre pino.

O leiaute final ilustrado na Figura 19.

Figura 19 - Linhas de alimentao (vdd) e terra (gnd).

6.1 VERIFICAO DE REGRAS DE PROJETO - DRC E LVS


Depois de terminado o desenho, necessrio verificar se as regras de projeto da tecnologia
utilizada foram seguidas corretamente. Isso feito com uma ferramenta chamada DRC (Design Rule
Checking).

Para iniciar a verificao DRC, execute o comando na barra de menu do Virtuoso:


Assura -> Run DRC

Na janela que aparecer, clique no boto Set Switches; escolha as opes grid e
no_coverage; e clique em OK.
Clique em OK novamente para iniciar a verificao DRC.
Verifique a janela MSFB. Se houverem erros, eles estaro listados nessa janela.
Caso existam erros, execute o comando para abrir uma janela de verificao. Nessa
janela, cada erro est listado e explicado.
Depois de corrigir os erros, execute o DRC novamente, seguindo os passos anteriores.
Uma boa estratgia corrigir um erro de cada vez e executar o DRC a cada correo,
pois muitas vezes a correo de um nico problema elimina mais de uma mensagem
de erro.

Depois de corrigido o leiaute, a janela de erros de DRC deve ter a aparncia da Figura 20. Os
dois ltimos erros que constam na lista - Generated Layers : Missing FIMP Layer e Generated Layers :
Missing NLDD LAYER - podem ser ignorados por enquanto. Eles sero resolvidos no leiaute final, onde
todos os circuitos j estaro posicionados e conectados.

Figura 20 - Janela de resultado do DRC.

necessrio verificar agora se circuito desenhado no leiaute corresponde ao circuito projetado


no esquemtico. Isso feito utilizando uma ferramenta chamada LVS (Layout Versus Schematic).

Para iniciar a verificao LVS, execute o comando na barra de menu do Virtuoso:


Assura -> Run LVS

Na janela que aparecer, verifique se os campos do Schematic Design Source e do


Layout Design Source esto preenchidos de maneira correta.
Clique em OK para iniciar a verificao LVS.
Caso no haja diferenas entre o leiaute e o esquemtico, aparecer uma janela, como
a mostrada na Figura 21. Havendo erros, estes tambm aparecero na janela da Figura
21 e devero ser corrigidos e a verificao LVS executada novamente.

Figura 21 - Janela de resultado do LVS.

2.7.

EXTRAO

O leiaute de um circuito simplesmente um conjunto de formas geomtricas de cores


diferentes sobrepostas. O processo de extrao reconhece os dispositivos representados por essas
figuras e gera uma srie de informaes sobre as resistncias e capacitncias parasitas que foram
acrescentadas ao circuito devido geometria das conexes, ao posicionamento dos componentes, etc.
Tais caractersticas devem ser levadas em considerao pelo projetista, pois podem reduzir
consideravelmente o desempenho do circuito projetado ou at mesmo impedir seu funcionamento.

Para extrair os parasitas do circuito, execute o comando na barra de menu do


Virtuoso:
Assura -> Run RCX

Na janela que aparecer, selecione a aba Extraction


No campo Extraction Type, selecione RC

Preencha o campo Ref. Node com o n de referncia, ou seja gnd!


Finalize clicando em OK para iniciar a extrao. Se nenhum erro ocorrer, uma
mensagem aparecer confirmando a concluso da extrao (Figura 22).

Figura 22 - Janela de confirmao de finalizao da extrao.

2.8.

SIMULAO PS-LAYOUT

Finalizada as etapas de verificaes DRC e LVS, e a extrao dos parasitas, tm-se duas clulas
principais para o mesmo circuito. A primeira delas o esquemtico, que seu projeto inicial (ideal). A
segunda o circuito extrado, que leva em considerao os efeitos parasitas associados ao leiaute (real).
Nesse exemplo o circuito do amplificador ser novamente simulado, utilizando, desta vez, o circuito
extrado.

Para realizar a simulao ps-leiaute, abra o esquemtico do amplificador_tb


Inicie o ADE executando o comando:
Launch -> ADE L

Carregue as configuraes da simulao realizada na seo 5, executando o comando


no menu do ADE:
Session -> Load State

No campo State Name, escolha o estado salvo ao final da seo 5; e clique em OK.
No menu da janela do ADE, escolha:
Setup -> Environment

Na janela que aparecer, acrescente ao campo Switch View List a opo


analog_extracted, que deve necessariamente ficar entre as opes cmos_sch e
schematic.

Figura 23 - Seleo da netlist do circuito extrado para simulao.

Na janela do ADE, execute o comando:


Tools -> Parametric Analysis

Na janela que aparecer, preencha os campos da seguinte forma:


o

Variable Name: Vin

From: 0.9

To: 2.4

Step Control: Linear

Total Step: 6

Ainda nessa janela, execute o comando:


Analysis -> Start

Ao fim da simulao, aparecer uma janela com o resultado (Figura 24), o qual deve ser
equivalente ao resultado mostrado na Figura 11.

Figura 24 - Resultado da simulao ps-leiaute.

Вам также может понравиться