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

De CoteiaWiki
Linha 64: Linha 64:
 
**** Jonas Wendel Costa de Souza 10295461
 
**** Jonas Wendel Costa de Souza 10295461
 
**** Alexis de Almeida Coutinho 10295311
 
**** Alexis de Almeida Coutinho 10295311
 +
*** Eq. 38
 +
**** João Vitor Nasevicius Ramos 9894540
 +
**** Paula Torales Leite 10284712
 +
*** Eq. 46
 +
**** Eduardo Alves Baratela 10295270
 +
**** Renata Vinhaga 10295263
 
** '''Grupos Quinta 14h:'''
 
** '''Grupos Quinta 14h:'''
 
*** Eq. 10
 
*** Eq. 10
Linha 80: Linha 86:
 
*** Eq. 9
 
*** Eq. 9
 
**** Gustavo Verniano Angélico de Almeida 10374598
 
**** Gustavo Verniano Angélico de Almeida 10374598
 +
*** Eq. 35
 +
**** Felipe Scrochio Custódio 9442688
 +
**** Gabriel Henrique Scalici 9292970
 
* Trabalho Alternativo: quem quiser usar esta mesma representação numérica (ponto-fixo) e aplicar em algum problema que envolva redes neurais deverá enviar e-mail diretamente para o professor com a descrição da proposta a fim de ser avaliada a possibilidade de sua adoção como projeto final para o referido grupo.
 
* Trabalho Alternativo: quem quiser usar esta mesma representação numérica (ponto-fixo) e aplicar em algum problema que envolva redes neurais deverá enviar e-mail diretamente para o professor com a descrição da proposta a fim de ser avaliada a possibilidade de sua adoção como projeto final para o referido grupo.
 
** '''IMPORTANTE:''' independente de ter intenção ou não de implementar a rede neural, o grupo deverá escolher uma função da lista, pois caso o professor não aceite a proposta da rede neural esta função escolhida deverá ser implementada como projeto final.
 
** '''IMPORTANTE:''' independente de ter intenção ou não de implementar a rede neural, o grupo deverá escolher uma função da lista, pois caso o professor não aceite a proposta da rede neural esta função escolhida deverá ser implementada como projeto final.

Edição das 16h56min de 6 de junho de 2017

SSC-109 - PRÁTICA EM LÓGICA DIGITAL - 2017/1

Prof. Vanderlei Bonato (PRÁTICA)

E-mail: vbonato@usp.br

Estagiário PAE: André Bannwart Perina

E-mail: abperina@usp.br

Monitor: Ítalo Tobler Silva

E-mail: italo.ts4895@gmail.com

Monitor (quinta): Allan Domingues

Horário de atendimento: Qua (15:00 - 17:00) e Qui (13:00 - 14:00)

E-mail: allan.domingues@usp.br

FAQ

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

Clique aqui!

Arquivos

  • Trabalho Final
    • Descrição: Arquivo:SSC0109 2017 1 TF.pdf
    • Aplicativo evaluator: em breve!
    • Grupos Terça 16h:
      • Eq. 18
        • Lucas Noriyuki Yoshida 10262586
      • Eq. 44
        • Giovanni Paolo Meloni 10295603
        • Guilherme Soares Gama 10262798
      • Eq. 27
        • João Pedro Rodrigues Mattos 10295732
        • Eleazar Fernando Braga 10295537
      • Eq. 49
        • Luiz Miguel di Mano Saraiva 10425420
        • Lucas Nobuyuki Takahashi 10295670
      • Eq. 72
        • Caio Abreu de Oliveira Ribeiro 10262839
        • Daniel Penna Chaves Bertazzo 10349561
      • Eq. 14
        • Gabriel Romualdo Silveira Pupo 9896250
        • Eduardo Zaboto Mirolli 9778501
      • Eq. 28
        • Wallace Cruz de Souza 9779392
      • Eq. 17
        • Amira Gayatri El Assad Hempel 10262631
      • Eq. 3
        • Vinicius Torres Dutra Maia da Costa 10262781
        • Brendon Hudson Cardoso 10284879
      • Eq. 1
        • Jonas Wendel Costa de Souza 10295461
        • Alexis de Almeida Coutinho 10295311
      • Eq. 38
        • João Vitor Nasevicius Ramos 9894540
        • Paula Torales Leite 10284712
      • Eq. 46
        • Eduardo Alves Baratela 10295270
        • Renata Vinhaga 10295263
    • Grupos Quinta 14h:
      • Eq. 10
        • André Caramel Rocha 10346572
        • Vinicius Luiz da Silva Genesio 10284688
      • Eq. 48
        • Clara Rosa Silveira 9021070
        • Paulo Bodnachurki 9790944
    • Grupos Quinta 16h:
      • Eq. 60
        • Lucas Faria Hermeto 10295687
        • Gustavo Sasaki Roncaglia 10295652
      • Eq. 87
        • Gabriel Kanegae Souza 10262648
        • Raphael Medeiros Vieira 10284239
      • Eq. 9
        • Gustavo Verniano Angélico de Almeida 10374598
      • Eq. 35
        • Felipe Scrochio Custódio 9442688
        • Gabriel Henrique Scalici 9292970
  • Trabalho Alternativo: quem quiser usar esta mesma representação numérica (ponto-fixo) e aplicar em algum problema que envolva redes neurais deverá enviar e-mail diretamente para o professor com a descrição da proposta a fim de ser avaliada a possibilidade de sua adoção como projeto final para o referido grupo.
    • IMPORTANTE: independente de ter intenção ou não de implementar a rede neural, o grupo deverá escolher uma função da lista, pois caso o professor não aceite a proposta da rede neural esta função escolhida deverá ser implementada como projeto final.

