Ignore:
Timestamp:
Apr 22, 2013, 11:35:33 AM (11 years ago)
Author:
rolagamo
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • PROJECT_CORE_MPI/SWITCH_GEN/BRANCHES/v0.03/SCHEDULER12_12.VHD

    r22 r65  
    5555 signal grant_latch : std_logic_vector(144 downto 1);
    5656 signal priority_rotation_en : std_logic;
    57  signal Grant :  std_logic_vector(144 downto 1);
     57 signal Grant,req_grant :  std_logic_vector(144 downto 1);
    5858 begin
    5959
    6060--validation de la rotation de priorité lorsque aucun port n'emet
    61  priority_rotation_en <= '1' when unsigned(priority_rotation) = 4095 else       '0';
     61req_grant<=(request and grant_latch);
     62 priority_rotation_en <= '1' when unsigned(req_grant) = 0 or unsigned(priority_rotation) = 4095 else    '0';
    6263--latch servant qui memorise le signal grant pendant a transmission
    6364grant_latch_process : process(clk)
     
    6667   if reset = '1' then
    6768                grant_latch <= (others => '0');
    68          elsif priority_rotation_en = '1' then
     69         elsif  priority_rotation_en = '1' or unsigned(Grant_latch)=0 then
    6970           grant_latch <= Grant;
    7071   end if;
    7172   end if;
    7273 end process;
    73  port_grant <= Grant and grant_latch;
     74 port_grant <= grant_latch;
    7475 Grant(1)  <= Signal_grant(1)(1) or Signal_grant(13)(1); --  Grant(1,1)
    7576Grant(2)  <= Signal_grant(2)(2) or Signal_grant(14)(2); --  Grant(1,2)
Note: See TracChangeset for help on using the changeset viewer.