Mudanças entre as edições de "DLP2-EngTel (página)"
Linha 47: | Linha 47: | ||
*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 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 (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''') | ||
Linha 53: | Linha 53: | ||
:'''TEMA 1''' - Implementar os circuitos de detecção de borda (Listing 10.7 a 10.11); Modificar o de melhor desempenho para detectar qualquer mudança de borda, e não apenas a borda de subida como no código original; testar na MAX3000. (Ana e Tiago) | :'''TEMA 1''' - Implementar os circuitos de detecção de borda (Listing 10.7 a 10.11); Modificar o de melhor desempenho para detectar qualquer mudança de borda, e não apenas a borda de subida como no código original; testar na MAX3000. (Ana e Tiago) | ||
:'''TEMA 2''' - Implementar os circuitos Árbitro (Listing 10.12 e 10.13); Modificar o de melhor desempenho para preemptar o recurso alocado caso um sinal de timeout ocorra E houver requisições aguardando; testar na Cyclone III. (Guilherme) | :'''TEMA 2''' - Implementar os circuitos Árbitro (Listing 10.12 e 10.13); Modificar o de melhor desempenho para preemptar o recurso alocado caso um sinal de timeout ocorra E houver requisições aguardando; testar na Cyclone III. (Guilherme) | ||
− | :'''TEMA 3''' - Implementar os circuitos DRAM strober (Listing 10.14 e 10.15); Modificar o de melhor desempenho para operar com períodos de clock de 10ns e de | + | :'''TEMA 3''' - Implementar os circuitos DRAM strober (Listing 10.14 e 10.15); Modificar o de melhor desempenho para operar com períodos de clock de 10ns e de 20ns; e testar na Stratix II (Karol e Matias) |
* Elabore um seminário a ser apresentado aos colegas durante a aula, mostrando as métricas dos circuitos e justificando as diferenças. Apresente como você modificou o circuito para atender os requisitos acima, e explique as diferenças nas métricas do novo circuito, caso existam. Verifique se o hardware obtido corresponde ao esperado. Os slides utilizados devem ser entregues ao professor. | * Elabore um seminário a ser apresentado aos colegas durante a aula, mostrando as métricas dos circuitos e justificando as diferenças. Apresente como você modificou o circuito para atender os requisitos acima, e explique as diferenças nas métricas do novo circuito, caso existam. Verifique se o hardware obtido corresponde ao esperado. Os slides utilizados devem ser entregues ao professor. |
Edição das 16h25min de 15 de dezembro de 2015
EngTel: Dispositivos Lógicos Programáveis II
- Professores: Arliones Hoeller e Marcos Moecke
- Turma: 29007
- Encontros: semanalmente nas terças e quinzenalmente nas quartas às 15:40 no Laboratório de Programação.
Plano de Ensino
Cronograma de Atividades
Material das Aulas
Referências Bibliográficas
- Pong P. Chu, RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability. Wiley-IEEE Press, Hoboken, 2006, Pages 1-22, ISBN 0471720925.
- David Money Harris and Sarah L. Harris, Digital Design and Computer Architecture, Morgan Kaufmann, Burlington, 2007, Pages 3-48, ISBN 9780123704979, http://dx.doi.org/10.1016/B978-012370497-9/50002-0.
Notas de aulas
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 02: Efficient Design of Combinational Circuits
- Lecture 03: Efficient Design of Sequential Circuits
- Lecture 04: Design of Sequential Circuits: Practice
- Lecture 05: Finite State Machines: Principle and Practice
- Lecture 06: Register Transfer Methodology: Principle
- Lecture 07: Register Transfer Methodology: Practice
- Lecture 08: Hierarchical Design
- Lecture 09: Parameterized Design: Principle
- Lecture 10: Parameterized Design: Practice
- Lecture 11: 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). Em virtude do número impar de alunos na turma, os trabalhos em equipes serão sempre 3 diferentes, onde um dos alunos deverá trabalhar sozinho. Ao longo do semestre todos terão o privilégio de trabalhar em equipe consigo mesmo.
- PARA ENTREGAR
AE2 - Circuitos Sequenciais (prazo ??/??/201?) |
---|
AE3 - Máquinas de estados (prazo 22/12/2015) |
---|
|
- JÁ ENCERRADAS
AE1 - Circuitos Combinacionais (prazo 17/11/2015) |
---|
|
- ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO
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.
Diário de Aulas
29/07: Laboratório: Processadores Embarcados (SoC) |
---|
Nesta 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:
|
06/10: Laboratório: Processadores Embarcados (SoC) |
---|
Retomada da aula de 28/07 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 |
07/10: Laboratório: Processadores Embarcados (SoC) |
---|
Continuação da aula de 06/10. Modificar o projeto da aula passada para:
|
13/10: Gerenciamento de Complexidade e Visão Geral de Sistemas Digitais Complexos |
---|
|
20/10: Síntese de Código VHDL |
---|
|
21,27/10, 03/11: Eficiência de Circuitos Combinacionais |
---|
04,10,17/11: Eficiência de Circuitos Sequenciais |
---|
18,24/11: Eficiência de Máquinas de Estado |
---|
01,02,08/12: Register Transfer Methodology |
---|
15/12: Projeto Hierárquico |
---|
16/12: Projeto Parametrizado |
---|
22/12,02/02: Clock e Sincronização |
---|
03/12...: Projeto Final |
---|