Mudanças entre as edições de "DLP2-EngTel (página) - 2016-1 (prof. Arliones e Marcos)"
Ir para navegação
Ir para pesquisar
Linha 213: | Linha 213: | ||
--> | --> | ||
− | + | ;PARA ENTREGAR: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<!-- | <!-- | ||
{{collapse top |expand=true | AE5 - Projeto Hierárquico Parametrizado com Register Transfer Methodology (prazo 26/07/2016)}} | {{collapse top |expand=true | AE5 - Projeto Hierárquico Parametrizado com Register Transfer Methodology (prazo 26/07/2016)}} | ||
Linha 260: | Linha 245: | ||
{{collapse bottom}} | {{collapse bottom}} | ||
--> | --> | ||
− | |||
;JÁ ENCERRADAS: | ;JÁ ENCERRADAS: | ||
Linha 367: | Linha 351: | ||
* 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 - AE3 - Máquinas de Estados. | * 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 - Máquinas de Estados. | ||
+ | {{collapse bottom}} | ||
+ | {{collapse top | AE4 - Projeto Hierárquico Parametrizado (prazo 26/07/2016)}} | ||
+ | * Formar equipes com 2 ou 3 alunos. Cada equipe deverá realizar todo o projeto descrito abaixo: | ||
+ | * Implementar a FIFO mostrada no capítulo 9 usando projeto hierárquico, definindo um componente para cada uma das áreas hachureadas nos diagramas mostrados nos slides 62, 63 e 64 de [https://www.dropbox.com/s/wts1ai0ltlg27p9/DLP29007%20-%20Projeto%20Hierarquico%20Parametrizado%20v2.pdf?dl=0 Projeto Hierárquico e Parametrizado] | ||
+ | :* '''Versão 1''': | ||
+ | ::*O projeto deverá ser genérico de modo que o tamanho da palavra de dados possa ser definida através do GENERIC MAP durante a instanciação do componente de top-level '''FIFO_DLP_IFSC'''. | ||
+ | ::*Os contadores dos ponteiros da FIFO devem ser do tipo binários crescentes, implementados com um bit adicional para detectar o estado de FIFO cheia ou vazia. | ||
+ | :* '''Versão 2''': | ||
+ | ::* O tamanho da palavra de dados deve ser obtidos a partir do sinal de entrada e saída da FIFO. | ||
+ | ::* Use parâmetros GENERIC junto com IF GENERATE para selecionar o tipo de contador a ser usado nos ponteiros da FIFO. Deve ser possível escolher entre contador binário crescente, binário decrescente, LFSR, Gray. No caso dos contadores binário e Gray deve ser usado o bit adicional no contador para determinar o estado de FIFO cheia ou vazia. No caso do LFSR é necessário usar FLAGs para indicar estes estados. | ||
+ | :* '''Versão 3''': (BONUS) | ||
+ | ::* Torne genérico também o tamanho da FIFO utilizando como base o decodificador da Listing 15.7 e o multiplexador da Listing 15.8. | ||
+ | * Escreva um relatório técnico contendo os resultados em 4 a 6 paginas A4. O relatório além das tabelas com os dados de frequência máxima, número de componente, número de pinos, deverá conter as figuras dos circuitos RTL para uma FIFO de 16 bits com 4 posições para dados, simulações funcionais e uma análise textual dos resultados obtidos. O arquivo com o QAR do projeto, e os arquivos .do do MODELSIM devem ser também enviados. | ||
+ | * 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 - AE4 - Projeto Hierárquico Parametrizado. | ||
{{collapse bottom}} | {{collapse bottom}} | ||
Edição atual tal como às 19h09min de 17 de agosto de 2016
Registro on-line das aulas
Unidade 1
- Aula 1 (22 Mar) - Arliones
Unidade 2
- Aula 2 (24 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; uso de don't care '-'
- Fluxo da síntese (RTL, mapeamento tecnológico (ASIC/FPGA)
- Ver pag. 125 a 149 de [1]
- Aula 3 (29 Mar) - Marcos
- Processo de Síntese do código VDHL: Analise das temporizações:
- 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 atrazo)
- Ver pag. 125 a 162 de [1]
- Ver também os slides Unidade 2: Processo de Síntese do código VDHL
Unidade 3
- Aula 4 (2 Abr SÁBADO) - 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]
- Aula 5 (5 Abr) - 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 [1]
- Ver também os slides Unidade 3: Eficiência de Circuitos Combinacionais
Unidade 4
- Aula 6 (7 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.
Modelo em VHDL de projeto síncrono |
---|
-- 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;
|
- Exemplo de FF D com enable;
- Exemplo de FF T;
- Exemplos de registrador de deslocamento;
- Exemplos de contadores;
- Ver pag. 213 a 239 de [1]
- Aula 7 (12 Abr) - 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 [1]
- Ver também os slides Unidade 4: Eficiência de Circuitos Sequenciais
- Aula 8 (19 Abr) - Marcos
- Eficiência de Circuitos Sequenciais
- Praticas deficientes de projeto e soluções:
- Mal uso do RESET assincrono => Use CLEAR sincrono;
--Em um contador de 0 a 9
r_next <= (others => '0') when r_reg = 9 else r_reg + 1;
- Mal uso de portas no CLOCK => Use o ENABLE do FF;
--Em um contador
r_next <= r_reg + 1 when ena = '1' else r_reg;
- 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) [1]
- Aula 9 (26 Abr) - Marcos
- ???
Unidade 5
- Aula 10 (3 Mai) - Arliones
- Laboratório: Processadores Embarcados (SoC) - Hardware
- Aula 11 (5 Mai) - Arliones
- Laboratório: Processadores Embarcados (SoC) - Software
- Aula 12 (10 Mai) - Arliones
- Laboratório: Processadores Embarcados (SoC) - Software e Hardware
- Aula 13 (17 Mai) - Arliones
- Laboratório: Processadores Embarcados (SoC) - SignalTap
Unidade 6
- Aula 14 (19 Mai) - Arliones
- Eficiência de Máquinas de Estados: Introdução
- Visão Geral
- Representação gráfica
- Timing e desempenho
- Máquinas Moore e Mealy
- Aula 15 (21 Mai - sábado) - Arliones
- Eficiência de Máquinas de Estados: Moore vs Mealy - SignalTap
- Análise de saídas Moore e Mealy na prática com SignalTap
- Aula 16 (24 Mai) - Arliones
- Eficiência de Máquinas de Estados: Codificação em VHDL
- Descrição VHDL de máquina de estados
- Técnicas de codificação em 4 e 2 segmentos
- Problemas comuns na codificação / exemplo de codificação errada em 1 segmento
- Aula 17 (31 Mai) - Arliones
- Eficiência de Máquinas de Estados: Otimizações e exemplos
- Atribuição de estados
- Buffer de saídas Moore
- Exemplos de máquinas de estados
- Aula 18 a 19 (2 a 7 Jun) - Arliones
Unidade 7
- Aula 20 a 23 (14 a 28 Jun)
- Register Transfer Methodology
Unidade 8
- Aula 24 a 27 (30 jun a 14 Jul)
- Ver pag. 473 a 498 de [1]
- Aula 28 (19 Jul)
- Integração NIOS + FIFO + UART
- Aula 29 (26 Jul)
- Projeto Final - Entrega documentação.
Atividades extra
Neste tópico serão listadas as atividades extras que os alunos da disciplina deverão realizar ao longo do curso. É importante observar o prazo de entrega, pois os conceitos serão reduzidos conforme o atraso na entrega. Para a entrega no prazo os conceitos possíveis são (A, B, C, D). Entrega com até uma semana de atraso (B, C, D). Entrega com até duas semanas de atraso (C ou D). Entrega com mais de duas semanas de atraso (D).
- PARA ENTREGAR
- JÁ ENCERRADAS
AE1 - Circuitos Combinacionais (prazo 26/04/2016) |
---|
set_max_delay -from [get_ports *] -to [get_ports *] tp
|
AE2 - Circuitos Sequencias (prazo 20/06/2016 08h00) |
---|
create_clock -name CLKXXXMHz -period XXXMHz [get_ports {nome_do_sinal_de_clock}]
|
AE3 - Máquinas de Estado (prazo 24/06/2016) |
---|
|
AE4 - Projeto Hierárquico Parametrizado (prazo 26/07/2016) |
---|
|
- ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO
AL1 - Tempo de propagação em circuitos combinacionais |
---|
Referências Bibliográficas:
- ↑ 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7 Pong P. Chu, RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability. Wiley-IEEE Press, Hoboken, 2006, ISBN 0471720925
- ↑ 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