Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
cbbecdf
tb: Fix mock UART to print from all cores
da-gazzi Jun 7, 2024
803eafe
bender: Bump neureka and hci versions to Arpan's
sermazz Feb 13, 2025
ab84975
bender: Update HCI to Astral+pv2 version
sermazz Feb 13, 2025
adb8d5e
hw,bender: Update iDMA wrap
sermazz Feb 25, 2025
4cfd849
hw,tb: Detach DMA from cluster bus, add wide port, test
da-gazzi Jul 2, 2024
a84e126
hw,tb: Share HCI shallow intc between (wide) DMA and HWPEs
sermazz Feb 25, 2025
ad9b8f7
tb: handle non-word (64-bit bursts) aligned sections
sermazz Feb 13, 2025
a876d77
hw: Parametrize number of EXT ports to TCDM
sermazz Feb 18, 2025
f79c1d8
hw: Fix combinational loop in HCI
sermazz Feb 14, 2025
ec13fc0
tb: Disable ECC hardware
sermazz Feb 14, 2025
2f5e74a
package: Change config struct to packed type
sermazz Feb 20, 2025
0cfbed9
bender: Add obi, bump idma, fix_redundancy_cells, update Bender.lock
sermazz Feb 27, 2025
3e1bab8
hw: Fix idma_wrap for updated obi v0.1.3
sermazz Feb 27, 2025
00d183e
makefile: Add target to generate iDMA hardware
sermazz Feb 27, 2025
c7ea809
hw: :bug: Fix cluster_id_i tied to 0 in cluster_interco and core_demux
sermazz Mar 6, 2025
07ca6db
bender,hw: Bump hci to align ECC and non-ECC HCI interfaces
sermazz Mar 11, 2025
5730f62
makefile: Bump pulp-runtime, regression_tests, and nonfree revs
sermazz Feb 11, 2025
a3ac2c2
ci: Disable ECC
sermazz Jul 11, 2025
32e5a07
fix printing from all cores
da-gazzi Jun 7, 2024
765a96f
Upload New File
DanielKellerM Oct 22, 2024
313f427
Upload New File
DanielKellerM Oct 22, 2024
6a4726e
Update block diagram
DanielKellerM Oct 22, 2024
1a6fcda
up-streaming changes from: d99955ad0883589769ac7a40c5ccc8306ab47090
DanielKellerM Jun 2, 2025
2369f4d
[wip] bump versions
DanielKellerM Jun 3, 2025
5aa3ff2
Update idma_wrap.sv to double byte width for BE_WIDTH
DanielKellerM Jun 4, 2025
3b8c21b
[wip] parametrization of wide port
DanielKellerM Jul 23, 2025
4488691
Refactor dmac_wrap instantiation to support both wide and narrow port…
DanielKellerM Jul 24, 2025
0b85452
bumpb runtime version
DanielKellerM Jul 24, 2025
5e04d32
[wip] fixing CI
DanielKellerM Jul 24, 2025
845a3ba
[wip] bump versions
DanielKellerM Jul 24, 2025
ae44fee
[wip] bump version
DanielKellerM Jul 24, 2025
6cb1743
track tip of the branch for nonfree repo, added idma tests in nonfree
DanielKellerM Jul 24, 2025
039428b
fix narrow / wide master mismatch
DanielKellerM Aug 7, 2025
1cb29e7
[wip] update TB to parametrize narrow vs wide port
DanielKellerM Aug 7, 2025
ba4f9c8
propagate same variable for consistency
DanielKellerM Aug 7, 2025
873884d
build different tests for using idma and mchan
DanielKellerM Aug 7, 2025
f8944c1
trigger job
DanielKellerM Aug 7, 2025
51b3a15
display TB configuration
DanielKellerM Aug 8, 2025
6b0d98b
fix: move display to initial block
DanielKellerM Aug 8, 2025
6ef07a2
[wip] add support for wide DMA port toggle in Makefile
DanielKellerM Aug 8, 2025
04aef50
trigger job
DanielKellerM Aug 8, 2025
54c3247
remove nonfree artifacts; trigger job
DanielKellerM Aug 8, 2025
d14fd7d
trigger job
DanielKellerM Aug 8, 2025
611c337
unset default
DanielKellerM Aug 8, 2025
cf00859
avoid removing Bender.lock
DanielKellerM Aug 8, 2025
6bc4707
include legacy MCHAN configuration
DanielKellerM Aug 8, 2025
f19b6a8
trigger CI job
DanielKellerM Aug 8, 2025
2c43288
trigger CI job
DanielKellerM Aug 8, 2025
45938b2
refactor: replace EnableWidePort with Cfg.EnableWidePort for consiste…
DanielKellerM Aug 11, 2025
56c173b
refactor: NB_DMAS no longer overwritten; use macro defined DMA_USE_HW…
DanielKellerM Aug 11, 2025
8eaafc3
align wave.tcl for gui with new TB; add visible package instantiation…
DanielKellerM Aug 12, 2025
59590d3
clean up signals and comments
DanielKellerM Aug 12, 2025
9c74eed
trigger CI
DanielKellerM Aug 12, 2025
49e7283
wip: update deps in lock file; add HCI filter signal; fix waves to ta…
DanielKellerM Aug 21, 2025
da5ab65
fix: revert local Bender build
DanielKellerM Aug 21, 2025
f0c2684
add lock for dependencies
DanielKellerM Aug 21, 2025
0b687a3
trigger job
DanielKellerM Aug 21, 2025
af8bce7
trigger job; fix some lint problems
DanielKellerM Aug 21, 2025
b396da7
trigger job
DanielKellerM Aug 21, 2025
3d07b5f
trigger job
DanielKellerM Aug 21, 2025
6954b72
fix: wrong Bender lock
DanielKellerM Aug 21, 2025
46b03d2
fix: wrong Bender lock
DanielKellerM Aug 21, 2025
101c428
fix: initialise submodules. Fixes issue where pulp-nnx was not initia…
DanielKellerM Aug 22, 2025
b771d4c
update neureka version to main; remove fifo delay
DanielKellerM Aug 22, 2025
3a5143d
fix: update HCI interface to propagate Fifo Depth parameter. Fixes co…
DanielKellerM Aug 22, 2025
584f3df
trigger job, green CI
DanielKellerM Aug 22, 2025
22646ae
Merge branch 'smazzola/chimera' into dkeller/chimera-v2
DanielKellerM Aug 23, 2025
1bb8bbc
Revert "Merge branch 'smazzola/chimera' into dkeller/chimera-v2"
DanielKellerM Aug 23, 2025
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ regression_tests/
pulp-runtime/
fault_injection_sim/
venv/
.venv/
29 changes: 15 additions & 14 deletions Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ packages:
dependencies:
- hci
common_cells:
revision: 9afda9abb565971649c2aa0985639c096f351171
revision: b20ad7aba2080b3bb705680e0f70f1fc180ce290
version: 1.38.0
source:
Git: https://github.com/pulp-platform/common_cells.git
Expand Down Expand Up @@ -98,14 +98,6 @@ packages:
Git: https://github.com/pulp-platform/event_unit_flex.git
dependencies:
- common_cells
flex-v:
revision: e9355c2f6ec4c105abdff39489e5d1be93bc4374
version: null
source:
Git: https://github.com/pulp-platform/flex-v.git
dependencies:
- fpnew
- tech_cells_generic
fpnew:
revision: a8e0cba6dd50f357ece73c2c955d96efc3c6c315
version: null
Expand All @@ -122,7 +114,7 @@ packages:
dependencies:
- common_cells
hci:
revision: 5421524afca701e45a83d0f1ec47568c019e021a
revision: 0faa4f3cdfc87ead4a10e5c307c00aa6c4504d0d
version: null
source:
Git: https://github.com/pulp-platform/hci.git
Expand Down Expand Up @@ -173,8 +165,8 @@ packages:
Git: https://github.com/pulp-platform/icache-intc.git
dependencies: []
idma:
revision: 92799c5fabcf2cd1f224f970bbb040b290d08fd5
version: null
revision: ff5d56fffb3767814db88d6bf8f381974ea33aa5
version: 0.6.4
source:
Git: https://github.com/pulp-platform/idma.git
dependencies:
Expand All @@ -198,14 +190,15 @@ packages:
dependencies:
- common_cells
neureka:
revision: ff7090eb3738a5192af0f4e1499e4ed44a3041e5
revision: 5ff2b6bc0a04de07eb2549a599655fb6d7f99c58
version: null
source:
Git: https://github.com/pulp-platform/neureka.git
dependencies:
- hci
- hwpe-ctrl
- hwpe-stream
- register_interface
- zeroriscy
obi:
revision: c2141a653c755461ff44f61d12aeb5d99fc8e760
Expand Down Expand Up @@ -237,7 +230,7 @@ packages:
- register_interface
- tech_cells_generic
redundancy_cells:
revision: d924bd6a2ffa48f0e6d26e6c66725012cf677abe
revision: 9e31f7c6c24877eaf58279903e7a162b16c9a721
version: null
source:
Git: https://github.com/pulp-platform/redundancy_cells.git
Expand All @@ -256,6 +249,14 @@ packages:
- axi
- common_cells
- common_verification
riscv:
revision: c760db14dbd6cc3ec3b8ae8274df2eac7225bcac
version: null
source:
Git: https://github.com/AlSaqr-platform/riscv_nn.git
dependencies:
- fpnew
- tech_cells_generic
scm:
revision: 472f99affe44ff7b282b519c047a3cfeb35b16c6
version: 1.2.0
Expand Down
13 changes: 7 additions & 6 deletions Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,23 @@ dependencies:
cluster_interconnect: { git: "https://github.com/pulp-platform/cluster_interconnect.git", rev: v1.3.0 }
event_unit_flex: { git: "https://github.com/pulp-platform/event_unit_flex.git", rev: astral-v1.0 }
mchan: { git: "https://github.com/pulp-platform/mchan.git", rev: v1.2.4 }
idma: { git: "https://github.com/pulp-platform/idma.git", rev: "92799c5fabcf2cd1f224f970bbb040b290d08fd5" } # branch: smazzola/chimera
idma: { git: "https://github.com/pulp-platform/idma.git", rev: v0.6.4 }
hier-icache: { git: "https://github.com/pulp-platform/hier-icache.git", rev: v1.3.0 }
cluster_icache: { git: "https://github.com/pulp-platform/cluster_icache.git", rev: v0.2.0 }
cluster_peripherals: { git: "https://github.com/pulp-platform/cluster_peripherals.git", rev: v2.2.0 }
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.3 }
timer_unit: { git: "https://github.com/pulp-platform/timer_unit.git", version: 1.0.2 }
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.35.0 }
tech_cells_generic: { git: "https://github.com/pulp-platform/tech_cells_generic.git", version: 0.2.3 }
flex-v: { git: "https://github.com/pulp-platform/flex-v.git", rev: astral-v1.1 }
riscv: { git: "https://github.com/AlSaqr-platform/riscv_nn.git", rev: astral-v1.0 }
cv32e40p: { git: "https://github.com/pulp-platform/cv32e40p.git", rev: astral-v1.0 }
ibex: { git: "https://github.com/pulp-platform/ibex.git", rev: "pulpissimo-v6.1.2" }
scm: { git: "https://github.com/pulp-platform/scm.git", rev: v1.2.0 }
hci: { git: "https://github.com/pulp-platform/hci.git", rev: 5421524afca701e45a83d0f1ec47568c019e021a } # branch: main
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.4.4 }
redundancy_cells: { git: "https://github.com/pulp-platform/redundancy_cells.git", rev: astral-v1.0 }
hci: { git: "https://github.com/pulp-platform/hci.git", rev: 5421524afca701e45a83d0f1ec47568c019e021a } # branch: main
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.4.5 }
redundancy_cells: { git: "https://github.com/pulp-platform/redundancy_cells.git", rev: 9e31f7c6c24877eaf58279903e7a162b16c9a721 } # branch: astral-v0
redmule: { git: "https://github.com/pulp-platform/redmule.git", rev: astral-v1.0 }
neureka: { git: "https://github.com/pulp-platform/neureka.git", rev: ff7090eb3738a5192af0f4e1499e4ed44a3041e5 } # branch: main
neureka: { git: "https://github.com/pulp-platform/neureka.git", rev: astral-v1.0 }
softex: { git: "https://github.com/belanoa/softex.git" , rev: astral-v1.0 }
obi: { git: "https://github.com/pulp-platform/obi.git", rev: v0.1.3 }

Expand Down Expand Up @@ -96,3 +96,4 @@ sources:
files:
- nonfree/gf12/sourcecode/tc_sram.sv
- nonfree/gf12/sourcecode/tc_clk.sv

128 changes: 109 additions & 19 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ else
QUESTA ?=
endif


BENDER ?= bender
# BENDER ?= /local/user/dkm/Projects/pulp_cluster/bender-cust/target/debug/bender
PYTHON ?= python3

VSIM ?= $(QUESTA) vsim
Expand All @@ -27,6 +29,12 @@ REGRESSIONS := $(ROOT_DIR)/regression_tests

VLOG_ARGS += -suppress vlog-2583 -suppress vlog-13314 -suppress vlog-13233 -timescale \"1 ns / 1 ps\" \"+incdir+$(shell pwd)/include\"

# TB's wide DMA port toggle override
export TB_ENABLE_WIDE_PORT
ifneq ($(strip $(TB_ENABLE_WIDE_PORT)),)
VLOG_ARGS += +define+TB_ENABLE_WIDE_PORT=$(TB_ENABLE_WIDE_PORT)
endif

define generate_vsim
echo 'set ROOT [file normalize [file dirname [info script]]/$3]' > $1
$(BENDER) script vsim --vlog-arg="$(VLOG_ARGS)" $2 | grep -v "set ROOT" >> $1
Expand All @@ -38,10 +46,12 @@ endef
######################

