Mudanças entre as edições de "SSC-108(bonato) 2017"
De CoteiaWiki
(→Cronograma realizado) |
|||
Linha 170: | Linha 170: | ||
** Template VHDL: http://bit.ly/2fw0YUF | ** Template VHDL: http://bit.ly/2fw0YUF | ||
* '''(Ter. 24/10): Aula 11: continuação VHS Player; apresentação do projeto atropele o tomate''' | * '''(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 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 | ||
+ | **** 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 | ||
+ | *** Saída em Leds: | ||
+ | **** Indicar o andar atual | ||
+ | **** Indicar se o elevador já foi chamado | ||
+ | **** 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. Ao demonstrar o seu funcionamento na placa de FPGA apresentar também a máquina de estados em modo gráfico no padrão Moore. O trabalho pode ser em dupla e utilizar VHDL e ser entregue até a próxima aula. |
Edição das 16h55min de 7 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
- Tetris
- Galaga
- Super Sprint
- Spelunker
- Excite Bike
- Duck Hunt
- Silk Worm
- Abadox
- Gauntlet
- Gradius
- Tennis
- Flappy Bird
- Bomberman II
- Final Fantasy
- Metroid
- Cobra Command; Space Invaders
- JOGOS JÁ ESCOLHIDOS (16H):
- Bomberman 2
- Excite Bike
- 1944
- California Games / Half pipe
- Final Fantasy
- Millipede
- Tetris
- Pipedream
- Xevious
- Dig Dug
- Trog
- Rollerball
- Yoshi
- Sidepocket
- Tecmo Baseball
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 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
- 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
- Saída em Leds:
- Indicar o andar atual
- Indicar se o elevador já foi chamado
- 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. Ao demonstrar o seu funcionamento na placa de FPGA apresentar também a máquina de estados em modo gráfico no padrão Moore. O trabalho pode ser em dupla e utilizar VHDL e ser entregue até a próxima aula.
- Implemente com FSM do tipo Moore 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: