SlideShare a Scribd company logo
1 of 7
Download to read offline
Nome:

Turma:

Professor:

Data:

Prática 1 – Implementação de Circuitos Lógicos em FPGA
O objetivo desta prática é apresentar a criação do arquivo de projeto, do arquivo de
estímulos e a simulação de circuitos digitais combinacionais com recursos de lógica
programável. Ao final desta prática o leitor deve estar familiarizado com o software Quartus
II, simular os resultados de saída de um circuito digital combinacional de acordo com as
suas entradas e interpretar a tabela verdade do circuito por meio do seu gráfico de formas
de onda.
A Figura 3.1 mostra um circuito combinacional simples com portas lógicas AND, NAND e
NOR. Crie um arquivo gráfico de projeto, compile, salve-o, crie um arquivo de estímulos e
simule o funcionamento do circuito. Depois, a partir do gráfico de formas de ondas do
circuito, monte a sua tabela verdade.
O leitor que possuir um kit de desenvolvimento DE 2 com FPGA pode descarregar e testar o
circuito, simulando a tabela verdade, por meio de quatro chaves dip switches como entradas
e um LED como a saída do circuito. A Tabela 3.1 apresenta a designação dos pinos do
FPGA.
Tabela 3.1 - Designação de pinos do FPGA.
Função

Pinos do FPGA

Kit DE 2

Entrada A

PIN_N25

Chave SW (0)

Entrada B

PIN_N26

Chave SW (1)

Entrada C

PIN_P25

Chave SW (2)

Entrada D

PIN_AE14

Chave SW (3)

Saída S

PIN_AE23

LED vermelho (0)

Figura 3.1 - Circuito combinacional simples.

Solução:
A entrada de um projeto pode ser realizada de duas formas: um diagrama lógico,
desenvolvido a partir do editor gráfico, no qual se utilizam portas lógicas e macroinstruções,
ou pelo editor de texto e uso de uma linguagem de descrição de hardware, como, por
exemplo, VHDL. Neste capítulo utiliza-se o modo editor gráfico do software Quartus II para
solução dos exercícios propostos.

1
Para iniciar um novo projeto no software Quartus II, clique na opção Create a New Project.
No menu da barra de ferramentas principal, clique em arquivos (File) e selecione a opção
New Project Wizard.
A primeira vez que você abre um projeto, uma tela introdutória é apresentada. A opção New
Project Wizard permite criar um projeto e informar dados básicos dele. Crie o diretório
C:altera91sp2quartusprojetos_01. Digite o nome do projeto na caixa de diálogo
correspondente combinacional_1 e use esse mesmo nome como a entidade de mais alto
nível de projeto, na caixa de diálogo correspondente.
A janela dois do New Project Wizard não necessita ser preenchida; clique em Next. A janela
três seleciona a família de dispositivos de fabricação da empresa Altera Corp, que será
utilizada no projeto; surgem diversas famílias de FPGAs e CLPDs. Selecione a família
Cyclone II.
Na opção dispositivo alvo (Target device) selecione um dispositivo específico ou use a
opção filtro (Filter) para seleção automática. Escolha o dispositivo EP2C35F672C6. Clique
em Next; a janela quatro não precisa ser preenchida, então clique em Next. A janela cinco é
a última do New Project Wizard e apresenta um resumo dos dados informados sobre o
projeto:
Υ

Diretório de projeto: C:altera91sp2quartusprojetos_01

Υ

Nome do projeto: combinacional_1

Υ

Entidade de projeto de nível mais alto: combinacional_1

Υ

Número de arquivos acrescentados: 0

Υ

Número de bibliotecas de usuário acrescentadas: 0

Υ

Dispositivo escolhido:
−
−

Υ

Nome da família: Cyclone II
Dispositivo: EP2C35F672C6.

Ferramentas EDA:
−

Entrada de projeto/Síntese: <Nenhuma>

−

Simulação: <Nenhuma>

−

Análise de tempo: <Nenhuma>

Clique no botão Finish e a criação do projeto está encerrada. Este procedimento deve ser
sempre utilizado para a criação de um projeto.
Depois do projeto criado, para entrar no modo de edição gráfica, na janela principal do
software Quartus II, escolha no menu de arquivos (File) a opção novo (New). Selecione a
opção Block diagram/Schematic File e clique no botão OK. Surge a tela de edição gráfica,
na qual é editado o circuito lógico da Figura 3.1.
A inserção de um componente lógico na janela do editor gráfico é realizada, clicando na
barra de ferramentas lateral, no desenho de uma porta lógica. A janela denominada símbolo
(Symbol) é aberta. Digite o nome do componente no campo Name da seguinte forma: porta
NOR de 2 entradas - NOR2, porta NAND de 2 entradas - NAND2 e porta AND de 2 entradas
- AND2.