NONFREE_REMOTE ?= [email protected]:pulp-restricted/pulp-cluster-nonfree.git
NONFREE_COMMIT ?= f492530603be007bdc82c37bc0ebae6599d7c7a2 # branch: smazzola/chimera
#NONFREE_COMMIT ?= 6f5b4b5aa85b6f3ac4bbe03439dd250ab4810d80 # branch: dkeller/chimera-v2
NONFREE_BRANCH ?= dkeller/chimera-v2

nonfree-init:
git clone $(NONFREE_REMOTE) nonfree
rm -rf nonfree;
git clone --single-branch --branch $(NONFREE_BRANCH) $(NONFREE_REMOTE) nonfree
cd nonfree && git checkout $(NONFREE_COMMIT)

################
Expand All @@ -63,6 +73,8 @@ Bender.lock:
$(BENDER) checkout
touch Bender.lock

update:
$(BENDER) update

######
# SW #
Expand All @@ -76,28 +88,101 @@ sw-clean:

## Clone pulp-runtime as SW stack
PULP_RUNTIME_REMOTE ?= https://github.com/pulp-platform/pulp-runtime.git
PULP_RUNTIME_COMMIT ?= 3c6e91f03942b3a1951b1315b6f175bbd851361c # branch: smazzola/chimera
PULP_RUNTIME_REF ?= dkeller/chimera-v2
PULP_RUNTIME_DIR ?= $(ROOT_DIR)/pulp-runtime
# Lock (optional)
PULP_RUNTIME_LOCK_FILE ?= pulp-runtime.lock
PULP_RUNTIME_COMMIT := $(shell test -f $(PULP_RUNTIME_LOCK_FILE) && cat $(PULP_RUNTIME_LOCK_FILE) || echo)

