|
Message
From: cvs at opencores.org<cvs@o...>
Date: Thu Dec 20 11:46:55 CET 2007
Subject: [cvs-checkins] MODIFIED: jop ...
Date: 00/07/12 20:11:46 Modified: jop/vhdl/scio cmpsync.vhd Log: no message Revision Changes Path 1.5 jop/vhdl/scio/cmpsync.vhd http://www.opencores.org/cvsweb.shtml/jop/vhdl/scio/cmpsync.vhd.diff?r1=1.4&r2=1.5 (In the diff below, changes in quantity of whitespace are not shown.) Index: cmpsync.vhd =================================================================== RCS file: /cvsroot/9914pich/jop/vhdl/scio/cmpsync.vhd,v retrieving revision 1.4 retrieving revision 1.5 diff -u -b -r1.4 -r1.5 --- cmpsync.vhd 14 Dec 2007 14:38:11 -0000 1.4 +++ cmpsync.vhd 20 Dec 2007 10:46:55 -0000 1.5 @@ -5,6 +5,8 @@ -- -- 2007-11-22 Global lock synchronization and bootup of CMP -- 2007-12-07 redesign of global lock synchronization +-- 2007-12-19 included new lock arbitration in state "locked". +-- Otherwise wrong output if two CPUs are waiting for lock! library ieee; @@ -61,6 +63,15 @@ if sync_in_array(locked_id).lock_req = '0' then next_state <= idle; next_locked_id <= cpu_cnt; + + -- new lock request + for i in 0 to cpu_cnt-1 loop + if sync_in_array(i).lock_req = '1' then + next_state <= locked; + next_locked_id <= i; + exit; + end if; + end loop; end if; end case; end process;
|
 |