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
 
(26 revisões intermediárias por 3 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]] ('''NÃO OFICIAL - SENDO REVISTO''')
 
*[[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]]
 
= Notas =
 
 
<!--
 
{| class="wikitable"
 
!scope="col"| Aluno
 
!scope="col"| AE1
 
!scope="col"| AE2
 
!scope="col"| AE3
 
!scope="col"| AE4
 
!scope="col"| AA
 
!scope="col"| AT
 
!scope="col"| AP1
 
!scope="col"| AP2
 
!scope="col"| Final
 
|-
 
| 122005023-7 || 8 || 10 || 9 || 8 || 8 || 10 || 9 || 8 || 9
 
|-
 
| 131000929-5 || 6 || 7 || 7 || 5 || 7 || 9 || 5 || 6 || 6
 
|-
 
| 132002623-0 || 8 || 9 || 9 || 7 || 8 || 6 || 9 || 9 || 8
 
|-
 
| 121003282-1 || 8 || 10 || 8 || 8 || 9 || 8 || 9 || 9 || 8
 
|-
 
| 132002999-0 || 8 || 10 || 9 || 8 || 9 || 3 || 9 || 8 || 8
 
|-
 
| 131004419-8 || 4 || 4 || 5 || 6 || 9 || 9 || 5 || 5 || 5
 
|-
 
| 131001281-4 || 6 || 7 || 7 || 5 || 9 || 6 || 3 || 2 || 6
 
|-
 
| 121000492-5 || 7 || 10 || 10 || 6 || 8 || 10 || 9 || 8 || 8
 
|-
 
| 121000484-4 || 7 || 10 || 10 || 6 || 8 || 3 || 9 || 8 || 8
 
|-
 
| 131005334-0 || 4 || 4 || 5 || 6 || 6 || 9 || 3 || 3 || 5
 
|-
 
| 132004278-3 || 8 || 9 || 9 || 7 || 8 || 3 || 9 || 9 || 8
 
|-
 
| 121003758-0 || 8 || 10 || 8 || 8 || 8 || 3 || 7 || 8 || 8
 
|}
 
 
Pesos: 22 (total)
 
*AE1: 4
 
*AE2: 3
 
*AE3: 4
 
*AE4: 7
 
*AA - Autoavaliação: 1
 
*AT - Avaliação da turma: 1
 
*AP1 - Avaliação Professor 1: 1
 
*AP2 - Avaliação Professor 2: 1
 
 
-->
 
  
 
= Material de aula =
 
= Material de aula =
==Registro on-line das aulas==
 
 
===Unidade 1===
 
;Aula 1 (14 Fev) - 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>
 
:: Ver os [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture01-complexity.pdf slides].
 
 
;Aula 6 (15 Mar) - 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'';
 
:* Realização dos tipos de dados: uso de ''don't care'' '-'
 
::Ver pag. 125 a 137 de <ref name="PONG2006a" />
 
 
 
;Aula 7 (21 Mar) - Marcos:
 
* Processo de Síntese do código VDHL: Analise das temporizações:
 
 
:* Tempos de propagação, caminho crítico, caminho falso,
 
::*ver também [[Medição de tempos de propagação em circuitos combinacionais#Tempo de Propagação entre entrada e saída]]
 
:* Síntese com restrições temporais,
 
::*ver também [[Medição de tempos de propagação em circuitos combinacionais#Inserindo restrições de tempo para o compilador]]
 
:* 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===
+
*[[DLP29007-2019-1 | Semestre 2019-1 - Prof. Roberto de Matos]]  
;Aula 2 (15 Fev) - Arliones:
 
:* Configuração e geração de processadores em FPGA
 
:: Ver [[Laboratórios com Altera NIOS2]].
 
  
;Aula 3 (21 Fev) - Arliones:
 
:* Desenvolvimento de software embarcado no NIOS2.
 
:: Ver [[Laboratórios com Altera NIOS2]].
 
  
;Aula 4 (07 Mar) - Arliones:
+
{{collapse top | Semestres Anteriores}}
:* Integração de processadores com lógica externa em FPGA.
+
*[[DLP29007-2018-2 | Semestre 2018-2 - Prof. Roberto de Matos]]  
:: Ver [[Laboratórios com Altera NIOS2]].
+
*[[DLP29007-2018-1 | Semestre 2018-1 - Prof. Roberto de Matos]]  
 
+
*[[DLP29007-Engtelecom(2017-2) - Prof. Marcos Moecke | Semestre 2017-2 - Prof. Marcos Moecke]] - Wiki
;Aula 5 (14 Mar) - Arliones:
+
*[https://moodle.sj.ifsc.edu.br/course/view.php?id=179 Semestre 2017-2 - Prof. Arliones] - Moodle
:* Depuração via analisador lógico embarcado em FPGA.
+
*[[DLP29007-Engtelecom(2017-1) - Prof. Marcos Moecke | Semestre 2017-1 - Prof. Marcos Moecke]] - Wiki
:: Ver [[Configuração e uso do Signal Tap]].
+
*[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]]
===Unidade 3===
+
*[[DLP2-EngTel (página) - 2016-1 (prof. Arliones e Marcos) | Semestre 2016-1 - Prof. Marcos Moecke e Arliones]]
;Aula 10 e 11 (28 e 29 Mar) - Marcos:
+
*[[DLP2-EngTel (página) - 2015-2 (prof. Arliones e Marcos) | Semestre 2015-2 - Prof. Marcos Moecke e Arliones]]
* Eficiência de Circuitos Combinacionais
+
*[[DLP29007-2015-1 | Semestre 2015-1 - Prof. Marcos Moecke e Arliones]]
:* 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.
 
:* 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. 163 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 (4 Abr) - Marcos:
 
* Eficiência de Circuitos Combinacionais
 
:* Comparação de circuitos somadores de M entradas de N bits.  Comparar a implementação em árvore x cadeia.  Experimente utilizando tipos Integer e/ou (un)signed. Utilize como base os circuitos dos Exercícios 7.15 e 7.18 <ref name="PONG2006a" />, nos quais são mostradas implementações de portas XOR. O objetivo desse tópico é realizar medições de tempo, e mudar o desempenho do projeto seja mudando o código ou usando '''LogicLock''' ou restrições de tempo.
 
::*Ver [[Medição de tempos de propagação em circuitos combinacionais]]
 
::*Ver [http://quartushelp.altera.com/15.0/mergedProjects/optimize/ace/acv_view_acv_overview.htm About the Chip Planner]
 
::*Ver [[Uso de Logic Lock para definir a área a ser ocupada pelo circuito | Uso de LogicLock para definir a área a ser ocupada pelo circuito]]
 
::*Ver [[Uso de restrições de tempo e exceções no projeto]]
 
::*Ver [http://quartushelp.altera.com/15.0/mergedProjects/comp/increment/comp_view_qid.htm About Incremental Compilation]
 
:* Exercício:  Verificar os tempos de propagação do caminho crítico nos somadores implementados usando FPGA da familia Ciclone e Ciclone IV E, Considerando um circuito com 8 entradas de 12 bits.
 
::*Sem usar LogicLock anote os resultados.  Observe a disposição dos elementos lógicos no '''Chip Planner'''.
 
::*Usando o LogicLock, selecione uma região qualquer do chip para implementar o circuito, e faça a compilação do circuito. Use regiões na Vertical, na Horizontal e Retangular e anote os resultados.
 
::*Anote em um tabela o número de Elementos lógicos (Totais|Normais|Aritméticos), o tempo de propagação do caminho crítico, indicando a origem e destino dele. 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 até a região de interesse no FPGA.
 
::*Sem usar LogicLock, insira um arquivo de restrição SDC com a restrição (set_max_delay -from a* -to y* T), onde T é o atraso maximo entre as entradas a* até as saídas y*. Procure obter tempos de atraso menores que os anteriores. 
 
::*Experimente aumentar os tempos de atraso usando  (set_min_delay -from a* -to y* T).
 
::*Compare seus resultados com o dos colegas que escolheram outras regiões do chip.
 
 
 
===Unidade 4===
 
;Aula 13 (11 Abr) - 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}}
 
{{collapse bottom}}
::* Exemplo de FF D com enable;
 
::* Exemplo de FF T;
 
::* Exemplos de registrador de deslocamento;
 
::* Exemplos de contador modulo m;
 
::Ver pag. 213 a 239 de <ref name="PONG2006a" />
 
 
* 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]
 
::Ver [http://www.altera.com/support/support-resources/design-examples/design-software/timequest/clocking/tq-clock.html TimeQuest Clock Analysis]
 
 
;Aula 14 (12 Abr) - Marcos:
 
* Eficiência de Circuitos Sequenciais
 
:*Praticas deficientes de projeto e soluções:
 
::*Mal uso do RESET assincrono => Use CLEAR síncrono;
 
<syntaxhighlight lang=vhdl>
 
  --Por exemplo em um contador de 0 a 9 use um CLEAR síncrono
 
  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 durante uma borda de subida;
 
<syntaxhighlight lang=vhdl>
 
-- Não use multiplos clocks
 
elsif (clk'event and clk='1') then
 
...
 
elsif (sclk'event and sclk='1') then
 
...
 
elsif (mclk'event and mclk='1') then
 
...
 
-- Use um único clock com vários enables.
 
elsif (clk'event and clk='1') then
 
...
 
s_next <= (others=>'0') when (s_reg=59 and s_en='1') else
 
            s_reg + 1    when s_en='1' else
 
            s_reg;
 
...
 
m_next <= (others=>'0') when (m_reg=59 and m_en='1') else
 
            m_reg + 1    when m_en='1' else
 
            m_reg;
 
</syntaxhighlight>
 
:*Contadores
 
::* Contador Gray
 
0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 0000 ...
 
::* Contador em Anel
 
0001 0010 0100 1000 0001 ...
 
::* Contador Binário
 
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 ...
 
::* Contador Decimal
 
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 ...
 
::* LFSR (''Linear Feedback Shift Register'') [https://en.wikipedia.org/wiki/Linear_feedback_shift_register]
 
0001 1000 0100 0010 1001 1100 0110 1011 0101 1010 1101 1110 1111 0111 0011 0001 ...
 
*Ver pag. 257 a 274 de <ref name="PONG2006a" />
 
*Ver também os slides [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture05-sequetial_circuit_design.pdf Lecture 05: Design of Sequential Circuits: Practice]
 
 
====ATUAL====
 
;Aula 15 (18 Abr) - Marcos:
 
* Eficiência de Circuitos Sequenciais
 
:* Modulação por largura de pulso (PWM)
 
::*Uso de um registrador de saída para evitar os erros devido a ''glitches''.
 
<center>
 
 
:[[Arquivo:RTL_pwm_v1.png| PWM sem buffer de saída| 600px]]
 
:[[Arquivo:ST_pwm_v1.png| PWM sem buffer de saída| 800 px]]
 
Figura 4.1 - PWM sem buffer de saída - tem ''gliches'' na saída.
 
 
:[[Arquivo:RTL_pwm_v2.png| PWM com buffer de saída| 600 px]]
 
:[[Arquivo:ST_pwm_v2.png| PWM com buffer de saída| 800 px]]
 
Figura 4.2 - PWM com buffer de saída - não tem ''gliches'' na saída.
 
</center>
 
:*Uso de registradores como armazenamento temporário - Vetor de registradores.
 
:*FIFO (''First In First Out'') baseada em vetor de registradores.
 
::* Circuito de controle de FIFO - sinais ''full'' (cheia) e ''empty'' (vazia)
 
::: Implementação com contador binário ampliado ou com FFs de estado.
 
::: Controle de FIFO com contadores não binários (Gray, LFSR, contador em anel)
 
*Ver pag. 275 a 293de <ref name="PONG2006a" />
 
*Ver também os slides [http://docente.ifsc.edu.br/arliones.hoeller/dlp2/slides/dlp29007-lecture05-sequetial_circuit_design.pdf Lecture 05: Design of Sequential Circuits: Practice]
 
 
;Aula 16 (18 Abr) - Marcos:
 
 
;Aula 17 (25 Abr) - Marcos:
 
* Eficiência de Circuitos Sequenciais
 
:* Uso de Pipeline
 
 
;Aula 18 (26 Abr) - Marcos:
 
* Eficiência de Circuitos Sequenciais
 
:* Exemplo de uso compartilhamento de operadores, funcionalidades e pipeline.  Projeto de ALU
 
::Ver pag. 127 a 129 de <ref name="PEDRONI2010b"> PEDRONI, Volnei A. '''Circuit Design and Simulation with VHDL'''; 2ª ed. Massachusetts-EUA:MIT, 2010. 608 p.  ISBN  9780262014335 </ref>
 
<center>
 
[[Arquivo:ALU_Pedroni.png | Unidade de Lógica e Aritmética |800 px]]
 
Figura 1 - Unidade de Lógica e Aritmética :: <ref name="PEDRONI2010b" />
 
</center>
 
* Considerando as funcionalidades da ALU mostrada acima e o código sugerido pelo autor mostrado abaixo:
 
:1) Para o circuito original determine o número de elementos lógicos, o atraso máximo e a máxima taxa de operação do sistema (fmax = 1/delay_max).
 
:2) Modifique o circuito de modo que o operador de soma e a subtraçao seja compartilhado utilizando um único somador
 
:3) Para o circuito modificado determine o número de elementos lógicos, o atraso máximo e a máxima taxa de operação do sistema (fmax = 1/delay_max).
 
:4) Utilize a técnica de "pipeline", inserindo registradores do fluxo de processamento para obter uma maior taxa de operação do sistema.
 
:5) Para o circuito modificado determine o número de elementos lógicos e máxima taxa de operação do sistema (fmax).
 
:DICA utilize o componente LPM_ADD_SUB da Altera variando a latencia do circuito.
 
<syntaxhighlight lang=vhdl>
 
LIBRARY ieee;
 
USE ieee.std_logic_1164.all;
 
USE ieee.numeric_std.all;
 
 
ENTITY alu IS
 
GENERIC (N: INTEGER := 8); --word bits
 
PORT (
 
a, b: IN STD_LOGIC_VECTOR(N-1 DOWNTO 0);
 
cin: IN STD_LOGIC;
 
opcode: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
 
y: OUT STD_LOGIC_VECTOR(N-1 DOWNTO 0));
 
END ENTITY;
 
 
ARCHITECTURE alu OF alu IS
 
SIGNAL a_sig, b_sig: SIGNED(N-1 DOWNTO 0);
 
SIGNAL y_sig: SIGNED(N-1 DOWNTO 0);
 
SIGNAL y_unsig: STD_LOGIC_VECTOR(N-1 DOWNTO 0);
 
SIGNAL small_int: INTEGER RANGE 0 TO 1;
 
 
BEGIN
 
------Logic unit:--------------
 
WITH opcode(2 DOWNTO 0) SELECT
 
y_unsig <= NOT a WHEN "000",
 
NOT b WHEN "001",
 
a AND b WHEN "010",
 
a OR b WHEN "011",
 
a NAND b WHEN "100",
 
a NOR b WHEN "101",
 
a XOR b WHEN "110",
 
a XNOR b WHEN OTHERS;
 
 
------Arithmetic unit:---------
 
a_sig <= SIGNED(a);
 
b_sig <= SIGNED(b);
 
small_int <= 1 WHEN cin='1' ELSE 0;
 
WITH opcode(2 DOWNTO 0) SELECT
 
y_sig <= a_sig WHEN "000",
 
b_sig WHEN "001",
 
a_sig + 1 WHEN "010",
 
b_sig + 1 WHEN "011",
 
a_sig - 1 WHEN "100",
 
b_sig - 1 WHEN "101",
 
a_sig + b_sig WHEN "110",
 
a_sig + b_sig + small_int WHEN OTHERS;
 
 
------Mux:---------------------
 
WITH opcode(3) SELECT
 
y <= y_unsig WHEN '0',
 
STD_LOGIC_VECTOR(y_sig) WHEN OTHERS;
 
 
END ARCHITECTURE;
 
</syntaxhighlight>
 
 
<!--
 
===Unidade 8===
 
;Aula ?? a ??+1 (14 e 19 Dez):
 
*[https://www.dropbox.com/s/wts1ai0ltlg27p9/DLP29007%20-%20Projeto%20Hierarquico%20Parametrizado%20v2.pdf?dl=0 Projeto Hierárquico e Parametrizado]
 
::Ver pag. 473 a 498 de <ref name="PONG2006a" />
 
 
-->
 
 
 
== Notas de aula ==
 
== Notas de aula ==
  
Linha 379: 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 392: Linha 58:
 
===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.
 
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)}}
Linha 530: Linha 196:
 
{{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 634: Linha 299:
  
 
= Links Auxiliares =
 
= Links Auxiliares =
*[[DLP2-EngTel (página) - 2016-2 (prof. Arliones e Marcos)]]
 
*[[DLP2-EngTel (página) - 2016-1 (prof. Arliones e Marcos)]]
 
*[[DLP2-EngTel (página) - 2015-2 (prof. Arliones e Marcos)]]
 
*[[DLP29007-2015-1 | DLP2-EngTel (página) - 2015-1 (prof. Arliones e Marcos)]]
 
 
*[https://cs.wmich.edu/gupta/teaching/cs5260/5260Sp15web/lectureNotes/thm14%20-%20parallel%20prefix%20from%20Ottman.pdf Parallel Prefix Computation]
 
*[https://cs.wmich.edu/gupta/teaching/cs5260/5260Sp15web/lectureNotes/thm14%20-%20parallel%20prefix%20from%20Ottman.pdf Parallel Prefix Computation]
 
*[https://www.youtube.com/watch?v=bFmTHLZ3DGs#t=469.057233 Getting Started with the TimeQuest Timing Analyzer] Altera
 
*[https://www.youtube.com/watch?v=bFmTHLZ3DGs#t=469.057233 Getting Started with the TimeQuest Timing Analyzer] Altera
Linha 644: Linha 305:
 
*[http://academic.csuohio.edu/chu_p/rtl/rtl_hardware.html Materiais auxiliares do livro do Pong Chu]
 
*[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://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