Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
d6d5795
[SRC] WIP: Add multi-tile support in xbar.
DiyouS Nov 21, 2025
3f2ef2a
[SRC] WIP: Update pkg for multi-tile configuration.
DiyouS Nov 26, 2025
3e0a31e
[SRC] WIP: Add group-level.
DiyouS Nov 26, 2025
10c6195
[SRC] WIP: add group-level.
DiyouS Nov 26, 2025
b895938
WIP: [SRC] multi-tile support.
DiyouS Dec 11, 2025
ddb6221
[SRC] WIP: Move prepheral to the cluster level.
DiyouS Jan 5, 2026
c15fb54
[TB] Fix a bug in testbench of incorrectly using negedge instead of p…
DiyouS Jan 5, 2026
ea793a6
[SRC] WIP: Adapt package for readability, keep working on multi-tile …
DiyouS Jan 6, 2026
dd4ee8a
[SRC] WIP: Adapt package for readability
DiyouS Jan 7, 2026
126b705
[SRC] WIP: continue work on multi-tile support.
DiyouS Jan 7, 2026
4c82cb2
[SRC] Fix the core_id and tile_id.
DiyouS Jan 8, 2026
2e20d25
[SRC] Change hardware barrier to the new two-level hardware barrier f…
DiyouS Jan 9, 2026
2c3ff67
[SW] Add software for insitu cache byte/half-word/word access test.
Aquaticfuller Jan 7, 2026
a895668
[SW] Add more info output for cache byte access test.
Aquaticfuller Jan 8, 2026
245699b
[RTL] wire byte strobes into L1 data banks
Aquaticfuller Jan 9, 2026
7ae364c
Update the insitu-cache dep which supports byte access.
Aquaticfuller Jan 9, 2026
b7fd70b
[SW] Add vector byte/half-word test.
Aquaticfuller Jan 9, 2026
e76ffbd
[SCRIPT] Update the auto-benchmark scripts: 1.add new benchmarks; 2. …
Aquaticfuller Jan 13, 2026
1b1e5ea
[Lint] Fix a line length exceeds max linting issue.
Aquaticfuller Jan 13, 2026
ae1321e
[SRC] WIP: connect the cross-tile interconnection.
DiyouS Jan 13, 2026
4df578b
[SRC] Fix several warnings in simulation.
DiyouS Jan 13, 2026
534f89a
[SRC] Fix a comb loop in multi-tile configuration.
DiyouS Jan 15, 2026
1da5efa
[SRC] Support two-tile conifguration.
DiyouS Jan 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ packages:
- common_verification
- register_interface
insitu-cache:
revision: 04f72a7ac7e9091f1820f0dac59bb778b134d7f7
revision: 57c0884166dd0f1b7c484633b437fe11d5d62c89
version: null
source:
Git: https://github.com/pulp-platform/Insitu-Cache.git
Expand Down
4 changes: 4 additions & 0 deletions Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,16 @@ sources:
- hardware/src/tcdm_cache_interco.sv
- hardware/src/tcdm_id_remapper.sv
- hardware/src/spatz_cache_amo.sv
- hardware/src/cachepool_tile_barrier.sv
- hardware/src/cachepool_cluster_barrier.sv
# Level 1
- hardware/src/cachepool_pkg.sv
- hardware/src/cachepool_cc.sv
# Level 2
- hardware/src/cachepool_tile.sv
# Level 3
- hardware/src/cachepool_group.sv

- hardware/src/cachepool_cluster.sv
# Level 4
- hardware/tb/cachepool_cluster_wrapper.sv
Expand Down
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ VLOG_DEFS = -DCACHEPOOL

# Cluster configuration
VLOG_DEFS += -DNUM_TILES=$(num_tiles)
VLOG_DEFS += -DNumRemotePortTile=$(num_remote_ports_per_tile)
VLOG_DEFS += -DNUM_CORES=$(num_cores)
VLOG_DEFS += -DDATA_WIDTH=$(data_width)
VLOG_DEFS += -DADDR_WIDTH=$(addr_width)
Expand Down Expand Up @@ -274,6 +275,7 @@ vsim: dpi ${SIMBIN_DIR}/cachepool_cluster.vsim

.PHONY: clean
clean: clean.sw clean.vsim
rm -rf $(HJSON_OUT)

########
# Lint #
Expand Down
6 changes: 3 additions & 3 deletions config/cachepool.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
data_width: 32,
id_width_in: 6, // fixed for now
id_width_out: 2, // fixed for now
user_width: 17,
user_width: 18,
axi_cdc_enable: false,
sw_rst_enable: true,
axi_isolate_enable: false,
Expand All @@ -29,9 +29,9 @@

// Spatz parameters
vlen: 512,
n_fpu: 0,
n_fpu: 4,
n_ipu: 4,
spatz_fpu: false,
spatz_fpu: true,
norvd: true,

// Timing parameters (fixed defaults; tweak in template if needed)
Expand Down
4 changes: 2 additions & 2 deletions config/cachepool_512.mk
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ l1d_coal_window ?= 2
# L1 data cache number of ways per
l1d_num_way ?= 4

# L1 data cache size per tile (KiB)
# L1 data cache size **per tile** (KiB)
l1d_tile_size ?= 256

# L1 data cache tag width (TODO: should be calcualted)
l1d_tag_data_width ?= 52
l1d_tag_data_width ?= 92

####################
## CachePool CC ##
Expand Down
2 changes: 1 addition & 1 deletion config/cachepool_fpu_128.mk
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ l1d_size ?= 256
l1d_bank_factor ?= 1

# L1 coalecsing window
l1d_coal_window ?= 2
l1d_coal_window ?= 1

# L1 data cache number of ways per
l1d_num_way ?= 4
Expand Down
4 changes: 3 additions & 1 deletion config/cachepool_fpu_512.mk
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ data_width ?= 32
# Core addrwidth
addr_width ?= 32

num_remote_ports_per_tile ?= 1


######################
## CachePool Tile ##
Expand Down Expand Up @@ -52,7 +54,7 @@ l1d_num_way ?= 4
l1d_tile_size ?= 256

# L1 data cache tag width (TODO: should be calcualted)
l1d_tag_data_width ?= 52
l1d_tag_data_width ?= 92

####################
## CachePool CC ##
Expand Down
6 changes: 4 additions & 2 deletions config/config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ include $(CACHEPOOL_DIR)/config/$(config).mk
# Number of tiles
num_tiles ?= 1

num_remote_ports_per_tile ?= 1

# Number of cores
num_cores ?= 4

Expand Down Expand Up @@ -109,11 +111,11 @@ ifneq ($(filter $(l1d_cacheline_width),128 256 512),$(l1d_cacheline_width))
endif

ifeq ($(l1d_cacheline_width),512)
axi_user_width := 17
axi_user_width := 18
else ifeq ($(l1d_cacheline_width),256)
axi_user_width := 19
else ifeq ($(l1d_cacheline_width),128)
axi_user_width := 21
axi_user_width := 22
endif

#####################
Expand Down
4 changes: 2 additions & 2 deletions hardware/src/cachepool_cc.sv
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ module cachepool_cc
parameter type acc_issue_req_t = logic,
parameter type acc_issue_rsp_t = logic,
parameter type acc_rsp_t = logic,
parameter type dma_events_t = logic,
parameter type dma_perf_t = logic,
// parameter type dma_events_t = logic,
// parameter type dma_perf_t = logic,
/// FPU configuration.
parameter fpu_implementation_t FPUImplementation = fpu_implementation_t'(0),
/// Boot address of core.
Expand Down
Loading