Escolar Documentos
Profissional Documentos
Cultura Documentos
RESUMO
Esta experincia consiste no projeto e implementao de um circuito digital simples com o uso de uma
linguagem de descrio de hardware. So apresentados aspectos bsicos da linguagem VHDL e exemplos
de descrio de circuitos.
OBJETIVOS
Aps a concluso desta experincia, os seguintes tpicos devem ser conhecidos pelos alunos:
1. PARTE TERIA
1.1. Linguagens de Descrio de Hardware
Uma alternativa entrada esquemtica de um circuito digital em um sistema de projeto auxiliado por
computador utilizar uma ferramenta de projeto baseado em texto ou linguagem de descrio de
hardware (HDL). Exemplos de HDLs so o AHDL (Altera Hardware Description Language) e os padres
VHDL e Verilog.
O projetista cria um arquivo de texto, seguindo certo conjunto de regras, conhecido como sintaxe da
linguagem, e usa um compilador para criar dados de programao do dispositivo lgico programvel
(PLD). Esta descrio de hardware pode ser usada para gerar projetos hierrquicos, ou seja, um
componente definido em uma descrio pode ser usado para gerar um hardware especfico ou ser usado
como parte de outro projeto.
As HDLs tm uma grande semelhana s linguagens de programao, mas so especificamente
orientadas descrio da estrutura e do comportamento do hardware. Uma grande vantagem das HDLs
em relao entrada esquemtica que elas podem representar diretamente equaes booleanas,
tabelas verdade e operaes complexas (p.ex. operaes aritmticas).
Uma descrio estrutural descreve a interconexo entre os componentes que fazem parte do circuito.
Esta descrio usada como entrada para uma simulao lgica da mesma forma que uma entrada
esquemtica.
Uma descrio comportamental descreve o funcionamento lgico de cada um dos componentes do
circuito. Em relao ao tipo de descrio anterior, a descrio comportamental realizada em um nvel
de abstrao mais alto.
Uma HDL pode ser usada na descrio em vrios nveis do circuito em desenvolvimento. Partindo de uma
descrio de alto nvel, pode ser usada para refinar e particionar esta descrio em outras de nvel mais
baixo durante o processo de desenvolvimento. A descrio final deve conter componentes primitivos e
blocos funcionais.
Uma grande razo para o uso de HDLs a sntese lgica. Uma descrio em HDL em conjunto com uma
biblioteca de componentes usada por uma ferramenta de sntese para a gerao automtica de um
circuito digital. Alm disto, estas ferramentas incluem uma etapa de otimizao da lgica interna do
circuito gerado, antes da gerao das estruturas internas de armazenamento, da lgica combinatria e da
estrutura de conexo dos componentes (netlist). A figura 1.1 abaixo mostra um diagrama mostrando as
etapas principais de sntese lgica.
Descrio
HDL do
Circuito
Traduo
Representao
Intermediria
Otimizao
Gerao
de netlist
Se o objetivo for a sntese do circuito em uma FPGA, somente os valores 0, 1 e Z so relevantes. Os outros valores so interessantes
nas etapas de simulao para verificao da corretude do projeto.
Aps a realizao de uma operao de adio com os sinais de entrada, a descrio atribui o bit mais
significativo de soma a C4 (vai-um) e os outros bits em S (soma).
A descrio acima um exemplo de uma descrio comportamental. O texto apresenta elementos
lgicos de um somador binrio e a ferramenta de projeto responsvel pela sntese do circuito digital
(figura 1.2).
Figura 1.2 Viso RTL do circuito sintetizado pelo Altera Quartus II.
Uma descrio estrutural do somador binrio de 4 bits equivalente ao exemplo anterior deve levar em
conta os elementos internos do circuito digital. Por exemplo, podemos considerar este somador de 4 bits
contendo 4 somadores completos de 1 bit interligados entre si (figura 1.3).
Figura 1.2 Somador binrio de 4 bits composto por 4 somadores completos de 1 bit.
Inicialmente apresentamos a descrio do somador completo de 1 bit de forma comportamental. Esta
descrio mostrada abaixo (figura 1.3).
Ao se analisar este trecho de cdigo, pode parecer que houve um erro de digitao com a presena dos sinais Q e q.
No o caso, pois o VHDL no faz distino entre maisculas e minsculas. Ento tanto Q como q representam o
mesmo sinal no circuito.
registrador
deslocador
bidirecional
modo
msi
lsi
1
1
1
1
0
0
1
1
0
0
4 - 6 = -2
vem-um forado
7
-3 (complemento de 1)
4
0
1
1
1
0
1
0
0
1
1
0
1
0
vem-um forado
4
-6 (complemento de 1)
-2 (complemento de 2)
1
1
0
1
0
1
0
1
1
-2 (complemento de 2)
-3 (complemento de 2)
-5 (complemento de 2)
Y ou Y'
4
SUBTR = 1
S
Figura 1.8 - Circuito de Soma / Subtrao em Complemento de 2.
13
11
1101
1011
0000
+
1101
1101
0110
+
1101
1 0011
1001
0100
+
multiplicando
multiplicador
valor inicial do produto parcial
soma multiplicando, bit do multiplicador 1
1
1
11
111
1101
1 0001 111
1000 1111
143
10001111
produto final
Embora estas operaes sejam complexas, certas situaes podem levar a simplificaes no circuito
digital que as implementa. Uma destas situaes a da diviso por dois, onde, no caso de nmeros
positivos sem sinal, a operao pode ser implementada apenas por um deslocamento de bits de uma
posio direita.
Exemplos:
6 / 2 = 3
5 / 2 = 2
5
desloca direita de uma posio
2. PARTE EXPERIMENTAL
A parte experimental desta experincia diz respeito implementao do circuito de uma calculadora
realizada em VHDL pela composio de componentes bsicos elementares como um somador binrio e
um registrador deslocador. Nesta experincia sobre Dispositivos Programveis ser desenvolvido o
projeto utilizando-se o dispositivo Altera Cyclone II EP2C35F672C6.
Descrio
00
01
10
11
Mantm o valor
c)
Realizar a simulao do circuito projetado com vrios conjuntos de entrada. Anexe as formas de onda
no planejamento.
Carrega 5 em A
-- soma 2
Soma 00012
-- soma 1
Multiplica por 2
e) Qual deve ser o resultado final em A (registrador deslocador) aps a execuo desta sequncia?
f)
Uma pequena modificao ou adaptao do projeto base ser solicitada aos alunos. Esta modificao
dever ser implementada no circuito projetado pelo grupo. A descrio e a documentao desta
modificao devem ser includas no relatrio.
1.
2.
Comente sobre a facilidade no uso de uma linguagem de descrio de hardware para modificar o projeto da calculadora
para usar dados de entrada de 32 bits em comparao com a estratgia de projeto com captura esquemtica.
3.
4.
Como a sada do circuito poderia ser ligada em um display de sete segmentos? Descreva sua implementao.
3. BIBLIOGRAFIA
1. ALTERA. Quartus II Introduction Using VHDL Designs. University Program. 2010. Disponvel em:
ftp://ftp.altera.com/up/pub/Altera_Material/9.1/Tutorials/VHDL/Quartus_II_Introduction.pdf
6. RANZINI, E.; HORTA, E. L.; MIDORIKAWA, E. T. Projeto de circuitos com MAX+PLUS II. Apostila
de Laboratrio Digital. Departamento de Engenharia de Computao e Sistemas Digitais, Escola
Politcnica da USP. 2002.
7. RANZINI, E.; HORTA, E. L. Introduo aos Dispositivos Lgicos Programveis. Apostila de
Laboratrio Digital. Escola Politcnica da USP, 2000 (reviso em 2011).
8. TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Digital Systems: principles and applications. 11th ed.,
Prentice-Hall, 2011.
4. EQUIPAMENTOS NECESSRIOS
1 placa de desenvolvimento FPGA DE2 da Altera com o dispositivo Altera Cyclone II EP2C35F672C6.
Histrico de Revises
E.T.M./2012 verso inicial.
E.T.M./2013 reviso.
E.T.M./2014 reviso.
10