-
Notifications
You must be signed in to change notification settings - Fork 64
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
[RFC] Adding subpod hetero #554
base: master
Are you sure you want to change the base?
Conversation
#(parameter addr_width_p = "inv" | ||
,parameter data_width_p = "inv" | ||
,parameter x_cord_width_p = "inv" | ||
,parameter y_cord_width_p = "inv" | ||
// by default els_p=3 because credit-based interface has 2 cycle latency | ||
// reducing fifo size below 3 may introduce bubble cycle(s) | ||
,parameter fifo_els_p = 3 | ||
,parameter fwd_width_lp = | ||
`bsg_manycore_packet_width(addr_width_p,data_width_p,x_cord_width_p,y_cord_width_p) | ||
,parameter rev_width_lp = | ||
`bsg_manycore_return_packet_width(x_cord_width_p,y_cord_width_p,data_width_p) | ||
,parameter manycore_link_width_lp = | ||
`bsg_manycore_link_sif_width(addr_width_p,data_width_p,x_cord_width_p,y_cord_width_p) | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the policy for switching to the new parameter macros?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question. None of the other manycore modules have switched, so I didn’t. But I’d be happy to make the change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a97a540
to
55a29bc
Compare
This PR adds bsg_manycore_subpod_hetero, a module to abstract external pod connections to the manycore. The idea is for this to be an easy way to add pods connected using the bigblade methodology. It provides a shell with bsg_tag to configure a clock+reset generator, coordinates, and SDR bringup.
There's a slight modification to the hetero socket which allows for multi-link connections. It also adds bsg_manycore_link_resp_credit_to_ready_and_handshake from the tapeout.
Planning on modifying the BP setup in the tapeout testbench to use this to validate, but looking for early feedback!