2
Para inserir o componente NOR2, digite o nome do componente no campo Name da janela.
Clique no botão OK. O símbolo do componente NOR2 é mostrado na janela maior do editor
gráfico.
Quando o componente é selecionado, o cursor do mouse deve ser utilizado para posicionálo na janela. Para fixá-lo, arraste-o até o ponto desejado e clique com o botão esquerdo do
mouse. O cursor do mouse somente é liberado do componente quando o botão de seleção
(símbolo de uma seta), na barra de ferramentas lateral, for pressionado. Repita os passos
anteriores para inserir os componentes NAND2 e AND2 respectivamente.
Insira os terminais de entrada e saída dos componentes, repetindo os mesmos
procedimentos usados no item anterior para inserção dos componentes lógicos, ou então,
digite a palavra input para uma entrada e output para uma saída no campo Name da janela
Symbol e clique no botão OK.
Para interligar os componentes do circuito, na barra de ferramentas selecione com o cursor
do mouse o botão fio ortogonal. O cursor muda para uma cruz. Clique com o botão esquerdo
do mouse no componente de origem e com o botão esquerdo pressionado arraste o fio até o
componente de destino. Caso deseje apagar a ligação ou o componente, basta selecionar o
objeto, que aparece com uma cor azul, e pressionar a tecla Delete. A Figura 3.2 apresenta a
tela do editor gráfico com os componentes interligados.

Figura 3.2 - Circuito com os componentes interligados.

Os terminais de entrada (input) e saída (output) inseridos no circuito devem ser identificados
para posterior utilização, para isso os terminais devem ter nomes. Com o cursor selecione o
terminal a ser identificado e com o botão esquerdo do mouse dê um duplo clique no terminal
(Pin name). Surge uma janela, chamada propriedades do terminal (Pin properties). No
campo nome do terminal digite A, B, C e D para as entradas e S para a saída. Clique em
OK. Repita o processo passo a passo para cada terminal de entrada e para cada terminal de
saída.
Uma vez que o projeto foi inserido, agora é necessário compilá-lo para verificar a existência
de erros. Acesse na barra de ferramentas do editor gráfico o menu Processing e selecione a
opção Star Compilation. O projeto é salvo e o andamento da compilação é apresentado na
parte lateral da tela. As mensagens de cuidado (cor azul) e de erros (cor vermelha)
aparecem na parte inferior da janela.
Caso não haja erro, uma mensagem é fornecida; clique em OK. Se o compilador acusar
algum erro, verifique as mensagens de erros, na parte inferior da janela, corrija os erros e
compile novamente. O projeto só é compilado quando não houver mais erros.
A simulação funcional verifica os resultados de saída de um circuito digital combinacional de
acordo com as suas entradas. Para tanto, deve-se criar um arquivo de estímulo para
verificar a funcionalidade do projeto. Assim, acesse na barra de ferramentas do editor gráfico
o menu Assignments e selecione a opção Settings. Na seção modo de simulação selecione
a opção Functional e clique em OK.
Na barra de ferramentas do editor gráfico, selecione no menu File a opção New. Na caixa de
diálogo escolha o arquivo Vector waveform e clique em OK. Surge a janela do Editor de
Forma de Ondas, arquivo com extensão.vwf, na qual se realiza a simulação funcional do
projeto.
3
Para inserir as entradas e saídas do circuito, na barra de ferramentas da janela do Editor de
Forma de Ondas, acesse o menu Edit e selecione a opção Insert Node or Bus. Na caixa de
diálogo clique no botão Node Finder. Selecione em Filter a opção Pins: all e pressione o
botão List. Todas as entradas e saídas que você definiu no seu circuito são mostradas.
Selecione todas as entradas e saídas e clique na seta à direita. Desta forma, as entradas e
saídas aparecem no quadro Selected Nodes. Pressione OK e a janela Node Finder se fecha.
Pressione novamente OK. Na janela do Editor de Formas de Ondas surgem as entradas e
saídas selecionadas, que serão simuladas.
Agora vamos atribuir formas de ondas às entradas para verificar a saída. Selecione uma das
entradas, clicando no nome da entrada; a linha toda é selecionada. Clique duas vezes na
primeira coluna (Node). Surge a janela Node Properties; selecione em Radix (base
numérica) a opção binário. Clique em OK.
Na janela do Editor de Forma de Ondas, selecione a linha correspondente à entrada A, na
barra vertical de ferramentas em que estão os sinais de estímulos, e clique no botão Count
Value, correspondente a um gerador de onda quadrada.
Na janela Count Value, selecione a opção Timing; o período (Count Every), não deve ser
maior que o intervalo. A opção fator de multiplicação (Multiply By) aumenta o período da
onda quadrada a ser gerada. Neste caso, mantenha os valores default. No menu Edit do
Editor de Forma de Ondas escolha o tempo de simulação (End Time) para 20 µs
(microssegundos).
Repita os passos anteriores para os sinais de entrada B, C e D. Entretanto, na janela opção
Timing, estabeleça o fator de multiplicação (Multiply By) igual a 2, 3 e 4 para cada entrada.
Este procedimento aumenta o período da onda quadrada a ser gerada para cada entrada B,
C e D.
Antes da simulação é necessário criar o arquivo de sinais de estímulos waveform.vwf.
Selecione na barra de ferramentas do Editor de Formas de Onda, no menu Processing, a
opção Generate Functional Simulation Netlist. Salve as alterações do arquivo
waveform1.vwf e clique em OK. Salve o arquivo waveform1.vwf como combinacional_1.
Clique em OK. Caso não haja nenhum erro no procedimento de criação dos estímulos, uma
mensagem de confirmação é gerada; clique em OK.
Para compilar e simular o arquivo combinacional_1.vwf, na barra de ferramentas do Editor
de Formas de Onda, no menu Processing, selecione a opção Start Simulation. O projeto é
compilado e simulado. Se a compilação ocorrer sem nenhum erro, o resultado da simulação,
saída S, em função das entradas A, B, C e D será igual ao apresentado na Figura 3.3.

