• Nenhum resultado encontrado

Calculad ora Verilog

N/A
N/A
Protected

Academic year: 2021

Share "Calculad ora Verilog"

Copied!
6
0
0

Texto

(1)

Univer si d a d e Fed e r al d e Mina s Gerais Ca m p u s Pa m p ul h a

Ciê ncia d a Co m p u t açã o

Calculad ora Verilo g

Tra b al h o a p r e s e n t a d o à di sci plin a

Organi zaçã o d e Co m p utad ore s I

Leon el Fon s e ca Iv o 2 0 0 7 0 4 1 4 1 8

Cláudio d o s Santo s Fernan d e s 2 0 0 7 0 4 1 1 2 4

(2)

Calculad ora e m Verilo g

Funcio na m e nt o da Calculad ora

To d a in te r açã o e n t r e o u s u á rio e a calc ula d o r a é r e ali z a d a p o r m eio d o t ecla d o. O p r o g r a m a é ite r a tivo, o u s ej a, p e r mi te q u e s ej a m efe t u a d a s m ai s d e u m a o p e r aç ã o, s e m q u e s eja n ec e s s á rio a exec uç ã o d o p r o g r a m a m ai s d e u m a ve z. Bas t a q u e s e p a s s e u m a o p e r aç ã o p o r ve z p a r a a calc ul a d o r a, n o fo r m a t o m e n cio n a d o a b aixo, q u e ela a p r e s e n t a r á o r e s ul t a d o e s e r ei niciar á a u t o m a tica m e n t e.

O p e r a a p e n a s co m n ú m e r o s q u e s ej a m r e p r e s e n t áveis e m 1 6 bi t s, s e n d o o r e s ul t a d o a p r e s e n t a d o e m 3 2 bi t s e n ã o t r a t a n d o u m p o s sível ove rflow. Fa z o p e r a ç õe s co m in t eir o s (a diçã o, s u b t r aç ã o, d ivis ã o e m u l ti plicaçã o) o u p o n t o s flu t u a n t e s (a diçã o e m u l ti plicaçã o).

Exec u t a n d o o p r o g r a m a, inicial m e n t e é m o s t r a d a u m a m e n s a g e m n a q u al p e d e - s e q u e o u s u á rio inf o r m e o ti p o d o s n ú m e r o s e nvolvi d o s n a o p e r a çã o. A m e n s a ge m m o s t r a d a é a s eg ui n t e: Forneça o tipo da operação:  Digite:  'i' para operacoes com inteiros,  'f' para operacoes com ponto flutuante ou  'q' para sair 

O p r o g r a m a s ó é e n ce r r a d o q u a n d o o u s u á rio digita r 'q', co m o in dica d o n a m e n s a ge m aci m a.

Escol hi d o o ti p o d a o p e r aç ã o, p e d e - s e q u e o u s u á rio info r m e o s n ú m e r o s e nv olvi d o s à calc ula d o r a, n a b a s e d e ci m al. Se n o exe m pl o aci m a o u s u á rio o p t a s s e p o r u m a o p e r aç ã o d e in teiro s, a s eg ui n t e m e n s a ge m s e ria m o s t r a d a n a t ela:

Forneça a operação. 

Formato: <op1> <operador> <op2>  Ex: 12+1 

A p a r ti r d aí, a calc ula d o r a co m e ç a a a t u a r, p a s s a n d o e s s e s n ú m e r o s p a r a a b a s e bi n á ria e coloc a n d o a o p e r aç ã o n u m fo r m a t o q u e facilite a exec uç ã o d o s cálc ulo s (vide a s e s s ã o Desc riçã o e Fu ncio n a m e n t o d o s Mó d ulo s p a r a m ai s d e t al h e s). Em s e g ui d a, e s s e n ov o fo r m a t o é u tili z a d o p a r a efe t u a r o s cálc ulo s, i m p ri mi n d o, p o r fi m, o r e s ul t a d o, n a b a s e d eci m al, co m o n o exe m pl o a b aixo:

(3)

Relaçã o e ntre o s m ó d ul o s

O p r o g r a m a foi divi dio e m q u a t r o m ó d ul o s, s e n d o d oi s d ele s e sc ri t o s e m C e o s o u t r o s d oi s e m Verilog.

O m ó d u lo displa y.c s ó é invoc a d o a o t é r mi n o d e t o d o s o s cálc ulo s, feit o s p ela ALU.

Padrõ e s d e Pont o Flutuant e

Ao o p e r a r co m n ú m e r o s e m p o n t o flu t u a n t e d e 1 6 bi t s t o r n o u - s e n ec e s s á rio a d e fi niçã o d e u m n ov o p a d r ã o, vis t o q u e o s d e fi ni d o s p ela IEEE 7 5 4 vale m p a r a 3 2 e 6 4 bit s. Alé m di s s o, o fo r m a t o d e p r ecis ã o si m ple s d e fi ni d o p ela IEEE 7 5 4 n ã o foi u tili z a d o a q ui p a r a r e p r e s e n t a r o r e s ul t a d o (q u e p o s s ui 3 2 bi t s), vis t o q u e o s 8 bi t s r e s e rva d o s p a r a o ex p o e n t e n ã o s ã o n e ce s s á rio s, já q u e o ex p o e n t e d o r e s ul t a d o s e r á d e, n o m á xi m o, 5 bi t s (no ca s o d a m u l ti plicaçã o, o n d e o s ex p o e n t e s s ã o s o m a d o s).

Sen d o a s si m, a d o t o u - s e d oi s d ife re n t e s fo r m a t o s, o p ri m eir o u tili z a d o p a r a

main.c: Responsável pela obtenção dos dados pelo teclado e de transfor­ má­los no formato certo. IO.v:  Interpreta a informação colocada  no devido formato e chama o método que fará a conta. ALU.v: Implementa as operações.de  inteiros e ponto flutuante. Faz os  cálculos e guarda a resposta em um arquivo txt display.c:  Transforma a resposta em binário, armazenada no arquivo txt, de volta para decimal.

(4)

r e p r e s e n t a r o s o p e r a n d o s e o s eg u n d o u tili z a d o p a r a r e p r e s e n t a r o r e s ul t a d o, a m b o s leva n d o e m co n t a u m co m p r o mi s s o e n t r e o in t e rv alo d e r e p r e s e n t aç ã o e a p r ecis ã o d o s n ú m e r o s s u ficie n t e m e n t e b o m p a r a o s p r o p ó sit o s.

Inicial m e n t e, e s s e s p a d r õ e s s e a s s e m el h a m a o p r o p o s t o p ela IEEE 7 5 4, já q u e exige q u e o s n ú m e r o e s t ej a m n a fo r m a n o r m ali z a d a e q u e o '1' à e s q u e r d a d a vírg ula é d eixa d o i m plícito. Isto é:

6.5

dec

=110.1

bin

=1.101

x10

2bin

forma normalizada

O p ri m eir o p a d r ã o é co m p o s t o d e 1 bi t d e si n al, 4 d e ex p o e n t e (co m u m bia s d e 7) e 1 1 d e m a n ti s s a, e n q u a n t o o s eg u n d o é fo r m a d o p o r 1 bi t d e si n al, 5 d e ex p o e n t e (co m u m bia s d e 1 5) e 2 6 d e m a n ti s s a. Par a m el h o r ilu s t r á - lo s, s e g u e o s exe m p lo s a b aixo:

−2.5

dec

=−10.1

bin

=1100010000000000

bin e m 1 6 bi t s

−4.5

dec

=−100.1

bin

=11000110000000000000000000000000

bin e m 3 2 bi t s

D ecriçã o e Funci o na m e nt o d o s Módulo s

1. m ai n.c:

Res p o n s ável p ela leit u r a d o s d a d o s p a s s a d o s p elo u s u á rio a t r avé s d o t ecla d o e d e s u a in t e r p r e t aç ã o. Par a ca d a ti p o d e o p e r aç ã o (en t re in t eir o s o u p o n t o s fl u t u a n t e s), co nve r te o s n ú m e r o s p a s s a d o s p a r a a b a s e bi n á ria e s alva a o p e r aç ã o e m u m a r q uivo e n tr a d a.txt. Ne s se a r q uivo, o s d a d o s s ã o e sc rit o s n o s e g ui n t e p a d r ã o:

< t i p o d e o p e r aç ã o > < o p e r a n d o 1 > < o p e r a n d o 2 > < o p e r a d o r >

Por exe m pl o, co n si d e r a n d o a o p e r aç ã o e n t r e in t eir o s 2 + 1, coloca n d o - a n o fo r m a t o aci m a t e ría m o s:

i 0000000000000010 0000000000000001 +

No ca s o d e p o n t o s fl u t u a n t e s, o 'i' é t r o c a d o p o r 'f' e o s n ú m e r o s s ã o coloca d o s n o fo r m a t o ex plica d o n a s e s s ã o a n t e rio r.

Feito is s o, o m ó d u lo IO.v é invoc a d o, e o p r o ce s s a m e n t o co n ti n u a a p a r ti r d ele. Q u a n d o o r e s ul t a d o d a co n t a é r e t o r n a d o, c h a m a o m ó d ul o d i s play.c, q u e o t r a n s f o r m a r á d e volt a p a r a a b a s e d e ci m al e o exibirá n a t ela.

2. IO.v:

Lê o a r q uivo e n tr a d a.txt, já co n t e n d o o s d a d o s n o fo r m a t o coloca d o aci m a. Pa s s a o s o p e r a n d o s p a r a a f u n ç ã o d o m ó d ul o ALU.v q u e efe t u a r á o cálc ulo d e s ej a d o (so m a d e in t eir o s, n o exe m pl o a n t e rio r).

3. ALU.v:

(5)

in teiro s q u a n t o p a r a p o n t o fl u t u a n t e. Da d o s o s o p e r a n d o s n o fo r m a t o a d e q u a n d o (e m bi n á rio, e n o p a d r ã o a d o t a d o p a r a p o n t o fl u t u a n t e) co m o p a r â m e t r o, efe t u a o s d evi d o s cálc ulo s e r e t o r n a o r e s ul t a d o.

4. di s play.c:

Co nve r t e o r e s ul t a d o d e bi n á rio p a r a b a s e d e ci m al, i m p ri mi n d o o r e s ul t a d o n a t ela.

Co m pilaçã o e Execu çã o

A co m pilaç ã o e exec uç ã o d o p r o g r a m a d eve s e r feit a a t r avé s d o u tilitá rio ' m a k e'. Digit a n d o ' m a k e' n o t e r mi n al d o Lin ux o p r o g r a m a s e r á a u t o m a tica m e n t e co m pila d o e exec u t a d o logo e m s eg ui d a.

No e n t a n t o, é i m p o r t a n t e d e s t a c a r a n ec e s si d a d e d a p r e s e n ç a d o co m pila d o r verilog cver n o co m p u t a d o r, u m a ve z q u e ele é u tili z a d o n e s s e u tilit á rio p a r a r o d a r o s m ó d u lo s e scrit o s n e s s a ling u a ge m.

Para r o d á - lo u s a n d o o u t r o s co m pila d o r e s, d eve - s e fa z ê - lo p a s s a n d o o s co m a n d o s di r e t a m e n t e n o t e r mi n al d o Lin ux. Poré m, a exec uç ã o co r r e t a d o p r o g r a m a n ã o é ga r a n ti d a co m a u tili z aç ã o d e o u t r o s co m pila d o r e s, u m a ve z q u e o s t e s t e s fo r a m feito s u tili z a n d o a p e n a s o si m ula d o r d e ve rilog m e n cio n a d o.

Te st e s reali za d o s

To d o s o s t e s t e s fo r a m r e ali z a d o s n a m á q ui n a sirius.gra d , d o s la b o r a t ó rio s d o d cc d a UFMG.

Ju n t o co m o s m ó d u l o s d a calc ula d o r a foi cria d o t a m b é m u m m ó d ul o d e t e s t e, p a r a vali d a r s e u f u n cio n a m e n t o. Sua e n t r a d a co n si s t e e m u m a r q ui t o t ex t o, d e n o m e testes.txt, q u e co n t é m t o d a s a s o p e r aç õ e s a s e r e m exec u t a d a s d u r a n t e o t e s t e d o circ uit o p r o je t a d o. Incl ui t a m b é m, exe m p lo s e nvolve n d o o p e r aç õ e s co m n ú m e r o s n eg a tivo s, à exece s s ã o, cla r o, d e u m a o p e r aç ã o d e p o n t o fl u t u a n t e d o ti p o - 0.5 - 1.5, q u e co r r e s p o n d e à u m a o p e r aç ã o d e s u b t r aç ã o, o q u e n ã o é s u p o r t a d o p o r e s s a calc ula d o r a.

A exec uç ã o d o m ó d u lo d e t e s t e s s e d á d e ac o r d o co m a s eg ui n t e si n t axe: ./principal ­b

Ao exec u t a r e s t e m ó d ul o, s e r á cria d o u m a r q uivo t ex t o d e n o m e res ulta dosBe nc h.txt co n t e n d o o s r e s ul t a d o s d o s t e s t e s r e ali z a d o s, s eg ui d a s p el o s s e u s r e s ul t a d o s e s p e r a d o s e o s r e s ul t a d o s efe tiva m e n t e o b ti d o s p ela calc ul a d o r a p r oj e t a d a. Ob s e rv a n d o t ai s r e s ul t a d o s ve rifica - s e q u e e s t a calc ula d o r a a p r e s e n t a r e s ul t a d o s co r r e t o s p a r a o p e r aç õ e s e nv olve n d o in teiro s e r e s ul t a d o s ex a t o s, e m alg u n s ca s o s, p a r a p o n t o flu t u a n t e e co m u m a p r e ci sã o s a tisf a t o ria m e n t e b o a e m o u t r o s, co m e r r o s ge r al m e n t e n ã o m ai o re s q u e 1%.

(6)

Erro s e n c o ntrad o s