Avisos

As notas da prova prática já estão no ar!

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

  • DESCRIÇÃO DO TRABALHO JÁ DISPONÍVEL NA SEÇÃO ARQUIVOS!
  • Terça-feira 06/06 e quinta-feira 15/06 não haverá aula!!!!!
  • Link para decidir horário de monitoria: http://doodle.com/poll/aiumykxu9x3ppcxa
  • Datas importantes:
    • Prova prática: 09/05 (turma de terça) 11/05 (turma de quinta)
    • Trabalho prático principal: 27/06 (turma de terça) 29/06 (turma de quinta)

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.

  • 20% atividades
  • 30% prova prática
  • 50% trabalho prático principal

Trabalho Final

Em breve...

Cronograma realizado

  • (Ter. 14/03 - Qui. 16/03): Aula 01: Introdução do curso, apresentação da ementa, critério de avaliação, introdução ao Quartus II e ModelSim
  • (Ter. 21/03 - Qui. 23/03): Aula 02: Introdução ao uso do Quartus II
  • (Ter. 28/03 - Qui. 30/03): Aula 03: Primeira programação da placa e primeira atividade prática
    • Primeira atividade prática: Desenvolver um circuito para desenhar as letras U, S e P no primeiro display de sete segmentos do FPGA (HEX0[6..0]) utilizando switches (SW[0] e SW[1]). Lembrar que os segmentos são ativados quando o sinal é 0 e não 1! Saída esperada:
      • SW[0] = 0 e SW[1] = 0: Letra U
      • SW[0] = 1 e SW[1] = 0: Letra S
      • SW[0] = 0 e SW[1] = 1: Letra P
      • SW[0] = 1 e SW[1] = 1: Tudo apagado ou tudo aceso
      • Ssc109at1.png
  • (Ter. 04/04 - Qui. 06/04): Aula 04: Segunda atividade prática
    • Segunda atividade prática (SOMENTE TURMA DE TERÇA): em dupla e apresentar função lógica no papel:
    • Temos a seguir uma série de requisitos que um candidato, a uma vaga qualquer, deve preencher. O candidato precisa ser:
      • Mulher casada, com 25 anos ou mais, ou;
      • Mulher com menos de 25 anos, ou;
      • Homem casado com menos de 25 anos que nunca se envolveu com a polícia, ou;
      • Homem casado que já tenha se envolvido com a polícia, ou;
      • Homem casado, com 25 anos ou mais, que não tenha se envolvido com a polícia.
    • As variáveis w, x, y e z assumem o valor verdade 1 nos seguintes casos:
      • w = 1 se o candidato tenha se envolvido com a polícia;
      • x = 1 se o candidato for casado;
      • y = 1 se o candidato for do sexo masculino;
      • z = 1 se o candidato tiver menos que 25 anos.
    • Implemente um circuito que acenda um led sempre que o candidato estiver apto para a vaga. A entrada do circuito deve ser dada por botões/switches do kit FPGA.
    • Segunda atividade prática (SOMENTE TURMA DE QUINTA): em dupla e apresentar função lógica no papel:
    • Temos a seguir uma série de requisitos que um candidato, a uma vaga qualquer, deve preencher. O candidato precisa ser:
      • Mulher casada, com 25 anos ou mais, ou;
      • Mulher com menos de 25 anos, ou;
      • Mulher casada que não tenha se envolvido com a polícia, ou;
      • Homem casado com menos de 25 anos que nunca se envolveu com a polícia, ou;
      • Homem casado, com 25 anos ou mais, que não tenha se envolvido com a polícia.
    • As variáveis w, x, y e z assumem o valor verdade 1 nos seguintes casos:
      • w = 1 se o candidato tenha se envolvido com a polícia;
      • x = 1 se o candidato for casado;
      • y = 1 se o candidato for do sexo masculino;
      • z = 1 se o candidato tiver menos que 25 anos.
    • Implemente um circuito que acenda um led sempre que o candidato estiver apto para a vaga. A entrada do circuito deve ser dada por botões/switches do kit FPGA.
  • (Ter. 18/04 - Qui. 20/04): Aula 05: Terceira atividade prática
    • Um somador de um bit é dito meio somador (half adder) quando não considera como entrada o bit de transporte (carry);
    • Um somador completo (full adder) é quando o mesmo considera este bit de transporte em sua operação de soma~;
    • Para desenvolver um somador de n bits, pode-se utilizar 1 meio somador para o bit menos significativo e n-1 somadores completos para os bits restantes. Para a prática de hoje, implemente um hardware somador de 4 bits para números sem sinal (somente magnitude) e exiba os resultados da soma no formato binário e hexadecimal. O que deveria ser feito para exibir o resultado também na base decimal? Utilize o kit FPGA para tal tarefa.
  • (Ter. 25/04 - Qui. 27/04): Aula 06: Quarta atividade prática
    • Utilizando a mesma formatação numérica e o mesmo hardware do somador completo empregados no exercício da aula anterior (aula 5), implemente agora um multiplicador;
    • Observe que na multiplicação, para não haver perda de informação, a quantidade de bits do resultado é a soma da largura do multiplicador com a do multiplicando. Exiba o resultado da multiplicação no formato binário e hexadecimal. Como deveria ser implementado o multiplicador caso os números fossem com sinal?
  • (Ter. 02/05 - Qui. 04/05): Aula 07: Quinta atividade prática
    • Utilizando o somador de 4 bits e o multiplicador de 4 bits desenvolvido nas práticas anteriores, considerando a representação de complemento de 2 para realizar a subtração, implementar um módulo somador/subtrator/multiplicador com as seguintes entradas e saídas:
      • A[3..0]: Primeiro operando, 4 bits, sempre positivo;
      • B[3..0]: Segundo operando, 4 bits, sempre positivo;
      • S[1..0]: Seletor de operação:
        • S[1..0] == 0: Soma (A + B);
        • S[1..0] == 1: Subtrair (A - B);
        • S[1..0] == 2: Multiplicar (A * B);
        • S[1..0] == 3: Indefinido (A ???? B);
      • O[7..0]: Resultado da operação selecionada (a saída pode estar em complemento de 2, não precisa converter!);
    • Para esta prática, utilizaremos o ModelSim. SELECIONAR A PLACA CYCLONE IV, pois a Cyclone V não tem simulação!
  • (Ter. 09/05 - Qui. 11/05): Aula 08: Teste prático
  • (Ter. 16/05 - Qui. 18/05): Aula 09: Sexta atividade prática
    • Sexta atividade prática (SOMENTE TURMA DE TERÇA):
    • Utilizando o circuito implementado na última atividade e mais o uso de MUX/DEMUX, implementar duas novas operaçôes:
      • A[3..0]: Primeiro operando, 4 bits, sempre positivo;
      • B[3..0]: Segundo operando, 4 bits, sempre positivo;
      • S[2..0]: Seletor de operação:
        • S[2..0] == 0: Soma (A + B);
        • S[2..0] == 1: Subtrair (A - B);
        • S[2..0] == 2: Multiplicar (A * B);
        • S[2..0] == 3: Shift para esquerda (A << B);
        • S[2..0] == 4: Shift para direita (A >> B);
        • S[2..0] == 5: Indefinido (A ???? B);
        • S[2..0] == 6: Indefinido (A ???? B);
        • S[2..0] == 7: Indefinido (A ???? B);
      • O[7..0]: Resultado da operação selecionada (a saída pode estar em complemento de 2, não precisa converter!);
    • Para esta prática, utilizaremos o ModelSim. SELECIONAR A PLACA CYCLONE IV, pois a Cyclone V não tem simulação!
    • Sexta atividade prática (SOMENTE TURMA DE QUINTA):
    • Utilizando o circuito implementado na última atividade e mais o uso de MUX/DEMUX, implementar duas novas operaçôes:
      • A[3..0]: Primeiro operando, 4 bits, sempre positivo;
      • B[3..0]: Segundo operando, 4 bits, sempre positivo;
      • S[2..0]: Seletor de operação:
        • S[2..0] == 0: Soma (A + B);
        • S[2..0] == 1: Subtrair (A - B);
        • S[2..0] == 2: Multiplicar (A * B);
        • S[2..0] == 3: Rotação para esquerda (A LROT B);
        • S[2..0] == 4: Rotação para direita (A RROT B);
        • S[2..0] == 5: Indefinido (A ???? B);
        • S[2..0] == 6: Indefinido (A ???? B);
        • S[2..0] == 7: Indefinido (A ???? B);
      • O[7..0]: Resultado da operação selecionada (a saída pode estar em complemento de 2, não precisa converter!);
    • Para esta prática, utilizaremos o ModelSim. SELECIONAR A PLACA CYCLONE IV, pois a Cyclone V não tem simulação!
    • Exemplos de rotação:
      • S[2..0] = 011; A[3..0] = 1011; B[3..0] = 01; O[7..0] = 00000111
      • S[2..0] = 011; A[3..0] = 1001; B[3..0] = 11; O[7..0] = 00001100