Skip to content

Upstream PULPv2 features #66

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

Merged
merged 1 commit into from
Feb 27, 2025
Merged

Upstream PULPv2 features #66

merged 1 commit into from
Feb 27, 2025

Conversation

sermazz
Copy link
Contributor

@sermazz sermazz commented Feb 19, 2025

This pull request cleans up and puts together the commits of the following branches

that can now be deleted.

From the previous (never merged) PR #49:

  • register frontend now supports setting source and destination protocols
  • legalizer is instantiated correctly (before it would never use bursts when any used protocol did not support it)
  • register frontend correctly sets number of N-D repetitions when not using the maximum number of dimensions
  • some compilation/optimization fixes (specific to vopt)

The pulp_idma_wrap is also moved from here to the PULP Cluster repository, following the same approach of Astral.

@thommythomaso
Copy link
Collaborator

Thank you for integrating iDMA into Chimera and preparing this PR.

Copy link
Collaborator

@thommythomaso thommythomaso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

* Multichannel PULP DMAC

* [WIP] rename dmac_wrap

* [WIP] PULP iDMA wrap: allow mux of rd ports, use axi structs

* [WIP] add generated iDMA code to allow bender inclusion

* [WIP] change inst64_snitch_pkg bender target to only `rtl`

* [WIP] fix compilation errors in pulp_idma_wrap

* [WIP] Fix compilation & optimization of PULP iDMA wrap, register FE

* change tagged meta req assignment to always_comb bc of vopt issues

* reg FE: fix ctrl response handshk and dim assignments

* fix number of protocol bits and location

* fix legalizer generation when burst and non-burst protocols combined

* PULP iDMA wrap passes simple tests and is not unnecessarily slow

* PULP DMA wrapper: INIT channel response is always valid

* PULP DMA wrap: fix INIT read/write with spill registers

* INIT read: only assign `buffer_in_valid_o` if datapath req valid

* change HCI "master" to "initiator"...

* remove assignment to no-longer-used HCI signals

* add TCDM_MEM2BANKS parameter to pulp iDMA wrap

* Prepare for PR
 * move pulp_idma_wrap to PULP Cluster repo
 * remove generated files
 * fix white spaces

* Fix lint

---------

Co-authored-by: Sergio Mazzola <smazzola@iis.ee.ethz.ch>
Co-authored-by: Georg Rutishauser <georgr@iis.ee.ethz.ch>
Co-authored-by: Michael Rogenmoser <michaero@iis.ee.ethz.ch>
github-actions bot pushed a commit that referenced this pull request Feb 27, 2025
* Multichannel PULP DMAC

* [WIP] rename dmac_wrap

* [WIP] PULP iDMA wrap: allow mux of rd ports, use axi structs

* [WIP] add generated iDMA code to allow bender inclusion

* [WIP] change inst64_snitch_pkg bender target to only

* [WIP] fix compilation errors in pulp_idma_wrap

* [WIP] Fix compilation & optimization of PULP iDMA wrap, register FE

* change tagged meta req assignment to always_comb bc of vopt issues

* reg FE: fix ctrl response handshk and dim assignments

* fix number of protocol bits and location

* fix legalizer generation when burst and non-burst protocols combined

* PULP iDMA wrap passes simple tests and is not unnecessarily slow

* PULP DMA wrapper: INIT channel response is always valid

* PULP DMA wrap: fix INIT read/write with spill registers

* INIT read: only assign  if datapath req valid

* change HCI master to initiator...

* remove assignment to no-longer-used HCI signals

* add TCDM_MEM2BANKS parameter to pulp iDMA wrap

* Prepare for PR
 * move pulp_idma_wrap to PULP Cluster repo
 * remove generated files
 * fix white spaces

* Fix lint

---------

Co-authored-by: Sergio Mazzola <smazzola@iis.ee.ethz.ch>
Co-authored-by: Georg Rutishauser <georgr@iis.ee.ethz.ch>
Co-authored-by: Michael Rogenmoser <michaero@iis.ee.ethz.ch>

-----

Deployed from 92799c5
@thommythomaso thommythomaso merged commit 92799c5 into master Feb 27, 2025
23 of 25 checks passed
@thommythomaso thommythomaso deleted the smazzola/chimera branch February 27, 2025 17:58
github-actions bot pushed a commit that referenced this pull request Feb 27, 2025
* Multichannel PULP DMAC

* [WIP] rename dmac_wrap

* [WIP] PULP iDMA wrap: allow mux of rd ports, use axi structs

* [WIP] add generated iDMA code to allow bender inclusion

* [WIP] change inst64_snitch_pkg bender target to only

* [WIP] fix compilation errors in pulp_idma_wrap

* [WIP] Fix compilation & optimization of PULP iDMA wrap, register FE

* change tagged meta req assignment to always_comb bc of vopt issues

* reg FE: fix ctrl response handshk and dim assignments

* fix number of protocol bits and location

* fix legalizer generation when burst and non-burst protocols combined

* PULP iDMA wrap passes simple tests and is not unnecessarily slow

* PULP DMA wrapper: INIT channel response is always valid

* PULP DMA wrap: fix INIT read/write with spill registers

* INIT read: only assign  if datapath req valid

* change HCI master to initiator...

* remove assignment to no-longer-used HCI signals

* add TCDM_MEM2BANKS parameter to pulp iDMA wrap

* Prepare for PR
 * move pulp_idma_wrap to PULP Cluster repo
 * remove generated files
 * fix white spaces

* Fix lint

---------

Co-authored-by: Sergio Mazzola <smazzola@iis.ee.ethz.ch>
Co-authored-by: Georg Rutishauser <georgr@iis.ee.ethz.ch>
Co-authored-by: Michael Rogenmoser <michaero@iis.ee.ethz.ch>

-----

Deployed from 92799c5
@DanielKellerM DanielKellerM restored the smazzola/chimera branch June 4, 2025 08:37
github-actions bot pushed a commit that referenced this pull request Jun 4, 2025
* Multichannel PULP DMAC

* [WIP] rename dmac_wrap

* [WIP] PULP iDMA wrap: allow mux of rd ports, use axi structs

* [WIP] add generated iDMA code to allow bender inclusion

* [WIP] change inst64_snitch_pkg bender target to only

* [WIP] fix compilation errors in pulp_idma_wrap

* [WIP] Fix compilation & optimization of PULP iDMA wrap, register FE

* change tagged meta req assignment to always_comb bc of vopt issues

* reg FE: fix ctrl response handshk and dim assignments

* fix number of protocol bits and location

* fix legalizer generation when burst and non-burst protocols combined

* PULP iDMA wrap passes simple tests and is not unnecessarily slow

* PULP DMA wrapper: INIT channel response is always valid

* PULP DMA wrap: fix INIT read/write with spill registers

* INIT read: only assign  if datapath req valid

* change HCI master to initiator...

* remove assignment to no-longer-used HCI signals

* add TCDM_MEM2BANKS parameter to pulp iDMA wrap

* Prepare for PR
 * move pulp_idma_wrap to PULP Cluster repo
 * remove generated files
 * fix white spaces

* Fix lint

---------

Co-authored-by: Sergio Mazzola <smazzola@iis.ee.ethz.ch>
Co-authored-by: Georg Rutishauser <georgr@iis.ee.ethz.ch>
Co-authored-by: Michael Rogenmoser <michaero@iis.ee.ethz.ch>

-----

Deployed from 92799c5
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