• Nenhum resultado encontrado

Publicações do PESC Verificação de Projetos de Circuitos Integrados

N/A
N/A
Protected

Academic year: 2021

Share "Publicações do PESC Verificação de Projetos de Circuitos Integrados"

Copied!
95
0
0

Texto

(1)

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 EM

CIGNCIAS

(M.Sc.).

Aprovada por :

YSMAR VIANNA E SILVA FILHO

EBER ASSTS SCHMITZ

AL-4

PAULO

MARIO

BIANCHI FRANCA

EDIL SEVERIANO TAVARES FERNANDES

RIO DE JANEIRO,, RJ

-

BRASIL JULHO DE 1983.

(2)

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 )

.

(3)

A minha esposa e a meus pais.

(4)

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.

(5)

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ático

Todas as ferramentas listadas estão disponíveis e ro

-

dam em um ninicomputador PDP-11.

(6)

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 evaluator

A11 tools listed above are now available, and run on a PDP-11 minicomputer.

(7)

I1 . OS PROJETOS DE CIRCUITOS INTEGRADOS

...

2

2.1

-

APRESENTAÇÃO

...o...

2

2.2

-

A METODOLOGIA MEAD&CONWAY.

...

4

2.3

-

CIF

-

UM FORMATO DE DESCRIÇÃO DE CIRCUITOS

...

5

2.4

-

FERRAMENTAS DE APOIO A PROJETOS DE CI'S

...

15

2 - 5

-

A ESTAÇÃO DO NCE DE APOIO A PROJETOS

...

19

I11 . SIMULADOR FUNCIONAL

...

22

3.1 . APRESENTAÇÃO

...

22

3.2

.

A DEFINIÇÃO DO CIRCUITO

...

22

3.3

-

OS COMANDOS DE SIMULAÇÃO

...

27

3.4

-

A SIMULAÇÃO

...

31

3.5

-

EXEMPLO DA SIMULAÇÃO FUNCIONAL

...

32

IV . VERIFICADOR DE REGRAS DE PROJETO

...

33

4.1 . AS REGRAS DE PROJETO

...,...

33

4. 2

-

METODOS

DE VERIFICAGÃO DE REGRAS

...

36

4.3

-

IMPLEMENTAÇÃO DE UM VERIFICADOR DE REGRAS

...

43

4.4

-

LOCALIZAÇÃO DOS ERROS.

...

51

4. 5

-

EXEMPLO DA VERIFICAÇÃO GEOMI~TRICA

...

52

V

.

EXTRATOR DE CIRCUITOS

...

53

5.1

-

APRESENTAÇÃO

...e...a...

53

5 - 2

-

DESCRIÇÃO DO MÉTODO

...e...*

53

5.3

-

IMPLEMENTAÇÃO DE UM EXTRATOR

...

59

(8)

. viii

.

V I

.

VERIFICADOR ESTÃTICO

...e...

6 2

...

6 . 1

-

APRESENTAÇÃO 6 2

...

6 . 2

-

DESCRIÇÃO DO

METODO

6 2

6 . 3

-

IMPLEMENTAÇÃO DO VERIFICADOR

ESTATICO

...

6 4

...

6 . 4

-

EXEMPLO DA VERIFICAÇÃO ESTÁTICA 6 7

...

.

(9)

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 .

(10)

-

QS PROJETOS DE CIRCUITOS INTEGRADOS

A 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 ' s

6

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, que

6

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

DRENO ( 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 , Neste

(11)

c 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áscara

i 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 um

t 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 de

(12)

t 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&CONWAY

E 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

-

(13)

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&CONWAY

c 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 DE

BESCR$ÇÃO

DE -- 'CIRÇUITO$ -e

d

(14)

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 em

HON

.

(15)

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 A

i

C O M A N D O - C A I X A :: = I N T E I R O

t

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 I

(16)

COMANDO- 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 O

1

C A M I N H O ::=

t

i

(17)

PONTO :: = 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 O

1

(18)

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

::=

(19)

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 ;

(20)

FIGURA II. 2 - E X E M P L O D E U M P O L ~ G O N O

(21)

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.

(22)

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

(23)

~ 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 ã o

MANHATTAN

.

2 . 4

-

FERRAMENTAS DE A P O I O A PROJETOS DE C I ' S

Um 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 e

C 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

-

(24)

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

(25)

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 r

2

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

-

(26)

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 _comportamento

ló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

(27)

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 PROJETOS

A 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;

(28)

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

(29)

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 S

(30)

111

-

SIMULADOR FUNCIONAL

3 . I

-

APRESENTAÇÃO

A 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 a

l ó 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 r

5

l ó g i c o MOSSIM, que é

descrito em^^^^^^^

e BRYANT

.

3.2

-

A DEFINIÇÃO DO C I R C U I T O

O 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 . Um

s 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

-

(31)

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 A

t

I

I D E F - P L A ::= N O M E S I N A L

I

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 L

t

4

O P E R A ~ Á O ] f

(32)

I 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 R

(33)

res 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 dois

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

(34)

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 L

FIGURA

m.

2 - FORMA ESQUEMÁTICA DE UM REGISTRO

FIGURAITL.3

-

MODELO DE UM R E G I S T R O N O S I M U L A D O R FUNCIONAL

C 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

(35)

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ÇÃO

A 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,

(36)

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 : : =

(37)

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 ,

(38)

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

.

permite

que 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

-

(39)

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 sequzncia

6

de responsabilidade do usuário

$QAS

O

sirquk~Ior,

para aiao ficar restrito a este tlpo de aborda

-

$em,

não

atrlbui

a

esses sinais

algum

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, devemos

usar

exclusLvamente os d o i s sinais que repre

-

scorrer t q n t ~ em FASE1 quqnto em FASE2,\

'Uma

alternativa seria

utilizar

um

outro sinal, por exemplo FASE3, e

forqá-lo

sempre

coma 8t&voI parq controlar as operações que

sãs

independentes do

re%8gAo, que podem ser realizadas em qualquer fase,

Urna,

vez

sLmuXado

um

passo, o siml~dous guarda

os

es

tados

dos

a;bnais

e 'vslta

a

simular o passa, Este procedimento

realAactdo

atg

que'n$o ocorram mudanças

nos

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 de

(40)

circuito 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 de

um

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 e

wn 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 passos

de

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 -

(41)

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 s

ngo

serem

d 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 uma

c12

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çzo

d 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 g

c 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 e3tqbelecebn

0s

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 ç ~ o

5

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 , '

(42)

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 apIPc3das

a

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

-

toraso

a

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 correspondente

a

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 q

nais

b e m csn*rolqds, obedece

2s

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 (-ou

s'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 s

t 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 devem

p 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 a

a

formação de c o n t a t o s

ou

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 mq

lambda,

Emborar devido

a

uq desfrl~nhamento, o p o l í s i J ~ c i o possa sobrepor-se

3

dffvs&., ale

-

nhum

problema

e

cansado

a 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 um

tran

(43)

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,e

extendendo-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 -

(44)

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 REGRAS

O 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

Referências

Documentos relacionados

§ 1º O fiador dos financiamentos referidos nesta Portaria deve ser residente e domiciliado no Brasil e comprovar, salvo no caso de fiança solidária, rendimentos mensais pelo

Efetuar levantamentos climáticos de campo. Fornecer critérios e embasamento para a análise climatológica aplicada ao.. planejamento

O papel do professor nesta etapa consiste na separação dos alunos em grupos (conforme as regras), distribuição dos materiais (dispor o tabuleiro, separar e entregar o

29 Ardea alba garça-branca-grande Great Egret. 30 Syrigma sibilatrix maria-faceira

Toxicidade para órgão alvo específicos – exposição única: não disponível Toxicidade para órgãos alvo específicos – exposição repetida: não disponível Perigo

defeitos causados ao sistema pela adição de softwares não instalados ou não autorizados pela Kodak. - Danos ou defeitos causados pela instalação de quaisquer acessórios

Foram utilizados sete híbridos interespecíficos e seus genitores (“4c-4x” de P. notatum), utilizada como testemunha. Foram utilizados marcadores de mi- crossatélite

[r]