Escolar Documentos
Profissional Documentos
Cultura Documentos
FACULDADE DE TECNOLOGIA - FT
DEPARTAMENTO DE ELETRÔNICA E COMPUTAÇÃO - DTEC
RELATÓRIO DE LABORATÓRIO
Carlos Gabriel
Fábio Arthur Soares
Juliano Salvattore
Nathália Colares
MANAUS
2021
Carlos Gabriel
Fábio Arthur Soares
Juliano Salvattore
Nathália Colares
RELATÓRIO DE LABORATÓRIO
PROJETO 1: UNIDADE LÓGICA E ARITMÉTICA (ULA)
MANAUS
2021
SUMÁRIO
1 Introdução 4
2 Desenvolvimento 5
3 Resultados 10
4 Conclusão 13
Referências Bibliográficas 14
1 Introdução
A linguagem VHDL, como o próprio nome sugere, é uma linguagem de descrição de
hardware inventada em 1980, que representa: VHSIC Hardware Description Language, ou
Linguagem de Descrição de Hardware, tal linguagem é bastante utilizada para especificação,
simulação, síntese e propriedade intelectual. Os benefícios do VHDL estão, por exemplo: na
possibilidade de uma constante atualização no projeto; verificação do comportamento do
sistema digital através de simulação; descrever o hardware em diversos níveis de abstração.
O programa que iremos utilizar é o Quartus II Lite, que é a IDE mais recomendada
para este tipo de projeto, onde tal programa irá nos permitir criar projetos não só em VHDL,
mas como em Verilog e System Verilog. Além de permitir a sintetização em FPGA’s da
Altera. A unidade lógica e aritmética ou ULA ou em inglês Arithmetic Logic Unit (ALU),
trata-se de um circuito digital onde realiza-se operações lógicas e aritméticas. A ULA é uma
peça primordial da unidade central de processamento, a CPU, e até dos mais simples
microprocessadores. Fazendo uma analogia, podemos dizer que a ULA é como uma grande
calculadora eletrônica, que começou a ser desenvolvida durante a 2ª Guerra Mundial, e onde
essa tecnologia já estava disponível nos primeiros computadores modernos.
Agora, iremos demonstrar como realizamos nossa simulação a partir dos trechos do
código em VHDL.
Trecho 1 – Código
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity ula8bits is
port ( a,b : in std_logic_vector(7 downto 0);
cin: std_logic;
sel: in std_logic_vector(3 downto 0);
Y: out std_logic_vector(8 downto 0));
end ula8bits;
Nessa parte inicial, declarou-se as bibliotecas que serão utilizadas: padrão (ieee);
std.logic_1164.all; e std_logic_unsigned.all. Feito isso, declaramos a entidade ula8bits que
refere-se à interface de uma porta lógica, na qual possui como entradas a e b que possuem 8
bits cada. O Cin está reservado para ser o carry de entrada, que possui apenas 1 bit. Já a
variável “sel” refere-se a seleção, ou seja, ao teste que está sendo realizado e por isso possui 4
bits. E por fim, declaramos a nossa saída como Y, na qual também possui 8 bits para
representar os respectivos valores da saída.
Trecho 2 – Código
Agora, para descrever a arquitetura da nossa ula, que aqui foi definida como arc_ula8,
onde temos std_logic_vector com 8 bits tanto para a parte lógica, quanto para a parte
aritmética do nosso código, e com a função begin é que nós iremos realmente iniciar a parte
de combinações da nossa ula, como por exemplo: quando o teste 0011 for selecionado, ou
seja, o teste 3, a saída Y retornará a entrada de B. De acordo com a combinação da entrada da
seleção (sel) , que é o nosso teste, será definido individualmente um valor para a saída Y.
Trecho 3 – Código
Figura 3 – Saída Y
Por fim na figura 3, temos a saída “y” que está ligada a todas as combinações de
mux,onde Y tem seu valor dado por "begin" que irá ler o valor de "sel" para definir a função
para obter o saída "Y" dos valores iniciais "a" e "b".
3 Resultados
Tabela 2 – Combinações de 0 a 4
Teste Sel. A B Y Operação
Já neste caso, para o teste 7 – Sel igual a 0111 – temos na entrada A uma combinação
de 01001110, e temos na entrada B, recebeu a combinação 01111101. De acordo com a seleção
para o teste 7, a saída Y deve ser a entrada A+B + Cin, ou seja, 01001110 + 01111101 + 1, que
retorna 11001100 para a saída Y.
4 Conclusão
Referências Bibliográficas
¹ MARCON, César; MORENO, Edson. Introdução à Linguagem VHDL. USP, São Paulo.
Disponível em: https://edisciplinas.usp.br/pluginfile.php/3020729/mod_resource/content/0/
Aula%20VHDL%20Alternativa.pdf. Acesso em: 31 de Outubro de 2021.
² PRADO, André. VHDL Básico: Parte 1 – Entidade. Outubro, 2013. Disponível em:
https://www.embarcados.com.br/vhdl-basico-parte-1-entidade/. Acesso em: 31 de Outubro de
2021.
³ LIMA, Thiago. Tutorial de Verilog – O primeiro Projeto com Quartus. Disponível em:
https://www.embarcados.com.br/tutorial-de-verilog-projeto-com-quartus/#:~:text=O
%20Quartus%20é%20uma%20IDE,de%20utilizar%20e%20bem%20conhecida. Acesso em:
31 de Outubro de 2021.