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

Relatorio final V VGT - paginas.fe.up.pt

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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]

Page 2: Relatorio final V VGT - paginas.fe.up.pt

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 !

Page 3: Relatorio final V VGT - paginas.fe.up.pt

PSTFC / Chipidea P.Correia/H.Araujo

2

CAPÍTULO 1

INTRODUÇÃO

Page 4: Relatorio final V VGT - paginas.fe.up.pt

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)

Page 5: Relatorio final V VGT - paginas.fe.up.pt

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

Page 6: Relatorio final V VGT - paginas.fe.up.pt

PSTFC / Chipidea P.Correia/H.Araujo

5

CAPÍTULO 2

CONCEITOS

TEÓRICOS

Page 7: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 8: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 9: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 10: Relatorio final V VGT - paginas.fe.up.pt

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

Page 11: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 12: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 13: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 14: Relatorio final V VGT - paginas.fe.up.pt

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

Page 15: Relatorio final V VGT - paginas.fe.up.pt

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:

Page 16: Relatorio final V VGT - paginas.fe.up.pt

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

Page 17: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 18: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 19: Relatorio final V VGT - paginas.fe.up.pt

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

Page 20: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 21: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 22: Relatorio final V VGT - paginas.fe.up.pt

PSTFC / Chipidea P.Correia/H.Araujo

21

CAPÍTULO 3

FERRAMENTAS

Page 23: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 24: Relatorio final V VGT - paginas.fe.up.pt

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

Page 25: Relatorio final V VGT - paginas.fe.up.pt

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

Page 26: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 27: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 28: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 29: Relatorio final V VGT - paginas.fe.up.pt

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)

Page 30: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 31: Relatorio final V VGT - paginas.fe.up.pt

PSTFC / Chipidea P.Correia/H.Araujo

30

CAPÍTULO 4

STANDARD

CELLS

Page 32: Relatorio final V VGT - paginas.fe.up.pt

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

Page 33: Relatorio final V VGT - paginas.fe.up.pt

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

Page 34: Relatorio final V VGT - paginas.fe.up.pt

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

Page 35: Relatorio final V VGT - paginas.fe.up.pt

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

Page 36: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 37: Relatorio final V VGT - paginas.fe.up.pt

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:

Page 38: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 39: Relatorio final V VGT - paginas.fe.up.pt

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)

Page 40: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 41: Relatorio final V VGT - paginas.fe.up.pt

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

Page 42: Relatorio final V VGT - paginas.fe.up.pt

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

Page 43: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 44: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 45: Relatorio final V VGT - paginas.fe.up.pt

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

Page 46: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 47: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 48: Relatorio final V VGT - paginas.fe.up.pt

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

Page 49: Relatorio final V VGT - paginas.fe.up.pt

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

Page 50: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 51: Relatorio final V VGT - paginas.fe.up.pt

PSTFC / Chipidea P.Correia/H.Araujo

50

CAPÍTULO 5

CARACTERIZAÇÃO

DAS

CÉLULAS

Page 52: Relatorio final V VGT - paginas.fe.up.pt

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

Page 53: Relatorio final V VGT - paginas.fe.up.pt

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

Page 54: Relatorio final V VGT - paginas.fe.up.pt

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

Page 55: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 56: Relatorio final V VGT - paginas.fe.up.pt

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

Page 57: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 58: Relatorio final V VGT - paginas.fe.up.pt

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

Page 59: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 60: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 61: Relatorio final V VGT - paginas.fe.up.pt

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

Page 62: Relatorio final V VGT - paginas.fe.up.pt

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:

Page 63: Relatorio final V VGT - paginas.fe.up.pt

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

Page 64: Relatorio final V VGT - paginas.fe.up.pt

PSTFC / Chipidea P.Correia/H.Araujo

63

CAPÍTULO 6

CONCLUSÕES

Page 65: Relatorio final V VGT - paginas.fe.up.pt

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.

Page 66: Relatorio final V VGT - paginas.fe.up.pt

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

Page 67: Relatorio final V VGT - paginas.fe.up.pt

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