pulp-runtime:
git clone $(PULP_RUNTIME_REMOTE) $@
cd $@ && git checkout $(PULP_RUNTIME_COMMIT)
@if [ -d "$(PULP_RUNTIME_DIR)/.git" ]; then \
echo "[pulp-runtime] Using existing repo at $(PULP_RUNTIME_DIR)"; \
git -C $(PULP_RUNTIME_DIR) fetch --tags --all; \
else \
echo "[pulp-runtime] Cloning $(PULP_RUNTIME_REMOTE)"; \
git clone $(PULP_RUNTIME_REMOTE) $(PULP_RUNTIME_DIR); \
fi
@if [ -n "$(PULP_RUNTIME_COMMIT)" ]; then \
echo "[pulp-runtime] Checking out locked commit $(PULP_RUNTIME_COMMIT)"; \
git -C $(PULP_RUNTIME_DIR) checkout --detach $(PULP_RUNTIME_COMMIT); \
else \
echo "[pulp-runtime] Checking out ref $(PULP_RUNTIME_REF)"; \
git -C $(PULP_RUNTIME_DIR) checkout $(PULP_RUNTIME_REF) || true; \
git -C $(PULP_RUNTIME_DIR) pull --ff-only || true; \
fi

lock-runtime:
@git -C $(PULP_RUNTIME_DIR) rev-parse HEAD > $(PULP_RUNTIME_LOCK_FILE) && \
echo "Locked pulp-runtime to $$(cat $(PULP_RUNTIME_LOCK_FILE))"

