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]) |
); |
|
|