Figura 3.3 - Resultado da simulação.

É possível montar a tabela verdade do circuito, verificando o estado da saída S, para cada
estado das entradas A, B, C e D, em cada intervalo de tempo, no diagrama de forma de
onda da Figura 3.3.
Analisando a Figura 3.3, chega-se à conclusão de que a saída S só é verdadeira em três
condições:
1.

Todas as entradas são falsas, nível zero.
4
2.

A entrada D é verdadeira, nível um, e as entradas A, B e C são falsas, nível zero.

3.

A entrada C é verdadeira, nível um, e as entradas A, B e D são falsas, nível zero.

Nos demais casos a saída S é falsa, nível zero. A Tabela 3.2 apresenta a tabela verdade do
circuito, obtida a partir do diagrama de forma de ondas da Figura 3.3.
Tabela 3.2 – Tabela verdade do circuito dado.
A

B

C

D

S

0

0

0

0

1

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

0

1

0

0

0

0

1

0

1

0

0

1

1

0

0

0

1

1

1

0

1

0

0

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

0

1

1

0

0

0

1

1

0

1

0

1

1

1

0

0

1

1

1

1

0

Os nomes dos terminais de entradas e saídas do circuito projetado devem ser associados
com os pinos do FPGA utilizado, conforme a Tabela 3.1 de designação dos pinos do FPGA.
A configuração das posições dos pinos do FPGA é obtida na barra de ferramentas do editor
gráfico, menu Assignments, opção Assignments Editor. No campo Category selecione Pins.
Com um duplo clique, na coluna To, no campo New, são apresentadas todas as entradas e
saídas definidas no projeto. Com um duplo clique na coluna Locations, campo New, são
mostradas todas as posições dos pinos do FPGA.
Selecione a entrada ou saída na coluna To e posicione o pino correspondente na coluna
Locations ou digite o nome do Pino conforme a Tabela 3.1. As entradas ou saídas já
posicionadas são indicadas com uma grafia diferente. Salve a nova configuração dos pinos
do FPGA e compile o projeto novamente. Na tela do editor gráfico do arquivo
combinacional_1.bdf o posicionamento dos pinos é indicado, conforme indicado na figura
3.4.

