UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
Centro de Engenharia Elétrica e Informática
Curso de Graduação em Engenharia Elétrica
Trabalho de Estágio Supervisionado
TUTORIAL CADENCE VIRTUOSO PARA
A TECNOLOGIA CMHV7SF 180 nm
Moabe Rodrigues Ramos
Campina Grande - PB
julho - 2019
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
Centro de Engenharia Elétrica e Informática
Curso de Graduação em Engenharia Elétrica
TUTORIAL CADENCE VIRTUOSO PARA A
TECNOLOGIA CMHV7SF 180 nm
Moabe Rodrigues Ramos
Trabalho de Estágio Supervisionado realizado
no Laboratório de Instrumentação e Metrolo-
gia Cientícas (LIMC) submetido-a Coorde-
nação de Graduação em Engenharia Elétrica
da Universidade Federal de Campina Grande
como parte dos requisitos necessários para a
obtenção do grau de Bacharel em Ciências no
Domínio da Engenharia Elétrica.
Área de Concentração: Microeletônica
Prof. Dr. Benedito Antonio Luciano
Avaliador
Prof. Dr. Raimundo Carlos Silvério Freire
Orientador
Campina Grande - PB
julho - 2019
Dedicatória
Dedico este trabalho à minha lha Beatriz, que me motiva todos os dias para lutar pelos
meus objetivos.
Agradecimentos
Agradeço, em primeiro lugar, ao meu bom Deus, pelas graças derramadas em
minha vida e por me fortalecer todos os dias, me ergueu em tantos momentos difíceis ao
longo da caminhada da graduação.
À minha família, em especial, aos meus pais, por todo amor, cuidado, carinho e
por todo esforço em criar e educar a mim e aos meus irmãos, nos dando sempre o melhor
que podiam. Agradeço também aos meus tios, Crymerio e Cícera, que me receberam em
sua casa em Campina Grande e me trataram como um lho.
Ao Professor Freire, meu orientador, agradeço pela oportunidade me dada, pela
paciência, por toda ajuda e suporte que me foi oferecido ao logo desses anos em que fui
membro do LIMC.
Aos meus professores do ensino, meus mestres Helder George e Sidney Rocha, que
me aconselharam e acreditaram na minha capacidade quando nem eu mesmo acreditava.
Aos colegas de curso, agradeço por todo apoio, por toda ajuda recebida e pelos
conhecimentos compartilhados, em especial, a Jesney Pires, Arthur Freitas, Antônio
Fernando, William Nobrega, João Lucas Peixoto e ao grupo “Pseudomitos”.
Aos meus colegas do LIMC, que me zeram crescer e amadurecer durante gradua-
ção, em especial, a Tarcísio Oliveira de Moraes Júnior, Marcos Bernardo, Larissa de Melo,
Arthur Luiz Alves de Araújo, que contribuíram de maneira signicativa no desenvolvimento
desse trabalho.
Lista de ilustrações
Figura 1 – Janela principal do virtuoso. . . . . . . . . . . . . . . . . . . . . . . . . 12
Figura 2 – Janela New Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figura 3 – Tecnologia da biblioteca cmhv7sf. . . . . . . . . . . . . . . . . . . . . . 13
Figura 4 – Congurando a tecnologia. . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figura 5 – Janela WorkArea (Área de Trabalho). . . . . . . . . . . . . . . . . . . 14
Figura 6 – Janela New File para criar a vista da célula. . . . . . . . . . . . . . . . 14
Figura 7 – Janela de criação do esquemático. . . . . . . . . . . . . . . . . . . . . . 15
Figura 8 – Janela Add Instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figura 9 – Selecione a biblioteca e dpois nfet. . . . . . . . . . . . . . . . . . . . . 17
Figura 10 – Janela Add Pin, conguração do pino de saída. . . . . . . . . . . . . . 17
Figura 11 – Esquemático do Inversor Digital CMOS . . . . . . . . . . . . . . . . . 18
Figura 12 – Propriedades do Transistor PMOS . . . . . . . . . . . . . . . . . . . . 19
Figura 13 – Conguração do símbolo da célula Inversor. . . . . . . . . . . . . . . . 20
Figura 14 – Conguração dos pinos do símbolo. . . . . . . . . . . . . . . . . . . . . 20
Figura 15 – Símbolo do Inversor Digital. . . . . . . . . . . . . . . . . . . . . . . . . 21
Figura 16 – Conguração da célula de teste do inversor . . . . . . . . . . . . . . . . 22
Figura 17 – Conguração da fonte Vdc. . . . . . . . . . . . . . . . . . . . . . . . . 22
Figura 18 – Conguração da fonte Vpulse. . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 19 – Conguração do capacitor. . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figura 20 – Esquema de teste do inversor . . . . . . . . . . . . . . . . . . . . . . . 24
Figura 21 – Janela de simulação Analog Design Environment (ADE). . . . . . . . . 25
Figura 22 – Janela Model Library Setup . . . . . . . . . . . . . . . . . . . . . . . . 26
Figura 23 – Conguração da análise DC. . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 24 – Selecione a Opção VDC. . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 25 – Conguração da calculadora para a análise DC. . . . . . . . . . . . . . 28
Figura 26 – Conguração da função cross. . . . . . . . . . . . . . . . . . . . . . . . 28
Figura 27 – Conguração da Janela STO para a função Cross. . . . . . . . . . . . . 29
Figura 28 – Conguração da Janela ADE para análise DC. . . . . . . . . . . . . . . 29
Figura 29 – Conguração do ambiente PAL. . . . . . . . . . . . . . . . . . . . . . . 30
Figura 30 – Análise DC para determinar o valor da largura do transistor PMOS
(Wpmos). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 31 – Conguração simulação transiente . . . . . . . . . . . . . . . . . . . . . 32
Figura 32 – Sinais de entrada e saída do inversor . . . . . . . . . . . . . . . . . . . 32
Figura 33 – Conguração para salvar o ambiente de simulação como uma vista. . . 33
Figura 34 – Conguração da Janela Startup Option. . . . . . . . . . . . . . . . . . 34
Figura 35 – Janela New File para criar a célula do leiaute. . . . . . . . . . . . . . . 34
Figura 36 – Ambiente de projeto de leiaute (LSG) . . . . . . . . . . . . . . . . . . 35
Figura 37 – Janela Generate Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figura 38 – Camadas dos componentes do esquemático. . . . . . . . . . . . . . . . 36
Figura 39 – Opções de ajuda de projeto. . . . . . . . . . . . . . . . . . . . . . . . . 37
Figura 40 – Versão Final do Leiaute. . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figura 41 – Create Via. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figura 42 – Via PC-M1 conectada na porta. . . . . . . . . . . . . . . . . . . . . . . 39
Figura 43 – Pinos de referência, geradas a partir do esquemático, com destaque para
o pino subc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figura 44 – Conguração do Pino Subc. . . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 45 – Conguração do DRC. . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 46 – Conrmação que o DRC foi simulado com sucesso. . . . . . . . . . . . 41
Figura 47 – Relatório de DRC com um erro. . . . . . . . . . . . . . . . . . . . . . . 41
Figura 48 – Relatório do DRC sem erros. . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 49 – Conguração do LVS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figura 50 – Extração do LVS sem nenhum erro. . . . . . . . . . . . . . . . . . . . . 42
Figura 51 – Filtro passa-baixas passivo. . . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 52 – Congurando a simulação CA. . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 53 – Escolhendo a opção CA dB20. . . . . . . . . . . . . . . . . . . . . . . . 45
Figura 54 – Diagrama de Bode do ganho. . . . . . . . . . . . . . . . . . . . . . . . 45
Lista de abreviaturas e siglas
ADI Add Instance
ADE Analog Design Environmen
AETL Attach to na existing technology librar
CA Chosing Analyses
CFC Copy From CellView
CI Create Instance
CTT Curva Característica de Tensão
ECCI Estrutura e Concepção de Circuitos Integrados
IBPD IBM PDK Library Properties
STO Janela Setting Outputs
LSG Layout Suite GXL
NF New File
NWL New Library
PAL Parametric Analysis
RSS Run Selected Sweeps
SS Saving Stade
TCF Technology File
WA WorkArea
Resumo
Para ajudar na orientação dos alunos da disciplina de Estrutura e Concepção de Circuitos
Integrados, foi elaborado um Tutorial do Cadence Virtuoso explicando passo a passo um
projeto de circuito integrado de um Inversor Digital CMOS. Neste relatório é apresentado
como criar uma biblioteca, passando por projeto de um esquemático, como testar o circuito
realizando simulações trasitórios e CC, e como montar o leiaute e vericar o projeto
utilizando os teste de DRC e LVS. No nal é apresentando um projeto de um ltro
passa-baixas com o objetivo de demonstrar como é feito uma análise CA.
Palavras-chaves: Virtuoso, Inversor, Leiaute, CMOS, DRC, LVS.
Abstract
In order to assist in the orientation of the students orientation of the Integrated Circuits
Design discipline, a Tutorial of Cadence Virtuoso was developed, with the objective to
presenting the procedures step by step in the circuit design of a CMOS Digital Inverter.
This report explains how to create a library, designing a schematic, how to test the circuit
by performing transient and DC simulations, and how to assemble the layout and check
the design using the DRC and LVS tests. At the end, a project of a low-pass lter is
presented, in order to demonstrate how an AC analysis is done.
Keywords: Virtuoso, Inverter, Layout, CMOS, DRC, LVS.
Sumário
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 CRIANDO UMA BIBLIOTECA DE PROJETOS E SUAS CÉLULAS 12
2.1 Criando uma Biblioteca . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Criando uma Célula da Biblioteca . . . . . . . . . . . . . . . . . . . . . . 13
3 PROJETO DO INVERSOR DIGITAL CMOS . . . . . . . . . . . . 15
3.1 Projeto de Esquemático para o Inversor . . . . . . . . . . . . . . . . . 15
3.2 Criando um Símbolo para a Célula Inversor . . . . . . . . . . . . . . 19
3.3 Cicuito de Teste para o Dimensionamento da Largura do PMOS. . 21
3.3.1 Criando o Ambiente de Simulação e Realizando a Análise DC . . . . . . . . 25
3.3.2 Análise Transietória do Inversor . . . . . . . . . . . . . . . . . . . . . . . 31
4 PROJETO DE LEIAUTE . . . . . . . . . . . . . . . . . . . . . . . 34
4.1 Criando a Vista Leiaute do Inversor e Congurando o Ambiente de
Projeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 Ligando as Camadas do Inversor . . . . . . . . . . . . . . . . . . . . . 35
4.3 Teste DRC e LVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5 ANÁLISE CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1 Projetando um Filtro Passa-Baixas Passivo. . . . . . . . . . . . . . . 43
5.2 Criando um Ambiente de Simulação AC . . . . . . . . . . . . . . . . 44
6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10
1 Introdução
Na disciplina de Estrutura e Concepção de Circuitos Integrados (ECCI) é requerido
dos discentes a implementação de projetos tais como: circuitos lógicos digitais (portas
lógicas digitais), chave analógica e um amplicador operacional. Para realizar os circuitos
supracitados, o aluno tem que aprender a dimensionar o tamanho dos transistores, construir
esquemáticos elétricos, símbolos, realizar simulações do tipo transitório, CC, CA, entre
outras, além da concepção do leiaute na última etapa do projeto. O software empregado
na disciplina para realização desses projetos é o Virtuoso da empresa Candece, no qual é
um software bastante complexo.
Foi constatado que os alunos apresentam muita diculdade no manuseio do
software, principalmente com relação aos passos necessários para realizar os projetos e
como lidar com os erros que aparecem no decorrer da montagem dos trabalhos. Além
disso, a escasses de fontes de material torna isso ainda mais crítico, provocando um grande
atraso na entrega dos trabalhos.
De forma a superar este problema, o objetivo deste trabalho consiste em realizar
um tutorial explicando um passo a passo do projeto de um inversor digital CMOS no
software Virtuoso, iniciando com a criação de uma biblioteca e nalizando com o arquivo
GDSII do leiaute para fabricação.
Dentro deste contexto, uma abordagem detalhada e explicativa de como proceder
o uxo de projeto é apresentada neste trabalho, desde a criação de uma biblioteca e suas
células, como projetar o esquemático e símbolos, simulações nos ambientes de simulação,
demostrar como realizar a montagem do leiaute. Além disso, e de suma importância a
vericação de testes como LVS (do inglês, Layout Vesus Schematic) e DRC (do inglês,
Design Rule Cheching) em nível de leiaute.
Para construção deste material, uma revisão bibliográca em [1] e [2], em que foi
realizada atualizações e adaptações para atender a realidade da disciplina de ECCI.
1.1 Objetivos
Elucidar de forma compreensível um passo a passo de como realizar um projeto
no Cadence Virtuoso.
Os objetivos especícos são:
• Explicar como criar uma biblioteca e suas células;
Capítulo 1. Introdução 11
• Explicar como realizar um projeto de esquemático de um Inversor e criar um símbolo
para abstrair o circuito;
• Ensinar como dimensionar os transistores e testar o circuito.
• Como criar um ambiente de simulação para fazer análises transitórios, CA e CC;
• Como montar o leiute e realizar os testes de DRC e LVS;
1.2 Estrutura do trabalho
Esse trabalho foi dividido da seguinte forma. No capítulo 2 é explicado como criar
uma biblioteca e uma célula no Virtuoso. No capítulo 3 é ensinado como projetar um
inversor CMOS. No capitulo 4 é ensinado como montar um leiaute e rodar os testes de
DRC e LVS. Por último no capítulo 5 é feito um projeto de um ltro passa-baixas para
ensinar como proceder uma análise CA no ambiente de simulação.
12
2 Criando uma Biblioteca de Projetos e Suas
Células
Na biblioteca cam os blocos dos circuitos projetados. A biblioteca também contém
os componentes necessários para a realização dos projetos e testes. Como transistores,
capacitores, indutores, resistores, fonte de alimentação.
2.1 Criando uma Biblioteca
Para criar a biblioteca de projetos, vá para a janela inicial do virtuoso Figura 1 e
clique em: IBM_PDK → Library → Create.
Figura 1 – Janela principal do virtuoso.
Irá abrir a janela chamada New Library (NWL) Figura 2. Dê um nome a biblioteca
criada que faça referência ao seu projeto. Em Technology File (TCF) selecione a terceira
opção: Attach to na existing technology library (AETL). Depois OK.
Figura 2 – Janela New Library.
Capítulo 2. Criando uma Biblioteca de Projetos e Suas Células 13
Agora é preciso adicionar e depois congurar a tecnologia disponível. Para a
realização desse tutorial foi usado a tecnologia CMHV7SF. Porém, em seu computador
possa ser que tenha outra tecnologia instalada. Na janela AETL Figura 3 selecione a
tecnologia, que para esse caso é a CMHV7SF. Depois OK. Em seguida irá abrir a janela
IBM PDK Library Properties (IBPD), congure-a de acordo com a Figura 4.
Figura 3 – Tecnologia da biblioteca cmhv7sf.
Figura 4 – Congurando a tecnologia.
2.1.1 Criando uma Célula da Biblioteca
Agora, crie uma célula chamada Inversor para a biblioteca portas digitais. Para
isso, na janela do virtuoso clique em: Tools → Library → Manager.
A janela da Figura 5 é a área de trabalho WorkArea (WA). É nela que se encontra
todas as bibliotecas e suas respectivas células e vistas. Para criar uma nova célula, selecione
a biblioteca que ela irá pertencer. Depois clique em: File → Cell View.
Na janela New File (NF) Figura 6. Escolha o nome da célula, que nesse caso é o
Inversor. Selecione o tipo de vista em Type e selecione Schematic.
Capítulo 2. Criando uma Biblioteca de Projetos e Suas Células 14
Figura 5 – Janela WorkArea (Área de Trabalho).
Figura 6 – Janela New File para criar a vista da célula.
15
3 Projeto do Inversor Digital CMOS
Nesse capítulo é abordado um passo a passo o desenvolvimento do projeto e
teste de um inversor digital CMOS. Nele é explicado como projetar o esquemático da
célula, passando pela criação de um símbolo que represente o esquemático, depois os
testes de análise CC necéssarios para o correto dimensionamento dos transistores, e a
análise transiente para vericar o funcionamento do inversor. Uma vez testado o circuito,
é realizado o projeto de leiaute da célula e por último a extração dos parasitas.
3.1 Projeto de Esquemático para o Inversor
Depois de criar a vista do tipo esquemático, vai aparecer a janela da Figura 7,
que é a área de realização do projeto do esquemático. Na aba de ferramentas, procure e
clique na opção Create Instance (CI) que tem um símbolo do transistor. Vai aparecer a
janela Add Instance (ADI) da Figura 8.
Figura 7 – Janela de criação do esquemático.
Capítulo 3. Projeto do Inversor Digital CMOS 16
Figura 8 – Janela Add Instance.
Para o projeto do esquemático do inversor digital CMOS, são necessários dois
transistores, um PMOS e outro NMOS, dois terminais um para o Vdd e o outro para Gnd,
e um terminal do substrato, além dos pinos de entrada e saída. Primeiramente, acrescente
os transistores e o terminal do substrato. Em Add Instance, clique em Browse, ao clicar
nessa opção você será levado para a janela das bibliotecas, Figura 9.
Existem duas bibliotecas principais em Add Instance, que é a biblioteca da
tecnologia, que nesse caso é a CMVH7SF onde estão as células dos componentes principais
como trasistores, diodos, substrato, capacitores, indutores. Nestas células estão inclusas as
vistas de leiaute. Na biblioteca analogLib estão os componentes para testes como fontes de
tensão, capacitores, resistores, indutores, terminais de referência (vdd, gnd). Nessas células
não existem as vistas de leiutes, essa biblioteca só serve para testes do circuito. Para
adicionar o transistor NMOS clique em: CMHV7SF (Library) → Everything (Category)
→ nfet (Cell) → symbol (View) .
Depois leve o símbolo do nmos até o esquemático. Repita o mesmo processo para
adicionar o PMOS. Essa tecnologia exige que se adicione o terminal do substrato. Para
adiciona-lo repita o mesmo processo dos transistores, mas quando chegar em Cell procure
a opção subc, depois adicione no esquemático.
Capítulo 3. Projeto do Inversor Digital CMOS 17
Figura 9 – Selecione a biblioteca e dpois nfet.
Para adicionar os terminais de Vdd e Gnd, deve se seguir o mesmo processo dos
passos anteriores, mas a biblioteca usada será a analogLib. Em Cell procure os terminais
de Vdd e Gnd e as adicionem no esquemático.
É muito importante adicionar os pinos dos sinais de entrada e saída. Para adiciona-
los vá para a janela do esquemático clique na opção Create Pin (Um símbolo que parece
com uma porta digital). Na janela Add Pin Figura 10, digite o nome do pino e selecione
a direção (Direction), se for o pino de entrada selecione Input, se for de saída selecione
Output e por último o tipo de sinal (Signal Type), nesse caso selecione o tipo: signal.
Figura 10 – Janela Add Pin, conguração do pino de saída.
Ao adicionar todos os componentes, depois ligue os terminais como é apresentado
na Figura 11.A seguir encontra-se um resumo da localização dos componentes e os terminais
Capítulo 3. Projeto do Inversor Digital CMOS 18
desse inversor:
CMVH7SF → Nmos, Pmos, Subc
AnalogLib → Vdd, Gnd
Create Pin → Pino IN, Pino OUT
Figura 11 – Esquemático do Inversor Digital CMOS
Antes de concluir essa etapa, é necessário modicar o valor default da largura
(W ) do transistor PMOS, para que o inversor mude o seu estado lógico quando o valor
do sinal de entrada passar por V dd2. Para encontrar o valor de W do PMOS, precisa-
se primeiramente colocá-la como uma variável, para realizar dois testes que ajudem a
encontrar o valor de W . Para isso, selecione o transitor PMOS clicando em shift + Q
(para essa versão, outras versões é apenas Q). Vai aparecer a janela de propriedades do
transistor PMOS Figura 12. Substitua o valor de Width Single Finger para Wpmos e
habilite a função NWell Ring. Por m, clique em Ok.
Capítulo 3. Projeto do Inversor Digital CMOS 19
Figura 12 – Propriedades do Transistor PMOS
3.2 Criando um Símbolo para a Célula Inversor
Com o objetivo de abstrair o circuito do esquemático, pode-se criar um símbolo
para a célula. É essencial que o símbolo possuam os mesmos nomes dos pinos dos sinais
de entrada e saída e dos terminais de alimentação (Vdd e Gnd) do esquemático. Caso
contrário ocorrerá um erro de referência.
Para criar o símbolo da célula desejada da respectiva biblioteca (Portas Digitais).
Clique em: File → New → Cell View. Congure a janela NF de acordo com a Figura 13.
No ambiente de criação do símbolo.
Capítulo 3. Projeto do Inversor Digital CMOS 20
Figura 13 – Conguração do símbolo da célula Inversor.
Vai aparecer a janela de edição do símbolo (Symbol Editor L Editing). Para
adicionar os terminais do símbolo, na barra de ferramentas, procure a opção Create Pin
(Símbolo de uma porta digital). Ao clicar nessa opção vai aparecer a janela Add Pin,
congure-a de acordo com a Figura 14.
Figura 14 – Conguração dos pinos do símbolo.
Capítulo 3. Projeto do Inversor Digital CMOS 21
Procure não desenhar o símbolo muito grande, utilize 4 grids no máximo, pois
quando o mesmo for incrementando no futuro o seu tamanho cará maior, acarretando
uma discrepância entre o tamanho da célula criada e os outros componentes. Na Figura
15 tem uma versão nal de um inversor digital.
Figura 15 – Símbolo do Inversor Digital.
3.3 Cicuito de Teste para o Dimensionamento da Largura do PMOS.
Há duas formas de dimensionar a largura do transistor PMOS, para que o inversor
mude de estado em V dd2. Uma delas é gerar várias curvas de Caracteristica de Tensão
(CTT) [3] em função da largura do PMOS e a outra é utilizar a função Cross, uma função
disponibilizada pela calculadora do virtuoso que vária a tensão de entrada em função da
largura do PMOS. Faremos as duas formas, primeiramente deve ser criado um ambiente
de teste. Vá para área de trabalho do virtuoso WA (Figura 5) e crie uma célula de teste
da biblioteca Portas Digitas. Selecione a biblioteca Portas Digitais e clique em: File →
New → Cell View. Congure a janela NF de acordo com a Figura 16.
No ambiente de trabalho do esquemático, clique em CI e adicione a célula do
inversor, a fonte contínua para alimentar o circuito, a fonte PWM para ser conectada na
entrada, e um capacitor para ser ligado na saída para evitar overshoots e undershoots.
Segue abaixo a localização e os nomes dos componentes:
Portas Digitais → Inversor
AnalogLib → Vdc, Vpulse, Cap
Entre na conguração dos componentes. Congure a fonte Vdc de acordo com
a Figura 17. Na fonte Vpulse é interessante colocar um atraso na subida e descida (rise
e fall) para no futuro vericar o atraso do inversor, congure o Vpulse de acordo com a
Figura 18. Por último coloque um valor pequeno no capacitor (Cap), como é apresentado
na Figura 19.
Capítulo 3. Projeto do Inversor Digital CMOS 22
Figura 16 – Conguração da célula de teste do inversor
Figura 17 – Conguração da fonte Vdc.
Capítulo 3. Projeto do Inversor Digital CMOS 23
Figura 18 – Conguração da fonte Vpulse.
Capítulo 3. Projeto do Inversor Digital CMOS 24
Figura 19 – Conguração do capacitor.
Figura 20 – Esquema de teste do inversor
Capítulo 3. Projeto do Inversor Digital CMOS 25
3.3.1 Criando o Ambiente de Simulação e Realizando a Análise DC
Para criar o ambiente de simulação clique em lauch na janela do esquemático do
circuito de teste, depois ADE L. Na Figura 21 tem-se a janela de simulação Analog Design
Environment (ADE).
Figura 21 – Janela de simulação Analog Design Environment (ADE).
Antes de escolher o tipo de simulação deve-se incluir arquivos necessários para
rodas os testes. Na janela do ADE clique em: Setup → Model Libries. Vai aparecer a
janela Model Library Setup (Figura 22). Acrescente os três arquivos que aparecem na
Figura 22 (allModels, design, wafer) e em all models coloque a opção tt.
OBSERVAÇÃO: Caso a simulação venha a falhar volte para a janela da Figura
22 e veja se a opção “tt” em allmodels está selecionada.
Capítulo 3. Projeto do Inversor Digital CMOS 26
Figura 22 – Janela Model Library Setup
Como foi dito na seção 3.3, Foi realizado duas simulações que tem o mesmo
propósito que é encontrar o valor da largura do transistor PMOS (Wpmos). De volta a
janela do ADE, clique em Analyses-choose. Congure a janela Chosing Analyses (CA) de
acordo com a Figura 23. Para isso siga os seguintes passos:
1) Selecione a opção dc, depois clique em Component Parameter;
2) selecione a fonte Vpulse no esquemático, vai aparecer a janela da Figura 2;.
3) selecione a opção Vdc e em Sweep Range (Figura 25), Star = 0 e Stop = 1 8.
Em Sweep Type selecione a opção Linear depois StepSize = 001. Clique em Ok.
Para nalizar a conguração da análise DC, utilize a calculadora do virtuoso para
gerar a função Cross que irá fornecer o valor do Wpmos, para que o inversor mude de
estado lógico em V dd2. Para congurar a calculadora, na janela ADE, clique em: tools –
calculator. Congure a calculadora de acordo com a Figura 25. Os passos para congurar
a calculadora são:
1) Selecione a Opção VDC
2) Selecione o terminal da saída (Out) do circuito teste do esquemático.
3) Clique na função cross no painel de funções da calculadora (Function Panel).
4) Congure a função Cross de acordo com a Figura 26. Clique em OK.
5) Não Feche a janela da calculadora. Volte para a janela do ADE.
Capítulo 3. Projeto do Inversor Digital CMOS 27
Figura 23 – Conguração da análise DC.
Figura 24 – Selecione a Opção VDC.
Capítulo 3. Projeto do Inversor Digital CMOS 28
Figura 25 – Conguração da calculadora para a análise DC.
Figura 26 – Conguração da função cross.
Agora, adicione a função Cross no ambiente de simulação ADE. Para isso, siga os
seguintes passos:
1) Clique em Outputs – setup.
2) Na Janela Setting Outputs (STO), pegue a função da calculadora clicando em
Get Expression.
3) No nome da função digite Vth_inv.
4) Verique se a janela STO está congurada de acordo com a Figura 27. Clique
em Ok. Agora você pode fechar a calculadora.
Capítulo 3. Projeto do Inversor Digital CMOS 29
Figura 27 – Conguração da Janela STO para a função Cross.
Volte para a janela ADE, clique com o botão direito do mouse e selecione a opção
Copy From CellView (CFC). Essa opção tem o objetivo de copiar os parâmetros da célula
do esquemático que não estão determinados, como é caso do Wpmos. Verique se a variável
Wpmos aparece na janela do ADE, depois selecione um valor inicial para ele, no caso foi
escolhido o valor Wpmos = 500nm.
Figura 28 – Conguração da Janela ADE para análise DC.
Para rodar uma simulação CC é necessário variar o parâmetro que deseja deter-
minar. Para isso clique na opção Tools em ADE, depois em Parametric Analysis (PAL).
Congure a janela PAL de acordo com a Figura 29. Para rodar a simulação clique na seta
verde: Run Selected Sweeps (RSS).
Capítulo 3. Projeto do Inversor Digital CMOS 30
Figura 29 – Conguração do ambiente PAL.
Ao rodar a simulação você verá dois grácos Figura 30. O gráco do lado esquerdo
é da função Cross. Para saber o valor que o transistor Wpmos deve ser dimensionado, ou
seja quando o inversor chavear em 0 9 V. Trace um marcador no ponto 900mV do eixo y
do gráco. Para isso clique na bandeira vermelha (create marker), depois horizontal, digite
0.9 (900 m), clique em ok. Passe o mouse sobre o marcador e veja o valor de Wpmos. Para
esse exemplo, utilizando a largura mínima do transistor 180 nm O valor de Wpmos foi
de 1 51 µm. A outra forma de vericar esse valor tem-se a curva CCT (lado direito da
Figura 28), veja que a curva CCT que mais se aproxima do ponto (0 9; 0 9) marca um
W pmos = 1 52 µm que é bem próxima ao valor disponibilizada pela função cross.
Capítulo 3. Projeto do Inversor Digital CMOS 31
Figura 30 – Análise DC para determinar o valor da largura do transistor PMOS (Wpmos).
Agora que se sabe o valor da largura do transistor PMOS, vá para o esquemático
do inversor, abra as propriedades do transistor PMOS (Figura 12) e mude a vareável
Wpmos para o valor encontrado na Figura 30, ou seja 151 µm. Antes de fechar a janela de
propriedades do transistor PMOS verique se a opção NWell Ring está habilidade, caso
contrário, habilete.
OBSERVAÇÃO: ao colocar qualquer valor nas propriedades dos componentes
verique se você colocou ponto ao invés da virgula, caso contrário acontece um erro de
simulação.
3.3.2 Análise Transietória do Inversor
Para vericar o funcionamento do inversor, pode-se realizar uma simulação do
tipo transitória. Para isso, vá no ambiente de simulação ADE e desabilite a marcação ‘plot’
de Vth_in e desmarque a opção ‘Enable’ da análise dc. Feito isso clique na CA e congure
a janela de acordo com a Figura 31, clique em OK. Depois clique no botão verde (Netlist
and Run) na janela do ADE.
Capítulo 3. Projeto do Inversor Digital CMOS 32
Figura 31 – Conguração simulação transiente
Figura 32 – Sinais de entrada e saída do inversor
Capítulo 3. Projeto do Inversor Digital CMOS 33
Na Figura 32 é apresentado à resposta do inversor digital CMOS. Percebe-se que
a saída é o inverso do sinal de entrada. Sendo assim, agora pode-se realizar o projeto de
leiaute do inversor proposto. Mas antes disso é importante salvar o ambiente de simulação
ADE.
Vá para a janela do ADE, clique em salve. Há duas opções de salvar o ambiente
de simulação: diretório ou vista. Para facilitar o acesso, é preferível que você salve o
ambiente de simulação como uma vista do seu projeto. Nesse caso, na janela Saving Stade
(SS) Figura 33, selecione a opção Cellview. Clique em Ok. Verique se seu ambiente de
simulação foi salvo, vá para a janela do WA e veja se seu ambiente de simulação do inversor
teste está salvo com o nome de spectre_state1.
Figura 33 – Conguração para salvar o ambiente de simulação como uma vista.
34
4 Projeto de Leiaute
Nesse capítulo é abordado como fazer um projeto de Leiaute, como criar as
camadas dos componentes direto da esquemático, como colocar as máscaras (camadas) e
vias. E por último realizar os testes de DRC e LVS.
4.1 Criando a Vista Leiaute do Inversor e Congurando o Ambiente
de Projeto.
Para criar a vista de leiaute, na janela do esquemático do inversor, clique em:
Launch → Layout GXL. Na janela Startup Option Figura 34. Clique em ok. Congure a
janela NF de acordo com a Figura 35.
Figura 34 – Conguração da Janela Startup Option.
Figura 35 – Janela New File para criar a célula do leiaute.
Capítulo 4. Projeto de Leiaute 35
Congure a janela Layout Suite GXL (LSG). Figura 36. Para isso siga os seguintes
passos:
1) Clique em Options → display
2) Na janela Display Options modique as opções Snap Models para AnyAngle
(Figura 33).
3) Para facilitar a mobilidade do cursor desabilite a opção Gravity On e em Types
clique em none.
Figura 36 – Ambiente de projeto de leiaute (LSG)
4.2 Ligando as Camadas do Inversor
Uma maneira prática e rápida de criar o leiaute, é gerar as camadas dos compo-
nentes a partir do esquemático. Para isso, siga os passos seguintes:
1) Clique em Connectivity → Generate → All From Source. Congure a janela
Generate Layout na opção “I/O Pins” de acordo com a Figura 37. Troque as camadas dos
terminais para ‘M1 DRW’ e clique em apply, depois em Ok.
Na Figura 38 são apresentadas as camadas dos componentes do esquemático.
Capítulo 4. Projeto de Leiaute 36
Figura 37 – Janela Generate Layout.
Figura 38 – Camadas dos componentes do esquemático.
Cada projetista de circuitos integrados tem sua maneira de projetar o leiaute,
porém os projetistas mais experientes procuram sempre compactar o máximo possível as
Capítulo 4. Projeto de Leiaute 37
camadas, para aproveitar ao máximo a área da pastilha. Se você está iniciando no projeto
de leiaute, procure manter uma certa distância entre as camadas, para evitar erros de
DRC. A medida em que for adquirindo mais experiência e se acostumando com as regras
de projeto de leiute, diminua a distância entre as camadas.
Como dica, mantenha a opção DRD Enforce ativada para ajudar na função
de manter uma distância mínima entre as camadas. Ative as funções da Figura 39,
principalmente as três primeiras contando da esquerda para direita e a última, para
facilitar na montagem projeto. A primeira opção (da esqueda para direita) é o DRD
Enforce, estipula o limite entre duas camadas, a segunda é o DRD Notify ele informa as
dimensões mínimas que cada camada deve ter, a terceira é o DRD PostEdit informa para
onde deve-se ligar cada camada e cada pino e a última (lâmpada) é o InfoBalloon informa
as características, da camada e a qual terminal ela pertence.
Figura 39 – Opções de ajuda de projeto.
Figura 40 – Versão Final do Leiaute.
Capítulo 4. Projeto de Leiaute 38
Para projetar o leiaute desse inversor como na Figura 40, pode-se seguir os
seguintes passos:
1) Em Layers (lado esquerdo da área de projeto) selecione a camada M1, aperte
a tecla R e crie dos retângulos um abaixo e um acima da célula, para serem as áreas de
VDD e GND. Procure fazer os dois retângulos com as mesmas dimensões. Você pode fazer
um retângulo e copiá-lo (selecione e aperte a tecla C) arraste a copia até a outra ponta.
Procure deixar os dois retângulos alinhados.
2) Posicione as células do subc no retângulo do GND e a fonte do transistor PMOS
no VDD.
3) Ainda com a camada do metal M1, ligue as pontas dos terminais dreno e fonte
dos transistores de acordo com o esquemático.
4) O gate é um terminal feito com a camada de polisilício (camada verde). Troque
a camada M1 por PC (Polisilício). Depois ligue as duas portas do NMOS e PMOS.
5) A camada de polisilício precisa ser ligado a camada M1, que está logo acima
do polisilicio. Para conectar as duas camadas é necessária uma via. Para criar a via de
forma rápida e direta, clique em: Create – Via. Vai aparecer a Janela da Figura 38. Em
Via Denition selecione a Via PC-M1 e clique em Hide.
Figura 41 – Create Via.
6) Posicione a via (quadrado vermelho) de acordo com a Figura 42. Aumente a
Capítulo 4. Projeto de Leiaute 39
área da camada M1 da via, você pode fazer manualmente usando a tecla R.
Figura 42 – Via PC-M1 conectada na porta.
7) Ao terminar de ligar todos os pontos dos terminais, é hora de colocar os pinos
(Figura 43) nos seus respectivos lugares. Primeiramente tente levar o pino subc para a
célula do substrato, caso não consiga a conexão, devido à ativação do DRD enforce, troque
a camada do subc (apenas do subc), pois algumas versões da tecnologia exigem que esse
pino tenha uma camada especial. Para isso, selecione a conguração pino subc (shift+Q),
vai aparecer a janela da Figura 44, em layers procure a camada Nwasp e depois Ok. Feito
isso o DRD enforce, não bloqueia mais, e você pode colocar o subc na posição. Depois
leve os outros pinos até os seus respectivos terminais, sem mudar suas camadas.
Conra se seu leiaute está na forma da Figura 40. Terminado o projeto é hora de
testar se o leiaute está respeitando as regras de projeto (DRC) e se as ligações estão de
acordo com o esquemático (LVS).
Figura 43 – Pinos de referência, geradas a partir do esquemático, com destaque para o
pino subc.
Capítulo 4. Projeto de Leiaute 40
Figura 44 – Conguração do Pino Subc.
4.3 Teste DRC e LVS
Para análise DRC clique em: IBMPDK → checking → Assura → DRC. Vai
aparecer a janela da Figura 45. Clique em Ok. A simulação pode demorar um pouco.
Figura 45 – Conguração do DRC.
Se a simulação rodar perfeitamente vai aparecer a janela da Figura 46. Clique em
Yes.
Capítulo 4. Projeto de Leiaute 41
Figura 46 – Conrmação que o DRC foi simulado com sucesso.
Figura 47 – Relatório de DRC com um erro.
A Janela 47 apresenta o relatório dos erros do seu projeto. Nesse projeto foi criado
um tipo de erro DRC de forma proposital (marcação em branco) para que você possa
aprender a corrigir os tipos de erros. Nesse caso o DRC, está informando que em alguma
região do leiaute a camada M1 deve ter uma área superior a 0 172 µm2 .
Para saber onde ca esse erro no leiaute, clique na seta direita do canto superior
da Figura 42. O virtuoso está mostrando a região onde esse erro se encontra, que é na
via. As vias têm que receber uma área mínima, nesse caso procure aumentar a área da via
para que que superior a 0 172 µm2 .
Feito isso rode a simulação novamente. Veja se sua simulação não apresenta erros
como na Figura 48. Se no seu caso aparecer o aviso de GridCheck, ignore.
Figura 48 – Relatório do DRC sem erros.
Para conferir se seu projeto de leiaute está de acordo com o esquemático, é feito
um teste chamado LVS (Leiaute vs Esquemático). Para isso, clique em: Checking → Assura
→ LVS (vldb). Vai aparecer a Figura 49, clique em Ok. A simulação pode demorar um
pouco. Se seu leiaute estiver de acordo com o esquemático irá aparecer a Figura 50.
Capítulo 4. Projeto de Leiaute 42
Figura 49 – Conguração do LVS.
Figura 50 – Extração do LVS sem nenhum erro.
43
5 Análise CA
Esse capítulo tem a nalidade de demonstrar como pode ser feito uma análise
CA no virtuoso. Para isso foi montando o ltro passa-baixas passivo para observar o
comportamento da magnitude em função da frequência.
5.1 Projetando um Filtro Passa-Baixas Passivo.
Para realizar uma simulação CA, crie uma nova célula de esquemático e projete
um ltro passa-baixas passivo de acordo com a Figura 51.
Figura 51 – Filtro passa-baixas passivo.
Abra as propriedades dos componentes e coloque os seguintes valores:
Vsin: AC magnitude = 1
Capacitor: Capacitance = 16 nF
Resistor: Resistance = 1 kΩ
Sabendo que a frequência de corte do ltro passa-baixas é dado pela eq. (1).
fc = 1
2πRC
textrmHz (1)
Capítulo 5. Análise CA 44
Logo a frequência de corte para o circuito da Figura 50 será igual f c = 100 KHz
e sabendo que ela é denida quando o ganho foi igual a G = −3 dB.
5.2 Criando um Ambiente de Simulação AC
Para gerar o diagrama de Bode da magnitude siga os seguintes passos:
1) Crie o ambiente de simulação como foi demostrando na seção 3.3.2.
2) Em Choosing Analyses congure de acordo com a Figura 52. Clique em ok.
Figura 52 – Congurando a simulação CA.
3) Rode a simulação clicando em Netlist and Run.
4) Clique em Results → Direct Plot. Escolha como você deseja visualizar o
diagrama de Bode. Para facilitar a visualização na queda em −3 dB, escolha a opção AC
dB20 Figura 53. Depois selecione a saída do ltro.
Capítulo 5. Análise CA 45
Figura 53 – Escolhendo a opção CA dB20.
5) O diagrama de Bode do ltro da Figura 54 com frequência de corte de 100 Khz
pode ser visto na Figura 54. Caso você queira ver o gráco da fase basta seguir o exemplo
anterior e clicar em AC Phase.
Figura 54 – Diagrama de Bode do ganho.
46
6 Conclusão
Este trabalho de estágio foi realizado no período 2019.1, entre os dias 06/06/2019 a
10/07/2019 no Laboratório de Instrumentação e Metrologia Cientícas (LIMC), localizado
na Universidade Federal de Campina Grande no bloco CG. Este trabalho tem como
objetivo auxiliar os alunos de Estrutura e Concepção de Circuitos Integrados no manuseio
do software Cadence Virtuoso.
47
Referências
[1] H. M. Hayasaka, “Fluxo de projeto utilizando ibm180nm em ambiente cadence,” 2019.
[Online]. Available: [Link]
Flow_IBM_180nm.pdf Citado na página 10.
[2] J. W. K. de Mello, “Tutorial construção e simulação de um inversor cmos utilizando o
virtuoso,” 2013. Citado na página 10.
[3] A. Sedra, Microeletrônica. Volume único. 5a Edição. Pearson, 2000. Citado na página
21.
Referências 48