--==========================================================
-- Design units : MATRIXbehave
--                (entity, architecture and configuration)
--
-- File name    : MATRIXbehave.vhd
--
-- Purpose      : specification of the 2 dim systolic benchmark
--
-- Limitations  : n > 30 integer range
--
-- Library      : WORK
--
-- Dependencies : IEEE
--
-- Author       : Hans-Peter Eich, REFT
--
-- Simulator    : Synopsys V3.1a on SUN SPARCstation 10
--
-----------------------------------------------------------
-- Revision list
-- Version Author Date           Changes
--
-- V1.0    hpe    03.04.95       ESA standard
-- V2.0    cjt    31.08.95       1-dimensional Arrays
--=========================================================

LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
USE work.MATRIXpack.all;

ENTITY MATRIXbehave IS

  GENERIC(E: Positive := 4); -- E matrix length

  PORT(A : IN INT_vector (E*E-1 DOWNTO 0); -- Input Matrix A
       B : IN INT_vector (E*E-1 DOWNTO 0); -- Input Matrix B
       P : OUT INT_vector (E*E-1 DOWNTO 0));-- Output Matrix P
END MATRIXbehave;

--============================ARCHITECTURE==================

ARCHITECTURE Behavior OF MATRIXbehave IS

BEGIN

 main : PROCESS (A,B)

   VARIABLE C: INT_vector (E*E-1 DOWNTO 0);
   VARIABLE I,J,K: NATURAL;

 BEGIN

 I := 0;

   Loop0: WHILE I < E LOOP

     J := 0;

     Loop1: WHILE J < E LOOP

        C(I*E+J) := 0;
        K := 0;

        Loop2: WHILE K < E LOOP

          C(I*E+J) := C(I*E+J) + A(I*E+K) * B(K*E+J);
          K := K + 1;

        END LOOP Loop2;

        J := J + 1;

     END LOOP Loop1;

     I := I + 1;

   END LOOP Loop0;

   P <= C;

 END PROCESS;

END Behavior;

--============================CONFIGURATION=================

CONFIGURATION MATRIXbehave_DefaultConfig OF MATRIXbehave IS
  FOR Behavior
  END FOR;
END MATRIXbehave_DefaultConfig;
<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>