SSC-108(bonato) 2017

De CoteiaWiki
Revisão de 16h42min de 26 de outubro de 2017 por Vbonato (discussão | contribs)

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:

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)