Skip to content
This repository has been archived by the owner on Nov 22, 2023. It is now read-only.

occamy: Support for remote quadrants and other occamygen additions #345

Merged
merged 26 commits into from
Feb 23, 2022

Conversation

huettern
Copy link
Collaborator

@huettern huettern commented Feb 22, 2022

Summary of changes

  • occamygen: Add name argument to occamygen that defaults to occamy. This is especially helpful when generating different occamy systems
  • occamygen: Remote quadrants: Configurable amount of remote quadrants that are attached to the wide and narrow network. If parametrized to no remote quadrants, the RTL does not change (except some comments)
  • solder: Optional ATOP in emit_flat_port for Xilinx wrapper
  • solder: Add id_deprepend module
  • solder: change_iw to emit an assign if source and destination IW match
  • solder: Add axi_mux and axi_demux
  • occamygen: Parametrizable number of outstanding transactions on the DMA network
  • quadrant_ctrl: Quadrants held in reset after POR
  • solder: change_iw to emit an id_prepend if to IW > from IW
  • Move cut parameters to config

ToDo

  • ok to hold quadrants in reset after POR?
  • Review transactions on wide network
  • lint
  • schema doc

Comment

I don't intend to cleanup this PR before you agree on merging these changes. Please let me know if you intend to merge, I'll then fix the regressions.

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
@huettern huettern marked this pull request as ready for review February 22, 2022 15:12
Signed-off-by: Noah Huetter <noahhuetter@gmail.com>
@huettern huettern marked this pull request as draft February 23, 2022 10:16
Copy link
Collaborator

@paulsc96 paulsc96 left a comment

Choose a reason for hiding this comment

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

LGTM 👍 There are some places where RTL generation leaves comments related to remote cluster / quadrant generation; these could be conventionalized, but that is not a necessity.

@huettern
Copy link
Collaborator Author

LGTM +1 There are some places where RTL generation leaves comments related to remote cluster / quadrant generation; these could be conventionalized, but that is not a necessity.

Can't do better than some empty lines ;) thanks for the review!

@huettern huettern marked this pull request as ready for review February 23, 2022 16:06
@paulsc96 paulsc96 changed the title Support for remote quadrants and other occamygen additions occamy: Support for remote quadrants and other occamygen additions Feb 23, 2022
@paulsc96 paulsc96 merged commit 1eba06a into master Feb 23, 2022
@paulsc96 paulsc96 deleted the remote-quadrants branch February 23, 2022 17:22
paulsc96 pushed a commit to pulp-platform/snitch_cluster that referenced this pull request Jul 11, 2023
…ulp-platform/snitch#345)

* add name parameter for output files

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* change include file to svh header extension

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* expose remote quadrant AXI ports

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder optional ATOP in emit_flat_port

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add id_deprepend to AXI bus

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder change_iw to emit an assign if target iw match

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add axi mux and demux

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* prefix all generated modules with custom name

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen add support for remote quadrants

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* parametrizable number of outstanding transactions in the DMA network

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen RMQ address fix

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* quadrant reset POR value to 0 (quadrant in reset)

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder: Add ID Prepend and emit if id change to larger ID

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen: Adapt remote quadrants to new SoC structure

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Remove cb_filter from Xilinx IP packager because it causes problems

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Move cuts to configuration file

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* [occamy] regenerate sources

* Parametrizable transactions in SoC interconnect

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* re-vendor

* lint python sources

* cleanup

* 16 outstanding transactions on the quadrant networks

* re-generate memories with python3.9

* make snitch_cluster AXI transactions configurable through clustergen

* schema doc

* dont emit comments if no remote quadrants configured
paulsc96 pushed a commit to pulp-platform/snitch_cluster that referenced this pull request Jul 11, 2023
…ulp-platform/snitch#345](#345s))

* add name parameter for output files

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* change include file to svh header extension

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* expose remote quadrant AXI ports

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder optional ATOP in emit_flat_port

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add id_deprepend to AXI bus

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder change_iw to emit an assign if target iw match

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add axi mux and demux

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* prefix all generated modules with custom name

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen add support for remote quadrants

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* parametrizable number of outstanding transactions in the DMA network

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen RMQ address fix

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* quadrant reset POR value to 0 (quadrant in reset)

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder: Add ID Prepend and emit if id change to larger ID

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen: Adapt remote quadrants to new SoC structure

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Remove cb_filter from Xilinx IP packager because it causes problems

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Move cuts to configuration file

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* [occamy] regenerate sources

* Parametrizable transactions in SoC interconnect

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* re-vendor

* lint python sources

* cleanup

* 16 outstanding transactions on the quadrant networks

* re-generate memories with python3.9

* make snitch_cluster AXI transactions configurable through clustergen

* schema doc

* dont emit comments if no remote quadrants configured
paulsc96 pushed a commit to pulp-platform/snitch_cluster that referenced this pull request Jul 11, 2023
…ulp-platform/snitch#345)

* add name parameter for output files

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* change include file to svh header extension

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* expose remote quadrant AXI ports

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder optional ATOP in emit_flat_port

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add id_deprepend to AXI bus

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder change_iw to emit an assign if target iw match

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add axi mux and demux

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* prefix all generated modules with custom name

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen add support for remote quadrants

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* parametrizable number of outstanding transactions in the DMA network

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen RMQ address fix

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* quadrant reset POR value to 0 (quadrant in reset)

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder: Add ID Prepend and emit if id change to larger ID

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen: Adapt remote quadrants to new SoC structure

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Remove cb_filter from Xilinx IP packager because it causes problems

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Move cuts to configuration file

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* [occamy] regenerate sources

* Parametrizable transactions in SoC interconnect

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* re-vendor

* lint python sources

* cleanup

* 16 outstanding transactions on the quadrant networks

* re-generate memories with python3.9

* make snitch_cluster AXI transactions configurable through clustergen

* schema doc

* dont emit comments if no remote quadrants configured
colluca pushed a commit to pulp-platform/snitch_cluster that referenced this pull request Jul 11, 2023
…ulp-platform/snitch#345)

* add name parameter for output files

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* change include file to svh header extension

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* expose remote quadrant AXI ports

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder optional ATOP in emit_flat_port

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add id_deprepend to AXI bus

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder change_iw to emit an assign if target iw match

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add axi mux and demux

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* prefix all generated modules with custom name

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen add support for remote quadrants

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* parametrizable number of outstanding transactions in the DMA network

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen RMQ address fix

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* quadrant reset POR value to 0 (quadrant in reset)

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder: Add ID Prepend and emit if id change to larger ID

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen: Adapt remote quadrants to new SoC structure

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Remove cb_filter from Xilinx IP packager because it causes problems

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Move cuts to configuration file

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* [occamy] regenerate sources

* Parametrizable transactions in SoC interconnect

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* re-vendor

* lint python sources

* cleanup

* 16 outstanding transactions on the quadrant networks

* re-generate memories with python3.9

* make snitch_cluster AXI transactions configurable through clustergen

* schema doc

* dont emit comments if no remote quadrants configured
paulsc96 pushed a commit to pulp-platform/snitch_cluster that referenced this pull request Jul 11, 2023
…ulp-platform/snitch#345)

* add name parameter for output files

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* change include file to svh header extension

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* expose remote quadrant AXI ports

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder optional ATOP in emit_flat_port

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add id_deprepend to AXI bus

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder change_iw to emit an assign if target iw match

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add axi mux and demux

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* prefix all generated modules with custom name

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen add support for remote quadrants

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* parametrizable number of outstanding transactions in the DMA network

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen RMQ address fix

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* quadrant reset POR value to 0 (quadrant in reset)

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder: Add ID Prepend and emit if id change to larger ID

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen: Adapt remote quadrants to new SoC structure

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Remove cb_filter from Xilinx IP packager because it causes problems

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Move cuts to configuration file

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* [occamy] regenerate sources

* Parametrizable transactions in SoC interconnect

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* re-vendor

* lint python sources

* cleanup

* 16 outstanding transactions on the quadrant networks

* re-generate memories with python3.9

* make snitch_cluster AXI transactions configurable through clustergen

* schema doc

* dont emit comments if no remote quadrants configured
paulsc96 pushed a commit to pulp-platform/snitch_cluster that referenced this pull request Jul 11, 2023
…ulp-platform/snitch#345)

* add name parameter for output files

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* change include file to svh header extension

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* expose remote quadrant AXI ports

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder optional ATOP in emit_flat_port

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add id_deprepend to AXI bus

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder change_iw to emit an assign if target iw match

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add axi mux and demux

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* prefix all generated modules with custom name

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen add support for remote quadrants

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* parametrizable number of outstanding transactions in the DMA network

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen RMQ address fix

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* quadrant reset POR value to 0 (quadrant in reset)

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder: Add ID Prepend and emit if id change to larger ID

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen: Adapt remote quadrants to new SoC structure

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Remove cb_filter from Xilinx IP packager because it causes problems

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Move cuts to configuration file

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* [occamy] regenerate sources

* Parametrizable transactions in SoC interconnect

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* re-vendor

* lint python sources

* cleanup

* 16 outstanding transactions on the quadrant networks

* re-generate memories with python3.9

* make snitch_cluster AXI transactions configurable through clustergen

* schema doc

* dont emit comments if no remote quadrants configured
colluca pushed a commit to pulp-platform/occamy that referenced this pull request Aug 19, 2023
…ulp-platform/snitch#345)

* add name parameter for output files

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* change include file to svh header extension

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* expose remote quadrant AXI ports

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder optional ATOP in emit_flat_port

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add id_deprepend to AXI bus

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder change_iw to emit an assign if target iw match

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder add axi mux and demux

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* prefix all generated modules with custom name

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen add support for remote quadrants

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* parametrizable number of outstanding transactions in the DMA network

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen RMQ address fix

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* quadrant reset POR value to 0 (quadrant in reset)

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* solder: Add ID Prepend and emit if id change to larger ID

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* occamygen: Adapt remote quadrants to new SoC structure

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Remove cb_filter from Xilinx IP packager because it causes problems

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* Move cuts to configuration file

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* [occamy] regenerate sources

* Parametrizable transactions in SoC interconnect

Signed-off-by: Noah Huetter <noahhuetter@gmail.com>

* re-vendor

* lint python sources

* cleanup

* 16 outstanding transactions on the quadrant networks

* re-generate memories with python3.9

* make snitch_cluster AXI transactions configurable through clustergen

* schema doc

* dont emit comments if no remote quadrants configured
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants