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
- from Rev 54 to Rev 56
- ↔ Reverse comparison
Rev 54 → Rev 56
/common/custom_lkh_routing.v
2,7 → 2,7
|
module custom_lkh_routing #( |
parameter TOPOLOGY = "CUSTOM_NAME", |
parameter ROUTE_NAME = "CUSTOM_NAME", |
parameter ROUTE_NAME = "CUSTOM_NAME", |
parameter ROUTE_TYPE = "DETERMINISTIC", |
parameter RAw = 3, |
parameter EAw = 3, |
25,18 → 25,8
|
generate |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//do not modify this line ===Tcustom1Rcustom=== |
if(TOPOLOGY == "custom1" && ROUTE_NAME== "custom" ) begin : Tcustom1Rcustom |
|
76,6 → 66,12
|
|
|
|
|
|
|
|
|
|
|
endmodule |
/common/custom_ni_routing.v
1,6 → 1,7
`timescale 1ns / 1ps |
|
module custom_ni_routing #( |
parameter NOC_ID = 0, |
parameter TOPOLOGY = "CUSTOM_NAME", |
parameter ROUTE_NAME = "CUSTOM_NAME", |
parameter ROUTE_TYPE = "DETERMINISTIC", |
21,18 → 22,13
|
generate |
|
|
|
|
|
|
|
|
|
//do not modify this line ===Tcustom1Rcustom=== |
if(TOPOLOGY == "custom1" && ROUTE_NAME== "custom" ) begin : Tcustom1Rcustom |
|
Tcustom1Rcustom_conventional_routing #( |
.RAw(RAw), |
.RAw(RAw), |
.EAw(EAw), |
.DSTPw(DSTPw) |
) |
66,7 → 62,11
|
|
|
|
|
|
|
|
|
endmodule |
|
/common/custom_noc_top.sv
1,8 → 1,9
`include "pronoc_def.v" |
|
module custom_noc_top |
import pronoc_pkg::*; |
( |
#( |
parameter NOC_ID=0 |
)( |
|
reset, |
clk, |
11,6 → 12,7
router_event |
); |
|
`NOC_CONF |
|
input clk,reset; |
//local ports |
31,11 → 33,15
|
|
|
|
|
|
//do not modify this line ===custom1=== |
if(TOPOLOGY == "custom1" ) begin : Tcustom1 |
|
custom1_noc_genvar the_noc |
( |
custom1_noc_genvar #( |
.NOC_ID(NOC_ID) |
) the_noc ( |
.reset(reset), |
.clk(clk), |
.chan_in_all(chan_in_all), |
58,6 → 64,8
|
|
|
|
|
|
|
|
/custom1/Tcustom1Rcustom_conventional_routing.v
6,11 → 6,11
|
|
/********************************************************************** |
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing.v |
** File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing.v |
** |
** Copyright (C) 2014-2021 Alireza Monemi |
** |
** This file is part of ProNoC 2.0.0 |
** This file is part of ProNoC 2.1.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 |
/custom1/Tcustom1Rcustom_conventional_routing_genvar.v
6,11 → 6,11
|
|
/********************************************************************** |
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing_genvar.v |
** File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_conventional_routing_genvar.v |
** |
** Copyright (C) 2014-2021 Alireza Monemi |
** |
** This file is part of ProNoC 2.0.0 |
** This file is part of ProNoC 2.1.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 |
/custom1/Tcustom1Rcustom_look_ahead_routing.v
6,11 → 6,11
|
|
/********************************************************************** |
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_look_ahead_routing.v |
** File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_look_ahead_routing.v |
** |
** Copyright (C) 2014-2021 Alireza Monemi |
** |
** This file is part of ProNoC 2.0.0 |
** This file is part of ProNoC 2.1.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 |
/custom1/Tcustom1Rcustom_look_ahead_routing_genvar.v
6,11 → 6,11
|
|
/********************************************************************** |
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_look_ahead_routing_genvar.v |
** File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/custom1/Tcustom1Rcustom_look_ahead_routing_genvar.v |
** |
** Copyright (C) 2014-2021 Alireza Monemi |
** |
** This file is part of ProNoC 2.0.0 |
** This file is part of ProNoC 2.1.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 |
/custom1/custom1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/custom1/custom1_noc.sv
6,11 → 6,11
|
|
/********************************************************************** |
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/custom1_noc.sv |
** File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/custom1/custom1_noc.sv |
** |
** Copyright (C) 2014-2021 Alireza Monemi |
** |
** This file is part of ProNoC 2.0.0 |
** This file is part of ProNoC 2.1.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 |
29,9 → 29,11
`include "pronoc_def.v" |
|
module custom1_noc |
import pronoc_pkg::*; |
( |
reset, |
#( |
parameter NOC_ID=0 |
) |
( |
reset, |
clk, |
//T0, |
T0_chan_in, |
99,23 → 101,8
T15_router_event |
); |
|
function integer log2; |
input integer number; begin |
log2=(number <=1) ? 1: 0; |
while(2**log2<number) begin |
log2=log2+1; |
end |
end |
endfunction // log2 |
|
localparam |
NE = 16, |
NR = 16, |
RAw=log2(NR); |
|
|
|
|
`NOC_CONF |
|
input reset,clk; |
|
|
445,6 → 432,7
* R0 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(3) |
) |
R0 |
474,6 → 462,7
* R1 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(3) |
) |
R1 |
503,6 → 492,7
* R2 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(3) |
) |
R2 |
532,6 → 522,7
* R3 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(3) |
) |
R3 |
561,6 → 552,7
* R4 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R4 |
592,6 → 584,7
* R5 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R5 |
623,6 → 616,7
* R6 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R6 |
654,6 → 648,7
* R7 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R7 |
685,6 → 680,7
* R12 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R12 |
716,6 → 712,7
* R13 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R13 |
747,6 → 744,7
* R14 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R14 |
778,6 → 776,7
* R15 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
R15 |
809,6 → 808,7
* R8 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(5) |
) |
R8 |
842,6 → 842,7
* R9 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(5) |
) |
R9 |
875,6 → 876,7
* R10 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(5) |
) |
R10 |
908,6 → 910,7
* R11 |
*******************/ |
router_top #( |
.NOC_ID(NOC_ID), |
.P(5) |
) |
R11 |
/custom1/custom1_noc_genvar.sv
6,11 → 6,11
|
|
/********************************************************************** |
** File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/custom1_noc_genvar.sv |
** File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/custom1/custom1_noc_genvar.sv |
** |
** Copyright (C) 2014-2021 Alireza Monemi |
** |
** This file is part of ProNoC 2.0.0 |
** This file is part of ProNoC 2.1.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 |
28,9 → 28,10
|
`include "pronoc_def.v" |
|
module custom1_noc_genvar |
import pronoc_pkg::*; |
( |
module custom1_noc_genvar |
#( |
parameter NOC_ID=0 |
)( |
|
reset, |
clk, |
39,21 → 40,7
router_event |
); |
|
function integer log2; |
input integer number; begin |
log2=(number <=1) ? 1: 0; |
while(2**log2<number) begin |
log2=log2+1; |
end |
end |
endfunction // log2 |
|
localparam |
NE = 16, |
NR = 16, |
RAw=log2(NR), |
MAX_P=5; |
|
`NOC_CONF |
|
|
input reset; |
87,6 → 74,7
assign current_r_addr [RID] = RID[RAw-1: 0]; |
|
router_top #( |
.NOC_ID(NOC_ID), |
.P(3) |
) |
router_3_port |
109,6 → 97,7
assign current_r_addr [RID] = RID[RAw-1: 0]; |
|
router_top #( |
.NOC_ID(NOC_ID), |
.P(4) |
) |
router_4_port |
131,6 → 120,7
assign current_r_addr [RID] = RID[RAw-1: 0]; |
|
router_top #( |
.NOC_ID(NOC_ID), |
.P(5) |
) |
router_5_port |
/custom_flist.f
1,10 → 1,10
+incdir+./ |
./common/custom_lkh_routing.v |
./common/custom_ni_routing.v |
./common/custom_noc_top.sv |
./custom1/custom1_noc.sv |
./custom1/Tcustom1Rcustom_look_ahead_routing.v |
./custom1/Tcustom1Rcustom_look_ahead_routing_genvar.v |
./custom1/custom1_noc_genvar.sv |
./custom1/Tcustom1Rcustom_conventional_routing_genvar.v |
./custom1/custom1_noc.sv |
./custom1/Tcustom1Rcustom_conventional_routing.v |
./custom1/Tcustom1Rcustom_conventional_routing_genvar.v |
./custom1/Tcustom1Rcustom_look_ahead_routing.v |
./common/custom_ni_routing.v |
./common/custom_noc_top.sv |
./common/custom_lkh_routing.v |
/param.obj
1,9 → 1,9
####################################################################### |
## File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/param.obj |
## File: /home/alireza/work/git/pronoc/mpsoc/rtl/src_topolgy/param.obj |
## |
## Copyright (C) 2014-2021 Alireza Monemi |
## |
## This file is part of ProNoC 2.0.0 |
## This file is part of ProNoC 2.1.0 |
## |
## WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT |
## MAY CAUSE UNEXPECTED BEHAVIOR. |
10,18 → 10,8
################################################################################ |
|
$Topology = { |
'"custom1"' => { |
'T2' => 16, |
'ROUTER_Ps' => { |
'4' => 8, |
'3' => 4, |
'5' => 4 |
}, |
'"mesh4x4"' => { |
'er_addr' => [ |
0, |
1, |
2, |
3, |
4, |
5, |
6, |
30,21 → 20,30
9, |
10, |
11, |
0, |
1, |
2, |
3, |
12, |
13, |
14, |
15 |
], |
'T3' => 5, |
'T1' => 16, |
'ROUTE_NAME' => '"custom"', |
'T3' => 5 |
}, |
'"mesh4x4"' => { |
'ROUTE_NAME' => '"custom","m4"', |
'T2' => 16, |
'ROUTER_Ps' => { |
'5' => 16 |
}, |
} |
}, |
'"custom1"' => { |
'T2' => 16, |
'er_addr' => [ |
0, |
1, |
2, |
3, |
4, |
5, |
6, |
53,17 → 52,18
9, |
10, |
11, |
0, |
1, |
2, |
3, |
12, |
13, |
14, |
15 |
], |
'ROUTE_NAME' => '"custom","m4"', |
'ROUTER_Ps' => { |
'3' => 4, |
'5' => 4, |
'4' => 8 |
}, |
'T1' => 16, |
'ROUTE_NAME' => '"custom"', |
'T3' => 5 |
} |
}; |