5
Para descarregar o projeto no kit do FPGA DE 2 e testar o circuito, acompanhe os seguintes
procedimentos:
1.
Coloque a chave RUN/PROG do kit de desenvolvimento DE 2 no modo RUN. No
software Quartus II, menu Tools, selecione a opção Programmer. Surge uma tela que
vai gerenciar a transferência de dados do microcomputador PC para o FPGA do kit de
desenvolvimento. Nessa tela é necessário especificar o hardware de comunicação que
será utilizado e o modo da transferência de dados. Selecione o modo JTAG, na caixa
Mode. Se a opção USB - Blaster não estiver selecionada (default), pressione o botão
Hardware Set - Up e selecione USB-Blaster na caixa de diálogo.
2.

O arquivo combinacional.sof é exibido na janela de transferência. Se ele não for exibido,
clique em Add File e selecione-o para incluir na janela de gerenciamento da transferência de
dados. O arquivo combinacional.sof é binário, produzido pelo Quartus II, que contém os
dados necessários para configurar o dispositivo FPGA. Note também que o dispositivo
selecionado é o EP2C35F672, FPGA utilizado no kit de desenvolvimento DE2. Marque a opção
Program/Configure e pressione START. O campo Progress atinge 100% e um LED no kit de
desenvolvimento DE2 acende, quando a configuração for descarregada com sucesso.

.
3.

Após carregar o programa no kit DE 2, teste a tabela verdade do circuito apresentado na Tabela
3.2. Tente todas as possibilidades da tabela verdade, pressionando as chaves SW(0), SW(1),
SW(2) e SW(3), observe o LED vermelho LEDR(0), saída S.

6
Para descarregar o projeto no kit do FPGA DE 2 e testar o circuito, acompanhe os seguintes
procedimentos:
1.
Coloque a chave RUN/PROG do kit de desenvolvimento DE 2 no modo RUN. No
software Quartus II, menu Tools, selecione a opção Programmer. Surge uma tela que
vai gerenciar a transferência de dados do microcomputador PC para o FPGA do kit de
desenvolvimento. Nessa tela é necessário especificar o hardware de comunicação que
será utilizado e o modo da transferência de dados. Selecione o modo JTAG, na caixa
Mode. Se a opção USB - Blaster não estiver selecionada (default), pressione o botão
Hardware Set - Up e selecione USB-Blaster na caixa de diálogo.
2.

O arquivo combinacional.sof é exibido na janela de transferência. Se ele não for exibido,
clique em Add File e selecione-o para incluir na janela de gerenciamento da transferência de
dados. O arquivo combinacional.sof é binário, produzido pelo Quartus II, que contém os
dados necessários para configurar o dispositivo FPGA. Note também que o dispositivo
selecionado é o EP2C35F672, FPGA utilizado no kit de desenvolvimento DE2. Marque a opção
Program/Configure e pressione START. O campo Progress atinge 100% e um LED no kit de
desenvolvimento DE2 acende, quando a configuração for descarregada com sucesso.

.
3.

Após carregar o programa no kit DE 2, teste a tabela verdade do circuito apresentado na Tabela
3.2. Tente todas as possibilidades da tabela verdade, pressionando as chaves SW(0), SW(1),
SW(2) e SW(3), observe o LED vermelho LEDR(0), saída S.

6

More Related Content

Similar to 1.a pratica circuitos lógicos com fpga

Manual proteus portugues
Manual proteus portuguesManual proteus portugues
Manual proteus portuguesaraujolincoln
 
Manual zelio soft 2.2
Manual zelio soft 2.2Manual zelio soft 2.2
Manual zelio soft 2.2Luiz Fernando
 
Guia rapido total cross studio
Guia rapido total cross studioGuia rapido total cross studio
Guia rapido total cross studioRafael Din
 
Informativo técnico funções da ihm
Informativo técnico   funções da ihmInformativo técnico   funções da ihm
Informativo técnico funções da ihmconfidencial
 
Capitulo3 editando arcmap_part1de3
Capitulo3 editando arcmap_part1de3Capitulo3 editando arcmap_part1de3
Capitulo3 editando arcmap_part1de3Robson Bastos
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlabblogmaxima
 
DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo Steven Ross
 
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16Jorge Santos
 
Desligar pc
Desligar pcDesligar pc
Desligar pcferbsi
 
Apostila autocad-plant-3 d-2011
Apostila autocad-plant-3 d-2011Apostila autocad-plant-3 d-2011
Apostila autocad-plant-3 d-2011tareaspp27
 

