Mudanças entre as edições de "DLP29007-2019-2"
Ir para navegação
Ir para pesquisar
Linha 231: | Linha 231: | ||
** Utilizando os conceitos de ponteiros relembrados na última aula, implemente um programa simples que escreva nas chaves os estados das chaves. | ** Utilizando os conceitos de ponteiros relembrados na última aula, implemente um programa simples que escreva nas chaves os estados das chaves. | ||
+ | ** [http://docente.ifsc.edu.br/roberto.matos/dlp2_public/nios2_quartus2_project.qar QAR Base] | ||
+ | |||
+ | |||
+ | =Aula 18/11/2019 – Modificando o sistema = | ||
*Exercício 2: | *Exercício 2: | ||
** Adicione o LCD no sistema. | ** 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. | ** 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 15h20min de 18 de novembro de 2019
Dispositivos Lógicos Programáveis 2: Diário de Aula 2019-2
- Professor: Roberto de Matos
- Encontros: 2ª (a cada 15 dias) e 6ª às 15:40h
- Local: Laboratório de Programação
- Atendimento Paralelo: 4ª às 10h e 14h (1h cada)
- Plano de Ensino
- Cronograma de Aulas: Conteúdo Programado no Portal SIGAA
- Notas
Links Úteis
- Usando os Kits de FPGA
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
- Exemplo uC vs. FPGA
- Notas de Aula:
Aula 09/08/2019 – Complexidade e Projeto de Sistemas Digitais (cont.)
- Experimento:
- Medição de tempos de propagação em circuitos combinacionais Até Visualização dos tempos de propagação no Chip Planner
- Uso de Logic Lock para definir a área a ser ocupada pelo circuito
- Exercício:
Aula 12/08/2019 – Não Houve Aula
- FINALIZAR O EXERCÍCIO:
Aula 16/08/2019 – Síntese do VHDL
- Lecture 02: Synthesis of VHDL Code
- Concepção dos operadores em VHDL
- Experimento:
- Medição de tempos de propagação em circuitos combinacionais A partir de Configurando o compilador
- Exemplo usando DSE
- F1 Instances
Aula 23/08/2019 – Eficiência de Circuitos Combinacionais
- Leitura recomendada:
- Capítulo 7 do livro do Chu
- Notas de aula:
Aula 26/08/2019 – Eficiência de Circuitos Combinacionais
- Experimentos Circuitos Combinacionais:
Aula 30/08/2019 – Eficiência de Circuitos Sequenciais
- Leitura recomendada:
- Capítulo 8 e 9 do livro do Chu
- Notas de aula:
- Experimentos Circuitos Sequenciais:
- SDC:
create_clock -name CLK50MHz -period 50MHz [get_ports {clk}]
derive_pll_clocks
derive_clock_uncertainty
</syntaxhighlight>
- Exemplo simples e muito bom de Glitch:
Aula 02/09/2019 – Eficiência de Circuitos Sequenciais (cont.)
- Experimentos Circuitos Sequenciais:
- 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
- Notas de aula:
Aula 13/09/2019 – Máquinas de Estado (cont.)
- Leitura recomendada:
- Capítulo 10 do livro do Chu
- Notas de aula:
- Experimentos Máquinas de Estado:
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
- Experimento:
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.
Aula 18/11/2019 – Modificando o sistema
- Exercício 2:
- Adicione o LCD no sistema.
- Verifique a documentação da biblioteca do LCD da Intel, inicialize o display e escreva algo nele.