práticas de hardware - wiki.icmc.usp.brwiki.icmc.usp.br/images/2/21/praticas.pdf · 8 cap´itulo...

23
´ Indice 1 Pr´ aticas de Laborat´ orio 7 1.1 Construindo um Circuito TTL (Transistor-Transistor Logic) ................. 8 1.2 Introdu¸ ao a ferramenta EDA Quartus II 9.1 ......................... 12 1

Upload: duongtu

Post on 24-Jan-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Indice

1 Praticas de Laboratorio 7

1.1 Construindo um Circuito TTL (Transistor-Transistor Logic) . . . . . . . . . . . . . . . . . 81.2 Introducao a ferramenta EDA Quartus II 9.1 . . . . . . . . . . . . . . . . . . . . . . . . . 12

1

2 INDICE

Lista de Figuras

1.1 As quatro cidades com as rodovias percorridas pelos professores . . . . . . . . . . . . . . . 81.2 A interface do equipamento a ser desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . 81.3 Uma visao de alto nıvel do circuito logico com entradas e saıdas binarias . . . . . . . . . . 91.4 As melhores rotas entre cada duas cidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5 Algoritmo para a rodovia 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6 Expressao logica obtida da figura 1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.7 Circuito em notacao de portas logicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.8 Implementacao em TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.9 Assistente de criacao de projetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.10 Informando o diretorio, nome e arquivo principal do projeto . . . . . . . . . . . . . . . . . 131.11 Selecao da famılia de FPGA a ser utilizada . . . . . . . . . . . . . . . . . . . . . . . . . . 141.12 Resumo das configuracoes do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.13 Selecao do arquivo de diagrama de bloco . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.14 Insercao de sımbolos no diagrama de bloco . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.15 Resultado da compilacao do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.16 Associacao dos pinos do circuito aos pinos do chip . . . . . . . . . . . . . . . . . . . . . . 171.17 Criacao do arquivo de formas de ondas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.18 Insert Node or Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.19 Insercao dos nodos ao arquivo de formas de ondas . . . . . . . . . . . . . . . . . . . . . . 191.20 Localizacao dos nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.21 Relatorio das formas de ondas geradas na simulacao do circuito . . . . . . . . . . . . . . . 201.22 Selecao do hardware e do codigo para download . . . . . . . . . . . . . . . . . . . . . . . . 21

3

4 LISTA DE FIGURAS

Lista de Tabelas

1.1 Tabela verdade para o circuito logico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5

6 LISTA DE TABELAS

Capıtulo 1

Praticas de Laboratorio

7

8 CAPITULO 1. PRATICAS DE LABORATORIO

1.1 Construindo um Circuito TTL (Transistor-Transistor Logic)

Objetivos:

Antes de iniciarmos o uso das ferramentas EDA, faremos uma aula experimental com circuitos de-nominados TTL (Transistor-Transistor Logic). Estes circuitos foram introduzidos nos anos 70 pelasindustrias de semicondutores e foram os responsaveis pelos inumeros avancos no desenvolvimento dehardware. Entretanto, com o advento de novas tecnologias, estes circuitos deixaram de ser fabricados eseu uso atualmente esta praticamente encerrado. Algumas escolas ainda os utilizam por falta exclusiva-mente de opcoes, pois as ferramentas EDA tem um custo relativamente alto para a maioria das escolasbrasileiras. Devido a sua importancia, apenas para efeito de demonstracao, faremos uma aula com atecnologia TTL.

Problema a ser resolvido:

Este exemplo foi baseado no livro [1], e adaptado as nossas realidades. A USP decidiu desenvolverum equipamento para auxiliar seus professores em suas viagens entre as universidades de quatro cidades.O equipamento ira fornecer a melhor rota entre duas cidades, baseada no comprimento das rodoviasutilizadas: R1 3km, R2 3km, R3 5km, R4 10km, R5 15km e R6 3km. Na figura 1.1 sao apresentadas asopcoes de rotas de viagem que um professor pode escolher saindo de um determinado ponto e chegandoa seu destino.

Figura 1.1: As quatro cidades com as rodovias percorridas pelos professores

Na figura 1.2 e apresentada a interface com o usuario do equipamento a ser desenvolvido. Trata-sede um equipamento pequeno (do tamanho de um Pager), onde o professor devera ligar as chaves dascidades de origem e destino, e apos o processamento do circuito TTL os LEDs com os nomes das rodoviasque formam o melhor caminho deverao acender. Na figura 1.3 e apresentada uma visao de alto nıvel docircuito a ser elaborado com entradas binarias.

Figura 1.2: A interface do equipamento a ser desenvolvido

1.1. CONSTRUINDO UM CIRCUITO TTL (TRANSISTOR-TRANSISTOR LOGIC) 9

Figura 1.3: Uma visao de alto nıvel do circuito logico com entradas e saıdas binarias

Etapas de desenvolvimento:

Etapa 1:

Inicialmente, vamos analisar todas as possibilidades de rotas entre as cidades e escolher as melhoresrotas (ou seja, a menor distancia entre elas). Elas sao 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 relacao entre as cidades e asrodovias envolvidas na melhor rota entre elas. E importante observar que para as opcoes invalidas databela (casos impossıveis e nao previstos no circuito) terao 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 CAPITULO 1. PRATICAS DE LABORATORIO

Entradas SaıdasSao Carlos Bauru Sao Paulo Ribeirao Preto R1 R2 R3 R4 R5 R6

1 1 0 0 1 0 0 0 0 01 0 1 0 0 0 1 0 0 01 0 0 1 0 1 0 0 0 00 1 1 0 1 0 1 0 0 00 1 0 1 1 1 0 0 0 00 0 1 1 0 0 0 0 0 10 0 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 00 1 1 1 0 0 0 0 0 01 0 1 1 0 0 0 0 0 01 1 0 1 0 0 0 0 0 01 1 1 0 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0

Tabela 1.1: Tabela verdade para o circuito logico

saıda da implementacao para a rodovia 3. Para a construcao completa do equipamento, seria necessariaa implementacao do circuito de todas as rodovias.

Figura 1.5: Algoritmo para a rodovia 3

Vamos agora introduzir uma notacao tecnica mais proxima da algebra booleana. Na figura 1.6 eapresentada a mesma expressao, porem agora de modo mais proximo da implementacao por circuitosTTL e com as devidas otimizacoes.

Figura 1.6: Expressao logica obtida da figura 1.5

Manipulando-se a expressao da figura 1.6, chegamos ao circuito apresentado na figura 1.7. Estecircuito mapeado na tecnologia TTL e mostrado na figura 1.8.

Etapa 3:

Implemente o circuito da figura 1.8 na placa de proto-board e faca toda a sua verificacao, montandouma tabela com os resultados obtidos. Compare a tabela obtida com a tabela 1.1 coluna Saıda/R3. Elassao identicas? Se nao forem, verifique a fiacao (conexao dos chips) e se nao ha circuitos TTL queimadosem seu proto-board.

1.1. CONSTRUINDO UM CIRCUITO TTL (TRANSISTOR-TRANSISTOR LOGIC) 11

Figura 1.7: Circuito em notacao de portas logicas

Figura 1.8: Implementacao em TTL

12 CAPITULO 1. PRATICAS DE LABORATORIO

1.2 Introducao a ferramenta EDA Quartus II 9.1

Objetivos:

Um dos objetivos desta pratica e apresentar o fluxo de desenvolvimento de projetos de hardware pormeio da utilizacao da ferramenta EDA (Electronic Design Automation) Quartus II da Altera Corporation.Esta pratica, em conjunto com o projeto que sera passado em aula, tambem explora a utilizacao de algunscomponentes presentes na placa DE2-70, como push buttons, switches, LEDs, display de sete segmentose o FPGA (Field-Programmable Gate Array).

Para atingir estes objetivos, um pequeno circuito logico a ser dado em aula sera construıdo, abordandoas funcoes basicas da ferramenta e faremos a programacao do circuito FPGA da placa DE2-70 para aimplementacao desse nosso circuito.

A implementacao deste circuito envolve as seguintes etapas:

• Criacao de um novo projeto na ferramenta;

• Criacao de diagramas de blocos;

• Simulacao do circuito e;

• Programacao do hardware.

Etapas de desenvolvimento:

Etapa 1:

Para criar um novo projeto, inicie o Quartus II v9.1, clique em File, New Project Wizard.... Afigura 1.9 mostra a primeira tela do assistente de criacao de projetos.

Figura 1.9: Assistente de criacao de projetos

