Mudanças entre as edições de "DLP2-EngTel (página)"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Redirecionamento removido para DLP29007-2020-1)
Etiqueta: Redirecionamento removido
 
(79 revisões intermediárias por 4 usuários não estão sendo mostradas)
Linha 1: Linha 1:
 +
Página da disciplina hospedada no [https://moodle.ifsc.edu.br/course/view.php?id=7452 Moodle]
 +
 +
 +
<!--
 +
 +
#REDIRECT[[DLP29007-2020-1]]
 +
 
= Dispositivos Lógicos Programáveis II =
 
= Dispositivos Lógicos Programáveis II =
  
*'''Professores:''' [[Arliones Hoeller]] e [[Marcos Moecke]]
+
*'''Professor:''' [[Roberto de Matos]]
*[[DLP2-EngTel_(Plano_de_Ensino)| Plano de Ensino]]
+
*[[DLP2-EngTel_(Plano_de_Ensino)| Plano de Ensino]] ('''NÃO OFICIAL - SENDO REVISTO''')
 
*[[Cronograma de atividades (DLP2-EngTel) | Cronograma]]
 
*[[Cronograma de atividades (DLP2-EngTel) | Cronograma]]
 
*[[Horários dos Cursos do IFSC Campus São José | Horário das aulas e atendimento paralelo]]
 
*[[Horários dos Cursos do IFSC Campus São José | Horário das aulas e atendimento paralelo]]
  
 
= Material de aula =
 
= Material de aula =
==Registro on-line das aulas==
 
===Unidade 1===
 
;Aula 1 (11 Ago) - Arliones:
 
*[[DLP2-EngTel (Plano de Ensino) | Apresentação da disciplina]]
 
::Ver pag. 1 a 22 de <ref name="PONG2006a"> Pong P. Chu, RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability. Wiley-IEEE Press, Hoboken, 2006, ISBN 0471720925 </ref>
 
::Ver pag. 3 a 48 de <ref name="HARRIS2007"> 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 </ref>
 
 
;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 <ref name="PONG2006a" />
 
 
;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 <ref name="PONG2006a" />
 
::Ver também os slides [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture02-synthesis.pdf Unidade 2: Processo de Síntese do código VDHL]
 
 
===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]].
 
 
===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, L7.4, L7.5)
 
:* Análise da área (Elementos Lógicos) x tempo de propagação.
 
::Ver pag. 163 a 175 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; (Ex:L7.15 - 7.18 )
 
::* Exemplos de Deslocador (''shifter'') (Ex: )
 
::* Exemplos de Multiplicadores (Ex: )
 
::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]
 
 
;Aula 12 (28 Set) - Marcos:
 
* Eficiência de Circuitos Combinacionais
 
:* Comparação de circuitos somadores de M entradas de N bits.  Implementação em (árvore x cadeia).  (Integer x Signed)
 
::*Utilizar como base os circuitos para XOR da Listing 7.15 e 7.18
 
::*Número de elementos lógicos, tempo de propagação do caminho caminho crítico.
 
::*Ver [[Medição de tempos de propagação em circuitos combinacionais]]
 
::*Ver [[Uso de Logic Lock para definir a área a ser ocupada pelo circuito]]
 
:* Exercício:  Verificar os tempos de propagação do caminho crítico nos somadores implementados usando FPGA da familia Ciclone e Ciclone IV E. 
 
::*Usando o LogicLock, selecione uma região qualquer do chip para implementar o circuito, e faça a compilação do circuito.
 
::*Anote em um tabela o número de Elementos lógicos (Totais|Normais|Aritméticos)
 
::*Anote o tempo de propagação dos 3 primeiros caminhos críticos, indicando a origem e destino de cada um deles. Desconsidere os dois primeiros e dois últimos tempos indicados no '''Path Report''', pois são referentes a entrada do sinal e saída dos sinais no FPGA. 
 
::*Compare seus resultados com o dos colegas que escolheram outras regiões do chip.
 
 
===Unidade 4===
 
;Aula 13 (05 Out) - 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
+
*[[DLP29007-2019-1 | Semestre 2019-1 - Prof. Roberto de Matos]]
-- 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;
+
{{collapse top | Semestres Anteriores}}
</syntaxhighlight>
+
*[[DLP29007-2018-2 | Semestre 2018-2 - Prof. Roberto de Matos]]
 +
