entity E is end;

architecture A of E is
   component VolumeSystemE
      port (
            x_step_p : in bit_vector (7 downto 0);
            y_step_p : in bit_vector (7 downto 0);
            data_p : in integer;
            initiate_p : in bit;
            ready_p : in bit;
            x_pos_p : out bit;
            y_pos_p : out bit;
            x_dir_p : out bit;
            y_dir_p : out bit;
            motor_reset_p : out bit;
            output_p : out bit_vector (15 downto 0);
            strobe_p : out bit;
            diskport_p : out integer
           );
   end component;

   signal x_step_p : bit_vector (7 downto 0);
   signal y_step_p : bit_vector (7 downto 0);
   signal data_p : integer;
   signal initiate_p : bit;
   signal ready_p : bit;
   signal x_pos_p : bit;
   signal y_pos_p : bit;
   signal x_dir_p : bit;
   signal y_dir_p : bit;
   signal motor_reset_p : bit;
   signal output_p : bit_vector (15 downto 0);
   signal strobe_p : bit;
   signal diskport_p : integer;

   for all : VolumeSystemE
      use entity work.VolumeSystemE(VolumeSystemA);

begin

   SpecChart : VolumeSystemE
      port map (
               x_step_p,
               y_step_p,
               data_p,
               initiate_p,
               ready_p,
               x_pos_p,
               y_pos_p,
               x_dir_p,
               y_dir_p,
               motor_reset_p,
               output_p,
               strobe_p,
               diskport_p
              );

process 
   type data_array_type is array (1 to 20) of integer;
   variable data_array : data_array_type := 
      (20,15,0,0,0,0,15,20,0,0,20,15,0,0,0,0,15,20,0,0);
begin

   wait for 1 ns;
   initiate_p 	<= '1';
   ready_p 	<= '0';
   data_p	<= 0;
   x_step_p 	<= "00000010";
   y_step_p 	<= "00000001";
   wait for 5 ns;
   initiate_p 	<= '0';

   for i in 1 to 20 loop
      wait until (strobe_p = '1');
      data_p <= data_array(i);
      wait for 5 ns;
      ready_p <= '1', '0' after 10 ns;
   end loop;

   wait for 200 ns;

   assert (output_p = X"01A0") report "ERROR1: incorrect volume computed"
      severity error;

   wait;
end process;

end A;


<div align="center"><br /><script type="text/javascript"><!--
google_ad_client = "pub-7293844627074885";
//468x60, Created at 07. 11. 25
google_ad_slot = "8619794253";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />&nbsp;</div>