unlock-runtime:
@rm -f $(PULP_RUNTIME_LOCK_FILE) && echo "Unlocked pulp-runtime (will track $(PULP_RUNTIME_REF))"

## Clone fault injection scripts
FAULT_SIM_REMOTE ?= https://github.com/pulp-platform/InjectaFault.git
FAULT_SIM_COMMIT ?= 84ddcff # branch: rt/rename-var
FAULT_SIM_BRANCH ?= rt/rename-var
FAULT_SIM_DIR ?= $(ROOT_DIR)/fault_injection_sim
# Lock (optional)
FAULT_SIM_LOCK_FILE ?= fault_injection_sim.lock
FAULT_SIM_COMMIT := $(shell test -f $(FAULT_SIM_LOCK_FILE) && cat $(FAULT_SIM_LOCK_FILE) || echo)

fault_injection_sim:
git clone $(FAULT_SIM_REMOTE) $@
cd $@ && git checkout $(FAULT_SIM_COMMIT)
@if [ -d "$(FAULT_SIM_DIR)/.git" ]; then \
echo "[fault_injection_sim] Using existing repo at $(FAULT_SIM_DIR)"; \
git -C $(FAULT_SIM_DIR) fetch --tags --all; \
else \
echo "[fault_injection_sim] Cloning $(FAULT_SIM_REMOTE)"; \
git clone $(FAULT_SIM_REMOTE) $(FAULT_SIM_DIR); \
fi
@if [ -n "$(FAULT_SIM_COMMIT)" ]; then \
echo "[fault_injection_sim] Checking out locked commit $(FAULT_SIM_COMMIT)"; \
git -C $(FAULT_SIM_DIR) checkout --detach $(FAULT_SIM_COMMIT); \
else \
echo "[fault_injection_sim] Checking out ref $(FAULT_SIM_BRANCH)"; \
git -C $(FAULT_SIM_DIR) checkout $(FAULT_SIM_BRANCH) || true; \
git -C $(FAULT_SIM_DIR) pull --ff-only || true; \
fi

lock-fault-sim:
@git -C $(FAULT_SIM_DIR) rev-parse HEAD > $(FAULT_SIM_LOCK_FILE) && \
echo "Locked fault_injection_sim to $$(cat $(FAULT_SIM_LOCK_FILE))"

unlock-fault-sim:
@rm -f $(FAULT_SIM_LOCK_FILE) && echo "Unlocked fault_injection_sim (will track $(FAULT_SIM_BRANCH))"

## Clone regression tests
REGRESSION_TESTS_REMOTE ?= https://github.com/pulp-platform/regression_tests.git
REGRESSION_TESTS_COMMIT ?= 53e038baec991aa94e113ecefc03ca6377e56f85 # branch: smazzola/chimera
REGRESSION_TESTS_BRANCH ?= dkeller/chimera-v2
REGRESSION_TESTS_DIR ?= $(ROOT_DIR)/regression_tests
# Lock (optional)
REGRESSION_TESTS_LOCK_FILE ?= regression_tests.lock
REGRESSION_TESTS_COMMIT := $(shell test -f $(REGRESSION_TESTS_LOCK_FILE) && cat $(REGRESSION_TESTS_LOCK_FILE) || echo)

regression_tests:
git clone $(REGRESSION_TESTS_REMOTE) $@
cd $@ && git checkout $(REGRESSION_TESTS_COMMIT)
cd $@ && git submodule update --init --recursive
@if [ -d "$(REGRESSION_TESTS_DIR)/.git" ]; then \
echo "[regression_tests] Using existing repo at $(REGRESSION_TESTS_DIR)"; \
git -C $(REGRESSION_TESTS_DIR) fetch --tags --all; \
else \
echo "[regression_tests] Cloning $(REGRESSION_TESTS_REMOTE)"; \
git clone $(REGRESSION_TESTS_REMOTE) $(REGRESSION_TESTS_DIR); \
fi
@if [ -n "$(REGRESSION_TESTS_COMMIT)" ]; then \
echo "[regression_tests] Checking out locked commit $(REGRESSION_TESTS_COMMIT)"; \
git -C $(REGRESSION_TESTS_DIR) checkout --detach $(REGRESSION_TESTS_COMMIT); \
else \
echo "[regression_tests] Checking out ref $(REGRESSION_TESTS_BRANCH)"; \
git -C $(REGRESSION_TESTS_DIR) checkout $(REGRESSION_TESTS_BRANCH) || true; \
git -C $(REGRESSION_TESTS_DIR) pull --ff-only || true; \
fi
@echo "[regression_tests] Initializing submodules (e.g., pulp-nnx)"
@git -C $(REGRESSION_TESTS_DIR) submodule update --init --recursive