*[[DLP29007-2018-1 | Semestre 2018-1 - Prof. Roberto de Matos]]
 +
*[[DLP29007-Engtelecom(2017-2) - Prof. Marcos Moecke | Semestre 2017-2 - Prof. Marcos Moecke]] - Wiki
 +
*[https://moodle.sj.ifsc.edu.br/course/view.php?id=179 Semestre 2017-2 - Prof. Arliones] - Moodle
 +
*[[DLP29007-Engtelecom(2017-1) - Prof. Marcos Moecke | Semestre 2017-1 - Prof. Marcos Moecke]] - Wiki
 +
*[https://moodle.sj.ifsc.edu.br/course/view.php?id=151 Semestre 2017-1 - Prof. Arliones] - Moodle
 +
*[[DLP2-EngTel (página) - 2016-2 (prof. Arliones e Marcos) | Semestre 2016-2 - Prof. Marcos Moecke e Arliones]]
 +
*[[DLP2-EngTel (página) - 2016-1 (prof. Arliones e Marcos) | Semestre 2016-1 - Prof. Marcos Moecke e Arliones]]
 +
*[[DLP2-EngTel (página) - 2015-2 (prof. Arliones e Marcos) | Semestre 2015-2 - Prof. Marcos Moecke e Arliones]]
 +
*[[DLP29007-2015-1 | Semestre 2015-1 - Prof. Marcos Moecke e Arliones]]
 
{{collapse bottom}}
 
{{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 14 (10 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 15 (24 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 ==
  
Linha 205: Linha 42:
 
* [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture07-register_transfer.pdf Lecture 07: Register Transfer Methodology: Principle]
 
* [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture07-register_transfer.pdf Lecture 07: Register Transfer Methodology: Principle]
 
* [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture08-register_transfer_examples.pdf Lecture 08: Register Transfer Methodology: Practice]
 
* [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture08-register_transfer_examples.pdf Lecture 08: Register Transfer Methodology: Practice]
 +
*[https://www.dropbox.com/s/wts1ai0ltlg27p9/DLP29007%20-%20Projeto%20Hierarquico%20Parametrizado%20v2.pdf?dl=0 Projeto Hierárquico e Parametrizado]
  
 
== Roteiros ==
 
== Roteiros ==
  
 +
* [[Medição de tempos de propagação em circuitos combinacionais]]
 +
* [[Uso de Logic Lock para definir a área a ser ocupada pelo circuito]]
 
* [[Laboratórios com Altera NIOS2]]
 
* [[Laboratórios com Altera NIOS2]]
 
* [[Configuração e uso do Signal Tap]]
 
* [[Configuração e uso do Signal Tap]]
Linha 217: Linha 57:
  
 
===PARA ENTREGAR===
 
===PARA ENTREGAR===
 +
Neste semestre as atividades avaliativas estão sendo entregues através da [http://moodlenovo.sj.ifsc.edu.br/course/view.php?id=151 plataforma Moodle]. O aluno deverá fazer o login usando o login e senha do portal do aluno.
 +
 +
 
{{collapse top | AE1 - Projeto de SoC baseado em NIOS2 (prazo 05/10/2016)}}
 
{{collapse top | AE1 - Projeto de SoC baseado em NIOS2 (prazo 05/10/2016)}}
 
Nesta atividade, você vai integrar os desenvolvimentos realizados nos laboratórios envolvendo NIOS2 e SignalTap. As etapas a serem executadas são as seguintes:
 
Nesta atividade, você vai integrar os desenvolvimentos realizados nos laboratórios envolvendo NIOS2 e SignalTap. As etapas a serem executadas são as seguintes:
Linha 226: Linha 69:
 
* Implemente a operação equivalente do módulo de hardware em software;
 
* Implemente a operação equivalente do módulo de hardware em software;
 
* Utilize um timer para medir o tempo da operação em software;
 
* Utilize um timer para medir o tempo da operação em software;
<!--* Utilize os performance counters para medir o tempo para realizar a operação em software.-->
+
* Utilize os performance counters para medir o tempo para realizar a operação em software;
 
* Relate e discuta seus resultados, apresentando o esquema dos seus testes, os códigos-fontes das aplicações, em formato de artigo e com 6 páginas no máximo.
 
* Relate e discuta seus resultados, apresentando o esquema dos seus testes, os códigos-fontes das aplicações, em formato de artigo e com 6 páginas no máximo.
 
* Envie o artigo em pdf para (<tt>moecke AT ifsc.edu.br</tt> E <tt>arliones.hoeller AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29007 - AE1.
 
* Envie o artigo em pdf para (<tt>moecke AT ifsc.edu.br</tt> E <tt>arliones.hoeller AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29007 - AE1.
Linha 239: Linha 82:
 
*Observação: para alguns circuitos pode ser necessário utilizar um clock mais lento. Para isto, utilize um LPM_COUNTER criado pela ferramenta MegaWizard, como fizemos em aula para gerar alguns componentes.
 
*Observação: para alguns circuitos pode ser necessário utilizar um clock mais lento. Para isto, utilize um LPM_COUNTER criado pela ferramenta MegaWizard, como fizemos em aula para gerar alguns componentes.
 
{{collapse bottom}}
 
{{collapse bottom}}
<!-- ------------------------------------------------------------------------------------------------------------- -->
+
 
{{collapse top |expand = true | AE2 - Circuitos Combinacionais  (prazo 19/10/2016 as 23h59)}}
+
 
 +
{{collapse top | AE2 - Circuitos Combinacionais  (prazo 19/10/2016 as 23h59)}}
 
* Formar equipes com 2 alunos. A formação das equipes deve ser informado no [https://www.facebook.com/groups/DLP29007/ Facebook] de DLP29007. Cada equipe deverá trabalhar com um dos temas de 1 a 6.
 
* Formar equipes com 2 alunos. A formação das equipes deve ser informado no [https://www.facebook.com/groups/DLP29007/ Facebook] de DLP29007. Cada equipe deverá trabalhar com um dos temas de 1 a 6.
 
:'''TEMA 1''' - Implementar o circuito "barrel shifter" (Listing 7.13/7.14, 7.29).  pag. 178-180; 192-196  
 
:'''TEMA 1''' - Implementar o circuito "barrel shifter" (Listing 7.13/7.14, 7.29).  pag. 178-180; 192-196  
Linha 269: Linha 113:
 
* Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a plataforma  [http://200.135.233.26:3000/project Sharelatex do IFSC-CLOUD]. Utilize preferencialmente o [http://200.135.233.26:3000/project/54750cb57ae8187440d60acd  modelo de artigo no padrão ABNT].
 
* Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a plataforma  [http://200.135.233.26:3000/project Sharelatex do IFSC-CLOUD]. Utilize preferencialmente o [http://200.135.233.26:3000/project/54750cb57ae8187440d60acd  modelo de artigo no padrão ABNT].
 
* Envie o artigo em pdf para (<tt>moecke AT ifsc.edu.br</tt> E <tt>arliones.hoeller AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29007 - AE2 - Projeto de Circuitos Combinacionais.
 
* Envie o artigo em pdf para (<tt>moecke AT ifsc.edu.br</tt> E <tt>arliones.hoeller AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29007 - AE2 - Projeto de Circuitos Combinacionais.
 +
{{collapse bottom}}
 +
 +
{{collapse top | AE3 - Circuitos Sequencias (prazo 04/11/2016 23h59)}}
 +
* Formar equipes com 2 ou 3 alunos. A formação das equipes deve ser informado no [https://www.facebook.com/groups/DLP29007/ Facebook] de DLP29007. Cada equipe deverá trabalhar com um dos temas de 1 a 6. (todos os contadores devem ser genéricos para N bits)
 +
 +
:'''TEMA 1''' - Estudar e implementar o Contador Gray
 +
::* Versão 1 (Listing 9.7).  pag. 265
 +
::* Versão 2 [https://www.altera.com/support/support-resources/design-examples/design-software/vhdl/vhd-gray-counter.html]
 +
::* Versão 3 [http://www.asic-world.com/examples/vhdl/gray.html]
 +
::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''.
 +
 +
:'''TEMA 2''' - Estudar e implementar o Contador em Anel
 +
::* Versão 1 (Listing 9.8).  pag. 267
 +
::* Versão 2 (Listing 9.9).  pag. 268
 +
::* Versão 3 [http://www.embarcados.com.br/implementacao-de-um-shift-register-em-vhdl] [http://www.andrecastelan.com.br/implementacao-de-um-shift-register-em-vhdl/] 
 +
::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''.
 +
 +
:'''TEMA 3''' - Estudar e implementar o Contador Decimal e Contador One Hot
 +
::* Versão 1 (Listing 9.12).  pag. 273
 +
::* Versão 2 (Listing 9.13).  pag. 274
 +
::* Versão 3 Contador One Hot [http://www.asic-world.com/examples/vhdl/one_hot.html#One_Hot_Counter].
 +
::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''.
 +
 +
:'''TEMA 4''' - Estudar e implementar o Contador LFSR (Linear Feedback Shift Register)
 +
::* Versão 1 (Listing 9.10).  pag. 270
 +
::* Versão 2 (Listing 9.11).  pag. 272
 +
::* Versão 3 [http://www.asic-world.com/examples/vhdl/lfsr.html#Random_Counter_(LFSR)]
 +
::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''.
 +
 +
:'''TEMA 5''' - Estudar e implementar o PWM
 +
::* Versão 1 (Listing 9.14).  pag. 275
 +
::* Versão 2 [https://eewiki.net/download/attachments/20939345/pwm_v1_0.vhd?version=1&modificationDate=1420836042247&api=v2]
 +
::* Versão 3 [http://fpgacenter.com/examples/servo/VhdlCode.php]
 +
::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''.
 +
 +
:'''TEMA 6''' - Estudar e implementar relógio HH:MM:SS,  considerando o clock de entrada de 50 MHz
 +
::* Versão 1 (alterar a Listing 9.5), página 263 para incluir a hora
 +
::* Versão 2 (alterar a Listing 9.6), página 265 para incluir a hora
 +
::* Versão 3 Implementar o Digital Clock com SSDs da seção 12.5 de <ref name="PEDRONI2010b"> PEDRONI, Volnei A. '''Circuit Design and Simulation with VHDL'''; 2ª ed. Massachusetts-EUA:MIT, 2010. 608 p.  ISBN  9780262014335 </ref>, pag 337-340, removendo o ajuste de segundos, minutos e horas.
 +
::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''.
 +
 +
* Para cada circuito indicado torne o código genérico para N bits e teste para 4 e 32 bits.
 +
* Teste cada uma das arquiteturas e anote em uma tabela todos os resultados de: número de pinos, número de elementos lógicos/ALUT (indicando os Normais | Aritméticos), 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''')
 +
*Insira restrições temporais para obter um circuito com maior Frequência Máxima.
 +
create_clock -name CLKXXXMHz -period XXXMHz [get_ports {nome_do_sinal_de_clock}]
 +
*Realize a simulação funcional de cada circuito com 4 bits.
 +
* Escreva um relatório técnico na forma de artigo com 2 a 4 paginas A4. O relatório além das tabelas com os dados, deverá conter as figuras dos circuitos RTL para 4 bits, simulações funcionais e uma análise textual dos resultados obtidos.  O arquivo com o QAR do projeto deve ser também enviado.
 +
* Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a plataforma  [http://200.135.233.26:3000/project Sharelatex do IFSC-CLOUD]. Utilize preferencialmente o [http://200.135.233.26:3000/project/54750cb57ae8187440d60acd  modelo de artigo no padrão ABNT].
 +
* Envie o artigo em pdf para (<tt>moecke AT ifsc.edu.br</tt> E <tt>arliones.hoeller AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29007 - AE3 - Circuitos Sequencias.
 +
{{collapse bottom}}
 +
 +
{{collapse top |expand = true| AE4 - FSM/RTM (prazo 18/12/2016)}}
 +
 +
Nesta atividade, cada dupla entregará uma implementação do jogo QuickFinger (explicado em aula).
 +
Além da implementação padrão, cada dupla realizará uma modificação diferente (lista ao final, por dupla). A figura abaixo apresenta uma visão geral do sistema do jogo:
 +
 +
http://docente.ifsc.edu.br/arliones.hoeller/dlp2/figs/quick_finger-block_diagram.png
 +
 +
Um relatório final em forma de artigo PDF contendo os itens abaixo deve ser entregue:
 +
* Introdução descrevendo os objetivos do trabalho e apresentando uma visão geral do jogo;
 +
* Descrição da implementação padrão e da modificação do jogo contendo, para cada um:
 +
** Algoritmo em pseudo-código que resolve o problema;
 +
** Diagrama de máquina de estados com datapath (FSMD ou ASMD - preferível ASMD);
 +
** Diagrama de blocos do sistema;
 +
** RTL do circuito gerado por sua implementação;
 +
** Relatório de eficiência do circuito (Fmax, LE/LUT, registradores, etc);
 +
* Conclusão sugerindo pontos positivos e negativos de sua implementação e relatando possíveis melhorias.
 +
* '''Observações:'''
 +
** Não incluir código-fonte no artigo;
 +
** Não ultrapassar 4 páginas de texto (não incluso figuras);
 +
** Não há limite de páginas para figuras.
 +
* Deve ser entregue também o .qar do projeto.
 +
* Envie o trabalho para (<tt>moecke AT ifsc.edu.br</tt> E <tt>arliones.hoeller AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29007 - AE4.
 +
 
{{collapse bottom}}
 
{{collapse bottom}}
  
 
;JÁ ENCERRADAS:
 
;JÁ ENCERRADAS:
 
 
;ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO:
 
;ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO:
 
{{collapse top  | AL1 - Tempo de propagação em circuitos combinacionais}}
 
{{collapse top  | AL1 - Tempo de propagação em circuitos combinacionais}}
 
*[[Medição de tempos de propagação em circuitos combinacionais]]
 
*[[Medição de tempos de propagação em circuitos combinacionais]]
 
{{collapse bottom}}
 
{{collapse bottom}}
 +
  
 
== Recursos de Laboratório ==
 
== 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 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  [http://200.135.233.26:3000/project Sharelatex do IFSC-CLOUD]. Utilize preferencialmente o [http://200.135.233.26:3000/project/54750cb57ae8187440d60acd  modelo de artigo no padrão ABNT].
+
Para a geração de documentação/relatórios técnicos/artigos, use a plataforma  [https://www.sharelatex.com?r=d418c690&rm=d&rs=b Sharelatex]
  
 
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 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.
Linha 380: Linha 299:
  
 
= Links Auxiliares =
 
= Links Auxiliares =
*[[DLP2-EngTel (página) - 2016-1 (prof. Arliones e Marcos)]]
+
*[https://cs.wmich.edu/gupta/teaching/cs5260/5260Sp15web/lectureNotes/thm14%20-%20parallel%20prefix%20from%20Ottman.pdf Parallel Prefix Computation]
*[[DLP2-EngTel (página) - 2015-2 (prof. Arliones e Marcos)]]
+
*[https://www.youtube.com/watch?v=bFmTHLZ3DGs#t=469.057233 Getting Started with the TimeQuest Timing Analyzer] Altera
*[[DLP29007-2015-1 | DLP2-EngTel (página) - 2015-1 (prof. Arliones e Marcos)]]
+
*[[Modelos de Temporização nos FPGAs]]
 +
::
 +
*[http://academic.csuohio.edu/chu_p/rtl/rtl_hardware.html Materiais auxiliares do livro do Pong Chu]
 +
*[http://academic.csuohio.edu/chu_p/rtl/chu_rtL_book/rtL_src_code.rar Código dos Exemplos do livro do Pong Chu]
 +
*[http://www.alterawiki.com/uploads/e/e6/FittingAlgorithms_and_SeedSweeps.pdf Fitting Algorithms, Seeds, and Variation] - ALTERA
 +
*[http://www.alterawiki.com/uploads/6/61/Tips_for_IncrementalCompilation_LogicLock.pdf Tips for Incremental Compilation and LogicLock] - ALTERA
 +
 
 +
-->

Edição atual tal como às 13h36min de 8 de junho de 2021

Página da disciplina hospedada no Moodle