source: PROJECT_CORE_MPI/MPI_HCL/TRUNK/NOC/SCHEDULER8_8.VHD

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