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 cpuclock
--**** Deskripsi:
--****             Clock ini digunakan untuk
--****             processor adalah separuh kecepatan dari semua prefetch
--****             buffer clock. Entity ini membagi clock menjadi dua.
--*****************************************************************************
ENTITY cpuclock IS
    PORT(clk                                            : IN STD_LOGIC;
         cpu_clock                                      : OUT STD_LOGIC);
END ENTITY cpuclock;

ARCHITECTURE clock_behav OF cpuclock IS
    SIGNAL x                                            : STD_LOGIC := '1';

BEGIN
    name : PROCESS(clk) IS
    BEGIN
        IF(clk='1' and clk'EVENT) THEN
            IF(x='0') THEN
                cpu_clock <= '0';
                x <= '1';
            ELSE
                cpu_clock <= '1';
                x <= '0';
            END IF;
        END IF;
                                        
    END PROCESS name;
END ARCHITECTURE clock_behav;
