A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PROGRAMAÇÃO E PROJETOS COM DISPOSITIVOS FPGA (2.a parte) Treinamento Software Quartus II.

Apresentações semelhantes


Apresentação em tema: "PROGRAMAÇÃO E PROJETOS COM DISPOSITIVOS FPGA (2.a parte) Treinamento Software Quartus II."— Transcrição da apresentação:

1 PROGRAMAÇÃO E PROJETOS COM DISPOSITIVOS FPGA (2.a parte) Treinamento Software Quartus II

2 SUMÁRIO  1. Ambiente de Software EDA  1.1 Entrada de projeto  1.2 Síntese e mapeamento  1.3 Posicionamento e roteamento  1.4 Verificação e teste  1.5 Configuração do FPGA

3 Ambiente de Software EDA (Electronic Design Automation:  O processo de desenvolvimento com Dispositivos de Lógica Programável (CPLD, FPGA,etc) envolve várias etapas que geralmente são automatizadas.  Atualmente, a utilização de ferramentas de software EDA tem simplificado e acelerado todo o ciclo de projeto.

4  Um sistema típico de desenvolvimento de projetos com ferramenta de software EDA, consiste de várias etapas interconectadas. a)Entrada do projeto; b)Síntese e mapeamento; c)Posicionamento e roteamento; d)Verificação e teste; e)Configuração do FPGA.

5 Entrada de Projeto  A entrada de projeto pode ser realizada de duas formas: a)Um diagrama lógico: desenvolvido a partir de um editor gráfico, no qual é possível utilizar portas lógicas (biblioteca do software) e macroinstruções gráficas (funções lógicas). b)Um editor de texto: desenvolvido a partir de linguagens de descrição de hardware como: VHDL, HDL e Verilog.

6 Exemplo de tela do editor gráfico

7 Exemplo de tela do editor de texto

8 Síntese e Mapeamento  A síntese lógica consiste em duas fases distintas: a) Otimização lógica: minimiza as equações Booleanas, simplificando as equação lógicas geradas. A síntese na prática permite a redução de área a ser ocupada no circuito integrado, como também reduz o atraso de propagação (delay) dos sinais envolvidos.

9 b) Mapeamento da tecnologia: seleciona um conjunto de portas lógicas de uma dada biblioteca para implementar as representações abstratas, enquanto melhora a área, o atraso ou a combinação de ambos, levando em consideração as restrições arquiteturais do FPGA envolvido.

10 Posicionamento e Roteamento  Após a minimização lógica e o mapeamento da tecnologia, o projeto consiste em uma representação textual de componentes lógicos a serem designados aos componentes físicos da arquitetura do FPGA.  O posicionamento é a atribuição de componentes particulares do circuito integrado aos componentes lógicos do projeto.

11  O roteamento é a atribuição de trilhas e chaves de interconexão programáveis para comunicação entre os componentes.  O posicionamento e o roteamento são dois processos mutuamente dependentes.

12 Verificação e Teste  A simulação é o tipo mais comum de verificação utilizada em projetos com FPGAs.  A verificação pode ser funcional, realizada em nível comportamental ou temporal em nível de portas lógicas.

13 Configuração do FPGA  Após a verificação e o teste será gerado um arquivo de configuração, que será descarregado no FPGA.  O modo programação serial passiva com cabo de download é o modo mais recomendado, pois o arquivo de configuração pode ser transferido, pela porta de comunicação (paralela, serial, USB) diretamente para o dispositivo FPGA, interface JTAG, por um cabo de impressora padrão Centronics.

14 Editor Gráfico Editor de Símbolo Editor de Texto Bibliotecas: Primitivas Macroinstruções Síntese Mapeamento Posicionamento Roteamento Verificação Teste Configuração do FPGA

15 Software Quartus II  O software Quartus II Web Edition, versão 9.1, é uma ferrramenta EDA, desenvolvida pela empresa ALTERA, que utilizaremos com o Kit FPT1.  Qualquer dúvida quanto aos comandos do software QUARTUS II pode ser solucionada com a opção “Help” do software. O Help é uma documentação completa que deve ser explorada pelo leitor.

