--========================================================== -- 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 /> </div>