Changeset 139 for PROJECT_CORE_MPI/MPI_HCL/BRANCHES/v2.0/NOC/SWITCH_GEN.vhd
- Timestamp:
- May 21, 2014, 11:36:19 AM (10 years ago)
- Location:
- PROJECT_CORE_MPI/MPI_HCL/BRANCHES/v2.0
- Files:
-
- 1 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
PROJECT_CORE_MPI/MPI_HCL/BRANCHES/v2.0/NOC/SWITCH_GEN.vhd
r101 r139 14 14 -- nécessaire à l'implémentation du switch de la dimension voulue 15 15 -- Dependencies: 16 -- 16 -- Modifié le 28/04/1975 17 17 -- Revision: 18 18 -- Revision 0.01 - File Created … … 32 32 entity SWITCH_GEN is 33 33 --type portio is array(positive range) of std_logic_vector (7 downto 0); 34 generic(number_of_ports : positive := 8); 34 generic(n_ports : positive := 8;-- :nombre de ports E/S du NoC 2 à 16 35 tot_ports: positive :=16; -- nombre total de ports 36 NET_ADR :std_logic_vector(9 downto 0):="0000000000"; 37 NET_MASK:natural:=0); -- Nombre de bits à un du masque en partant de la gauche 35 38 port( 36 39 -- ports d'entree 37 Port_in : in typ_portIO(1 to n umber_of_ports) ;40 Port_in : in typ_portIO(1 to n_ports) ; 38 41 39 42 40 43 -- port de sortie 41 Port_out : out typ_portIO(1 to n umber_of_ports);44 Port_out : out typ_portIO(1 to n_ports); 42 45 43 46 -- signaux de controle 44 data_in_en : in std_logic_vector(n umber_of_ports downto 1);45 cmd_in_en : in std_logic_vector(n umber_of_ports downto 1);46 data_out_en : in std_logic_vector(n umber_of_ports downto 1);47 fifo_in_full : out std_logic_vector(n umber_of_ports downto 1);48 fifo_in_empty : out std_logic_vector(n umber_of_ports downto 1);49 data_available : out std_logic_vector(n umber_of_ports downto 1);47 data_in_en : in std_logic_vector(n_ports downto 1); 48 cmd_in_en : in std_logic_vector(n_ports downto 1); 49 data_out_en : in std_logic_vector(n_ports downto 1); 50 fifo_in_full : out std_logic_vector(n_ports downto 1); 51 fifo_in_empty : out std_logic_vector(n_ports downto 1); 52 data_available : out std_logic_vector(n_ports downto 1); 50 53 clk : in STD_LOGIC; 51 54 reset : in STD_LOGIC); … … 58 61 COMPONENT INPUT_PORT_MODULE 59 62 generic(number_of_ports : positive := 8; 60 Port_num: natural); 61 Port ( data_in : in STD_LOGIC_VECTOR (7 downto 0); 63 Port_num: natural; 64 adr_mask : natural := NET_MASK;--le nombre de '1' en partant le la gauche de l'adresse 65 adr_len: positive:=NET_ADR'length; --la taille en bit de l'adresse 10 bits --> 1024 hotes 66 tot_ports: positive :=tot_ports; --Nomnre de ports total du réseau 67 adr_sub_net : std_logic_vector(9 downto 0) := NET_ADR;--l'adresse du sous-réseau 68 nbyte : positive:=2 -- le nombre de Byte dans chaque mot du port par défaut 2 69 70 ); 71 Port ( data_in : in STD_LOGIC_VECTOR (Word-1 downto 0); 62 72 data_in_en : in STD_LOGIC; 63 73 cmd_in_en : in STD_LOGIC; 64 74 reset : in STD_LOGIC; 65 75 clk : in STD_LOGIC; 66 request : out STD_LOGIC_VECTOR (n umber_of_ports downto 1);67 grant : in STD_LOGIC_VECTOR (n umber_of_ports downto 1);76 request : out STD_LOGIC_VECTOR (n_ports downto 1); 77 grant : in STD_LOGIC_VECTOR (n_ports downto 1); 68 78 fifo_full : out STD_LOGIC; 69 79 fifo_empty : out STD_LOGIC; 70 80 priority_rotation : out std_logic; 71 data_out : out STD_LOGIC_VECTOR (7 downto 0); 81 data_out : out STD_LOGIC_VECTOR (7 downto 0); -- le crossbar est fixé à 8 bits 72 82 data_out_pulse : out std_logic); 73 83 END COMPONENT; … … 77 87 COMPONENT OUTPUT_PORT_MODULE 78 88 PORT( 79 data_in : IN std_logic_vector(7 downto 0); 89 data_in : IN std_logic_vector(7 downto 0); -- le crossbar est fixé à 8 bits 80 90 reset : IN std_logic; 81 91 clk : IN std_logic; 82 92 wr_en : IN std_logic; 83 93 rd_out_en : IN std_logic; 84 data_out : OUT std_logic_vector( 7downto 0);94 data_out : OUT std_logic_vector(Word-1 downto 0); 85 95 fifo_full : OUT std_logic; 86 96 data_avalaible : OUT std_logic … … 185 195 --declaration des signaux de connection entre les modules du switch 186 196 187 Signal Request_signal : STD_LOGIC_VECTOR(n umber_of_ports*number_of_ports downto 1);188 Signal grant_signal : STD_LOGIC_VECTOR(n umber_of_ports*number_of_ports downto 1);189 Signal priority_rotation_signal : STD_LOGIC_VECTOR(n umber_of_ports downto 1);190 signal fifo_out_full_signal : std_logic_vector(n umber_of_ports downto 1);191 192 signal crossbar_in_port : Typ_PortIO (1 to number_of_ports);193 194 195 196 signal crossbar_out_port : Typ_PortIO (1 to number_of_ports);197 198 199 signal crossbar_in_pulse : std_logic_vector(n umber_of_ports downto 1);200 201 202 signal crossbar_out_pulse : std_logic_vector(n umber_of_ports downto 1);197 Signal Request_signal : STD_LOGIC_VECTOR(n_ports*n_ports downto 1); 198 Signal grant_signal : STD_LOGIC_VECTOR(n_ports*n_ports downto 1); 199 Signal priority_rotation_signal : STD_LOGIC_VECTOR(n_ports downto 1); 200 signal fifo_out_full_signal : std_logic_vector(n_ports downto 1); 201 202 signal crossbar_in_port : Typ_PortIO8(1 to n_ports); 203 204 205 206 signal crossbar_out_port : Typ_PortIO8(1 to n_ports); 207 208 209 signal crossbar_in_pulse : std_logic_vector(n_ports downto 1); 210 211 212 signal crossbar_out_pulse : std_logic_vector(n_ports downto 1); 203 213 204 214 … … 208 218 -- le circuit genere depend du parametre generique nombre de ports 209 219 -- switch 2 ports 210 switch2x2 : if n umber_of_ports = 2 generate220 switch2x2 : if n_ports = 2 generate 211 221 212 222 PORT1_INPUT_PORT_MODULE: INPUT_PORT_MODULE 213 GENERIC MAP(number_of_ports =>2,Port_num=>1) 223 GENERIC MAP(number_of_ports =>2,Port_num=>1, 224 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 225 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 226 tot_ports=>tot_ports, --Nomnre de ports total du réseau 227 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 228 nbyte =>WORD/8) 214 229 PORT MAP( 215 230 data_in => Port_in(1), … … 230 245 231 246 PORT2_INPUT_PORT_MODULE: INPUT_PORT_MODULE 232 GENERIC MAP(number_of_ports =>2,Port_num=>2) 247 GENERIC MAP(number_of_ports =>2,Port_num=>2, 248 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 249 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 250 tot_ports=>tot_ports, --Nomnre de ports total du réseau 251 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 252 nbyte =>WORD/8) 233 253 PORT MAP( 234 254 data_in => Port_in(2), … … 252 272 253 273 -- switch 3 ports 254 switch3x3 : if n umber_of_ports = 3 generate274 switch3x3 : if n_ports = 3 generate 255 275 256 276 PORT1_INPUT_PORT_MODULE: INPUT_PORT_MODULE 257 GENERIC MAP(number_of_ports =>3,Port_num=>1) 277 GENERIC MAP(number_of_ports =>3,Port_num=>1, 278 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 279 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 280 tot_ports=>tot_ports, --Nomnre de ports total du réseau 281 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 282 nbyte =>WORD/8) 258 283 PORT MAP( 259 284 data_in => Port_in(1), … … 276 301 277 302 PORT2_INPUT_PORT_MODULE: INPUT_PORT_MODULE 278 GENERIC MAP(number_of_ports =>3,Port_num=>2) 303 GENERIC MAP(number_of_ports =>3,Port_num=>2, 304 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 305 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 306 tot_ports=>tot_ports, --Nomnre de ports total du réseau 307 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 308 nbyte =>WORD/8) 279 309 PORT MAP( 280 310 data_in => Port_in(2), … … 283 313 reset => reset, 284 314 clk =>clk, 285 grant( 4) => grant_signal(4),286 grant( 5) => grant_signal(5),287 grant( 6) => grant_signal(6),315 grant(1) => grant_signal(4), 316 grant(2) => grant_signal(5), 317 grant(3) => grant_signal(6), 288 318 fifo_full =>fifo_in_full(2), 289 319 priority_rotation => priority_rotation_signal(2), … … 291 321 data_out =>crossbar_in_port(2), 292 322 data_out_pulse =>crossbar_in_pulse(2), 293 request( 4) =>request_signal(4),294 request( 5) =>request_signal(5),295 request( 6) =>request_signal(6)323 request(1) =>request_signal(4), 324 request(2) =>request_signal(5), 325 request(3) =>request_signal(6) 296 326 ); 297 327 298 328 PORT3_INPUT_PORT_MODULE: INPUT_PORT_MODULE 299 GENERIC MAP(number_of_ports =>3,Port_num=>3) 329 GENERIC MAP(number_of_ports =>3,Port_num=>3, 330 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 331 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 332 tot_ports=>tot_ports, --Nomnre de ports total du réseau 333 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 334 nbyte =>WORD/8) 300 335 PORT MAP( 301 336 data_in => Port_in(3), … … 304 339 reset => reset, 305 340 clk =>clk, 306 grant( 7) => grant_signal(7),307 grant( 8) => grant_signal(8),308 grant( 9) => grant_signal(9),341 grant(1) => grant_signal(7), 342 grant(2) => grant_signal(8), 343 grant(3) => grant_signal(9), 309 344 fifo_full =>fifo_in_full(3), 310 345 priority_rotation => priority_rotation_signal(3), … … 312 347 data_out =>crossbar_in_port(3), 313 348 data_out_pulse =>crossbar_in_pulse(3), 314 request( 7) =>request_signal(7),315 request( 8) =>request_signal(8),316 request( 9) =>request_signal(9)349 request(1) =>request_signal(7), 350 request(2) =>request_signal(8), 351 request(3) =>request_signal(9) 317 352 ); 318 353 … … 321 356 322 357 -- switch 4 à 7 ports 323 switch4x4_7x7 : if n umber_of_ports >= 4 and number_of_ports <=7 generate324 325 switch_4x4_7x7:for i in 1 to n umber_of_ports generate326 327 constant j: natural:=n umber_of_ports*(i-1);358 switch4x4_7x7 : if n_ports >= 4 and n_ports <=7 generate 359 360 switch_4x4_7x7:for i in 1 to n_ports generate 361 362 constant j: natural:=n_ports*(i-1); 328 363 begin 329 --j=n umber_of_ports*(i-1);364 --j=n_ports*(i-1); 330 365 PORTx4_INPUT_PORT_MODULE: INPUT_PORT_MODULE 331 GENERIC MAP(number_of_ports =>number_of_ports,Port_num=>i) 366 GENERIC MAP(number_of_ports =>n_ports,Port_num=>i, 367 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 368 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 369 tot_ports=>tot_ports, --Nomnre de ports total du réseau 370 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 371 nbyte =>WORD/8) 332 372 PORT MAP( 333 373 data_in => Port_in(i), … … 336 376 reset => reset, 337 377 clk =>clk, 338 grant =>grant_signal(j+ NUMBER_OF_PORTSdownto j+1),378 grant =>grant_signal(j+n_ports downto j+1), 339 379 340 380 fifo_full =>fifo_in_full(i), … … 343 383 data_out =>crossbar_in_port(i), 344 384 data_out_pulse =>crossbar_in_pulse(i), 345 request =>request_signal(j+ NUMBER_OF_PORTSdownto j+1)385 request =>request_signal(j+n_ports downto j+1) 346 386 347 387 ); … … 351 391 352 392 ---- switch 5 ports 353 --switch5x5 : if n umber_of_ports = 5 generate393 --switch5x5 : if n_ports = 5 generate 354 394 -- 355 395 --PORT1_INPUT_PORT_MODULE: INPUT_PORT_MODULE 356 --GENERIC MAP(n umber_of_ports =>5)396 --GENERIC MAP(n_ports =>5) 357 397 --PORT MAP( 358 398 -- data_in => Port_in(1), … … 378 418 -- 379 419 --PORT2_INPUT_PORT_MODULE: INPUT_PORT_MODULE 380 --GENERIC MAP(n umber_of_ports =>5)420 --GENERIC MAP(n_ports =>5) 381 421 --PORT MAP( 382 422 -- data_in => Port_in(2), … … 402 442 -- 403 443 --PORT3_INPUT_PORT_MODULE: INPUT_PORT_MODULE 404 --GENERIC MAP(n umber_of_ports =>5)444 --GENERIC MAP(n_ports =>5) 405 445 --PORT MAP( 406 446 -- data_in => Port_in(3), … … 426 466 -- 427 467 --PORT4_INPUT_PORT_MODULE: INPUT_PORT_MODULE 428 --GENERIC MAP(n umber_of_ports =>5)468 --GENERIC MAP(n_ports =>5) 429 469 --PORT MAP( 430 470 -- data_in => Port_in(4), … … 450 490 -- 451 491 --PORT5_INPUT_PORT_MODULE: INPUT_PORT_MODULE 452 --GENERIC MAP(n umber_of_ports =>5)492 --GENERIC MAP(n_ports =>5) 453 493 --PORT MAP( 454 494 -- data_in => Port_in(5), … … 477 517 -- 478 518 ---- switch 6 ports 479 --switch6x6 : if n umber_of_ports = 6 generate519 --switch6x6 : if n_ports = 6 generate 480 520 -- 481 521 --PORT1_INPUT_PORT_MODULE: INPUT_PORT_MODULE 482 --GENERIC MAP(n umber_of_ports =>6)522 --GENERIC MAP(n_ports =>6) 483 523 --PORT MAP( 484 524 -- data_in => Port_in(1), … … 845 885 846 886 -- switch 8 ports 847 switch8x8 : if n umber_of_ports = 8 generate848 switch_8x8:for i in 1 to n umber_of_ports generate849 constant j: natural:=n umber_of_ports*(i-1);887 switch8x8 : if n_ports = 8 generate 888 switch_8x8:for i in 1 to n_ports generate 889 constant j: natural:=n_ports*(i-1); 850 890 begin 851 891 --j<=number_of_ports*(i-1); 852 892 PORTx8_INPUT_PORT_MODULE: INPUT_PORT_MODULE 853 GENERIC MAP(number_of_ports =>8,Port_num=>i) 893 GENERIC MAP(number_of_ports =>8,Port_num=>i, 894 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 895 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 896 tot_ports=>tot_ports, --Nomnre de ports total du réseau 897 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 898 nbyte =>WORD/8) 854 899 PORT MAP( 855 900 data_in => Port_in(i), … … 858 903 reset => reset, 859 904 clk =>clk, 860 grant =>grant_signal(j+ NUMBER_OF_PORTSdownto j+1),905 grant =>grant_signal(j+n_ports downto j+1), 861 906 fifo_full =>fifo_in_full(i), 862 907 priority_rotation => priority_rotation_signal(i), … … 865 910 data_out_pulse =>crossbar_in_pulse(i), 866 911 867 request =>request_signal(j+ NUMBER_OF_PORTSdownto j+1)912 request =>request_signal(j+n_ports downto j+1) 868 913 ); 869 914 end generate switch_8x8; … … 871 916 872 917 -- switch 9 ports 873 switch9x9_to_15 : if (n umber_of_ports >= 9)and (number_of_ports <= 15) generate874 875 switch_9x9_to_15:for i in 1 to n umber_of_ports generate876 877 constant j: natural:=n umber_of_ports*(i-1);918 switch9x9_to_15 : if (n_ports >= 9)and (n_ports <= 15) generate 919 920 switch_9x9_to_15:for i in 1 to n_ports generate 921 922 constant j: natural:=n_ports*(i-1); 878 923 begin 879 924 880 925 PORTx9_INPUT_PORT_MODULE: INPUT_PORT_MODULE 881 GENERIC MAP(number_of_ports =>NUMBER_OF_PORTS,Port_num=>i) 926 GENERIC MAP(number_of_ports =>n_ports,Port_num=>i, 927 adr_mask => NET_MASK,--le nombre de '1' en partant le la gauche de l'adresse 928 adr_len=>NET_ADR'length, --la taille en bit de l'adresse 10 bits --> 1024 hotes 929 tot_ports=>tot_ports, --Nomnre de ports total du réseau 930 adr_sub_net => NET_ADR,--l'adresse du sous-réseau 931 nbyte =>WORD/8) 882 932 PORT MAP( 883 933 data_in => Port_in(i), … … 886 936 reset => reset, 887 937 clk =>clk, 888 grant => grant_signal(j+ NUMBER_OF_PORTSdownto j+1),938 grant => grant_signal(j+n_ports downto j+1), 889 939 fifo_full =>fifo_in_full(i), 890 940 priority_rotation => priority_rotation_signal(i), … … 893 943 data_out_pulse =>crossbar_in_pulse(i), 894 944 895 request =>request_signal(j+ NUMBER_OF_PORTSdownto j+1)945 request =>request_signal(j+n_ports downto j+1) 896 946 ); 897 947 end generate switch_9x9_to_15; … … 3897 3947 3898 3948 -- switch 16 ports 3899 switch16x16 : if n umber_of_ports = 16 generate3900 switch_16x16 :for i in 1 to n umber_of_ports generate3901 Constant j : natural:=n umber_of_ports*(i-1);3949 switch16x16 : if n_ports = 16 generate 3950 switch_16x16 :for i in 1 to n_ports generate 3951 Constant j : natural:=n_ports*(i-1); 3902 3952 begin 3903 3953 --j<=number_of_ports*(i-1); … … 4644 4694 -- le circuit genere depend du parametre generique nombre de ports 4645 4695 -- switch 2 ports 4646 port_out_switch2x2 : if n umber_of_ports = 2 generate4696 port_out_switch2x2 : if n_ports = 2 generate 4647 4697 4648 4698 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 4674 4724 4675 4725 -- switch 3 ports 4676 port_out_switch3x3 : if n umber_of_ports = 3 generate4726 port_out_switch3x3 : if n_ports = 3 generate 4677 4727 4678 4728 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 4716 4766 4717 4767 -- switch 4 ports 4718 port_out_switch4x4 : if n umber_of_ports = 4 generate4768 port_out_switch4x4 : if n_ports = 4 generate 4719 4769 4720 4770 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 4770 4820 4771 4821 -- switch 5 ports 4772 port_out_switch5x5 : if n umber_of_ports = 5 generate4822 port_out_switch5x5 : if n_ports = 5 generate 4773 4823 4774 4824 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 4836 4886 4837 4887 -- switch 6 ports 4838 port_out_switch6x6 : if n umber_of_ports = 6 generate4888 port_out_switch6x6 : if n_ports = 6 generate 4839 4889 4840 4890 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 4914 4964 4915 4965 -- switch 7 ports 4916 port_out_switch7x7 : if n umber_of_ports = 7 generate4966 port_out_switch7x7 : if n_ports = 7 generate 4917 4967 4918 4968 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5004 5054 5005 5055 -- switch 8 ports 5006 port_out_switch8x8 : if n umber_of_ports = 8 generate5056 port_out_switch8x8 : if n_ports = 8 generate 5007 5057 5008 5058 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5106 5156 5107 5157 -- switch 9 ports 5108 port_out_switch9x9 : if n umber_of_ports = 9 generate5158 port_out_switch9x9 : if n_ports = 9 generate 5109 5159 5110 5160 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5220 5270 5221 5271 -- switch 10 ports 5222 port_out_switch10x10 : if n umber_of_ports = 10 generate5272 port_out_switch10x10 : if n_ports = 10 generate 5223 5273 5224 5274 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5346 5396 5347 5397 -- switch 11 ports 5348 port_out_switch11x11 : if n umber_of_ports = 11 generate5398 port_out_switch11x11 : if n_ports = 11 generate 5349 5399 5350 5400 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5484 5534 5485 5535 -- switch 12 ports 5486 port_out_switch12x12 : if n umber_of_ports = 12 generate5536 port_out_switch12x12 : if n_ports = 12 generate 5487 5537 5488 5538 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5634 5684 5635 5685 -- switch 13 ports 5636 port_out_switch13x13 : if n umber_of_ports = 13 generate5686 port_out_switch13x13 : if n_ports = 13 generate 5637 5687 5638 5688 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5796 5846 5797 5847 -- switch 14 ports 5798 port_out_switch14x14 : if n umber_of_ports = 14 generate5848 port_out_switch14x14 : if n_ports = 14 generate 5799 5849 5800 5850 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 5970 6020 5971 6021 -- switch 15 ports 5972 port_out_switch15x15 : if n umber_of_ports = 15 generate6022 port_out_switch15x15 : if n_ports = 15 generate 5973 6023 5974 6024 PORT1_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 6156 6206 6157 6207 -- switch 16 ports 6158 port_out_switch16x16 : if n umber_of_ports = 16 generate6159 port_out_switch_16x16:for i in 1 to n umber_of_ports generate6208 port_out_switch16x16 : if n_ports = 16 generate 6209 port_out_switch_16x16:for i in 1 to n_ports generate 6160 6210 begin 6161 6211 PORTx16_OUTPUT_PORT_MODULE: OUTPUT_PORT_MODULE … … 6177 6227 -- le circuit genere depend du parametre generique nombre de ports 6178 6228 -- switch 2 ports 6179 crossbar_switch2x2 : if n umber_of_ports = 2 generate6229 crossbar_switch2x2 : if n_ports = 2 generate 6180 6230 6181 6231 Switch_Crossbar2_2: Crossbar … … 6225 6275 6226 6276 -- switch 3 ports 6227 crossbar_switch3x3 : if n umber_of_ports = 3 generate6277 crossbar_switch3x3 : if n_ports = 3 generate 6228 6278 6229 6279 Switch_Crossbar3_3: Crossbar … … 6275 6325 6276 6326 -- switch 4 ports 6277 crossbar_switch4x4 : if n umber_of_ports = 4 generate6327 crossbar_switch4x4 : if n_ports = 4 generate 6278 6328 6279 6329 Switch_Crossbar4_4: Crossbar … … 6327 6377 6328 6378 -- switch 5 ports 6329 crossbar_switch5x5 : if n umber_of_ports = 5 generate6379 crossbar_switch5x5 : if n_ports = 5 generate 6330 6380 6331 6381 Switch_Crossbar5_5: Crossbar … … 6381 6431 6382 6432 -- switch 6 ports 6383 crossbar_switch6x6 : if n umber_of_ports = 6 generate6433 crossbar_switch6x6 : if n_ports = 6 generate 6384 6434 6385 6435 Switch_Crossbar6_6: Crossbar … … 6438 6488 6439 6489 -- switch 7 ports 6440 crossbar_switch7x7 : if n umber_of_ports = 7 generate6490 crossbar_switch7x7 : if n_ports = 7 generate 6441 6491 6442 6492 Switch_Crossbar7_7: Crossbar … … 6496 6546 6497 6547 -- switch 8 ports 6498 crossbar_switch8x8 : if n umber_of_ports = 8 generate6548 crossbar_switch8x8 : if n_ports = 8 generate 6499 6549 6500 6550 Switch_Crossbar8_8: Crossbar … … 6556 6606 6557 6607 -- switch 9 ports 6558 crossbar_switch9x9 : if n umber_of_ports = 9 generate6608 crossbar_switch9x9 : if n_ports = 9 generate 6559 6609 6560 6610 Switch_Crossbar9_9: Crossbar … … 6618 6668 6619 6669 -- switch 10 ports 6620 crossbar_switch10x10 : if n umber_of_ports = 10 generate6670 crossbar_switch10x10 : if n_ports = 10 generate 6621 6671 6622 6672 Switch_Crossbar10_10: Crossbar … … 6682 6732 6683 6733 -- switch 11 ports 6684 crossbar_switch11x11 : if n umber_of_ports = 11 generate6734 crossbar_switch11x11 : if n_ports = 11 generate 6685 6735 6686 6736 Switch_Crossbar11_11: Crossbar … … 6748 6798 6749 6799 -- switch 12 ports 6750 crossbar_switch12x12 : if n umber_of_ports = 12 generate6800 crossbar_switch12x12 : if n_ports = 12 generate 6751 6801 6752 6802 Switch_Crossbar12_12: Crossbar … … 6816 6866 6817 6867 -- switch 13 ports 6818 crossbar_switch13x13 : if n umber_of_ports = 13 generate6868 crossbar_switch13x13 : if n_ports = 13 generate 6819 6869 6820 6870 Switch_Crossbar13_13: Crossbar … … 6886 6936 6887 6937 -- switch 14 ports 6888 crossbar_switch14x14 : if n umber_of_ports = 14 generate6938 crossbar_switch14x14 : if n_ports = 14 generate 6889 6939 6890 6940 Switch_Crossbar14_14: Crossbar … … 6958 7008 6959 7009 -- switch 15 ports 6960 crossbar_switch15x15 : if n umber_of_ports = 15 generate7010 crossbar_switch15x15 : if n_ports = 15 generate 6961 7011 6962 7012 Switch_Crossbar15_15: Crossbar … … 7032 7082 7033 7083 -- switch 16 ports 7034 crossbar_switch16x16 : if n umber_of_ports = 16 generate7084 crossbar_switch16x16 : if n_ports = 16 generate 7035 7085 7036 7086 Switch_Crossbar16_16: Crossbar … … 7108 7158 -- le circuit genere depend du parametre generique nombre de ports 7109 7159 -- switch 2 ports 7110 scheduler_switch2x2 : if n umber_of_ports = 2 generate7160 scheduler_switch2x2 : if n_ports = 2 generate 7111 7161 7112 7162 Scheduler2_2: Scheduler … … 7125 7175 7126 7176 -- switch 3 ports 7127 scheduler_switch3x3 : if n umber_of_ports = 3 generate7177 scheduler_switch3x3 : if n_ports = 3 generate 7128 7178 7129 7179 Scheduler3_3: Scheduler … … 7142 7192 7143 7193 -- switch 4 ports 7144 scheduler_switch4x4 : if n umber_of_ports = 4 generate7194 scheduler_switch4x4 : if n_ports = 4 generate 7145 7195 7146 7196 Scheduler4_4: Scheduler … … 7159 7209 7160 7210 -- switch 5 ports 7161 scheduler_switch5x5 : if n umber_of_ports = 5 generate7211 scheduler_switch5x5 : if n_ports = 5 generate 7162 7212 7163 7213 Scheduler5_5: Scheduler … … 7176 7226 7177 7227 -- switch 6 ports 7178 scheduler_switch6x6 : if n umber_of_ports = 6 generate7228 scheduler_switch6x6 : if n_ports = 6 generate 7179 7229 7180 7230 Scheduler6_6: Scheduler … … 7193 7243 7194 7244 -- switch 7 ports 7195 scheduler_switch7x7 : if n umber_of_ports = 7 generate7245 scheduler_switch7x7 : if n_ports = 7 generate 7196 7246 7197 7247 Scheduler7_7: Scheduler … … 7210 7260 7211 7261 -- switch 8 ports 7212 scheduler_switch8x8 : if n umber_of_ports = 8 generate7262 scheduler_switch8x8 : if n_ports = 8 generate 7213 7263 7214 7264 Scheduler8_8: Scheduler … … 7227 7277 7228 7278 -- switch 9 ports 7229 scheduler_switch9x9 : if n umber_of_ports = 9 generate7279 scheduler_switch9x9 : if n_ports = 9 generate 7230 7280 7231 7281 Scheduler9_9: Scheduler … … 7244 7294 7245 7295 -- switch 10 ports 7246 scheduler_switch10x10 : if n umber_of_ports = 10 generate7296 scheduler_switch10x10 : if n_ports = 10 generate 7247 7297 7248 7298 Scheduler10_10: Scheduler … … 7261 7311 7262 7312 -- switch 11 ports 7263 scheduler_switch11x11 : if n umber_of_ports = 11 generate7313 scheduler_switch11x11 : if n_ports = 11 generate 7264 7314 7265 7315 Scheduler11_11: Scheduler … … 7278 7328 7279 7329 -- switch 12 ports 7280 scheduler_switch12x12 : if n umber_of_ports = 12 generate7330 scheduler_switch12x12 : if n_ports = 12 generate 7281 7331 7282 7332 Scheduler12_12: Scheduler … … 7295 7345 7296 7346 -- switch 13 ports 7297 scheduler_switch13x13 : if n umber_of_ports = 13 generate7347 scheduler_switch13x13 : if n_ports = 13 generate 7298 7348 7299 7349 Scheduler13_13: Scheduler … … 7312 7362 7313 7363 -- switch 14 ports 7314 scheduler_switch14x14 : if n umber_of_ports = 14 generate7364 scheduler_switch14x14 : if n_ports = 14 generate 7315 7365 7316 7366 Scheduler14_14: Scheduler … … 7329 7379 7330 7380 -- switch 15 ports 7331 scheduler_switch15x15 : if n umber_of_ports = 15 generate7381 scheduler_switch15x15 : if n_ports = 15 generate 7332 7382 7333 7383 Scheduler15_15: Scheduler … … 7346 7396 7347 7397 -- switch 16 ports 7348 scheduler_switch16x16 : if n umber_of_ports = 16 generate7398 scheduler_switch16x16 : if n_ports = 16 generate 7349 7399 7350 7400 Scheduler16_16: Scheduler
Note: See TracChangeset
for help on using the changeset viewer.