Relatorio final V VGT - paginas.fe.up.pt
Transcript of Relatorio final V VGT - paginas.fe.up.pt
Licenciatura em Engenharia Electrótecnica e de Computadores
Relatório do projecto final de curso
�������������������������������������������������� ��������������� ��������������� ��������������� �������������������������������������������������
�����
Trabalho realizado por : Pedro Correia [email protected]
Helder Araújo [email protected]
PSTFC / Chipidea P.Correia/H.Araujo
1
Agradecimentos
Gostaríamos de agradecer ao nosso orientador de projecto, Prof. Vítor
Grade Tavares pela sua disponibilidade e apoio constante na realização deste
projecto.
Gostariamos também de agradecer ao Prof. José Carlos Alves pela sua
disponibilidade total.
A todo o pessoal da Chipidea, em particular ao Eng. Luís Miguel
Sampaio, o nosso orientador na empresa, e ao Eng. Célio Albuquerque.
Gratos a todos vós pelo apoio prestado, manifestamos o nosso Especial
Obrigado !
PSTFC / Chipidea P.Correia/H.Araujo
2
CAPÍTULO 1
INTRODUÇÃO
PSTFC / Chipidea P.Correia/H.Araujo
3
1.1 INTRODUÇÃO
O trabalho desenvolvido ao longo do semestre visou o desenvolvimento e
caracterização de uma biblioteca de células digitais normalizadas (Standard Cells),
capazes de funcionar numa ampla gama de tensões de alimentação e diversas
temperaturas. As células foram projectadas para a tecnologia CMOS UMC 0.18 µm, e
teve como objectivo a optimização dos tamanhos (áreas) e consumos (potências).
O desenvolvimento de células normalizadas pressupõe um conjunto de etapas
que vão desde o esquemático, passando pelo layout (desenho estrutural das células),
pela caracterização, terminando na síntese. Ao longo deste processo é necessário
recorrer frequentemente a diversas simulações, não só como meio de caracterização
eléctrica, mas também para controlo de especificações. A simulação define portanto o
ritmo do processo, implicando muitas vezes que as etapas sejam iteradas até que
determinada especificação seja cumprida. Estas etapas serão explicadas com mais
detalhe nos capítulos que se seguem, convém no entanto frisar que o desenvolvimento
de células normalizadas acarreta a utilização de diversas ferramentas profissionais de
alguma complexidade, das quais destacamos:
• Virtuoso schematic, layout e symbol (Cadence)
• Hspice
• Design Compiler (Synopsys)
• Design Analizer(Synopsys)
• Primetime (Synopsys)
1.2 OBJECTIVOS
• Estudo de células digitais normalizadas
• Lista de células a desenvolver:
- Inversor simples (Inv1)
- Buffer simples (Buf1)
- Nand 2x1 (ND2D1)
- Mux 2x1 (MX2D1)
- Flip-flop D com scan (SDFRS1)
PSTFC / Chipidea P.Correia/H.Araujo
4
- Inversor 4 (Inv4)
- Inversor 16 (Inv16)
- Buffer 4 (Buf4)
- Buffer (Buf16)
• Restrições para o desenvolvimento das células digitais normalizadas:
- Gama de Tensões [1.2; 3.6] V
- Gama de Temperaturas [-40; 125] ºC
- Frequência de 10 MHz
- Carga de saída 7 fF
• Criação de esquemáticos e caracterização das células digitais
desenvolvidas usando Hspice
• Criação de layouts associados aos esquemáticos desenvolvidos
• Formatação das células para ferramentas de síntese e Place&Route
PSTFC / Chipidea P.Correia/H.Araujo
5
CAPÍTULO 2
CONCEITOS
TEÓRICOS
PSTFC / Chipidea P.Correia/H.Araujo
6
2.1 FABRICAÇÃO CMOS
A fabricação de circuitos integrados segue um processo por etapas muito bem
determinado. Cabe ao projectista definir os locais, dimensões e geometria que irão
condicionar no espaço as diferentes etapas de fabricação. Este processo é no entanto
bipartido, no sentido em que o fabricante também impõe determinadas regras e
limitações no desenho.
No domínio do projectista, o desenho físico de um circuito integrado é
fundamentalmente um processo de CAD, muito semelhante ao desenho de PCBs, mas
aqui poderemos inclusivamente desenhar os componentes básicos: os transístores. Após
o desenho concluído, o processo de fabrico de um circuito integrado segue então as
seguintes etapas:
Preparação da lâmina de silício – Todo o processo se inicia nesta fase. O
material utilizado para a fabricação do MOSFET é o silício com alto grau de pureza. O
material é então elevado como um cristal até formar um cilindro sólido de 10 a 30 cm
de diâmetro. Logo após é cortado em finas lâminas (400 a 600 �m) e polido através de
técnicas de polimento mecanico-químico.
De modo a controlar as propriedades eléctricas das lâminas, são realizados
implantes de impurezas, dopagem. Este processo de dopagem permite ainda uma
alteração controlada da resistividade do material. Está assim formado substrato que irá
servir de base para os circuitos.
Oxidação – Processo químico de reacção de silício com o oxigénio para formar
o dióxido de silício, SiO2, e que servirá de isolamento. Para acelerar a reacção é
necessário aquecer a lâmina a temperaturas na faixa dos 1000 ºC a 1200 ºC. O
aquecimento é feito em fornos especiais, ultra limpos e de altas temperaturas.
Difusão – Processo pelo qual os átomos se movem através da rede cristalina. Na
fabricação, a difusão relaciona-se com a introdução de átomos de impurezas (dopantes)
no silício para mudar a sua resistividade. Podem ser usados diversos dopantes quer do
tipo p, quer do tipo n, de modo a formar junções pn com o substrato tipo n ou tipo p,
respectivamente.
PSTFC / Chipidea P.Correia/H.Araujo
7
Implantação de Iões – Outro método utilizado para introduzir impurezas no
silício. Um implantador de iões produz iões da impureza desejada, acelera-os através de
um campo eléctrico e faz com que eles choquem contra a superfície do silício.
Deposição por vapor químico – Processo pelo qual os gases ou vapores reagem
quimicamente, levando à formação de um sólido sobre o substrato. Este método pode
ser usado para depositar dióxido de silício sobre o substrato de silício.
Metalização – Envolve a deposição de um metal (em geral alumínio) sobre toda
a superfície do silício. O traçado necessário para a inter conexão de terminais é, então,
selectivamente delineada (corroído). O alumínio é depositado por aquecimento em
vacum até que ele se vaporize. Os vapores, então, em contacto com a superfície de
silício, condensam-se para formar uma camada sólida de alumínio.
Encapsulamento – Uma lâmina de silício acabada pode conter centenas de
circuitos ou pastilhas finalizadas. Cada pastilha contêm entre 10 e 910 transístores e ter
uma forma rectangular, tipicamente entre 1 e 10 mm em cada extremidade. Finos fios de
ouro são tradicionalmente usados para interligar os suportes de encapsulamento aos
pontos de contacto do circuito acabado. Finalmente, o suporte é encapsulado (selado)
sob vacum ou em uma atmosfera inerte.
Fotolitografia – A geometria (traçado) de vários componentes do circuito
integrado é definida por um processo foto litográfico: durante as diferentes etapas de
fabrico (após a criação do substrato) é feito um revestimento com uma camada
fotossensível chamada de foto resiste. Quando uma placa fotográfica (máscara),
contendo o traçado mestre definido pelo projectista, é posicionada sobre a superfície do
silício e exposta à luz, a foto resiste torna-se solúvel (resiste positivamente) nas regiões
antigas (não mascaradas) pela luz. É depois possível remover o excesso de material
solúvel por lixiviação, resultando um padrão final com a geometria definida
inicialmente pelo projectista.
Após o processo concluído, o aspecto que um transístor MOS pode ter, está
representado na figura 2.1 em corte transversal.
PSTFC / Chipidea P.Correia/H.Araujo
8
Figura 2.1-Diversas camadas do MOSFET
2.2 FUNCIONAMENTO DO MOS
A obtenção de representações matemáticas que descrevam o funcionamento dos
diferentes dispositivos que estão disponíveis para uma determinada tecnologia, é um
aspecto fundamental do desenho de circuitos. O propósito de tais representações, ou
modelos como normalmente são designados, visam ajudar a prever o comportamento de
determinado componente ou sistema, mediante determinadas condições. Diversos
modelos têm sido desenvolvidos ao longo das últimas décadas tendo como alvo a
simulação. O estudo de tais modelos ultrapassa o âmbito deste projecto. Aqui iremos
apenas apresentar alguns modelos que servem para ajudar a projectar as células numa
fase de pré-simulação. O Mosfet será aqui tratado como um dispositivo de três
terminais, ou seja: porta, dreno e fonte (ver figura 2.2), sendo assumido que o substrato
se encontra ligado à mesma tensão da fonte. Assim sendo não se verifica o efeito de
corpo, não dando deste modo origem a alterações do nível da tensão de threshold. Uma
tensão aplicada na porta controla o fluxo de corrente entre a fonte e o dreno. A região na
qual circula essa corrente é denominada região do canal tendo a corrente o sentido
longitudinal do dreno para a fonte. Essa região é geometricamente controlada por dois
parâmetros variáveis o W e o L (Comprimento e Largura do canal), que por sua vez
podem ser ajustados conforme as especificações pretendidas para os diversos
dispositivos.
PSTFC / Chipidea P.Correia/H.Araujo
9
Figura 2.2-Terminais do MOSFET tipo N
Analisando um transístor do tipo n, (tipo p é idêntico, basta alterar a simetria das
tensões e pensar em termos de lacunas e não electrões), temos: A diferença de potencial
entre a porta e a fonte (Vgs) define a existência de canal. Assume-se, de forma simplista,
o que para as nossas células digitais é perfeitamente aceitável, que não existe canal
quando Vgs<VT. Quando tal não é verificado, cargas minoritárias (electrões) são atraídos
para a região debaixo da porta formando-se o canal, permitindo assim fluxo de corrente.
A magnitude da corrente é função de Vgs-VT, sendo a curva característica ainda
dependente da tensão dreno-fonte, Vds. Assim, para transístores do tipo n de canal
longo, obtém-se:
( )���
�
���
�−−=
2'
2ds
dstgsnd
VVVV
LW
KI -na região de tríodo, ou seja: tnGSDStnGS VVVVV −≤> ,
( )2' tgsnd VVL
WKI −= -na região de saturação, ou seja: tnGSDStnGS VVVVV −≥> ,
Para transístores do tipo p basta inverter o sinal de todas as tensões.
Desde já se pode verificar que podemos alterar as características dos circuitos
MOS, fazendo variar a relação W/L. Dentro do campo digital, normalmente opta-se pela
variação de W, sendo que L se costuma manter no valor característico da tecnologia, ou
seja, minL (minimização de áreas de desenho).
PSTFC / Chipidea P.Correia/H.Araujo
10
2.3 PRINCIPAIS PROBLEMAS E SOLUÇÕES
PARA TECNOLOGIAS SUBMICRON
2.3.1 Short-channel effect
No modelo apresentado na secção anterior, assumiu-se que o comprimento do canal era
longo; de facto para situações de canal curto o comportamento da corrente com as
restantes variáveis é perfeitamente distinto. Tal deve-se ao que se designa por Short-
channel effect. O controlo do Short-channel effect é um dos maiores desafios em
dimensões de comprimento de canal inferior a 1�m. No caso ideal, um MOSFET
deveria comportar-se como um interruptor, i.e., o fluxo de corrente deveria ser elevado
quando o dispositivo está activo, e deveria haver um fluxo de corrente mínimo no
dispositivo quando este se encontra desactivado. À medida que se reduzem as
dimensões dos dispositivos, torna-se muito difícil manter este comportamento de
interruptor ideal CMOS. O impacto primário do Short-channel effect é aumentar as
correntes de fuga quando os dispositivos estão desactivados. Um outro impacto prende-
se com a degradação da mobilidade efectiva dos portadores devido a diversos factores.
Um desses factores é o forte campo eléctrico causado pelas grandes tensões de porta e
pelos pequenos comprimentos da região do canal. Como consequência deste campo
eléctrico a velocidade dos portadores começa a diminuir, forçando a corrente a tomar a
seguinte expressão:
)( TDSATGSOXSATDSAT VVVWCI −−= υ,
na qual se observa a dependência linear da corrente de saturação com a tensão Vgs, em
contraste com a dependência quadrática que se observava nos dispositivos de canal
longo.
PSTFC / Chipidea P.Correia/H.Araujo
11
2.3.2 Latch-up
Como resultado dos diferentes implantes necessários ao desenho de circuitos
CMOS, surgem diferentes junções PN que dão origem a transístores bipolares parasitas.
Mediante determinadas condições pode ocorrer um fenómeno que se designa por Latch-
up e que se descreve como a geração de um caminho de baixa impedância, entre a linha
de alimentação e a linha massa, tendo como causa a interacção dos transístores bipolares
parasitas PNP e NPN e o ambiente que os rodeia.
Como se pode observar na figura 2.3, os transístores bipolares surgem das
múltiplas junções necessárias à formação dos transístores NMOS e PMOS.
Topologicamente formam-se amplificadores em montagens de emissor comum
inseridos numa configuração com realimentação positiva. Este circuito está redesenhado
na figura 2.4. Assim, e se de algum modo o latch-up é disparado, os transístores entram
em condução e quando o ganho da malha de realimentação é muito superior a um,
entram em franca condução curto-circuitando a alimentação. Se a fonte de tensão não
estiver limitada em corrente, então valores excessivos de corrente circularão pelo
dispositivos podendo uma parte, ou a totalidade dos circuitos serem destruídos.
Figura 2.3- Latch-up em CMOS
A título de exemplo, imaginemos que temos as bases dos transístores bipolares
capacitivamente ligadas, por exemplo à saída de um inversor CMOS com boa
capacidade de drive. Quando a saída deste mesmo inversor se altera, poderão aparecer
glitches nas bases dos transístores bipolares que poderão alterar o estado dos
transístores para on, iniciando assim o processo de latch-up.
PSTFC / Chipidea P.Correia/H.Araujo
12
Uma outra forma de alterar o estado dos transístores, está associada a hot-
carriers, que originam correntes de substrato. Estas correntes podem originar quedas de
tensão, nas resistências do substrato e Nwell, suficientemente elevadas a ponto de
activar os transístores.
Figura 2.4 - Circuito equivalente com os transístores parasitas bipolares
De modo a prevenir este problema o ganho da malha de realimentação deve ser
mantido abaixo da unidade. Este objectivo é atingido mantendo as resistências substratoR
e wellR o mais baixo possível. A forma de o conseguir será com a inserção do maior
número de contactos possíveis de substrato e n-well, criando caminhos de mais baixa
impedância para as correntes. Estes mesmos contactos devem ser colocados o mais
próximo possível das fontes dos transístores MOSFET.
PSTFC / Chipidea P.Correia/H.Araujo
13
2.4 VANTAGENS DA TECNOLOGIA CMOS
A tecnologia CMOS apresenta algumas vantagens relativamente aquelas mais
clássicas, nomeadamente a Bipolar. Um circuito lógico CMOS dissipa muito menos
potência do que os circuitos lógicos bipolares, o que permite uma maior escala de
integração para uma determinada potência. Possuem alta impedância de entrada,
permitindo a utilização de armazenamento de carga como meio de guardar informação
em circuitos lógicos como os de memória. Isto não pode ser feito de forma eficiente em
transístores bipolares.
A dimensão mínima (comprimento do canal) tem diminuído nos últimos anos
chegando actualmente a comprimentos de cerca de 90 nm, obtendo-se assim altas
densidades de integração.
2.5 CIRCUITOS INTEGRADOS
Para se ter uma perspectiva mais alargada acerca do desenho de circuitos
integrados, relativamente aos níveis de intervenção do projectista no desenho final e
automatização, vamos apresentar uma breve descrição dos diferentes tipos de circuitos
integrados disponíveis.
2.5.1 CLASSIFICAÇÃO QUANTO À SUA DENSIDADE
Devido à densidade de integração ser actualmente tão elevada, pode-se ter numa
pastilha de silício circuitos electrónicos bastante complexos. Mediante a sua
complexidade, as várias famílias de circuitos integrados podem ser classificadas quanto
à integração, da seguinte maneira:
� SSI ( Small Scale Integration)
Circuitos integrados compostos por portas lógicas elementares e também por
alguns dispositivos mais complexos (cerca de 100 componentes por circuito
tendo no máximo 10 portas lógicas).
PSTFC / Chipidea P.Correia/H.Araujo
14
� MSI ( Medium Scale Integration)
Circuitos integrados que implementam vários dispositivos que executam
algumas funções, tais como: contadores, codificadores, multiplexers, etc. .
Poderá ter entre 100-1000 componentes em cada pastilha, cerca de 100
portas lógicas.
� LSI ( Large Scale Integration)
Circuitos integrados que contêm dispositivos mais complexos: memórias,
microprocessadores, etc.. Aumentando assim para 1000-10000 componentes,
com um máximo de 1000 portas lógicas.
� VLSI ( Very Large Scale Integration )
Circuitos integrados com mais de 10 milhões de componentes.
2.5.2 CLASSIFICAÇÃO QUANTO AO TIPO
Além de se caracterizar os IC´s quanto à densidade de integração, também
podem ser classificados quanto à sua especificidade, sendo essencialmente cinco os
tipos de circuitos integrados: Full-Custom, ASIC´s ( Standard-Cells ), GATE-ARRAYS,
FPGA´s e PLD´s. Esta classificação está intimamente relacionada com o tipo de
intervenção que o projectista pode ter na concepção do sistema electrónico que pretende
construir, e na oferta de funcionalidades. A escolha de qualquer uma delas depende da
implementação ser Full-Custom ou Semi-Custom, conforme o diagrama abaixo ilustra,
seguindo-se uma explicação referente a cada uma:
PSTFC / Chipidea P.Correia/H.Araujo
15
� Full-Custom
Estilo totalmente personalizado, em que as células são projectadas desde o
inicio “manualmente”, sendo geradas especificamente para um projecto.
� Semi-Custom
Estilo semi-personalizado, onde são usadas células previamente desenhadas,
como é o caso das standard-cells.
� ASIC´s ( Application Specific Integrated Circuits )
Neste tipo de desenho o projectista apenas se preocupa com a concepção do
sistema. Todo o processo é automatizado pela ferramenta de CAD que
disponibiliza ferramentas de optimização que permitem a redução do número
total de componentes bem como do número de circuitos envolvidos,
traduzindo-se em menor área ocupada e consequentemente num menor custo
de fabrico e um menor consumo de energia. Comparativamente com
electrónica discreta, o desempenho é melhor uma vez que todo o sistema está
implementado numa única pastilha de silício (menores tempo de propagação,
maior imunidade ao ruído, menor área ocupada). O projecto de um ASIC
torna-se facilitado devido à disponibilidade de livrarias que contêm os
componentes básicos e reutilizáveis para a sua elaboração (
inversores,”buffer´s”, “nand´s”, flip-flop´s,” memórias , etc. ). Estas livrarias
são designadas por standard-cells, referenciadas mais à frente.
Tipos de Projecto
Full-Custom ( Totalmente personalizado (Desenho Bottom-up ao nível do transístor)
Semi-Custom ( Semi-personalizado)
Standard-Cells Programmable Logic
Gate-Arrays
FPGA´s PLD´s
PSTFC / Chipidea P.Correia/H.Araujo
16
� Gate-Arrays
São circuitos integrados cuja a estrutura interna é composta por uma matriz,
Gate-array, de portas lógicas elementares cujas as ligações são pré-
implementadas através dessas mesmas portas. Apesar de funcionarem a um
nível baixo ( portas lógicas elementares ligadas entre si ) também permitem
a utilização de standard-cells. Trata-se assim de circuitos personalizados por
algumas máscaras, caracterizado por ser um estilo intermédio entre os outros
dois principais (ASIC´s e FPGA`s ) em que o projectista neste caso só tem
que se preocupar com o planeamento das interligações entre os blocos da
matriz.
� FPGA´s ( Field Programmable Gate Arrays )
Surgem como a mais recente forma de implementação de circuitos
integrados. Semelhantes às Gate-Array mas com a vantagem de poderem ser
programadas e testadas de imediato pois são programadas electricamente
pelo próprio usuário. Além disso podem ser reprogramados várias vezes,
facilitando a correcção de eventuais erros e tornando-se os mais apropriados
para projectos em que as especificações vão evoluindo, assim como, para
projectos onde o hardware deve ser personalizado para o usuário. Como
consequência, permitem evitar custos altos e reduzir o tempo de fabricação
dos circuitos, apesar de apresentarem uma velocidade e densidade menores.
� PLD´s ( Programmable Logic Devices )
Muito semelhante às FPGA´s no que se refere a programação, ou seja, São
programados por interruptores accionados electricamente. A lógica é
implementada utilizando dois níveis AND-OR com portas AND de várias
entradas, apresentando uma vantagem face às FPGA´s. Essa vantagem reside
numa implementação lógica mais complexa conseguindo obter-se um maior
nível de integração.
PSTFC / Chipidea P.Correia/H.Araujo
17
2.6 STANDARD-CELLS
Após esta pequena introdução acerca de circuitos integrados, entende-se as
standard-cells como uma implementação importante no âmbito Semi-Custom. A sua
concepção é no entanto um processo Full-Custom, ou seja, são elaboradas para uma
tecnologia específica, no nosso caso 0.18 µm, e com especificações eléctricas e
funcionalidades bem definidas, portanto totalmente personalizado (para maiores
especificações e objectivos ver o capítulo da introdução). O resultado final traduz-se
numa biblioteca que contem todas as células, a que se dá o nome de Standard-Cells que
podem ser depois utilizadas nos desenhos Semi-Custom. O desenho das Standard-Cells
será condicionado pelos seguintes aspectos:
- o processo de fabrico requer a especificação de todos os níveis.
- módulos pré-desenhados fazem parte da biblioteca da tecnologia.
- blocos lógicos normalizados têm habitualmente a mesma largura.
- células agrupadas em colunas e interligadas entre si.
- colocação e interligação automáticas.
- possibilidade de utilização de blocos complexos e mistos analógico-digital.
A utilização destas bibliotecas tem vantagens e também desvantagens inerentes a
qualquer processo Full-Custom, algumas das quais passamos a citar:
� Vantagens
Os projectistas ganham tempo, dinheiro e o risco torna-se menor usando
células pré-projectadas.
São construídas em Full-Custom, o que faz com que cada célula possa ser
optimizada individualmente.
� Desvantagens
o tempo e o custo necessário para projectar ou comprar uma biblioteca de
standard-cell.
O tempo necessário para fabricar cada uma das camadas, consoante o
projecto.
PSTFC / Chipidea P.Correia/H.Araujo
18
O projecto de células para uma biblioteca envolve várias etapas desde da sua
especificação à sua validação. Sendo assim, segue-se um diagrama representativo do
fluxo associado ao projecto, com a descrição de cada uma das etapas e procedimentos
associados:
Definição da tecnologia
Esquemático
Simulação em Hspice do esquemático
Implantação do layout
Simulação em Hspice do layout
Caracterização da célula
Síntese do circuito teste
Simulação em Primetime
Projecto das células
Validação das células
Especificações da célula
PSTFC / Chipidea P.Correia/H.Araujo
19
� Especificação da célula
Nestas etapas são definidas as características de cada célula e os resultados
que devem apresentar no final da sua elaboração.
� Definição da tecnologia e seu esquemático
De modo a assegurar as especificações pretendidas, o circuito é realizado
com base numa tecnologia (CMOS, BICMOS, etc.) donde se extrai o
respectivo esquema.
� Simulação do Esquemático em Hspice
As simulações são utilizadas para verificar o correcto funcionamento do
esquema escolhido assim como, a melhor tecnologia a ser implementada.
Para tal são consideradas diferentes situações de carga, temperatura e tensão
de alimentação. Qualquer optimização deve ser realizada nesta fase.
� Implantação do Laçou (Cadencie)
Entende-se como layout a disposição estrutural de todos os componentes de
uma célula, sendo constituído por diferentes configurações geométricas, à
qual está associada uma camada, identificável por uma cor ou padrão
(exemplo: polissémico tem normalmente a cor vermelha). No seu conjunto
estas camadas definem os próprios componentes, a sua disposição e as
ligações entre eles existentes.
Como já se tinha referido anteriormente, o estilo a utilizar na execução do
desenho das máscaras é “Full-Custom”, personalizando todas as camadas
individualmente. Associado a esta etapa surgem outras tais como: DRC (Design Rule
Checking) onde é feita a verificação das regras de desenho consoante a tecnologia;
extracção de todas as capacidades parasitas existentes entre os nós; extracção da netlist,
descrição total do circuito, incluindo as capacidades parasitas, para ser usada na
simulação.
PSTFC / Chipidea P.Correia/H.Araujo
20
� Simulação em Hspice
A partir da netlist extraída na etapa anterior, é possível verificar o correcto
funcionamento do circuito desenhado, caso contrário, em que não cumpra as
especificações, é necessário o seu redimensionamento.
� Caracterização da célula
Após se terem realizado todas as simulações nas mais diversas condições, os
resultados, quanto a tempos de propagação, tempos descida e subida e
dissipação de potência, são utilizados para criar um ficheiro .lib que contem
toda a informação necessária sobre a mesma. De forma a ser possível a sua
utilização em ambiente digital efectua-se a compilação do .lib através do
Design Compiler (Synopsys) criando um ficheiro .db. Este ficheiro será
utilizado nas etapas de validação.
A validação do projecto realiza-se recorrendo a um circuito de teste que utilize
algumas das células da biblioteca e possui as seguintes etapas:
� Síntese
Partindo da descrição formal do circuito em linguagem verilog obtém-se o
seu diagrama funcional através do Design Compiler (Synopsys).
� Simulação em PrimeTime
A partir da netlist resultante da síntese, que contém toda informação
temporal do circuito faz-se em PrimeTime a análise temporal estática, cujo
resultado permite saber se as células utilizadas viabilizam o circuito.
PSTFC / Chipidea P.Correia/H.Araujo
21
CAPÍTULO 3
FERRAMENTAS
PSTFC / Chipidea P.Correia/H.Araujo
22
3.1 SPICE
O Spice é um programa de computador que pode ser utilizado para analisar a
operação de um circuito electrónico contendo uma variedade de componentes, por
exemplo, transístores, díodos, resistências, capacidades, etc. Utilizando as
especificações do usuário para os parâmetros dos modelos de componentes, o Spice
pode realizar uma análise DC para determinar a polarização (ou ponto de operação) de
cada componente, utilizar essa informação para calcular os parâmetros dos modelos
para pequenos sinais dos dispositivos e utilizar estes últimos para determinar o ganho de
tensão, a resposta em frequência, etc. Também análise temporais (transiente), AC, entre
outras, podem ser realizadas.
Para que o Spice possa realizar a simulação de um certo circuito, o usuário deve
fornecer os seguintes dados:
a) Descrição do circuito: uma descrição completa do circuito a ser analisado, seus
elementos, as fontes de sinal e de polarização presentes e como interligar os
elementos. Deve também, fornecer os parâmetros dos modelos empregados para
descrever os componentes electrónicos utilizados (componentes passivos e
activos).
b) Especificação das análises: os tipos de análise, por exemplo, DC, pequenos
sinais, transiente, etc., que o usuário deseja que o Spice realize.
c) Especificação dos resultados: o tipo de resultado que se deseja, por exemplo,
uma tabela contendo correntes e tensões DC, um gráfico da CTT (curva
transferência de tensão) de uma porta lógica etc.
PSTFC / Chipidea P.Correia/H.Araujo
23
3.2 CADENCE
Cadence engloba diversas formas de desenho CAD, integrando as mais recentes
tecnologias de concepção de circuitos integrados, e em que cada tecnologia de desenho
utiliza um conjunto de ferramentas flexíveis que apresentam resultados nas seguintes
áreas:
- System level design
- Functional Verification
- Emulation and Verification
- Synthesis/Place-and-Route
- Analog, RF, and mixed-signal design
- Custom IC Layout
- Physical Verification and analysis
- IC packaging
- PCB design
Como podemos constatar trata-se de um software poderoso, bastante útil nos
dias de hoje, em que cada vez mais a simulação tem um papel importante na concepção
de circuitos integrados. As tecnologias SoC (system-on-chip), estão num crescimento
progressivo, cujo aumento da demanda leva a uma maior sincronização entre o desenho
e a fabricação dos blocos analógicos e digitais. Apesar de haver métodos de desenho
automático de layout, recorre-se frequentemente à eficiência do desenho manual do
layout. Torna-se assim importante, trabalhar com uma ferramenta capaz, que ajude a
diminuir os custos e a aumentar a produtividade
Dentro das áreas anteriormente descritas, o nosso projecto enquadra-se em
Custom IC Layout. Esta área de desenho está centrada em um ambiente que utiliza os
produtos da família Virtuoso:
- Virtuoso Schematic Composer
- Virtuoso Layout Editor - Virtuoso Symbol Composer
PSTFC / Chipidea P.Correia/H.Araujo
24
Figura 3.1 - Custom IC Layout – diagrama de fluxo
Seguindo o fluxo descrito pela figura 3.1, vamos descrever para que servem
cada uma das ferramentas e como podem ser utilizadas:
� Virtuoso Schematic Composer
Como o próprio nome indica, com esta ferramenta é possível definir de um
modo detalhado a estrutura do projecto, criando o seu esquemático. Surge assim,
como o método tradicional para descrever o projecto ao nível do transístor ou
porta lógica.
O editor esquemático permite extrair da biblioteca da tecnologia correspondente
ou de outras bibliotecas, os componentes que fazem parte do projecto, fazendo
as colocações dos mesmos e respectivas ligações entre eles. Também está
incluído a fonte de alimentação, ligações à terra e respectivos terminais de
entrada e saída. O esquema resultante deve descrever as propriedades eléctricas
principais de todos os componentes e as suas interligações. A partir deste
esquema é possível extrair a netlist do mesmo, que é usada para as primeiras
simulações de modo a ser validado.
Como consequência disso, alguma modificação e melhoria de modo a optimizar
a prestação do circuito, como pode ser o caso do tamanho dos transístores, deve
estar presente no diagrama esquemático. Esta primeira etapa no fluxo do
projecto evidencia-se como extremamente importante. Para se ter uma ideia do
ambiente usado, apresentamos o esquemático da célula inversor
Virtuoso Schematic Composer
Virtuoso Layout Editor
DIVA / Verificação física
Livrarias - células - vistas Ficheiros tecnologia - correspondência com o símbolo - respeito das regras Verificação das regras - DRC - LVS
- Extracção
Virtuoso Symbol Composer
PSTFC / Chipidea P.Correia/H.Araujo
25
Figura 3.2 –Exemplo do Virtuoso Schematic
� Virtuoso Composer Symbol
O editor do símbolo permite criar uma descrição de um circuito, usando uma
caixa de selecção, pinos, figuras geométricas e etiquetas. Em projectos mais
complexos, compostos por vários módulos, a atribuição de um símbolo a cada
módulo torna o projecto mais transparente. Esta etapa simplifica pela maior
parte a representação esquemática do sistema total. A representação geométrica
usada para o símbolo, que poder ser referente a, por exemplo uma porta lógica(
NOT, NAND) é criada dentro de uma caixa rectangular com pinos de entrada e
de saída, conforme a figura 3.3, permitindo ao projectista desenhar um circuito
com múltiplos níveis de hierarquia.
PSTFC / Chipidea P.Correia/H.Araujo
26
Figura 3.3 –Exemplo do Virtuoso Symbol
� Virtuoso Layout Editor
O Editor de Layout do Virtuoso fornece um comando poderoso, incorporando
técnicas avançadas de edição e disposição estrutural, de maneira a suportar as
mais diversas tecnologias e metodologias de desenho de layouts. Tem como
trunfo a sua versatilidade, podendo o usuário implementar de raiz os mais
diversos componentes, como usar uma metodologia mais avançada que são as
células parametrizadas (P-cells), aumentando tanto a sua produtividade como a
sua densidade.
A implementação do layout é a etapa mais importante neste fluxo de projecto,
onde o desenhador descreve as diversas camadas a ser usadas na fabricação.
Como havíamos referido anteriormente, cada camada tem associada uma cor ou
padrão. A figura 3.4.a, referente à tecnologia por nós utilizada (0.18µm), mostra
alguma dessas camadas e cores respectivas.
O desempenho total do circuito ficará dependente da disposição do layout
(velocidade, área, potencia).
Portanto esta ferramenta, permite ao projectista implementar as diversas
camadas, em diferentes formas geométricas, de modo a melhorar a densidade do
layout.
PSTFC / Chipidea P.Correia/H.Araujo
27
Como exemplo, apresentamos na figura 3.4 abaixo o layout do inversor.
a) b)
Figura 3.4. a)–Diversas camadas da tecnologia b) Exemplo do Virtuoso
Layout
� DIVA / Verificação física O layout criado deve respeitar uma série de regras, referentes à tecnologia em
uso, a fim de assegurar uma probabilidade mais baixa de defeitos de fabricação.
Para tal, o Virtuoso Layout Editor possui uma ferramenta chamada DRC
(Design Rule Check) que permite detectar todos os erros cometidos, assegurando
que todas as violações das regras sejam removidas no projecto final.
Outra funcionalidade é a extracção do circuito após o layout feito, criando uma
netlist com a descrição física do circuito, ou seja, uma descrição dos vários
componentes envolvidos, suas interligações e as capacidades parasitas entre
camadas. Capacidades essas que vão ditar o seu desempenho. A netlist contendo
todas as características físicas dos componentes, será posteriormente utilizada
por uma ferramenta de simulação.
PSTFC / Chipidea P.Correia/H.Araujo
28
A ferramenta LVS (layout-versus-schematic) faz uma comparação entre a
disposição estrutural do circuito e o seu esquemático, de modo a comprovar que
são equivalentes, aumentando a confiança na integridade do projecto.
3.3 SYNOPSYS
A Synopsys tem como objectivo a elaboração de ferramentas electrónicas para
a automatização do projecto de circuitos integrados, de sistemas em uma micro-placa
(SoC) e outros sistemas electrónicos. Altamente especializada em tecnologia de alto
nível, como é o caso da síntese, permite aos seus usuários melhorarem os seus projectos
em desempenho, qualidade e custos. Para ficar com uma perspectiva das áreas em que a
Synopsys pode ser utilizada, apresentamos o seguinte diagrama de fluxo :
Figura 3.5 – Diagrama Synopsys (tirado da página web da Synopsys)
PSTFC / Chipidea P.Correia/H.Araujo
29
Conforme o diagrama da figura 3.5 nos mostra, as ferramentas permitem aos
projectistas o desenvolvimento e a verificação dos circuitos, para tal, especificam o
projecto em linguagem de alto nível, VHDL ou VERILOG, de modo a se proceder à sua
síntese.
Das várias ferramentas que a Synopsys possui, vamos apenas falar das que
foram utilizadas neste projecto :
- Design Compiler
- PrimeTime
� Design Compiler
O compilador de desenho, é uma ferramenta eficazmente usada na síntese e
optimização lógica. O objectivo da síntese é passar da descrição textual do
circuito, que pode ser em VHDL ou Verilog, para uma representação ao nível de
portas lógicas. Consequentemente, a optimização traz uma melhoria do
desempenho do projecto e uma minimização da área. Resumindo, a síntese
envolve os seguintes passos:
- Criar uma descrição funcional em VHDL/Verilog (também chamada
descrição RTL) do circuito.
- Fazer a síntese dessa mesma descrição para o nível lógico, composto
pelas standard-cells. Esta etapa é realizada usando o Design Analyzer, a
interface gráfica do Design Compiler, que pode ter como restrições, questões de
área e tempos.
� PrimeTime
Esta ferramenta entra na última parte da síntese como validação de circuito,
verificando se cumpre os requisitos temporais pretendidos. Trata-se portanto, de
uma ferramenta para o sincronismo e análise estática da integridade do sinal.
Para fazer essa análise, utiliza a netlist resultante da utilização do Design
Analyzer.
PSTFC / Chipidea P.Correia/H.Araujo
30
CAPÍTULO 4
STANDARD
CELLS
PSTFC / Chipidea P.Correia/H.Araujo
31
Neste capítulo vamos apresentar os vários esquemas eléctricos, assim como os
seus respectivos layouts, para as células já referidas na introdução.
4.1 INVERSOR
A primeira fase deste trabalho, consistiu no desenvolvimento do esquemático
das células que cumprisse com as requisitos propostos. Para tal, tomamos como ponto
de partida o inversor, cujo esquemático é constituído por dois transístores Mosfet, um
do tipo P e outro do tipo N, figura 4.1.
Figura 4.1 -Esquemático do inversor
A função lógica do inversor passa por inverter o sinal de entrada. Assim para
uma tensão de entrada (Vin) de valor VDD, temos o transístor M0 a conduzir e o M1 ao
corte, fazendo com que a saída apresente o valor de 0 V. Deste modo, o funcionamento
do inversor regir-se-á pelas equações do transístor de canal N, quer para correntes,
como para tensões, tempos e potências. Para uma tensão de 0 V em Vin, verifica-se o
contrário, ou seja M0 ao corte e M1 a conduzir. Logo neste estado, o funcionamento do
inversor regir-se-á pelas equações do transístor de canal P. Esta alternância de condução
PSTFC / Chipidea P.Correia/H.Araujo
32
dos dois transístores leva-nos a várias considerações em relação às simetrias entre os
dois transístores. Para obtermos uma característica de transferência de tensão simétrica,
assim como tempos de subida e descida similares, necessitamos de igualar os
parâmetros de transcondutância dos dois transístores. Assim:
pp
nn L
WK
LW
K ��
�
�=��
�
� ''
Uma vez que a mobilidade dos electrões, nµ , é cerca de duas a três vezes
superior à mobilidade das lacunas pµ , a simetria do circuito foi obtida projectando
np WW )3/2(= , já que mantivemos L constante. Em seguida realizamos várias
simulações em Hspice, de modo a estabelecer o melhor tamanho para os transístores e
testar a funcionalidade do esquemático. Inicialmente utilizamos np WW 3= , mas
viemos a verificar que não obtínhamos a simetria desejada. Assim resolvemos aplicar
np WW 2= , o que se apresentou como a melhor solução. De referir que esta foi a
relação usada para a totalidade das outras células.
A fase seguinte consistiu na elaboração dos layouts das células. Para tal foi
seguido um conjunto de regras (design rules) referente à tecnologia UMC 0.18 �m. As
Design rules fornecem uma linha de referência para o desenho das várias máscaras que
esta tecnologia engloba. Consistem em tamanhos e espaçamentos mínimos entre
objectos na mesma camada, ou em diferentes camadas. O fabricante define estas regras
para garantir que o sistema final esteja salvaguardado de possíveis defeitos devido à
resolução máxima no fabrico do IC.
Assim e como já referido no capítulo 2, as standard cells apresentam
tamanhos normalizados no que diz respeito a alturas. Isto acontece para que seja
possível a junção de várias células, de modo automático, em futuros circuitos. Para o
nosso caso :
Altura total : 7.12 µm
Espaçamento entre alimentação: 6.16 µm
Altura da Nwell: 4.3 µm
PSTFC / Chipidea P.Correia/H.Araujo
33
Figura 4.2 Dimensões das standard cells
Aplicando as regras de layout, tamanhos mínimos e relação np WW 2= ,
projectamos o layout do inversor, figura 4.3:
Figura 4.3 -Layout do inversor
PSTFC / Chipidea P.Correia/H.Araujo
34
Para cumprir o objectivo principal de minimização de área, utilizamos
valores mínimos permitidos pela tecnologia para todas as camadas ( mL µ18.0min = e
mW µ24.0min = ).
De modo a verificar a funcionalidade do layout, foi criada a vista extracted da
célula, a partir da qual se extraiu a netlist para simulação em Hspice (as netlists podem
ser consultadas no apêndice B). Uma vez que esta foi a primeira célula a ser executada,
foram realizadas simulações mais exigentes como por exemplo a medição de jitter
(tratado mais abaixo) e margens de ruído. Neste capítulo, iremos apenas apresentar os
resultados destas duas simulações, sendo que as restantes simulações se encontram no
próximo capítulo.
4.1.1 MARGENS DE RUÍDO
Margens de ruído podem ser definidas como margens de sinal para as quais o
nosso dispositivo é imune. Neste domínio podemos definir duas margens de ruído,
inferior e superior:
OLILL
IHOHH
VVNM
VVNM
−=
−= (4.1)
Estes valores foram medidos em Hspice aplicando um varrimento DC à tensão
de entrada e analisando a curva característica de tensão no ponto em que a derivada
toma o valor “–1”.
a) b)
Figura 4.4 -Margens de ruído para valores típicos a) inferior b) superior
PSTFC / Chipidea P.Correia/H.Araujo
35
O valor ideal esperado para as duas margens de ruído é equivalente a metade
do valor da alimentação aplicada. Assim pela análise da figura 4.4 podemos verificar
que o nosso inversor apresenta valores próximos dos ideais, sendo que a margem de
ruído inferior apresenta melhores resultados. Verifica-se ainda, o aumento das margens
de ruído em função da tensão, segundo a própria definição matemática 4.1.
4.1.2 Jitter
De modo a simular um funcionamento mais realístico do inversor foi-nos
pedido uma medição do jitter.
O que é o jitter?
Em situações reais de funcionamento podemos deparar-nos com problemas
associados à existência de ruído na alimentação. Este ruído pode ter consequências ao
nível da incerteza temporal na resposta a uma transição de entrada. Este efeito designa-
se por jitter, podendo ser definido da seguinte maneira:
1 – Desvio aleatório de uma transição de sinal relativamente à sua posição
ideal no tempo.
2 – Variação da temporização entre as transições.
Como consequência da variação das transições dos vários sinais, cria-se uma
incerteza acerca da posição temporal das mesmas. Esta incerteza pode levar a
desfasamentos de sinal, dando origem a maus funcionamentos por parte dos vários
circuitos.
Que diferentes tipos de jitter existem?
Podemos ter dois tipos de jitter:
- Cycle-to-Cycle Jitter:
Variação de dois períodos consecutivos de uma determinada onda de saída.
PSTFC / Chipidea P.Correia/H.Araujo
36
Figura 4.5 -Cycle-to-Cycle Jitter (Ts = T1, T2, ....)
- Edge-to-edge Jitter:
Variação dos tempos de propagação de uma célula, em períodos consecutivos.
Figura 4.6 - Edge-to-Edge Jitter
Como criar ruído?
A medição do jitter foi uma das dificuldades encontradas neste trabalho, visto
que o Hspice não contempla situações de ruído na análise transiente. Assim, fomos
obrigados a gerar o ruído na alimentação fora do Hspice, mais propriamente em Matlab.
Para tal geramos uma script (apêndice B), que gera um conjunto de valores aleatórios,
de distribuição normal com amplitude de 0.2 V em torno do valor VDD da alimentação.
Apresentamos na figura 4.7, um sinal de 1.2 V perturbado com ruído branco:
PSTFC / Chipidea P.Correia/H.Araujo
37
Figura 4.7 – Tensão de alimentação com ruído, para 1.2 V
Como importar ruído para Hspice?
Este ruído, criado em Matlab, foi importado para Hspice através de um
ficheiro, ruido.lib, contendo toda a informação relativa ao sinal de alimentação. De
modo a retirar a informação do ruido.lib através do Hspice, utilizamos a função PWL,
que permite criar um sinal contínuo, através da união de vários pontos isolados (tempo e
tensão). Deste modo, a função PWL a partir dos dados do ruido.lib, gera o sinal de
alimentação com ruído, que será utilizado nas simulações das diversas netlists.
Como medir jitter em Hspice?
Neste ponto definimos dois tipos de medições, uma para cycle-to-cycle jitter e
outra para o edge-to-edge jitter . Para efectuarmos estas medições criamos um programa
em Matlab que gera automaticamente um ficheiro, medidas.lib (Apêndice B), com o
conjunto de comandos necessários para que o HSPICE produza as necessárias medias.
O utilizador apenas precisa de indicar qual o número de amostras a utilizar nas
medições:
a) Cycle-to-cycle jitter – São medidos vários períodos adjacentes da onda de
saída.
PSTFC / Chipidea P.Correia/H.Araujo
38
b) Edge-to-edge jitter - É medido o tempo do ponto médio da onda de saída e
subtraído ao tempo do ponto médio da onda de entrada.
Por último, estes resultados foram exportados para Matlab, para tratamento
estatístico.
Para o inversor simulamos o seu funcionamento para duas tensões
[1.2V,3.6V], visto tratar-se do pior e do melhor caso, respectivamente, para uma
temperatura de 25ºC.
Medições do Cycle-to-cycle jitter
1.2 V: Jitter_max = 13.4 ps
Figura 4.8 (Jitter aleatório para 1.2 V de entrada)
PSTFC / Chipidea P.Correia/H.Araujo
39
3.6 V: Jitter_max = 1.9 ps
Figura 4.9 (Jitter aleatório para 3.6 V na entrada)
Os valores típicos de jitter, situam-se numa gama entre as dezenas e as centenas
de pico-segundos, pelo que os resultados encontrados são satisfatórios. Para uma melhor
percepção dos valores encontrados, apresentamos na figura 4.10 um histograma
limitado aos valores no intervalo [-3σ ,3σ ], ou seja um intervalo de confiança de 99%.
a) b)
Figura 4.10 -Distribuição histográfica de Jitter para a) 1.2V b) 3.6 V
A análise aos resultados obtidos leva-nos a concluir que para 1.2 V temos um
jitter maior, o que já era esperado, visto que nesse caso a relação sinal/ruído é menor.
Ao invés, para 3.6V obtivemos um jitter muito pequeno quase insignificante.
PSTFC / Chipidea P.Correia/H.Araujo
40
Estas medições relacionadas com o ruído tornam-se relevantes para células
sequenciais. Deste modo, medimos o jitter no inversor apenas e só por interesse
didáctico, sendo que só o iremos medir novamente no caso do flip-flop. Neste caso faz
muito mais sentido por se tratar de uma célula em que o sincronismo é bastante
importante.
4.2 BUFFER E NAND
Para a criação do esquemático do buffer, figura 4.11.a, limitamo-nos a seguir a
sua definição, que se pode resumir basicamente a dois inversores em série. Deste modo
a sua função lógica não é mais que a propagação de um certo sinal de entrada para a
saída com um certo atraso.
A função NAND de duas entradas é descrita pela seguinte função lógica:
BAY +=
Conforme a figura 4.11.b, podemos verificar que o esquemático da nand é
composto por dois blocos: um pull-up e um pull-down. O bloco pull-up é constituído
por dois transístores do tipo P em paralelo. O bloco pull-down é constituído por dois
transístores do tipo N em série.
a) b)
Figura 4.11 -Esquemático a) buffer b)nand
PSTFC / Chipidea P.Correia/H.Araujo
41
Relativamente aos layouts a presença de transístores em série e em paralelo
nestas células, permitiu-nos efectuar a junção dos drenos e fontes sob a mesma área
activa, reduzindo-se assim as capacidades parasitas e a área total.
Um cuidado que tivemos na concepção deste mesmos layouts prendeu-se com os
contactos da alimentação, VDD e GND. Ao colocarmos contactos extras nestas regiões
de alimentação minimizamos os efeitos de latch-up, já referidos no capítulo 2, e
reduzimos possíveis descontinuidades nas camadas de metal. Estas descontinuidades
surgem devido ao acentuado declive existente na camada de metal, quando a distância
entre contactos é elevada [7].
Figura 4.12 –Layouts a)buffer b)nand
PSTFC / Chipidea P.Correia/H.Araujo
42
4.3 MULTIPLEXER
O nosso esquemático foi baseado num circuito retirado do livro [5]. Devido à
complexidade do esquemático CMOS do Mux, resolvemos apresentar o mesmo com
portas lógicas de modo a tornar-se mais perceptível.
-Esquemático :
Figura 4.13 –Esquemático do mux
O esquemático acima, poderia ser mais simples se eliminássemos os dois
inversores à entrada, substituindo-os por um só à saída para evitar a inversão lógica. Do
ponto de vista funcional esta solução apenas serve para que a carga de entrada seja
equivalente às restas células. Isto torna-se importante pelo facto das células serem todas
caracterizadas para o mesmo tipo de carga. Deste modo optamos por manter a solução
da figura 4.13.
PSTFC / Chipidea P.Correia/H.Araujo
43
- Layout:
Figura 4.14 – Layout do mux
Nesta célula, (figura 4.14) acentua-se novamente o facto de se usar a mesma
zona activa para todos os transístores apesar de se tratar de uma célula já com um
relativo tamanho e complexidade. Conseguimos também projectar a célula usando
apenas uma camada de metal, o que surge como uma vantagem, devido à redução
substancial de capacidades parasitas que surgem entre metais. Quanto aos tamanhos dos
transístores, optamos por aumentar nW para 0.48 �m, pois tal facilitou a inserção de
contactos entre as várias polys, economizando assim a área.
4.4 FLIP-FLOP
O flip-flop pertence à família dos sistemas sequenciais, onde a sua saída não
depende apenas dos valores actuais de entrada, mas também dos seus valores anteriores,
funcionando tipicamente como um sistema com memória.
PSTFC / Chipidea P.Correia/H.Araujo
44
No nosso caso, o flip-flop pretendido era do tipo D, edge-triggered com scan,
preset e clear assíncronos. O scan traduz-se na presença de um multiplexer de dois para
um, à entrada do flip-flop tipo D, permitindo ter controlabilidade e observabilidade
sobre o caminho que o sinal de entrada percorre. Assim sendo teremos à entrada do
multiplexer, conforme mostra a figura 4.15, duas entradas D e TI (test-input)
controladas por TE (test-enable). Com TE negado, temos à saída o valor da entrada D;
com TE a um, temos à saída o valor da entrada TI. O que nos leva a concluir que, com
TE a zero dá-se a observabilidade do circuito (D para Q), com TE a um, dá-se a
controlabilidade, permitindo colocar em Q a lógica pretendida.
Para tal, o esquemático escolhido para o flip-flop D envolve apenas Nands de
três entradas [12]. A inclusão do scan no circuito foi efectuada através da inserção do
mux 2x1, projectado anteriormente, à entrada. Pode-se observar o resultado, na figura
4.15. Após simulação do esquemático, referente à figura 4.15, e ter-se chegado a valores
que respeitam as especificações, passamos para o desenho do layout.
-Esquemático:
Figura 4.15 –Esquemático do flip-flop
PSTFC / Chipidea P.Correia/H.Araujo
45
-Layout:
Figura 4.16 –Layout do flip-flop
Conforme já havíamos referido no layout do mux, devido a um grande número
de transístores, neste caso quarenta e oito, a complexidade do desenho aumenta. Como é
visível no layout da figura 4.16, utilizamos para o scan o layout do mux, sem qualquer
alteração. As dimensões dos transístores que formam o flip-flop tipo D, são as mínimas,
o que facilitou, juntamente com a utilização de uma só zona activa, a minimização da
área. Como já foi referido anteriormente, o flip-flop foi projectado com nands de três
entradas. Uma vez que não disponhamos de layouts destas células, tivemos de projectar
todo o flip-flop de raiz.
Foi então realizada a extracção da netlist para posterior simulação em Hspice.
Todos os resultados respectivos às medições necessárias para a sua caracterização
encontram-se no Apêndice A. Na figura 4.17, apresentamos um diagrama temporal
representativo do seu funcionamento que engloba todos os casos da tabela da verdade
4.1.
PSTFC / Chipidea P.Correia/H.Araujo
46
S R TE TI D CLK Q 1 1 0 X 1 1 1 1 0 X 0 “ 0 1 1 1 1 X “ 1 1 1 1 0 X “ 0 0 1 X X X “ 1 1 0 X X X “ 0 1 1 X X X não muda 0 0 X X X X ilegal
4.1 -Tabela da verdade do SFDRSQ1
Figura 4.17 –Diagrama temporal do flip-flop
Analisando o diagrama, verifica-se que circuito responde de acordo com o
pretendido, confirmando a sua observabilidade e controlabilidade. Também podemos
verificar que o preset e o clear são activos a zero e de forma assíncrona, ou seja,
independentes do sinal de clock.
PSTFC / Chipidea P.Correia/H.Araujo
47
No capítulo a seguir iremos fazer referência a como foram realizadas as
medições dos tempos de setup e hold. Em baixo apresentamos os resultados obtidos
relativamente à simulação do jitter.
Uma vez que o flip-flop se trata de uma célula sequencial, já faz sentido uma
análise mais detalhada ao problema do jitter, pelo que iremos apresentar medições
referentes aos dois tipos de jitter: edge-to-edge e cycle-to-cycle.
Foram realizadas medições para todas as combinações de entradas possíveis,
sendo de referir o pior caso que encontramos, ou seja D a 0, com TE igual 0, CLEAR
igual 1, fazendo-se a comutação do PRESET com o mesmo período do clock, para uma
tensão de 1.2V e uma temperatura de 25 ºC.
Para o cycle-to-cycle jitter:
Jitter_max = 87 ps
Figura 4.18 -Jitter aleatório para 1.2 V de entrada
Para o edge-to-edge jitter o pior caso detectado verificou-se para D igual a 1,
com TE igual a 0, PRESET igual 1, fazendo-se a comutação do CLEAR com o mesmo
período do clock, para uma tensão de 1.2 V e uma temperatura de 25 ºC:
Jitter_max = 61.7 ps
PSTFC / Chipidea P.Correia/H.Araujo
48
Figura 4.19 -Jitter aleatório para 1.2 V de entrada
a) b)
Figura 4.20 -Distribuição histográfica do pior Jitter encontrado
a)cycle-to-cycle b)edge-to-edge
Tal como o esperado à partida, para o flip-flop encontramos valores muito mais
significativos de jitter, do que para o inversor. Isto fica a dever-se basicamente à maior
quantidade de transístores existentes no flip-flop, o que implica um maior nível de
ruído. De referir que o ruído foi criado em Matlab de uma forma aleatória seguindo uma
distribuição normal, e tal como se veio a verificar, o jitter medido segue essa mesma
distribuição (figura 4.20).
Resumindo cremos que os valores encontrados estão dentro dos valores
previstos, ou seja entre as dezenas e as centenas de pico-segundos. A aplicação deste
PSTFC / Chipidea P.Correia/H.Araujo
49
método que junta Matlab e Hspice na determinação do jitter revelou-se bastante
eficiente, pelo que acreditamos ser uma boa técnica a usar em trabalhos futuros.
Estas cinco primeiras células apresentadas formavam uma primeira etapa do
trabalho. Na segunda etapa foi-nos pedido que projectássemos 4 células derivadas do
inversor e do buffer. As células são: o inversor 4, 16 e o buffer 4, 16. Na realidade estas
quatro células desempenham a mesma função que as já apresentadas anteriormente, a
principal diferença reside na capacidade de carga (Fan-out). Assim, por exemplo, para o
inversor 4 deveríamos ter, para uma carga na saída de quatro vez a usada na simulação
do primeiro inversor, tempos semelhantes. Ou seja, este aumento de capacidade de
alimentar maiores cargas tem de ser equilibrado com o tamanho dos transístores, quer
aumentando os mesmos, quer colocando outros em paralelo de modo a formar
transístores equivalentes de maiores capacidades. Os layouts resultantes encontram-se
no apêndice A.
PSTFC / Chipidea P.Correia/H.Araujo
50
CAPÍTULO 5
CARACTERIZAÇÃO
DAS
CÉLULAS
PSTFC / Chipidea P.Correia/H.Araujo
51
Neste capítulo vamos apresentar o resultado das várias simulações efectuadas
aos layouts das células de modo a caracterizá-las em função de tempos, potencias e
áreas. O resultado desta caracterização será transposto para um ficheiro livraria, .lib, que
quando compilado servirá como base para futuras ferramentas de síntese e análise.
Inicialmente apresentaremos uma pequena introdução aos métodos de medida
utilizados.
5.1 MÉTODOS DE MEDIDA
5.1.1 TEMPOS
De modo a caracterizar uma célula são efectuadas várias medições de tempo, de
entre as quais se destacam os tempos subida e descida ( fallrise tt , ), os tempos de
propagação( phlplh tt , ) e os tempos de setup e hold, estes últimos para flip-flops. Deste
modo define-se tempo de subida de uma onda, como o intervalo de tempo medido entre
o instante em que a onda vale 10 % da sua transição até ao momento em que vale 90%
da mesma. Para o tempo de descida ocorre exactamente o inverso, ou seja, estamos
perante uma transição descendente da onda e os instantes de medição dos tempos
ocorrem entre 90 e 10%, respectivamente, da transição. Estes tempos, ilustrados na
figura 5.1, podem ainda tomar outros valores de referência como de 0 e 100%. No nosso
trabalho todos estas medições foram efectuadas utilizando 10 e 90%.
Figura 5.1 – Definição de tempos de transição e de propagação
PSTFC / Chipidea P.Correia/H.Araujo
52
Nesta mesma figura 5.1 podemos verificar também o conceito de tempo de
propagação, quer de subida, quer de descida. Como se pode verificar, este tempo está
associado ao intervalo que decorre entre o momento em que a onda de entrada de um
circuito vale 50% do seu valor final, até o momento em que a onda de saída vale
igualmente 50 % do seu valor final. Quando a onda de saída se encontra numa transição
de subida temos plht (time propagation low to high), quando se encontra numa transição
de entrada temos phlt (time propagation high to low).
Para os flip-flops surge-nos ainda a necessidade de definir dois tempos
adicionais, os de setup e hold. Os dados da linha de entrada D do flip-flop devem surgir
um instante de tempo mínimo antes da transição do clock. A este intervalo de tempo
chamamos tempo de setup. Logo após à transição do clock há a necessidade de manter
estável a mesma linha de dados D durante um período mínimo de tempo, a que
chamamos tempo de hold. Este período de espera é necessário para garantir que o sinal
seja bem interpretado pelo flip-flop. Na prática, o que acontece é que por vezes os dados
são removidos um pouco antes da transição de clock, mas devido aos tempos de
propagação, a entrada é interpretada correctamente dando origem a tempos de hold
negativos, não prejudicando assim o correcto funcionamento do circuito.
Figura 5.2 – Definição de tempos de setup e hold
5.1.2 POTÊNCIAS
PSTFC / Chipidea P.Correia/H.Araujo
53
Um dos aspectos mais importantes na caracterização de uma célula digital
prende-se com os consumos das mesmas, ou seja a medição das potências, quer em
regime estático, quer em regime dinâmico, nas transições de subida e de descida da
onda de saída, figura 5.3.
Figura 5.3 - Correntes típicas do CMOS
� Regime estático:
Idealmente, o consumo de potência estática num circuito CMOS é igual a zero,
visto que os dispositivos NMOS e PMOS nunca estão a conduzir simultaneamente. Mas
infelizmente isto não acontece devido à existência de correntes minoritárias presentes
nas junções dreno, fonte dos dispositivos. Multiplicando esta corrente pelo valor da
fonte de alimentação obtém-se a potência estática.
DDestest VIP .= (5.1)
Esta potência depende exponencialmente da temperatura, devido ao efeito que
esta exerce sobre a velocidade dos portadores de carga, dando origem a maiores
correntes. Para as nossas células medimos esta potência utilizando a função .OP do
Hspice.
� Regime dinâmico:
Iest = corrente estática Icc = corrente de curto-circuito Icom = corrente de comutação
PSTFC / Chipidea P.Correia/H.Araujo
54
Durante as comutação de estado entre os dois tipos de dispositivos CMOS ocorre
a condução simultânea dos mesmos, dando origem à libertação de potência dinâmica.
fVCP DDLdin .. 2= (5.2)
Neste regime podemos definir dois tipos de potência dinâmica, potência de
curto-circuito e potência de comutação. Potência de curto-circuito é cerca de 10 a 30 %
do total da potência dinâmica sendo a potência de comutação cerca de 70 a 90 % da
potência dinâmica.
Para a criação do .lib, necessitávamos apenas da potência de curto-circuito. Para
efectuarmos esta medição, integramos o gráfico da potência dada pelo Hspice, na
transição desejada (figura 5.4). Tomamos este valor como majorante da potência de
curto-circuito.
Figura 5.4 – Potência dinâmica para o inversor
5.1.3 SIMULAÇÃO DE MONTE CARLO
Um aspecto bastante importante na concepção e caracterização de células
digitais passa pelo facto de tomarmos conhecimento que na vida real nem tudo é
perfeito. Assim aquando da fabricação dos dispositivos poderão haver variações dos
parâmetros dos mesmos, em particular dos W’s e L’s dos transístores. Para simular este
problema, efectuamos algumas simulações aplicando o método de Monte-Carlo.
PSTFC / Chipidea P.Correia/H.Araujo
55
Monte-Carlo é um método estatístico que utiliza uma sequência de números
aleatórios, para realizar uma simulação.
Para as nossas células fizemos variar o W dos transístores, com uma variação
a rondar os 30%. Esta variação seguiu uma distribuição gaussiana em redor do seu valor
médio, para 30 casos. O uso de 30 casos permitiu garantir uma variância no intervalo
[-3σ ,3σ ], contemplando cerca de 99% dos casos possíveis.
Em Hspice esta simulação é efectuada, realizando uma variação na análise
transitória, com o número de simulações pretendidas, neste caso 30:
.tran 1n 30n SWEEP MONTE=30
.param weff=gauss(0.66u,0.3) *Variação gaussiana do parâmetro W.
5.2 CRIAÇÃO DOS .LIB
Esta etapa envolveu a criação de três ficheiros .lib que contêm toda a informação
relativa ao funcionamento de todas as células. Estes ficheiros apresentam três condições
de funcionamento: worst_case, typical_case e best_case; 1.2 V a 125 ºC, 2.5 V a 25 ºC
e 3.6 V a –40 ºC, respectivamente. O objectivo inicial desta caracterização envolvia
apenas a simulação para uma carga de saída (7 fF) mas devido às exigências das
ferramentas de síntese, relativamente a caminhos críticos, fomos obrigados a
caracterizar as mesmas células para mais cargas de saída. Assim optamos por utilizar a
carga inicialmente prevista, a carga máxima da célula e uma intermédia. A totalidade
dos resultados podem ser consultados no apêndice A. Neste capítulo apresentaremos
alguns exemplos de tempos e potências para piores casos de funcionamento com a carga
nominal.
A estrutura dos ficheiros .lib baseiam-se nos seguintes parâmetros de medida:
max_transition : tempo máximo de transição subida/descida
max_capacitance : Capacidade máxima de carga para a qual o circuito mantém a
sua funcionalidade
function : função lógica do circuito
PSTFC / Chipidea P.Correia/H.Araujo
56
cell_fall : tempo de propagação high to low ( phlt )
fall_transition : tempo de descida da onda de saída ( ft )
cell_rise : tempo de propagação low to high ( plht )
rise_transition : tempo de subida da onda de saída ( rt )
capacitance : capacitância de um certo pino de entrada
min_pulse_width : frequência máxima de funcionamento de uma célula
cell_leakage_power : potência estática dissipada
fall_power : potência dinâmica dissipada numa transição de descida
rise_power : potência dinâmica dissipada numa transição de subida
5.2.1 SIMULAÇÕES
a) b)
Figura 5.4 -Tempo de atraso do a)inversor b) buffer
Na figura 5.4 encontra-se representado o tempo de atraso, ou seja, a média
encontrada entre os dois tempos de propagação tphl e tplh , em função da temperatura e da
tensão. A partir das equações definidas abaixo(5.2) para o inversor, podemos concluir
que ao aumentarmos a tensão VDD, diminuímos o tempo de propagação.
PSTFC / Chipidea P.Correia/H.Araujo
57
DDp
Lplh VK
CT
.≅
DDn
Lphl VK
CT
.≅ (5.2)
O aumento da temperatura traduz-se numa diminuição de Kp/Kn [2], através de:
5.1
0)0()(
−
��
�
�=TT
TKtK pp 5.1
0)0()(
−
��
�
�=TT
TKtK nn (5.3)
Logo pela diminuição de Kp/Kn podemos esperar um amento dos tempos de
propagação, tal como se verifica na figura 5.4.a.
Observando a figura 5.4.b, constatamos que o tempo de atraso do buffer
praticamente duplicou em relação ao tempo de atraso do inversor. Isto acontece porque
o buffer não é mais que dois inversores em série, impondo portanto o dobro do atraso.
a) b)
Figura 5.5 -Potência dinâmica consumida pela nand no pior caso
a)subida b)descida
Podemos verificar na figura 5.5 a simetria da nand em relação a dissipação de
potência durante as transições de subida e descida, dissipando quantidades de potência
muito similares, na ordem das dezenas de fW. Como se esperava, o aumento da tensão
dá origem a um aumento da potência dissipada, segundo (5.2).
PSTFC / Chipidea P.Correia/H.Araujo
58
Para o Mux verifica-se que a relação dos tempos de propagação com a
temperatura e a tensão mantém-se, verificando-se um aumento devido à presença de
vários andares de transístores (figura 5.6.a). Este aumento do número de transístores
provoca também uma maior dissipação de potência, conforme se verifica na figura
5.6.b.
a) b) Figura 5.6 – a)Tempo de atraso do Mux b) Potência dinâmica consumida pelo Mux
Relativamente à medição dos tempos de setup e hold, pretendemos criar
diversos sinais de entrada, cujo atraso na transição relativamente ao clock, fosse
gradualmente aumentado. Para garantir um maior rigor nas medidas efectuadas,
realizamos um processo análogo ao do jitter. Criamos uma script em Matlab que era
responsável pela variação do parâmetro do atraso do sinal de dados (apêndice B). Em
seguida importou-se esta script para Hspice de modo a medir os respectivos tempos de
setup e hold. Os resultados obtidos revelaram-se satisfatórios.
Em comparação com as restantes células, o maior número de transístores que o
flip-flop necessitou (48) traduziu-se num aumento do tempo de propagação e num
aumento de potência dissipada, como se poderia antecipar.
O segundo conjunto de células (buffers e inversores de maior fan-out) foram
desenhadas colocando em paralelo, sempre que possível, células previamente
projectadas, como é o caso dos inversores. Nas situações em que se confirmou que este
não era o procedimento mais eficiente, aumentou-se o tamanho dos transístores (e.g.
buffers). Comparando os tempos para ambas as situações (célula simples versus as
presentes) podemos concluir que respondem de maneira muito semelhante, conforme o
pretendido.
PSTFC / Chipidea P.Correia/H.Araujo
59
a) b)
Figura 5.7 -Tempo de atraso a)inversor4 b)inversor 16
Pela figura 5.7, exemplificativa dos tempos de atraso para os inversores 4 e16,
verificamos que os mesmos tempos de atraso se mantêm na ordem das dezenas de pico-
segundos tal como acontecia para o inversor 1. Uma análise mais exaustiva às tabelas
do apêndice A, dá-nos também a confirmação destes tempos para os buffers. Em relação
a potências confirma-se também um aumento de consumos, consequência das maiores
dimensões dos transístores.
PSTFC / Chipidea P.Correia/H.Araujo
60
5.3 SÍNTESE E VALIDAÇÃO DAS CÉLULAS
Como havíamos referido anteriormente esta etapa passa pela elaboração de um
circuito teste que utilize a biblioteca das nossas standard cells. Para tal resolvemos
implementar um circuito simples. Deste modo implementamos um contador de 4 bits,
ascendente, descendente, cujas etapas passamos a descrever.
Precisamos primeiro da descrição VERILOG do nosso circuito lógico, que é
bastante simples como se pode demonstrar pela transcrição seguinte:
module updown_counter(clk, reset, enable, down, dout, end_count);
input clk, reset, enable, down;
output [3:0] dout;
reg [3:0] dout;
output end_count;
assign end_count = enable & (down ? (dout==0) : (dout==15) );
always @(posedge clk or posedge reset)
begin
if (reset)
dout <= 0;
else
begin
if (enable)
if (down)
dout <= dout - 1;
else
dout <= dout + 1;
end
end
endmodule
PSTFC / Chipidea P.Correia/H.Araujo
61
A partir desta descrição e utilizando os ficheiros .db, anteriormente criados,
sintetizamos o contador com as nossas standard cells, através da ferramenta
Design_compiler.
Figura 5.8 – Contador de 4 bits
A informação contida nesta síntese foi transferida para um ficheiro .db, para ser
usada pela ferramenta de análise temporal estática, Primetime. Neste ponto procedemos
à validação das células, analisando os diversos “caminhos” entre as várias entradas e as
saídas. Para o caminho mais crítico foi efectuada uma análise aplicando um clock de
100 MHz:
PSTFC / Chipidea P.Correia/H.Araujo
62
report_timing
Report_timing indica-nos o atraso introduzido por cada célula, cuja soma
protagoniza o tempo total do caminho mais crítico. Verifica-se portanto uma tolerância
de 8.11 ns, o que valida o nosso contador e consequentemente as nossas células.
Uma outra análise realizada prendeu-se com o espaço ocupado pelo contador,
através do comando report_reference :
report_reference
Como se pode verificar a partir da última tabela, apenas o conjunto das células
por nós criadas foram utilizadas (embora nem todas) pelo Design-compiler. Este
contador poderia ter empregue bem menos que as actuais 63 células, caso a nossa
biblioteca contemplasse células and, or ou nor (não faziam parte dos objectivos deste
projecto)..
PSTFC / Chipidea P.Correia/H.Araujo
63
CAPÍTULO 6
CONCLUSÕES
PSTFC / Chipidea P.Correia/H.Araujo
64
A elaboração de uma biblioteca de standard-cells segue uma série de etapas
bem determinadas e descritas ao longo deste relatório. O início do projecto englobou
uma pesquisa e um estudo acerca de conceitos relacionados com tecnologias CMOS em
geral e deste tipo de células em particular. Foi necessário uma ambientação aos
conceitos de desenho layout CMOS bem como às ferramentas necessárias para projectar
Standard-Cells: Hspice e Cadence. A sua utilização deu para perceber que se tratam de
ferramentas poderosas, com grande grau de fiabilidade ao nível da simulação e desenho
CAD.
O desenvolvimento de standard-cells está envolvido num processo Full-
Custom, onde tudo é realizado manualmente desde as especificações da célula, até à
implementação do seu layout, tendo associado um enorme custo e tempo. De modo a
poderem ser utilizadas em projectos ASIC ou outros, todas as células foram
caracterizadas quanto a tempos e potências formando uma biblioteca onde está contida
toda essa informação.
A realização de um circuito teste, o contador de 4 bits, permitiu validar as
células sob um ponto de vista funcional. Esta etapa de síntese e validação englobou a
aprendizagem de novas ferramentas: o Design compiler, o Primetime da Synopsys. A
validação temporal do circuito foi positiva, o que faz com que a biblioteca esteja
aprovada para ser utilizada em outros projectos associados à tecnologia umc 0.18 �m.
O trabalho de futuro será a extracção dos ficheiros .lef e .def da nossa
biblioteca, necessários para a implementação do layout de um circuito integrado final.
Posteriormente, será realizada a sua fabricação e teste. A 1ª fase desta etapa, a
extracção dos ficheiros, não foi conseguida devido a ser necessário o ficheiro .lef
referente à tecnologia umc 0.18, o qual não nos foi facultado.
A biblioteca por nós desenvolvida, apesar de ter apenas nove células, pode
futuramente ser completada com outras mais de maneira a tornar-se mais consistente e
ser utilizada em projectos de complexidade mais elevada que um simples contador de 4
bits.
Como conclusão final, podemos afirmar que os objectivos foram cumprimos
na íntegra, aprofundando e desenvolvendo conhecimentos na área da Microelectrónica.
PSTFC / Chipidea P.Correia/H.Araujo
65
BIBLIOGRAFIA :
[1] - Microelectronic circuits / Adel S. Sedra, Kenneth C. Smith. New York : Oxford
University Press, cop. 1998.
[2] - CMOS circuit design, layout, and simulation / R. Jacob Baker, Harry W. Li, David
E. Boyce. New York : IEEE Press, cop. 1998.
[3] - CMOS digital integrated circuits : Analysis and design / Sung-Mo (Steve) Kang,
Yusuf Leblebici. Boston [etc.] : WCB McGraw-Hill, 1999.
[4] - Analog integrated circuit design / David Johns, Ken Martin. New York : John
Wiley & Sons, cop. 1997
[5] - Digital integrated circuits : A Design perspective / Jan M. Rabaey. Upper Saddle
River : Prentice-Hall, Inc, cop. 1996.
[6] - Electrónica digital / Egas Branco, Fernando Reis Silva. Lisboa : Dinalivro, [1993]
[7] – Design of analog-digital vlsi circuits for telecommunications and signal processing
/ José E. Franca, Yannis Tsividis, Editors. Prentice Hall, [1994]
[8] – Manuais online de CADENCE , DESIGN_COMPILER , PRIMETIME
[9] – HSPISE User’s manual. Meta-Software 1995.
Sites:
[10]- http://www.ee.ncu.edu.tw/~jfli/vlsi1/lecture
[11] -http://www.owlnet.rice.edu/~watkinst/tutorial/
[12] - www.ee.pdx.edu/~greenwd/ch03art.pdf
PSTFC / Chipidea P.Correia/H.Araujo
66
Introdução
1.1 INTRODUÇÃO......................................................................................................................................2 1.2 OBJECTIVOS........................................................................................................................................2
Conceitos teóricos
2.1 FABRICAÇÃO CMOS ..........................................................................................................................5 2.2 FUNCIONAMENTO DO MOS.............................................................................................................7 2.3 PRINCIPAIS PROBLEMAS E SOLUÇÕES ........................................................................................9
2.3.1 Short-channel effect........................................................................................................................9 2.3.2 Latch-up........................................................................................................................................10
2.4 VANTAGENS DA TECNOLOGIA CMOS ........................................................................................12 2.5 CIRCUITOS INTEGRADOS ..............................................................................................................12
2.5.1 CLASSIFICAÇÃO QUANTO À SUA DENSIDADE.................................................................13 2.5.2 CLASSIFICAÇÃO QUANTO AO TIPO.....................................................................................14
2.6 STANDARD-CELLS...........................................................................................................................16
Ferramentas
3.1 SPICE ...................................................................................................................................................21 3.2 CADENCE ...........................................................................................................................................22 3.3 SYNOPSYS..........................................................................................................................................28
Standard cells
4.1 INVERSOR..........................................................................................................................................31 4.1.1 MARGENS DE RUÍDO...............................................................................................................34 4.1.2 Jitter ..............................................................................................................................................35
4.2 BUFFER E NAND ...............................................................................................................................40 4.3 MULTIPLEXER ..................................................................................................................................42 4.4 FLIP-FLOP...........................................................................................................................................43
Caracterização das células
5.1 MÉTODOS DE MEDIDA ...................................................................................................................51 5.1.1 TEMPOS ......................................................................................................................................51 5.1.2 POTÊNCIAS ................................................................................................................................53 5.1.3 SIMULAÇÃO DE MONTE CARLO...........................................................................................54
5.2 CRIAÇÃO DOS .LIB...........................................................................................................................55 5.2.1 SIMULAÇÕES.............................................................................................................................56
5.3 SÍNTESE E VALIDAÇÃO DAS CÉLULAS ......................................................................................60
Conclusões .................................................................................................................................................64
BIBLIOGRAFIA .........................................................................................................................................65