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/SCHEDULER16_16.VHD

    r22 r65  
    5555 signal grant_latch : std_logic_vector(256 downto 1);
    5656 signal priority_rotation_en : std_logic;
    57  signal Grant :  std_logic_vector(256 downto 1);
     57 signal Grant,req_grant :  std_logic_vector(256 downto 1);
    5858 begin
    5959
    60 --validation de la rotation de priorité lorsque aucun port n'emet
    61  priority_rotation_en <= '1' when unsigned(priority_rotation) = 65535 else      '0';
     60--validation de la rotation de priorité lorsque aucun port n'emet
     61req_grant<=(request and grant_latch);
     62 priority_rotation_en <= '1' when unsigned(req_grant) = 0 or unsigned(priority_rotation) = 65535 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(17)(1); --  Grant(1,1)
    7576Grant(2)  <= Signal_grant(2)(2) or Signal_grant(18)(2); --  Grant(1,2)
Note: See TracChangeset for help on using the changeset viewer.