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

Dnb mult deq #32

Open
wants to merge 19 commits into
base: DNB-dev
Choose a base branch
from
Open

Dnb mult deq #32

wants to merge 19 commits into from

Conversation

erlingrj
Copy link
Collaborator

  • Also use SRAM FIFOs for DNB
  • Add support for multiple dequeue of DLQ/CRQ

@erlingrj erlingrj changed the base branch from master to DNB-dev March 23, 2020 09:15
@erlingrj
Copy link
Collaborator Author

@davidmetz In this PR there are some changes to the Unified Issue Unit, you might wanna check those out

@davidmetz davidmetz self-requested a review March 23, 2020 09:49

for (w <- 0 until enqWidth)
{
io.enq_uops(w).ready := !full
Copy link
Collaborator

Choose a reason for hiding this comment

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

not sure if this works with out of order deq

Copy link
Collaborator

Choose a reason for hiding this comment

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

as soon as one valid is false it's not full
but that could be because head+1 was dequeued but not head

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think it would work because:

  • full = at least 1 valid per "row". If head+1 is dequeued and not head we would still have at least one valid in that row.
  • heads always belong to the same row. if head+1 is dequeued we can get (head, head+2) as heads but it will never run ahead to a new row.
  • This means that the head row will count as full even when head+1 etc are dequeued


// Pass out the head
// Init all outputs to invalids
// A little hacking to assign a possible wider set of FIFOs to a narrower set of deq ports
Copy link
Collaborator

Choose a reason for hiding this comment

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

this seems to already kind of compact

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