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

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 338: Linha 338:
 
*[[DLP29006-Engtelecom(2015-1) - Prof. Marcos Moecke]]
 
*[[DLP29006-Engtelecom(2015-1) - Prof. Marcos Moecke]]
 
*[[DLP29006-Engtelecom(2015-2) - Prof. Marcos Moecke]]
 
*[[DLP29006-Engtelecom(2015-2) - Prof. Marcos Moecke]]
 +
*[[DLP29006-Engtelecom(2016-1) - Prof. Marcos Moecke]]
 
<!--
 
<!--
 
*PS2 Interface
 
*PS2 Interface

Edição das 00h26min de 11 de agosto de 2016

MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES


UNIDADE 8

  • Projeto Final - Ver AE3 - Projeto Final de Hardware

Avaliações

  • Avaliação A1 - Unidade 2 a 4 (30/05/2016) - Local: Lab Programação.
  • Avaliação A2 (parte 1) - Unidade 5 e 6 (04/07/2016) - Local: Lab Programação.
As avaliações A1 e A2(parte 1) são com consulta a todo tipo de material impresso ou digital. O aluno tem 5 minutos para preparar o computador depois disso a rede será desconectada.
  • Avaliação A2 (parte 2) - Unidade 6 (20/07/2016) - Local: Lab Programação.
A avaliação A2(parte 2) é com consulta apenas as folhas VHDL QUICK REFERENCE CARD e VHDL 1164 PACKAGES QUICK REFERENCE CARD.
  • Recuperação R1-2 - Unidade 2 a 6 (25/07/2016) - Local: Lab Programação.
Ao final das avaliações o aluno deverá enviar para o email moecke AT ifsc.edu.br com os arquivos solicitados.
  • Entrega dos diversos trabalhos ao longo do semestre AE1 a AE(N-1).
  • Projeto Final AE(N). Tem peso equivalente a duas avaliações.

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 - Temas relacionados aos FPGAs (Prazo de entrega do Resumo (500 caracteres/ 1 pagina): 22 Abril 2016, Prazo de entrega do Relatório: 9 Maio 2016)
  • Formar equipes com 2 ou 3 alunos, e em conjunto façam uma pesquisa sobre um dos temas abaixo, relacionados aos DLPs.
TEMA 1 - Arquitetura FPGAs e CPLDs da ALTERA (Maria, Helen André)
TEMA 2 - Aplicações de FPGA (Katharine, Kristhine, Leticia)
TEMA 3 - Aplicações em Avionic (Lucas, Gabriel, Thiago)
TEMA 4 - Aplicações na Área Espacial (Fabiano, Marcos, Iago).
TEMA 5 - Arquitetura FPGAs e CPLDs da XILINK (Gustavo, Tamara, Anderson).
INSPIRAÇÃO para temas:
  • Escrever um relatório na forma de artigo com 4 a 6 paginas A4.
  • 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.
  • Envie o artigo em pdf para (moecke AT ifsc.edu.br), com o ASSUNTO: DLP29006 - AE1 - Temas relacionados aos FPGAs.
  • O artigo deve ser completo, incluindo todas as referências utilizadas.
  • Dê um título coerente ao artigo. Seja criativo...
  • Veja alguns artigos de semestres anteriores em: ARTIGOS DE SEMESTRES ANTERIORES
AE2 - Operações Aritméticas Básicas em VHDL (Prazo de entrega: 2 Maio 2016)
  • Formar equipes com 2 ou 3 alunos.
  • Escreva um código VHDL para cada uma das operações matemáticas indicadas abaixo. Para facilitar os testes, utilize como base o seguinte código, no qual é realizada o cálculo da multiplicação de números UNSIGNED de N=4 bits:
LIBRARY ieee;
USE ieee.numeric_std.all;
----------------------------------------
ENTITY calcular IS
GENERIC (N: NATURAL := 4);
PORT (
	a, b: IN UNSIGNED(N-1 DOWNTO 0);  -- N bits
	y: OUT UNSIGNED(2*N-1 DOWNTO 0));  -- 2N bits
END ENTITY;
----------------------------------------
ARCHITECTURE arch_op OF calcular IS
BEGIN
	y <= a * b;
END ARCHITECTURE;
----------------------------------------

Outras operações matemáticas: y <= a + b; -- se entrada tem N bits saída deve ter N bits. y <= a - b; -- se entrada tem N bits saída deve ter N bits. y <= a * b; -- se entrada tem N bits saída deve ter 2*N bits. y <= a / b; -- se entrada tem N bits saída deve ter N bits. </syntaxhighlight>

  • Para as operações de soma (a+b) e de multiplicação (a*b) com entradas SIGNED de 8 bits compare o hardware necessário para implementar os circuitos 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.
  • Para as 4 operações compilar cada circuito utilizando N = 8, 16 e 32, e utilizando os sinais de entrada e saída do tipo SIGNED e depois também com o tipo UNSIGNED, utilizando a família de FPGA = CYCLONE.
  • Teste cada um dos circuitos 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), multiplicadores usados, maior atraso de propagação, e caminho crítico.
