Skip to content

Out with LSQs - #1035

Open
rpirayadi wants to merge 224 commits into
mainfrom
Out-with-LSQs
Open

Out with LSQs#1035
rpirayadi wants to merge 224 commits into
mainfrom
Out-with-LSQs

Conversation

@rpirayadi

Copy link
Copy Markdown
Collaborator

1. Main Feature: HandshakeCreateOutWithLSQsCircuit Pass

Implements the HandshakeCreateOutWithLSQsCircuit pass based on DOI: 10.1145/3748173.3779204.

  • Replaces the standard LSQ circuit with elastic components.
  • Inserts the Out with LSQs circuit for each pair of memory accesses that have a dependency.
  • Note for Reviewers: Refer to Figure 8 in the paper for a visual representation of this circuit architecture.

2. New Components

Introduced two new hardware components to support the implementation:

  • ctrl_extractor: Extracts the handshake logic from a channel so it can be used to generate a done signal from a load output.
  • gate: Accepts a single channel input joined with one or more control signals. The output data is identical to the input data, but the control path acts like a join across the control signals.

3. Store done Signal Updates

  • Added done signal handling for store operations across the memory path.
  • Updated the LSQ, Memory Controller, and store ports to support and propagate this new signal.

rpirayadi and others added 30 commits January 6, 2025 17:50
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.

6 participants