lock-regression-tests:
@git -C $(REGRESSION_TESTS_DIR) rev-parse HEAD > $(REGRESSION_TESTS_LOCK_FILE) && \
echo "Locked regression_tests to $$(cat $(REGRESSION_TESTS_LOCK_FILE))"

unlock-regression-tests:
@rm -f $(REGRESSION_TESTS_LOCK_FILE) && echo "Unlocked regression_tests (will track $(REGRESSION_TESTS_BRANCH))"

#########################
# Hardware dependencies #
Expand All @@ -113,16 +198,14 @@ endif
IDMA_ROOT ?= .

# Python requirements (version and packages) coming from iDMA repository
gen_idma_hw: $(IDMA_ROOT)/.idma_generated
$(IDMA_ROOT)/.idma_generated:
gen_idma_hw:
@$(PYTHON) --version >/dev/null 2>&1 || { echo "ERROR: Python not found. Python 3.8 or higher is required."; exit 1; } && \
$(PYTHON) -c "import sys; assert sys.version_info >= (3, 8)" || { echo "ERROR: Python version must be 3.8 or higher"; exit 1; } && \
rm -rf venv && $(PYTHON) -m venv venv && \
$(PYTHON) -m venv venv && \
. venv/bin/activate && \
pip install --upgrade pip && \
pip install -r $(IDMA_ROOT)/requirements.txt && \
make -C $(IDMA_ROOT) idma_hw_all && \
touch $@
make -C $(IDMA_ROOT) idma_hw_all

clean_idma_hw:
make -C $(IDMA_ROOT) idma_clean_all
Expand Down Expand Up @@ -150,7 +233,7 @@ scripts/synth-compile.tcl: | Bender.lock
$(library):
$(QUESTA) vlib $(library)

compile: $(IDMA_ROOT)/.idma_generated $(library)
compile: gen_idma_hw $(library)
@test -f Bender.lock || { echo "ERROR: Bender.lock file does not exist. Did you run make checkout in bender mode?"; exit 1; }
@test -f scripts/compile.tcl || { echo "ERROR: scripts/compile.tcl file does not exist. Did you run make scripts in bender mode?"; exit 1; }
$(VSIM) -c -do 'quit -code [source scripts/compile.tcl]'
Expand All @@ -162,8 +245,15 @@ run:
$(VSIM) +permissive -suppress 3053 -suppress 8885 -lib $(library) +MAX_CYCLES=$(max_cycles) +UVM_TESTNAME=$(test_case) +APP=$(elf-bin) +notimingchecks +nospecify -t 1ps \
${top_level}_optimized +permissive-off ++$(elf-bin) ++$(target-options) ++$(cl-bin) | tee sim.log

.PHONY: clean

clean:
rm -rf scripts/synth-compile.tcl
rm -rf scripts/compile.tcl
rm -rf transcript
rm -rf *.log

####################
# Regression tests #
####################

include regression.mk
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# PULP Cluster

![pulp_cluster schematic](doc/PULP_CLUSTER.png)
![pulp_cluster schematic](doc/PULP_CLUSTER_updateOct2024.png)

The `pulp_cluster` repository contains the structure of the cluster subsystem
used in PULP chips. For more details on the internal architecture, see the
Expand Down
11 changes: 10 additions & 1 deletion bender-common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@ common_defs += -D CLUSTER_ALIAS
common_defs += -D USE_PULP_PARAMETERS

common_targs += -t rtl
# common_targs += -t mchan
# DMA configuration
DMA_TYPE ?= idma

ifeq ($(DMA_TYPE),mchan)
common_targs += -t mchan
common_defs += -D TARGET_MCHAN
else
# Default to iDMA
endif

common_targs += -t cluster_standalone
common_targs += -t scm_use_fpga_scm
common_targs += -t cv32e40p_use_ff_regfile
Loading