DLP29007-2019-1

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Dispositivos Lógicos Programáveis 2


Usando os Kits de FPGA

Aula 11/02/2019 – Aula Cancelada

  • Afastamento visita técnica.

Aula 15/02/2019 – Apresentação

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


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


Aula 25/02/2019 – Tempos de Propagação e Logic Lock

Aula 28/02/2019 – Tempos de Propagação e Logic Lock (cont.)

  • Definir tempos de propagação para os seguintes casos:
    • Circuito original
    • Constraint de Tempo
    • Logic lock original
    • Logic lock com Constraint de Tempo
  • Para cada circuito acima fazer a análise do delay:
    • Dos pinos de entrada até a saída
    • Da "entrada" até a "saída" do circuito


Aula 11/03/2019 – Prática Signal Tap

  • PROBLEMA: /etc/udev/rules.d/altera-usb-blaster.rules

Aula 15/03/2019 – Síntese do VHDL


Aula 25/03/2019 – Síntese do VHDL (cont.)

Aula 29/03/2019 – Atividade 1

Aula 01/04/2019 – Eficiência de Circuitos Combinacionais


Aula 08/04/2019 – Eficiência de Circuitos Combinacionais (cont.)

Aula 10/04/2019 – EXTRA (choque Prof. Noronha)


Aula 12/04/2019 – Eficiência de Circuitos Combinacionais (cont.)


Aula 15/04/2019 – A2: Eficiência de Circuitos Combinacionais

  • Prática do "barril shifter".

ATIVIDADE 2

1-Modifique o circuito "barrel shifter" para uma entrada "a" de 64 bits e a entrada "amt" de 6 bits.

  • Versão 1 - Modifique a Listing 7.13. pag. 178-180.
  • Versão 2 - Modifique a Listing 7.14. pag. 178-180.
  • Versão 3 - Modifique a Listing 7.29. pag. 192-196.
  • Faça uma tabela comparando as três versões com área (LE) e delay do caminho crítico do circuito (ns).
  • Para as versões 1 e 3 insira restrições temporais para obter um circuito com menor atraso no caminho crítico. Neste caso procure reduzir gradualmente a tempo máximo de propagação "tp" até atingir o menor valor. Apresente os dados de área e delay em uma nova tabela.
set_max_delay -from [get_ports *] -to [get_ports *] tp


2-Modifique a versão 3 para uma implementação genérica parametrizável (ver Cap. 15).

  • Crie um projeto com a implementação genérica para tratar "a" de 32 bits e "amt" de 5 bits. Realize a simulação funcional criando um arquivo testbench e o Modelsim. Faça 'a' = "10100110101001101101101000011110", altere "lar" entre os valores "00", "01" e "10", e para cada um desses valores, varie a entrada "amt" entre 0 e 31. Analise o resultado da simulação.


3-Relatório

  • Escreva um relatório técnico com tabelas dos dados de cada ATIVIDADE, deverá conter as simulações funcionais e uma análise dos resultados obtidos.
  • Para cada ATIVIDADE envie o arquivo QAR correspondente, contendo além dos arquivos VHD os arquivos necessários para realizar a simulação (VHT e DO).


4-Deadline: 29/04/2019


Aula 22/04/2019 – Eficiência de Circuitos Sequenciais


  • Prática - Contador mod-10:
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity mod10_counter is
   port(
      clk, reset: in std_logic;
      q: out std_logic_vector(3 downto 0)
   );
end mod10_counter;

architecture two_seg_arch of mod10_counter is
   constant TEN: integer := 10;
   signal r_reg: unsigned(3 downto 0);
   signal r_next: unsigned(3 downto 0);
begin
   -- register
   process(clk,reset)
   begin
      if (reset='1') then
         r_reg <= (others=>'0');
      elsif (clk'event and clk='1') then
         r_reg <= r_next;
      end if;
   end process;
   -- next-state logic
   r_next <= (others=>'0') when r_reg=(TEN-1) else
             r_reg + 1;
   -- output logic
   q <= std_logic_vector(r_reg);
end two_seg_arch;
  • Modificar para mod-M


Aula 22/04/2019 – Eficiência de Circuitos Sequenciais (cont.)

  • Adicionar o SDC e comparar a freqüência de operação das duas implementações
create_clock -name clk -period 50MHz [get_ports {clk}]

Aula 29/04/2019 – Finalizar a A2

  • Dúvidas A2

Aula 06/05/2019 – Prática Circuitos Sequencias

  • Projeto prático Timer DE2-115
    • Adicionar centésimo de segundo
    • Decoder Bin-BCD
    • Decoder BCD-7seg
    • Mapear para gravar na DE2-115
    • Será parte da A3


Aula 10/05/2019 – Prática Circuitos Sequencias

Aula 13/05/2019 – Não houve aula

  • Problemas de saúde
  • Reunião com o diretor sobre corte do governo federal


Aula 20/05/2019 – Prática Circuitos Sequencias

  • A3:
    • Implementar e Comparar os 4 circuitos propostos em sala de aula com relação à área e frequência máxima. Esses dados estão disponíveis nos seguintes relatórios: (Fitter > Resource Section > Resource Usage), (TimeQuest Timing Analyser > Datasheet Report > FMax)
    • Forçar o limite da frequência máxima com contraints e NÃO usar LogicLock:
      • create_clock -name CLKXXXMHz -period XXXMHz [get_ports {nome_do_sinal_de_clock}]
    • Todos os circuitos propostos devem estar prontos para gravação na DE2-115
    • Pontos extras para comparações de diferentes implementações de blocos internos (BIN2BCD e BCD2SSD)
    • Realize a simulação funcional prevendo casos de "borda" para cada um dos contadores CC=99, SS=59 e MM=59.
    • Devem ser entregues o QAR (Quartus 13.0.1) contendo os arquivos *.VHD, *.SDC e os arquivos de simulação (*.VHT e/ou *.do). Além de um relatório com as tabelas de comparações dissertando sobre os resultados e todas as linhas de comando utilizadas para rodar as simulações.
    • Trabalho em dupla com apresentação presencial.
    • Deadline: 09/06/2019

Aula 24/05/2019 – Apoio A3

Aula 27/05/2019 – Máquinas de Estado

Aula 03/06/2019 – Apoio A3

Aula 07/06/2019 – Apoio A3

Aula 10/06/2019 – Máquinas de Estado


Aula 17/06/2019 – Máquinas de Estado (cont.)


Atividade A4

  • Analisar na seção 10.8.2 a implementação do árbitro de prioridade fixa (listing 10.12) e do árbitro de prioridade alternada (listing 10.13). Ambos suportam duas requisições. Completar o diagrama do árbitro de prioridade alternada de "quatro requisições" apresentado na Figura 10.23 e desenvolver o VHDL. Adicionar uma entrada de timeout para evitar que um subsistema não bloqueie o recurso indefinidamente.
    • Derive o diagrama de estados completo.
    • Converta o diagrama de estado em um gráfico ASM.
    • Derive o código VHDL de acordo com o gráfico ASM usando a técnica "look-ahead output buffer" para os sinais de saída.
    • Simule o circuito gerado para verificar seu funcionamento adequado.
    • Testar usando o Nios II - dependente do professor.
    • Entregar: 1) QAR com o *.VHD e simulação (*.VHT ou *.DO); 2) Relatório com os diagramas, relatando implementação, abordagem de teste e técnica "look-ahead output buffer". Indicação de como executar a simulação.

Deadline: 07/07