16  Instalação  O software QUARTUS II Web Edition, versão 10, pode ser instalado diretamente do CD que acompanha o Kit DE1, DE2 ou transferido do site http://www.altera.com, opção download. http://www.altera.com  Verifique se o seu micro IBM PC tenha pelo menos 1GB de memória RAM, um espaço disponível em hard disk de 512MB e o Sistema Operacional instalado seja Windows 2000, Windows NT 4.0 ou Windows XP.

17 Passos de instalação: 1) Crie um subdiretório no drive C, como por exemplo,C:\Quartus. 2) Instale o software QUARTUS II Web Edition, versão 9.1, no subdiretório criado, C:\Quartus.

18

19 Criando um Projeto Novo  Para iniciar o programa têm-se duas alternativas: 1)Clicar na área de trabalho: botão iniciar > todos os programas > Quartus > Quartus II 9.1 Web Edition Full. 2) Clicar na área de trabalho: ícone Quartus II 9.1 Web Edition Full.

20  Ao entrar no programa será aberta a janela principal, conforme apresentada na figura. Para criar um novo projeto, selecione no menu de arquivos (File), a opção New Project Wizard.

21  A primeira vez que você abre um novo projeto, uma tela introdutória é apresentada. A opção New Project Wizard permite criar um novo projeto e informar dados básicos sobre o projeto, como: a) Nome do projeto e diretório de trabalho. b) Nome da entidade de projeto de mais alto nível. c) Arquivos de projeto, outras fontes de arquivos e bibliotecas utilizadas no projeto. d) Dispositivos e famílias usadas no projeto. e) Ferramentas EDA utilizadas.

22 Janela 1de 5 do New Project Wizard

23  Na primeira tela do New Project Wizard digite o nome do diretório de trabalho do seu projeto ou o localize por meio do botão (Browse), clicando por exemplo, em C:\altera\quartus\projetos.

24 Janela 1de 5 do New Project Wizard  Digite o nome do projeto na caixa de diálogo correspondente com o nome, por exemplo, COMBINACIONAL_1 e digite esse mesmo nome, como nome da entidade de mais alto nível de projeto, na caixa de diálogo correspondente. Clique Next.

25 Janela 2 de 5 do New Project Wizard  A janela dois do New Project Wizard não necessita ser preenchida; pois neste caso, não existe nenhum arquivo de projeto, nenhuma fonte de arquivo ou biblioteca a ser incluída. Clique Next.

26 Janela 3 de 5 do New Project Wizard  A janela três seleciona uma família de dispositivos de fabricação da empresa Altera, que será utilizada no projeto;  Surgirão diversas famílias de FPGAs e CLPDs, selecione por exemplo, a família CYCLONE II  Na opção dispositivo alvo (Target device) selecione : EP2C35F672C6.

27 Janela 4 de 5 do New Project Wizard  Na janela quatro não marque nenhuma opção, pois esse projeto só usará ferramentas do software QUARTUS II, não utilizará outras ferramentas EDA.  Clique Next.

28 Janela 5 de 5 do New Project Wizard

29

30  Clique no botão Finish e a criação do projeto está encerrada.  Note que o nome do projeto no topo da janela principal do navegador será modificado para o nome da entidade de nível mais alto, por exemplo, C:/altera/quartus/projetos/combinacional_1.

31 Janela Principal  Na janela principal selecione no menu de arquivos (File), a opção novo (New).  Será aberta uma caixa de diálogo, selecione a opção Block diagram/Schematic File e clique no botão OK.  Surgi uma tela denominada Block.bdf, como mostrado na figura a seguir, onde será editado o circuito lógico.

32 Janela para Edição Gráfica do Projeto (Block1.bdf)

33  A inserção de um componente lógico na janela do Editor Gráfico é realizada, por meio de um duplo clique do mouse em um espaço vazio da janela gráfica, ou então, clicando na barra de ferramentas no botão, correspondente ao componente lógico.  Será aberta uma janela denominada símbolo (symbol). Digite o nome do componente lógico no campo nome (name) e clique no botão OK.

34 Janela para Edição Gráfica do Projeto (Block1.bdf)  Caso não conheça o nome do componente, consulte as bibliotecas de componentes do software QUARTUS II, onde estão disponíveis diversos componentes lógicos.  Para isso, basta dar um clique em um dos diretórios da caixa, selecionar o subdiretório correspondente ao grupo do componente lógico e clicar em seu nome. No Apêndice B do livro pode-se encontrar alguns grupos e seus respectivos componentes.

35 Janela para Edição Gráfica do Projeto (Block1.bdf)  Selecione por exemplo, o componente 8count na biblioteca.  Será inserido o nome do componente no campo name da janela.  Clique no botão OK. O símbolo do componente 8count é mostrado na janela maior do Editor Gráfico.

36 Janela para Edição Gráfica do Projeto (Block1.bdf)

37  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 será liberado do componente, quando o botão de seleção, na barra de ferramentas, for pressionado.

38 Janela para Edição Gráfica do Projeto (Block1.bdf)  O componente 8count é um contador binário up/down. Repita os passos anteriores para inserir os componentes nor2 e gnd.  No nosso exemplo, devemos estabelecer as entradas e saídas do circuito lógico, que também possuem elementos específicos na biblioteca.

39 Janela para Edição Gráfica do Projeto (Block1.bdf)  Dessa forma, insira os terminais de entrada e saída dos componentes, repetindo os mesmos passos usados no item anterior para inserção dos componentes lógicos, ou então, digite input para uma entrada e output para uma saída no campo nome (name) da janela símbolo (Symbol).  Clique no botão OK..

40 Janela para Edição Gráfica do Projeto (Block1.bdf)  Caso deseje copiar um terminal de entrada ou saída, após a seleção e inserção do mesmo na janela, clique com o botão esquerdo do mouse, tantas vezes quanto for o número de cópias.  Para liberar o cursor do componente inserido, clique no botão de seleção na barra de ferramentas. A figura a seguir apresenta a janela do Editor Gráfico com a inserção dos terminais de entrada e saída.

41 Janela para Edição Gráfica do Projeto (Block1.bdf)

42 Barra de Ferramenta do Editor Gráfico

43  Os terminais de entrada (input) e saída (output) inseridos no item anterior devem ser identificados para posterior utilização, para isso os terminais devem ter nomes.  Com o cursor selecione o terminal a ser identificado, com o botão esquerdo do mouse dê um duplo clique sobre o terminal (PIN NAME).  Surge uma janela, chamada Propriedades do terminal (Pin properties), conforme mostrada na figura.

44 Janela de Propriedades dos Terminas de E/S

45  No campo nome do terminal (pin name) digite o nome desejado, por exemplo, A, B e CLOCK para as entradas, e QA, QB, QC e QD para as saídas.  Clique OK. Repita o processo passo a passo para cada terminal de entrada e para cada terminal de saída.  A figura a seguir apresenta uma janela do Editor Gráfico com os terminais de entrada e saída respectivamente identificados.

46 Janela do Editor Gráfico com os Terminais Identificados

47 Interconexão dos Componentes  Após a seleção dos componentes e atribuição dos nomes dos terminais de entrada e saída, vamos interligá-los.  Na barra de ferramentas selecione o botão fio ortogonal, caso deseje interligar os componentes por meio de fios. Ou então, selecione o botão barramento ortogonal, caso deseje interligar os componentes por meio de barramentos.

48 Interconexão dos Componentes  Lembre-se que um barramento é um conjunto de fios em paralelo. Por exemplo, um barramento de oito bits (1byte), corresponde a oito fios em paralelo, identificados pelo nome do terminal seguido da notação [0..7], por exemplo, correspondente a um barramento de constituído por 8 fios.

49 Interconexão dos Componentes  Existem duas possibilidades de interligação dos componentes no Editor Gráfico: a)Conexão dos componentes por fios ou barramentos: na barra de ferramentas selecione com o cursor do mouse, o botão fio ortogonal ou o botão barramento ortogonal. O cursor mudará para uma cruz, clique com o botão esquerdo do mouse no componente origem e com o botão esquerdo pressionado arraste o fio ou o barramento até o outro componente de destino.

50 Interconexão dos Componentes Pode-se fazer o caminho indo diretamente de um terminal a outro, ou fazê-lo por segmentos de reta. Caso se deseje apagar a ligação ou o componente, basta selecionar o objeto, quando este aparecerá com uma cor azul, e pressionar a tecla delete. A figura a seguir mostra a tela do Editor Gráfico com os componentes interligados por meio de fios.

51 Interconexão dos Componentes por Fio

52 Interconexão dos Componentes b) Conexão dos componentes por nome: Quando há muitos componentes, ligações e terminais de entrada e saída, o diagrama lógico fica difícil de visualização. Para torná-lo mais fácil de depuração dá-se nomes aos fios, e os referencia em outros pontos do circuito com o mesmo nome.

53 Interconexão dos Componentes Para isto, clique na barra de ferramentas no botão fio ortogonal, ligue um pedaço de fio, por exemplo, no terminal de entrada A (origem) do circuito lógico da figura. No final do pedaço de fio, dê um clique com o botão direito do mouse. Surge um menu, selecione a opção propriedades (properties).

54 Interconexão dos Componentes Na janela chamada propriedade do nó, digite o nome do fio, por exemplo, identifique-o como X. Clique OK. Na entrada do componente destino, porta nor2, ligue outro pedaço de fio e repita os passos anteriores, digitando o nome do fio também como X. O terminal de entrada A e uma das entradas da porta nor2 estarão conectadas logicamente pelo fio X, sem estarem fisicamente ligadas.

55 Interconexão dos Componentes Desta forma, o programa saberá que esses dois pontos estão conectados. Repita os passos anteriores e conecte todos os componentes, conforme mostrado na figura a seguir.

56 Interconexão dos Componentes por Nome

57 Compilação do Projeto  O projeto deve ser salvo e compilado para verificação da existência de erros básicos de sintaxe e semântica.  Para salvar o projeto clique no botão salvar, na barra de ferramentas.

58 Compilação do Projeto  A compilação é dividida em diversas fases, que compreendem a verificação de erros básicos como conexões desnecessárias, pinos e fios sem conexão, etc;  A criação de diversos arquivos necessários para a programação do FPGA e arquivos de relatórios, que apresentam detalhes do processo de síntese como total de elementos lógicos, total de pinos, total de bits de memória, etc.

59 Compilação do Projeto  Para compilar o projeto, na barra de ferramentas, acesse o menu Processing, selecione a opção Star Compilation, ou clique no botão correspondente, localizado na barra de ferramentas.

60 Compilação do Projeto  No lado esquerdo da janela de compilação são apresentados os progressos (em percentual) do andamento da compilação e da análise e síntese do projeto.  As mensagens de cuidados (cor azul) e mensagens de erros (cor vermelha) são apresentadas na parte inferior da janela.

61 Compilação do Projeto  Caso não haja problemas na compilação, surgirá uma caixa de diálogo com a seguinte mensagem “Full Compilation was Successfull”, então clique OK.  Caso o compilador acuse algum problema, escolha as mensagens de erros, na parte inferior da janela, para obter uma explicação sobre eles.

62 Janela de Compilação do Projeto

63 Compilação do Projeto  Na janela de compilação, seção sumária (Summary), serão apresentados o nome do dispositivo utilizado no projeto, total de elementos lógicos, total de pinos utilizados e o total de bits de memória.  Na seção relatórios (Reports) de compilação estão disponíveis diversos relatórios de análise de tempo, síntese, etc, que poderão ser impressos.

64 Simulação e Teste  Após a compilação o projeto deverá ser simulado. Existem dois tipos de simulação: simulação funcional e temporal.  A simulação funcional verifica os resultados de saída do circuito de acordo com as suas entradas. Para tanto, deve-se criar um arquivo de estímulo para verificar a funcionalidade do projeto.

65 Criação de um arquivo de Simulação e Teste  A criação de um arquivo de estímulo deve seguir algumas etapas.  Inicialmente acesse o menu Assignments e selecione a opção Settings.

66 Criação de um arquivo de Simulação e Teste  Surge uma janela, conforme mostrada na figura a seguir, na seção Category escolha a opção Simulator, surge a janela do simulador.  Na seção modo de simulação (Simulation mode) selecione Funcional (Functional). Clique OK.

67 Janela do Simulador no Modo Editor Gráfico

68 Criação de um arquivo de Simulação e Teste  Uma vez que o modo de simulação funcional foi ativado, para criar o arquivo de estímulos acesse o menu File, na barra de ferramentas da janela principal e selecione New.  Na caixa de diálogo escolha a opção Other files e depois Vector waveform file. Clique OK.  Surge a janela do Editor de Forma de Ondas, arquivo com extensão.vwf, onde será realizada a simulação funcional do projeto.

69 Criação de um arquivo de Simulação e Teste  Para inserir as entradas e saídas (nodos) do projeto, na 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.

70 Criação de um arquivo de Simulação e Teste  Surge a janela Node Finder, então selecione em Filter, a opção Pins: all.  Pressionando-se o botão List, no quadro Nodes Found aparecerão todas as entradas (i) e saídas (o) do projeto identificadas com seus respectivos nomes, conforme figura.

71 Criação de um arquivo de Simulação e Teste  Selecione todas as entradas e saídas (Nodes) e clique na seta à direita.  Dessa forma as entradas e saídas aparecerão no quadro Selected Nodes. Pressione OK, a janela Node Finder se fecha. Pressione novamente OK.

72 Janela de Edição de Entradas e Saídas

73 Atribuindo Formas de Ondas as Entradas  Na janela “Editor de Formas de Ondas” surgirão 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 duas vezes no nome da entrada, a linha toda será selecionada. Surge a janela Node Properties, selecione em Radix a opção binário. Clique OK..

74 Atribuindo Formas de Ondas as Entradas  Na janela do Editor de Forma de Ondas, aparece uma barra vertical de ferramentas, com os sinais de estímulos disponíveis, conforme mostrado na figura.  Selecione para a entrada CLOCK o botão, opção Count value, correspondente a um gerador de onda quadrada.

75 Janela do Editor de Formas de Ondas

76  A janela Count Value se abrirá, mostrando várias informações sobre o sinal que será gerado: intervalo, período, etc.  Selecione nesta janela a opção Timing, o período (Count Every), não deve ser maior que o intervalo. O fator de multiplicação (Multiply By), aumenta o período da onda quadrada a ser gerada.  Para este caso, mantenha os valores default. No menu Edit escolha o tempo de simulação (End Time) para 20µs (microsegundos), por exemplo.

77 Janela do Editor de Formas de Ondas  Para visualizar melhor o sinal de estímulo da entrada CLOCK, selecione na barra de ferramentas o botão Zoom e clique na janela do Editor de Forma de Ondas (botão esquerdo do mouse aumenta a visualização e o botão direito diminui).

78 Janela do Editor de Formas de Ondas  Repita para o sinal de entrada A os passos anteriores, estabelecendo como sinal de estímulo: nível 0 (low) ou 1 (high).  Para isso, basta clicar na barra de ferramentas no botão (nível 0) ou botão (nível 1). Para este caso, mantenha o valor da entrada A em nível 1 ().

79 Janela do Editor de Formas de Ondas  Repita para o sinal de entrada B os passos anteriores, estabelecendo como sinal de estímulo para a entrada B, o nível 0 ().  A figura a seguir apresenta os sinais de estímulos de entrada na janela do Editor de Formas de Ondas.

80 Janela do Editor de Formas de Ondas

81  Antes da simulação das entradas e saídas do arquivo waveform.vwf é necessário testar o arquivo de sinais de estímulos.  Para tanto, selecione na barra de ferramentas o menu Processing, escolha a opção Generate Functional Simulation Netlist.  Salve as alterações do arquivo waveform1.vwf. Clique OK. Salve o arquivo waveform1.vwf como exercício01.Clique OK.

82 Janela do Editor de Formas de Ondas  Caso não haja nenhum erro com o arquivo de estímulos criado, surgirá uma janela com a seguinte mensagem: “Functional Simulate Netlist was Successful. Clique OK.  Para compilar e simular o arquivo exercício.vwf, no menu Processing selecione a opção Start Simulation ou clique no botão.

83 Janela do Editor de Formas de Ondas  Se a compilação ocorrer sem nenhum erro, a seguinte mensagem: “Simulator was Successful”surge na janela do Editor de Formas de Ondas. Clique OK.  O resultado da simulação, saídas QA, QB, QC e QD, em função das entradas CLOCK, A e B será mostrado na figura a seguir.

84 Resultado da Simulação

85 Símbolo Gráfico  Para criar um símbolo gráfico, arquivo exercicio01.bsf, que represente o arquivo exercicio01.bdf corrente.  Na barra de ferramentas no menu File, escolha a opção Create/Update, na janela aberta selecione a opção Create Symbol Files for Current File, surge outra janela com a mensagem Created Block Symbol File exercicio01.  Clique OK.

86 Símbolo Gráfico  Para inserir o símbolo gráfico criado, arquivo exercicio01.bsf, em um novo projeto, basta proceder como visto anteriormente neste capítulo, ou seja, como se fosse inserir um componente lógico qualquer.  O símbolo gráfico criado exercicio01 agora faz parte da biblioteca (library) do software QUARTUS II. A figura a seguir apresenta o símbolo gráfico criado.

87 Símbolo Gráfico do Projeto dado.

88 Configuração dos Pinos do FPGA.  A configuração dos pinos do dispositivo FPGA deve ser realizada para definir o posicionamento dos pinos, conforme a necessidade do usuário.  Como nesta etapa, não houve esta necessidade, a compilação selecionou o posicionamento dos pinos aleatoriamente.

89 Configuração Automática dos Pinos do FPGA.  A configuração das posições dos pinos pode ser obtida no menu Assignments, opção Assignments Editor, Category Pins.  A figura a seguir mostra a configuração dos pinos do dispositivo FPGA realizada automaticamente.

90 Configuração Automática dos Pinos do FPGA.

91 Configuração Manual dos Pinos do FPGA.  Para configuração manual dos pinos, no menu Assignment Editor, selecione Category Pins, no campo To e Locations, coloque o nome dos pinos e o numero deles respectivamente.  Na coluna To são apresentadas as entradas e saídas do projeto e na coluna Locations são apresentados os pinos do FPGA

92 Configuração Manual dos Pinos do FPGA.  Tendo em mãos a tabela dos pinos do Kit FPT1, confira se as saídas do contador estão configuradas para os pinos correspondentes aos LEDs do Kit, se o sinal de entrada de clock do contador corresponde a entrada de Clock do Kit e se as entradas A e B estão conectadas aos DIP Switches.  Caso contrário, configure manualmente os pinos de acôrdo com a pinagem do Kit.

93 Configurando o FPGA (Kit FPT1).  Conecte o Kit FPT1 a porta paralela do PC através do cabo de impressora padrão Centronic.  Na barra de ferramentas acesse ao menu Tools e selecione Programmer.  Uma janela apresentará o arquivo CDF que listará todos os dispositivos e seus programas associados.

94 Configurando o FPGA (Kit FPT1).  No arquivo CDF selecione o modo JTAG.  Localize o botão de Hardware setup no topo do arquivo CDF.  Selecione a porta paralela (LPT1).

95  Na janela principal selecione o arquivo combinacional_1.sof e o dispositivo alvo EP2C35F672C6..  Habilite a opção Program/Configure.  Clique no botão Start. Verifique o progresso da transferência, quando o progresso atingir 100% o arquivo exercico01.sof foi totalmente transferido para o Kit.  Um LED de sinalização indicará que a transferência ocorreu com sucesso.

96  Teste o programa simulando as entradas e saídas no Kit.  Caso o programa não funcione consulte o instrutor.

97 FIM


Carregar ppt "PROGRAMAÇÃO E PROJETOS COM DISPOSITIVOS FPGA (2.a parte) Treinamento Software Quartus II."

Apresentações semelhantes


Anúncios Google