Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe Previo
Cdigo : 20032001G
Seccin : M
1.2 ALCANCE
El presente informe cuenta con un archivo tipo texto en word, donde se especifica la
codificacin del circuito receptor solicitado para la presentacin del informe previo
LIBRARY ieee;
USE ieee.std_logic_1164.all;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--Circuito receptor
Entity RECEPTOR is
Port
(
RESET : in std_logic;
NOTREADY : out std_logic;
CLK : in std_logic;
RX : in std_logic;
ACK : in std_logic;
OUTT : out std_logic );
end RECEPTOR;
Begin
Process(CLK)
Begin
if CLK= '1' then
if RESET='0' then NOTREADY<='1';OUTT<='1';
else
case ESTADO is
when S1 => NOTREADY<='0';
CUENTA1<=0;
CUENTA<=0;
if ACK='1' then
ESTADO<=S2;
end if;
when S2 => if ACK='0' then
ESTADO<=S3;
NOTREADY<='1';
CUENTA<=0;
CUENTA1<=0;
end if;
if CUENTA1 = 7 then
CUENTA1<=0;
CUENTA<=CUENTA+1;
-- IF CUENTA=9 THEN ESTADO<=S3; NOTREADY<='1'; END IF;
end if;
case CUENTA is
when 0 => output_buf(0)<=RX;
when 1 => output_buf(1)<=RX;
when 2 => output_buf(2)<=RX;
when 3 => output_buf(3)<=RX;
when 4 => output_buf(4)<=RX;
when 5 => output_buf(5)<=RX;
when 6 => output_buf(6)<=RX;
when 7 => output_buf(7)<=RX;
when 8 => output_buf(8)<=RX;
when 9 => output_buf(9)<=RX;
end case;
CUENTA1<=CUENTA1+1;
when S3 =>
-- NOTREADY<='1';
if CUENTA1 = 7 then
CUENTA1<=0;
CUENTA<=CUENTA+1;
if CUENTA=9 then
ESTADO<=S1;
NOTREADY<='0';
end if;
end if;
case CUENTA is
when 0 => OUTT<=output_buf(0);
when 1 => OUTT<=output_buf(8);
when 2 => OUTT<=output_buf(7);
when 3 => OUTT<=output_buf(6);
when 4 => OUTT<=output_buf(5);
when 5 => OUTT<=output_buf(4);
when 6 => OUTT<=output_buf(3);
when 7 => OUTT<=output_buf(2);
when 8 => OUTT<=output_buf(1);
when 9 => OUTT<=output_buf(9);
end case;
CUENTA1<=CUENTA1+1;
end case;
end if;
end if;
end process;
end behavioral;