DE CIRCUITOS INTEGRADOS
Antonio A n i b a l de Souza Teles
TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS
NECESSARIOS
PARA A OBTENÇÃO DO GRAU DE MESTRE EMCIGNCIAS
(M.Sc.).Aprovada por :
YSMAR VIANNA E SILVA FILHO
EBER ASSTS SCHMITZ
AL-4
PAULO
MARIO
BIANCHI FRANCAEDIL SEVERIANO TAVARES FERNANDES
RIO DE JANEIRO,, RJ
-
BRASIL JULHO DE 1983.TELES, ANTONIO ANIBAL DE SOUZA verificação de P r o j e t o s de C i r c u i t o s I n t e g r a d o s ( R i o d e J a n e i r o ) 1 9 8 3 . . V 1 1 1 1 8 7 P - 2 9 , 7 c m (COPPE-UFRJ, M.Sc., E n g e n h a r i a de S i s t e m a s , 1 9 8 3 ) . T e s e
-
U n i v e r s i d a d e F e d e r a l do R i o de J a n e i r o , COPPE. 1. P r o j e t o A s s i s t i d o por C o m p u t a d o r . 2 . C i r c u i t o s I n t e g r a-
dos. I . COPpE/UFRJ, 11. ~ T t u l o ( s é r i e ).
A minha esposa e a meus pais.
A G R A D ' E C I M E N T O S
AOS colegas
JOSE
ANTONIO DOS SANTOS BQRGES, CARLO EMMANOEL 'lDLU4 DE O L I V E I R A e HELOÍSA T E I X E I R A DA S I L V A pelas suas sugestões.A VERA LÚCIA DA COSTA e a CLEBER JOSÉ DE O L I V E I R A
R I B E I R O pelos excelentes trabalhos de composição desta tese.
A YSMAR VIANNA E S I L V A F I L H O pela orientação e pelo apoio.
Aos demais membros da banca que muito me honraram com suas presenças.
Este trabalho apresenta um conjunto de ferramentas pa
-
ra verificação de projetos de circuitos integrados. Todas foram escritas em Fortran e exigem pequena quantidade de recursos com-
putacionais, o que permite serem utilizadas em computadores de pequeno porte.Nosso pacote de verificação de projetos faz parte de um trabalho que vem sendo desenvolvido no NCE/UFRJ para apoio ao grupo local de projetos de circuitos integrados e
6
composto das seguintes ferramentas:-
Simulador funclsnal-
Verificador de regras de projeto-
Extrator de circuitos-
Verificador estáticoTodas as ferramentas listadas estão disponíveis e ro
-
dam em um ninicomputador PDP-11.A B S T R A C T - - -
This work presents a set o£ tools for verifying integrated circuit design, A11 of them are written in Fortran and do not require large amount of computational reçources. These facts allow the tools to be implemented in small çize computers.
The design checking package is part of a work been developed at NCE/UFRJ to support our VLSI design groupr and is composed of the following tools:
-
Functional simulator-
Design rule checker-
Circuit extractor-
Static evaluatorA11 tools listed above are now available, and run on a PDP-11 minicomputer.
I1 . OS PROJETOS DE CIRCUITOS INTEGRADOS
...
22.1
-
APRESENTAÇÃO...o...
22.2
-
A METODOLOGIA MEAD&CONWAY....
42.3
-
CIF-
UM FORMATO DE DESCRIÇÃO DE CIRCUITOS...
52.4
-
FERRAMENTAS DE APOIO A PROJETOS DE CI'S...
152 - 5
-
A ESTAÇÃO DO NCE DE APOIO A PROJETOS...
19I11 . SIMULADOR FUNCIONAL
...
223.1 . APRESENTAÇÃO
...
223.2
.
A DEFINIÇÃO DO CIRCUITO...
223.3
-
OS COMANDOS DE SIMULAÇÃO...
273.4
-
A SIMULAÇÃO...
313.5
-
EXEMPLO DA SIMULAÇÃO FUNCIONAL...
32IV . VERIFICADOR DE REGRAS DE PROJETO
...
334.1 . AS REGRAS DE PROJETO
...,...
334. 2
-
METODOS
DE VERIFICAGÃO DE REGRAS...
364.3
-
IMPLEMENTAÇÃO DE UM VERIFICADOR DE REGRAS...
434.4
-
LOCALIZAÇÃO DOS ERROS....
514. 5
-
EXEMPLO DA VERIFICAÇÃO GEOMI~TRICA...
52V
.
EXTRATOR DE CIRCUITOS...
535.1
-
APRESENTAÇÃO...e...a...
535 - 2
-
DESCRIÇÃO DO MÉTODO...e...*
535.3
-
IMPLEMENTAÇÃO DE UM EXTRATOR...
59. viii
.
V I
.
VERIFICADOR ESTÃTICO...e...
6 2...
6 . 1
-
APRESENTAÇÃO 6 2...
6 . 2
-
DESCRIÇÃO DOMETODO
6 26 . 3
-
IMPLEMENTAÇÃO DO VERIFICADORESTATICO
...
6 4...
6 . 4
-
EXEMPLO DA VERIFICAÇÃO ESTÁTICA 6 7...
.
E s t e t r a b a l h o t e m como o b j e t i v o m o s t r a r algumas d a s p r i n c i p a i s f e r r a m e n t a s de v e r i f i c a ç ã o d e p r o j e t o s d e c i r c u i t o s i n t e g r a d o s . O s a l g o r i t m o s a s e r e m examinados fazem p a r t e d e um p a c o t e d e v e r i f i c a ç ã o p o r nós d e s e n v o l v i d o . Resolvemos d i v i d i r e s t e t r a b a l h o em t ó p i c o s , a n a l i s a n - do cada f e r r a m e n t a i n d i v i d u a l m e n t e . O t ó p i c o denominado P r o j e t o de C i r c u i t o s I n t e g r a d o s tem p o r f i n a l i d a d e l o c a l i z a r nosso t r a b a - l h o no c o n t e x t o d e p r o j e t o s , sendo 1 2 mostrados o s p a s s o s n e c e s
-
s á r i o s à confecção de um c i r c u i t o i n t e g r a d o e , d e forma s i m p l i f i - c a d + s h a £ - k n a m e n t o do nosso p a c o t e d e v e r i f i c a ç ã o . ~arnbém s ã o mencionados a l g u n s i m p o r t a n t e s programas d e a p o i o a p r o j e t o s quel no e n t a n t o , não pertencem a o n o s s o t r a b a l h o de abordagem d e f e r-
ramentas d e v e r i f i c a ç ã o .Cada um dos programas q u e compõem o p a c o t e é examina
-
do em um t ó p i c o , onde é d e s c r i t o o a l g o r i t m o u t i l i z a d o e , quando p o s s i v e l , a l g u n s métodos a l t e r n a t i v o s d i s p o n i v e i s na l i t e r a t u r a s o b r e o a s s u n t o . A s implementações s ã o d i s c u t i d a s l o c a l m e n t e em cada t ó p i c o . Finalmente, s ã o s u g e r i d o s a l g u n s temas p a r a p e s q u i s a , v i s a n d o aumentar o n í v e l d e automação de p r o j e t o s d e c i r c u i t o s i n t e g r a d o s .-
QS PROJETOS DE CIRCUITOS INTEGRADOSA denominação c i r c u i t o i n t e g r a d o , ou simplesmente
é usada p a r a r e f e r e n c i a r um c i r c u i t o e l e t r ô n i c o e n c a p s u l a d o
uma Única p a s t i l h a . Como r e s u l t a d o do a p e r f e i ç o a m e n t o d e t e c n o l o
-
g i a d e f a b r i c a ç ã o d e C I ' s6
comum encontrarmos p a s t i l h a s que con tenham c i r c u i t o s formados p o r d e z e n a s d e m i l h a r e s d e t r a n s i s t o-
res. A e x p e c t a t i v a é que, a t é o f i m d e s t a década, o número d e t r a n s i s t o r e s em um Único c i r c u i t o denso s e j a da ordem d e milhões.O emprego d e c i r c u i t o s com e l e v a d o f a t o r de i n t e g r a
-
.
-
ç a o p e r m i t e que d i s p o s i t i v o s e l e t r o n i c o s sejam c o n s t r u i d o s a c u s t o s i n f e r i o r e s , com s u b s t a n c i a l redução d e consumo de e n e r g i a . Dentre a s t e c n o l o g i a s d e p r o j e t o e f a b r i c a ç ã o e x i s t e n t e s de
-
s t a c a - s e a NMOS, que6
largamente u t i l i z a d a . P o r t a n t o , e s t a s e m o s nos r e f e r i n d o a e s t a t e c n o l o g i a quando, a o longo d e s t e t r a b a l h o , mencionarmos o funcionamento, a v e r i f i c a ç ã o ou a c o n s t r u ç ã o d e c i r c u i t o s i n t e g r a d o s .Como não é nosso o b j e t i v o d e t a l h a r a c o n s t r u ç ã o d e um
C I , m a s somente o s procedimentos d e v e r i f i c a ç ã o d e p r o j e t o s de c i r c u i t o s i n t e g r a d o s , iremos a p r e s e n t a r apenas uma b r e v e d e s c r i -
ç â o d a s t a r e f a s d e um p r o j e t o , Maiores d e t a l h e s s o b r e e s t e a s s u n -
9
t o podem s e r e n a o n t r a d o s em MEAD
..
Basicamente, o s c i r c u i t o s s ã o compostos d e t r a n s i s t o
-
res i n t e r l i g a d o s , e cada t r a n s i s t o r f u n c i o n a como se f o s s e uma chave com t r ê s p i n o s denominados PORTA ( g a t e ) , FONTE ( s o u r c e ) eDRENO ( d r a i n ) , Quando um s i n a l l ó g i c o "1" é a p l i c a d o
2
p o r t a , e x i s t e uma passagem d e c o r r e n t e e n t r e a f o n t e e o d r e n o , Nestec a s o , d i z - s e que o t r a n s i s t o r e s t á fechado. Caso c o n t r ã r i o , não há passagem de c o r r e n t e e d i z - s e que o t r a n s i s t o r e s t á a b e r t o . No nosso t r a b a l h o , o s p i n o s f o n t e e d r e n o s ã o i n t e r c a r n b i á v e i s , sendo i n d i f e r e n t e q u a l d e l e s é o f o n t e e q u a l d e l e s 6 o dreno. O p r o j e t o d e um c i r c u i t o i n t e g r a d o c o n s i s t e em se e s
-
p e c i f i c a r a s máscaras que s e r ã o u t i l i z a d a s p e l o l a b o r a t ó r i o r e s-
ponsável p e l a f a b r i c a ç ã o da p a s t i l h a . Cada máscarai r á
d e f i n i r a geometria d e uma d a s camadas do c i r c u i t o . Existem c i n c o camadas onde s ã o formados o s t r a n s i s t o r e s e s u a s i n t e r l i g a ç õ e s , e u m a s e x-
t a camada, a c o b e r t u r a , que tem p o r f i n a l i d a d e p r o t e g e r o c i r c u i -t o do meio e x t e r n o . O problema, e n t ã o , 6 d e s c r e v e r a s máscaras d e s s a s c i n c o camadas, que s ã o conhecidas como d i f u s ã o , p o l i s i l i -
c i o , m e t a l , i m p l a n t e e c o r t e . A camada d e c o b e r t u r a não s e r á aJ vo de c o n s i d e r a ç õ e s .
A s camadas de d i f u s ã o , p o l i s i l i c i o e m e t a l s ã o condu
-
t o r a s e podem ser u t i l i z a d a s em l i g a ç õ e s , ou f i o s . Quando um f i o de p o l i s i l k i o c r u z a um f i o de d i f u s ã o , o c o r r e a c r i a ç ã o de umt r a n s i s t o r , onde o f i o de p o l i s i l i c i o 6 a p o r t a do d i s p o s i t i v o e o de d i f u s ã o é a f o n t e , de um l a d o da i n t e - s e ç ã o , e o d r e n o , do o u t r o . O m e t a l pode c r u z a r com f i o s d a s o u t r a s duas camadas sem que nada de e s p e c i a l o c o r r a . porém, se desejarmos c o n e c t a r um f i o de d i f u s ã o , ou de p o l i s i l ~ c i o , a um f i o d e m e t a l , poderemos f a z ê - l o a t r a v é s d e um c o r t e d e c o n t a t o , ou abreviadamente, c o r
-
t e . ~ambém 6 p o s s í v e l c o n e c t a r a extremidade de um f i o d e p o l i s i -l i c i o à extremidade d e um f i o de d i f u s ã o . Usamos p a r a i s t o um
c o n t a t o e s p e c i a l denominado c o n t a t o de emenda. A camada de i m
-
p l a n t e é usada p a r a que a s c a r a c t e r h t i c a s de um t r a n s i s t o r s e-
jam a l t e r a d a s , passando a f u n c i o n a r como um r e s i s t o r , chamado d e t r a n s i s t o r d e d e p l e ç ã o ( d e p l e t i o n mode t r a n s i s t o r ) , E s t e t i p o det r a n s i s t o r e s t a sempre fechado, i n d e p e n d e n t e do s i n a l que é a p l i
-
cada à s u a p o r t a ,
2 . 2
-
A METODOLOGIA MEAD&CONWAYE s t a metodologia e n f a t i z a a importânc5a d e a r q u i t e t u -
ras a p r o p r i a d a s e o e f e i t o que e l a s t ê m no desempenho do s i s t e
-
m a . O s p r i n c i p a i s elementos d e s t a f i l o s o f i a s ã o : uma p l a n t a b a i-
xa do c i r c u i t o d e f i n i d a cuidadosamente, o emprego d e e s t r u t u r a s r e g u l a r e s , o p e r f e i t o e n c a i x e d a s c é l u l a s , o escalamento d a s r e g r a s de p r o j e t o , modelos d e temporização s i m p l e s e p r e c i s o s e a a b o l i ç ã o do p a s s o d e p r o j e t o l ó g i c o do c i r c u i t o . A p l a n t a b a i x a é i m p o r t a n t e p a r a que s e p o s s a a v a l i a r a r q u i t e t u r a s a l t e r n a t i v a s , d e t e r m i n a r um a r r a n j o Ótimo dos p r i n-
c i p a i s módulos f u n c i o n a i s e r e s o l v e r problemas b á s i c o s d e i n t e r-
conexão, como o s u p r i m e n t o de a l i m e n t a ç ã o , d e t e r r a e d o s s i n a i s do r e l ó g i o a o longo do c i r c u i t o . A metodologia c o n s i d e r a a f i a - ç ã o e a i n t e r c o n e x ã o d o s módulos como problemas b á s i c o s , recomen-
dando e s t e planejamento a n t e s do t r a b a l h o d e implementação dos componentes, a fim d e e v i t a r mudanças na a r q u i t e t u r a p a r a s a n a r problemas g e o m é t r i c o s ou de desempenho.A s e s t r u t u r a s r e g u l a r e s s ã o i m p o r t a n t e s p o r serem o p r i n c i p a l f a t o r na r e d u ç ã o do t r a b a l h o d e p r o j e t o , diminuindo o n h e r o d e elementos a serem d e t a l h a d o s e p o r p e r m i t i r e m um esque
-
ma d e t e s t e s mais s i m p l e s , uma vez que t o r n a mais f a c i l a com -p r e e n s ã o do c i r c u i t o . Blocos complexos podem ser c o n s t r u i d o s - a t r a v é s da r e p e t i ç ã o d e e s t r u t u r a s r e g u l a r e s .
A t é c n i c a d e e n c a i x e d e c é l u l a s s i m p l i f i c a o p r o j e t o , p o i s e l i m i n a o t r a b a l h o d e l i g a ç ã o d e uma c é l u l a
à s
s u a s v i z i-
n h a s , p e r m i t i n d o melhor aprovektamento do e s p a ç o e levando a c o n s t r u ç õ e s de melhor desempenho, a o r e d u z i r o comprimento $ d a s i n t e r c o n e x õ e s
.
A s r e g r a s d e p r o j e t o s ã o i m p o s t a s p e l o s l a b o r a t ó r i o s d e f a b r i c a ç ã o d e semicondutores e , basicamente, r e f e r e m - s e à s r e
-
s o l u ç õ e s d c s p r o c e s s o s u t i l i z a d o s . A metodologia MEAD&CONWAYc r i a uma unidade, denominada lambda ( ) que nada mais
6
que a r e s o l u ç ã o do p r o c e s s o . Todas a s r e g r a s g e o m é t r i c a s s ã o d e s c r i t a s em termos d e s s a u n i d a d e , que pode v a r i a r d e l a b o r a t ó r i o p a r a l a-
b o r a t ó r i o , p e r m i t i n d o que o c i r c u i t o p o s s a s o f r e r mudanças d e es -c a l a somente com a a l t e r a ç ã o do v a l o r de lambda.
Durante a f a s e d e p r o j e t o , p r e c i s a - s e d e um modelo d e temporização que p o s s a f o r n e c e r , d e forma p r e c i s a , o desempenho d e v á r i a s a l t e r n a t i v a s t o p o l ó g i c a s . E s t a metodologia u t i l i z a o modelo t a u ( T ) , que reconhece s e r a v e l o c i d a d e de ~ r o ~ a g a ç ã o e m um nó dependente de s u a c a p a c i t â n c i a e do tempo d e t r a n s i ç ã o do t r a n s i s t o r que o a l i m e n t a . Dessa forma, d e f i n e - s e t a u como s e n
-
do o tempo n e c e s s á r i o p a r a d e s c a r g a d e um nó com um mínimo de ca-
~ a c i t â n c i a . Q u a l q u e r o u t r o tempo é p r o p o r c i o n a l a t a u , que pode s e r o b t i d o a t r a v é s d e simulação ou d e s i m p l e s medição.
O Ültimo elemento da metodologia MEAD&CONWAY é a i m
-
plementação d i r e t a d e f u n ç õ e s de a l t o n i v e l , e l i m i n a n d o a t r a d i-
c i o n a l f a s e d e p r o j e t o l ó g i c o . A s funqões s ã o d e s c r i t a s a t r a v é s de diagramas d e b a r r a s , que s ã o f á c e i s de serem desenhados e s i m p l e s d e serem c o n v e r t i d o s em t r e c h o s do c i r c u i t o .2 . 3
-
C I F-
UM FORMATO DEBESCR$ÇÃO
DE -- 'CIRÇUITO$ -ed
na r e a l i d a d e , um t r a b a l h o d e e s p e c i f i c a ç ã o da g e o m e t r i a do c i r -
c u i t o , É d e s e j á v e l ser p o s s i v e l e s p e c i f i c a r g e o m e t r i a s de manei
-
r a independente dos p r o c e s s o s de f a b r i c a ç ã o e de p r o j e t o do c i r
-
c u i t o . O formato i n t e r m e d i á r i o d a C a l t e c h ( C I F ) é uma linguagem g r á f i c a d e b a i x o n í v e l que a t e n d e a e s s a n e c e s s i d a d e , fornecendo uma i n t e r f a c e p a d r ã o e n t r e p r o j e t i s t a s e l a b o r a t ó r i o s d e f a b r i
-
cação d e C I ' s . O emprego da linguagem CIF, como um p a d r ã o , o f e r e -c e a s s e g u i n t e s v a n t a g e n s :
a ) a d e s c r i ç ã o do c i r c u i t o é f á c i l d e ser g e r a d a e p r o c e s s a d a ;
b ) a linguagem é bem d e f i n i d a , possuindo uma g r a m á t i
-
-
c a não ambigua;
-
c ) o c i r c u i t o é d e s c r i t o d e forma c o m p a c t a , ~ i d o a e s t r u t u r a h i e r á r q u i c a da linguagem;
d) o c i r c u i t o é guardado na forma d e um t e x t o , poden
-
do s e r f a c i l m e n t e t r a n s p o r t a d o d e uma máquina p a r a o u t r a ;e ) o t e x t o é l e g í v e l t a n t o p o r máquinas como p o r peg
s o a s ;
f ) p e r m i t e a c r i a ç ã o e o i n t e r c â m b i o d e b i b l i o t e c a s d e c é l u l a s ;
g ) não depende do p r o c e s s o usado p a r a a f a b r i c a ç ã o d a p a s t i l h a .
A s i n t a x e d a linguagem CIF é a p r e s e n t a d a na forma d e diagramas s i n t á t i c o s na f i g u r a ( I I . l ) , Alguns d e t a l h e s a r e s p e i
-
t o de s e u s comandos s e r ã o comentados, embora não s e j a n o s s o o b j e-
t i v o e s t u d a r com p r o f u n d i d a d e s a s s u n t o , que pode s e r v i s t o emHON
.
PROGRAMA ::= C O M A N D O - I N ~ C I O C O M A N D O - S ~ M B O L O COMANDO- FIM I B R A N C O COMANDO-PRIMARIO -= C O M A N D O - P O L ~ G O N O
1
t
4 C O M A N D O - C A I X Ai
C O M A N D O - C A I X A :: = I N T E I R Ot
I C O M A N D O - C I R C U N F :: = S E P A R A D O R P O N T O ICOMANDO- F I O :: = I N T E I R O S E P A R A D O R C A M I N H O I COMANDO- C A M A D A :: = A -I B R A N C O I N T E I R 0 C O M A N D O - F I M ::= I N T E I R O I B R A N C O I
TRANSFORMACAO
:: = P B R A N C O P O N T O1
C A M I N H O ::=t
iPONTO :: = S E P A R A D O R S I N T E I R O i SINTEIRO :: = I I N T E I R O :: = I N T E I R O D I I N T E I R O D :: = I B R A N C O
7
B R A N C O S E P A R A D O R :: = L E T R A 1-7
B R A N C O1
DI'G ITO :: =
Q U A L Q U E R A L G A R I S M O E N T R E "0" E '9"
L E T R A ::=
QUALQUER L E T R A DO A L F A B E T O , I N C L U I N D O " K " , "w" E I ' Y "
B R A N C O :: =
Q U A L Q U E R C A R A C T E R E A S C I I
,
E X C E T O 1 1 ~ 1 ~ ~ ~ 1 ' , ''LETRA",
I ' -,
(I1, " ) " E 'I ;I' CARACTERE - USUÁRIO :: =Q U A L Q U E R C A R A C T E R E A S C I I , E X C E T O " ; I'
CARACTERE-
COMENTARIO
::=M
tem q u a t r o comandos d e d e s c r i ç a o d e r i ' f ~ ~ ~ a s g e o m é t r i c a s , que s ã o o s comandos d e p o l i g o n o s , c a i x a s , c i r c u l o s e f i o s ,
No comando de d e s c r i ç ã o d e p o l i g o n o s s ã o e s p e c i f i c a
-
dos o s v é r t i c e s d e s s a s f i g u r a s . A s s i r r : sendo, u m t r i â n g u l o c u j o s v é r t i c e s s ã o r e p r e s e n t a d o s p e l o s p o n t o s (0,O),
( 0 , 1 0 ) e (15,10)é d e s c r i t o a t r a v é s do comando
P 0,O 0,lO 15,O
e p o s s u i a forma i l u s t r a d a na f i g u r a ( 1 1 . 2 ) .
No comando d e d e s c r i ç ã o d e c a i x a s ã o e s p e c i f i c a d o s o p o n t o c e n t r a l d a c a i x a , ou r e t â n g u l o , a l a r g u r a e o comprimento do q u a d r i l á t e r o , além de uma p o s s í v e l i n c l i n a ç ã o . O comando
B 10 1 5 2 0 , 2 0
-
10,lO g e r a um r e t â n g u l o como o mostrado p e l a f i g u r a ( 1 1 . 3 ) . O s c í r c u l o s s ã o e s p e c i f i c a d o s a t r a v é s d a s coordena-
d a s de s e u s c e n t r o s e de s e u s d i â m e t r o s . ~á o s f i o s , s ã o d e s c r i-
t o s a t r a v é s d e segmentos d e r e t a s e d e s u a s l a r g u r a s . O comando W 5 0,O 1 0 , O 10,15 20,15 produz o c o r p o g e o m é t r i c o i n d i c a d o na f i g u r a ( 1 1 . 4 ) .O comando d e camada s e r v e p a r a i n d i c a r em q u a l camada o p r o j e t i s t a e s t á t r a b a l h a n d o . P a r a i s s o , a i n t e r p r e t a ç ã o do t e x
-
t o em CIF deve p o s s u i r o c o n c e i t o d e camada a t u a l , que pode s e r modificada p o r um comando d e camada. O s nomes d a s camadas obede -cem a um p a d r ã o onde a t e c n o l o g i a empregada e um i d e n t i f i c a d o r d e camada devem a p a r e c e r . Em NMOS, e x i s t e m o s s e g u i n t e s nomes d e camadas :
ND
-
d i f u s ã o ;NP
-
p o l i s i l % c i o ;NM
-
m e t a l ; N I-
i m p l a n t e ;FIGURA II. 2 - E X E M P L O D E U M P O L ~ G O N O
NC
-
c o r t e d e c o n t a t o ; NG-
j a n e l a d e c o b e r t u r a .Novos nomes de camadas podem ser i n t r o d u z i d o s , p a r a e s p e c i f i c a r o u t r a s t e c n o l o g i a s , sem que i n c o m p a t i b i l i d a d e s s e j a m i n t r o d u z i d a s no formato,
A linguagem CIF p e r m i t e o uso d e c o m e n t á r i o s . Um t e x -
t o e n t r e p a r ê n t e s e s é e n c a r a d o como t a l e pode e s t a r l o c a l i z a d o em q u a l q u e r p o n t o do programa.
Como já f o i mencionado a n t e r i o r m e n t e , a d e s c r i ç ã o d e um c i r c u i t o pode ç e r f e i t a d e maneira h i e r á r q u i c a , I s t o é conse
-
guido com d e f i n i ç õ e s e expansões d e s í m b o l o s , q u e s ã o e q u i v a l e n-
t e sàs
"macros" de algumas l i n g u a g e n s de programação. Uma vez d e-
f i n i d o s , e s s e s símbolos podem s e r i n s t a n c i a d o s . M a i s do que i s -t o , pode-se n a s s u a s expansões promover r o t a ç õ e s , t r a n s l a ç õ e s ou espelhamentos. A d e f i n i ç ã o d e um símbolo é f e i t a a t r a v é s d e um t e x t o d e l i m i t a d o p e l o s comandos d e i n i c i o e fim de d e f i n i ç ã o d e símbolos. No comando de i n k i o d e d e f i n i ç ã o a p a r e c e u m r ó t u l o , que v a i i d e n t i f i c a r o símbolo, e um f a t o r d e e s c a l a , p e l o q u a l s e r ã o m u l t i p l i c a d o s t o d o s o s v a l o r e s d i m e n s i o n a i ç d e l e . No i n t e
-
r i o r d e uma d e f i n i ç ã o não pode o c o r r e r a d e f i n i ç ã o d e um o u t r o símbolo. ~ l " e m d i s s o , d o i s símbolos não podem s e r e f e - n c i a r m-
y tuamente. A f i g u r a (11.5) i l u s t r a a d e f i n i ç ã o d e um símbolo r o t g l a d o p e l o n h e r o 42.E s t e sinibola d e v e r á mais t a r d e ser expandido a t r a v z s d e um comando CAEL. Na f i g u r a (11.6) s ã o mostrados d o i s coman
-
dos de expansão ( c a l l ) e , g r a f i c a m e n t e , o e f e i t o que e l e s produ-
zem quando a p l i c a d o s a o símbolo 42 d e f i n i d o a n t e r i o r m e n t e , Note a s t r a n s l a ç õ e s impostas p e l a s chamadas.DS 42 1 0 0 I ; ( S ~ M B O L O # 42. TRANSISTOR 4 x 4 ) L N D ; B 12 4 6,6 ; L N P ; B 4 12 8,6 D F ;
F I G U R A II.5- EXEMPLO DA DEFINICÁO DE U M S ~ M B O L O
~ l é m dos comandos d e i n i c i o e f i m de d e f i n i ç ã o d e
sIg
b o l o s , e x i s t e um comando r e s p o n s â v e l p e l a d e l e ~ ã o d e u m simbolo, tornando-o não mais d i s p o n í v e l a p a r t i r d e s s e ponto. O comando DD 4 2 , i r i a i n i b i r f u t u r a s expansões do símbolo número 4 2 .O s comandos de u s u á r i o r e p r e s e n t a m uma forma d e c r i a
-
ç ã o de comandos com s i g n i f i c a d o e uso p r ó p r i o s p a r a uma d e t e r m i-
nada i n s t a l a ç ã o . No NCE, a e x t e n s ã o d e u s u á r i o número O é u t i l i-
zada p a r a d a r nomes a determinados p o n t o s do c i r c u i t o . Desta f o r-
m a , o s comandos d e u s u á r i o devem s e r i g n o r a d o s quando s e t r a t a r d e um c i r c u i t o v i n d o d e o u t r a i n s t a l a ç ã o .Apesar da linguagem CIF p e r m i t i r a c o n s t r u ç ã o d e g r a n
-
d e v a r i e d a d e d e f i g u r a s g e o m é t r i c a s , é comum u t i l i z a r - s e p r e f e-
r e n c i a l m e n t e c a i x a s em d e t r i m e n t o dos demais c o r p o s . ~ l é m d i s s o , a s c a i x a s s ã o d i s p o s t a s h o r i z o n t a l ou v e r t i c a l m e n t e , numa geome-
t r i a o r t o g o n a l . E s t a Última l i m i t a ç ã o é conhecida como p a d r ã oMANHATTAN
.
2 . 4
-
FERRAMENTAS DE A P O I O A PROJETOS DE C I ' SUm p r o j e t o de c i r c u i t o i n t e g r a d o c o n s i s t e em s e e s p e
-
c i f i c a r um t e x t o em CIF que d e s c r e v a a g e o m e t r i a d e s e j a d a . E s t a t a r e f a , porém, e n v o l v e v á r i o s p a s s o s , p o i s é p r a t i c a m e n t e impos-
s i v e l e s c r e v e r um t e x t o grande n e s t a linguagem sem q u e se v i s u a-
l i z e a g e o m e t r i a do c i r c u i t o , a s s i m como, g a r a n t i r que o t e x t o g e r a d o e s t e j a c o r r e t o . A s f e r r a m e n t a s d e a p o i o a p r o j e t o s d eC I ' s
t ê m
por f i n a l i d a d e v a l i d a r modelos, f a c i l i t a r a c o n f e c ç ã o d e t e x t o s em CIF, v e r i f i c a r a forma dos t e x t o s e f a z e r algumas a n á l i s e s da g e o m e t r i a , da l ó g i c a e d a s c a r a c t e r í s t i c a s e l é t r i c a s d o s c i r c u i t o s , Algumas f e r r a m e n t a s mais u t i l i z a d a s s e r ã o a p r e s e n-
t a d a s .
A simulação f u n c i o n a l deve s e r empregada na f a s e i n i
-
c i a l d e um p r o j e t o . Uma vez d e f i n i d o s o s b l o c o s l ó g i c o s que com-
põem o c i r c u i t o , é i n t e r e s s a n t e v e r i f i c a r a i n t e r c o n e x ã o e n t r e e s s e s b l o c o s e a n a l i s a r o s a t r a s o s p o r e l e s causados. E s t a simu
-
l a ç ã o , d e a l t o n í v e l ,i r 5
d e t e c t a r e r r o s c u j o s a c e r t o s geralmen - t e implicam e m g r a n d e s a l t e r a ç õ e s no c i r c u i t o . Um exemplo d e um s i m u l a d o r f u n c i o n a l é o programa SIMF, d e s e n v o l v i d o p a r a a u x i l i-
a r p r o j e t o s no NCE. A c o n f e c ç ã o d e um t e x t o em CIF é uma t a r e f a á r d u a e s u j e i t a a e r r o s . E l a pode, no e n t a n t o , s e r a t e n u a d a com o a u x i-
l i o d e um e d i t o r g r á f i c o , onde o p r o j e t i s t a f o r n e c e uma r e p r e - s e n t a ç ã o g e o m é t r i c a do c i r c u i t o e o e d i t o r é capaz de c o n v e r t e r o desenho num t e x t o C I F e q u i v a l e n t e . A g r o s s o modo, o s e d i t o r e s podem s e r d i v i d i d o s em duas c a t e g o r i a s : o s e d i t o r e s d e c é l u l a s e o s de c i r c u i t o s .Um e d i t o r é d i t o d e c é l u l a s e e l e não é capaz d e mani -
p u l a r g r a n d e s á r e a s do c i r c u i t o . T r a b a l h a r com um e d i t o r d e c é l u
-
l a s envolve d i v i d i r o c i r c u i t o em pequenos t r e c h o s , chamados d e c é l u l a s , e e d i t a r cada t r e c h o i n d i v i d u a l m e n t e . Na p r á t i c a , e s s a d i v i s ã o e m pequenos pedaços é d e s e j á v e l , uma vez que é f r e q u e n -t e a r e p e t i ç ã o d e c e r t o s t r e c h o s em um c i r c u i t o . s ã o exemplos de e d i t o r e s d e c é l u l a s o programa CIFSYM, de a u t o r i a do p r o f e s s o r D a n i e l W . Lewis da U n i v e r s i d a d e de S a n t a C l a r a ( E U A ) , e o e d i t o r
EDMOS, d e s e n v o l v i d o no NCE/UFRJ p e l o c o l e g a J O S ~ Antonio dos
S a n t o s Borges* N e s t e s e d i t o r e s s ã o e n c o n t r a d o s comandos que p e r mitem a l e i t u r a ou a gravação de c é l u l a s , f a c i l i d a d e s de e d i ç ã o g r á f i c a , como d e s e n h a r ou a p a g a r s e ç õ e s d e uma camada e impres
s ã o da imagem r a s t r e a d a da c é l u l a em e d i ç ã o ,
Um e d i t o r d e c i r c u i t o s é uma f e r r a m e n t a bem m a i s s o
-
f i s t i c a d a , operando s o b r e um banco d e dados que contém : c é l u l a s do c i r c u i t o e m e d i ç ã o . E s t e t i p o d e programa t e m a c a p a c i d a d e de m a t e r i a l i z a r uma c é l u l a em u m c e r t o l o c a l do c i r c u i t o e p o s s u i f a c i l i d a d e s de c o n s t r u i r a s l i g a ç õ e s e n t r e a s d i v e r s a s c é l u l a s . ~ambêm é d e s e j á v e l que um e d i t o r d e s t a c a t e g o r i a possua comandos que permitam a r o t a ç ã o e o espelhamento d e c é l u l a s , quando da m a t e r i a l i z a q ã o d e l a s .Completando o p a c o t e d e e d i ç ã o , e x i s t e m programas que
t ê m por f i n a l i d a d e d e s e n h a r o c i r c u i t o o b t i d o e m .equipamentos g r á f i c o s como v i d e o s , i m p r e s s o r a s ou p l o t a d o r a s . No NCE foram d e s e n v o l v i d o s programas com e s t a f i n a l i d a d e , u t i l i z a n d o como pg r i f é r i c o s d e s a i d a um v i d e o g r á f i c o c o l o r i d o e uma p l o t a d o r a a u -
tônoma.
Uma vez c o n s t r u í d a uma c é l u l a , ou um c i r c u i t o , d e
-
v e - s e p a s s a r2
f a s e d e v e r i f i c a ç ã o do mesmo. Existem programas r e s p o n s á v e i s p e l a r e a l i z a ç ã o d e t e s t e s s o b r e a g e o m e t r i a , s o b r e a l ó g i c a e s o b r e as c a r a c t e r i s t i c a s e l é t r i c a s d e u m c i r c u i t o .O v e r i f i c a d o r d e r e g r a s d e p r o j e t o
e
u t i l i z a d o p a r a t e s t a r a g e o m e t r i a d e um c i r c u i t o , Existem algumas r e g r a s que l i m i t a m a l a r g u r a mínima d e um f i o e a s e p a r a ç ã o e n t r e d o i s f i o s em uma determinada camada. ~ l é m d i s s o , e x i s t e m regras-que--d&-i--
nem geometricamente a formação d e t r a n s i s t o r e s e c o r t e s de con-
t a t o , A v i o l a ç ã o d e s s a s r e g r a s pode c a u s a r a não c o n d u t i b i l i d a-
d e , c u r t o s c i r c u i t o s , i n d u ç s e s d e c o r r e n t e ou o a p a r e c i m e n t o d e t r a n s i s t o r e s que não funcionam c o r r e t a m e n t e ,Um c i r c u i t o i s e n t o de e r r o s g e o m é t r i c o s deve ser f o r
-
n e c i d s a um v e r i f i c a d o r e s t a t i c o , Pode-se a q u i t r a ç a r uma a n a l o-
gia entre estas ferramentas e um compilador de uma linguagem de programação, O verificador de regras desempenha uma função compa
-
rãvel à de um analisador sintático enquanto que o verificador es-
tático se assemelha à fase de análise estática da semântica. Pa-
ra um verificador estático, existem dois tipos de dados: os tran-
sistores e os nós, ou fios, de um circuito. Ele realiza testes como a formação lógica de transistores e verifica a conectivida-
de dos nós, assinalando possiveis curtos circuitos ou falta de alimentação em determinados nós. O verificador estático opera so -bre o chamado circuito extrazdo, ou seja, um arquivo que possui informações sintéticas sobre os transistores e os nós. O simula
-
dor funcional, o verificador de regras de projeto, o extrator de circuitos e o verificador estático serão motivo de um estudo mais aprofundado nesta tese.Outro aspecto importante nesta fase é a simulação 16
-
gica e elétrica do circuito. Ambas utilizam o circuito extrazdo. Para a simulação lógica, um transistor não passa de uma chave que pode ou não permitir a passagem de corrente entre seus extre
-
mos. Ele é utilizado unicamente para verificar o _comportamentológico do circuito. são exemplos desta categoria de simulação os programas MOSSIM e RSIM.
O simulador elétrico utiliza informações sobre as ca
-
racteristicas elétricas dos transistores, considerando atrasos e a capacidade destes dispositivos de poderem alimentar outros transistores. O mais conhecido simulador elétrico é o programa SPICE.Uma vez editado, verificado e simulado um circuito, podemos enviar o seu texto CIF a um laborat6rio para a confecção da pastilha que, ao retornar, necessita ainda ser testada. Para
f a c i l i t a r o t r a b a l h o d e t e s t e do c i r c u i t o , e x i s t e a p o s s i b i l i d a -
d e d e s e u t i l i z a r equipamentos e s p e c í f i c o s p a r a t e s t e s d e C I ' s .
O programa que f i z e r a i n t e r f a c e do t e s t a d o r com o p r o j e t i s t a deve s e r capaz de emular um s i m u l a d o r , p e r m i t i n d o que o s r e s u l
-
t a d o s a i o b t i d o s possam s e r comparados com a s informações f o r-
n e c i d a s p e l a s i m u l a ç ã o ,2 . 5
-
A ESTAÇÃO DO NCE DE APOIO A PROJETOSA a t u a ç ã o do ~ Ú c l e o d e Computação ~ l e t r ô n i c a d a UFRJ na á r e a d e c o n f e c ç ã o d e c i r c u i t o s i n t e g r a d o s i n i c i o u - s e em f i n s d e 1981. Com o o b j e t i v o d e dominar a t e c n o l o g i a d e p r o j e t o s d e C I ' s , deu-se i n í c i o a um t r a b a l h o v i s a n d o d e s e n v o l v e r a s s e g u i n
-
t e s a t i v i d a d e s : a ) c r i a ç ã o de um l a b o r a t ó r i o d e p r o j e t o d e sistemas d i g i t a i s em V L S I ; b ) formação d e r e c u r s o s humanos;c ) desenvolvimento completo d e p r o j e t o s em VLSI.
P a r a que o o b j e t i v o f o s s e cumprido, duas l i n h a s d e t r a b a l h o foram a t i v a d a s . Uma r e s p o n s á v e l p e l a c o n s t r u ç ã o d e um c o n j u n t o mínimo de f e r r a m e n t a s d e a p o i o e a o u t r a , p e l o d e s e n v o l
-
vimento d e um p r o j e t o p i l o t o , que é a i n t e g r a ç ã o da l ó g i c a d e a c e s s o 5 r e d e l o c a l do NCE. Atualmente, a e s t a ç ã o d e a p o i o a p r o j e t o s d e C I ' s u t i - l i z a o s s e g u i n t e s equipamentos: a ) minicomputador P D P 11/70 da DEC; b ) microcomputador SDE-40 da EBC;c ) v l d e o g r á f i c o c o l o r i d o , d e s e n v o l v i d o p e l o NCE;
Quanto a o c o n j u n t o d e programas u t i l i z a d o s na e s t a ç ã o destacam-se: a ) e d i t o r CIFSYM; b ) g e r a d o r a u t o m á t i c o d e P L A ' s ; c ) p l o t a d o r de c é l u l a s CIFPLOT; d ) e d i t o r EDMOS, que u t i l i z a o v i d e o g r á f i c o ; e ) g e r a d o r d e mapa d e g i x e l ' s ; F ) v e r i f i c a d o r d e r e g r a s d e p r o j e t o ; g ) t r a ç a d o r d e e r r o s g e o m é t r i c o s ; h ) e x t r a t o r d e c i r c u i t o s ; i ) v e r i f i c a d o r e s t á t i c o ; j ) s i m u l a d o r f u n c i o n a l ;
X.)
simulador l ó g i c o (em c o n c l u s ã o ).
N a f i g u r a ( 1 1 . 7 ) é a p r e s e n t a d o u m f l u x o que i l u s t r a a u t i l i z a ç ã o d a s n o s s a s f e r r a m e n t a s de e d i ç ã o e d e v e r i f i c a ç ã o du-
r a n t e um p r o j e t o . ~ l é m dos programas, pode-se n o t a r a s v á r i a s formas d e s e r e p r e s e n t a r um mesmo c i r c u i t o .
Maiores d e t a l h e s do p r o j e t o d e i n t e g r a ç ã o da l ó g i c a 11
E D I T O R G E R A D O R E D M O S DE P L A ' S B I B L I O T E C A E D I T O R D E C I R C U I T O GERADOR D O P L O T A D O R M A P A DE PIXEl!S C I F P L O T D E S E N H O DO C I R C U I T O DO C I R C U I T O V E R 1 F I C A D O R P R O J E T O E R R O S G EOMÉTRICOS T R A G A D O R DE ERROS C I R C U I T O S
L_i
C I R C U I T O E X T R A ÍDO V E R I F I C A D O R S I M U L A D O R E S T Á T I C O E R R O S E S T Á T I C O S E R R O S L Ó G I C O S111
-
SIMULADOR FUNCIONAL3 . I
-
APRESENTAÇÃOA s i m u l a ç ã o f u n c i o n a l s e r v e p a r a v a l i d a r um p r o j e t o a n í v e l d o s b l o c o s l ó g i c o s que o formam.
través
d e l a pode-se s i-
mular a i n t e r a ç ã o e n t r e o s b l o c o s e a n a l i s a r , do p o n t o d e v i s t al ó g i c o , o comportamento do c i r c u i t o . O s i m u l a d o r f u n c i o n a l que desefivolvemos r e c e b e como e n t r a d a uma d e s c r i ç ã o do modelo a ser simulado, e s c r i t o e m uma linguagem c r i a d a p a r a e s t e p r o p ó s i t o . Essa d e s c r i ç ã o é compilada e u m c ó d i g o a ser i n t e r p r e t a d o p e l o s i
-
mulador é c r i a d o . O simulador é c o n v e r s a c i o n a l , a c e i t a n d o coman-
dos que possuem s i n t a x e semelhante a o s comandos do s i m u l a d o r5
l ó g i c o MOSSIM, que é
descrito em^^^^^^^
e BRYANT.
3.2
-
A DEFINIÇÃO DO C I R C U I T OO c i r c u i t o , d e s c r i t o na linguagem de d e f i n i ç ã o d e c i r c u i t o s , é composto p o r d o i s t i p o s d e e s t r u t u r a s : as m a t r i z e s d e l ó g i c a programada, P L A P s , onde a 1 6 g i c a d e c o n t r o l e do c i r c u i
-
t o é d e s c r i t a e o s r e g i s t r o s , onde s ã o armazenadas informações. E x i s t e na linguagem a p o s s i b i l i d a d e d e d e f i n i ç ã o d e s i n a i s . Ums i n a l pode ser d e c l a r a d o e x p l i c i t a m e n t e , i n t r o d u z i d o p e l a d e c l a -
r a ç ã o SINAIS, ou i m p l i c i t a m e n t e , a o s e r r e f e r e n c i a d o p e l a p r i m e i -
ra vez no t e x t o . A d e c l a r a ç ã o SINAIS p e r m i t e a i n t r o d u ç ã o d e ve
-
t o r e s de s i n a i s o que, como veremos a d i a n t e , f a c i l i t a as o p e r a-
ç õ e s d e c a r g a e l e i t u r a d e r e g i s t r o s .Podemos a n a l i s a r a g r a m á t i c a d a linguagem d e d e f i n i
-
ç ã o de c i r c u i t o s , que é mostrada na forma d e diagramas s i n t a i-
c o s na f i g u r a (111.1). A d e c l a r a ç ã o SINAIS d e f i n e s i n a i s e v e t o-
C I R C U I T O :: = I
-
D E F - S I N A I S :: S I N A L V E T O R V E T O R ::= I N T E I R O I D E F - E S T R U T U R A S ::= D E F - P L At
I
I D E F - P L A ::= N O M E S I N A LI
t
F A T O R 1 S I N A L E X P R E S S Ã O F A T O R :: = I S I N A L I D E F - REG ::= I S I N A Lt
4
O P E R A ~ Á O ] fI D E N T I F I C A D O R R O T - D I R C CARGA :: = S - S I N A L L I S T A I L E I T U R A :: = S - S I N A L . L I S T A I R O T - DIR :: = S - S I N A L R O T
-
ESQ :: = S - S I N A L S - S I N A L S - S I N A L T R - DIR : : = T R-
E S Q :: = I S - S I N A L :: = S I N A L I L I S T A :: =t
A A C -+ T R E C H O - V E T O R W T O D O - V E T O R E L E M - V E T O R :: = I D E N T I F I C A D O R I T R E C H O - V E T O R :: = I D E N T I F I C A D O R I N T E I R O I N T E I R O I D E N T I F I C A D O Rres de sinais, onde a dimensão do vetor é especlficada. A posi
-
ção 3 de um vetor X pode ser referenciada como X ( 3 ) ou como X 3 ,uma vez que a análise cria N sinais quando da definição de um ve
-
tor de tamanho N. Os sinais simples, ou não vetorados, não neces -
sitam ser declarados, sendo automaticamente introduzidos quando da primeira referência a cada um deles.
As PLA's agem como elementos de controle e lá são ge
-
rados os valores de sinais através de expressões lógicas, O si
-
na1 'I+" denota o operador "ou", o 'I*" representa o "e" e o sinal
"-"
refere-se à operação complemento. Como de costume, os doisprimeiros operadores são binários e o Último, unário. Como tam -
bém é o normalmente usado, o complemento tem maior prioridade
que a interseção, que é a mais prioritária que a união. A compi
-
lação de um PLA irá gerar
um
código em que as expressões são re-
presentadas através de notações polonesas. A sequência CK: < si
-
nal> irá denotar, tanto nas PLA's quanto nos registros, que o
trecho que segue só será executado se o sinal, no momento da si
mulação, estiver ativo. Desta forma é implementado um esquema de
fases no simulador.
Um registro é modelado segundo o padrão de registro
completo da tecnologia M O S . Sobre ele são validas as operações
de carga, leitura, rotação 5 esquerda e rotação à direita. Um re
-
gistro, nesta tecnologia, & implementado como um duplo "buffer",sendo necessarias duas operações de ação interna, onde cada uma
delas copia de rim. "ljuffer" para o outro. Nas figuras (111.2) e
(111-3) apresentamos a forma esquemãtica e o modelo de um regis
-
tro por nós usado, As transferências internas estão representa
-
das pelas operações TRR e TRL, As rotações por SHR e SHL. A car
-
ga por CG e a leitura por LE.
SHR
T l i t Y T l
T
...
I I...
T
I
-
r
i
S H L T R R S H L T R R T R R SHL T R R S H LFIGURA
m.
2 - FORMA ESQUEMÁTICA DE UM REGISTROFIGURAITL.3
-
MODELO DE UM R E G I S T R O N O S I M U L A D O R FUNCIONALC G REG R,8 C G CK : F A S E i CG: CARGA, B A R R A ( 0 - 7 ) S R : DIREITA, E N T R A , S A I T L : TRESQ S H R a S H L L E L E CK : F A S E 2 L E : LEITURA, B A R R A ( 0 - 7 ) S L : ESQUERDA, S A I , ENTRA T R : TRDIR
c i f i c a d o s um s i n a l comandando a a ç ã o e a s e n t r a d a s , ou s a í d a s , p a r a l e l a s , uma p a r a cada b i t . Como pode o c o r r e r d e se d e s e j a r c a r r e g a r , ou l e r , a p e n a s a l g u n s b i t s do r e g i s t r o , é p e r m i t i d o u
-
s a r um O ( z e r o ) no l u g a r do nome do s i n a l c o r r e s p o n d e n t e a s u a e n t r a d a , ou s a í d a , i n d i c a n d o que a q u e l e b i t não deve ser c a r r e g a -do, ou l i d o .
E
a q u i p e r m i t i d o o emprego d e v e t o r e s , ou d e t r e-
chos d e v e t o r e s d e s i n a i s , p a r a s i m p l i f i c a r a t a r e f a d e d e s c r i-
ç ã o.
Em uma o p e r a ç ã o d e r o t a ç ã o deve-se f o r n e c e r o nome d e um s i n a l que comande o deslocamento s e g u i d o d e uma e n t r a d a e d e uma s a í d a s e r i a 1 do r e g i s t r o p a r a e s s a o p e r a ç ã o .
JS
n a s t r a n s-
f e r ê n c i a s i n t e r n a s , a p e n a s o s nomes dos s i n a i s que as q u a l i f i-
cam devem ser mencionados, uma vez que a ação é bem d e f i n i d a . A f i g u r a ( 1 1 1 . 4 ) i l u s t r a a d e s e r i ~ ã o d e um r e g i s t r s d e 8 b i t s , on-
d e t o d a s as o p e r a ç õ e s p o s s i v e i s s ã o u t i l i z a d a s .3 . 3
-
OS COMANDOS DE SIMULAÇÃOA manipulação do simulador f u n c i o n a l é f e i t a a t r a v é s de um t e r m i n a l . O s comandos da s i m u l a ç ã o s ã o quase i d ê n t i c o s a o s do s i m u l a d o r MOSSIM, que e s t á sendo programado no NCE, de modo que poupa a o u s u á r i o o a p r e n d i z a d o d e m a i s uma linguagem. Do MOSSIM não foram u t i l i z a d o s o s comandos DEFINE, FIND, FLUSH, CY - CLE, PHASE e SWITCH. Ao c o n j u n t o o r i g i n a l , foram adicionados t r ê s comandos: CLD, SAVE e STEPX, este Último uma v a r i a ç ã o do co
-
mando STEP. A s i n t a x e d o s comandos & mostrada na f i g u r a (111.5) e o funeionamento de cada comando é mostrado a s e g u i r .O comando READ < a r q u i v o > c a u s a a l e i t u r a e a compi
-
l a ç ã o do a r q u i v o que contém a d e f i n i ç ã o do c i r c u i t o . O c ó d i g o g e r a d o f i c a na memória,COMANDO :: = N O M E - D E - A R Q U I V O N O M E - DE - A R Q U I V O I N O M E - D E - A R Q U I V I TEXTO : : =
O comando SAVE < a r q u i v o > f a z com que sejam c o p i a
-
dos p a r a um a r q u i v o o c ó d i g o r e s u l t a d o da compilação, a s t a b e l a s do s i m u l a d o r e algumas v a r i á v e i s p o r e l e u s a d a s . ~ o d e r í a m o s cha -mar e s t a o p e r a ç ã o de salvamento do c o n t e x t o .
O comando OLD < a r q u i v o > e x e c u t a procedimento con
-
t r á r i o a o que é r e a l i z a d o p e l o comando SAVE,restaurando o c o n t e x -t o .
O comando COPY < a r q u i v o > i n d i c a a o s i m u l a d o r que s e d e s e j a p r o d u z i r , a p a r t i r d e s s e ponto, uma a u d i t o r i a d a simu
-
l a ç ã o . N o a r q u i v o s ã o gravados t o d o s o s comandos que v i e r e m a s e r f o r n e c i d o s , bem como t o d a s a s s a i d a s p r o d u z i d a s p e l o s i m u l a
-
d o r , que continuam sendo e n v i a d a s a o v í d e o do t e r m i n a l .O comando SOURCE < a r q u i v o > p e r m i t e que um c e r t o t r e c h o d e comandos p o s s a s e r o b t i d o d e um a r q u i v o em d i s c o , pog s i b i l i t a n d o uma i n d i r e ç ã o d e comandos a o s i m u l a d o r . Procedimen
-
t o s de i n i c i a l i z a ç ã o e t e s t e s podem e s t a r c o n t i d o s e m a r q u i v o s i n d e p e n d e n t e s , e v i t a n d o que o u s u â r i o t e n h a que o s t e c l a r e m s i-
mulações d i s t i n t a s . O comando I N I T c a u s a uma r e i n i c i a l i z a ç ã o d a s i m u l a-
ç ã o , d e s t r u i n d o t o d a s as t a b e l a s e a t r i b u i n d o " 0 " a t o d o s o s s i - n a i s . O c ó d i g o do c i r c u i t o permanece i n a l t e r a d o . O s comandos Q U I T e K I L L t ê m p o r f u n @ ã o e n c e r r a r a s i-
mulação, S e , no e n t a n t o , um Q U I T f o r e n c o n t r a d o e m um a r q u i v o de comandos a t i v a d o p o r um SOURCE, a a ç ã o tomada s e r á a d e r e t o r-
no a o t e r m i n a l p a r a recebimento d e novos comandos.
O comando GET < s i n a l >
...
p e r m i t e que se obtenha o s v a l o r e s dos s i n a i s n e l e e s p e c i f i c a d o s .O comando SET < s i n a l > : < v a l o r >
. . .
p e r m i t e que se altere e s t a d o s de s i n a i s ,O comando FORCE < sinal > : < valor >
.
. .
atuacomo u m SET duradouro, inibindo futuras alterações dos sinais forçados.O comando UNFORCE <sinal >
...
faz com que os sinais 15 relacionados não sejam mais forçados.O comando CLOCK <sinal > : <sequência> * .
.
permiteque se especifique sequências de valores que os sinais irão rece
-
ber, passo a passo. Os sinais não serão alterados pela simulação
e as sequências serão expandidas circularmente ao longo do prg
cesso.
O comando WATCH <sinal>
...
faz com que ao fim de ca-
da passo de simulação sejam mostrados os estados correntes des
-
ses sinais.
C comando UNWATCK <sinal>
...
faz com qge as sinais não mais sejam mostrados ao fim de cada passo.O comando STEP < n > faz com que N passos sejam simula
-
dos. Se N for omitido, o simulador assume que se deseja execu
-
tar um passo. Ao fim de cada passo simulado são mostrados os es
-
tados dos sinais especificados por comandos WATCH,
O comando STEPX %n> 6 semelhante ao anterior, sendo
que os sinais só são mostrados após o término do Último passo.
comentários podem ser introduzidos através da cláu
sula COMMENT, Todo o restante da linha não ser2 considerado.
são
muito Úteis quando se estiver utilizando um arquivo de comandos
ou quando se desejar escrever observações no arquivo de audito
-
O simulador funcional opera por passos, As fases do
relógio são simuladas atravês de comandos CLOCK9s,
e
comum en-
contrarmos circuikos que funcionam com ciclos de 2 fases, não su
-
perpostas, Isto pode ser simulado com o auxzlio de dois sinais,
FASE1 e FASE2 por exemplo, aos quais fornecemos sequencias atua
-
v&
de CLOCK'sm A sequzncia6
de responsabilidade do usuário$QAS
Osirquk~Ior,
para aiao ficar restrito a este tlpo de aborda-
$em,
não
atrlbuia
esses sinaisalgum
tipo especial de tratamen -to, ~ o d e r ~ a m s s e n t k implementar o esquema de duas fases citado através de
A cada passo de simulação um trecho de umaPLA ou de
um registro s6 é considerado se o estado do sinal especificado
em
sua
clkwula CK valer"l",
No esquema de duas fases nao su-
perpostas, devemosusar
exclusLvamente os d o i s sinais que repre-
scorrer t q n t ~ em FASE1 quqnto em FASE2,\
'Uma
alternativa seriautilizar
um
outro sinal, por exemplo FASE3, eforqá-lo
semprecoma 8t&voI parq controlar as operações que
sãs
independentes dore%8gAo, que podem ser realizadas em qualquer fase,
Urna,
vez
sLmuXadoum
passo, o siml~dous guardaos
estados
dos
a;bnais
e 'vsltaa
simular o passa, Este procedimentorealAactdo
atg
que'n$o ocorram mudançasnos
estados dos sinais, a-
tAngAa4.d~ s circuAto sua estabilidade, Se o simulador não csnse
-
. Y U ~ C
akançaar
esta aituaçao em N rodadas, onde N o n k e r o decircuito não foi estabilizado, Iistando os sinaks que mudaram
de estado na última rodada, O valor N foi determinado supondo
que, no pior caso, apenas um sinal ê definitivamente estabiliza
-
so em cada avaliação.
EXEMPZO DA SXWJLAÇÃO FvaJ@TUN&
Apresentamos no -apêndice
I
a simulaqao deum
circui-
to serializador, Ele possui quatro ligações com o meio externo:uma
barra, de 8 bits, onde o padrso deposikado, w-a sinal coman-
dado a carga dq informaç~o que esta
na
barra, a sãida seria1 ewn sinal de estado, indicando que a safda está disponicvel, Basa
o funcionamento correto do circuito, o sinal de carga deve perma
necer ativo por ryi ciclo completo OU, de acordo como esquema de
&a8 gases
não
superpostas adotado, durante dois passosde
simu-
laçao, O estado pronto estarz ative durante uma única fase,
Tentamos neste exemplo utilizar o maior número pog
sivel de comandos do simulador, assim como, introduzir boa quan
-
tidade de coment&ios a fim de facilitar o entendimento da simu
-
lação. A sazda que apresentamos foi obtida ao listamos a audito -
Una d a s mais i m p o r t a n t e s c a r a c t e r g s t i c g s cio a t u a l e s t a -
g i o
n a
C Q ~ S : % F U ~ % I de p a s t g l h a s 6 'o f a t o d o s p r o j e t s sngo
seremd e p e d e f i t e s dos p r o c e s s o s de f a b r i c a ç z o ,
Ou
s e j q , e x k s t e umac12
r a sepqração e n t r e o p r o c e s s m e n t o reqlizzido d u r a n t e o fqbrflco da p a s t i l h a e o e s f o r ç o d e p r o j e t o neceSsárSo p a r 9
a
cr$qçzod o s padr6es a serem Lmplementados, E s t a separq@a e x i g e que o
p r o - j e t i s t a psssuq um^ definiçãio p r e e i s q das-rpapac&da3es
da
p r gc e s s o u t t l i z a d s p e l o laboratório a qaxe e l e v a i eaivlar a s e s p e c i f l
-
caçQe9 do s e u p r o j e t o , E s s a d e f i n z ç & abrange a s p e c t o s geométri-
c o s , como o conhecimento da r e s o l u ç ã o do processo
a
s e r u t i l i z a-
do, o que o b r i g a o p r o j e t i s t a a c m p r á r d e t e r m b q d a s n o m a s , co
-
nhecj;d+s cuqo r e g r q s de ' p r o j e t o , E s t q s normas e3tqbelecebn0s
me
nores vct9,ores' p o s s í v e i s pqra l a r g u r a s ; s e p q r q ç ~ e s , extena6ep e s o b r a s d e s b j e t s s geomêkricos do c i r c u i t o , '
Com o desenvalvimesto d a t e c n s l o g i a , d e construqgo de pastí..lhas, esses valsa?eS rnlnfmos teaiaem a s e r cadq v e z menores
,
ra que 'pode o b r l g ~ r a um p r o j e t o t e r de 'ser reeonsldesrado devida
9
a uma mudaãsçq
na,
proceSso. de f a b r i c a ç a s , Ém MERD,
um8 s o l u ç ~ o5
propostq com a f i n a l i d a d e de 'sanar o probl'enia causado p e l a mu -danqa d e e s c a l a em u m p r o c e s s o , E l e c r i a
uma
unidade de cumpri mento r e l a t i v a denominada lambda ( X . ) e sugere que os p r o j e t i s t a s desenvo%vm s e u s c i r c u i t o s u t i l i z a n d o e s t a unidade, Basisa -mente, Xqmbda pode ser v i s t o como o e r r o m&ximo de p o s i c i s n a m e t o que pode s e r cometido na confecção d e
uma
can;ldaa A s s L m sen -do, o maior d e s v i o que pode s e r causado e n t r e duqs sawadqs e do&s Xqnbdãs, e m r e l a ç i b 2 s e s p e c i f i c q ç 8 e s - o r i g f n q f s , '
A s r e g r a s de p r o j e t o s ã o d e c o r r e n t e s da p r ó p r i a d e f i
-
n i ç ã o de lambda. Para p r e s e r v a r a t o p o l o g i a dos elementos de uma camada, ê e x i g i d a urna l a r g u r a mhima de d o i s lambdas, v a l o r i d ê n-
tAca
5
w p v a ç a o mznima e n t r e d o i s f i o s , E s t a s r e g r a s , e n t r e t a - t o ,ags
podem s e r apIPc3dasa
t o d a s q s camadas p o r rqa6es d i r e t a-
mente re%acionsidas a o p r o c e s s o de fqbricqç$o,'No processo WOS, existem
t r ê s
t i p o s de c m a d q s condu-
torasoa
de d i f u s ã o , a de p o l i s i l ~ c i o e a de m e t a l ,além
d e l a s , e x i s t e uma mi%scara correspondentea
a b e r t u r a s de j a n e l a s de con-
-&@.to, ou c o r k e s de c o n t â t o , A camada de p o l i s i ; l É c i o , que normal.-
mente i2 qnais
b e m csn*rolqds, obedece2s
r e g r q s - b $ s i c q s de 1%n i r
c~nd.u$o de c o r r e n t e a t r a v ê s de regã6es d e 'c~e~,Iec;So (-ous'w
-
g r h ) quqndo Q t e n s a o f o r e l e v a d a , Uma s e p a r q ç & . d e ta.& lambdss é exigkdq
entre
doAs f l o s d e dAfuszo, A camada d e m e t a l , que d a st r e s 8 f i l t i w q q s e r posics4onada, c s b r i n d s r e g i 6 e s r u g o s a s cag
aqdas p e l o d e p ó a t t o dqa ~ n t e r i o r e s ~ ê geuqlmente
u t i l i z a d a
como e l o da i&gaçgo e n t r e a$ elementos do c $ r c u i t o , Seus f & o s devemp o s s u i r azma l a r g u r a
rnb-&tm
de t r & lqmbdas qsslm como s e p a r a-
qão e n t r e eles de mesma magnitude, P i o s de p o l i s i l i c ~ o e d i f u s %
que
n ã ~
s e juntem p a r aa
formação de c o n t a t o sou
t r a n s i s t o x e s de-
vem p o s s u i r lamq separaçao rnhirna de mqlambda,
Emborar devidoa
uq desfrl~nhamento, o p o l í s i J ~ c i o possa sobrepor-se3
dffvs&., ale-
nhum
problemae
cansadoa l h
de um e s t r e i t q m e n t o no £20 d e d i f u-
S ~ O ,
Q ~ a , n d ~ o p a l A s j ; X ~ c A o c r u z a , m q l h h a d e d k f u s ~ o um t r a n s f t s t o r ê c r i a d o , onde a l a r g u r a e o conprftmento
n h i m o
de seu c a n a l s â o r e g i d o s , respectivamente, p e l a s - l a r g u r a s mininas dos f i o s de d i f u s a o e p o l i s i l ? e i o que o f o m t m , Para que umtran
s i s t o r f u n c i o n e c o r r e t a m e n t e n e c e s s á r i o que o p o l i s i l i c i o c u -
b r a completamente o f i o de d i f u s ã o . Como o e r r o máximo a c e i t á v e l e n t r e d u a s camadas é d o i s lambdas, é e x i g i d o que o f i o d e p o l i s i l ~ c i o u l t r a p a s s e a r e g i ã o do t r a n s i s t o r em, p e l o menos, e s s e s d o i s larnbdas. Analogamente, o f i o d e d i f u s ã o deve u l t r a
-
p a s s a r e m d o i s larnbdas o t r a n s i s t o r p o r e l e formado.A o u t r a i n t e r a ç ã o e x i s t e n t e e n t r e camadas r e f e r e - s e a o s c o n t a t o s . Algumas r e g r a s garantem a formação d e c o n t a t o s p e r f e i t o s . Elementos na camada d e c o r t e e s p e c i f i c a m j a n e l a s que tornam e x p o s t o s o p o l i s i l í c i o i - s e a l i e x i s t i x , ou a d i f u
-
s ã o , se e l a e x i s t i r mas não o p o l i s i l í c i o , d e t a l m a n e i r a que o m e t a l e n t r e e m c o n t a t o com a á r e a d e s i l í c i o . C o n t a t o s s ã o f e i t o s usando c o r t e s d e , no mínimo, d o i s X d o i s lambdas s o b r e uma r e g i ã o d e d i f u s ã o , ou p o l i s i l i c i o , que deve e x c e d e r a r e-
g i ã o do c o r t e , assim como o m e t a l , p e l o menos um lambda em t o-
dos o s s e n t i d o s , A f i m de p r e v e n i r que um c o r t e p a r a a d i f u s ã o a c i d e n t a l m e n t e provoque um c o n t a t o com um f i o d e p l i l s i l i c i o que p a s s e p o r p e r t o , é e x i g i d a uma s e p a r a ç ã o mínima d e d o i s lambdas e n t r e e s s e f i o e o c o r t e . 0s c o n t a t o s v i s t o s a t é a g o r a podem s e r chamados d e c o n t a t o s s i m p l e s , ~ l 6 m d e s t e s , e x i s t e o c o n t a t o d e emenda que tem por f i n a l i d a d e u n i r um f i o d e d i f u s ã o a um ou-
t r o de p o l i s i l í c i o , Um c o n t a t o d e emenda 6 f e i t o removendo-se o i s o l a n t e , formando um c o n t a t o do t i p o polisilfcio-corte-meta1,eextendendo-se o c o r t e s o b r e a d i f u s ã o , formando um r e t â n g u l o d e d o i s X q u a t r o lambdas na r e g i ã o da emenda, Desta forma teremos d o i s X d o i s lambdas s o b r e o p o l i s i l i c i o e d o i s X d o i s lambdas s o b r e a d i f u s ã o . Com a f i n a l i d a d e d e se o b t e r uma ; c o n s t r u ç ã o mais compacta, o f i o de p o l i s i l i c i o deve s o b r e p o r - s e a o d e d i f u -
s ã o e m um lambda na r e g i ã o da emenda, Uma o u t r a r e g r a i n d i c a que um c o r t e expondo a d i f u s ã o deve e s t a r s e p a r a d o d e u m t r a n -
sistor de pelo menos dois lambdas, a fim de prevenir um poss~vel curto circuito,
Uma outra camada também comumente empregada por labo -
ratõrios de fabricação é a de implante, responsãvel pela criação
de transistores de depleção, ou seja, aqueles que exigem tensões
negativas em suas portas, em relação aos respectivos drenos, p g
ra permanecerem abertos, sendo empregados como resistores. Em
9
MEAD é exigido que a região de implante exceda ao transistor
8
em um e meio lambda, em todos os sentidos. ~á LYON
,
apresentan -do resultados mais apurados, informa que o implante deve formar
um retângulo, cuja largura é dois lambdas maior que a do fio de
difusão e cujo comprimento é quatro lambdas maior que a largura
do fio de polisilício, com centro no ponto médio do transistor.
Admite também que boa parte dos projetistas usam, e continuarão
usando, uma região que exceda o transistor de dois lambdas, em
9
todos os sentidos. Vemos em MEAD que além dessa exigência, e
necesssria uma separação de um e meio lambda e n t r e - u m a região com implante e um transistor comum, ou seja, sem implante,
9
As regras apresentadas na simplificação de MEAD es
-
tão graficamente ilustradas na figura (IV.1),
4.2
-
METODOS
DE' VERIFICAÇÃO DE REGRASO método dos polígonos, para verificação de regras
de projeto, trata cada máscara como se fosse uma coleção de poli
-
gonos e utiliza uma algebra para manipulação e combinação das
camadas. Nesta álgebra existem as operações de expansão e contra
-
ção de poligonos de uma camada e operações tradicionais como a
união, interseção e complemento para a combinação - - de camadas ou