Mudanças entre as edições de "DLP2-EngTel (página)"
Ir para navegação
Ir para pesquisar
(Redirecionamento removido para DLP29007-2020-1) Etiqueta: Redirecionamento removido |
|||
(80 revisões intermediárias por 4 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 = | ||
− | *''' | + | *'''Professor:''' [[Roberto de Matos]] |
− | *[[DLP2-EngTel_(Plano_de_Ensino)| Plano de Ensino]] | + | *[[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]] | ||
= Material de aula = | = Material de aula = | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | *[[DLP29007-2019-1 | Semestre 2019-1 - Prof. Roberto de Matos]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {{collapse top | Semestres Anteriores}} | |
− | + | *[[DLP29007-2018-2 | Semestre 2018-2 - Prof. Roberto de Matos]] | |
− | * | + | *[[DLP29007-2018-1 | Semestre 2018-1 - Prof. Roberto de Matos]] |
− | + | *[[DLP29007-Engtelecom(2017-2) - Prof. Marcos Moecke | Semestre 2017-2 - Prof. Marcos Moecke]] - Wiki | |
− | + | *[https://moodle.sj.ifsc.edu.br/course/view.php?id=179 Semestre 2017-2 - Prof. Arliones] - Moodle | |
− | + | *[[DLP29007-Engtelecom(2017-1) - Prof. Marcos Moecke | Semestre 2017-1 - Prof. Marcos Moecke]] - Wiki | |
− | + | *[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]] | |
− | + | *[[DLP2-EngTel (página) - 2016-1 (prof. Arliones e Marcos) | Semestre 2016-1 - Prof. Marcos Moecke e Arliones]] | |
− | + | *[[DLP2-EngTel (página) - 2015-2 (prof. Arliones e Marcos) | Semestre 2015-2 - Prof. Marcos Moecke e Arliones]] | |
− | + | *[[DLP29007-2015-1 | Semestre 2015-1 - Prof. Marcos Moecke e Arliones]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | : | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | -- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | - | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | -- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | -- | ||
− | |||
− | |||
− | |||
− | -- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{collapse bottom}} | {{collapse bottom}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Notas de aula == | == Notas de aula == | ||
Linha 205: | 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 217: | Linha 57: | ||
===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. | ||
+ | |||
+ | |||
{{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)}} | ||
Nesta atividade, você vai integrar os desenvolvimentos realizados nos laboratórios envolvendo NIOS2 e SignalTap. As etapas a serem executadas são as seguintes: | Nesta atividade, você vai integrar os desenvolvimentos realizados nos laboratórios envolvendo NIOS2 e SignalTap. As etapas a serem executadas são as seguintes: | ||
Linha 226: | Linha 69: | ||
* Implemente a operação equivalente do módulo de hardware em software; | * Implemente a operação equivalente do módulo de hardware em software; | ||
* Utilize um timer para medir o tempo da operação em software; | * Utilize um timer para medir o tempo da operação em software; | ||
− | + | * Utilize os performance counters para medir o tempo para realizar a operação em software; | |
* Relate e discuta seus resultados, apresentando o esquema dos seus testes, os códigos-fontes das aplicações, em formato de artigo e com 6 páginas no máximo. | * Relate e discuta seus resultados, apresentando o esquema dos seus testes, os códigos-fontes das aplicações, em formato de artigo e com 6 páginas no máximo. | ||
* 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. | * 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. | ||
Linha 239: | Linha 82: | ||
*Observação: para alguns circuitos pode ser necessário utilizar um clock mais lento. Para isto, utilize um LPM_COUNTER criado pela ferramenta MegaWizard, como fizemos em aula para gerar alguns componentes. | *Observação: para alguns circuitos pode ser necessário utilizar um clock mais lento. Para isto, utilize um LPM_COUNTER criado pela ferramenta MegaWizard, como fizemos em aula para gerar alguns componentes. | ||
{{collapse bottom}} | {{collapse bottom}} | ||
− | + | ||
− | {{collapse top | + | |
+ | {{collapse top | AE2 - Circuitos Combinacionais (prazo 19/10/2016 as 23h59)}} | ||
* Formar equipes com 2 alunos. A formação das equipes deve ser informado no [https://www.facebook.com/groups/DLP29007/ Facebook] de DLP29007. Cada equipe deverá trabalhar com um dos temas de 1 a 6. | * Formar equipes com 2 alunos. A formação das equipes deve ser informado no [https://www.facebook.com/groups/DLP29007/ Facebook] de DLP29007. Cada equipe deverá trabalhar com um dos temas de 1 a 6. | ||
:'''TEMA 1''' - Implementar o circuito "barrel shifter" (Listing 7.13/7.14, 7.29). pag. 178-180; 192-196 | :'''TEMA 1''' - Implementar o circuito "barrel shifter" (Listing 7.13/7.14, 7.29). pag. 178-180; 192-196 | ||
Linha 269: | Linha 113: | ||
* 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 - AE2 - 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 - AE2 - Projeto de Circuitos Combinacionais. | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | {{collapse top | AE3 - Circuitos Sequencias (prazo 04/11/2016 23h59)}} | ||
+ | * Formar equipes com 2 ou 3 alunos. A formação das equipes deve ser informado no [https://www.facebook.com/groups/DLP29007/ Facebook] de DLP29007. Cada equipe deverá trabalhar com um dos temas de 1 a 6. (todos os contadores devem ser genéricos para N bits) | ||
+ | |||
+ | :'''TEMA 1''' - Estudar e implementar o Contador Gray | ||
+ | ::* Versão 1 (Listing 9.7). pag. 265 | ||
+ | ::* Versão 2 [https://www.altera.com/support/support-resources/design-examples/design-software/vhdl/vhd-gray-counter.html] | ||
+ | ::* Versão 3 [http://www.asic-world.com/examples/vhdl/gray.html] | ||
+ | ::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''. | ||
+ | |||
+ | :'''TEMA 2''' - Estudar e implementar o Contador em Anel | ||
+ | ::* Versão 1 (Listing 9.8). pag. 267 | ||
+ | ::* Versão 2 (Listing 9.9). pag. 268 | ||
+ | ::* Versão 3 [http://www.embarcados.com.br/implementacao-de-um-shift-register-em-vhdl] [http://www.andrecastelan.com.br/implementacao-de-um-shift-register-em-vhdl/] | ||
+ | ::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''. | ||
+ | |||
+ | :'''TEMA 3''' - Estudar e implementar o Contador Decimal e Contador One Hot | ||
+ | ::* Versão 1 (Listing 9.12). pag. 273 | ||
+ | ::* Versão 2 (Listing 9.13). pag. 274 | ||
+ | ::* Versão 3 Contador One Hot [http://www.asic-world.com/examples/vhdl/one_hot.html#One_Hot_Counter]. | ||
+ | ::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''. | ||
+ | |||
+ | :'''TEMA 4''' - Estudar e implementar o Contador LFSR (Linear Feedback Shift Register) | ||
+ | ::* Versão 1 (Listing 9.10). pag. 270 | ||
+ | ::* Versão 2 (Listing 9.11). pag. 272 | ||
+ | ::* Versão 3 [http://www.asic-world.com/examples/vhdl/lfsr.html#Random_Counter_(LFSR)] | ||
+ | ::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''. | ||
+ | |||
+ | :'''TEMA 5''' - Estudar e implementar o PWM | ||
+ | ::* Versão 1 (Listing 9.14). pag. 275 | ||
+ | ::* Versão 2 [https://eewiki.net/download/attachments/20939345/pwm_v1_0.vhd?version=1&modificationDate=1420836042247&api=v2] | ||
+ | ::* Versão 3 [http://fpgacenter.com/examples/servo/VhdlCode.php] | ||
+ | ::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''. | ||
+ | |||
+ | :'''TEMA 6''' - Estudar e implementar relógio HH:MM:SS, considerando o clock de entrada de 50 MHz | ||
+ | ::* Versão 1 (alterar a Listing 9.5), página 263 para incluir a hora | ||
+ | ::* Versão 2 (alterar a Listing 9.6), página 265 para incluir a hora | ||
+ | ::* Versão 3 Implementar o Digital Clock com SSDs da seção 12.5 de <ref name="PEDRONI2010b"> PEDRONI, Volnei A. '''Circuit Design and Simulation with VHDL'''; 2ª ed. Massachusetts-EUA:MIT, 2010. 608 p. ISBN 9780262014335 </ref>, pag 337-340, removendo o ajuste de segundos, minutos e horas. | ||
+ | ::* Versão 4 Modifique a versão 3, separando claramente a lógica ''combinacional de next-state'', ''combinacional de output'', e ''register''. | ||
+ | |||
+ | * Para cada circuito indicado torne o código genérico para N bits e teste para 4 e 32 bits. | ||
+ | * Teste cada uma das arquiteturas 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), Frequência Máxima. | ||
+ | ::Esses dados estão disponíveis nos seguintes relatórios: ('''Fitter > Resource Section > Resource Usage'''), ('''TimeQuest Timing Analyser > Datasheet Report > FMax''') | ||
+ | *Insira restrições temporais para obter um circuito com maior Frequência Máxima. | ||
+ | create_clock -name CLKXXXMHz -period XXXMHz [get_ports {nome_do_sinal_de_clock}] | ||
+ | *Realize a simulação funcional de cada circuito com 4 bits. | ||
+ | * Escreva um relatório técnico na forma de artigo com 2 a 4 paginas A4. O relatório além das tabelas com os dados, deverá conter as figuras dos circuitos RTL para 4 bits, simulações funcionais e uma análise textual dos resultados obtidos. O arquivo com o QAR do projeto deve ser também enviado. | ||
+ | * 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 - Circuitos Sequencias. | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | {{collapse top |expand = true| AE4 - FSM/RTM (prazo 18/12/2016)}} | ||
+ | |||
+ | Nesta atividade, cada dupla entregará uma implementação do jogo QuickFinger (explicado em aula). | ||
+ | Além da implementação padrão, cada dupla realizará uma modificação diferente (lista ao final, por dupla). A figura abaixo apresenta uma visão geral do sistema do jogo: | ||
+ | |||
+ | http://docente.ifsc.edu.br/arliones.hoeller/dlp2/figs/quick_finger-block_diagram.png | ||
+ | |||
+ | Um relatório final em forma de artigo PDF contendo os itens abaixo deve ser entregue: | ||
+ | * Introdução descrevendo os objetivos do trabalho e apresentando uma visão geral do jogo; | ||
+ | * Descrição da implementação padrão e da modificação do jogo contendo, para cada um: | ||
+ | ** Algoritmo em pseudo-código que resolve o problema; | ||
+ | ** Diagrama de máquina de estados com datapath (FSMD ou ASMD - preferível ASMD); | ||
+ | ** Diagrama de blocos do sistema; | ||
+ | ** RTL do circuito gerado por sua implementação; | ||
+ | ** Relatório de eficiência do circuito (Fmax, LE/LUT, registradores, etc); | ||
+ | * Conclusão sugerindo pontos positivos e negativos de sua implementação e relatando possíveis melhorias. | ||
+ | * '''Observações:''' | ||
+ | ** Não incluir código-fonte no artigo; | ||
+ | ** Não ultrapassar 4 páginas de texto (não incluso figuras); | ||
+ | ** Não há limite de páginas para figuras. | ||
+ | * Deve ser entregue também o .qar do projeto. | ||
+ | * Envie o trabalho para (<tt>moecke AT ifsc.edu.br</tt> E <tt>arliones.hoeller AT ifsc.edu.br</tt>), com o ASSUNTO: DLP29007 - AE4. | ||
+ | |||
{{collapse bottom}} | {{collapse bottom}} | ||
;JÁ ENCERRADAS: | ;JÁ ENCERRADAS: | ||
− | |||
;ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO: | ;ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO: | ||
{{collapse top | AL1 - Tempo de propagação em circuitos combinacionais}} | {{collapse top | AL1 - Tempo de propagação em circuitos combinacionais}} | ||
*[[Medição de tempos de propagação em circuitos combinacionais]] | *[[Medição de tempos de propagação em circuitos combinacionais]] | ||
{{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, | + | 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 380: | Linha 299: | ||
= Links Auxiliares = | = Links Auxiliares = | ||
− | *[ | + | *[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 |
− | *[[ | + | *[[Modelos de Temporização nos FPGAs]] |
+ | :: | ||
+ | *[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://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