·
Ciência da Computação ·
Sistemas Digitais
Send your question to AI and receive an answer instantly
Recommended for you
5
TP4-Fundamentos-Sistemas-Digitais-Relatorio-Codigo-Assembly-MIPS
Sistemas Digitais
PUC
3
Trabalho Pratico 3 - Projeto de Maquina de Estados FSM e Descricao VHDL para Traffic Filter
Sistemas Digitais
PUC
4
Trabalho Pratico Sistemas Digitais Calculo Mediana Media Moda MIPS
Sistemas Digitais
PUC
1
Atividade Avaliativa A1 Sistemas Digitais - Tabelas Verdade e Expressões Lógicas
Sistemas Digitais
UVA
54
Aula 5-4 Máquinas de Estados Finitos-2022 1
Sistemas Digitais
UFPE
7
CE3512 Sistemas Digitais - Lista de Exercicios 4 - Projeto de Sequencias Numericas
Sistemas Digitais
FEI
11
Lista de Exercícios de Projeto de Sistemas Digitais - Lista 3
Sistemas Digitais
FEI
51
Aula 5-5 Projetar Fsms-2022 1
Sistemas Digitais
UFPE
37
Aula 5-2 Flip-flops-2022 1
Sistemas Digitais
UFPE
7
CE3512 Sistemas Digitais - Lista de Exercícios 4 - Projeto de Sequências Numéricas
Sistemas Digitais
FEI
Preview text
Fundamentos de Sistemas Digitais 4646B04 1 4 Trabalho Prático 3 TP3 1 Especificações Gerais Entrega do TP3 310522 terçafeira 23h59 Execução do trabalho individual ou em duplas O objetivo desse trabalho é o projeto desenvolvimento e teste de um cronômetro de xadrez ilustrado na Figura 1 utilizando conceitos de circuitos digitais registradores e máquinas de estado finita do inglês Finite State Machine ou FSM Em certos campeonatos o xadrez é jogado usando um sistema de cronômetros com o objetivo de limitar o tempo máximo de jogo Este sistema é composto por dois cronômetros cada um controlado por um botão Figura 1 Exemplo de cronômetro para controlar o tempo de jogos de xadrez A Figura 2 ilustra a interface externa do sistema de cronômetros de xadrez Figura 2 Interface do sistema de cronômetros de xadrez Sinais de entrada clock reset sinais de sincronismo para a máquina de estados de controle e para os contadores j1 j2 botões de controle dos jogadores Se ativado pela primeira vez inicia o jogo Uma vez o jogo iniciado a ativação de um destes sinais interrompe a contagem do jogador e habilita a contagem regressiva do jogador adversário load comando para a carga do valor de contagem especificado em value value valor inicial de contagem em 12 bits Sinais de saída cont1 cont2 valor dos cronômetros dos jogadores 12 bits winJ1 winJ2 indicação de qual jogador ganhou a partida winner Arquivos de suporte ao trabalho em httpwwwinfpucrsbrmoraestp3zip 1 jogadapdf cópia da Figura 3 exemplo de jogo 2 simdo script de simulação ModelSim 3 tbxadrezvhd test bench relativo ao jogo da Figura 3 ou jogadapdf 4 wavedo script para as formas de onda 5 xadrezvhd esqueleto do código a ser implementado clock reset j1 j2 load value 12 Cronômetro de Xadrez cont1 winJ1 cont2 winj2 12 12 j1 j2 Fundamentos de Sistemas Digitais 4646B04 2 4 2 Tarefas e Avaliação 35 pt Projetar o circuito proposto utilizando máquina de estados FSM e registradores 35 pt Modelar o circuito proposto em linguagem VHDL conforme o projeto No material de apoio ao trabalho há o arquivo xadrezvhd que deve receber o código desenvolvido 30 pt Apresentar no relatório 1 caso de teste com uma partida diferente da apresentada na Figura 3 ou seja o test bench deve ser alterado u Entregar um arquivo em formato ZIP contendo 3 três arquivos 1 xadrezvhd modelagem em VHDL do circuito proposto 05 pt correta modelagem da entidade 20 pt correta modelagem da máquina de estados finita FSM 10 pt correta modelagem dos dois contadores decrescentes 2 tbxadrezvhd test bench modificado contendo a descrição da nova partida 3 Relatório em formato PDF O relatório deve conter Parte I projeto do circuito proposto com desenho e explicação do mesmo Tanto o desenho da FSM quanto a explicação de como o sistema digital opera deve ser feito à mão de forma clara organizada e compreensível tirar uma foto do desenho da FSM Parte II trecho do código do test bench correspondendo aos sinais load value j1 j2 Parte III formas de onda da nova partida comentadas como na Figura 3 u O código só será avaliado se o simulador gerar as formas de onda correspondendo à Figura 3 u A nova partida deve estar detalhada no relatório de forma semelhante à Figura 3 u Plágio é impossível pois cada grupo necessariamente fará cenários de teste diferentes u Plágio em qualquer parte das entregas zera a nota para os grupos em que se detectar esta grave infração 3 Módulo a ser implementado O funcionamento desse tipo de relógio é definido como segue 1 Os jogadores definem um tempo máximo para o jogo e os dois cronômetros são ajustados para esse tempo Assumese contadores decrescentes em hexadecimal com 12 bits ou seja podem contar de FFF16 1h8min16seg até 0 Na Figura 3 observase no início do jogo a carga do valor x258 10 min load1 em dois contadores cont1 e cont2 2 Um jogador inicia sua jogada e seu cronômetro começa a regredir Por exemplo o jogador 2 inicia o jogo e seu cronômetro começa a regredir j21 O test bench fornece os tempos das jogadas 3 Assim que este jogador terminar sua jogada seu cronômetro deve parar de regredir e é a vez do próximo jogador No exemplo da Figura 3 o jogador que iniciou o jogo pressiona novamente o seu botão agora para interromper a contagem e habilitar a regressão do cronômetro de seu adversário j21 Observar a ação inválida em 3600 ns 4 Esse processo sequência j11 e j21 segue até que um dos cronômetros chegue em 0 zero ou um jogador ganhe a partida por xequemate Neste exemplo o contador 2 zerou e o jogador 1 ganhou winj11 30 35 35 Fundamentos de Sistemas Digitais 4646B04 3 4 Exemplo de uma simulação do jogo fornecido pelo test bench Figura 3 Sequência de eventos de uma partida de jogo de xadrez No relatório ao mostrar as formas de onda incluir o EA estado atual da FSM 4 Estrutura do Código xadrezvhd O esqueleto do código do contador é library ieee entity xadrez is port completar end xadrez architecture a1 of xadrez is type states is completar signal EA PE states signal completer contadores begin contador1 process reset clock begin primeiro contador end process contador2 process reset clock begin segundo contador end process aqui vai a máquina de estados 2 process winJ1 completar máquina de Moore depende apenas do estado atual winJ2 completar máquina de Moore depende apenas do estado atual lembrar de atribuir às saídas dos contadores o valor dos contadores internos end a1 LOAD1 carregou x258 nos dois contadores 10 min Jogador 2 INICIOU a partida J1àJ2 Jogador 2 passa a vez para o jogador 1 J2àJ1 J2àJ1 J1àJ2 J2àJ1 J1àJ2 J2àJ1 J1àJ2 J2àJ1 J1àJ2 Jogador 2 ESTOROU o tempo e perdeu Jogador 1 ganhou Jogador 1 apertou j1 e jogador 2 estava jogando à ignorar a ação ação inválida Fundamentos de Sistemas Digitais 4646B04 4 4 A máquina de estados opera como segue No reset a FSM fica em repouso aguardando a carga do valor de contagem load1 atribuído como valor inicial dos dois contadores decrescentes O jogo inicia quando um jogador pressiona o botão correspondentes j1 ou j2 Caso um contador chegue ao valor zero o jogador adversário deve ter o sinal de vitória ativado Caso um jogador esteja com o seu cronometro sendo decrementado e pressionar o botão correspondente o seu cronômetro para e inicia o decremento do cronômetro do adversário Note que se um jogador ganhar por tempo a FSM ficará neste estado só voltando a monitorar o load em caso se reset Quando um dos jogadores está jogando exemplo o jogador 2 está jogando porque j1 foi ativado a ativação do botão do outro jogador é ignorada Observar esta ação na Figura 3 Esta ação deve estar presente na nova partida 5 Configuração do TestBench Abaixo apresentase um test bench que corresponde à Figura 3 Valores em vermelho devem ser alterados para a nova partida library IEEE use IEEEstdlogic1164all entity tb is end tb architecture a1 of tb is signal value cont1 cont2 stdlogicvector11 downto 0 signal reset load j1 j2 winJ1 winJ2 stdlogic signal ck stdlogic 0 begin relogio entity workxadrez port map resetreset clockck loadload j1j1 j2j2 valuevalue contj2cont2 contj1cont1 winJ1winJ1 winJ2winJ2 reset 1 0 after 5 ns ck not ck after 5 ns load 0 1 after 23 ns 0 after 33 ns value x258 10 min j1 0 1 after 1202 ns 0 after 1212 ns 1 after 1802 ns 0 after 1812 ns 1 after 3002 ns 0 after 3012 ns 1 after 3602 ns 0 after 3612 ns ação ignorada 1 after 5502 ns 0 after 5512 ns 1 after 9002 ns 0 after 9012 ns j2 0 1 after 402 ns 0 after 412 ns 1 after 702 ns 0 after 712 ns 1 after 1502 ns 0 after 1512 ns 1 after 2502 ns 0 after 2512 ns 1 after 4502 ns 0 after 4512 ns 1 after 7402 ns 0 after 7412 ns end a1
Send your question to AI and receive an answer instantly
Recommended for you
5
TP4-Fundamentos-Sistemas-Digitais-Relatorio-Codigo-Assembly-MIPS
Sistemas Digitais
PUC
3
Trabalho Pratico 3 - Projeto de Maquina de Estados FSM e Descricao VHDL para Traffic Filter
Sistemas Digitais
PUC
4
Trabalho Pratico Sistemas Digitais Calculo Mediana Media Moda MIPS
Sistemas Digitais
PUC
1
Atividade Avaliativa A1 Sistemas Digitais - Tabelas Verdade e Expressões Lógicas
Sistemas Digitais
UVA
54
Aula 5-4 Máquinas de Estados Finitos-2022 1
Sistemas Digitais
UFPE
7
CE3512 Sistemas Digitais - Lista de Exercicios 4 - Projeto de Sequencias Numericas
Sistemas Digitais
FEI
11
Lista de Exercícios de Projeto de Sistemas Digitais - Lista 3
Sistemas Digitais
FEI
51
Aula 5-5 Projetar Fsms-2022 1
Sistemas Digitais
UFPE
37
Aula 5-2 Flip-flops-2022 1
Sistemas Digitais
UFPE
7
CE3512 Sistemas Digitais - Lista de Exercícios 4 - Projeto de Sequências Numéricas
Sistemas Digitais
FEI
Preview text
Fundamentos de Sistemas Digitais 4646B04 1 4 Trabalho Prático 3 TP3 1 Especificações Gerais Entrega do TP3 310522 terçafeira 23h59 Execução do trabalho individual ou em duplas O objetivo desse trabalho é o projeto desenvolvimento e teste de um cronômetro de xadrez ilustrado na Figura 1 utilizando conceitos de circuitos digitais registradores e máquinas de estado finita do inglês Finite State Machine ou FSM Em certos campeonatos o xadrez é jogado usando um sistema de cronômetros com o objetivo de limitar o tempo máximo de jogo Este sistema é composto por dois cronômetros cada um controlado por um botão Figura 1 Exemplo de cronômetro para controlar o tempo de jogos de xadrez A Figura 2 ilustra a interface externa do sistema de cronômetros de xadrez Figura 2 Interface do sistema de cronômetros de xadrez Sinais de entrada clock reset sinais de sincronismo para a máquina de estados de controle e para os contadores j1 j2 botões de controle dos jogadores Se ativado pela primeira vez inicia o jogo Uma vez o jogo iniciado a ativação de um destes sinais interrompe a contagem do jogador e habilita a contagem regressiva do jogador adversário load comando para a carga do valor de contagem especificado em value value valor inicial de contagem em 12 bits Sinais de saída cont1 cont2 valor dos cronômetros dos jogadores 12 bits winJ1 winJ2 indicação de qual jogador ganhou a partida winner Arquivos de suporte ao trabalho em httpwwwinfpucrsbrmoraestp3zip 1 jogadapdf cópia da Figura 3 exemplo de jogo 2 simdo script de simulação ModelSim 3 tbxadrezvhd test bench relativo ao jogo da Figura 3 ou jogadapdf 4 wavedo script para as formas de onda 5 xadrezvhd esqueleto do código a ser implementado clock reset j1 j2 load value 12 Cronômetro de Xadrez cont1 winJ1 cont2 winj2 12 12 j1 j2 Fundamentos de Sistemas Digitais 4646B04 2 4 2 Tarefas e Avaliação 35 pt Projetar o circuito proposto utilizando máquina de estados FSM e registradores 35 pt Modelar o circuito proposto em linguagem VHDL conforme o projeto No material de apoio ao trabalho há o arquivo xadrezvhd que deve receber o código desenvolvido 30 pt Apresentar no relatório 1 caso de teste com uma partida diferente da apresentada na Figura 3 ou seja o test bench deve ser alterado u Entregar um arquivo em formato ZIP contendo 3 três arquivos 1 xadrezvhd modelagem em VHDL do circuito proposto 05 pt correta modelagem da entidade 20 pt correta modelagem da máquina de estados finita FSM 10 pt correta modelagem dos dois contadores decrescentes 2 tbxadrezvhd test bench modificado contendo a descrição da nova partida 3 Relatório em formato PDF O relatório deve conter Parte I projeto do circuito proposto com desenho e explicação do mesmo Tanto o desenho da FSM quanto a explicação de como o sistema digital opera deve ser feito à mão de forma clara organizada e compreensível tirar uma foto do desenho da FSM Parte II trecho do código do test bench correspondendo aos sinais load value j1 j2 Parte III formas de onda da nova partida comentadas como na Figura 3 u O código só será avaliado se o simulador gerar as formas de onda correspondendo à Figura 3 u A nova partida deve estar detalhada no relatório de forma semelhante à Figura 3 u Plágio é impossível pois cada grupo necessariamente fará cenários de teste diferentes u Plágio em qualquer parte das entregas zera a nota para os grupos em que se detectar esta grave infração 3 Módulo a ser implementado O funcionamento desse tipo de relógio é definido como segue 1 Os jogadores definem um tempo máximo para o jogo e os dois cronômetros são ajustados para esse tempo Assumese contadores decrescentes em hexadecimal com 12 bits ou seja podem contar de FFF16 1h8min16seg até 0 Na Figura 3 observase no início do jogo a carga do valor x258 10 min load1 em dois contadores cont1 e cont2 2 Um jogador inicia sua jogada e seu cronômetro começa a regredir Por exemplo o jogador 2 inicia o jogo e seu cronômetro começa a regredir j21 O test bench fornece os tempos das jogadas 3 Assim que este jogador terminar sua jogada seu cronômetro deve parar de regredir e é a vez do próximo jogador No exemplo da Figura 3 o jogador que iniciou o jogo pressiona novamente o seu botão agora para interromper a contagem e habilitar a regressão do cronômetro de seu adversário j21 Observar a ação inválida em 3600 ns 4 Esse processo sequência j11 e j21 segue até que um dos cronômetros chegue em 0 zero ou um jogador ganhe a partida por xequemate Neste exemplo o contador 2 zerou e o jogador 1 ganhou winj11 30 35 35 Fundamentos de Sistemas Digitais 4646B04 3 4 Exemplo de uma simulação do jogo fornecido pelo test bench Figura 3 Sequência de eventos de uma partida de jogo de xadrez No relatório ao mostrar as formas de onda incluir o EA estado atual da FSM 4 Estrutura do Código xadrezvhd O esqueleto do código do contador é library ieee entity xadrez is port completar end xadrez architecture a1 of xadrez is type states is completar signal EA PE states signal completer contadores begin contador1 process reset clock begin primeiro contador end process contador2 process reset clock begin segundo contador end process aqui vai a máquina de estados 2 process winJ1 completar máquina de Moore depende apenas do estado atual winJ2 completar máquina de Moore depende apenas do estado atual lembrar de atribuir às saídas dos contadores o valor dos contadores internos end a1 LOAD1 carregou x258 nos dois contadores 10 min Jogador 2 INICIOU a partida J1àJ2 Jogador 2 passa a vez para o jogador 1 J2àJ1 J2àJ1 J1àJ2 J2àJ1 J1àJ2 J2àJ1 J1àJ2 J2àJ1 J1àJ2 Jogador 2 ESTOROU o tempo e perdeu Jogador 1 ganhou Jogador 1 apertou j1 e jogador 2 estava jogando à ignorar a ação ação inválida Fundamentos de Sistemas Digitais 4646B04 4 4 A máquina de estados opera como segue No reset a FSM fica em repouso aguardando a carga do valor de contagem load1 atribuído como valor inicial dos dois contadores decrescentes O jogo inicia quando um jogador pressiona o botão correspondentes j1 ou j2 Caso um contador chegue ao valor zero o jogador adversário deve ter o sinal de vitória ativado Caso um jogador esteja com o seu cronometro sendo decrementado e pressionar o botão correspondente o seu cronômetro para e inicia o decremento do cronômetro do adversário Note que se um jogador ganhar por tempo a FSM ficará neste estado só voltando a monitorar o load em caso se reset Quando um dos jogadores está jogando exemplo o jogador 2 está jogando porque j1 foi ativado a ativação do botão do outro jogador é ignorada Observar esta ação na Figura 3 Esta ação deve estar presente na nova partida 5 Configuração do TestBench Abaixo apresentase um test bench que corresponde à Figura 3 Valores em vermelho devem ser alterados para a nova partida library IEEE use IEEEstdlogic1164all entity tb is end tb architecture a1 of tb is signal value cont1 cont2 stdlogicvector11 downto 0 signal reset load j1 j2 winJ1 winJ2 stdlogic signal ck stdlogic 0 begin relogio entity workxadrez port map resetreset clockck loadload j1j1 j2j2 valuevalue contj2cont2 contj1cont1 winJ1winJ1 winJ2winJ2 reset 1 0 after 5 ns ck not ck after 5 ns load 0 1 after 23 ns 0 after 33 ns value x258 10 min j1 0 1 after 1202 ns 0 after 1212 ns 1 after 1802 ns 0 after 1812 ns 1 after 3002 ns 0 after 3012 ns 1 after 3602 ns 0 after 3612 ns ação ignorada 1 after 5502 ns 0 after 5512 ns 1 after 9002 ns 0 after 9012 ns j2 0 1 after 402 ns 0 after 412 ns 1 after 702 ns 0 after 712 ns 1 after 1502 ns 0 after 1512 ns 1 after 2502 ns 0 after 2512 ns 1 after 4502 ns 0 after 4512 ns 1 after 7402 ns 0 after 7412 ns end a1