Um d o s e r r o s e n c o n t r a d o s s e r efe re à r e p r e s e n t aç ã o d o n ú m e r o 0 e m p o n t o fl u t u a n t e, t a n t o n a e n t r a d a q u a n t o n a s aí d a. Ele é r e p r e s e n t a d o p elo n ú m e r o 0011100000000000  no for mato de 16 bits (devido ao bias de 7 desse for mato). Ent re t a n t o, o s m ó d u l o s m ai n.c, ALU.V e displa y.c e r a m p r o je t a d o s p a r a e n t e n d e r e s t a r e p r e s e n t aç ã o co m o

1

x2

0 . Para r e s olve r e s t e p r o ble m a t r a t o u - s e o n ú m e r o 0 co m o u m ca s o e s p ecial, r e p r e s e n t a n d o - o co m o 1 6 z e r o s s eg ui d o s n a r e p r e s e n t aç ã o d e 1 6 bit s, e 00100000000000000000000000000000  na representação de 32 bits. O m o tivo p a r a o ex p o e n t e s e r 8 (01 0 0 0) n e s s a úl ti m a r e p r e s e n t aç ã o é p o r q u e o p t o u - s e p o r m a n t e r a r e p r e s e n t aç ã o d o z e r o co m o s e n d o

0=1∗2

−7 (não s u b t r ai n d o o bias d a r e p r e s e n t aç ã o d e 1 6 bi t s). Pas s a n d o p a r a 3 2 bit s, n o q u al o bias é d e 1 5, o ex p o e n t e ti n h a q u e s e r 8, já q u e 8 1 5 = - 7. De s s a fo r m a, m a n t eve - s e u m a ú nic a r e p r e s e n t aç ã o p a r a o z e r o n o s d oi s fo r m a t o s.

O u t r o e r r o d i z r e s p ei t o à d ivis ã o d e n ú m e r o s in teiro s co m p elo m e n o s u m d o s o p e r a n d o s n e g a tivo, e n c o n t r a d o n o m ó d u l o ALU.v. Ao t e s t a r e s s a s p o s si bili d a d e s verifico u - s e r e s ul t a d o s t o t al m e n t e inco e r e n t e s a o e s p e r a d o. Tal e r r o e r a d evi d o à co nve r s ã o e m co m ple m e n t o d e d oi s d o s n ú m e r o s n eg a tivo s a n t e s d e s e efe t u a r a divis ã o. Par a co r rigí - lo, foi p r ecis o co nve r t ê - lo s p a r a s u a r e p r e s e n t a ç ã o p o si tiva a n t e s d e o p e r a r s o b r e ele s. Ap ó s a o p e r aç ã o, o r e s ul t a d o é co nve r ti d o p a r a s u a r e p r e s e n t aç ã o e m co m ple m e t o d e d oi s s e o s bit s d e si n al d o s o p e r a n d o s fo re m dife re n t e s.

Oco r r e u ai n d a r e s ul t a d o s inc o r r e t o s n a m u l ti plicaçã o p o r 0 u tili z a n d o p o n t o fl u t u a n t e, t a m b é m e nc o n t r a d o n o m ó d u lo ALU.v. Iss o oc o r ria p o r q u e n ã o s e fa zi a a verificaçã o d o s o p e r a n d o s a n t e s d e m u l ti plicá - lo s. Par a co r rigir, b a s t o u ac re sce n t a r u m a co n diç ã o d e q u e s e u m d o s o p e r a n d o s fo s s e n ul o, e n t ã o o r e s ul t a d o t a m b é m o s e ria.

Referências

Documentos relacionados

A Federação Equestre Internacional (FEI) espera que todos aqueles que se encontram envolvidos no desporto equestre internacional adiram ao Código de Conduta para

A) Não, devido ao princípio de constância genômica, pelo qual todas as células somáticas de um organismo pluricelular normal têm os mesmos genes. B) Sim, porque a

O artigo 2, intitulado “Tecnologias de Informação e Comunicação (TIC): Estar fora da família, estando dentro de casa”, foi resultado da realização de uma pesquisa de

Neste caso, embora possam existir nestes locais, forrageiras de alta qualidade, como o capim-de-capivara (Hymenachne amplexicaulis), a disponibilidade de recursos forrageiros vai

• The definition of the concept of the project’s area of indirect influence should consider the area affected by changes in economic, social and environmental dynamics induced

Este artigo apresenta a integração do modelo organizacional de unidades de negócio e de um sistema de custo como base para o gerenciamento dos resultados de um grupo

Em Campinas, São Paulo, o Ambulatório de Violência contra Criança e Adolescentes (VCCA), localizado no Hospital das Clínicas (HC) da Universidade Estadual de

Effects of the bite splint 15-day treatment termination in patients with temporomandibular disorder with a clinical history of sleep bruxism: a longitudinal single-cohort