Mudanças entre as edições de "DLP29007-2019-2"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 171: Linha 171:
  
 
=Aula 01/11/2019 – Introdução ao NIOS II (cont.) =
 
=Aula 01/11/2019 – Introdução ao NIOS II (cont.) =
 +
 +
 +
 +
 +
=Aula 04/11/2019 – Introdução ao NIOS II (cont.) =
  
 
==Roteiro para os impacientes:==
 
==Roteiro para os impacientes:==
Linha 218: Linha 223:
 
*Clique em "Generate HDL ...", selecione VHDL, clique "Generate"
 
*Clique em "Generate HDL ...", selecione VHDL, clique "Generate"
 
*Feche o "Platform Designer"
 
*Feche o "Platform Designer"
 +
 +
 +
=Aula 08/11/2019 – Modificando o sistema =
 +
 +
*Exercício 1:
 +
** Adicione 8 entradas e ligue nas chaves da DE2-115
 +
** Utilizando os conceitos de ponteiros relembrados na última aula, implemente um programa simples que escreva nas chaves os estados das chaves.
 +
 +
*Exercício 2:
 +
** Adicione o LCD no sistema
 +
** Verifique a documentação da [ftp://ftp.intel.com.br/Pub/fpgaup/pub/Intel_Material/16.0/University_Program_IP_Cores/Audio_Video/Character_LCD.pdf biblioteca do LCD da Intel], inicialize o display e escreva algo nele.

Edição das 12h52min de 8 de novembro de 2019

Dispositivos Lógicos Programáveis 2: Diário de Aula 2019-2


Links Úteis

Materiais de Aula

Aula 29/07/2019 – Apresentação

  • Apresentação do professor.
  • Apresentação da disciplina.
  • Projetos com FPGA

Aula 02/08/2019 – Complexidade e Projeto de Sistemas Digitais


Aula 09/08/2019 – Complexidade e Projeto de Sistemas Digitais (cont.)


Aula 12/08/2019 – Não Houve Aula


Aula 16/08/2019 – Síntese do VHDL



Aula 23/08/2019 – Eficiência de Circuitos Combinacionais

  • Leitura recomendada:
    • Capítulo 7 do livro do Chu

Aula 26/08/2019 – Eficiência de Circuitos Combinacionais


Aula 30/08/2019 – Eficiência de Circuitos Sequenciais

  • Leitura recomendada:
    • Capítulo 8 e 9 do livro do Chu
  • SDC:

create_clock -name CLK50MHz -period 50MHz [get_ports {clk}] derive_pll_clocks derive_clock_uncertainty </syntaxhighlight>

Aula 02/09/2019 – Eficiência de Circuitos Sequenciais (cont.)

  • SDC:

create_clock -name CLK50MHz -period 50MHz [get_ports {clk}] derive_pll_clocks derive_clock_uncertainty </syntaxhighlight>

Aula 09/09/2019 – Máquinas de Estado

  • Leitura recomendada:
    • Capítulo 10 do livro do Chu

Aula 13/09/2019 – Máquinas de Estado (cont.)

  • Leitura recomendada:
    • Capítulo 10 do livro do Chu

Aula 20/09/2019 – Apresentação A2

  • Arquivo Inicial
  • Resolver os problemas utilizando as técnicas estudadas:
    • Verificar a possibilidade de compartilhamento de operador e funcionalidade. Aplicar "time sharing" onde for possível.
    • Resolver problemas de reset assíncrono e manipulação de clock.
  • Contador Principal:
    • Usar o PLL para diminuir o tamanho do contador.
    • Verificar a possibilidade da substituição de contadores pelo contador LFSR (ler seção 9.2.3)
  • FSM
    • Implementar máquina de estado com a funcionalidade de despertar e soneca.
    • Usar a técnica look-ahead buffer para sincronizar a saída.
  • Relatório:
    • Diagramas de hardware de antes e depois da mudança.
    • Explicar as mudanças referenciando as bases teóricas utilizadas.
    • Diagrama ASM da máquina de estado
    • Tabelas de comparação discutindo resultados de área e frequência.
    • Apresentar as estratégias de testes e apontar como replicar os resultados.
    • Enviar o QAR com projeto completo (*.VHD, *.VHT e/ou *.DO).
  • O trabalho deve funcionar da DE2-115
  • Apresentação e defesa pela dupla
  • Data: 13/10


Aula 23/09/2019 – Desenvolvimento A2

Aula 27/09/2019 – Desenvolvimento A2

Aula 04/10/2019 – Desenvolvimento A2

Aula 07/10/2019 – Desenvolvimento A2

Aula 11/10/2019 – Desenvolvimento A2

Aula 18/10/2019 – Desenvolvimento A2

Aula 21/10/2019 – Apresentação A2

Aula 25/10/2019 – Não houve Aula

Aula 29/10/2019 – AULA EXTRA: Introdução ao NIOS II

  • Objetivo:
    • Entender o método para desenvolvimento de software do NIOS II


Aula 01/11/2019 – Introdução ao NIOS II (cont.)

Aula 04/11/2019 – Introdução ao NIOS II (cont.)

Roteiro para os impacientes:

OBS.: Você deve fazer pelo menos uma vez o roteiro Laboratório NIOS II, pois lá existe muito conteúdo teórico interessante.

  • Abra "Tools -> Platform Designer"
  • Configure o dispositivo do projeto. Família: Cyclone IV; Device: EP4CE115F29C7.
  • Verifique se o "clk_0" está setado para 50 MHz
  • Adicione os seguintes componentes com os seguintes nomes (o nome precisa estar exatamente igual).
    • Obs.: Conecte os clocks e resets de todos os blocos no clk e clk_reset do "clk_0".

1- On-Chip Memory (RAM or ROM):

 Tamanho: 20480
 Nome: onchip_mem

2- Nios II (Classic) Processor:

 Selecione: Nios II/s
 Hardware multiplication type: None
 Nome: cpu
 Finalize
 Conecte o clk e o reset_n
 Conecte as portas data_master e instruction_master na porta s1 da "onchip_mem"
 Abra as configurações da "cpu" e defina o seguinte:
   - Para o Reset vector e Exception vector a memória "onchip_mem.s1"
   - Cache de 2Kbytes

3- JTAG UART

 Nome: jtag_uart
 avalon_jtag_slave <= data_master ("cpu")

4- Interval Timer

 Nome: sys_clk_timer
 s1 <= data_master

5- System ID Peripheral

 Nome: sysid
 control_slave <= data_master 

6- PIO (Parallel I/O)

 Nome: led_pio
 s1 <= data_master
 Exporte a porta external_connection
 
  • Defina os endereços base: "System menu -> Assign Base Addresses"
  • Selecione as IRQs e defina IRQ Timer = 1 e IRQ JTAG =16
  • Clique em "Generate HDL ...", selecione VHDL, clique "Generate"
  • Feche o "Platform Designer"


Aula 08/11/2019 – Modificando o sistema

  • Exercício 1:
    • Adicione 8 entradas e ligue nas chaves da DE2-115
    • Utilizando os conceitos de ponteiros relembrados na última aula, implemente um programa simples que escreva nas chaves os estados das chaves.
  • Exercício 2: