source: PROJECT_CORE_MPI/MPI_HCL/BRANCHES/v2.1/NOC/SCHEDULER8_8.VHD.bak @ 143

Last change on this file since 143 was 143, checked in by rolagamo, 10 years ago
File size: 40.5 KB
Line 
1---------------------------------------------------------------------------------
2-- Company:
3-- Engineer: KIEGAING EMMANUEL GEL EN 5
4--
5-- Create Date:    03:56:34 05/06/2011
6-- Design Name:
7-- Module Name:    Sheduler - Behavioral
8-- Project Name:
9-- Target Devices:
10-- Tool versions:
11-- Description: Module de l'ordonnanceur du switch crossbar
12-- l'algorithme utilisée est le DPA (diagonal propagation arbiter)
13--
14-- Dependencies:
15--
16-- Revision:
17-- Revision 0.01 - File Created
18-- Additional Comments:
19--
20----------------------------------------------------------------------------------
21library IEEE;
22use IEEE.STD_LOGIC_1164.ALL;
23use IEEE.STD_LOGIC_ARITH.ALL;
24use IEEE.STD_LOGIC_UNSIGNED.ALL;
25--use Work.Sheduler_package.all;
26
27---- Uncomment the following library declaration if instantiating
28---- any Xilinx primitives in this code.
29--library UNISIM;
30--use UNISIM.VComponents.all;
31entity Scheduler8_8 is
32    Port ( Req : in  STD_LOGIC_VECTOR (64 downto 1);
33                   Fifo_full : in STD_LOGIC_VECTOR (8 downto 1);
34           clk : in  STD_LOGIC;
35           reset : in  STD_LOGIC;
36            priority_rotation : in  STD_LOGIC_VECTOR (8 downto 1);
37           port_grant : out  STD_LOGIC_VECTOR (64 downto 1));
38end Scheduler8_8;
39
40architecture Behavioral of Scheduler8_8 is
41--Declaration du types
42--tableau de signaux de connexion des cellules arbitres
43TYPE C_Bar_Signal_Array IS ARRAY(15 downto 1) of STD_LOGIC_VECTOR(8 downto 1);
44-- declaration du composant cellule d'arbitrage
45Component Arbiter
46  PORT (P, Fifo_full,Request, West,North : in  STD_LOGIC;
47        Grant,East,South : out  STD_LOGIC );
48End Component;--Signaux de connexion des cellues
49Constant NB_IO : positive:=8; --le nombre de ports d'entrée/sortie
50constant NB_IO2 :positive:=NB_IO**2; -- le carré du nombre de ports d'E/S
51SIGNAL south_2_north :  C_Bar_Signal_Array; -- connexion south north
52SIGNAL east_2_west   :  C_Bar_Signal_Array; -- connexion east west
53SIGNAL Signal_mask      : C_Bar_Signal_Array;-- connexion des masques de priorité
54SIGNAL Signal_grant     : C_Bar_Signal_Array;-- connexion des signaux de validation
55Signal Fifo_out_full :  STD_LOGIC_VECTOR (NB_IO downto 1);
56SIGNAL Signal_priority  : STD_LOGIC_VECTOR (15 DOWNTO 1);--signal pour la connection des vecteur de priorité
57SIGNAL High         : std_logic;--niveau pour les cellules des extremités nord et ouest
58 signal grant_latch : std_logic_vector(NB_IO2 downto 1);
59 signal priority_rotation_en : std_logic;
60 signal Grant,request,req_grant,Grant_bak :  std_logic_vector(NB_IO2 downto 1):=(others=>'0');
61 signal Mreq :  std_logic_vector(NB_IO2 downto 1):=(others=>'1');
62 begin
63
64--validation de la rotation de priorité lorsque aucun port n'emet
65 req_grant<=(req and grant );
66 priority_rotation_en <= '1' when   unsigned(priority_rotation) = 2**NB_IO-1 else       '0';
67request<=req and mreq;
68--latch servant qui memorise le signal grant pendant a transmission
69grant_latch_process : process(clk)
70 begin
71  if rising_edge(clk) then
72   if reset = '1' then
73                grant_latch <= (others => '0');
74                Fifo_out_full<=(others => '0');
75         elsif priority_rotation_en = '1' or unsigned(req_grant)=0 then
76           grant_latch <= Grant;
77           Fifo_out_full<=fifo_full;
78  else
79         grant_latch <= Grant;
80         Fifo_out_full<=fifo_full;
81   end if;
82   end if;
83 end process;
84 
85def_mreq: process(grant_latch,fifo_full)
86
87variable t:std_logic_vector(NB_IO2 downto 1):=(others=>'0');
88begin
89 
90 
91  for i in 0 to NB_IO2-1 loop
92    t(i+1):='0';
93    --sur le front montant de fifo_full sauver l'état Grant courant
94    if fifo_full(i mod NB_IO+1)='1' and  fifo_out_full(i mod NB_IO+1)='0' then
95      Grant_bak(i+1)<= grant_latch(i+1);
96    elsif fifo_full(i mod NB_IO+1)='0' and  fifo_out_full(i mod NB_IO+1)='0'  then
97      Grant_bak(i+1)<='0';
98    end if;
99  for j in 0 to NB_IO-1 loop
100    t(i+1):=t(i+1) or grant_latch(j*NB_IO+1+i mod NB_IO) or fifo_out_full(i mod NB_IO+1);
101   
102  end loop;
103      mreq(i+1)<=not(t(i+1) ) or grant_latch(i+1)or grant_bak(i+1);   
104  end loop;
105end process;
106 port_grant <=  grant;
107 Grant(1)  <= Signal_grant(1)(1) or Signal_grant(9)(1); --  Grant(1,1)
108Grant(2)  <= Signal_grant(2)(2) or Signal_grant(10)(2); --  Grant(1,2)
109Grant(3)  <= Signal_grant(3)(3) or Signal_grant(11)(3); --  Grant(1,3)
110Grant(4)  <= Signal_grant(4)(4) or Signal_grant(12)(4); --  Grant(1,4)
111Grant(5)  <= Signal_grant(5)(5) or Signal_grant(13)(5); --  Grant(1,5)
112Grant(6)  <= Signal_grant(6)(6) or Signal_grant(14)(6); --  Grant(1,6)
113Grant(7)  <= Signal_grant(7)(7) or Signal_grant(15)(7); --  Grant(1,7)
114Grant(8)  <= Signal_grant(8)(8) ;                      --  Grant(1,8)
115Grant(9)  <= Signal_grant(2)(1) or Signal_grant(10)(1); --  Grant(2,1)
116Grant(10)  <= Signal_grant(3)(2) or Signal_grant(11)(2); --  Grant(2,2)
117Grant(11)  <= Signal_grant(4)(3) or Signal_grant(12)(3); --  Grant(2,3)
118Grant(12)  <= Signal_grant(5)(4) or Signal_grant(13)(4); --  Grant(2,4)
119Grant(13)  <= Signal_grant(6)(5) or Signal_grant(14)(5); --  Grant(2,5)
120Grant(14)  <= Signal_grant(7)(6) or Signal_grant(15)(6); --  Grant(2,6)
121Grant(15)  <= Signal_grant(8)(7) ;                      --  Grant(2,7)
122Grant(16)  <= Signal_grant(1)(8) or Signal_grant(9)(8); --  Grant(2,8)
123Grant(17)  <= Signal_grant(3)(1) or Signal_grant(11)(1); --  Grant(3,1)
124Grant(18)  <= Signal_grant(4)(2) or Signal_grant(12)(2); --  Grant(3,2)
125Grant(19)  <= Signal_grant(5)(3) or Signal_grant(13)(3); --  Grant(3,3)
126Grant(20)  <= Signal_grant(6)(4) or Signal_grant(14)(4); --  Grant(3,4)
127Grant(21)  <= Signal_grant(7)(5) or Signal_grant(15)(5); --  Grant(3,5)
128Grant(22)  <= Signal_grant(8)(6) ;                      --  Grant(3,6)
129Grant(23)  <= Signal_grant(1)(7) or Signal_grant(9)(7); --  Grant(3,7)
130Grant(24)  <= Signal_grant(2)(8) or Signal_grant(10)(8); --  Grant(3,8)
131Grant(25)  <= Signal_grant(4)(1) or Signal_grant(12)(1); --  Grant(4,1)
132Grant(26)  <= Signal_grant(5)(2) or Signal_grant(13)(2); --  Grant(4,2)
133Grant(27)  <= Signal_grant(6)(3) or Signal_grant(14)(3); --  Grant(4,3)
134Grant(28)  <= Signal_grant(7)(4) or Signal_grant(15)(4); --  Grant(4,4)
135Grant(29)  <= Signal_grant(8)(5) ;                      --  Grant(4,5)
136Grant(30)  <= Signal_grant(1)(6) or Signal_grant(9)(6); --  Grant(4,6)
137Grant(31)  <= Signal_grant(2)(7) or Signal_grant(10)(7); --  Grant(4,7)
138Grant(32)  <= Signal_grant(3)(8) or Signal_grant(11)(8); --  Grant(4,8)
139Grant(33)  <= Signal_grant(5)(1) or Signal_grant(13)(1); --  Grant(5,1)
140Grant(34)  <= Signal_grant(6)(2) or Signal_grant(14)(2); --  Grant(5,2)
141Grant(35)  <= Signal_grant(7)(3) or Signal_grant(15)(3); --  Grant(5,3)
142Grant(36)  <= Signal_grant(8)(4) ;                      --  Grant(5,4)
143Grant(37)  <= Signal_grant(1)(5) or Signal_grant(9)(5); --  Grant(5,5)
144Grant(38)  <= Signal_grant(2)(6) or Signal_grant(10)(6); --  Grant(5,6)
145Grant(39)  <= Signal_grant(3)(7) or Signal_grant(11)(7); --  Grant(5,7)
146Grant(40)  <= Signal_grant(4)(8) or Signal_grant(12)(8); --  Grant(5,8)
147Grant(41)  <= Signal_grant(6)(1) or Signal_grant(14)(1); --  Grant(6,1)
148Grant(42)  <= Signal_grant(7)(2) or Signal_grant(15)(2); --  Grant(6,2)
149Grant(43)  <= Signal_grant(8)(3) ;                      --  Grant(6,3)
150Grant(44)  <= Signal_grant(1)(4) or Signal_grant(9)(4); --  Grant(6,4)
151Grant(45)  <= Signal_grant(2)(5) or Signal_grant(10)(5); --  Grant(6,5)
152Grant(46)  <= Signal_grant(3)(6) or Signal_grant(11)(6); --  Grant(6,6)
153Grant(47)  <= Signal_grant(4)(7) or Signal_grant(12)(7); --  Grant(6,7)
154Grant(48)  <= Signal_grant(5)(8) or Signal_grant(13)(8); --  Grant(6,8)
155Grant(49)  <= Signal_grant(7)(1) or Signal_grant(15)(1); --  Grant(7,1)
156Grant(50)  <= Signal_grant(8)(2) ;                      --  Grant(7,2)
157Grant(51)  <= Signal_grant(1)(3) or Signal_grant(9)(3); --  Grant(7,3)
158Grant(52)  <= Signal_grant(2)(4) or Signal_grant(10)(4); --  Grant(7,4)
159Grant(53)  <= Signal_grant(3)(5) or Signal_grant(11)(5); --  Grant(7,5)
160Grant(54)  <= Signal_grant(4)(6) or Signal_grant(12)(6); --  Grant(7,6)
161Grant(55)  <= Signal_grant(5)(7) or Signal_grant(13)(7); --  Grant(7,7)
162Grant(56)  <= Signal_grant(6)(8) or Signal_grant(14)(8); --  Grant(7,8)
163Grant(57)  <= Signal_grant(8)(1) ;                      --  Grant(8,1)
164Grant(58)  <= Signal_grant(1)(2) or Signal_grant(9)(2); --  Grant(8,2)
165Grant(59)  <= Signal_grant(2)(3) or Signal_grant(10)(3); --  Grant(8,3)
166Grant(60)  <= Signal_grant(3)(4) or Signal_grant(11)(4); --  Grant(8,4)
167Grant(61)  <= Signal_grant(4)(5) or Signal_grant(12)(5); --  Grant(8,5)
168Grant(62)  <= Signal_grant(5)(6) or Signal_grant(13)(6); --  Grant(8,6)
169Grant(63)  <= Signal_grant(6)(7) or Signal_grant(14)(7); --  Grant(8,7)
170Grant(64)  <= Signal_grant(7)(8) or Signal_grant(15)(8); --  Grant(8,8)
171High <= '1';
172
173----instantiations des cellules arbitres et interconnection
174
175-------------------------- Diagonale n° 1
176
177
178Arbiter_1_1 : Arbiter
179
180PORT MAP (Request => Request(1), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(1), 
181South => south_2_north(1)(1), East => east_2_west(1)(1) , Grant => Signal_grant(1)(1));
182
183Arbiter_1_2 : Arbiter
184
185PORT MAP (Request => Request(58), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(2), 
186South => south_2_north(1)(2), East => east_2_west(1)(2) , Grant => Signal_grant(1)(2));
187
188Arbiter_1_3 : Arbiter
189
190PORT MAP (Request => Request(51), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(3), 
191South => south_2_north(1)(3), East => east_2_west(1)(3) , Grant => Signal_grant(1)(3));
192
193Arbiter_1_4 : Arbiter
194
195PORT MAP (Request => Request(44), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(4), 
196South => south_2_north(1)(4), East => east_2_west(1)(4) , Grant => Signal_grant(1)(4));
197
198Arbiter_1_5 : Arbiter
199
200PORT MAP (Request => Request(37), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(5), 
201South => south_2_north(1)(5), East => east_2_west(1)(5) , Grant => Signal_grant(1)(5));
202
203Arbiter_1_6 : Arbiter
204
205PORT MAP (Request => Request(30), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(6), 
206South => south_2_north(1)(6), East => east_2_west(1)(6) , Grant => Signal_grant(1)(6));
207
208Arbiter_1_7 : Arbiter
209
210PORT MAP (Request => Request(23), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(7), 
211South => south_2_north(1)(7), East => east_2_west(1)(7) , Grant => Signal_grant(1)(7));
212
213Arbiter_1_8 : Arbiter
214
215PORT MAP (Request => Request(16), North => High, West => High, P => Signal_priority(15), Fifo_full => Fifo_full(8), 
216South => south_2_north(1)(8), East => east_2_west(1)(8) , Grant => Signal_grant(1)(8));
217
218-------------------------- Diagonale n° 2
219
220
221Arbiter_2_1 : Arbiter
222
223PORT MAP (Request => Request(9), North => south_2_north(1)(1), West => east_2_west(1)(8), P => Signal_priority(14), Fifo_full => Fifo_full(1), 
224South => south_2_north(2)(1), East => east_2_west(2)(1) , Grant => Signal_grant(2)(1));
225
226Arbiter_2_2 : Arbiter
227
228PORT MAP (Request => Request(2), North => south_2_north(1)(2), West => east_2_west(1)(1), P => Signal_priority(14), Fifo_full => Fifo_full(2), 
229South => south_2_north(2)(2), East => east_2_west(2)(2) , Grant => Signal_grant(2)(2));
230
231Arbiter_2_3 : Arbiter
232
233PORT MAP (Request => Request(59), North => south_2_north(1)(3), West => east_2_west(1)(2), P => Signal_priority(14), Fifo_full => Fifo_full(3), 
234South => south_2_north(2)(3), East => east_2_west(2)(3) , Grant => Signal_grant(2)(3));
235
236Arbiter_2_4 : Arbiter
237
238PORT MAP (Request => Request(52), North => south_2_north(1)(4), West => east_2_west(1)(3), P => Signal_priority(14), Fifo_full => Fifo_full(4), 
239South => south_2_north(2)(4), East => east_2_west(2)(4) , Grant => Signal_grant(2)(4));
240
241Arbiter_2_5 : Arbiter
242
243PORT MAP (Request => Request(45), North => south_2_north(1)(5), West => east_2_west(1)(4), P => Signal_priority(14), Fifo_full => Fifo_full(5), 
244South => south_2_north(2)(5), East => east_2_west(2)(5) , Grant => Signal_grant(2)(5));
245
246Arbiter_2_6 : Arbiter
247
248PORT MAP (Request => Request(38), North => south_2_north(1)(6), West => east_2_west(1)(5), P => Signal_priority(14), Fifo_full => Fifo_full(6), 
249South => south_2_north(2)(6), East => east_2_west(2)(6) , Grant => Signal_grant(2)(6));
250
251Arbiter_2_7 : Arbiter
252
253PORT MAP (Request => Request(31), North => south_2_north(1)(7), West => east_2_west(1)(6), P => Signal_priority(14), Fifo_full => Fifo_full(7), 
254South => south_2_north(2)(7), East => east_2_west(2)(7) , Grant => Signal_grant(2)(7));
255
256Arbiter_2_8 : Arbiter
257
258PORT MAP (Request => Request(24), North => south_2_north(1)(8), West => east_2_west(1)(7), P => Signal_priority(14), Fifo_full => Fifo_full(8), 
259South => south_2_north(2)(8), East => east_2_west(2)(8) , Grant => Signal_grant(2)(8));
260
261-------------------------- Diagonale n° 3
262
263
264Arbiter_3_1 : Arbiter
265
266PORT MAP (Request => Request(17), North => south_2_north(2)(1), West => east_2_west(2)(8), P => Signal_priority(13), Fifo_full => Fifo_full(1), 
267South => south_2_north(3)(1), East => east_2_west(3)(1) , Grant => Signal_grant(3)(1));
268
269Arbiter_3_2 : Arbiter
270
271PORT MAP (Request => Request(10), North => south_2_north(2)(2), West => east_2_west(2)(1), P => Signal_priority(13), Fifo_full => Fifo_full(2), 
272South => south_2_north(3)(2), East => east_2_west(3)(2) , Grant => Signal_grant(3)(2));
273
274Arbiter_3_3 : Arbiter
275
276PORT MAP (Request => Request(3), North => south_2_north(2)(3), West => east_2_west(2)(2), P => Signal_priority(13), Fifo_full => Fifo_full(3), 
277South => south_2_north(3)(3), East => east_2_west(3)(3) , Grant => Signal_grant(3)(3));
278
279Arbiter_3_4 : Arbiter
280
281PORT MAP (Request => Request(60), North => south_2_north(2)(4), West => east_2_west(2)(3), P => Signal_priority(13), Fifo_full => Fifo_full(4), 
282South => south_2_north(3)(4), East => east_2_west(3)(4) , Grant => Signal_grant(3)(4));
283
284Arbiter_3_5 : Arbiter
285
286PORT MAP (Request => Request(53), North => south_2_north(2)(5), West => east_2_west(2)(4), P => Signal_priority(13), Fifo_full => Fifo_full(5), 
287South => south_2_north(3)(5), East => east_2_west(3)(5) , Grant => Signal_grant(3)(5));
288
289Arbiter_3_6 : Arbiter
290
291PORT MAP (Request => Request(46), North => south_2_north(2)(6), West => east_2_west(2)(5), P => Signal_priority(13), Fifo_full => Fifo_full(6), 
292South => south_2_north(3)(6), East => east_2_west(3)(6) , Grant => Signal_grant(3)(6));
293
294Arbiter_3_7 : Arbiter
295
296PORT MAP (Request => Request(39), North => south_2_north(2)(7), West => east_2_west(2)(6), P => Signal_priority(13), Fifo_full => Fifo_full(7), 
297South => south_2_north(3)(7), East => east_2_west(3)(7) , Grant => Signal_grant(3)(7));
298
299Arbiter_3_8 : Arbiter
300
301PORT MAP (Request => Request(32), North => south_2_north(2)(8), West => east_2_west(2)(7), P => Signal_priority(13), Fifo_full => Fifo_full(8), 
302South => south_2_north(3)(8), East => east_2_west(3)(8) , Grant => Signal_grant(3)(8));
303
304-------------------------- Diagonale n° 4
305
306
307Arbiter_4_1 : Arbiter
308
309PORT MAP (Request => Request(25), North => south_2_north(3)(1), West => east_2_west(3)(8), P => Signal_priority(12), Fifo_full => Fifo_full(1), 
310South => south_2_north(4)(1), East => east_2_west(4)(1) , Grant => Signal_grant(4)(1));
311
312Arbiter_4_2 : Arbiter
313
314PORT MAP (Request => Request(18), North => south_2_north(3)(2), West => east_2_west(3)(1), P => Signal_priority(12), Fifo_full => Fifo_full(2), 
315South => south_2_north(4)(2), East => east_2_west(4)(2) , Grant => Signal_grant(4)(2));
316
317Arbiter_4_3 : Arbiter
318
319PORT MAP (Request => Request(11), North => south_2_north(3)(3), West => east_2_west(3)(2), P => Signal_priority(12), Fifo_full => Fifo_full(3), 
320South => south_2_north(4)(3), East => east_2_west(4)(3) , Grant => Signal_grant(4)(3));
321
322Arbiter_4_4 : Arbiter
323
324PORT MAP (Request => Request(4), North => south_2_north(3)(4), West => east_2_west(3)(3), P => Signal_priority(12), Fifo_full => Fifo_full(4), 
325South => south_2_north(4)(4), East => east_2_west(4)(4) , Grant => Signal_grant(4)(4));
326
327Arbiter_4_5 : Arbiter
328
329PORT MAP (Request => Request(61), North => south_2_north(3)(5), West => east_2_west(3)(4), P => Signal_priority(12), Fifo_full => Fifo_full(5), 
330South => south_2_north(4)(5), East => east_2_west(4)(5) , Grant => Signal_grant(4)(5));
331
332Arbiter_4_6 : Arbiter
333
334PORT MAP (Request => Request(54), North => south_2_north(3)(6), West => east_2_west(3)(5), P => Signal_priority(12), Fifo_full => Fifo_full(6), 
335South => south_2_north(4)(6), East => east_2_west(4)(6) , Grant => Signal_grant(4)(6));
336
337Arbiter_4_7 : Arbiter
338
339PORT MAP (Request => Request(47), North => south_2_north(3)(7), West => east_2_west(3)(6), P => Signal_priority(12), Fifo_full => Fifo_full(7), 
340South => south_2_north(4)(7), East => east_2_west(4)(7) , Grant => Signal_grant(4)(7));
341
342Arbiter_4_8 : Arbiter
343
344PORT MAP (Request => Request(40), North => south_2_north(3)(8), West => east_2_west(3)(7), P => Signal_priority(12), Fifo_full => Fifo_full(8), 
345South => south_2_north(4)(8), East => east_2_west(4)(8) , Grant => Signal_grant(4)(8));
346
347-------------------------- Diagonale n° 5
348
349
350Arbiter_5_1 : Arbiter
351
352PORT MAP (Request => Request(33), North => south_2_north(4)(1), West => east_2_west(4)(8), P => Signal_priority(11), Fifo_full => Fifo_full(1), 
353South => south_2_north(5)(1), East => east_2_west(5)(1) , Grant => Signal_grant(5)(1));
354
355Arbiter_5_2 : Arbiter
356
357PORT MAP (Request => Request(26), North => south_2_north(4)(2), West => east_2_west(4)(1), P => Signal_priority(11), Fifo_full => Fifo_full(2), 
358South => south_2_north(5)(2), East => east_2_west(5)(2) , Grant => Signal_grant(5)(2));
359
360Arbiter_5_3 : Arbiter
361
362PORT MAP (Request => Request(19), North => south_2_north(4)(3), West => east_2_west(4)(2), P => Signal_priority(11), Fifo_full => Fifo_full(3), 
363South => south_2_north(5)(3), East => east_2_west(5)(3) , Grant => Signal_grant(5)(3));
364
365Arbiter_5_4 : Arbiter
366
367PORT MAP (Request => Request(12), North => south_2_north(4)(4), West => east_2_west(4)(3), P => Signal_priority(11), Fifo_full => Fifo_full(4), 
368South => south_2_north(5)(4), East => east_2_west(5)(4) , Grant => Signal_grant(5)(4));
369
370Arbiter_5_5 : Arbiter
371
372PORT MAP (Request => Request(5), North => south_2_north(4)(5), West => east_2_west(4)(4), P => Signal_priority(11), Fifo_full => Fifo_full(5), 
373South => south_2_north(5)(5), East => east_2_west(5)(5) , Grant => Signal_grant(5)(5));
374
375Arbiter_5_6 : Arbiter
376
377PORT MAP (Request => Request(62), North => south_2_north(4)(6), West => east_2_west(4)(5), P => Signal_priority(11), Fifo_full => Fifo_full(6), 
378South => south_2_north(5)(6), East => east_2_west(5)(6) , Grant => Signal_grant(5)(6));
379
380Arbiter_5_7 : Arbiter
381
382PORT MAP (Request => Request(55), North => south_2_north(4)(7), West => east_2_west(4)(6), P => Signal_priority(11), Fifo_full => Fifo_full(7), 
383South => south_2_north(5)(7), East => east_2_west(5)(7) , Grant => Signal_grant(5)(7));
384
385Arbiter_5_8 : Arbiter
386
387PORT MAP (Request => Request(48), North => south_2_north(4)(8), West => east_2_west(4)(7), P => Signal_priority(11), Fifo_full => Fifo_full(8), 
388South => south_2_north(5)(8), East => east_2_west(5)(8) , Grant => Signal_grant(5)(8));
389
390-------------------------- Diagonale n° 6
391
392
393Arbiter_6_1 : Arbiter
394
395PORT MAP (Request => Request(41), North => south_2_north(5)(1), West => east_2_west(5)(8), P => Signal_priority(10), Fifo_full => Fifo_full(1), 
396South => south_2_north(6)(1), East => east_2_west(6)(1) , Grant => Signal_grant(6)(1));
397
398Arbiter_6_2 : Arbiter
399
400PORT MAP (Request => Request(34), North => south_2_north(5)(2), West => east_2_west(5)(1), P => Signal_priority(10), Fifo_full => Fifo_full(2), 
401South => south_2_north(6)(2), East => east_2_west(6)(2) , Grant => Signal_grant(6)(2));
402
403Arbiter_6_3 : Arbiter
404
405PORT MAP (Request => Request(27), North => south_2_north(5)(3), West => east_2_west(5)(2), P => Signal_priority(10), Fifo_full => Fifo_full(3), 
406South => south_2_north(6)(3), East => east_2_west(6)(3) , Grant => Signal_grant(6)(3));
407
408Arbiter_6_4 : Arbiter
409
410PORT MAP (Request => Request(20), North => south_2_north(5)(4), West => east_2_west(5)(3), P => Signal_priority(10), Fifo_full => Fifo_full(4), 
411South => south_2_north(6)(4), East => east_2_west(6)(4) , Grant => Signal_grant(6)(4));
412
413Arbiter_6_5 : Arbiter
414
415PORT MAP (Request => Request(13), North => south_2_north(5)(5), West => east_2_west(5)(4), P => Signal_priority(10), Fifo_full => Fifo_full(5), 
416South => south_2_north(6)(5), East => east_2_west(6)(5) , Grant => Signal_grant(6)(5));
417
418Arbiter_6_6 : Arbiter
419
420PORT MAP (Request => Request(6), North => south_2_north(5)(6), West => east_2_west(5)(5), P => Signal_priority(10), Fifo_full => Fifo_full(6), 
421South => south_2_north(6)(6), East => east_2_west(6)(6) , Grant => Signal_grant(6)(6));
422
423Arbiter_6_7 : Arbiter
424
425PORT MAP (Request => Request(63), North => south_2_north(5)(7), West => east_2_west(5)(6), P => Signal_priority(10), Fifo_full => Fifo_full(7), 
426South => south_2_north(6)(7), East => east_2_west(6)(7) , Grant => Signal_grant(6)(7));
427
428Arbiter_6_8 : Arbiter
429
430PORT MAP (Request => Request(56), North => south_2_north(5)(8), West => east_2_west(5)(7), P => Signal_priority(10), Fifo_full => Fifo_full(8), 
431South => south_2_north(6)(8), East => east_2_west(6)(8) , Grant => Signal_grant(6)(8));
432
433-------------------------- Diagonale n° 7
434
435
436Arbiter_7_1 : Arbiter
437
438PORT MAP (Request => Request(49), North => south_2_north(6)(1), West => east_2_west(6)(8), P => Signal_priority(9), Fifo_full => Fifo_full(1), 
439South => south_2_north(7)(1), East => east_2_west(7)(1) , Grant => Signal_grant(7)(1));
440
441Arbiter_7_2 : Arbiter
442
443PORT MAP (Request => Request(42), North => south_2_north(6)(2), West => east_2_west(6)(1), P => Signal_priority(9), Fifo_full => Fifo_full(2), 
444South => south_2_north(7)(2), East => east_2_west(7)(2) , Grant => Signal_grant(7)(2));
445
446Arbiter_7_3 : Arbiter
447
448PORT MAP (Request => Request(35), North => south_2_north(6)(3), West => east_2_west(6)(2), P => Signal_priority(9), Fifo_full => Fifo_full(3), 
449South => south_2_north(7)(3), East => east_2_west(7)(3) , Grant => Signal_grant(7)(3));
450
451Arbiter_7_4 : Arbiter
452
453PORT MAP (Request => Request(28), North => south_2_north(6)(4), West => east_2_west(6)(3), P => Signal_priority(9), Fifo_full => Fifo_full(4), 
454South => south_2_north(7)(4), East => east_2_west(7)(4) , Grant => Signal_grant(7)(4));
455
456Arbiter_7_5 : Arbiter
457
458PORT MAP (Request => Request(21), North => south_2_north(6)(5), West => east_2_west(6)(4), P => Signal_priority(9), Fifo_full => Fifo_full(5), 
459South => south_2_north(7)(5), East => east_2_west(7)(5) , Grant => Signal_grant(7)(5));
460
461Arbiter_7_6 : Arbiter
462
463PORT MAP (Request => Request(14), North => south_2_north(6)(6), West => east_2_west(6)(5), P => Signal_priority(9), Fifo_full => Fifo_full(6), 
464South => south_2_north(7)(6), East => east_2_west(7)(6) , Grant => Signal_grant(7)(6));
465
466Arbiter_7_7 : Arbiter
467
468PORT MAP (Request => Request(7), North => south_2_north(6)(7), West => east_2_west(6)(6), P => Signal_priority(9), Fifo_full => Fifo_full(7), 
469South => south_2_north(7)(7), East => east_2_west(7)(7) , Grant => Signal_grant(7)(7));
470
471Arbiter_7_8 : Arbiter
472
473PORT MAP (Request => Request(64), North => south_2_north(6)(8), West => east_2_west(6)(7), P => Signal_priority(9), Fifo_full => Fifo_full(8), 
474South => south_2_north(7)(8), East => east_2_west(7)(8) , Grant => Signal_grant(7)(8));
475
476-------------------------- Diagonale n° 8
477
478
479Arbiter_8_1 : Arbiter
480
481PORT MAP (Request => Request(57), North => south_2_north(7)(1), West => east_2_west(7)(8), P => Signal_priority(8), Fifo_full => Fifo_full(1), 
482South => south_2_north(8)(1), East => east_2_west(8)(1) , Grant => Signal_grant(8)(1));
483
484Arbiter_8_2 : Arbiter
485
486PORT MAP (Request => Request(50), North => south_2_north(7)(2), West => east_2_west(7)(1), P => Signal_priority(8), Fifo_full => Fifo_full(2), 
487South => south_2_north(8)(2), East => east_2_west(8)(2) , Grant => Signal_grant(8)(2));
488
489Arbiter_8_3 : Arbiter
490
491PORT MAP (Request => Request(43), North => south_2_north(7)(3), West => east_2_west(7)(2), P => Signal_priority(8), Fifo_full => Fifo_full(3), 
492South => south_2_north(8)(3), East => east_2_west(8)(3) , Grant => Signal_grant(8)(3));
493
494Arbiter_8_4 : Arbiter
495
496PORT MAP (Request => Request(36), North => south_2_north(7)(4), West => east_2_west(7)(3), P => Signal_priority(8), Fifo_full => Fifo_full(4), 
497South => south_2_north(8)(4), East => east_2_west(8)(4) , Grant => Signal_grant(8)(4));
498
499Arbiter_8_5 : Arbiter
500
501PORT MAP (Request => Request(29), North => south_2_north(7)(5), West => east_2_west(7)(4), P => Signal_priority(8), Fifo_full => Fifo_full(5), 
502South => south_2_north(8)(5), East => east_2_west(8)(5) , Grant => Signal_grant(8)(5));
503
504Arbiter_8_6 : Arbiter
505
506PORT MAP (Request => Request(22), North => south_2_north(7)(6), West => east_2_west(7)(5), P => Signal_priority(8), Fifo_full => Fifo_full(6), 
507South => south_2_north(8)(6), East => east_2_west(8)(6) , Grant => Signal_grant(8)(6));
508
509Arbiter_8_7 : Arbiter
510
511PORT MAP (Request => Request(15), North => south_2_north(7)(7), West => east_2_west(7)(6), P => Signal_priority(8), Fifo_full => Fifo_full(7), 
512South => south_2_north(8)(7), East => east_2_west(8)(7) , Grant => Signal_grant(8)(7));
513
514Arbiter_8_8 : Arbiter
515
516PORT MAP (Request => Request(8), North => south_2_north(7)(8), West => east_2_west(7)(7), P => Signal_priority(8), Fifo_full => Fifo_full(8), 
517South => south_2_north(8)(8), East => east_2_west(8)(8) , Grant => Signal_grant(8)(8));
518
519-------------------------- Diagonale n° 9
520
521
522Arbiter_9_1 : Arbiter
523
524PORT MAP (Request => Request(1), North => south_2_north(8)(1), West => east_2_west(8)(8), P => Signal_priority(7), Fifo_full => Fifo_full(1), 
525South => south_2_north(9)(1), East => east_2_west(9)(1) , Grant => Signal_grant(9)(1));
526
527Arbiter_9_2 : Arbiter
528
529PORT MAP (Request => Request(58), North => south_2_north(8)(2), West => east_2_west(8)(1), P => Signal_priority(7), Fifo_full => Fifo_full(2), 
530South => south_2_north(9)(2), East => east_2_west(9)(2) , Grant => Signal_grant(9)(2));
531
532Arbiter_9_3 : Arbiter
533
534PORT MAP (Request => Request(51), North => south_2_north(8)(3), West => east_2_west(8)(2), P => Signal_priority(7), Fifo_full => Fifo_full(3), 
535South => south_2_north(9)(3), East => east_2_west(9)(3) , Grant => Signal_grant(9)(3));
536
537Arbiter_9_4 : Arbiter
538
539PORT MAP (Request => Request(44), North => south_2_north(8)(4), West => east_2_west(8)(3), P => Signal_priority(7), Fifo_full => Fifo_full(4), 
540South => south_2_north(9)(4), East => east_2_west(9)(4) , Grant => Signal_grant(9)(4));
541
542Arbiter_9_5 : Arbiter
543
544PORT MAP (Request => Request(37), North => south_2_north(8)(5), West => east_2_west(8)(4), P => Signal_priority(7), Fifo_full => Fifo_full(5), 
545South => south_2_north(9)(5), East => east_2_west(9)(5) , Grant => Signal_grant(9)(5));
546
547Arbiter_9_6 : Arbiter
548
549PORT MAP (Request => Request(30), North => south_2_north(8)(6), West => east_2_west(8)(5), P => Signal_priority(7), Fifo_full => Fifo_full(6), 
550South => south_2_north(9)(6), East => east_2_west(9)(6) , Grant => Signal_grant(9)(6));
551
552Arbiter_9_7 : Arbiter
553
554PORT MAP (Request => Request(23), North => south_2_north(8)(7), West => east_2_west(8)(6), P => Signal_priority(7), Fifo_full => Fifo_full(7), 
555South => south_2_north(9)(7), East => east_2_west(9)(7) , Grant => Signal_grant(9)(7));
556
557Arbiter_9_8 : Arbiter
558
559PORT MAP (Request => Request(16), North => south_2_north(8)(8), West => east_2_west(8)(7), P => Signal_priority(7), Fifo_full => Fifo_full(8), 
560South => south_2_north(9)(8), East => east_2_west(9)(8) , Grant => Signal_grant(9)(8));
561
562-------------------------- Diagonale n° 10
563
564
565Arbiter_10_1 : Arbiter
566
567PORT MAP (Request => Request(9), North => south_2_north(9)(1), West => east_2_west(9)(8), P => Signal_priority(6), Fifo_full => Fifo_full(1), 
568South => south_2_north(10)(1), East => east_2_west(10)(1) , Grant => Signal_grant(10)(1));
569
570Arbiter_10_2 : Arbiter
571
572PORT MAP (Request => Request(2), North => south_2_north(9)(2), West => east_2_west(9)(1), P => Signal_priority(6), Fifo_full => Fifo_full(2), 
573South => south_2_north(10)(2), East => east_2_west(10)(2) , Grant => Signal_grant(10)(2));
574
575Arbiter_10_3 : Arbiter
576
577PORT MAP (Request => Request(59), North => south_2_north(9)(3), West => east_2_west(9)(2), P => Signal_priority(6), Fifo_full => Fifo_full(3), 
578South => south_2_north(10)(3), East => east_2_west(10)(3) , Grant => Signal_grant(10)(3));
579
580Arbiter_10_4 : Arbiter
581
582PORT MAP (Request => Request(52), North => south_2_north(9)(4), West => east_2_west(9)(3), P => Signal_priority(6), Fifo_full => Fifo_full(4), 
583South => south_2_north(10)(4), East => east_2_west(10)(4) , Grant => Signal_grant(10)(4));
584
585Arbiter_10_5 : Arbiter
586
587PORT MAP (Request => Request(45), North => south_2_north(9)(5), West => east_2_west(9)(4), P => Signal_priority(6), Fifo_full => Fifo_full(5), 
588South => south_2_north(10)(5), East => east_2_west(10)(5) , Grant => Signal_grant(10)(5));
589
590Arbiter_10_6 : Arbiter
591
592PORT MAP (Request => Request(38), North => south_2_north(9)(6), West => east_2_west(9)(5), P => Signal_priority(6), Fifo_full => Fifo_full(6), 
593South => south_2_north(10)(6), East => east_2_west(10)(6) , Grant => Signal_grant(10)(6));
594
595Arbiter_10_7 : Arbiter
596
597PORT MAP (Request => Request(31), North => south_2_north(9)(7), West => east_2_west(9)(6), P => Signal_priority(6), Fifo_full => Fifo_full(7), 
598South => south_2_north(10)(7), East => east_2_west(10)(7) , Grant => Signal_grant(10)(7));
599
600Arbiter_10_8 : Arbiter
601
602PORT MAP (Request => Request(24), North => south_2_north(9)(8), West => east_2_west(9)(7), P => Signal_priority(6), Fifo_full => Fifo_full(8), 
603South => south_2_north(10)(8), East => east_2_west(10)(8) , Grant => Signal_grant(10)(8));
604
605-------------------------- Diagonale n° 11
606
607
608Arbiter_11_1 : Arbiter
609
610PORT MAP (Request => Request(17), North => south_2_north(10)(1), West => east_2_west(10)(8), P => Signal_priority(5), Fifo_full => Fifo_full(1), 
611South => south_2_north(11)(1), East => east_2_west(11)(1) , Grant => Signal_grant(11)(1));
612
613Arbiter_11_2 : Arbiter
614
615PORT MAP (Request => Request(10), North => south_2_north(10)(2), West => east_2_west(10)(1), P => Signal_priority(5), Fifo_full => Fifo_full(2), 
616South => south_2_north(11)(2), East => east_2_west(11)(2) , Grant => Signal_grant(11)(2));
617
618Arbiter_11_3 : Arbiter
619
620PORT MAP (Request => Request(3), North => south_2_north(10)(3), West => east_2_west(10)(2), P => Signal_priority(5), Fifo_full => Fifo_full(3), 
621South => south_2_north(11)(3), East => east_2_west(11)(3) , Grant => Signal_grant(11)(3));
622
623Arbiter_11_4 : Arbiter
624
625PORT MAP (Request => Request(60), North => south_2_north(10)(4), West => east_2_west(10)(3), P => Signal_priority(5), Fifo_full => Fifo_full(4), 
626South => south_2_north(11)(4), East => east_2_west(11)(4) , Grant => Signal_grant(11)(4));
627
628Arbiter_11_5 : Arbiter
629
630PORT MAP (Request => Request(53), North => south_2_north(10)(5), West => east_2_west(10)(4), P => Signal_priority(5), Fifo_full => Fifo_full(5), 
631South => south_2_north(11)(5), East => east_2_west(11)(5) , Grant => Signal_grant(11)(5));
632
633Arbiter_11_6 : Arbiter
634
635PORT MAP (Request => Request(46), North => south_2_north(10)(6), West => east_2_west(10)(5), P => Signal_priority(5), Fifo_full => Fifo_full(6), 
636South => south_2_north(11)(6), East => east_2_west(11)(6) , Grant => Signal_grant(11)(6));
637
638Arbiter_11_7 : Arbiter
639
640PORT MAP (Request => Request(39), North => south_2_north(10)(7), West => east_2_west(10)(6), P => Signal_priority(5), Fifo_full => Fifo_full(7), 
641South => south_2_north(11)(7), East => east_2_west(11)(7) , Grant => Signal_grant(11)(7));
642
643Arbiter_11_8 : Arbiter
644
645PORT MAP (Request => Request(32), North => south_2_north(10)(8), West => east_2_west(10)(7), P => Signal_priority(5), Fifo_full => Fifo_full(8), 
646South => south_2_north(11)(8), East => east_2_west(11)(8) , Grant => Signal_grant(11)(8));
647
648-------------------------- Diagonale n° 12
649
650
651Arbiter_12_1 : Arbiter
652
653PORT MAP (Request => Request(25), North => south_2_north(11)(1), West => east_2_west(11)(8), P => Signal_priority(4), Fifo_full => Fifo_full(1), 
654South => south_2_north(12)(1), East => east_2_west(12)(1) , Grant => Signal_grant(12)(1));
655
656Arbiter_12_2 : Arbiter
657
658PORT MAP (Request => Request(18), North => south_2_north(11)(2), West => east_2_west(11)(1), P => Signal_priority(4), Fifo_full => Fifo_full(2), 
659South => south_2_north(12)(2), East => east_2_west(12)(2) , Grant => Signal_grant(12)(2));
660
661Arbiter_12_3 : Arbiter
662
663PORT MAP (Request => Request(11), North => south_2_north(11)(3), West => east_2_west(11)(2), P => Signal_priority(4), Fifo_full => Fifo_full(3), 
664South => south_2_north(12)(3), East => east_2_west(12)(3) , Grant => Signal_grant(12)(3));
665
666Arbiter_12_4 : Arbiter
667
668PORT MAP (Request => Request(4), North => south_2_north(11)(4), West => east_2_west(11)(3), P => Signal_priority(4), Fifo_full => Fifo_full(4), 
669South => south_2_north(12)(4), East => east_2_west(12)(4) , Grant => Signal_grant(12)(4));
670
671Arbiter_12_5 : Arbiter
672
673PORT MAP (Request => Request(61), North => south_2_north(11)(5), West => east_2_west(11)(4), P => Signal_priority(4), Fifo_full => Fifo_full(5), 
674South => south_2_north(12)(5), East => east_2_west(12)(5) , Grant => Signal_grant(12)(5));
675
676Arbiter_12_6 : Arbiter
677
678PORT MAP (Request => Request(54), North => south_2_north(11)(6), West => east_2_west(11)(5), P => Signal_priority(4), Fifo_full => Fifo_full(6), 
679South => south_2_north(12)(6), East => east_2_west(12)(6) , Grant => Signal_grant(12)(6));
680
681Arbiter_12_7 : Arbiter
682
683PORT MAP (Request => Request(47), North => south_2_north(11)(7), West => east_2_west(11)(6), P => Signal_priority(4), Fifo_full => Fifo_full(7), 
684South => south_2_north(12)(7), East => east_2_west(12)(7) , Grant => Signal_grant(12)(7));
685
686Arbiter_12_8 : Arbiter
687
688PORT MAP (Request => Request(40), North => south_2_north(11)(8), West => east_2_west(11)(7), P => Signal_priority(4), Fifo_full => Fifo_full(8), 
689South => south_2_north(12)(8), East => east_2_west(12)(8) , Grant => Signal_grant(12)(8));
690
691-------------------------- Diagonale n° 13
692
693
694Arbiter_13_1 : Arbiter
695
696PORT MAP (Request => Request(33), North => south_2_north(12)(1), West => east_2_west(12)(8), P => Signal_priority(3), Fifo_full => Fifo_full(1), 
697South => south_2_north(13)(1), East => east_2_west(13)(1) , Grant => Signal_grant(13)(1));
698
699Arbiter_13_2 : Arbiter
700
701PORT MAP (Request => Request(26), North => south_2_north(12)(2), West => east_2_west(12)(1), P => Signal_priority(3), Fifo_full => Fifo_full(2), 
702South => south_2_north(13)(2), East => east_2_west(13)(2) , Grant => Signal_grant(13)(2));
703
704Arbiter_13_3 : Arbiter
705
706PORT MAP (Request => Request(19), North => south_2_north(12)(3), West => east_2_west(12)(2), P => Signal_priority(3), Fifo_full => Fifo_full(3), 
707South => south_2_north(13)(3), East => east_2_west(13)(3) , Grant => Signal_grant(13)(3));
708
709Arbiter_13_4 : Arbiter
710
711PORT MAP (Request => Request(12), North => south_2_north(12)(4), West => east_2_west(12)(3), P => Signal_priority(3), Fifo_full => Fifo_full(4), 
712South => south_2_north(13)(4), East => east_2_west(13)(4) , Grant => Signal_grant(13)(4));
713
714Arbiter_13_5 : Arbiter
715
716PORT MAP (Request => Request(5), North => south_2_north(12)(5), West => east_2_west(12)(4), P => Signal_priority(3), Fifo_full => Fifo_full(5), 
717South => south_2_north(13)(5), East => east_2_west(13)(5) , Grant => Signal_grant(13)(5));
718
719Arbiter_13_6 : Arbiter
720
721PORT MAP (Request => Request(62), North => south_2_north(12)(6), West => east_2_west(12)(5), P => Signal_priority(3), Fifo_full => Fifo_full(6), 
722South => south_2_north(13)(6), East => east_2_west(13)(6) , Grant => Signal_grant(13)(6));
723
724Arbiter_13_7 : Arbiter
725
726PORT MAP (Request => Request(55), North => south_2_north(12)(7), West => east_2_west(12)(6), P => Signal_priority(3), Fifo_full => Fifo_full(7), 
727South => south_2_north(13)(7), East => east_2_west(13)(7) , Grant => Signal_grant(13)(7));
728
729Arbiter_13_8 : Arbiter
730
731PORT MAP (Request => Request(48), North => south_2_north(12)(8), West => east_2_west(12)(7), P => Signal_priority(3), Fifo_full => Fifo_full(8), 
732South => south_2_north(13)(8), East => east_2_west(13)(8) , Grant => Signal_grant(13)(8));
733
734-------------------------- Diagonale n° 14
735
736
737Arbiter_14_1 : Arbiter
738
739PORT MAP (Request => Request(41), North => south_2_north(13)(1), West => east_2_west(13)(8), P => Signal_priority(2), Fifo_full => Fifo_full(1), 
740South => south_2_north(14)(1), East => east_2_west(14)(1) , Grant => Signal_grant(14)(1));
741
742Arbiter_14_2 : Arbiter
743
744PORT MAP (Request => Request(34), North => south_2_north(13)(2), West => east_2_west(13)(1), P => Signal_priority(2), Fifo_full => Fifo_full(2), 
745South => south_2_north(14)(2), East => east_2_west(14)(2) , Grant => Signal_grant(14)(2));
746
747Arbiter_14_3 : Arbiter
748
749PORT MAP (Request => Request(27), North => south_2_north(13)(3), West => east_2_west(13)(2), P => Signal_priority(2), Fifo_full => Fifo_full(3), 
750South => south_2_north(14)(3), East => east_2_west(14)(3) , Grant => Signal_grant(14)(3));
751
752Arbiter_14_4 : Arbiter
753
754PORT MAP (Request => Request(20), North => south_2_north(13)(4), West => east_2_west(13)(3), P => Signal_priority(2), Fifo_full => Fifo_full(4), 
755South => south_2_north(14)(4), East => east_2_west(14)(4) , Grant => Signal_grant(14)(4));
756
757Arbiter_14_5 : Arbiter
758
759PORT MAP (Request => Request(13), North => south_2_north(13)(5), West => east_2_west(13)(4), P => Signal_priority(2), Fifo_full => Fifo_full(5), 
760South => south_2_north(14)(5), East => east_2_west(14)(5) , Grant => Signal_grant(14)(5));
761
762Arbiter_14_6 : Arbiter
763
764PORT MAP (Request => Request(6), North => south_2_north(13)(6), West => east_2_west(13)(5), P => Signal_priority(2), Fifo_full => Fifo_full(6), 
765South => south_2_north(14)(6), East => east_2_west(14)(6) , Grant => Signal_grant(14)(6));
766
767Arbiter_14_7 : Arbiter
768
769PORT MAP (Request => Request(63), North => south_2_north(13)(7), West => east_2_west(13)(6), P => Signal_priority(2), Fifo_full => Fifo_full(7), 
770South => south_2_north(14)(7), East => east_2_west(14)(7) , Grant => Signal_grant(14)(7));
771
772Arbiter_14_8 : Arbiter
773
774PORT MAP (Request => Request(56), North => south_2_north(13)(8), West => east_2_west(13)(7), P => Signal_priority(2), Fifo_full => Fifo_full(8), 
775South => south_2_north(14)(8), East => east_2_west(14)(8) , Grant => Signal_grant(14)(8));
776
777-------------------------- Diagonale n° 15
778
779
780Arbiter_15_1 : Arbiter
781
782PORT MAP (Request => Request(49), North => south_2_north(14)(1), West => east_2_west(14)(8), P => Signal_priority(1), Fifo_full => Fifo_full(1), 
783South => south_2_north(15)(1), East => east_2_west(15)(1) , Grant => Signal_grant(15)(1));
784
785Arbiter_15_2 : Arbiter
786
787PORT MAP (Request => Request(42), North => south_2_north(14)(2), West => east_2_west(14)(1), P => Signal_priority(1), Fifo_full => Fifo_full(2), 
788South => south_2_north(15)(2), East => east_2_west(15)(2) , Grant => Signal_grant(15)(2));
789
790Arbiter_15_3 : Arbiter
791
792PORT MAP (Request => Request(35), North => south_2_north(14)(3), West => east_2_west(14)(2), P => Signal_priority(1), Fifo_full => Fifo_full(3), 
793South => south_2_north(15)(3), East => east_2_west(15)(3) , Grant => Signal_grant(15)(3));
794
795Arbiter_15_4 : Arbiter
796
797PORT MAP (Request => Request(28), North => south_2_north(14)(4), West => east_2_west(14)(3), P => Signal_priority(1), Fifo_full => Fifo_full(4), 
798South => south_2_north(15)(4), East => east_2_west(15)(4) , Grant => Signal_grant(15)(4));
799
800Arbiter_15_5 : Arbiter
801
802PORT MAP (Request => Request(21), North => south_2_north(14)(5), West => east_2_west(14)(4), P => Signal_priority(1), Fifo_full => Fifo_full(5), 
803South => south_2_north(15)(5), East => east_2_west(15)(5) , Grant => Signal_grant(15)(5));
804
805Arbiter_15_6 : Arbiter
806
807PORT MAP (Request => Request(14), North => south_2_north(14)(6), West => east_2_west(14)(5), P => Signal_priority(1), Fifo_full => Fifo_full(6), 
808South => south_2_north(15)(6), East => east_2_west(15)(6) , Grant => Signal_grant(15)(6));
809
810Arbiter_15_7 : Arbiter
811
812PORT MAP (Request => Request(7), North => south_2_north(14)(7), West => east_2_west(14)(6), P => Signal_priority(1), Fifo_full => Fifo_full(7), 
813South => south_2_north(15)(7), East => east_2_west(15)(7) , Grant => Signal_grant(15)(7));
814
815Arbiter_15_8 : Arbiter
816
817PORT MAP (Request => Request(64), North => south_2_north(14)(8), West => east_2_west(14)(7), P => Signal_priority(1), Fifo_full => Fifo_full(8), 
818South => south_2_north(15)(8), East => east_2_west(15)(8) , Grant => Signal_grant(15)(8));
819
820
821--processus permettant de roter la priorité des diagonales à chaque front d'horloge
822 -- rotation round robin
823         round_robin : process(clk)
824        begin
825                if rising_edge(clk) then
826                 if reset ='1' then
827                    Signal_priority <= "111111110000000";
828                  elsif priority_rotation_en = '1' then
829                    case Signal_priority is
830                       when "111111110000000" => Signal_priority <= "011111111000000";
831                       when "011111111000000" => Signal_priority <= "001111111100000";
832                       when "001111111100000" => Signal_priority <= "000111111110000";
833                       when "000111111110000" => Signal_priority <= "000011111111000";
834                       when "000011111111000" => Signal_priority <= "000001111111100";
835                       when "000001111111100" => Signal_priority <= "000000111111110";
836                       when "000000111111110" => Signal_priority <= "000000011111111";
837                       when "000000011111111" => Signal_priority <= "111111110000000";
838                       when others    => Signal_priority <= "111111110000000";
839                  end case;
840                 end if;
841             end if;
842         end process;
843
844end Behavioral;
845
Note: See TracBrowser for help on using the repository browser.