Mudanças entre as edições de "SSC-108(bonato) 2017"
De CoteiaWiki
Linha 90: | Linha 90: | ||
*** Guilherme Soares Gama | *** Guilherme Soares Gama | ||
** Excite Bike | ** Excite Bike | ||
− | *** | + | *** Matheus Sanchez |
+ | *** Pedro Paulo Isnard Brando | ||
** Duck Hunt | ** Duck Hunt | ||
*** João Vitor Guino Rieswick | *** João Vitor Guino Rieswick | ||
Linha 96: | Linha 97: | ||
*** Matheus Bernardes dos Santos | *** Matheus Bernardes dos Santos | ||
*** Oliver Savastano Becker | *** Oliver Savastano Becker | ||
− | ** | + | ** Untitled |
− | *** | + | *** Alexis de Almeida Coutinho |
+ | *** Luiz Henrique Lourenção | ||
** Gauntlet | ** Gauntlet | ||
*** '''ENVIAR EMAIL!''' | *** '''ENVIAR EMAIL!''' | ||
Linha 156: | Linha 158: | ||
*** Gabriel Pinheiro de Carvalho | *** Gabriel Pinheiro de Carvalho | ||
** Klax | ** Klax | ||
− | *** | + | *** Vanessa A. S. Silva |
** Double Dragon 3 | ** Double Dragon 3 | ||
*** Bruno del Monde | *** Bruno del Monde | ||
Linha 164: | Linha 166: | ||
** Flappy Bird | ** Flappy Bird | ||
*** Lucas Veiga Betoni | *** Lucas Veiga Betoni | ||
+ | ** Kung Fu | ||
+ | *** Yan Crisóstomo Rohwedder | ||
+ | |||
<span style="background:#FF0000">'''ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO'''</span> | <span style="background:#FF0000">'''ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO'''</span> | ||
Edição das 16h47min de 14 de novembro de 2017
Índice
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:
Arquivos
- Descrição da disciplina: Arquivo:ApresentacaoCursoSSC0108.pdf
- Pin mapping DE0-CV: Arquivo:DE0 CV Main Pins.zip
- Pin mapping DE2-115: Arquivo:DE2 115 Main Pins.zip
- Manual DE0-CV: ftp://ftp.altera.com/up/pub/Altera_Material/Boards/DE0-CV/DE0_CV_User_Manual.pdf
- Manual DE2-115: ftp://ftp.altera.com/up/pub/Altera_Material/Boards/DE2-115/DE2_115_User_Manual.pdf
- Mini-tutorial de como instanciar e usar memórias: Arquivo:SSC-118 2016 2 Onchip Tutorial.pdf
- Super-registrador com shift e rotate da aula 4 implementado em VHDL com dicas: http://bit.ly/2xLftvU
- Slides auxiliares:
- Projeto 1:
- Descrição: Arquivo:SSC0108 2017 2 P1.pdf
- Módulo debouncer: Arquivo:Verilog debouncer.zip
- Template AP9 pronto para o projeto final - com o jogo atropele o tomate (RECOMENDA-SE USAR ESTE)
- DE0-CV: http://bit.ly/2zRfjlP
- DE2-115: http://bit.ly/2zH4lhQ
- Template AP9 pronto para o projeto final - com o módulo keyviewer, que mostra qual tecla está sendo pressionada
- DE0-CV: http://bit.ly/2fXzKXE
- Templates AP9 com processador (usar apenas em último caso)
- DE2-70: http://bit.ly/2d2OenP
- DE2-115: http://bit.ly/2dDRHs6
- DE0-CV: http://bit.ly/2eh0Xnd
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!
- Envie um e-mail para make.vhdl.not.war@gmail.com com os seguintes dados ATÉ SEXTA-FEIRA DIA 03/11:
- Se você não foi na aula:
- Escolha um jogo do site: http://www.tripletsandus.com/80s/80s_games/nesgames.php e envie o e-mail de acordo com a descrição acima
- O JOGO NÃO PODE SER REPETIDO COM NINGUÉM DA SUA PRÓPRIA TURMA
- JOGOS JÁ ESCOLHIDOS (14H):
- 1944
- Leonardo Vinicius de Almeida
- Tetris
- George Yoshio Tamanaka
- João Vítor Nasevicius Ramos
- Galaga
- ENVIAR EMAIL!
- 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
- 1944
- 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
- Yoshi
- 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
- Bomberman 2
ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO
Notas
- P1:
- Terça 14h: Arquivo:SSC0108 2017 2 1.pdf
- Terça 16h: Arquivo:SSC0108 2017 2 2.pdf
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.
- Atividade prática individual: construa os seguintes circuitos e apresente suas respectivas simulações no Modelsim ao final da aula:
- (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.
- Atividade prática individual:
- (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.
- Atividade prática em dupla (sugere-se que seja a mesma a desenvolver o projeto da ULA):
- (Ter. 19/09): Aula 06: memórias on-chip
- Mini-tutorial de como instanciar e usar memórias: Arquivo:SSC-118 2016 2 Onchip Tutorial.pdf
- (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.
- Desenvolver um módulo VHDL capaz de realizar as mesmas operações do módulo criado na aula 03/04, contendo as seguintes portas:
- Atividade prática:
- (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)
- Utilizar template AP9 sem processador disponível na seção acima de arquivos
- Descrição: http://bit.ly/2fUuuDU
- Diagrama da máquina de estados: http://bit.ly/2faedtv
- Diagrama da máquina de estados (redesenhada): Arquivo:SSC108FSM.pdf
- Template VHDL: http://bit.ly/2fw0YUF
- (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).
- Entrada:
- 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.
- 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: