Você está na página 1de 13

UNIVERSIDADE ESTADUAL DE CAMPINAS

FACULDADE DE TECNOLOGIA - FT

João Paulo Magalhães Fernandes


174387

RELATÓRIO ATIVIDADE 1 – CIRCUITOS DIGITAIS II

Limeira
2021
Lista de Figuras

Figura 1 Modelo FPGA ................................................................................................................... 4


Figura 2 Estrutura FPGA ................................................................................................................. 5
Figura 3 Circuito lógico ................................................................................................................... 9
Figura 4 Ondas circuito lógico ...................................................................................................... 10
Figura 5 Tabela verdade Xnor ....................................................................................................... 10
Figura 6 Tabela verdade Nor ......................................................................................................... 10
Figura 7 Código VHDL circuito lógico ......................................................................................... 11
Figura 8 Ondas código VHDL ...................................................................................................... 11
Figura 9 Código display 7 segmentos ........................................................................................... 12
Figura 10 Ondas display ................................................................................................................ 12
Figura 11 Representação em binária ............................................................................................. 13
Sumário

........................................................................................................................ 4
1.1 Exercício 1 – Definindo FPGA ........................................................................ 4
1.2 Exercício 2 - Estrutura VHDL .......................................................................... 7
1.3 Exercício 3 – Portas Lógicas .......................................................................... 9
1.4 Exercício 4 – Simulação em VHDL ............................................................... 11
1.5 Exercício 5 – Display de 7 segmentos .......................................................... 12
4

1.1 Exercício 1 – Definindo FPGA

O chip FPGA (Field Programmable Gate Array ou até mesmo “Arranjo de Portas
Programáveis em Campo”) é definido por um conjunto de subconjuntos digitais interco-
nectados que realizam funções comuns e ao mesmo tempo, por conta dessa facilidade,
ele traz uma grande flexibilidade para trabalhar. A forma que esse componente foi de-
senvolvido e pensado, foi justamente pensando nas modificações que o consumidor e
projetista desejam fazer, por isso os dizeres “programável em campo”.

Figura 1 Modelo FPGA


5

A estrutura geral de um FPGA está ilustrada logo na figura abaixo, onde temos
três componentes básicos do chip: os retângulos amarelos que representa os blocos de
entrada e saída (Input / Output), os quadrados azuis compreendem-se como blocos lógi-
cos e os quadrados menores cianos são os switches.

Figura 2 Estrutura FPGA

Os blocos lógicos (blocos azuis) são formados em uma matriz bidimensional, tendo
fios de interconexões que são organizados como canais de roteamento, tanto na horizon-
tal e na vertical, ou seja, entre as linhas e colunas do bloco lógico. Para que os blocos
lógicos se conectam de inúmeras formas diferentes, os canais de roteamento possuem
fios e switches programáveis.

Cada bloco lógico em FPGA, tem a particularidade de um pequeno número de


entrada e saídas, e um dos blocos lógicos normalmente chama LooKUp Table (LUT) que
contém células de armazenamento que são utilizadas para uma função lógica pequena.
Cada célula consegue guardar um valor lógico, sendo eles 0 ou1. O valor que for guar-
dado vai ser a referência de saída da célula de armazenamento.

De forma geral são diversas as funções lógicas, memória, DSP, blocos de entra-
das e saídas, que podem se combinar de diversas formas diferentes para representar um
hardware descrito em uma linguagem de descrição de hardware (VHDL) ou em um dia-
grama de blocos.
6

O FPGA está presente em setores da indústria onde o desempenho, paralelismo


e tempo real são condições essenciais. Em seguida estará alguns exemplos de aplicação
do FPGA:

• Setor elétrico, para processamento digital de sinal em tempo real;

• Setor de Telecom, em switches e roteadores de alto desempenho;

• Setor de multimídia, para processamento de imagens em tempo real e alto


desempenho;

• Setor militar;

• Setor automotivo, dentre outros.

Basicamente sempre que alto processamento, paralelismo e tempo real forem ne-
cessários, a utilização de um FPGA deve ser considerada.
7

