Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
a70afcb
add parameter explanation comment to Noc configuration file
Jan 28, 2025
ce71e77
add hetro_vc setting to gui
Jan 29, 2025
ede8b20
add SIMULATION macro
Jan 31, 2025
7d14ae6
add hetro_vc to input ports
Feb 2, 2025
22b6708
add hetero ovc presence port
Feb 3, 2025
42b5e4a
pass router_id as parameter ROUTER_ID to all routers when generating …
Feb 3, 2025
3a9a32d
fix questasim NoC simulation bug
Feb 5, 2025
afcbdd1
hetro_vc pass mesh 2x2 simulation
Feb 5, 2025
4eb5ec0
remove extra ctrl fifos from input ports when hetero vc is selected
Feb 5, 2025
8bad19a
add hetro_vc test to intigration test
Feb 5, 2025
9aadc0d
Replace synopsys_translate_off with ifdef SIMULATION
Feb 8, 2025
a49ae2b
fix linting
Feb 14, 2025
96e030d
fix indent
Feb 17, 2025
2a4df43
fix indent
Mar 3, 2025
f424a63
remove thermo_gen module and generate output in always block
Mar 12, 2025
ef30bb6
change class_table to ovc list
Mar 12, 2025
bf1c61c
remove extra spaces
Mar 13, 2025
8746bf3
add router_config port
Mar 14, 2025
508ddb5
fix bug in ni
May 23, 2025
181f5d4
merg ft/ci to hetrovc
May 25, 2025
7d519af
support hetrovc in phy_noc gen
May 25, 2025
d10cbc7
fix string termination bug
May 25, 2025
d57e495
fix linting
May 25, 2025
73086ed
fix linting
May 25, 2025
7d942d8
add some configrations for altera compilation in intigration test
May 26, 2025
1f90f68
fix linting warnings
May 26, 2025
cc1b6f7
merge altera integration results in one log file
May 27, 2025
24b5262
fix linting
May 28, 2025
1699340
add VCS script
May 28, 2025
bb4269d
Replace SELF_LOOP_EN string parameter (YES/NO) with binary (1/0)
May 29, 2025
8ab3c9a
Replace SSA_EN string parameter (YES/NO) with binary (1/0)
May 29, 2025
a9574ee
fix some vcs linting warnings
May 29, 2025
f7910a4
add histogram to NoC simulator
Jun 1, 2025
1bb3edf
fix linting
Jun 2, 2025
146dd88
set Reset as synchronous by default
Jun 3, 2025
4923411
support vc_static in intigration test
Jun 5, 2025
2efd6c6
fix linting
Jun 6, 2025
5ac7610
fix UseSVAlways-ML
Jun 6, 2025
f24b8e4
fix UseSVAlways-ML
Jun 6, 2025
f58a7f0
fix linting warnings
Jun 6, 2025
453f1b4
fix linting
Jun 7, 2025
3d5e094
change all noc rtl .v files to .sv
Jun 9, 2025
6beffc5
fix linting
Jun 9, 2025
b6d3c78
fix linting
Jun 9, 2025
b1217b0
fix ci action
Jun 9, 2025
0ddb6b6
Remove including pronoc_pkg instead of importingas an option.
Jun 12, 2025
aa769d0
use package instead of parameter passing
Jun 12, 2025
a8efacb
add Questasim lint to intigration test
Jun 12, 2025
dd64c78
fix questasim linting
Jun 13, 2025
101dc9d
add lint summary to questasim intigration test
Jun 16, 2025
5ceea28
remove most of Questasim linting warnings
Jun 17, 2025
446f10c
add hetrovc configuration to Questasim lint
Jun 17, 2025
0a9944e
remove questa linting warning
Jun 18, 2025
5fe68fd
remove more Questasim linting warnings
Jun 18, 2025
c9e0df5
fix bug in Questasim run
Jun 19, 2025
c1c5884
Fix NoAssignX-ML linting warning
Jun 19, 2025
7749a81
fix SignedUnsignedExpr-ML lint warning
Jun 19, 2025
549c840
fix linting warnings
Jun 26, 2025
260b5ce
fix some VCS linting warning
Jun 26, 2025
dcfce69
fix width missmatch linting warning
Jun 26, 2025
0f74bbc
fix linting
Jun 26, 2025
994bc36
fix linting 2
Jun 26, 2025
0bef76a
fix linting3
Jun 26, 2025
a6916c3
fix phy gen
Jun 26, 2025
c98e033
add verilator lint to intigration test
Jul 7, 2025
006f906
fix bug caused by linting fix
Jul 8, 2025
78c9a35
fix verilator linting
Jul 8, 2025
61a8486
fix verilator linting 2
Jul 8, 2025
eb2803a
add verilator lint golden ref
Jul 8, 2025
1e1ca16
fix verilator linting warnings 3
Jul 10, 2025
3d44725
add feature flat mode verilator simulation
Jul 18, 2025
f1b4a92
reduces OEM instances
Jul 18, 2025
37fd273
fix linting
Jul 19, 2025
40d5262
remove pronoc_register module to reduce the number of oem instants
Jul 19, 2025
d2bdcf6
reduce oem instances
Jul 20, 2025
7a5fe63
fix bug caused in quartus compilation
Jul 22, 2025
d573fd9
Count number of instants in Intigration test verilator lint
Aug 3, 2025
6a7e615
reduce instants number
Aug 3, 2025
6fa9318
fix linting warning. reduce instant count
Aug 3, 2025
85ee1b8
fix linting warning
Aug 4, 2025
641fd59
reduce instant number
Aug 4, 2025
4bb6fbe
reduce instant number
Aug 4, 2025
8cb7aee
fix questasim linting warnings
Aug 4, 2025
a1f3660
fix bug in multicast
Aug 4, 2025
5c7e69e
add warning summery report to Intigration_test/verilator linting
Aug 6, 2025
ca117ad
fix bug
Aug 6, 2025
e31f3f9
reduce instant number
Aug 6, 2025
9f01fb8
fix bug
Aug 6, 2025
6857486
fix UNDRIVEN linting warning
Aug 6, 2025
55c4ba0
fix bug in Quartus compilation
Aug 6, 2025
9465b0f
improve phy_noc generator
Aug 13, 2025
868f783
use internal lib in phy_noc.pl
Oct 1, 2025
fbeb5c4
Merge branch ft/select-routing-mode
Oct 15, 2025
803f556
Clean openpiton wrapper file
Oct 15, 2025
3663c37
Ft/mesh 3d (#7)
amonemi Nov 18, 2025
5fc4eb4
add amba chi wrapper
Nov 19, 2025
fd67277
Correct the graph title in endp-to-endp statistics view
Nov 25, 2025
301335f
replace some generate loops with always_comb
Nov 25, 2025
5e98698
fix linting warning
Nov 26, 2025
641e680
ft/yaml file read for custom noc gen
Nov 29, 2025
c4ecd91
Support for "Multi-mesh" (3.5D) NoC Topologies with Depth-First Routi…
davymillion Nov 29, 2025
1fd0c19
fix verilator width missmatch warning
Nov 30, 2025
46ecfc3
change pronoc icon
Dec 11, 2025
f6c5393
add missing parameter in openpiton NoC gen
Dec 15, 2025
dbf195a
Remove duplicate common files from filelist in PhyNoC generation
Mar 13, 2026
8106ed0
fix verialtor bug in chi_wrapper
Apr 23, 2026
0c9132c
change chi_interface package name
May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
81 changes: 81 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Verilator Test Suite

on:
push:
branches: [ "**" ]

jobs:
sim-split-mode:
runs-on: ubuntu-latest
container:
image: verilator/verilator:4.104
strategy:
matrix:
conf_name: [general, line-ring, multicast, vc_alloc, conv_route, tiny_topos, mesh_3d]
env:
ROOT: ${{ github.workspace }}/mpsoc
PRONOC_WORK: ${{ github.workspace }}/mpsoc_work
GOLDEN_REF: ${{ github.workspace }}/mpsoc/Integration_test/synthetic_sim/golden_ref
LOG_DIR: ${{ github.workspace }}/mpsoc/Integration_test/synthetic_sim/result_logs
steps:
- uses: actions/checkout@v4
- name: Run NoC simulation split mode - ${{ matrix.conf_name }}
run: |
set -ex
verilator --version
echo "Running simulation for config: ${{ matrix.conf_name }}"
cd $ROOT/Integration_test/synthetic_sim/src
perl ./verify.perl -p 15 -u 80 -l 2 -s 4 -d ${{ matrix.conf_name }}
perl ./check.pl -o $GOLDEN_REF/${{ matrix.conf_name }} -n $LOG_DIR/${{ matrix.conf_name }} || {
echo "❌ Verification check failed. Please inspect the simulation logs."
exit 1
}
- name: Upload failures artifact - ${{ matrix.conf_name }}
if: failure()
uses: actions/upload-artifact@v4
with:
name: simulation-failures-${{ matrix.conf_name }}
path: |
${{ env.PRONOC_WORK }}/failures.txt
- name: Upload simulation reports - ${{ matrix.conf_name }}
uses: actions/upload-artifact@v4
with:
name: simulation-reports-${{ matrix.conf_name }}-${{ github.run_id }}
path: ${{ env.LOG_DIR }}
retention-days: 7

tiny-topos-flat-mode:
needs: sim-split-mode
runs-on: ubuntu-latest
container:
image: verilator/verilator:4.104
env:
ROOT: ${{ github.workspace }}/mpsoc
PRONOC_WORK: ${{ github.workspace }}/mpsoc_work
GOLDEN_REF: ${{ github.workspace }}/mpsoc/Integration_test/synthetic_sim/golden_ref
LOG_DIR: ${{ github.workspace }}/mpsoc/Integration_test/synthetic_sim/result_logs
steps:
- uses: actions/checkout@v4
- name: Run NoC simulation flat_mode - tiny_topos
run: |
set -ex
cd $ROOT/Integration_test/synthetic_sim/src
perl ./verify.perl -p 15 -u 80 -l 2 -s 4 -d tiny_topos -f
perl ./check.pl -o $GOLDEN_REF/tiny_topos -n $LOG_DIR/tiny_topos || {
echo "❌ flat config differs from non-flat."
exit 1
}
- name: Upload failures artifact - flat-tiny-tops
if: failure()
uses: actions/upload-artifact@v4
with:
name: simulation-failures-tiny_topos-flat-${{ github.run_id }}
path: |
${{ env.PRONOC_WORK }}/failures.txt
- name: Upload simulation reports - flat-tiny-tops
uses: actions/upload-artifact@v4
with:
name: simulation-reports-flat-tiny-tops-${{ github.run_id }}
path: ${{ env.LOG_DIR }}
retention-days: 7

9 changes: 5 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,12 @@ mpsoc/src_c/plot/plot

mpsoc/perl_gui/lib/Paths
mpsoc/src_c/**/*.o
mpsoc/remove_cycle/__pycache__
**/__pycache__/*

mpsoc_work/
mpsoc/rtl/src_openpiton/nocs
mpsoc/rtl/src_ambachi/nocs




mpsoc/Integration_test/**/work
mpsoc/Integration_test/**/result_logs/*
mpsoc/rtl/src_multi_mesh/build
Binary file added ProNoC.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions mpsoc/Integration_test/Altera/configurations/line4_smart3
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
$model = bless( {
'noc_param'=> {
"SMART_MAX" => "3",
TOPOLOGY=>"\"LINE\"",
"T1" => "4",
"T2" => "4",
"V" => "1",
"ESCAP_VC_MASK" => "1'b1",
"B" => "4",
"LB" => "16",
"Fpay" => "64",
"SSA_EN" => "0",
"SELF_LOOP_EN" => "1",
"MCAST_ENDP_LIST" => "'b11",
}
}, 'ProNOC' );
11 changes: 11 additions & 0 deletions mpsoc/Integration_test/Altera/configurations/mesh_3x3_v2_ssa
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
$model = bless( {
'noc_param'=> {
"T1" => "3",
"T2" => "3",
"SELF_LOOP_EN" => "1",
"SSA_EN"=> "1",
"LB" => 16,
"DEBUG_EN" => "0",
"MIN_PCK_SIZE" => "1",
}
}, 'ProNOC' );
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
$model = bless( {
'noc_param'=> {
"T1" => "4",
"T2" => "4",
"CAST_TYPE" => "\"MULTICAST_FULL\"",
"Fpay" => "64"
}
}, 'ProNOC' );
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
$model = bless( {
'noc_param'=> {
"T1" => "4",
"T2" => "4",
"DEBUG_EN" => "0",
}
}, 'ProNOC' );
5 changes: 5 additions & 0 deletions mpsoc/Integration_test/Altera/golden_ref/report.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
File| ALMs:partiallyorcompletelyused| MemoryALUTs| Warnings| Totalblockmemorybits| M9Kblocks| Dedicatedlogicregisters| CombinationalALUTs| Logicutilization| Maxfrequency
line4_smart3| 1588,18050(9%)| 0,18050(0%)| 140| 5808,2939904(<1%)| 20,319(6%)| 1430,36100(4%)| 2009,36100(6%)| 2787,36100(8%)| 194.33,194.33MHz
mesh_3x3_v2_ssa| 10679,18050(59%)| 0,18050(0%)| 408| 16320,2939904(<1%)| 33,319(10%)| 9864,36100(27%)| 13916,36100(39%)| 17659,36100(49%)| 133.87,133.87MHz
mesh_4x4_2cycle_mcast_f| 13711,18050(76%)| 0,18050(0%)| 729| 33792,2939904(1%)| 128,319(40%)| 8821,36100(24%)| 19404,36100(54%)| 24517,36100(68%)| 145.33,145.33MHz
mesh_4x4_2cycle_xy_v2| 12562,18050(70%)| 0,18050(0%)| 652| 17408,2939904(<1%)| 64,319(20%)| 9716,36100(27%)| 17106,36100(47%)| 21089,36100(58%)| 153.52,153.52MHz
47 changes: 0 additions & 47 deletions mpsoc/Integration_test/Altera/report

This file was deleted.

46 changes: 0 additions & 46 deletions mpsoc/Integration_test/Altera/report_old

This file was deleted.

Loading
Loading