Mudanças entre as edições de "SSC-108(bonato) 2017"

De CoteiaWiki
Linha 155: Linha 155:
 
*** Gabriel Seiji Matsumoto
 
*** Gabriel Seiji Matsumoto
 
*** Maurício Hitoshi Murakami
 
*** Maurício Hitoshi Murakami
** Yoshi
+
** Car Crash
 
*** Breno Guariglia Perez
 
*** Breno Guariglia Perez
 
*** Gabriel Pinheiro de Carvalho
 
*** Gabriel Pinheiro de Carvalho

Edição das 18h49min de 14 de novembro de 2017

SSC-108 - PRÁTICA EM SISTEMAS DIGITAIS - 2017/2

Prof. Vanderlei Bonato

E-mail: vbonato@usp.br

Estagiário PAE: André Bannwart Perina

E-mail: abperina@usp.br

Estagiário PAE: Cláudio Roberto Costa

E-mail:

FAQ

Para dúvidas frequentes relacionadas à instabilidade emocional do Quartus/ModelSim:

Clique aqui!

Arquivos

Avisos

NOVOS TEMPLATES INSERIDOS (já vem com o ---jogo--- atropele o tomate)

Mudanças de plano, dia 10 de outubro haverá aula normalmente!

O debouncer foi consertado! O nome dos pinos de entrada mudou (inb_n para inb e outb_n para outb), mas o funcionamento é igual!

Proposta do projeto 1 disponível!!!

  • Datas importantes:
    • Apresentação P1: 03/10
    • Apresentação P2: 05/12

Trabalho Final

ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO

  • Se você foi na aula e já escolheu o jogo:
    • Envie um e-mail para make.vhdl.not.war@gmail.com com os seguintes dados ATÉ SEXTA-FEIRA DIA 03/11:
      • Assunto: Projeto SSC-108 2017/2 14/16h
      • Corpo: NUSPs e nomes dos integrantes (DUPLA DE 2), nome do jogo e o que pretende implementar de cada jogo
      • Especifique de qual turma você é, 14h ou 16h!
  • Se você não foi na aula:
  • JOGOS JÁ ESCOLHIDOS (14H):
    • 1944
      • Leonardo Vinicius de Almeida
    • Tetris
      • George Yoshio Tamanaka
      • João Vítor Nasevicius Ramos
    • Galaga
      • Rafael Meliani Veloso
      • Gabriel dos Santos Brito
    • Super Sprint
      • Gustavo Pereira Kobayashi
      • Amira Gayatri
    • Spelunker
      • Giovanni Paolo Meloni
      • Guilherme Soares Gama
    • Excite Bike
      • Matheus Sanchez
      • Pedro Paulo Isnard Brando
    • Duck Hunt
      • João Vitor Guino Rieswick
    • Silk Worm
      • Matheus Bernardes dos Santos
      • Oliver Savastano Becker
    • Untitled
      • Alexis de Almeida Coutinho
      • Luiz Henrique Lourenção
    • Gauntlet
      • ENVIAR EMAIL!
    • Gradius
      • Guilherme Petrucci
    • Tennis
      • Paulo Ricardo Jordão Miranda
    • Flappy Bird
      • Felipe Scrochio Custódio
      • Gabriel Henrique Scalici
    • Bomberman II
      • Eduardo Zaboto Mirolli
      • Paulo Henrique Bodnarchuki da Cruz
    • Final Fantasy
      • Gabriel dos Reis Coutinho
      • Enzo Bustamante Junco Mendonça
    • Metroid
      • ENVIAR EMAIL!
    • Cobra Command; Space Invaders
      • Danilo Henrique Cordeiro
      • Giovanni Attina do Nascimento
  • JOGOS JÁ ESCOLHIDOS (16H):
    • Bomberman 2
      • Daniel Penna Chaves Bertazzo
      • João Victor Garcia Coelho
    • Excite Bike
      • Lucas Noriyuki Yoshida
      • Pietro Souto Ghiringhelli
    • 1944
      • Alexandre Norcia Medeiros
      • Lucas Faria Hermeto
    • California Games / Half pipe
      • Danilo Leonssio Alves
      • Vinicius Luiz da Silva Genésio
    • Final Fantasy
      • Augusto Torres dos Santos
    • Millipede
      • Guilherme Milan Santos
    • Tetris
      • Caroline Jesuíno Nunes da Silva
      • José Augusto Noronha
    • Pipedream
      • Juliana de Mello Crivelli
      • Vitor Augusto de Oliveira
    • Xevious
      • Gustavo Schimiti
      • Leonardo Augusto Franco do Amaral
    • Dig Dug
      • Kaique Lima
    • Trog
      • Sérgio Ricardo Gomes Barbosa Filho
      • Luca Gomes Urssi
    • Rollerball
      • Gabriel Seiji Matsumoto
      • Maurício Hitoshi Murakami
    • Car Crash
      • Breno Guariglia Perez
      • Gabriel Pinheiro de Carvalho
    • Klax
      • Vanessa A. S. Silva
    • Double Dragon 3
      • Bruno del Monde
      • Vinícius Rodrigues Ribeiro
    • Life Force
      • Igor Trevelin Xavier da Silva
    • Flappy Bird
      • Lucas Veiga Betoni
    • Kung Fu
      • Yan Crisóstomo Rohwedder
      • Jayro Boy Neto

ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO

Notas