1.2 Exercício 2 - Estrutura VHDL

Para a aplicação do componente FPGA é necessário que uma programação seja


aplicada a ela. Uns dos exemplos é o VHDL, que se trata de uma linguagem de descrição
de hardware padronizada pela IEEE.

A estrutura de uma linguagem VHDL é relativamente simples em sua construção


e desenvolvimento, sendo constituída pela chamada entity e pela architecture.

A entidade representa as interfaces reais do circuito no qual está sendo progra-


mado, ou seja, é a parte do programa onde são definidos suas entradas e saídas, seus
estados e tipos de dados.

A arquitetura do código é onde podemos de certa maneira definir as ações que


irão ser tomadas, a maneira na qual os dados de entrada irão se comportar, é o local
onde de fato é feito a programação dos dados obtidos através da entrada.

Exemplo de um código em VHDL:

library ieee;

use ieee.std_logic_1164.ALL;

use ieee.std_logic_arith.ALL;

use ieee.std_logic_unsigned.ALL;

entity exemplo1 is Inicialização da entidade

Port (B: in std_logic;

A: in std_logic Declarações de input e output

Y: out std_logic;)

. end exemplo1; Encerramento da entidade


8

architecture exemplo of exemplo1 is Início da arquitetura

begin

Y <= ((A and B) or (A or B)); Definição da saída Y, onde é definido

as operações lógicas da saída, de acordo com as entradas.

end exemplo1;
9

1.3 Exercício 3 – Portas Lógicas

Para a realização do terceiro exercício, foi realizado a montagem de um sistema


utilizando portas lógicas na plataforma do Quartus II, onde também foi executado a simu-
lação.

Figura 3 Circuito lógico

Nesse circuito foi utilizado seis portas lógicas, sendo que três delas quando utili-
zadas em um único conjunto representa a porta lógica XNOR.

Temos três entradas (A, B, C) e uma única saída representada pela variável
“YSaida”. Agora com relação as portas, possuímos porta AND, NOR, OR e a XNOR que
é representada pelas portas XOR e NOT (Conjunto marcado em vermelho), onde todas
as portas lógicas têm três entradas e apenas uma única saída, se considerarmos a XNOR
no seu funcionamento em conjunto.
10

Figura 4 Ondas circuito lógico

Acima temos a representação de ondas do circuito lógico mostrado anteriormente


para comprovar o correto funcionamento das portas lógicas utilizadas.

Só por parâmetros de dificuldades na análise e acompanhamento do circuito,


abaixo há uma tabela verdade da porta XNOR e da porta NOR com três entradas e uma
saída.

Figura 5 Tabela verdade Xnor Figura 6 Tabela verdade Nor


11

1.4 Exercício 4 – Simulação em VHDL

Figura 7 Código VHDL circuito lógico

Código em VHDL feito no Quartus II que representa o circuito lógico do exercício


anterior, contendo três entradas e apenas uma saída como resultado.

Figura 8 Ondas código VHDL

Acima temos a mesma representação de ondas, de quando foi compilado o circuito


lógico, ou seja, basta fazer a mesma análise e consulta.
12

1.5 Exercício 5 – Display de 7 segmentos

Figura 9 Código display 7 segmentos

Código em VHDL feito no Quartus II que representa um display de 7 seguimentos.


Contendo 3 entras (input) e 8 saídas, sendo elas de 0 a 7.

Figura 10 Ondas display


13

Figura 11 Representação em binária

Aqui está a representação de ondas do display de 7 segmentos, onde as 3 entra-


das estão unidas. E os Ys estão representando as saídas de acordo com cada número
desejado.

Podemos observar em cima das ondas a representação dos números em forma


binária. Então quando as entradas forem A = 0, B = 0 e C =0 (representação de zero em
binário) o número 0 vai ser obtido, quando as entradas estiverem em A = 1, B = 0 e C =
0 (representação de um em binário) vamos ter um o número 1. E assim segue adiante
repetindo a sequência de 0 a 7.

Obs. Lembrando que a entrada A representa o bit menos significativo e o C mais signifi-
cativo.

Você também pode gostar