Práticas de Hardware

Propaganda
Índice
1 Práticas de Laboratório
7
1.1
Construindo um Circuito TTL (Transistor-Transistor Logic) . . . . . . . . . . . . . . . . .
8
1.2
Introdução a ferramenta EDA Quartus II 9.1 . . . . . . . . . . . . . . . . . . . . . . . . .
12
1
2
ÍNDICE
Lista de Figuras
1.1
1.2
As quatro cidades com as rodovias percorridas pelos professores . . . . . . . . . . . . . . .
A interface do equipamento a ser desenvolvido . . . . . . . . . . . . . . . . . . . . . . . .
8
8
1.3
1.4
Uma visão de alto nı́vel do circuito lógico com entradas e saı́das binárias . . . . . . . . . .
As melhores rotas entre cada duas cidades . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
1.5
Algoritmo para a rodovia 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.6
1.7
Expressão lógica obtida da figura 1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Circuito em notação de portas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
11
1.8
1.9
Implementação em TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assistente de criação de projetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
12
1.10 Informando o diretório, nome e arquivo principal do projeto . . . . . . . . . . . . . . . . .
13
1.11 Seleção da famı́lia de FPGA a ser utilizada . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.12 Resumo das configurações do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.13 Seleção do arquivo de diagrama de bloco . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14 Inserção de sı́mbolos no diagrama de bloco . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
16
1.15 Resultado da compilação do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
1.16 Associação dos pinos do circuito aos pinos do chip . . . . . . . . . . . . . . . . . . . . . .
1.17 Criação do arquivo de formas de ondas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
18
1.18 Insert Node or Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
1.19 Inserção dos nodos ao arquivo de formas de ondas . . . . . . . . . . . . . . . . . . . . . .
19
1.20 Localização dos nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
1.21 Relatório das formas de ondas geradas na simulação do circuito . . . . . . . . . . . . . . .
1.22 Seleção do hardware e do código para download . . . . . . . . . . . . . . . . . . . . . . . .
20
21
3
4
LISTA DE FIGURAS
Lista de Tabelas
1.1
Tabela verdade para o circuito lógico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
10
6
LISTA DE TABELAS
Capı́tulo 1
Práticas de Laboratório
7
8
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
1.1
Construindo um Circuito TTL (Transistor-Transistor Logic)
Objetivos:
Antes de iniciarmos o uso das ferramentas EDA, faremos uma aula experimental com circuitos denominados TTL (Transistor-Transistor Logic). Estes circuitos foram introduzidos nos anos 70 pelas
indústrias de semicondutores e foram os responsáveis pelos inúmeros avanços no desenvolvimento de
hardware. Entretanto, com o advento de novas tecnologias, estes circuitos deixaram de ser fabricados e
seu uso atualmente está praticamente encerrado. Algumas escolas ainda os utilizam por falta exclusivamente de opções, pois as ferramentas EDA têm um custo relativamente alto para a maioria das escolas
brasileiras. Devido a sua importância, apenas para efeito de demonstração, faremos uma aula com a
tecnologia TTL.
Problema a ser resolvido:
Este exemplo foi baseado no livro [1], e adaptado às nossas realidades. A USP decidiu desenvolver
um equipamento para auxiliar seus professores em suas viagens entre as universidades de quatro cidades.
O equipamento irá fornecer a melhor rota entre duas cidades, baseada no comprimento das rodovias
utilizadas: R1 3̄km, R2 3̄km, R3 5̄km, R4 1̄0km, R5 1̄5km e R6 3̄km. Na figura 1.1 são apresentadas as
opções de rotas de viagem que um professor pode escolher saindo de um determinado ponto e chegando
a seu destino.
Figura 1.1: As quatro cidades com as rodovias percorridas pelos professores
Na figura 1.2 é apresentada a interface com o usuário do equipamento a ser desenvolvido. Trata-se
de um equipamento pequeno (do tamanho de um Pager), onde o professor deverá ligar as chaves das
cidades de origem e destino, e após o processamento do circuito TTL os LEDs com os nomes das rodovias
que formam o melhor caminho deverão acender. Na figura 1.3 é apresentada uma visão de alto nı́vel do
circuito a ser elaborado com entradas binárias.
Figura 1.2: A interface do equipamento a ser desenvolvido
1.1. CONSTRUINDO UM CIRCUITO TTL (TRANSISTOR-TRANSISTOR LOGIC)
9
Figura 1.3: Uma visão de alto nı́vel do circuito lógico com entradas e saı́das binárias
Etapas de desenvolvimento:
Etapa 1:
Inicialmente, vamos analisar todas as possibilidades de rotas entre as cidades e escolher as melhores
rotas (ou seja, a menor distância entre elas). Elas são apresentadas na figura 1.4.
Figura 1.4: As melhores rotas entre cada duas cidades
A tabela 1.1 foi construı́da baseando-se na figura 1.4. Ela mostra a relação entre as cidades e as
rodovias envolvidas na melhor rota entre elas. É importante observar que para as opções inválidas da
tabela (casos impossı́veis e não previstos no circuito) terão como resposta as saı́das todas com valor zero.
Etapa 2:
A partir da tabela 1.1, iremos construir o algoritmo apresentado na figura 1.5 que mostra apenas a
10
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
São Carlos
1
1
1
0
0
0
0
0
0
0
1
0
1
1
1
1
Bauru
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
Entradas
São Paulo
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
Ribeirão Preto
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
R1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
R2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
Saı́das
R3 R4
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
R5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
R6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
Tabela 1.1: Tabela verdade para o circuito lógico
saı́da da implementação para a rodovia 3. Para a construção completa do equipamento, seria necessária
a implementação do circuito de todas as rodovias.
Figura 1.5: Algoritmo para a rodovia 3
Vamos agora introduzir uma notação técnica mais próxima da álgebra booleana. Na figura 1.6 é
apresentada a mesma expressão, porém agora de modo mais próximo da implementação por circuitos
TTL e com as devidas otimizações.
Figura 1.6: Expressão lógica obtida da figura 1.5
Manipulando-se a expressão da figura 1.6, chegamos ao circuito apresentado na figura 1.7. Este
circuito mapeado na tecnologia TTL é mostrado na figura 1.8.
Etapa 3:
Implemente o circuito da figura 1.8 na placa de proto-board e faça toda a sua verificação, montando
uma tabela com os resultados obtidos. Compare a tabela obtida com a tabela 1.1 coluna Saı́da/R3. Elas
são idênticas? Se não forem, verifique a fiação (conexão dos chips) e se não há circuitos TTL queimados
em seu proto-board.
1.1. CONSTRUINDO UM CIRCUITO TTL (TRANSISTOR-TRANSISTOR LOGIC)
Figura 1.7: Circuito em notação de portas lógicas
Figura 1.8: Implementação em TTL
11
12
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
1.2
Introdução a ferramenta EDA Quartus II 9.1
Objetivos:
Um dos objetivos desta prática é apresentar o fluxo de desenvolvimento de projetos de hardware por
meio da utilização da ferramenta EDA (Electronic Design Automation) Quartus II da Altera Corporation.
Esta prática, em conjunto com o projeto que será passado em aula, também explora a utilização de alguns
componentes presentes na placa DE2-70, como push buttons, switches, LEDs, display de sete segmentos
e o FPGA (Field-Programmable Gate Array).
Para atingir estes objetivos, um pequeno circuito lógico a ser dado em aula será construı́do, abordando
as funções básicas da ferramenta e faremos a programação do circuito FPGA da placa DE2-70 para a
implementação desse nosso circuito.
A implementação deste circuito envolve as seguintes etapas:
• Criação de um novo projeto na ferramenta;
• Criação de diagramas de blocos;
• Simulação do circuito e;
• Programação do hardware.
Etapas de desenvolvimento:
Etapa 1:
Para criar um novo projeto, inicie o Quartus II v9.1, clique em File, New Project Wizard.... A
figura 1.9 mostra a primeira tela do assistente de criação de projetos.
Figura 1.9: Assistente de criação de projetos
O assistente irá auxiliá-lo na definição de um nome e um diretório para o projeto, além de outras
informações necessárias tais como:
1.2. INTRODUÇÃO A FERRAMENTA EDA QUARTUS II 9.1
13
• Nome da entidade de mais alto nı́vel
• Arquivos do projeto, outros arquivos fontes e bibliotecas usadas no projeto
• Dispositivos (chip) e famı́lia a serem utilizadas para a compilação
• Setup da ferramenta EDA.
A seguir, clique em Next para iniciar o passo 1 da configuração de seu projeto onde serão informados o
diretório de trabalho, o nome do projeto e o nome da entidade de mais alto nı́vel. A figura 1.10 apresenta
este passo.
Figura 1.10: Informando o diretório, nome e arquivo principal do projeto
Agora, clique em Next para atingir o passo 2, onde podem ser adicionadas arquivos para comporem
o projeto a ser criado. Como este projeto será implementado a partir do zero, não há nenhum arquivo
para adicionarmos. Podemos avançar para o próximo passo clicando em Next novamente.
No passo 3 vamos escolher a famı́lia do chip FPGA que será implementado em seu projeto. Uma
vez que todas as práticas de laboratório estão sendo desenvolvidas para a placa DE2-70, selecione a
famı́lia Cyclone II, em Package selecione FBGA, em Pin Count selecione 896 e em Speed grade selecione 6 conforme mostrado na figura 1.11. Por fim, selecione então em Available Devices o dispositivo
EP2C70F896C6 e clique em Next.
No passo 4 podem ser adicionadas outras ferramentas EDAs para serem incorporadas ao Quartus
II. Este projeto será implementado com as ferramentas padrão do Quartus II e, deste modo, podemos
avançar para o próximo passo clicando em Next novamente.
A figura 1.12 mostra o resumo de todo o setup realizado até o passo anterior. Após verificar as opções
apresentadas, o projeto será iniciado após clicar em Finish. Caso tenha a necessidade de nova opções, isso
pode ser realizado retornando-se aos passos anteriores (clicar em Back e repetir os passos apresentados
anteriormente), conforme a necessidade.
Etapa 2:
14
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
Figura 1.11: Seleção da famı́lia de FPGA a ser utilizada
Figura 1.12: Resumo das configurações do projeto
1.2. INTRODUÇÃO A FERRAMENTA EDA QUARTUS II 9.1
15
Após ter iniciado o projeto, devemos criar um novo arquivo necessário para elaborar o circuito do
nosso projeto. Para criar este arquivo, devemos escolher o menu File, New, selecionar o tipo Block
Diagram/Schematic File, conforme podemos verificar na figura 1.13 e clicar em OK.
Figura 1.13: Seleção do arquivo de diagrama de bloco
Para escolher os sı́mbolos que irão compor o projeto, basta realizar um clique duplo com o mouse
na região livre do diagrama de blocos. Alternativamente, pode-se clicar com o botão direito do mouse
em uma região livre do diagrama de blocos e escolher Insert e depois Symbol. A Figura 1.14, ilustra a
inserção de uma porta AND.
Construa seu projeto conforme instruções em aula inserindo os sı́mbolos necessários. Não existe uma
ordem pré-definida para inserção dos sı́mbolos que compõem o circuito.
Agora devemos salvar o diagrama de bloco e realizar a compilação do circuito. Para salvar, selecione
o menu File, Save As... e digite o nome do arquivo, devendo ser o mesmo atribuı́do a entidade de
mais alto nı́vel, o qual foi designado no inı́cio da criação do projeto. Além de digitar o nome do arquivo,
devemos selecionar a opção Add file to current project para que este arquivo seja adicionado ao nosso
projeto, e clique em Salvar.
Para compilar o nosso projeto, selecione o menu Processing, Start Compilation. A figura 1.15
apresenta um relatório com os dados gerados após a compilação, onde podemos observar várias informações, tais como, se a operação foi concluı́da com êxito ou não; qual a FPGA adotada; e quais os
recursos de hardware (da FPGA) que foram necessários para a implementação do nosso circuito nesse
chip.
O próximo passo é associar os pinos de entrada e saı́da do nosso circuito aos pinos do chip (FPGA) da
placa DE2-70. Para associar os pinos, selecione o menu Assignments, Pin Planner, tendo selecionado
este menu, a figura 1.16 será apresentada.
Para escolher a localização correta dos pinos em Location, devemos consultar o manual da placa
DE2-70 e verificar quais são os pinos necessários para o nosso projeto.
Após ter associado os pinos do circuito aos pinos do chip, devemos novamente compilar o projeto. Esta
é a segunda vez que realizamos a compilação do projeto, nós poderı́amos não ter realizado a compilação
feita anteriormente, neste caso, para que os pinos de entrada e saı́da mostrados na figura 1.16 pudessem
ser apresentados, seria necessário selecioná-los no diagrama de bloco antes de selecionar o comando
16
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
Figura 1.14: Inserção de sı́mbolos no diagrama de bloco
Figura 1.15: Resultado da compilação do projeto
1.2. INTRODUÇÃO A FERRAMENTA EDA QUARTUS II 9.1
Figura 1.16: Associação dos pinos do circuito aos pinos do chip
17
18
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
Assignments, Pin Planner. Esta maneira, de realizar duas vezes a compilação, foi adotada para
facilitar a criação do nosso primeiro projeto.
A próxima etapa é realizar a simulação do circuito através da análise das formas de onda. Devemos
selecionar o menu File, New e selecionar Vector Waveform File, conforme figura 1.17. Clique em
OK para concluir a ação.
Figura 1.17: Criação do arquivo de formas de ondas
Agora, devemos inserir os nodos no arquivo de formas de onda. Clique com o botão direito do mouse
na região livre do arquivo recém criado e selecione Insert, Insert Node or Bus como mostra a Figura
1.18. A ação deste comando criará uma janela, nesta janela há um botão Node Finder, conforme figura
1.19, que deve ser selecionado para auxiliar na localização dos nodos existentes em nosso circuito.
Em conseqüência à seleção do botão Node Finder, será criada a janela vista na figura 1.20. Para
localizar os nodos que se encontram na coluna esquerda da figura 1.20 é necessário selecionar o botão
List, em seguida pressione o botão ¿¿ para que estes nodos encontrados sejam adicionados na coluna do
lado direito da figura 1.20. Para concluir a inserção, é necessário selecionar o botão OK em duas situação,
a primeira é na janela que está atualmente ativa e a segunda é na próxima janela que será exibida.
O próximo passo é associar as formas de onda aos nodos de entrada do circuito e analisar o resultado
através da forma de onda gerada pelo nodo de saı́da.
Preencha o arquivo de forma de onda conforme as instruções em aula.
Tendo associado as formas de onda a entrada do circuito, podemos iniciar a simulação selecionando o
menu Processing, Start Simulation e aguardar até que o sistema conclua esta operação. Para verificar
o resultado da simulação, selecione o menu Processing, Simulation Report para exibir o arquivo com
o relatório da simulação, conforme podemos verificar na figura 1.21. Caso a janela gerada não esteja na
mesma escala de tempo mostrado na figura 1.21, é necessário acessar o menu View, Fit in Window
para que ocorra o ajuste de escala.
O próximo passo, é fazer o download do circuito no chip. Para realizar esta operação, selecione o
menu Tools, Programmer. A ação deste comando gera uma janela onde devemos selecionar o arquivo
que contém o código de programação do chip e selecionar o hardware, caso não esteja selecionado, para
comunicação com a placa DE2-70. Através da figura 1.22 podemos conferir o hardware e o arquivo
selecionados, ou seja, as condições necessárias para fazer o download do arquivo de programação do chip.
1.2. INTRODUÇÃO A FERRAMENTA EDA QUARTUS II 9.1
Figura 1.18: Insert Node or Bus
Figura 1.19: Inserção dos nodos ao arquivo de formas de ondas
19
20
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
Figura 1.20: Localização dos nodos
Figura 1.21: Relatório das formas de ondas geradas na simulação do circuito
1.2. INTRODUÇÃO A FERRAMENTA EDA QUARTUS II 9.1
21
A programação é ativada através da seleção do comando Processing, Start.
Agora o chip FPGA da placa DE2-70 encontra-se programado. A verificação do funcionamento do
hardware programado, pode ser realizada ativando-se as entradas do circuito e verificando-se o resultado
na saı́da.
Figura 1.22: Seleção do hardware e do código para download
22
CAPÍTULO 1. PRÁTICAS DE LABORATÓRIO
Referências Bibliográficas
[1] V. D. Bout and D. E., The practical Xilinx designer lab book version 1.5. Prentice Hall, 1999. 8
23
Download