Método de avaliação

Para mais detalhes ver arquivo de descrição da disciplina.

  • Nota final: (0.3 * A1 * P1) + (0.5 * A2 * P2) + (0.2 * B)
    • P1: projeto 1 (30%)
    • P2: projeto 2 (50%)
    • A1: arguição individual durante a apresentação de P1 valendo no máximo 1
    • A2: arguição individual durante a apresentação de P2 valendo no máximo 1
    • B: atividades durante as aulas (20%)

Cronograma realizado

  • (Ter. 01/08): Aula 01: introdução do curso, apresentação da ementa, critério de avaliação, introdução ao Quartus II, ModelSim e latches
  • (Ter. 08/08): Aula 02: latches e introdução a flip-flops
    • Atividade prática individual: construa os seguintes circuitos e apresente suas respectivas simulações no Modelsim ao final da aula:
      • Com base no Latch do tipo Set e Reset da aula anterior (SR Latch), construa um Latch do tipo Set e Reset que seja habilitado por um sinal de clock em nível lógico 1 (conhecido na literatura por Gated SR Latch);
      • Em seguida, converta o circuito Gated SR Latch para conter apenas portas lógicas NAND e modifique o mesmo para torná-lo um circuito Latch do tipo D (Gated D Latch);
      • Por fim, implementar um FF do tipo D com base no “Gated D Latch”. O FF-D deseverá ser ativado na borda de subida do clock e possuir os sinais de controle Preset e Clear ativados com zero.
  • (Ter. 22/08): Aula 03: registradores
    • Atividade prática individual:
      • A partir do FF-D da aula anterior, construa um registrador de 8 bits (gerar um símbolo para cada FF-D). O registrador deve ter a opção de carga de dados no modo sequencial (1 bit por ciclo de clock) ou paralelo (8 bits por ciclo de clock);
      • Como atividade avançada para ser apresentada até o início da próxima aula, estenda esse circuito do registrador incluindo controles para que os dados carregados possam se deslocar (shift) e rotacionar (rotate) para a direita e esquerda. Na operação shift carregar zeros nos FFs que não tiverem dados de entrada.
  • (Ter. 29/08): Aula 04: continuação da última aula
  • (Ter. 12/09): Aula 05: contador
    • Atividade prática em dupla (sugere-se que seja a mesma a desenvolver o projeto da ULA):
      • Desenvolva um contador síncrono capaz de contar para cima e para baixo na faixa de 0 a 99 (0x63) (valor inicial definido pelo reset). É permitido o uso de qualquer FF do Quartus. Utilize o componente debounce para remover o ruído do pino de entrada que gera o clock. Demonstre o seu funcionamento na placa, podendo exibir o valor em decimal ou hexadecimal no display de 7 segmentos.
  • (Ter. 19/09): Aula 06: memórias on-chip
  • (Ter. 26/09): Aula 07: introdução a VHDL (ver seção slides auxiliares)
    • Atividade prática:
      • Desenvolver um módulo VHDL capaz de realizar as mesmas operações do módulo criado na aula 03/04, contendo as seguintes portas:
        • clk: clock;
        • rst_n: reset do circuito, ativado em zero;
        • op: operação a ser realizada:
          • 000: carregar serial;
          • 001: carregar paralelo;
          • 010: shift para esquerda;
          • 011: shift para direita;
          • 100: rotação para esquerda;
          • 101: rotação para direita;
        • serial_in: entrada serial, usada quando op == 000;
        • parallel_in: entrada paralela, usada quando op == 001;
        • reg_out: saída do registrador.
  • (Ter. 03/10): Aula 08: apresentação trabalho 1
  • (Ter. 10/10): Aula 09: introdução a máquinas de estados finitos (ver seção slides auxiliares)
  • (Ter. 17/10): Aula 10: exemplo implementação máquina de estados finitos (VHS Player)
  • (Ter. 24/10): Aula 11: continuação VHS Player; apresentação do projeto atropele o tomate
  • (Ter. 31/10): Aula 12: reapresentação do template AP9 com mais detalhes e demonstração da ferramenta ActiveHDL
  • (Ter. 07/11): Aula 13: implementação de FSM do tipo Moore com VHDL para a atividade prática seguinte:
    • Implemente com FSM do tipo Moore o controle de um elevador para 4 andares e demonstre o seu funcionamento na placa de FPGA. Para isso, utilize como entrada e saída os seguintes sinais:
      • Entrada:
        • Um botão de chamada externo para cada andar;
        • 4 botões internos para indicar o andar desejado;
        • Sensor de fechamento da porta;
        • Sensor de presença na porta;
        • Sensor de presença de elevador no andar (um para cada andar).
      • Saída em Leds:
        • Indicar o andar atual;
        • Indicar se o elevador já foi chamado (um led para cada andar);
        • Acionar o motor do elevador e a sua direção (liga/desliga e sobe/desce);
        • Acionar o motor da porta e a sua direção (liga/desliga e abre/fecha).
    • Incluir um temporizado A de 5 segundos para emular o tempo de movimentação do elevador de um andar para o outro e um temporizador B de 2 segundos para emular o tempo de fechamento e abertura da porta.
    • O trabalho pode ser em dupla e utilizar VHDL e ser entregue até a próxima aula. Na apresentação do projeto demonstrar também o desenho da FSM. Este trabalho equivale a duas atividades de laboratório.