DLP2-EngTel (página): mudanças entre as edições

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Arliones.hoeller (discussão | contribs)
Moecke (discussão | contribs)
Linha 57: Linha 57:
:* Medição de tempo de execução com performance counters.
:* Medição de tempo de execução com performance counters.
:: Ver [[Laboratórios com Altera NIOS2]].
:: Ver [[Laboratórios com Altera NIOS2]].
===Unidade 3===
;Aula 10 (21 Set) - Marcos:
* Eficiência de Circuitos Combinacionais
:* Compartilhamento de Operadores (Ex: 7.2.1, 7.2.2, 7.2.3, 7.2.4)
:* Compartilhamento de funcionalidades (Ex: L7.1, L7.2, L7.3)
:* Análise da área (Elementos Lógicos) x tempo de propagação.
::Ver pag. 163 a 173 de <ref name="PONG2006a" />
<!--
;Aula 11 (26 Set) - Marcos:
* Eficiência de Circuitos Combinacionais
:* Questões relacionadas com o Leiaute do circuito
::* Exemplos de circuitos XOR;
::* Exemplos de Deslocador (''shifter'')
::* Exemplos de Multiplicadores
::Ver pag. 173 a 211 de <ref name="PONG2006a" />
::Ver também os slides [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture03-efficient_comb_circuits.pdf Unidade  3: Eficiência de Circuitos Combinacionais]
===Unidade 4===
;Aula 12 (28 Set) - Marcos:
* Eficiência de Circuitos Sequenciais
:* Tipos de Sincronismo em circuitos (globalmente síncronos, localmente síncronos, assíncronos)
:* Circuitos síncronos (Modelo, vantagens e tipos)
:* Descrição dos elementos básicos de memória (Latch D, Flip Flop D, Registros)
:* Projetos síncronos.
{{collapse top | Modelo em VHDL de projeto síncrono }}
<syntaxhighlight lang=vhdl>
-- Declaração das bibliotecas e pacotes a serem utilizados
library ieee;
use ieee.std_logic_1164.all;
entity nome_entidade is
-- Declaração dos valores GENERIC
  generic(
      ___: Natural := ___;
      ...
  );
-- Declaração das portas de entradas e saída
  port(
-- Declaração dos sinais de clock e reset assincrono
      clk, reset: in std_logic;
-- Declaração das demais portas de entradas isoladas e barramentos
      ___: in std_logic;
      ___: in std_logic_vector(__ downto 0);
      ...
-- Declaração das portas de saídas isoladas e barramentos
      ___: out std_logic;
      ___: out std_logic_vector(__ downto 0);
      ...
  );
end entity;
architecture nome_architetura of nome_entidade is
-- Declaração das entradas e saídas dos registros
  signal ___reg: std_logic_vector(___ downto 0);
  signal ___next: std_logic_vector(___ downto 0);
-- Declaração dos demais sinais internos
  ...
