Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
735e7c8
Don't hardcode ETH toolchain for bootrom compilation
jpf-h Aug 3, 2026
dd9c92c
[RTL] cachepool_tile: bank_we/bank_req as direct OR-reduce off the sk…
Aquaticfuller Jun 9, 2026
d502c98
rlc: multi-user RLC kernel with use-case switching
Aquaticfuller Aug 24, 2026
e19293e
rlc: fix role dispatch when the data header has no core lists
Aquaticfuller Aug 24, 2026
e599df7
[RTL] add insitu_cache_ooc_wrapper: OOC timing harness for one L1 cac…
Sep 7, 2026
87ecc8b
rlc: AM transport-block assembly (DL) and reassembly (UL)
Aquaticfuller Sep 8, 2026
f6e10d0
rlc: fence the UL phase barriers; align uplink to the documented 160 …
Aquaticfuller Sep 8, 2026
998edd9
rlc: fence the TTI phase barriers
Aquaticfuller Sep 8, 2026
7d3703d
notes: synchronisation is not visibility -- four instances of one defect
Aquaticfuller Sep 8, 2026
6407f9c
notes: read the generated artefact, not the config
Aquaticfuller Sep 8, 2026
0a542be
notes: dependency tree is tool-owned; a marker inside it can outlive …
Aquaticfuller Sep 8, 2026
d87e9cd
notes: an assertion that can outlive its condition must carry its own…
Aquaticfuller Sep 8, 2026
f95e47d
rlc: read the participation-mask register back instead of echoing wha…
Aquaticfuller Sep 8, 2026
4c3d799
notes: RLC partial-barrier design is wrong at more than one tile
Aquaticfuller Sep 8, 2026
ec993e9
notes: barrier done is broadcast cluster-wide, so the mask gates arri…
Aquaticfuller Sep 8, 2026
604c7cf
notes: record the refuted workaround for defect 2 explicitly
Aquaticfuller Sep 8, 2026
86904f7
notes: the mechanism was checking claims against artefacts, not descr…
Aquaticfuller Sep 8, 2026
753b9ec
reports: RTL reference batch 2026-09-08 -- cycle-identity established…
Aquaticfuller Sep 8, 2026
e9da0b9
reports: record that the batch measured T3.1-T3.15, not the recommend…
Aquaticfuller Sep 8, 2026
e100fc7
notes: relative log paths make cwd a shared resource across sessions
Aquaticfuller Sep 8, 2026
a6869c2
notes: the transferable part is the habit -- grep for what a thing wr…
Aquaticfuller Sep 8, 2026
09b7754
reports: pristine arm clears cache-mix-smoke and makes it a third cyc…
Aquaticfuller Sep 8, 2026
a66fc90
reports: qualify the sensitivity argument -- the race window width is…
Aquaticfuller Sep 8, 2026
b9f8c42
reports: close the T3.1-T3.15 batch record; pin the T3.1-T3.12 state,…
Aquaticfuller Sep 8, 2026
7ad3b65
rlc: fix partial-barrier misuse -- arm on entry, keep non-participant…
Aquaticfuller Sep 8, 2026
e4e7ba1
notes: the fix requires masked semantics -- deadlocks without them, b…
Aquaticfuller Sep 8, 2026
89bccd4
rlc: the grant verifier still assumed SN advances per PDU
Aquaticfuller Sep 8, 2026
16275cc
rlc: one AM progress line per grant, always
Aquaticfuller Sep 8, 2026
f061a8f
notes: five of six were cross-artefact, one was re-reading the reference
Aquaticfuller Sep 8, 2026
7f5dfa8
rlc: TTI loop never terminated with the work queue on; fix polls, UL …
Aquaticfuller Sep 22, 2026
1d0773c
rlc: software perf-probe hooks (RLC_PROBE=1, default builds unchanged)
Aquaticfuller Sep 22, 2026
a1d54b1
rlc: full-cluster DP test cases (TC1/TC2/TC3, 64 producers + 192 cons…
Aquaticfuller Sep 22, 2026
63f4359
rlc: lock/flag cache-line padding (RLC_PAD_SYNC), paced arrival (RLC_…
Aquaticfuller Sep 22, 2026
644b649
rlc: per-group packet streams and node pools (RLC_GROUP_STREAMS) with…
Aquaticfuller Sep 22, 2026
aaabad8
rlc: tile affinity on a half-private L1, AM in-tile and cross-tile, b…
Aquaticfuller Sep 22, 2026
d5c639a
rlc: AM tile STATUS on a dirty bitmap, multiple grants per owner per TTI
Aquaticfuller Sep 22, 2026
142358e
rlc: TC1 at target -- descriptor-ring to-send queue, owner plans in i…
Aquaticfuller Sep 22, 2026
40c4b72
worklog: remap hashes after rewording 2094188
Aquaticfuller Sep 30, 2026
2db3274
bump insitu cache dep
Aquaticfuller Sep 30, 2026
f07a94b
bump insitu cache dep
Aquaticfuller Oct 14, 2026
497a60d
rlc: port the RLC test targets to software/rlc after the main rebase
Aquaticfuller Oct 14, 2026
4fa0e64
rlc: run the consumer phase barrier on its own barrier slot
Aquaticfuller Oct 14, 2026
bd534ef
bootrom: use the IIS GCC 9.5.0 wrapper when available
Aquaticfuller Oct 15, 2026
58b053e
Drop local report files from the repo and condense a tile comment
Aquaticfuller Oct 15, 2026
d5cfab6
rlc: generate the data headers with make gen-data instead of tracking…
Aquaticfuller Oct 16, 2026
af33f84
bump spatz dep (VLSU partial-port fix)
Aquaticfuller Oct 16, 2026
cd844ac
rlc: return check failures as the exit code and add AM/UL tests to CI
Aquaticfuller Oct 16, 2026
e26b010
rlc: fix review findings in the PDU, planner and uplink code
Aquaticfuller Oct 16, 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: 2 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ test:
- fft-32b_M1024_N16
- byte-enable
- multi_producer_single_consumer_double_linked_list_M1_N1350_K10
- multi_producer_single_consumer_double_linked_list_M1_N1350_K4_P2_C2_am_G1024_tbchk
- multi_producer_single_consumer_double_linked_list_P1_C3_ul_ci
script:
# The vsim script writes a .rtlbinary marker here; monitor logs need the
# core/noc/others subfolders. Build artifacts exclude sim/bin/logs/, so
Expand Down
4 changes: 2 additions & 2 deletions Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ packages:
- obi
- register_interface
insitu-cache:
revision: 189bf8cd5b7a49cde3b6aa5b75590ee15521eaf9
revision: d7a526ebc965c3c9808f348b377d06f4479cc4ab
version: null
source:
Git: https://github.com/pulp-platform/Insitu-Cache.git
Expand Down Expand Up @@ -150,7 +150,7 @@ packages:
dependencies:
- tech_cells_generic
spatz:
revision: f4741b0a5bcc49103bd8a3db8d51fdf76d240df7
revision: 6acbd2e0cb9131f870209d03ffb85c46fbd2ea9c
version: null
source:
Git: https://github.com/pulp-platform/spatz.git
Expand Down
15 changes: 12 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -160,18 +160,27 @@ SNRT_BOOTINFO_H := $(SOFTWARE_DIR)/snRuntime/include/snrt_bootinfo.h
$(SNRT_BOOTINFO_H): $(SCRIPTS_DIR)/generate_bootdata.py $(HJSON_OUT) $(BOOTROM_DIR)/snrt_bootinfo.h.tpl
${PYTHON} $< -c $(HJSON_OUT) -d $(BOOTROM_DIR) -t snrt_bootinfo.h.tpl -o $@

# BootROM compiler: the IIS GCC 9.5.0 wrapper when available, otherwise the repo toolchain.
# Override with BOOTROM_GCC_PREFIX=<path>/riscv32-unknown-elf-
BOOTROM_GCC_9_5 := riscv -riscv64-gcc-9.5.0 riscv64-unknown-elf-
ifeq ($(shell $(BOOTROM_GCC_9_5)gcc --version >/dev/null 2>&1 && echo ok),ok)
BOOTROM_GCC_PREFIX ?= $(BOOTROM_GCC_9_5)
else
BOOTROM_GCC_PREFIX ?= $(GCC_INSTALL_DIR)/bin/riscv32-unknown-elf-
endif

$(BOOTROM_DIR)/bootrom.elf $(BOOTROM_DIR)/bootrom.dump $(BOOTROM_DIR)/bootrom.bin: \
$(BOOTROM_DIR)/bootrom.S $(BOOTROM_DIR)/bootdata_bootrom.cc $(BOOTROM_DIR)/bootrom.ld $(SNRT_BOOTINFO_H)
riscv -riscv64-gcc-9.5.0 riscv64-unknown-elf-gcc \
$(BOOTROM_GCC_PREFIX)gcc \
-mabi=ilp32 -march=rv32imaf -static -nostartfiles \
-T$(BOOTROM_DIR)/bootrom.ld \
$(BOOTROM_DIR)/bootrom.S \
$(BOOTROM_DIR)/bootdata_bootrom.cc \
-I$(SPATZ_DIR)/hw/ip/snitch_test/src \
-I$(SOFTWARE_DIR)/snRuntime/include \
-o $(BOOTROM_DIR)/bootrom.elf
riscv -riscv64-gcc-9.5.0 riscv64-unknown-elf-objdump -D $(BOOTROM_DIR)/bootrom.elf > $(BOOTROM_DIR)/bootrom.dump
riscv -riscv64-gcc-9.5.0 riscv64-unknown-elf-objcopy -O binary $(BOOTROM_DIR)/bootrom.elf $(BOOTROM_DIR)/bootrom.bin
$(BOOTROM_GCC_PREFIX)objdump -D $(BOOTROM_DIR)/bootrom.elf > $(BOOTROM_DIR)/bootrom.dump
$(BOOTROM_GCC_PREFIX)objcopy -O binary $(BOOTROM_DIR)/bootrom.elf $(BOOTROM_DIR)/bootrom.bin

$(BOOTROM_DIR)/bootrom.sv: $(BOOTROM_DIR)/bootrom.bin $(BOOTROM_DIR)/bootdata.cc
${PYTHON} $(SCRIPTS_DIR)/generate_bootrom.py \
Expand Down
9 changes: 5 additions & 4 deletions hardware/src/cachepool_tile.sv
Original file line number Diff line number Diff line change
Expand Up @@ -1299,8 +1299,11 @@ module cachepool_tile
automatic logic sel_found;
automatic int unsigned sel_part_idx;

bank_req[col][bank_sel] = 1'b0;
bank_we[col][bank_sel] = 1'b0;
// Timing: we/req equal the OR of the part bits (the cascade prefers a write part),
// so take them directly instead of through the sel_part_idx mux, off the critical
// path tail. addr/wdata/be still use the mux.
bank_we[col][bank_sel] = |part_we[col][bank_sel];
bank_req[col][bank_sel] = (|part_we[col][bank_sel]) | (|part_req[col][bank_sel]);
bank_addr[col][bank_sel] = '0;
bank_wdata[col][bank_sel] = '0;
bank_be[col][bank_sel] = '0;
Expand All @@ -1323,8 +1326,6 @@ module cachepool_tile
end

if (sel_found) begin
bank_req[col][bank_sel] = 1'b1;
bank_we[col][bank_sel] = part_we[col][bank_sel][sel_part_idx];
bank_addr[col][bank_sel] = part_addr[col][bank_sel][sel_part_idx];
bank_wdata[col][bank_sel] = part_wdata[col][bank_sel][sel_part_idx];
bank_be[col][bank_sel] = part_be[col][bank_sel][sel_part_idx];
Expand Down
424 changes: 424 additions & 0 deletions hardware/src/insitu_cache_ooc_wrapper.sv

Large diffs are not rendered by default.

546 changes: 541 additions & 5 deletions software/rlc/CMakeLists.txt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Generated data headers, reproduced by `make gen-data` from ../script/data_<params>.json
*.h

This file was deleted.

This file was deleted.

Loading
Loading