• 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

• 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

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

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

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