Similar to 1.a pratica circuitos lógicos com fpga (20)

Manual proteus portugues
Manual proteus portuguesManual proteus portugues
Manual proteus portugues
 
Apostila eagle
Apostila eagleApostila eagle
Apostila eagle
 
Manual zelio soft 2.2
Manual zelio soft 2.2Manual zelio soft 2.2
Manual zelio soft 2.2
 
Guia rapido total cross studio
Guia rapido total cross studioGuia rapido total cross studio
Guia rapido total cross studio
 
Apostila2 clp logo
Apostila2 clp logoApostila2 clp logo
Apostila2 clp logo
 
Informativo técnico funções da ihm
Informativo técnico   funções da ihmInformativo técnico   funções da ihm
Informativo técnico funções da ihm
 
A programação básica
A programação básicaA programação básica
A programação básica
 
A programacao basica
A programacao basicaA programacao basica
A programacao basica
 
Rs logix 5000
Rs logix 5000Rs logix 5000
Rs logix 5000
 
Capitulo3 editando arcmap_part1de3
Capitulo3 editando arcmap_part1de3Capitulo3 editando arcmap_part1de3
Capitulo3 editando arcmap_part1de3
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Apostila eagle
Apostila eagleApostila eagle
Apostila eagle
 
DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo
 
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
 
Aula04
Aula04Aula04
Aula04
 
Guia xna
Guia xnaGuia xna
Guia xna
 
Desligar pc
Desligar pcDesligar pc
Desligar pc
 
Apostila autocad 2002 2 d
Apostila autocad 2002   2 dApostila autocad 2002   2 d
Apostila autocad 2002 2 d
 
Apostila autocad-plant-3 d-2011
Apostila autocad-plant-3 d-2011Apostila autocad-plant-3 d-2011
Apostila autocad-plant-3 d-2011
 
Microsoft visual c_
Microsoft visual c_Microsoft visual c_
Microsoft visual c_
 

