OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk/mpsoc/rtl/src_topolgy/custom1
    from Rev 48 to Rev 54
    Reverse comparison

Rev 48 → Rev 54

/Tcustom1Rcustom_conventional_routing.v
8,9 → 8,9
/**********************************************************************
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing.v
**
** Copyright (C) 2014-2019 Alireza Monemi
** Copyright (C) 2014-2021 Alireza Monemi
**
** This file is part of ProNoC 1.9.1
** This file is part of ProNoC 2.0.0
**
** ProNoC ( stands for Prototype Network-on-chip) is free software:
** you can redistribute it and/or modify it under the terms of the GNU
/Tcustom1Rcustom_conventional_routing_genvar.v
8,9 → 8,9
/**********************************************************************
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing_genvar.v
**
** Copyright (C) 2014-2019 Alireza Monemi
** Copyright (C) 2014-2021 Alireza Monemi
**
** This file is part of ProNoC 1.9.1
** This file is part of ProNoC 2.0.0
**
** ProNoC ( stands for Prototype Network-on-chip) is free software:
** you can redistribute it and/or modify it under the terms of the GNU
/Tcustom1Rcustom_look_ahead_routing.v
8,9 → 8,9
/**********************************************************************
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_look_ahead_routing.v
**
** Copyright (C) 2014-2019 Alireza Monemi
** Copyright (C) 2014-2021 Alireza Monemi
**
** This file is part of ProNoC 1.9.1
** This file is part of ProNoC 2.0.0
**
** ProNoC ( stands for Prototype Network-on-chip) is free software:
** you can redistribute it and/or modify it under the terms of the GNU
26,6 → 26,8
** License along with ProNoC. If not, see <http:**www.gnu.org/licenses/>.
******************************************************************************/
 
