library ieee; 
library flasher;

use ieee.std_logic_1164.all;
use flasher.comps_pkg.all; 
use flasher.ks8695px_signals_pkg.all;
use flasher.ks8695px_bfm_pkg.all;

entity ks8695px_tb is 
end ks8695px_tb; 
 
architecture ks8695px_tb_hdl of ks8695px_tb is 
begin  

   --------------------------------------
   -- build up a basic free-running clock
   --------------------------------------

   ks8695px_clkgen: process
   begin
      clock <= '1';
      wait for 20 ns;
      clock <= '0';
      wait for 20 ns;
   end process ks8695px_clkgen;

   -----------------------------
   -- instantiate the test code
   -----------------------------

   tst: testcode;

   --------------------------
   -- connect up the IBC BFM
   --------------------------
   
   cpu: ks8695px_bfm
   port map ( 
      clock			=> clock,
      async_reset_n	=> async_reset_n,
      address_out	=> address,
      data_io		=> data_io,
	  cs_n_out		=> cs_n,
	  rd_n_out		=> rd_n,
	  wr_0_n_out	=> wr_0_n,
      rdy_n_in		=> stall_n
    ); 


   -------------------------------------------------------
   -- Connectup a basic response module which acts like a
   -- memory element for test and example purposes
   -------------------------------------------------------

 	dut: biosa
	port map (
		async_reset_n_ipad 	=> async_reset_n,
		clock_ipad 			=> clock,
		cs_n_ipad 			=> cs_n,
		rd_n_ipad 			=> rd_n,
		wr_0_n_ipad 		=> wr_0_n,
		address_ipads 		=> address,
		data_iopads	 		=> data_io,
		interrupt_n_opad	=> interrupt_n
	);  				 
   
end ks8695px_tb_hdl;  

