Está en la página 1de 4

PRÁCTICA 2 GRUPO 12_PULIDO_SÁNCHEZ

Julieta Pulido de Gorostiza

David Sánchez Casillas

1. Implementación en VHDL el circuito que implementa la funcionalidad del juego


anteriormente descrita. No olvide incluir los comentarios necesarios en el código.

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY P2 IS

PORT (

T1: IN STD_LOGIC;

R1: IN STD_LOGIC;

P1: IN STD_LOGIC;

T2: IN STD_LOGIC;

R2: IN STD_LOGIC;

P2: IN STD_LOGIC;

G1: OUT STD_LOGIC;

G2: OUT STD_LOGIC

);

END P2;

--------------------------------

--Arquitectura

-------------------------------

ARCHITECTURE BEH OF P2 IS

--Señales

SIGNAL v1 : STD_LOGIC_VECTOR(2 DOWNTO 0);


SIGNAL v2 : STD_LOGIC_VECTOR(2 DOWNTO 0);

SIGNAL v3 : STD_LOGIC_VECTOR(3 DOWNTO 0);

SIGNAL s1 : STD_LOGIC_VECTOR(1 DOWNTO 0);

SIGNAL s2 : STD_LOGIC_VECTOR(1 DOWNTO 0);

SIGNAL s3 : STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

v1<=T1&R1&P1;

v2<=T2&R2&P2;

PROCESS (v1)

BEGIN

CASE v1 IS

WHEN "001" => s1 <= "10";

WHEN "010" => s1 <= "01";

WHEN "100" => s1 <= "11";

WHEN OTHERS => s1 <= "00";

END CASE;

END PROCESS;

PROCESS (v2)

BEGIN

CASE v2 IS

WHEN "001" => s2 <= "10";

WHEN "010" => s2 <= "01";

WHEN "100" => s2 <= "11";

WHEN OTHERS => s2 <= "00";


END CASE;

END PROCESS;

v3 <= s1&s2;

PROCESS (v3)

BEGIN

CASE v3 IS

WHEN "0000" => G1 <= '0'; G2 <='0';

WHEN "0001"|"0010"|"0011"|"0110"|"1011"|"1101" => G1 <= '0'; G2 <='1';

WHEN "0100"|"0111"|"1000"|"1001"|"1100"|"1110" => G1 <= '1'; G2 <='0';

WHEN OTHERS => G1 <= '1'; G2 <='1';

END CASE;

END PROCESS;

END BEH;

2. Simulación del código VHDL que implementa el juego de ‘Tijera, Piedra o Papel’
para dos jugadores. Esta simulación debe ser una simulación funcional
incluyendo las situaciones del juego más relevantes y en ningún caso todas las
posibles combinaciones. En un documento, incluya la simulación (puede hacer
una captura de pantalla) y coméntela.
Hemos simulado diez situaciones.

En la primera situación, ninguno de los jugadores saca nada por lo tanto las salidas son 0,0 y
ninguno de los diodos se enciende.

En la segunda situación, el jugador 1 saca papel y el jugador 2 saca piedra por lo que gana el jugador
1, encendiéndose el diodo 1. También ocurre lo mismo en la situación seis, el jugador 1 gana al
jugador 2 sacando tijera frente a papel.

En la tercera situación, el jugador 1 saca papel y el jugador 2 saca tijera por lo que gana el jugador 2
y se enciende el diodo número 2. Además, en la quinta situación ocurre lo mismo, el jugador 1 saca
tijera y el jugador 2 saca piedra por lo que gana otra vez el segundo jugador y se enciende el diodo
número 2

En el caso de empate se encienden ambos diodos, lo que ocurre en las situaciones cuatro, siete y
ocho. En la situación cuatro ambos jugadores sacan tijera, en la situación siete ambos jugadores
sacan piedra y en la situación nueve ambos jugadores sacan papel, que causa un empate.

Por último, en la situación diez, se encenderá el diodo del jugador 1, ya que gana sacando piedra
contra tijera, que es lo que saca el jugador 2.

También podría gustarte