Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

treewide: Miscellaneous changes to bump dependency in Occamy #193

Draft
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

colluca
Copy link
Collaborator

@colluca colluca commented Sep 3, 2024

Implements several changes to bump the Snitch cluster dependency in Occamy:

  • Renames the snitch_cluster Bender target, since this is now used by the DMA and required in Snitch-based systems, to snitch_cluster_wrapper containing the sources which are only needed to simulate/synthesize the snitch_cluster out of context
  • Bump non-free repo which was updated with the change above
  • Improve Makefile reusability in derived Snitch-based systems
  • Remove all DWARF targets since these are unused
  • Encode some missing linker prerequisites
  • Several changes to improve reuse of Makefiles in derived systems (rename ROOT to SNITCH_ROOT, rename PLATFORM_HEADERS to SNRT_HAL_HDRS, rename snitch_cluster_start.S to snrt.S, make MEMORY_LD overridable)
  • Speed up all-to-all reduction function by using a hierarchical scheme, cores within a cluster reduce in TCDM.
  • Generate accurate RTL dependencies using Verilator. The previous approach, already reported as fragile in bender: Update to version 0.28.1 #175, was failing in Occamy, as blindly appending /*/* to all include directories would lead to "No rule to make target" errors.
  • Move VCS targets to dedicated Makefile
  • Remove verible, which was not correctly installed in container, and is anyways unused in Snitch
  • Remove hw/snitch_dma from CODEOWNERS, outdated after iDMA integration
  • Move deploy-docs job to CI workflow, to properly encode the build-docker->deploy-docs dependency

@colluca colluca force-pushed the occamy branch 3 times, most recently from 2e29bca to 0cf1640 Compare September 5, 2024 07:55
@colluca colluca requested a review from fischeti September 6, 2024 06:34
@colluca colluca marked this pull request as ready for review September 6, 2024 06:34
@fischeti
Copy link
Contributor

fischeti commented Sep 6, 2024

LGTM! What's the problem exactly with the overlapping snitch_cluster target in this repo and the DMA?

@colluca
Copy link
Collaborator Author

colluca commented Sep 6, 2024

LGTM! What's the problem exactly with the overlapping snitch_cluster target in this repo and the DMA?

Basically the iDMA uses snitch_cluster as a Bender target for the Snitch DMA sources. We were using the same target for the snitch_cluster_wrapper sources. Occamy, and derived systems, need Snitch's iDMA sources and will thus need to include the snitch_cluster Bender target, but they should not include the wrapper (this failed to compile in Occamy). Thus we need distinct Bender targets.

@colluca colluca marked this pull request as draft September 16, 2024 18:36
@colluca colluca force-pushed the occamy branch 6 times, most recently from f1d68a9 to 78993b8 Compare September 30, 2024 15:37
@colluca colluca marked this pull request as ready for review September 30, 2024 16:05
colluca added 12 commits October 2, 2024 22:02
Due to collision with `snitch_cluster` target used in iDMA,
whose sources are required by all Snitch-cluster-based  systems,
e.g. Occamy, sources specific to the Snitch cluster simulation
target and not needed by Snitch-cluster-based systems need to
fall under a different Bender target. We rename this to
`snitch_cluster_wrapper`.
The shift to a name which is not specific to a particular system
makes building system-specific snRuntime implementations easier,
as these can reuse existing build scripts directly.
Streamlines the name so that Snitch-based systems can reuse
Snitch's snRuntime build scripts.
@colluca colluca marked this pull request as draft December 10, 2024 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants