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
 
(157 revisões intermediárias por 8 usuários não estão sendo mostradas)
Linha 2: Linha 2:
 
*Link curto http://bit.ly/IFSC-DLP29006
 
*Link curto http://bit.ly/IFSC-DLP29006
 
*[[DLP1-EngTel|Carga horária, Ementas, Bibliografia, Professores]]
 
*[[DLP1-EngTel|Carga horária, Ementas, Bibliografia, Professores]]
*[[Cronograma de atividades (DLP1-EngTel) | Cronograma de atividades ]]
 
 
*[[DLP1-EngTel (Plano de Ensino) | Plano de Ensino]]
 
*[[DLP1-EngTel (Plano de Ensino) | Plano de Ensino]]
 +
== Avisos importantes==
 +
*A documentação das aulas será disponibilizada na página da [[DLP29006-Engtelecom (Diário) - Prof. Marcos Moecke | '''Wiki diária da disciplina'''.]].
  
==UNIDADE 8==
+
* Nesta página wiki, você tem orientações para uso de ferramentas e também links que auxiliam no estudo da disciplina.  Visite os links sempre que solicitado e lei essa página para lembrar futuramente onde estão as informações que necessita.
<!--; Aula 31 (20 Jun):-->
 
*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 [[Media:VHDL_QRC-Qualis.pdf | VHDL QUICK REFERENCE CARD]] e [[Media:VHDL1164_QRC-Qualis.pdf | 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. </small>
 
*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====
 
{{collapse top | 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:
 
:*https://www.altera.com/products/fpga/new-to-fpgas/resource-center/overview.html
 
:*http://www.extremetech.com/extreme/184828-intel-unveils-new-xeon-chip-with-integrated-fpga-touts-20x-performance-boost
 
:*http://www.xilinx.com/training/fpga/fpga-field-programmable-gate-array.htm
 
:*http://www.springer.com/cda/content/document/cda_downloaddocument/9781461435938-c2.pdf
 
:*Architecture of FPGAs (Xilinx, Altera, Atmel, Lattice, etc). [http://www.eecg.toronto.edu/~jayar/pubs/brown/survey.pdf], [http://isl.stanford.edu/groups/elgamal/abbas_publications/J029.pdf]
 
 
 
* 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  [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>), 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: [[DLP1-EngTel (página)#ARTIGOS DE SEMESTRES ANTERIORES | ARTIGOS DE SEMESTRES ANTERIORES]]
 
{{collapse bottom}}
 
 
 
{{collapse top | 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:
 
<syntaxhighlight lang=vhdl>
 
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;
 
----------------------------------------
 
</syntaxhighlight>
 
Outras operações matemáticas:
 
<code>
 
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  [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>), com o ASSUNTO: DLP29006 - AE2 -  Operações Aritméticas Básicas em VHDL.
 
{{collapse bottom}}
 
 
 
{{collapse top | 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:
 
<center>[[Arquivo:ProjetoDLP1_2016_1.png | Projeto Final da Disciplina | 800 px]]</center>
 
*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)
 
 
 
* 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].  Veja também o [[Modelo para uso em relatórios]].
 
* O relatório técnico deverá:
 
: 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 (<tt>moecke AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29006 - AE3 - Projeto Final.
 
{{collapse bottom}}
 
 
 
 
<!--
 
<!--
{{collapse top | AE3 -  Unidade Aritmética em VHDL (Prazo de entrega: 20 Maio 2016)}}
+
==Instalação da VM com Quartus e Modelsim em seu computador==
* Formar equipes com 2 ou 3 alunos.
 
* Escreva um código VHDL que implemente uma unidade aritmética que realize as operações indicadas na tabela abaixo.
 
{| class="wikitable"  border="1" cellpadding="3" cellspacing="0" style="text-align:right; font-size:100%" bgcolor="#efefef"
 
! scope="col" width=25% align="right"| operação
 
! scope="col" width=25% align="right"| tipo dado
 
! scope="col" width=25% align="right"| OPCODE
 
|-
 
|    +a ||      -  || 0000
 
|-
 
|    -a ||  SIGNED || 0001
 
|-
 
| a + 1 || UNSIGNED || 0010
 
|-
 
| a + 1 ||  SIGNED || 0011
 
|-
 
| a - 1 || UNSIGNED || 0100
 
|-
 
| a - 1 ||  SIGNED || 0101
 
|-
 
| a + b || UNSIGNED || 0110
 
|-
 
| a + b ||  SIGNED || 0111
 
|-
 
| MSB(a * b) || UNSIGNED || 1000
 
|-
 
| MSB(a * b) ||  SIGNED || 1001
 
|-
 
| LSB(a * b) || UNSIGNED || 1010
 
|-
 
| LSB(a * b) ||  SIGNED || 1011
 
|-
 
| a / b || UNSIGNED || 1100
 
|-
 
| a / b ||  SIGNED || 1101
 
|-
 
| a REM b || UNSIGNED || 1110
 
|-
 
| a REM b ||  SIGNED || 1111
 
|}
 
:* O número de bits das entradas é N e da saída é N+1.
 
:* Para operações de soma, incremento e decremento, o bit adicional deve ser usado para evitar o ''overflow'' e ''underflow''.
 
:* Nas operações de multiplicação utilize na saída os N+1 bits mais significativos (MSB) ou N+1 menos significativos LSB do resultado da operação.
 
* Implemente o circuito utilizando a família de FPGA CYCLONE II. Utilize o menor '''Device''' que possua os elementos e pinos suficientes para o circuito proposto.
 
* Realize a simulação funcional do circuito para 4 bits de pelo menos 2 operações com tipos SIGNED e 2 UNSIGNED e confira se essas operações estão corretas.
 
* Para N = 4, 8, 16 e 32 anote em uma tabela todos os resultados de: número de pinos, número de elementos lógicos (indicando os Normais | Aritméticos), multiplicadores usados, maior atraso de propagação, e caminho crítico.
 
 
 
* 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.  Envie o QAR do projeto.
 
* Envie o artigo em pdf para (<tt>moecke AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29006 - AE3 -  Unidade Aritmética em VHDL.
 
{{collapse bottom}}
 
  
 +
Para importar a VM para o seu computador e configurar ela para acessar a licença do IFSC veja a página [[Teste de VM para uso pelos alunos no ensino remoto#VM Quartus e Modelsim | Instalação da VM com Quartus e Modelsim]]
 
-->
 
-->
 
<!--
 
<!--
{{collapse top | expand=true| AE1 - XXXX (prazo XX/XX/2016)}}
+
==Instalar o Quartus II e Modelsim em seu computador==
{{collapse bottom}}
+
A princípio não será necessário que vocês instalem o Quartus II diretamente em suas maquinas, pois podem utilizar a nuvem do IFSC ou então instalar a VM acima.  Mesmo assim se alguém preferir instalar o Quartus recomendo que instalem a versão Quartus II Web Edition.
-->
 
  
====ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO====
+
Apesar de existirem versões mais novas usem a versão mais leve 13.1. (https://fpgasoftware.intel.com/13.1/?edition=web).  Será necessário apenas baixar e instalar os seguintes arquivos:
Os exemplos e exercícios essenciais estão destacados em negrito na listagens abaixo.
+
* Quartus II Software (includes Nios II EDS)  Size: 1.5 GB MD5: 672AD34728F7173AC8AECFB2C7A10484
{{collapse top | EL1 - Resolução dos exercícios do Cap 2}}
+
* ModelSim-Altera Edition (includes Starter Edition) Size: 817.7 MB MD5: 45FEA341405603F5CF5CD1249BF90976
*Resolva os exercícios do capítulo 2 (1, 2, 3) pag. 28 a 30
+
* Cyclone III, Cyclone IV device support (includes all variations) Size: 548.4 MB MD5: 79AB3CEBD5C1E64852970277FF1F2716
;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".
+
* '''Esse vídeo aqui explica os passos do download [https://www.youtube.com/watch?v=4GgZ850h9Lg&feature=youtu.be&t=58 Download e instalação do Quartus Web Edition]
::*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.
 
  
<syntaxhighlight lang=vhdl>
+
==Recursos de Laboratório==
---------------------------------------
+
Nos laboratórios do IFSC, os softwares '''Quartus''' e '''Modelsim''' estão disponíveis diretamente na plataforma LINUX.  O laboratório também dispõe de diversos kits FPGA que podem ser programados para testar os sistemas implementados.
-- File: mux.vdh
 
---------------------------------------
 
-- Declaração das Bibliotecas e Pacotes
 
--
 
LIBRARY ieee;
 
USE _________________________ ;
 
  
---------------------------------------
+
==Acesso a Nuvem do IFSC==
-- Especificação das entradas e saídas e nome da ENTITY
+
Para uso fora do IFSC dos recursos computacionais com licença educacional, o IFSC disponibiliza para seus alunos o IFSC-CLOUD (nuvem.sj.ifsc.edu.br).  A forma mais eficiente de acesso a nuvem de fora do IFSC é através do Cliente X2GO, mas dentro da rede do IFSC o acesso pelo ssh também tem boa usabilidade.  Veja detalhes em [[Acesso ao IFSC-CLOUD (NUVEM)]].
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 _________ ;
 
---------------------------------------
 
</syntaxhighlight>
 
{{collapse bottom}}
 
  
{{collapse top | EL2 - Resolução dos exercícios do Cap 3}}
+
Para para utilizar o Quartus/Modelsim/QSIM através da Nuvem do IFSC, siga o procedimento de  '''[[Acesso_ao_IFSC-CLOUD_(NUVEM)#Procedimento_para_uso_da_nuvem.sj.ifsc.edu.br | configuração do X2Go]]''''''Nota:''' O desempenho do Modelsim pode ficar ruim quando acesso da rede externa ao IFSC.
*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
 
{{collapse bottom}}
 
  
{{collapse top | 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.
 
<center> [[Arquivo:tb_bin2bcd.jpg]]<br> '''Fig. 20 - Simulação da conversão de binário para BCD''' </center>
 
:*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:
 
<syntaxhighlight lang=vhdl>
 
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;
 
</syntaxhighlight>
 
:: Note que com ''X_bin'' 14 bits é possível representar números sem sinal entre ''0'' e <math> 2^{14}-1 </math>.  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 [https://en.wikipedia.org/wiki/Double_dabble 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));
 
{{collapse bottom}}
 
 
{{collapse top | 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
 
{{collapse bottom}}
 
 
{{collapse top | 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
 
{{collapse bottom}}
 
 
{{collapse top | 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.
 
{{collapse bottom}}
 
 
{{collapse top | 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.
 
{{collapse bottom}}
 
 
====ARTIGOS ENTREGUES====
 
;2016-1:
 
*[[Media:DLP29006-AE1-Tema1-2016-1.pdf | Arquitetura FPGAs e CPLDs da ALTERA]] (André Felippe Weber, Helenluciany Cechinel, Maria Luiza Theisges)
 
*[[Media:DLP29006-AE1-Tema2-2016-1.pdf | Aplicações de FPGA em Robótica]] (Letícia Aparecida Coelho, Katharine Schaeffer Fertig, Kristhine Schaeffer Fertig)
 
*[[Media:DLP29006-AE1-Tema3-2016-1.pdf | FPGA aplicado a aviônica: Problemas e soluções]] (Gabriel Cantu, Lucas Lucindo, Thiago Grisolfi)
 
*[[Media:DLP29006-AE1-Tema4-2016-1.pdf | Aplicações na Área Espacial]] (Marcos Vinicios Pinho, Fabiano Kraeamer, Iago Soares)
 
*[[Media:DLP29006-AE1-Tema5-2016-1.pdf | Arquitetura FPGAs e CPLDs da XILINK]] (Anderson Demetrio, Gustavo Constante, Tamara Arrigoni)
 
;2015-2:
 
*[[Media:DLP29006-AE1-Tema1-2015-2.pdf | DLPs: passado, presente e futuro]] (Walter Cardoso de Freitas Júnior, Gustavo Vieira Zacchi, Giulio Oliveira)
 
*[[Media:DLP29006-AE1-Tema2-2015-2.pdf | Transitores CMOS, história e tecnologia]] (Fernando Müller da Silva, Gustavo Paulo Medeiros da Silva)
 
*[[Media:DLP29006-AE1-Tema3-2015-2.pdf | Linguagens de Descrição de Hardware: Tipos e Características]] (João Vitor Rodrigues, Marcus Vinicius Bunn)
 
*[[Media:DLP29006-AE1-Tema4-2015-2.pdf | Fabricantes e ferramentas para programação de DLPs]] (Ronaldo João Borges, Roicenir Girardi Rostirolla)
 
*[[Media:DLP29006-AE1-Tema5-2015-2.pdf | Interface JTAG]] (Stephany Padilha Guimarães, Lucas Gomes de Farias, Vinicius Bandeira)
 
 
;2015-1:
 
*[[Media:Formas como PLDs são Programados.pdf | Formas como PLDs são Programados]]
 
*[[Media:EPROM - EEPROM Dispositivos Lógicos Programáveis.pdf | EPROM - EEPROM Dispositivos Lógicos Programáveis]]
 
*[[Media:Aplicações de antifusíveis e PROMs na programação de PDLs.pdf | Aplicações de antifusíveis e PROMs na programação de PDLs]]
 
 
==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  [http://200.135.233.32 Sharelatex do IFSC-CLOUD]. Utilize preferencialmente o [http://200.135.233.26:3000/project/54750cb57ae8187440d60acd  modelo de artigo no padrão ABNT].
 
 
 
<!--
 
<!--
*[http://wiki.sj.ifsc.edu.br/images/a/a5/Sst-intro.pdf Aula inicial]
+
==Modelos para relatório==
*[[Introdução aos dispositivos lógicos programáveis]]
+
Para a geração de documentação/relatórios técnicos/artigos, use como base o modelo ABNTex2 para o padrão do IFSC para monografia que segue as normas da ABNT e do IFSC.
*[[Introdução à tecnologia FPGA ]]
+
Recomendo que os alunos da Engenharia de Telecomunicações utilizem esse modelo e o [https://www.overleaf.com Overleafv2], pois além de possibilitar o compartilhamento do documento entre os alunos, reduz o tempo perdido na formação do documento, permitindo que o aluno já aprenda alguma formatação de Latex que será útil na elaboração do TCC.  
*[[Introdução a linguagem VHDL]]
+
*[https://www.overleaf.com/read/dbjkqgsghfbk Modelo para relatório em LaTex]
*[[Aritmética com vetores em VDHL]]
 
  
*[[Códigos VDHL - DLP]]
+
==Links importantes (mais consultados)==
*[[Códigos VHDL para uso nas Aulas]]
 
*[[Códigos VHDL para uso nas Aulas 2011-1]]
 
-->
 
 
 
==Links auxiliares==
 
 
*[[Aritmética com vetores em VDHL]]
 
*[[Aritmética com vetores em VDHL]]
 
*[[Preparando para gravar o circuito lógico no FPGA]]
 
*[[Preparando para gravar o circuito lógico no FPGA]]
 +
*[[Criação de um acesso remoto ao kit MERCURIO IV]]
 
*[[Dicas de como eliminar o repique das chaves mecânicas]]
 
*[[Dicas de como eliminar o repique das chaves mecânicas]]
 +
*[[Medição de tempos de propagação em circuitos combinacionais]]
 +
*[[Restringir a frequencia máxima de clock no Quartus II]]
 +
*[[Acesso ao IFSC-CLOUD (NUVEM)]]
 +
*[[Linguagem_.dot#Como_gerar_o_diagrama_de_uma_maquina_de_estados_finita_em_linguagem_dot |Gerar o diagrama de uma maquina de estados finita em linguagem dot]]
 +
*[[Mensagens de Erros e Warnings do Quartus II]]
 +
 +
==Links auxiliares==
 +
*[[Media:Quartus_II_Simulation.pdf | Tutorial do QSIM - Introduction to Simulation of VHDL Designs]] da ALTERA.
 +
*[[Palavras reservadas do VHDL]]
 +
*[http://web.archive.org/web/20160313200350/http://vhdl.org/fphdl/index.html VHDL-2008 Support Library]
 
*[[Dicas para resolver ERROS de síntese do VHDL no Quartus II]]
 
*[[Dicas para resolver ERROS de síntese do VHDL no Quartus II]]
 
*[ftp://ftp.altera.com/up/pub/Altera_Material/13.1/Tutorials/VHDL/ Materiais da ALTERA para Quartus II 13.1]
 
*[ftp://ftp.altera.com/up/pub/Altera_Material/13.1/Tutorials/VHDL/ Materiais da ALTERA para Quartus II 13.1]
Linha 336: Linha 59:
 
*[[Configuração e uso do Time Quest Analyser]]
 
*[[Configuração e uso do Time Quest Analyser]]
 
*[[Configuração e uso do Signal Tap]]
 
*[[Configuração e uso do Signal Tap]]
*[[DLP29006-Engtelecom(2015-1) - Prof. Marcos Moecke]]
+
*[http://docente.ifsc.edu.br/moecke/PAGES/Dec2C_2.html Calculadora de Complemento de 2]
*[[DLP29006-Engtelecom(2015-2) - Prof. Marcos Moecke]]
+
*[[Como utilizar a matriz de leds do kit Mercurio IV da Macnica]]
*[[DLP29006-Engtelecom(2016-1) - Prof. Marcos Moecke]]
+
*[http://g2384.github.io/work/VHDLformatter.html VHDL Beautifier, Formatter] - para identar automaticamente um código VHDL.
<!--
+
*[https://www.youtube.com/watch?v=08YHxtSI3Bk How to create a State Machine with the Quartus State Machine Wizard]
*PS2 Interface
+
*[https://trends.google.com.br/trends/explore?date=today%205-y&q=vhdl,verilog Veja qual é a tendencia mundial em relação as linguagens HDL]
:*[http://www.quadibloc.com/comp/scan.htm Scan Codes Demystified]
+
*[https://www.intel.com/content/www/us/en/programmable/documentation/spj1513986956763.html Intel Quartus Prime Pro Edition User Guide: Getting Started]
:*Keyboard Scan Codes [http://www.computer-engineering.org/ps2keyboard/scancodes1.html Set 1], [http://www.computer-engineering.org/ps2keyboard/scancodes2.html Set 2], [http://www.computer-engineering.org/ps2keyboard/scancodes3.html Set 3]
+
*[https://www.h-schmidt.net/FloatConverter/IEEE754.html IEEE 754 - Floating point number]
:*[https://en.wikipedia.org/wiki/Keyboard_layout Keyboard layout]
+
*[https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an447.pdf AN 447: Interfacing Intel® FPGA Devices with 3.3/3.0/2.5 V LVTTL/LVCMOS I/O Systems]
:*[http://www.computer-engineering.org/ps2protocol/ PS2 Protocol], [http://retired.beyondlogic.org/keyboard/keybrd.htm]
 
-->
 
  
 
==Livros/Resumos sobre VHDL==
 
==Livros/Resumos sobre VHDL==
Linha 354: Linha 75:
 
*[[Media:VHDL1164_QRC-Qualis.pdf | VHDL 1164 PACKAGES QUICK REFERENCE CARD]] - Qualis (r2.2)
 
*[[Media:VHDL1164_QRC-Qualis.pdf | VHDL 1164 PACKAGES QUICK REFERENCE CARD]] - Qualis (r2.2)
 
*[http://www.ics.uci.edu/~jmoorkan/vhdlref/ VDHL ref]
 
*[http://www.ics.uci.edu/~jmoorkan/vhdlref/ VDHL ref]
 +
*[http://www.vhdl.renerta.com/source/vhd00000.htm VHDL Language Reference Guide]
 +
*[http://www.ics.uci.edu/~jmoorkan/vhdlref/vhdl_golden_reference_guide.pdf VHDL Golden Reference Guide]
 
*[http://www.cs.umbc.edu/portal/help/VHDL/stdpkg.html Listagem dos packages]
 
*[http://www.cs.umbc.edu/portal/help/VHDL/stdpkg.html Listagem dos packages]
 
*[http://www.cs.umbc.edu/portal/help/VHDL/reserved.html Palavras reservadas]
 
*[http://www.cs.umbc.edu/portal/help/VHDL/reserved.html Palavras reservadas]
 
*[http://www.csee.umbc.edu/portal/help/VHDL/attribute.html Atributos predefinidos]
 
*[http://www.csee.umbc.edu/portal/help/VHDL/attribute.html Atributos predefinidos]
 
*[https://blog.ufes.br/sistemasembarcados/files/2015/03/aritmetica-em-vhdl.pdf Aritmética em VHDL]
 
*[https://blog.ufes.br/sistemasembarcados/files/2015/03/aritmetica-em-vhdl.pdf Aritmética em VHDL]
 +
*[https://wiki.kip.uni-heidelberg.de/KIPwiki/images/d/d7/VHDL_Language_Reference_Guide_(help_file).pdf VHDL Language Reference Guide]
  
==Packages não padronizados==
+
==Packages não padronizados de VHDL==
 
*[[Std logic arith.vhd]] by Synopsys
 
*[[Std logic arith.vhd]] by Synopsys
 
*[http://eda.org/rassp/vhdl/models/standards/std_logic_arith.vhd std_logic_arith.vhd] by Synopsys
 
*[http://eda.org/rassp/vhdl/models/standards/std_logic_arith.vhd std_logic_arith.vhd] by Synopsys
Linha 367: Linha 91:
 
*[[Std logic unsigned.vdh]] by Synopsys
 
*[[Std logic unsigned.vdh]] by Synopsys
 
*[http://eda.org/rassp/vhdl/models/standards/std_logic_unsigned.vhd std_logic_unsigned.vhd] by Synopsys
 
*[http://eda.org/rassp/vhdl/models/standards/std_logic_unsigned.vhd std_logic_unsigned.vhd] by Synopsys
 +
 +
==Quartus II==
 +
*[https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/manual/TclScriptRefMnl.pdf Quartus II Scripting Reference Manual], ver como programar o FPGA sem interface gráfica com quartus_pgm
 +
*[[Como instalar o Quartus no Ubuntu 20.04]]
 +
*[https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/qts/archives/quartusii_handbook_archive_131.pdf Quartus II Handbook Version 13.1]
  
 
==Simulador Modelsim==
 
==Simulador Modelsim==
Linha 398: Linha 127:
 
*[https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/Catapult_ISCA_2014.pdf A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services], Microsoft.
 
*[https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/Catapult_ISCA_2014.pdf A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services], Microsoft.
  
<!--
 
 
===Linguagens de programação de hardware===
 
===Linguagens de programação de hardware===
 
*[http://trends.google.com/trends/explore#q=vhdl,verilog Tendência Google]
 
*[http://trends.google.com/trends/explore#q=vhdl,verilog Tendência Google]
Linha 433: Linha 161:
 
*Motorola
 
*Motorola
 
*[http://www.analog.com/en/embedded-processing-dsp/processors/index.html Analog Devices]
 
*[http://www.analog.com/en/embedded-processing-dsp/processors/index.html Analog Devices]
-->
 
  
 
==Padrões IEEE para o VDHL==
 
==Padrões IEEE para o VDHL==
Os padrões IEEE [http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/xpl/standards.jsp?item=0%20-%2099&sortType=standard_newest&pageNumber=1]estão disponíveis para consulta se você estiver na rede do IFSC. Para a linguagem VHDL consulte os padrões: [http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/search/searchresult.jsp?action=search&sortType=&rowsPerPage=&searchField=Search_All&matchBoolean=true&queryText=(%22Standard%20Number%22:1164) 1164],[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/search/searchresult.jsp?action=search&sortType=&rowsPerPage=&searchField=Search_All&matchBoolean=true&queryText=(%22Standard%20Number%22:1076)&refinements=4294967269 1076]
+
Os padrões IEEE [http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/xpl/standards.jsp?item=0%20-%2099&sortType=standard_newest&pageNumber=1]estão disponíveis para consulta se você estiver na rede do IFSC ou através do '''Periódicos CAPES via CAFE'''. Para a linguagem VHDL consulte os padrões de [https://ieeexplore-ieee-org.ez130.periodicos.capes.gov.br/browse/standards/collection/ieee?queryText=VHDL) VHDL]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/xpl/articleDetails.jsp?arnumber=257627&newsearch=true&queryText=IEEE%20Standard%20Multivalue%20Logic%20System%20for%20VHDL%20Model%20Interoperability%20.LB.Std_logic_1164.RB. IEEE Standard Multivalue Logic System for VHDL Model Interoperability (Std_logic_1164)]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/xpl/articleDetails.jsp?arnumber=257627&newsearch=true&queryText=IEEE%20Standard%20Multivalue%20Logic%20System%20for%20VHDL%20Model%20Interoperability%20.LB.Std_logic_1164.RB. IEEE Standard Multivalue Logic System for VHDL Model Interoperability (Std_logic_1164)]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/xpl/articleDetails.jsp?arnumber=5967868&newsearch=true&queryText=IEEE%20Std%201076.1:%20Behavioural%20languages%20%E2%80%93%20Part%201-1:%20VHDL%20language%20reference%20manual IEEE Std 1076.1: Behavioural languages – Part 1-1: VHDL language reference manual]  
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/xpl/articleDetails.jsp?arnumber=5967868&newsearch=true&queryText=IEEE%20Std%201076.1:%20Behavioural%20languages%20%E2%80%93%20Part%201-1:%20VHDL%20language%20reference%20manual IEEE Std 1076.1: Behavioural languages – Part 1-1: VHDL language reference manual]  
Linha 444: Linha 171:
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=4384309 IEEE Standard VHDL Analog and Mixed-Signal Extensions]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=4384309 IEEE Standard VHDL Analog and Mixed-Signal Extensions]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=592543 IEEE Standard VHDL Synthesis Packages]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=592543 IEEE Standard VHDL Synthesis Packages]
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=1003477 IEEE Std 1076-2002: IEEE Standard VHDL Language Reference Manual]
+
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=1003477 IEEE Std 1076-2002: IEEE Standard VHDL Language Reference Manual], ver mais rescentes [IEEE 1076-2008 - IEEE Standard VHDL Language Reference Manual]  e [IEEE 1076-2019 - IEEE Standard for VHDL Language Reference Manual]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=556551  IEEE Std 1076.2-1996:  IEEE Standard VHDL Mathematical Packages]
 
*[http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=556551  IEEE Std 1076.2-1996:  IEEE Standard VHDL Mathematical Packages]
===Packages da IEEE===
+
;Packages da IEEE:
 
*[[Std logic 1164.vhd]]
 
*[[Std logic 1164.vhd]]
 
*[[Numeric std.vhd]]
 
*[[Numeric std.vhd]]
 +
-->
 +
 +
==Registro Diário e Avaliação Anteriores==
 +
[https://wiki.sj.ifsc.edu.br/index.php?title=DLP29006-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke&oldid=188893  2023-1], [https://wiki.sj.ifsc.edu.br/index.php?title=DLP29006-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke&oldid=186913  2022-2],
 +
[https://wiki.sj.ifsc.edu.br/index.php?title=DLP29006-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke&oldid=184068  2022-1],
 +
[https://wiki.sj.ifsc.edu.br/index.php?title=DLP29006-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke&oldid=182146  2021-2],
 +
[[DLP29006-Engtelecom(2021-1) - Prof. Marcos Moecke |  2021-1]],
 +
[[DLP29006-Engtelecom(2020-2) - Prof. Marcos Moecke |  2020-2]],
 +
[[DLP29006-Engtelecom(2020-1) - Prof. Marcos Moecke |  2020-1]],
 +
[[DLP29006-Engtelecom(2019-2) - Prof. Marcos Moecke |  2019-2]],
 +
[[DLP29006-Engtelecom(2019-1) - Prof. Marcos Moecke |  2019-1]],
 +
[[DLP29006-Engtelecom(2018-2) - Prof. Marcos Moecke |  2018-2]],
 +
[[DLP29006-Engtelecom(2018-1) - Prof. Marcos Moecke |  2018-1]],
 +
[[DLP29006-Engtelecom(2017-2) - Prof. Marcos Moecke |  2017-2]],
 +
[[DLP29006-Engtelecom(2017-1) - Prof. Marcos Moecke |  2017-1]],
 +
[[DLP29006-Engtelecom(2016-2) - Prof. Marcos Moecke |  2016-2]],
 +
[[DLP29006-Engtelecom(2016-1) - Prof. Marcos Moecke |  2016-1]],
 +
[[DLP29006-Engtelecom(2015-2) - Prof. Marcos Moecke |  2015-2]],
 +
[[DLP29006-Engtelecom(2015-1) - Prof. Marcos Moecke |  2015-1]].
  
 
==Referências Bibliográficas:==
 
==Referências Bibliográficas:==

Edição atual tal como às 21h51min de 26 de julho de 2023

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


Avisos importantes

  • Nesta página wiki, você tem orientações para uso de ferramentas e também links que auxiliam no estudo da disciplina. Visite os links sempre que solicitado e lei essa página para lembrar futuramente onde estão as informações que necessita.

Recursos de Laboratório

Nos laboratórios do IFSC, os softwares Quartus e Modelsim estão disponíveis diretamente na plataforma LINUX. O laboratório também dispõe de diversos kits FPGA que podem ser programados para testar os sistemas implementados.

Acesso a Nuvem do IFSC

Para uso fora do IFSC dos recursos computacionais com licença educacional, o IFSC disponibiliza para seus alunos o IFSC-CLOUD (nuvem.sj.ifsc.edu.br). A forma mais eficiente de acesso a nuvem de fora do IFSC é através do Cliente X2GO, mas dentro da rede do IFSC o acesso pelo ssh também tem boa usabilidade. Veja detalhes em Acesso ao IFSC-CLOUD (NUVEM).

Para para utilizar o Quartus/Modelsim/QSIM através da Nuvem do IFSC, siga o procedimento de configuração do X2Go. Nota: O desempenho do Modelsim pode ficar ruim quando acesso da rede externa ao IFSC.


Registro Diário e Avaliação Anteriores

2023-1, 2022-2, 2022-1, 2021-2, 2021-1, 2020-2, 2020-1, 2019-2, 2019-1, 2018-2, 2018-1, 2017-2, 2017-1, 2016-2, 2016-1, 2015-2, 2015-1.

Referências Bibliográficas:



Curso de Engenharia de Telecomunicações