`include "pronoc_def.v"
/*******************
* Tcustom1Rcustom_look_ahead_routing
*******************/
52,8 → 54,8
reg [EAw-1 :0] dest_e_addr_delay;
reg [EAw-1 :0] src_e_addr_delay;
 
always @(posedge clk)begin
if(reset)begin
always @ (`pronoc_clk_reset_edge )begin
if(`pronoc_reset)begin
dest_e_addr_delay<={EAw{1'b0}};
src_e_addr_delay<={EAw{1'b0}};
end else begin
/Tcustom1Rcustom_look_ahead_routing_genvar.v
8,9 → 8,9
/**********************************************************************
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_look_ahead_routing_genvar.v
**
** Copyright (C) 2014-2019 Alireza Monemi
** Copyright (C) 2014-2021 Alireza Monemi
**
** This file is part of ProNoC 1.9.1
** This file is part of ProNoC 2.0.0
**
** ProNoC ( stands for Prototype Network-on-chip) is free software:
** you can redistribute it and/or modify it under the terms of the GNU
26,6 → 26,8
** License along with ProNoC. If not, see <http:**www.gnu.org/licenses/>.
******************************************************************************/
 
`include "pronoc_def.v"
/*****************************
* Tcustom1Rcustom_look_ahead_routing_genvar
******************************/
51,8 → 53,8
reg [EAw-1 :0] dest_e_addr_delay;
reg [EAw-1 :0] src_e_addr_delay;
 
always @(posedge clk)begin
if(reset)begin
always @ (`pronoc_clk_reset_edge )begin
if(`pronoc_reset) begin
dest_e_addr_delay<={EAw{1'b0}};
src_e_addr_delay<={EAw{1'b0}};
end else begin
/custom1.png Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/custom1_noc.sv
8,9 → 8,9
/**********************************************************************
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/custom1_noc.sv
**
** Copyright (C) 2014-2019 Alireza Monemi
** Copyright (C) 2014-2021 Alireza Monemi
**
** This file is part of ProNoC 1.9.1
** This file is part of ProNoC 2.0.0
**
** ProNoC ( stands for Prototype Network-on-chip) is free software:
** you can redistribute it and/or modify it under the terms of the GNU
26,6 → 26,8
** License along with ProNoC. If not, see <http:**www.gnu.org/licenses/>.
******************************************************************************/
 
`include "pronoc_def.v"
 
module custom1_noc
import pronoc_pkg::*;
(
34,51 → 36,67
//T0,
T0_chan_in,
T0_chan_out,
T0_router_event,
//T1,
T1_chan_in,
T1_chan_out,
T1_router_event,
//T2,
T2_chan_in,
T2_chan_out,
T2_router_event,
//T3,
T3_chan_in,
T3_chan_out,
T3_router_event,
//T4,
T4_chan_in,
T4_chan_out,
T4_router_event,
//T5,
T5_chan_in,
T5_chan_out,
T5_router_event,
//T6,
T6_chan_in,
T6_chan_out,
T6_router_event,
//T7,
T7_chan_in,
T7_chan_out,
T7_router_event,
//T8,
T8_chan_in,
T8_chan_out,
T8_router_event,
//T9,
T9_chan_in,
T9_chan_out,
T9_router_event,
//T10,
T10_chan_in,
T10_chan_out,
T10_router_event,
//T11,
T11_chan_in,
T11_chan_out,
T11_router_event,
//T12,
T12_chan_in,
T12_chan_out,
T12_router_event,
//T13,
T13_chan_in,
T13_chan_out,
T13_router_event,
//T14,
T14_chan_in,
T14_chan_out,
T14_router_event,
//T15,
T15_chan_in,
T15_chan_out
T15_chan_out,
T15_router_event
);
function integer log2;
106,6 → 124,7
*******************/
input smartflit_chanel_t T0_chan_in;
output smartflit_chanel_t T0_chan_out;
output router_event_t T0_router_event;
 
/*******************
* T1
112,6 → 131,7
*******************/
input smartflit_chanel_t T1_chan_in;
output smartflit_chanel_t T1_chan_out;
output router_event_t T1_router_event;
 
/*******************
* T2
118,6 → 138,7
*******************/
input smartflit_chanel_t T2_chan_in;
output smartflit_chanel_t T2_chan_out;
output router_event_t T2_router_event;
 
/*******************
* T3
124,6 → 145,7
*******************/
input smartflit_chanel_t T3_chan_in;
output smartflit_chanel_t T3_chan_out;
output router_event_t T3_router_event;
 
/*******************
* T4
130,6 → 152,7
*******************/
input smartflit_chanel_t T4_chan_in;
output smartflit_chanel_t T4_chan_out;
output router_event_t T4_router_event;
 
/*******************
* T5
136,6 → 159,7
*******************/
input smartflit_chanel_t T5_chan_in;
output smartflit_chanel_t T5_chan_out;
output router_event_t T5_router_event;
 
/*******************
* T6
142,6 → 166,7
*******************/
input smartflit_chanel_t T6_chan_in;
output smartflit_chanel_t T6_chan_out;
output router_event_t T6_router_event;
 
/*******************
* T7
148,6 → 173,7
*******************/
input smartflit_chanel_t T7_chan_in;
output smartflit_chanel_t T7_chan_out;
output router_event_t T7_router_event;
 
/*******************
* T8
154,6 → 180,7
*******************/
input smartflit_chanel_t T8_chan_in;
output smartflit_chanel_t T8_chan_out;
output router_event_t T8_router_event;
 
/*******************
* T9
160,6 → 187,7
*******************/
input smartflit_chanel_t T9_chan_in;
output smartflit_chanel_t T9_chan_out;
output router_event_t T9_router_event;
 
/*******************
* T10
166,6 → 194,7
*******************/
input smartflit_chanel_t T10_chan_in;
output smartflit_chanel_t T10_chan_out;
output router_event_t T10_router_event;
 
/*******************
* T11
172,6 → 201,7
*******************/
input smartflit_chanel_t T11_chan_in;
output smartflit_chanel_t T11_chan_out;
output router_event_t T11_router_event;
 
/*******************
* T12
178,6 → 208,7
*******************/
input smartflit_chanel_t T12_chan_in;
output smartflit_chanel_t T12_chan_out;
output router_event_t T12_router_event;
 
/*******************
* T13
184,6 → 215,7
*******************/
input smartflit_chanel_t T13_chan_in;
output smartflit_chanel_t T13_chan_out;
output router_event_t T13_router_event;
 
/*******************
* T14
190,6 → 222,7
*******************/
input smartflit_chanel_t T14_chan_in;
output smartflit_chanel_t T14_chan_out;
output router_event_t T14_router_event;
 
/*******************
* T15
196,6 → 229,7
*******************/
input smartflit_chanel_t T15_chan_in;
output smartflit_chanel_t T15_chan_out;
output router_event_t T15_router_event;
 
/*******************
* R0
207,6 → 241,7
 
smartflit_chanel_t R0_chan_in [3-1 : 0];
smartflit_chanel_t R0_chan_out [3-1 : 0];
router_event_t R0_router_event [3-1 : 0];
 
 
/*******************
219,6 → 254,7
 
smartflit_chanel_t R1_chan_in [3-1 : 0];
smartflit_chanel_t R1_chan_out [3-1 : 0];
router_event_t R1_router_event [3-1 : 0];
 
 
/*******************
231,6 → 267,7
 
smartflit_chanel_t R2_chan_in [3-1 : 0];
smartflit_chanel_t R2_chan_out [3-1 : 0];
router_event_t R2_router_event [3-1 : 0];
 
 
/*******************
243,6 → 280,7
 
smartflit_chanel_t R3_chan_in [3-1 : 0];
smartflit_chanel_t R3_chan_out [3-1 : 0];
router_event_t R3_router_event [3-1 : 0];
 
 
/*******************
255,6 → 293,7
 
smartflit_chanel_t R4_chan_in [4-1 : 0];
smartflit_chanel_t R4_chan_out [4-1 : 0];
router_event_t R4_router_event [4-1 : 0];
 
 
/*******************
267,6 → 306,7
 
smartflit_chanel_t R5_chan_in [4-1 : 0];
smartflit_chanel_t R5_chan_out [4-1 : 0];
router_event_t R5_router_event [4-1 : 0];
 
 
/*******************
279,6 → 319,7
 
smartflit_chanel_t R6_chan_in [4-1 : 0];
smartflit_chanel_t R6_chan_out [4-1 : 0];
router_event_t R6_router_event [4-1 : 0];
 
 
/*******************
291,6 → 332,7
 
smartflit_chanel_t R7_chan_in [4-1 : 0];
smartflit_chanel_t R7_chan_out [4-1 : 0];
router_event_t R7_router_event [4-1 : 0];
 
 
/*******************
303,6 → 345,7
 
smartflit_chanel_t R12_chan_in [4-1 : 0];
smartflit_chanel_t R12_chan_out [4-1 : 0];
router_event_t R12_router_event [4-1 : 0];
 
 
/*******************
315,6 → 358,7
 
smartflit_chanel_t R13_chan_in [4-1 : 0];
smartflit_chanel_t R13_chan_out [4-1 : 0];
router_event_t R13_router_event [4-1 : 0];
 
 
/*******************
327,6 → 371,7
 
smartflit_chanel_t R14_chan_in [4-1 : 0];
smartflit_chanel_t R14_chan_out [4-1 : 0];
router_event_t R14_router_event [4-1 : 0];
 
 
/*******************
339,6 → 384,7
 
smartflit_chanel_t R15_chan_in [4-1 : 0];
smartflit_chanel_t R15_chan_out [4-1 : 0];
router_event_t R15_router_event [4-1 : 0];
 
 
/*******************
351,6 → 397,7
 
smartflit_chanel_t R8_chan_in [5-1 : 0];
smartflit_chanel_t R8_chan_out [5-1 : 0];
router_event_t R8_router_event [5-1 : 0];
 
 
/*******************
363,6 → 410,7
 
smartflit_chanel_t R9_chan_in [5-1 : 0];
smartflit_chanel_t R9_chan_out [5-1 : 0];
router_event_t R9_router_event [5-1 : 0];
 
 
/*******************
375,6 → 423,7
 
smartflit_chanel_t R10_chan_in [5-1 : 0];
smartflit_chanel_t R10_chan_out [5-1 : 0];
router_event_t R10_router_event [5-1 : 0];
 
 
/*******************
387,6 → 436,7
 
smartflit_chanel_t R11_chan_in [5-1 : 0];
smartflit_chanel_t R11_chan_out [5-1 : 0];
router_event_t R11_router_event [5-1 : 0];
 
 
401,9 → 451,11
(
.clk(R0_clk),
.reset(R0_reset),
.current_r_id(0),
.current_r_addr (R0_current_r_addr),
.chan_in (R0_chan_in),
.chan_out (R0_chan_out)
.chan_out (R0_chan_out),
.router_event (R0_router_event)
);
 
assign R0_clk = clk;
412,6 → 464,7
//Connect R0 port 0 to T0 port 0
assign R0_chan_in [0] = T0_chan_in;
assign T0_chan_out = R0_chan_out [0];
assign T0_router_event = R0_router_event [0];
//Connect R0 port 1 to R14 port 3
assign R0_chan_in [1] = R14_chan_out [3];
//Connect R0 port 2 to R13 port 3
427,9 → 480,11
(
.clk(R1_clk),
.reset(R1_reset),
.current_r_id(1),
.current_r_addr (R1_current_r_addr),
.chan_in (R1_chan_in),
.chan_out (R1_chan_out)
.chan_out (R1_chan_out),
.router_event (R1_router_event)
);
 
assign R1_clk = clk;
438,6 → 493,7
//Connect R1 port 0 to T1 port 0
assign R1_chan_in [0] = T1_chan_in;
assign T1_chan_out = R1_chan_out [0];
assign T1_router_event = R1_router_event [0];
//Connect R1 port 1 to R7 port 3
assign R1_chan_in [1] = R7_chan_out [3];
//Connect R1 port 2 to R2 port 2
453,9 → 509,11
(
.clk(R2_clk),
.reset(R2_reset),
.current_r_id(2),
.current_r_addr (R2_current_r_addr),
.chan_in (R2_chan_in),
.chan_out (R2_chan_out)
.chan_out (R2_chan_out),
.router_event (R2_router_event)
);
 
assign R2_clk = clk;
464,6 → 522,7
//Connect R2 port 0 to T2 port 0
assign R2_chan_in [0] = T2_chan_in;
assign T2_chan_out = R2_chan_out [0];
assign T2_router_event = R2_router_event [0];
//Connect R2 port 1 to R15 port 2
assign R2_chan_in [1] = R15_chan_out [2];
//Connect R2 port 2 to R1 port 2
479,9 → 538,11
(
.clk(R3_clk),
.reset(R3_reset),
.current_r_id(3),
.current_r_addr (R3_current_r_addr),
.chan_in (R3_chan_in),
.chan_out (R3_chan_out)
.chan_out (R3_chan_out),
.router_event (R3_router_event)
);
 
assign R3_clk = clk;
490,6 → 551,7
//Connect R3 port 0 to T3 port 0
assign R3_chan_in [0] = T3_chan_in;
assign T3_chan_out = R3_chan_out [0];
assign T3_router_event = R3_router_event [0];
//Connect R3 port 1 to R15 port 3
assign R3_chan_in [1] = R15_chan_out [3];
//Connect R3 port 2 to R4 port 2
505,9 → 567,11
(
.clk(R4_clk),
.reset(R4_reset),
.current_r_id(4),
.current_r_addr (R4_current_r_addr),
.chan_in (R4_chan_in),
.chan_out (R4_chan_out)
.chan_out (R4_chan_out),
.router_event (R4_router_event)
);
 
assign R4_clk = clk;
516,6 → 580,7
//Connect R4 port 0 to T4 port 0
assign R4_chan_in [0] = T4_chan_in;
assign T4_chan_out = R4_chan_out [0];
assign T4_router_event = R4_router_event [0];
//Connect R4 port 1 to R9 port 2
assign R4_chan_in [1] = R9_chan_out [2];
//Connect R4 port 2 to R3 port 2
533,9 → 598,11
(
.clk(R5_clk),
.reset(R5_reset),
.current_r_id(5),
.current_r_addr (R5_current_r_addr),
.chan_in (R5_chan_in),
.chan_out (R5_chan_out)
.chan_out (R5_chan_out),
.router_event (R5_router_event)
);
 
assign R5_clk = clk;
544,6 → 611,7
//Connect R5 port 0 to T5 port 0
assign R5_chan_in [0] = T5_chan_in;
assign T5_chan_out = R5_chan_out [0];
assign T5_router_event = R5_router_event [0];
//Connect R5 port 1 to R11 port 4
assign R5_chan_in [1] = R11_chan_out [4];
//Connect R5 port 2 to R6 port 2
561,9 → 629,11
(
.clk(R6_clk),
.reset(R6_reset),
.current_r_id(6),
.current_r_addr (R6_current_r_addr),
.chan_in (R6_chan_in),
.chan_out (R6_chan_out)
.chan_out (R6_chan_out),
.router_event (R6_router_event)
);
 
assign R6_clk = clk;
572,6 → 642,7
//Connect R6 port 0 to T6 port 0
assign R6_chan_in [0] = T6_chan_in;
assign T6_chan_out = R6_chan_out [0];
assign T6_router_event = R6_router_event [0];
//Connect R6 port 1 to R9 port 3
assign R6_chan_in [1] = R9_chan_out [3];
//Connect R6 port 2 to R5 port 2
589,9 → 660,11
(
.clk(R7_clk),
.reset(R7_reset),
.current_r_id(7),
.current_r_addr (R7_current_r_addr),
.chan_in (R7_chan_in),
.chan_out (R7_chan_out)
.chan_out (R7_chan_out),
.router_event (R7_router_event)
);
 
assign R7_clk = clk;
600,6 → 673,7
//Connect R7 port 0 to T7 port 0
assign R7_chan_in [0] = T7_chan_in;
assign T7_chan_out = R7_chan_out [0];
assign T7_router_event = R7_router_event [0];
//Connect R7 port 1 to R12 port 3
assign R7_chan_in [1] = R12_chan_out [3];
//Connect R7 port 2 to R14 port 2
617,9 → 691,11
(
.clk(R12_clk),
.reset(R12_reset),
.current_r_id(8),
.current_r_addr (R12_current_r_addr),
.chan_in (R12_chan_in),
.chan_out (R12_chan_out)
.chan_out (R12_chan_out),
.router_event (R12_router_event)
);
 
assign R12_clk = clk;
628,6 → 704,7
//Connect R12 port 0 to T8 port 0
assign R12_chan_in [0] = T8_chan_in;
assign T8_chan_out = R12_chan_out [0];
assign T8_router_event = R12_router_event [0];
//Connect R12 port 1 to R8 port 4
assign R12_chan_in [1] = R8_chan_out [4];
//Connect R12 port 2 to R10 port 3
645,9 → 722,11
(
.clk(R13_clk),
.reset(R13_reset),
.current_r_id(9),
.current_r_addr (R13_current_r_addr),
.chan_in (R13_chan_in),
.chan_out (R13_chan_out)
.chan_out (R13_chan_out),
.router_event (R13_router_event)
);
 
assign R13_clk = clk;
656,6 → 735,7
//Connect R13 port 0 to T9 port 0
assign R13_chan_in [0] = T9_chan_in;
assign T9_chan_out = R13_chan_out [0];
assign T9_router_event = R13_router_event [0];
//Connect R13 port 1 to R8 port 2
assign R13_chan_in [1] = R8_chan_out [2];
//Connect R13 port 2 to R5 port 3
673,9 → 753,11
(
.clk(R14_clk),
.reset(R14_reset),
.current_r_id(10),
.current_r_addr (R14_current_r_addr),
.chan_in (R14_chan_in),
.chan_out (R14_chan_out)
.chan_out (R14_chan_out),
.router_event (R14_router_event)
);
 
assign R14_clk = clk;
684,6 → 766,7
//Connect R14 port 0 to T10 port 0
assign R14_chan_in [0] = T10_chan_in;
assign T10_chan_out = R14_chan_out [0];
assign T10_router_event = R14_router_event [0];
//Connect R14 port 1 to R8 port 3
assign R14_chan_in [1] = R8_chan_out [3];
//Connect R14 port 2 to R7 port 2
701,9 → 784,11
(
.clk(R15_clk),
.reset(R15_reset),
.current_r_id(11),
.current_r_addr (R15_current_r_addr),
.chan_in (R15_chan_in),
.chan_out (R15_chan_out)
.chan_out (R15_chan_out),
.router_event (R15_router_event)
);
 
assign R15_clk = clk;
712,6 → 797,7
//Connect R15 port 0 to T11 port 0
assign R15_chan_in [0] = T11_chan_in;
assign T11_chan_out = R15_chan_out [0];
assign T11_router_event = R15_router_event [0];
//Connect R15 port 1 to R10 port 4
assign R15_chan_in [1] = R10_chan_out [4];
//Connect R15 port 2 to R2 port 1
729,9 → 815,11
(
.clk(R8_clk),
.reset(R8_reset),
.current_r_id(12),
.current_r_addr (R8_current_r_addr),
.chan_in (R8_chan_in),
.chan_out (R8_chan_out)
.chan_out (R8_chan_out),
.router_event (R8_router_event)
);
 
assign R8_clk = clk;
740,6 → 828,7
//Connect R8 port 0 to T12 port 0
assign R8_chan_in [0] = T12_chan_in;
assign T12_chan_out = R8_chan_out [0];
assign T12_router_event = R8_router_event [0];
//Connect R8 port 1 to R11 port 1
assign R8_chan_in [1] = R11_chan_out [1];
//Connect R8 port 2 to R13 port 1
759,9 → 848,11
(
.clk(R9_clk),
.reset(R9_reset),
.current_r_id(13),
.current_r_addr (R9_current_r_addr),
.chan_in (R9_chan_in),
.chan_out (R9_chan_out)
.chan_out (R9_chan_out),
.router_event (R9_router_event)
);
 
assign R9_clk = clk;
770,6 → 861,7
//Connect R9 port 0 to T13 port 0
assign R9_chan_in [0] = T13_chan_in;
assign T13_chan_out = R9_chan_out [0];
assign T13_router_event = R9_router_event [0];
//Connect R9 port 1 to R11 port 3
assign R9_chan_in [1] = R11_chan_out [3];
//Connect R9 port 2 to R4 port 1
789,9 → 881,11
(
.clk(R10_clk),
.reset(R10_reset),
.current_r_id(14),
.current_r_addr (R10_current_r_addr),
.chan_in (R10_chan_in),
.chan_out (R10_chan_out)
.chan_out (R10_chan_out),
.router_event (R10_router_event)
);
 
assign R10_clk = clk;
800,6 → 894,7
//Connect R10 port 0 to T14 port 0
assign R10_chan_in [0] = T14_chan_in;
assign T14_chan_out = R10_chan_out [0];
assign T14_router_event = R10_router_event [0];
//Connect R10 port 1 to R11 port 2
assign R10_chan_in [1] = R11_chan_out [2];
//Connect R10 port 2 to R9 port 4
819,9 → 914,11
(
.clk(R11_clk),
.reset(R11_reset),
.current_r_id(15),
.current_r_addr (R11_current_r_addr),
.chan_in (R11_chan_in),
.chan_out (R11_chan_out)
.chan_out (R11_chan_out),
.router_event (R11_router_event)
);
 
assign R11_clk = clk;
830,6 → 927,7
//Connect R11 port 0 to T15 port 0
assign R11_chan_in [0] = T15_chan_in;
assign T15_chan_out = R11_chan_out [0];
assign T15_router_event = R11_router_event [0];
//Connect R11 port 1 to R8 port 1
assign R11_chan_in [1] = R8_chan_out [1];
//Connect R11 port 2 to R10 port 1
/custom1_noc_genvar.sv
8,9 → 8,9
/**********************************************************************
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/custom1_noc_genvar.sv
**
** Copyright (C) 2014-2019 Alireza Monemi
** Copyright (C) 2014-2021 Alireza Monemi
**
** This file is part of ProNoC 1.9.1
** This file is part of ProNoC 2.0.0
**
** ProNoC ( stands for Prototype Network-on-chip) is free software:
** you can redistribute it and/or modify it under the terms of the GNU
26,6 → 26,8
** License along with ProNoC. If not, see <http:**www.gnu.org/licenses/>.
******************************************************************************/
 
`include "pronoc_def.v"
 
module custom1_noc_genvar
import pronoc_pkg::*;
(
33,7 → 35,8
reset,
clk,
chan_in_all,
chan_out_all
chan_out_all,
router_event
);
 
function integer log2;
58,10 → 61,14
input smartflit_chanel_t chan_in_all [NE-1 : 0];
output smartflit_chanel_t chan_out_all [NE-1 : 0];
 
//Events
output router_event_t router_event [NR-1 : 0][MAX_P-1 : 0];
 
//all routers port
smartflit_chanel_t router_chan_in [NR-1 :0][MAX_P-1 : 0];
smartflit_chanel_t router_chan_out [NR-1 :0][MAX_P-1 : 0];
 
 
wire [RAw-1 : 0] current_r_addr [NR-1 : 0];
 
 
76,6 → 83,8
generate
for( i=0; i<4; i=i+1) begin : router_3_port_lp
localparam RID = i;
assign current_r_addr [RID] = RID[RAw-1: 0];
 
router_top #(
.P(3)
84,9 → 93,11
(
.clk(clk),
.reset(reset),
.current_r_addr(i),
.chan_in (router_chan_in[i]),
.chan_out (router_chan_out[i])
.current_r_id(RID),
.current_r_addr(current_r_addr[RID]),
.chan_in (router_chan_in [RID] [2 : 0]),
.chan_out (router_chan_out[RID] [2 : 0]),
.router_event(router_event[RID] [2 : 0])
);
94,6 → 105,8
end
for( i=0; i<8; i=i+1) begin : router_4_port_lp
localparam RID = i+4;
assign current_r_addr [RID] = RID[RAw-1: 0];
 
router_top #(
.P(4)
102,9 → 115,11
(
.clk(clk),
.reset(reset),
.current_r_addr(i+4),
.chan_in (router_chan_in[i+4]),
.chan_out (router_chan_out[i+4])
.current_r_id(RID),
.current_r_addr(current_r_addr[RID]),
.chan_in (router_chan_in [RID] [3 : 0]),
.chan_out (router_chan_out[RID] [3 : 0]),
.router_event(router_event[RID] [3 : 0])
);
112,6 → 127,8
end
for( i=0; i<4; i=i+1) begin : router_5_port_lp
localparam RID = i+12;
assign current_r_addr [RID] = RID[RAw-1: 0];
 
router_top #(
.P(5)
120,9 → 137,11
(
.clk(clk),
.reset(reset),
.current_r_addr(i+12),
.chan_in (router_chan_in[i+12]),
.chan_out (router_chan_out[i+12])
.current_r_id(RID),
.current_r_addr(current_r_addr[RID]),
.chan_in (router_chan_in [RID] [4 : 0]),
.chan_out (router_chan_out[RID] [4 : 0]),
.router_event(router_event[RID] [4 : 0])
);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.