1.a pratica circuitos lógicos com fpga

  • 1. Nome: Turma: Professor: Data: Prática 1 – Implementação de Circuitos Lógicos em FPGA O objetivo desta prática é apresentar a criação do arquivo de projeto, do arquivo de estímulos e a simulação de circuitos digitais combinacionais com recursos de lógica programável. Ao final desta prática o leitor deve estar familiarizado com o software Quartus II, simular os resultados de saída de um circuito digital combinacional de acordo com as suas entradas e interpretar a tabela verdade do circuito por meio do seu gráfico de formas de onda. A Figura 3.1 mostra um circuito combinacional simples com portas lógicas AND, NAND e NOR. Crie um arquivo gráfico de projeto, compile, salve-o, crie um arquivo de estímulos e simule o funcionamento do circuito. Depois, a partir do gráfico de formas de ondas do circuito, monte a sua tabela verdade. O leitor que possuir um kit de desenvolvimento DE 2 com FPGA pode descarregar e testar o circuito, simulando a tabela verdade, por meio de quatro chaves dip switches como entradas e um LED como a saída do circuito. A Tabela 3.1 apresenta a designação dos pinos do FPGA. Tabela 3.1 - Designação de pinos do FPGA. Função Pinos do FPGA Kit DE 2 Entrada A PIN_N25 Chave SW (0) Entrada B PIN_N26 Chave SW (1) Entrada C PIN_P25 Chave SW (2) Entrada D PIN_AE14 Chave SW (3) Saída S PIN_AE23 LED vermelho (0) Figura 3.1 - Circuito combinacional simples. Solução: A entrada de um projeto pode ser realizada de duas formas: um diagrama lógico, desenvolvido a partir do editor gráfico, no qual se utilizam portas lógicas e macroinstruções, ou pelo editor de texto e uso de uma linguagem de descrição de hardware, como, por exemplo, VHDL. Neste capítulo utiliza-se o modo editor gráfico do software Quartus II para solução dos exercícios propostos. 1
  • 2. Para iniciar um novo projeto no software Quartus II, clique na opção Create a New Project. No menu da barra de ferramentas principal, clique em arquivos (File) e selecione a opção New Project Wizard. A primeira vez que você abre um projeto, uma tela introdutória é apresentada. A opção New Project Wizard permite criar um projeto e informar dados básicos dele. Crie o diretório C:altera91sp2quartusprojetos_01. Digite o nome do projeto na caixa de diálogo correspondente combinacional_1 e use esse mesmo nome como a entidade de mais alto nível de projeto, na caixa de diálogo correspondente. A janela dois do New Project Wizard não necessita ser preenchida; clique em Next. A janela três seleciona a família de dispositivos de fabricação da empresa Altera Corp, que será utilizada no projeto; surgem diversas famílias de FPGAs e CLPDs. Selecione a família Cyclone II. Na opção dispositivo alvo (Target device) selecione um dispositivo específico ou use a opção filtro (Filter) para seleção automática. Escolha o dispositivo EP2C35F672C6. Clique em Next; a janela quatro não precisa ser preenchida, então clique em Next. A janela cinco é a última do New Project Wizard e apresenta um resumo dos dados informados sobre o projeto: Υ Diretório de projeto: C:altera91sp2quartusprojetos_01 Υ Nome do projeto: combinacional_1 Υ Entidade de projeto de nível mais alto: combinacional_1 Υ Número de arquivos acrescentados: 0 Υ Número de bibliotecas de usuário acrescentadas: 0 Υ Dispositivo escolhido: − − Υ Nome da família: Cyclone II Dispositivo: EP2C35F672C6. Ferramentas EDA: − Entrada de projeto/Síntese: <Nenhuma> − Simulação: <Nenhuma> − Análise de tempo: <Nenhuma> Clique no botão Finish e a criação do projeto está encerrada. Este procedimento deve ser sempre utilizado para a criação de um projeto. Depois do projeto criado, para entrar no modo de edição gráfica, na janela principal do software Quartus II, escolha no menu de arquivos (File) a opção novo (New). Selecione a opção Block diagram/Schematic File e clique no botão OK. Surge a tela de edição gráfica, na qual é editado o circuito lógico da Figura 3.1. A inserção de um componente lógico na janela do editor gráfico é realizada, clicando na barra de ferramentas lateral, no desenho de uma porta lógica. A janela denominada símbolo (Symbol) é aberta. Digite o nome do componente no campo Name da seguinte forma: porta NOR de 2 entradas - NOR2, porta NAND de 2 entradas - NAND2 e porta AND de 2 entradas - AND2. 2
  • 3. Para inserir o componente NOR2, digite o nome do componente no campo Name da janela. Clique no botão OK. O símbolo do componente NOR2 é mostrado na janela maior do editor gráfico. Quando o componente é selecionado, o cursor do mouse deve ser utilizado para posicionálo na janela. Para fixá-lo, arraste-o até o ponto desejado e clique com o botão esquerdo do mouse. O cursor do mouse somente é liberado do componente quando o botão de seleção (símbolo de uma seta), na barra de ferramentas lateral, for pressionado. Repita os passos anteriores para inserir os componentes NAND2 e AND2 respectivamente. Insira os terminais de entrada e saída dos componentes, repetindo os mesmos procedimentos usados no item anterior para inserção dos componentes lógicos, ou então, digite a palavra input para uma entrada e output para uma saída no campo Name da janela Symbol e clique no botão OK. Para interligar os componentes do circuito, na barra de ferramentas selecione com o cursor do mouse o botão fio ortogonal. O cursor muda para uma cruz. Clique com o botão esquerdo do mouse no componente de origem e com o botão esquerdo pressionado arraste o fio até o componente de destino. Caso deseje apagar a ligação ou o componente, basta selecionar o objeto, que aparece com uma cor azul, e pressionar a tecla Delete. A Figura 3.2 apresenta a tela do editor gráfico com os componentes interligados. Figura 3.2 - Circuito com os componentes interligados. Os terminais de entrada (input) e saída (output) inseridos no circuito devem ser identificados para posterior utilização, para isso os terminais devem ter nomes. Com o cursor selecione o terminal a ser identificado e com o botão esquerdo do mouse dê um duplo clique no terminal (Pin name). Surge uma janela, chamada propriedades do terminal (Pin properties). No campo nome do terminal digite A, B, C e D para as entradas e S para a saída. Clique em OK. Repita o processo passo a passo para cada terminal de entrada e para cada terminal de saída. Uma vez que o projeto foi inserido, agora é necessário compilá-lo para verificar a existência de erros. Acesse na barra de ferramentas do editor gráfico o menu Processing e selecione a opção Star Compilation. O projeto é salvo e o andamento da compilação é apresentado na parte lateral da tela. As mensagens de cuidado (cor azul) e de erros (cor vermelha) aparecem na parte inferior da janela. Caso não haja erro, uma mensagem é fornecida; clique em OK. Se o compilador acusar algum erro, verifique as mensagens de erros, na parte inferior da janela, corrija os erros e compile novamente. O projeto só é compilado quando não houver mais erros. A simulação funcional verifica os resultados de saída de um circuito digital combinacional de acordo com as suas entradas. Para tanto, deve-se criar um arquivo de estímulo para verificar a funcionalidade do projeto. Assim, acesse na barra de ferramentas do editor gráfico o menu Assignments e selecione a opção Settings. Na seção modo de simulação selecione a opção Functional e clique em OK. Na barra de ferramentas do editor gráfico, selecione no menu File a opção New. Na caixa de diálogo escolha o arquivo Vector waveform e clique em OK. Surge a janela do Editor de Forma de Ondas, arquivo com extensão.vwf, na qual se realiza a simulação funcional do projeto. 3
  • 4. Para inserir as entradas e saídas do circuito, na barra de ferramentas da janela do Editor de Forma de Ondas, acesse o menu Edit e selecione a opção Insert Node or Bus. Na caixa de diálogo clique no botão Node Finder. Selecione em Filter a opção Pins: all e pressione o botão List. Todas as entradas e saídas que você definiu no seu circuito são mostradas. Selecione todas as entradas e saídas e clique na seta à direita. Desta forma, as entradas e saídas aparecem no quadro Selected Nodes. Pressione OK e a janela Node Finder se fecha. Pressione novamente OK. Na janela do Editor de Formas de Ondas surgem as entradas e saídas selecionadas, que serão simuladas. Agora vamos atribuir formas de ondas às entradas para verificar a saída. Selecione uma das entradas, clicando no nome da entrada; a linha toda é selecionada. Clique duas vezes na primeira coluna (Node). Surge a janela Node Properties; selecione em Radix (base numérica) a opção binário. Clique em OK. Na janela do Editor de Forma de Ondas, selecione a linha correspondente à entrada A, na barra vertical de ferramentas em que estão os sinais de estímulos, e clique no botão Count Value, correspondente a um gerador de onda quadrada. Na janela Count Value, selecione a opção Timing; o período (Count Every), não deve ser maior que o intervalo. A opção fator de multiplicação (Multiply By) aumenta o período da onda quadrada a ser gerada. Neste caso, mantenha os valores default. No menu Edit do Editor de Forma de Ondas escolha o tempo de simulação (End Time) para 20 µs (microssegundos). Repita os passos anteriores para os sinais de entrada B, C e D. Entretanto, na janela opção Timing, estabeleça o fator de multiplicação (Multiply By) igual a 2, 3 e 4 para cada entrada. Este procedimento aumenta o período da onda quadrada a ser gerada para cada entrada B, C e D. Antes da simulação é necessário criar o arquivo de sinais de estímulos waveform.vwf. Selecione na barra de ferramentas do Editor de Formas de Onda, no menu Processing, a opção Generate Functional Simulation Netlist. Salve as alterações do arquivo waveform1.vwf e clique em OK. Salve o arquivo waveform1.vwf como combinacional_1. Clique em OK. Caso não haja nenhum erro no procedimento de criação dos estímulos, uma mensagem de confirmação é gerada; clique em OK. Para compilar e simular o arquivo combinacional_1.vwf, na barra de ferramentas do Editor de Formas de Onda, no menu Processing, selecione a opção Start Simulation. O projeto é compilado e simulado. Se a compilação ocorrer sem nenhum erro, o resultado da simulação, saída S, em função das entradas A, B, C e D será igual ao apresentado na Figura 3.3. Figura 3.3 - Resultado da simulação. É possível montar a tabela verdade do circuito, verificando o estado da saída S, para cada estado das entradas A, B, C e D, em cada intervalo de tempo, no diagrama de forma de onda da Figura 3.3. Analisando a Figura 3.3, chega-se à conclusão de que a saída S só é verdadeira em três condições: 1. Todas as entradas são falsas, nível zero. 4
  • 5. 2. A entrada D é verdadeira, nível um, e as entradas A, B e C são falsas, nível zero. 3. A entrada C é verdadeira, nível um, e as entradas A, B e D são falsas, nível zero. Nos demais casos a saída S é falsa, nível zero. A Tabela 3.2 apresenta a tabela verdade do circuito, obtida a partir do diagrama de forma de ondas da Figura 3.3. Tabela 3.2 – Tabela verdade do circuito dado. A B C D S 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 Os nomes dos terminais de entradas e saídas do circuito projetado devem ser associados com os pinos do FPGA utilizado, conforme a Tabela 3.1 de designação dos pinos do FPGA. A configuração das posições dos pinos do FPGA é obtida na barra de ferramentas do editor gráfico, menu Assignments, opção Assignments Editor. No campo Category selecione Pins. Com um duplo clique, na coluna To, no campo New, são apresentadas todas as entradas e saídas definidas no projeto. Com um duplo clique na coluna Locations, campo New, são mostradas todas as posições dos pinos do FPGA. Selecione a entrada ou saída na coluna To e posicione o pino correspondente na coluna Locations ou digite o nome do Pino conforme a Tabela 3.1. As entradas ou saídas já posicionadas são indicadas com uma grafia diferente. Salve a nova configuração dos pinos do FPGA e compile o projeto novamente. Na tela do editor gráfico do arquivo combinacional_1.bdf o posicionamento dos pinos é indicado, conforme indicado na figura 3.4. 5
  • 6. Para descarregar o projeto no kit do FPGA DE 2 e testar o circuito, acompanhe os seguintes procedimentos: 1. Coloque a chave RUN/PROG do kit de desenvolvimento DE 2 no modo RUN. No software Quartus II, menu Tools, selecione a opção Programmer. Surge uma tela que vai gerenciar a transferência de dados do microcomputador PC para o FPGA do kit de desenvolvimento. Nessa tela é necessário especificar o hardware de comunicação que será utilizado e o modo da transferência de dados. Selecione o modo JTAG, na caixa Mode. Se a opção USB - Blaster não estiver selecionada (default), pressione o botão Hardware Set - Up e selecione USB-Blaster na caixa de diálogo. 2. O arquivo combinacional.sof é exibido na janela de transferência. Se ele não for exibido, clique em Add File e selecione-o para incluir na janela de gerenciamento da transferência de dados. O arquivo combinacional.sof é binário, produzido pelo Quartus II, que contém os dados necessários para configurar o dispositivo FPGA. Note também que o dispositivo selecionado é o EP2C35F672, FPGA utilizado no kit de desenvolvimento DE2. Marque a opção Program/Configure e pressione START. O campo Progress atinge 100% e um LED no kit de desenvolvimento DE2 acende, quando a configuração for descarregada com sucesso. . 3. Após carregar o programa no kit DE 2, teste a tabela verdade do circuito apresentado na Tabela 3.2. Tente todas as possibilidades da tabela verdade, pressionando as chaves SW(0), SW(1), SW(2) e SW(3), observe o LED vermelho LEDR(0), saída S. 6
  • 7. Para descarregar o projeto no kit do FPGA DE 2 e testar o circuito, acompanhe os seguintes procedimentos: 1. Coloque a chave RUN/PROG do kit de desenvolvimento DE 2 no modo RUN. No software Quartus II, menu Tools, selecione a opção Programmer. Surge uma tela que vai gerenciar a transferência de dados do microcomputador PC para o FPGA do kit de desenvolvimento. Nessa tela é necessário especificar o hardware de comunicação que será utilizado e o modo da transferência de dados. Selecione o modo JTAG, na caixa Mode. Se a opção USB - Blaster não estiver selecionada (default), pressione o botão Hardware Set - Up e selecione USB-Blaster na caixa de diálogo. 2. O arquivo combinacional.sof é exibido na janela de transferência. Se ele não for exibido, clique em Add File e selecione-o para incluir na janela de gerenciamento da transferência de dados. O arquivo combinacional.sof é binário, produzido pelo Quartus II, que contém os dados necessários para configurar o dispositivo FPGA. Note também que o dispositivo selecionado é o EP2C35F672, FPGA utilizado no kit de desenvolvimento DE2. Marque a opção Program/Configure e pressione START. O campo Progress atinge 100% e um LED no kit de desenvolvimento DE2 acende, quando a configuração for descarregada com sucesso. . 3. Após carregar o programa no kit DE 2, teste a tabela verdade do circuito apresentado na Tabela 3.2. Tente todas as possibilidades da tabela verdade, pressionando as chaves SW(0), SW(1), SW(2) e SW(3), observe o LED vermelho LEDR(0), saída S. 6