- Timestamp:
- Apr 22, 2013, 11:35:33 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
PROJECT_CORE_MPI/SWITCH_GEN/BRANCHES/v0.03/SCHEDULER16_16.VHD
r22 r65 55 55 signal grant_latch : std_logic_vector(256 downto 1); 56 56 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); 58 58 begin 59 59 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 61 req_grant<=(request and grant_latch); 62 priority_rotation_en <= '1' when unsigned(req_grant) = 0 or unsigned(priority_rotation) = 65535 else '0'; 62 63 --latch servant qui memorise le signal grant pendant a transmission 63 64 grant_latch_process : process(clk) … … 66 67 if reset = '1' then 67 68 grant_latch <= (others => '0'); 68 elsif priority_rotation_en = '1' then69 elsif priority_rotation_en = '1' or unsigned(Grant_latch)=0 then 69 70 grant_latch <= Grant; 70 71 end if; 71 72 end if; 72 73 end process; 73 port_grant <= Grant andgrant_latch;74 port_grant <= grant_latch; 74 75 Grant(1) <= Signal_grant(1)(1) or Signal_grant(17)(1); -- Grant(1,1) 75 76 Grant(2) <= Signal_grant(2)(2) or Signal_grant(18)(2); -- Grant(1,2)
Note: See TracChangeset
for help on using the changeset viewer.