O assistente ira auxilia-lo na definicao de um nome e um diretorio para o projeto, alem de outrasinformacoes necessarias tais como:

1.2. INTRODUCAO 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 compilacao

• Setup da ferramenta EDA.

A seguir, clique em Next para iniciar o passo 1 da configuracao de seu projeto onde serao informados odiretorio de trabalho, o nome do projeto e o nome da entidade de mais alto nıvel. A figura 1.10 apresentaeste passo.

Figura 1.10: Informando o diretorio, nome e arquivo principal do projeto

Agora, clique em Next para atingir o passo 2, onde podem ser adicionadas arquivos para comporemo projeto a ser criado. Como este projeto sera implementado a partir do zero, nao ha nenhum arquivopara adicionarmos. Podemos avancar para o proximo passo clicando em Next novamente.

No passo 3 vamos escolher a famılia do chip FPGA que sera implementado em seu projeto. Umavez que todas as praticas de laboratorio estao sendo desenvolvidas para a placa DE2-70, selecione afamılia Cyclone II, em Package selecione FBGA, em Pin Count selecione 896 e em Speed grade seleci-one 6 conforme mostrado na figura 1.11. Por fim, selecione entao em Available Devices o dispositivoEP2C70F896C6 e clique em Next.

No passo 4 podem ser adicionadas outras ferramentas EDAs para serem incorporadas ao QuartusII. Este projeto sera implementado com as ferramentas padrao do Quartus II e, deste modo, podemosavancar para o proximo passo clicando em Next novamente.

A figura 1.12 mostra o resumo de todo o setup realizado ate o passo anterior. Apos verificar as opcoesapresentadas, o projeto sera iniciado apos clicar em Finish. Caso tenha a necessidade de nova opcoes, issopode ser realizado retornando-se aos passos anteriores (clicar em Back e repetir os passos apresentadosanteriormente), conforme a necessidade.

Etapa 2:

14 CAPITULO 1. PRATICAS DE LABORATORIO

Figura 1.11: Selecao da famılia de FPGA a ser utilizada

Figura 1.12: Resumo das configuracoes do projeto

1.2. INTRODUCAO A FERRAMENTA EDA QUARTUS II 9.1 15

Apos ter iniciado o projeto, devemos criar um novo arquivo necessario para elaborar o circuito donosso 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: Selecao do arquivo de diagrama de bloco

Para escolher os sımbolos que irao compor o projeto, basta realizar um clique duplo com o mousena regiao livre do diagrama de blocos. Alternativamente, pode-se clicar com o botao direito do mouseem uma regiao livre do diagrama de blocos e escolher Insert e depois Symbol. A Figura 1.14, ilustra ainsercao de uma porta AND.

Construa seu projeto conforme instrucoes em aula inserindo os sımbolos necessarios. Nao existe umaordem pre-definida para insercao dos sımbolos que compoem o circuito.

Agora devemos salvar o diagrama de bloco e realizar a compilacao do circuito. Para salvar, selecioneo menu File, Save As... e digite o nome do arquivo, devendo ser o mesmo atribuıdo a entidade demais alto nıvel, o qual foi designado no inıcio da criacao do projeto. Alem de digitar o nome do arquivo,devemos selecionar a opcao Add file to current project para que este arquivo seja adicionado ao nossoprojeto, e clique em Salvar.

Para compilar o nosso projeto, selecione o menu Processing, Start Compilation. A figura 1.15apresenta um relatorio com os dados gerados apos a compilacao, onde podemos observar varias in-formacoes, tais como, se a operacao foi concluıda com exito ou nao; qual a FPGA adotada; e quais osrecursos de hardware (da FPGA) que foram necessarios para a implementacao do nosso circuito nessechip.

O proximo passo e associar os pinos de entrada e saıda do nosso circuito aos pinos do chip (FPGA) daplaca DE2-70. Para associar os pinos, selecione o menu Assignments, Pin Planner, tendo selecionadoeste menu, a figura 1.16 sera apresentada.

Para escolher a localizacao correta dos pinos em Location, devemos consultar o manual da placaDE2-70 e verificar quais sao os pinos necessarios para o nosso projeto.

Apos ter associado os pinos do circuito aos pinos do chip, devemos novamente compilar o projeto. Estae a segunda vez que realizamos a compilacao do projeto, nos poderıamos nao ter realizado a compilacaofeita anteriormente, neste caso, para que os pinos de entrada e saıda mostrados na figura 1.16 pudessemser apresentados, seria necessario seleciona-los no diagrama de bloco antes de selecionar o comando

16 CAPITULO 1. PRATICAS DE LABORATORIO

Figura 1.14: Insercao de sımbolos no diagrama de bloco

Figura 1.15: Resultado da compilacao do projeto

1.2. INTRODUCAO A FERRAMENTA EDA QUARTUS II 9.1 17

Figura 1.16: Associacao dos pinos do circuito aos pinos do chip

18 CAPITULO 1. PRATICAS DE LABORATORIO

Assignments, Pin Planner. Esta maneira, de realizar duas vezes a compilacao, foi adotada parafacilitar a criacao do nosso primeiro projeto.

A proxima etapa e realizar a simulacao do circuito atraves da analise das formas de onda. Devemosselecionar o menu File, New e selecionar Vector Waveform File, conforme figura 1.17. Clique emOK para concluir a acao.

Figura 1.17: Criacao do arquivo de formas de ondas

Agora, devemos inserir os nodos no arquivo de formas de onda. Clique com o botao direito do mousena regiao livre do arquivo recem criado e selecione Insert, Insert Node or Bus como mostra a Figura1.18. A acao deste comando criara uma janela, nesta janela ha um botao Node Finder, conforme figura1.19, que deve ser selecionado para auxiliar na localizacao dos nodos existentes em nosso circuito.

Em consequencia a selecao do botao Node Finder, sera criada a janela vista na figura 1.20. Paralocalizar os nodos que se encontram na coluna esquerda da figura 1.20 e necessario selecionar o botaoList, em seguida pressione o botao ¿¿ para que estes nodos encontrados sejam adicionados na coluna dolado direito da figura 1.20. Para concluir a insercao, e necessario selecionar o botao OK em duas situacao,a primeira e na janela que esta atualmente ativa e a segunda e na proxima janela que sera exibida.

O proximo passo e associar as formas de onda aos nodos de entrada do circuito e analisar o resultadoatraves da forma de onda gerada pelo nodo de saıda.

Preencha o arquivo de forma de onda conforme as instrucoes em aula.Tendo associado as formas de onda a entrada do circuito, podemos iniciar a simulacao selecionando o

menu Processing, Start Simulation e aguardar ate que o sistema conclua esta operacao. Para verificaro resultado da simulacao, selecione o menu Processing, Simulation Report para exibir o arquivo como relatorio da simulacao, conforme podemos verificar na figura 1.21. Caso a janela gerada nao esteja namesma escala de tempo mostrado na figura 1.21, e necessario acessar o menu View, Fit in Window

para que ocorra o ajuste de escala.O proximo passo, e fazer o download do circuito no chip. Para realizar esta operacao, selecione o

menu Tools, Programmer. A acao deste comando gera uma janela onde devemos selecionar o arquivoque contem o codigo de programacao do chip e selecionar o hardware, caso nao esteja selecionado, paracomunicacao com a placa DE2-70. Atraves da figura 1.22 podemos conferir o hardware e o arquivoselecionados, ou seja, as condicoes necessarias para fazer o download do arquivo de programacao do chip.

1.2. INTRODUCAO A FERRAMENTA EDA QUARTUS II 9.1 19

Figura 1.18: Insert Node or Bus

Figura 1.19: Insercao dos nodos ao arquivo de formas de ondas

20 CAPITULO 1. PRATICAS DE LABORATORIO

Figura 1.20: Localizacao dos nodos

Figura 1.21: Relatorio das formas de ondas geradas na simulacao do circuito

1.2. INTRODUCAO A FERRAMENTA EDA QUARTUS II 9.1 21

A programacao e ativada atraves da selecao do comando Processing, Start.Agora o chip FPGA da placa DE2-70 encontra-se programado. A verificacao do funcionamento do

hardware programado, pode ser realizada ativando-se as entradas do circuito e verificando-se o resultadona saıda.

Figura 1.22: Selecao do hardware e do codigo para download

22 CAPITULO 1. PRATICAS DE LABORATORIO

Referencias Bibliograficas

[1] V. D. Bout and D. E., The practical Xilinx designer lab book version 1.5. Prentice Hall, 1999. 8

23