Mudanças entre as edições de "DLP2-EngTel (página)"
Linha 146: | Linha 146: | ||
;PARA ENTREGAR: | ;PARA ENTREGAR: | ||
− | + | {{collapse top | AE1 - Circuitos Combinacionais (prazo 19/04/2016)}} | |
− | + | *Comparar o hardware necessário para implementar os circuitos abaixo utilizando as seguintes famílias de FPGA [CYCLONE & STRATIX II & MAX 3000]. Utilize sempre o menor '''Device''' de cada família, que possua os elementos e pinos suficientes para o circuito proposto. | |
− | |||
− | {{collapse top | AE1 - Circuitos Combinacionais (prazo | ||
− | *Comparar o hardware necessário para implementar os circuitos abaixo utilizando as seguintes famílias de FPGA [CYCLONE | ||
*Faça a compilação de cada circuito utilizando as otimizações [Balanceada | Speed | Area] | *Faça a compilação de cada circuito utilizando as otimizações [Balanceada | Speed | Area] | ||
− | *Teste cada uma das arquiteturas e anote em uma tabela todos os resultados de: Elementos Lógicos/ALUT ( | + | *Teste cada uma das arquiteturas e anote em uma tabela todos os resultados de: Elementos Lógicos/ALUT (indicando os Normais | Aritméticos), Atraso de Propagação, Potência total, Caminho Crítico. |
:* Os dados acima estão disponíveis nos seguintes relatórios: ('''Fitter > Resource Section > Resource Usage'''), ('''PowerPlay Pawer Analyser Summary > Summary'''), ('''TimeQuest Timing Analyser > Datasheet Report > Propagation Delay''') | :* Os dados acima estão disponíveis nos seguintes relatórios: ('''Fitter > Resource Section > Resource Usage'''), ('''PowerPlay Pawer Analyser Summary > Summary'''), ('''TimeQuest Timing Analyser > Datasheet Report > Propagation Delay''') | ||
− | * Formem equipes com '1' ou 2 alunos. Cada deverá trabalhar com um dos temas de 1 a | + | * Formem equipes com '1' ou 2 alunos. Cada equipe deverá trabalhar com um dos temas de 1 a 4 e também todos devem trabalhar os temas 5. |
− | :'''TEMA 1''' - Implementar os circuitos somadores-subtratores (Listing 7.1, 7.2 e 7.3), tornando o código genérico para N bits. Testar com 16 bits de entrada para a e b. ( | + | :'''TEMA 1''' - Implementar os circuitos somadores-subtratores (Listing 7.1, 7.2 e 7.3), tornando o código genérico para N bits. Testar com 4, 8 e 16 bits de entrada para a e b. (...) |
− | :'''TEMA 2''' - Implementar os circuitos comparadores dual-mode (Listing 7.4, 7.5), tornando o código genérico para N bits. Testar com 16 bits de entrada para a e b. ( | + | :'''TEMA 2''' - Implementar os circuitos comparadores dual-mode (Listing 7.4, 7.5), tornando o código genérico para N bits. Testar com 4, 8 e 16 bits de entrada para a e b. (...) |
− | :'''TEMA 3''' - Implementar os circuitos comparadores completos (Listing 7.10, 7.11, 7.12), tornando o código genérico para N bits. Testar com 16 bits de entrada para a e b. ( | + | :'''TEMA 3''' - Implementar os circuitos comparadores completos (Listing 7.10, 7.11, 7.12), tornando o código genérico para N bits. Testar com 4, 8 e 16 bits de entrada para a e b. (...) |
− | : '''TEMA 4''' - Implementar o circuito | + | :'''TEMA 4''' - Implementar o circuito para cálculo da distância de Hamming (Listing 7.36, 7.37). |
− | : '''TEMA 5''' - Implementar o circuito | + | :'''TEMA 5''' - Implementar o circuito multiplicador baseado em somas e também um multiplicador baseado no operador de multiplicação do VHDL (Listing 7.34, 7.35). |
− | * Escreva um relatório na forma de artigo com 4 a 6 paginas A4. O relatório além das tabelas com os dados, deverá conter as figuras dos circuitos RTL obtidos e uma análise dos resultados obtidos. | + | * Escreva um relatório técnico na forma de artigo com 4 a 6 paginas A4. O relatório além das tabelas com os dados, deverá conter as figuras dos circuitos RTL obtidos e uma análise textual dos resultados obtidos. Sempre verifique se o hardware obtido corresponde ao esperado. |
* 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 - AE1 - 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 - AE1 - Projeto de Circuitos Combinacionais. | ||
{{collapse bottom}} | {{collapse bottom}} | ||
+ | ;JÁ ENCERRADAS: | ||
+ | <!-- | ||
{{collapse top | AE2 - Circuitos Sequenciais (prazo 26/11/2015)}} | {{collapse top | AE2 - Circuitos Sequenciais (prazo 26/11/2015)}} | ||
{{collapse bottom}} | {{collapse bottom}} | ||
Linha 171: | Linha 170: | ||
{{collapse top | AE3 - Máquinas de estados (prazo 22/12/2015)}} | {{collapse top | AE3 - Máquinas de estados (prazo 22/12/2015)}} | ||
*Comparar o hardware necessário para implementar os circuitos abaixo utilizando as seguintes famílias de FPGA ou CLP [CYCLONE | STRATIX II | MAX 3000]. Utilize sempre o menor Device de cada familia que possua os elementos e pinos suficientes para o circuito proposto. | *Comparar o hardware necessário para implementar os circuitos abaixo utilizando as seguintes famílias de FPGA ou CLP [CYCLONE | STRATIX II | MAX 3000]. Utilize sempre o menor Device de cada familia que possua os elementos e pinos suficientes para o circuito proposto. | ||
− | *Faça a compilação de cada circuito utilizando | + | *Faça a compilação de cada circuito utilizando diferentes otimizações. |
+ | :*'''Assignments > Settings > Analysis & Synthesis Settings''' > Optimization Technique | ||
+ | ::[ ] Balanceada | [ ] Speed | [ ] Area | ||
*Teste cada uma das arquiteturas e anote em uma tabela todos os resultados de: Elementos Lógicos/ALUT (separando em Normais | Aritméticos), Frequência Máxima, Potencia total. | *Teste cada uma das arquiteturas e anote em uma tabela todos os resultados de: Elementos Lógicos/ALUT (separando em Normais | Aritméticos), Frequência Máxima, Potencia total. | ||
:* Os dados acima estão disponíveis nos seguintes relatórios: ('''Fitter > Resource Section > Resource Usage'''), ('''PowerPlay Pawer Analyser Summary > Summary'''), ('''TimeQuest Timing Analyser > Slow 1200mV 85C Model > Fmax Summary > Fmax''') | :* Os dados acima estão disponíveis nos seguintes relatórios: ('''Fitter > Resource Section > Resource Usage'''), ('''PowerPlay Pawer Analyser Summary > Summary'''), ('''TimeQuest Timing Analyser > Slow 1200mV 85C Model > Fmax Summary > Fmax''') |
Edição das 12h59min de 8 de abril de 2016
Dispositivos Lógicos Programáveis II
- Professores: Arliones Hoeller e Marcos Moecke
- Plano de Ensino
- Cronograma
- Horário das aulas e atendimento paralelo
Material de aula
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 (1 Abr) - 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 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]
- Ver também os slides Unidade 4: Eficiência de Circuitos Sequenciais
Notas de aula
Estas notas de aula são baseadas nas dispobilizadas pelo Prof. Pong P. Chu em [1].
- Lecture 01: Complexity Mangement and the Design of Complex Digital Systems
- Lecture 02: Synthesis of VHDL Code
- Lecture 03: Efficient Design of Combinational Circuits
- Lecture 04: Efficient Design of Sequential Circuits
- Lecture 05: Design of Sequential Circuits: Practice
- Lecture 06: Finite State Machines: Principle and Practice
- Lecture 07: Register Transfer Methodology: Principle
- Lecture 08: Register Transfer Methodology: Practice
- Configuração e uso do Signal Tap
- Lecture 09: Hierarchical Design
- Lecture 10: Parameterized Design: Principle
- Lecture 11: Parameterized Design: Practice
- Lecture 12: Clock and Synchronization: Principle and Practice
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
AE1 - Circuitos Combinacionais (prazo 19/04/2016) |
---|
|
- JÁ ENCERRADAS
- ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO
AL1 - Tempo de propagação em circuitos combinacionais |
---|
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.
Referências Bibliográficas:
- ↑ 1,0 1,1 1,2 1,3 1,4 1,5 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
Conteúdo
Gerenciamento de Complexidade e Visão Geral de Sistemas Digitais Complexos |
---|
Gerenciamento de Complexidade e Visão Geral de Sistemas Digitais Complexos
|
Síntese de Código VHDL |
---|
Síntese de Código VHDL
|
Eficiência de Circuitos Combinacionais |
---|
Eficiência de Circuitos Combinacionais
|
Eficiência de Circuitos Sequenciais |
---|
Eficiência de Circuitos Sequenciais
|
Eficiência de Máquinas de Estado |
---|
Eficiência de Máquinas de Estado
|
Register Transfer Methodology |
---|
Register Transfer Methodology
|
Projeto Hierárquico e Parametrizado |
---|
Projeto Hierárquico e Parametrizado
|
Clock e Sincronização |
---|
Clock e Sincronização
|
Laboratórios
Laboratório: Processadores Embarcados (SoC) |
---|
Roteiro BásicoNesta aula nós seguiremos um tutorial da Altera para construir um System-on-a-Chip (SoC), sintetizando um processador softcore NIOS em uma FPGA e carregando um software nele. Nas próximas aulas nós integraremos nossa própria lógica neste processador. Esta arquitetura de sistema deverá ser empregada em todos os trabalhos ao longo do semestre. A figura abaixo dá uma visão geral do que iremos implementar:
Você precisará destes documentos para desenvolver este tutorial:
Recomenda-se seguir este roteiro:
Se o Eclipse SBT do Nios II não inicializar em um sistema Ubuntu 14.04 ou mais recente, você precisa instalar a libGTK2: sudo apt-get install libgtk2.0-0:i386 Modificações PropostasModificar o projeto da aula passada para:
|