-
Notifications
You must be signed in to change notification settings - Fork 393
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
Placer class #2813
base: master
Are you sure you want to change the base?
Placer class #2813
Conversation
/* Allocated here because it goes into timing critical code where each memory allocation is expensive */ | ||
IntraLbPbPinLookup pb_gpin_lookup(device_ctx.logical_block_types); | ||
//Enables fast look-up of atom pins connect to CLB pins | ||
ClusteredPinAtomPinsLookup netlist_pin_lookup(cluster_ctx.clb_nlist, atom_ctx.nlist, pb_gpin_lookup); |
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.
@vaughnbetz
pb_gpin_lookup
and netlist_pin_lookup
are initialized after the placement timer starts in line 215. Is their initialization times intentionally included in the total placement time?
titan_quick_qor
|
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.
Hi @soheilshahrouz these changes look great to me! I left some minor comments. I am excited to see this PR merged!
costs.cost, costs.bb_cost, costs.timing_cost, placer_opts.place_chan_width); | ||
|
||
// Draw the initial placement | ||
update_screen(ScreenUpdatePriority::MAJOR, msg_.data(), PLACEMENT, timing_info); |
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.
Why is drawing code in the logging utility? Was this intentional? Or is this just printing the initial placement stats to the screen? If it is the latter, I recommend updating the comment above this line.
…once in header files
Add
Placer
class that encapsulates all objects and variable that are placement instance specific. Shared objects like delay model are still constructed outside this class and shared across allPlacer
instances.Don't look at the code yet; it's a mess! :)