Esses dados estão disponíveis nos seguintes relatórios: (Fitter > Resource Section > Resource Usage), (TimeQuest Timing Analyser > Datasheet Report > Propagation Delay)
  • 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, as figuras dos circuitos RTL com entrada de 8 bits (4 figuras), simulações funcionais com entrada de 8 bits (4 figuras) e uma análise textual dos resultados obtidos. Os QAR dos projetos para SIGNED e para UNSIGNED também devem ser enviados (2 arquivos).
  • 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.
  • Envie o artigo em pdf para (moecke AT ifsc.edu.br), com o ASSUNTO: DLP29006 - AE2 - Operações Aritméticas Básicas em VHDL.
AE3 - Projeto Final de Hardware (prazo final 20/07/2016)
  • Deverá ser realizado um projeto em hardware em equipes de 2 ou 3 alunos, sendo o tema de cada projeto de livre escolha da equipe.
EQUIPES PARA O PROJETO FINAL.

EQ1 - Lucas, Gabriel EQ2 - Maria, Helen e André EQ3 - Leticia, Katharine, Kristhine EQ4 - Gustavo, Tamara EQ5 - Fabiano, Marcos, Iago EQ6 - Anderson, Tiago / Fabiano

EQ1, EQ2 - Leitor de Teclado ASCII com Debouncer; Display SSD ASCII
EQ3, EQ4 - Serializador e Deserializador Assincrono
EQ5, EQ6 - Codificador de linha e Decodificador decodificador (CMI, Manchester Diferencial, (duas entre Manchester, RZ, 5B/6B, NRZI, etc)
  • Cada projeto deverá ser implementado utilizando um kit DE2-115 ou Mercúrio IV.
  • Os projetos deverão ser divididos em componentes. No nível hierárquico de nível 0 (top level) será permitida apenas a instanciação de componentes.
Lembre-se que as chaves push-bottom produzem repiques - Dicas de como eliminar o repique das chaves mecânicas
  • As equipes deverão trabalhar de forma que o projeto todo possa ser integrado ao final do cronograma conforme mostrado na figura abaixo:
Projeto Final da Disciplina
  • No mínimo os pares indicados EQ1-EQ2, EQ3-EQ4, EQ5-EQ6 deverão ser integrados.
  • Prazos:
  • Definição da TOP ENTITY de cada subprojeto e integração dos componentes dos pares e projeto (29/Jun)
  • Desenvolvimento dos subprojetos e simulação.
  • Teste na placa
  • Integração pares (18/Jul)
  • Integração projeto (21/Jul)
  • Entrega da Documentação Final (25/Jul)
  • Apresentação das Equipes (27/Jul)
  • Os projetos/alunos serão analisados em 5 quesitos:
1 - Implementação do projeto, atendimento as especificações e requisitos do sistema.
2 - Documentação do projeto e especificações iniciais.
3 - Avaliação do aluno durante o desenvolvimento do projeto.
4 - Integração do projeto com as outras equipes.
5 - Apresentação do projeto para a turma (15 minutos por equipe)
No desenvolvimento buscar descrever: as especificação do Sistema, a descrição do Sistema, a Interface do Usuário, a Descrição dos Hardware
Nos resultados descrever: as simulações feitas usando MODELSIM, os resultados práticos, as medições feitas, os problemas encontrados resolvidos ou não.
  • Envie o artigo em pdf para (moecke AT ifsc.edu.br), com o ASSUNTO: DLP29006 - AE3 - Projeto Final.


ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO

Os exemplos e exercícios essenciais estão destacados em negrito na listagens abaixo.

EL1 - Resolução dos exercícios do Cap 2
  • Resolva os exercícios do capítulo 2 (1, 2, 3) pag. 28 a 30
Exercise 2.1
Multiplexer:
  • Complete o código VHDL abaixo para que ele seja correspondente a um multiplexador que selecione a entrada A quando sel ="01", B quando sel ="10", coloque "0...0" na saída quando sel ="00" e mantenha a saída em alta impedância "Z...Z" quando sel="11".
  • Compile o código e em seguida faça a simulação, para verificar se o circuito funciona conforme

especificado.

  • Anote as mensagens de warning do compilador.
---------------------------------------
-- File: mux.vdh
---------------------------------------
-- Declaração das Bibliotecas e Pacotes 
--
LIBRARY ieee;
USE _________________________ ;

---------------------------------------
-- Especificação das entradas e saídas e nome da ENTITY
ENTITY mux IS
  PORT ( 
   __ , __ : ___ STD_LOGIC_VECTOR (7 DOWNTO 0);
   sel : IN ____________________________ ;
   ___ : OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END _____ ;
---------------------------------------
ARCHITECTURE example OF _____ IS
BEGIN
  PROCESS (a, b, ____ )
  BEGIN
    IF (sel = "00") THEN
      c <= "00000000";
    ELSIF (__________) THEN
      c <= a;
    _____ (sel = "10") THEN
      c <= __;
    ELSE
      c <= (OTHERS => '__');
    END ___ ;
  END _________ ;
END _________ ;
---------------------------------------
EL2 - Resolução dos exercícios do Cap 3
  • Resolva os exercícios do capítulo 3 (1, 2, 9, 11, 12, 13, 14-17, 18, 20, 22, 23-30) pag. 81 a 89
EL3 - Conversor de Binário para BCD
  • Considere um número decimal entre 0000 e 9999. Usando operadores predefinidos, obtenha na saída os digitos decimais separados.
  • Escreva o código VHDL e analise o número de elementos lógicos necessários.
  • Faça a simulação funcional do circuito.
Tb bin2bcd.jpg
Fig. 20 - Simulação da conversão de binário para BCD
  • Compare sua implementação com os outros estudantes e analise as diferenças, observe o código RTL, o número de elementos lógicos e também o tempo de propagação.
Para separar os dígitos decimais do número de entrada pense nos operadores de "+", "-", "*", "/", "REM" e "MOD".
Para facilitar os testes e a troca de informações entre as equipes, a ENTITY deverá ter o seguinte formato:
entity bin2bcd is
	port (
		X_bin	        : in std_logic_vector(13 downto 0);   --  0000 a 9999
		M_bcd		: out std_logic_vector(3 downto 0);  --  Milhar
		C_bcd		: out std_logic_vector(3 downto 0);  --  Centena
		D_bcd		: out std_logic_vector(3 downto 0);  --  Dezena
		U_bcd		: out std_logic_vector(3 downto 0)); --  Unidade

end entity;

architecture example of bin2bcd is
--declaração de sinais auxiliares

begin
--descrição do hardware

end architecture;
Note que com X_bin 14 bits é possível representar números sem sinal entre 0 e . No entanto, os testes devem ser limitados a números entre 0000 e 9990, pois não há especificação para valores maiores que 9999.
Existe um algoritmo Double Dabble que possibilita fazer essa conversão com menos hardware.
Dica para converter de INTEGER para STD_LOGIC_VECTOR de 4 bits.
M_bcd <= std_logic_vector(to_unsigned(M,4));
EL4 - Resolução dos exercícios do Cap 4
  • Resolva os exercícios do capítulo 4 (4-8, 9, 10-11, 13, 15-16, 17 ) pag. 115 a 120
EL5 - Resolução dos exercícios do Cap 5
  • Resolva os exercícios do capítulo 5 (1, 2, 3, 4, 6, 7, 8-9, 10-11, 14-16, 17-18, 19 ) pag. 144 a 150
EL6 - Resolução dos exercícios do Cap 6
  • Resolva os exercícios do capítulo 6 (1, 2, 3-4, 5, 6-7, 9*, 10-11, 12*, 13*, 14, 15) pag. 172 a 176.
EL7 - Resolução dos exercícios do Cap 8 e 9
  • Resolva os exercícios da capítulo 8 (1-7, 9*) pag. 219 a 220.
  • Resolva os exercícios da capítulo 9 (1-3, 6-9) pag. 238 a 239.

ARTIGOS ENTREGUES

2016-1
2015-2
2015-1

Recursos de Laboratório

Quartus/Modelsim/QSIM

Nos laboratórios do IFSC, os softwares Quartus/Modelsim/QSIM estão disponíveis diretamente na plataforma LINUX. Utilize preferencialmente a versão 13.0sp1 (32 bits), pois ela tem suporte para os FPGAs mais antigos como a familia Cyclone I.

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).

Sharelatex

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.


Links auxiliares

Livros/Resumos sobre VHDL

Packages não padronizados

Simulador Modelsim

Fabricantes de DLPs

Fabricantes de kits com DLPS

Leituras recomendadas


Padrões IEEE para o VDHL

Os padrões IEEE [3]estão disponíveis para consulta se você estiver na rede do IFSC. Para a linguagem VHDL consulte os padrões: 1164,1076

Packages da IEEE

Referências Bibliográficas:



Curso de Engenharia de Telecomunicações