library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_signed.all;
use ieee.std_logic_unsigned.all;

--******************************************************************************
--**** ENTITY pref_c
--**** Deskripsi: Entity ini menguraikan prefetch buffer unit yang bekerja
--****            diluar alamat pembacaan dalam
--****            prefetch buffer. Ini bekerja dengan membandingkan TAGs dan juga
--****            bit sah dalam prefetch buffer.
--******************************************************************************
ENTITY pref_c IS
    PORT(readAddress                        : IN STD_LOGIC_VECTOR(13 DOWNTO 0);
         tag                                : IN STD_LOGIC_VECTOR(13 DOWNTO 0);
         valid                              : IN STD_LOGIC;
         miss                               : OUT STD_LOGIC);
END ENTITY pref_c;

ARCHITECTURE pref_c_behav OF pref_c IS
BEGIN
    name : PROCESS(readAddress, tag, valid) IS
    BEGIN
        IF ((readAddress=tag) and valid='1') THEN
            miss <= '0';
        ELSE
            miss <= '1';
        END IF; 
    END PROCESS name;
END ARCHITECTURE pref_c_behav;