begin
-- Descrição da lógica sequencial registro
  process(clk,reset)
  begin
      if (reset='1') then
        ___reg <= (others=>'0');
        ...
      elsif (clk'event and clk='1') then
        ___reg <= ___next;
        ...
      end if;
  end process;
-- Descrição da lógica combinacional de próximo estado
  ...
  ...
-- Descrição da lógica combinacional dos circuitos de saída
  ...
  ...
end architecture;
</syntaxhighlight>
{{collapse bottom}}
::* Exemplo de FF D com enable;
::* Exemplo de FF T;
::* Exemplos de registrador de deslocamento;
::* Exemplos de contadores;
::Ver pag. 213 a 239 de <ref name="PONG2006a" />
;Aula 13 (05 Out) - Marcos:
* Eficiência de Circuitos Sequenciais
:* Analise Temporal
::*Violação do tempo de Setup; Frequencia máxima do clock;
::*Temporização relacionadas as saídas.
:*Porque não usar VARIABLE em circuitos sequenciais.
::Ver pag. 239 a 255 de <ref name="PONG2006a" />
::Ver também os slides [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture04-efficient_seq_circuits.pdf Unidade 4: Eficiência de Circuitos Sequenciais]
;Aula 14 (10 Out) - Marcos:
* Eficiência de Circuitos Sequenciais
:*Praticas deficientes de projeto e soluções:
::*Mal uso do RESET assincrono => Use CLEAR sincrono;
<syntaxhighlight lang=vhdl>
  --Em um contador de 0 a 9
  r_next <= (others => '0') when r_reg = 9 else r_reg + 1;
</syntaxhighlight>
::*Mal uso de portas no CLOCK => Use o ENABLE do FF;
<syntaxhighlight lang=vhdl>
  --Em um contador
  r_next <= r_reg + 1 when ena = '1' else r_reg;
</syntaxhighlight>
::*Mal uso de CLOCK derivados => Use o ENABLE para habilitar o CLOCK;
:*Contadores
::* Contador Gray
::* Contador em Anel
::* Contador Binário
::* Contador Decimal
::* LFSR (''Linear Feedback Shift Register'') [https://en.wikipedia.org/wiki/Linear_feedback_shift_register]
<!--
<syntaxhighlight lang=vhdl>
</syntaxhighlight>
-->
-->


== Notas de aula ==
== Notas de aula ==

Edição das 13h31min de 21 de setembro de 2016

1 Dispositivos Lógicos Programáveis II

2 Material de aula

2.1 Registro on-line das aulas

2.1.1 Unidade 1

Aula 1 (11 Ago) - Arliones
Ver pag. 1 a 22 de [1]
Ver pag. 3 a 48 de [2]
Aula 2 (15 Ago) - Marcos
  • Processo de Síntese do código VDHL
  • Limitações dos softwares de EDA: Computabilidade, Complexidade Computacional
  • Realização dos operadores VHDL: simplificações para operando constante
  • Realização dos tipos de dados: Alta impedância 'Z' -> buffer tri-state;
Ver pag. 125 a 137 de [1]
Aula 3 (17 Ago) - Marcos
  • Processo de Síntese do código VDHL: Analise das temporizações:
  • Realização dos tipos de dados: uso de don't care '-'
  • Tempos de propagação, caminho crítico, caminho falso,
  • Síntese com restrições temporais,
  • Perigos/Armadilhas (Glitches estáticos e dinâmicos, circuitos sensíveis ao atraso)
Ver pag. 137 a 162 de [1]
Ver também os slides Unidade 2: Processo de Síntese do código VDHL

2.1.2 Unidade 2

Aula 4 (24 Ago) - Arliones
  • Processadores embarcados e depuração em FPGA
  • Configuração e geração de processadores.
Ver Laboratórios com Altera NIOS2.
Aula 5 (29 Ago) - Arliones
  • Desenvolvimento de software embarcado.
Ver Laboratórios com Altera NIOS2.
Aula 6 (31 Ago) - Arliones
  • Integração de processadores com lógica externa.
Aula interrompida devido a falta de luz.
Ver Laboratórios com Altera NIOS2.
Aula 7 (10 Set) - Arliones
  • Integração de processadores com lógica externa.
Aula interrompida devido a falta de luz.
Ver Laboratórios com Altera NIOS2.
Aula 8 (12 Set) - Arliones
  • Depuração via analisador lógico embarcado.
Ver Configuração e uso do Signal Tap.
Aula 9 (14 Set) - Arliones
  • Medição de tempo de execução com performance counters.
Ver Laboratórios com Altera NIOS2.

2.1.3 Unidade 3

Aula 10 (21 Set) - Marcos
  • Eficiência de Circuitos Combinacionais
  • Compartilhamento de Operadores (Ex: 7.2.1, 7.2.2, 7.2.3, 7.2.4)
  • Compartilhamento de funcionalidades (Ex: L7.1, L7.2, L7.3)
  • Análise da área (Elementos Lógicos) x tempo de propagação.
Ver pag. 163 a 173 de [1]

-->

2.2 Notas de aula

Estas notas de aula são baseadas nas dispobilizadas pelo Prof. Pong P. Chu em [1].

2.3 Roteiros

2.4 Avaliação

Neste tópico serão listadas as Atividades Práticas realizadas ao longo do semestre. Para cada uma dessas atividades o aluno/equipe que não entrega-la no prazo preestabelecido, poderá entregar a atividade com: uma semana de atraso obtendo no máximo o valor 8; duas semanas de atraso obtendo no máximo o valor 6; três semanas de atraso obtendo no máximo o valor 4;

Os critérios de avaliação estão descritos no Plano de Ensino.

2.4.1 PARA ENTREGAR

AE1 - XXXX (prazo XX/XX/2016)
  • Envie o artigo em pdf para (moecke AT ifsc.edu.br E arliones.hoeller AT ifsc.edu.br), com o ASSUNTO: DLP29007 - AE1 - XXXX.
JÁ ENCERRADAS
ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO
AL1 - Tempo de propagação em circuitos combinacionais

2.5 Recursos de Laboratório

Para uso fora do IFSC dos recursos computacionais com licença educacional, o IFSC disponibiliza para seus alunos o IFSC-CLOUD. Atualmente a forma mais eficiente de acesso é através do Cliente X2GO. O procedimento de instalação/ configuração e uso do Quartus/Modelsim/QSIM está descrito em Acesso ao IFSC-CLOUD#Cliente X2GO (recomendado).

Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a plataforma Sharelatex do IFSC-CLOUD. Utilize preferencialmente o modelo de artigo no padrão ABNT.

Para estudo de FPGAs o Laboratório de Programação dispõe de kits Mercúrio IV da Macnica-DHW e também DE2-115 da Terasic. Veja como utilizar estes kits em Preparando para gravar o circuito lógico no FPGA, one além de acesso aos manuais dos fabricantes, você tem acesso a uma descrição resumida da pinagem mais utilizada desses kits.

Para depurar seu circuito em uma FPGA de verdade, pode ser interessante utilizar o SignalTapII da Altera, que permite realizar análise lógica dos sinais no seu circuito. Para iniciar o uso da ferramenta, siga este tutorial.

Para determinar os caminhos críticos do projeto (ou os tempos de propagação entre quaisquer nós de um projeto, utilize a Análise de Caminho Crítico com Qaurtus II.

2.6 Referências Bibliográficas:

  1. 1,0 1,1 1,2 1,3 Pong P. Chu, RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability. Wiley-IEEE Press, Hoboken, 2006, ISBN 0471720925
  2. David Money Harris and Sarah L. Harris, Digital Design and Computer Architecture, Morgan Kaufmann, Burlington, 2007, ISBN 9780123704979, http://dx.doi.org/10.1016/B978-012370497-9/50002-0


Curso de Engenharia de Telecomunicações

3 Conteúdo

Gerenciamento de Complexidade e Visão Geral de Sistemas Digitais Complexos

3.1 Gerenciamento de Complexidade e Visão Geral de Sistemas Digitais Complexos

  • Leituras recomendadas:
    • Capítulo 1 do livro do Chu;
    • Capítulo 1 do livro do Harris;
    • Notas de aula 01.
Síntese de Código VHDL

3.2 Síntese de Código VHDL

  • Leitura recomendada:
    • Capítulo 6 do livro do Chu;
    • Notas de aula 02.
Eficiência de Circuitos Combinacionais

3.3 Eficiência de Circuitos Combinacionais

  • Leitura recomendada:
    • Capítulo 7 do livro do Chu;
    • Notas de aula 03.
Eficiência de Circuitos Sequenciais

3.4 Eficiência de Circuitos Sequenciais

  • Leitura recomendada:
    • Capítulos 8 e 9 do livro do Chu;
    • Notas de aula 04 e 05.
Eficiência de Máquinas de Estado

3.5 Eficiência de Máquinas de Estado

  • Leitura recomendada:
    • Capítulo 10 do livro do Chu;
    • Notas de aula 06.
Register Transfer Methodology

3.6 Register Transfer Methodology

  • Leitura recomendada:
    • Capítulos 11 e 12 do livro do Chu;
    • Notas de aula 07 e 08.
Projeto Hierárquico e Parametrizado

3.7 Projeto Hierárquico e Parametrizado

  • Leitura recomendada:
    • Capítulos 13, 14 e 15 do livro do Chu;
    • Notas de aula 09, 10 e 11.
Clock e Sincronização

3.8 Clock e Sincronização

  • Leitura recomendada:
    • Capítulo 16 do livro do Chu;
    • Notas de aula 12.

4 Links Auxiliares