-
Notifications
You must be signed in to change notification settings - Fork 415
Enhanced 3D Placement Cost and Router Lookahead with Cross-Die Delay #2348
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
Merged
Merged
Changes from all commits
Commits
Show all changes
274 commits
Select commit
Hold shift + click to select a range
974eeb5
decrease NUM_PL_NONTIMING_MOVE_TYPES NUM_PL_1ST_STATE_MOVE_TYPES by o…
amin1377 a13e38d
related to makeing unifrom inter die move being performed in state 2
amin1377 a55af92
pass a vild to_layer to find_loc_uniform
amin1377 c0e553f
remove redundant parts from inter layer uniform
amin1377 74fec5f
check whether rt node has a connection to other layer
amin1377 8ad1c01
comment unused parameter - debug get_min_cross_layer_delay
amin1377 847aed9
for the non-timing-driven moves, find a free layer at the given x-y l…
amin1377 4eec20d
add inter layer uniform only if several layers are on FPGA
amin1377 53193f3
if multiple layers are not available set num_2nd_state_avail_moves to…
amin1377 f313ded
add layer_num to t_pl_offset
amin1377 6b83d54
delete the assertion in has_path_to_sink that check sink type
amin1377 7f25d98
if node is of type sink, add it to heap even if it is not on the same…
amin1377 0a7d67a
set layer num when high fanout bb is set
b270a01
fix move idx to move name index for uniform inter layer move
8e0e147
if there is no switch assigned for inter-lie connection for connectio…
amin1377 cacd06c
debug: node type was used instead of node layer
amin1377 690c41e
multiply the area of fpga die by the number of layers to get the corr…
amin1377 74c61d1
add swap op numbers to parsed file
amin1377 ad11a17
put assertion to assert if uniform_inter_layer is called when there i…
amin1377 915be19
fix the white space for place stats
amin1377 3e6a734
add layer check to is_legal_swap_to_location
amin1377 e8b593b
get ref const
amin1377 335d3bd
incorporate layer num in hashing t_pl_loc
amin1377 476b879
fix the bug in UniformInterLayerMoveGenerator
amin1377 667169c
add gaurd to make sure that if capnproto is not supported, it doesn't…
amin1377 52ed8ba
fix the layer num in add_high_fanout_route_tree_to_heap
amin1377 451f11a
fix the router lookahead functions when capnp is not enabled
amin1377 d58c553
fix bounding box layer num in test_connection_router
amin1377 abae71b
change a field name in noc_storage
amin1377 fffb10d
sometimes the sink_node passed to connection router is equal to -1 - …
amin1377 1a30f13
fix calculate_all_path_delays_from_rr_node bounding box layer num - m…
amin1377 013f6b6
merge with inter_die_communication
amin1377 25278dd
instead of choosing only among layers other that the current layer, c…
amin1377 baefdf4
Merge branch 'master' into 3d_link_cost_in_placement
amin1377 e340ead
prevent loading RR graph again if it is already loaded
amin1377 f3df583
add assertion to find_free_layer
amin1377 de10ebb
add a new data structure (t_2D_bb) that only shows a bb on one layer
amin1377 603a816
change fields under PlacerMoveContext to take t_2D_tbb instead of t_b…
amin1377 d26138a
break the bb between layers - compute the cost for each layer
amin1377 ba05fce
make format
amin1377 cde9f28
add modified aman's arch for 3d experiments
amin1377 7532f9a
add a helper function to move utils to get the union of a vector of bbs
amin1377 6411e31
fix the issue with 3d bb in median move
amin1377 853c755
remove unused vars
amin1377 21c586c
allocate enough space for num_sink_pin_layer
amin1377 4757577
allocate enough space for xmin_edge
amin1377 3082c22
if layer doesn't have a valid bb, pass
amin1377 a20b1ca
fix a bug in median_move
amin1377 7be4426
direct conversion from distance
amin1377 ca6dc60
fix the bugs of 3d bb for placement
amin1377 143188f
make format
amin1377 e96e830
comment unused var - remove redundant assertions
amin1377 79af555
remove choosing free layer from centroid move
amin1377 2b37a24
remove choosing free layer fro median move
amin1377 3d465c5
remove choosing free layer from uniform move
amin1377 f77d024
add get_random_layer function to move utils + find_to_loc_uniform als…
amin1377 26f595a
make format
amin1377 3582150
remove unused vars
amin1377 3c1098a
fix the bug with layer_num
amin1377 eec5e62
assign pin_sink_count of all layer to new array to avoid getting non-…
amin1377 145ce31
initialize bb for all layers
amin1377 fcec332
initialze the bb for each layer around the source block
amin1377 4174061
update ts_layer_sink_pin_count only if the moving pin is of type rece…
amin1377 4faf7d8
solve merge conflicts with master - minor debugging
amin1377 8626f3f
fix a few formatting issues
amin1377 8f370cb
add to vpr command line argument: write_initial_place_file
amin1377 75dbaa6
merge with placement_debug_tool
amin1377 e8ed849
fix a bug with uniform inter layer
amin1377 d631206
increament the number passed to wirelength crossing by 1 since it sho…
amin1377 cca5134
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 3c3842d
consider source pin in the number passed to wirelength_crossing_count
amin1377 39d16d8
Merge branch 'placement_debug_tool' of https://github.com/verilog-to-…
amin1377 1d26ac0
print search range in debug info
amin1377 a8ed7e1
choose a random layer if number of layers is more than one
amin1377 900109e
assign layer num to search range
amin1377 d619202
solve the bug in union 2d tbb
amin1377 b661f37
fix node string layer num
amin1377 48380fd
comment on tbb data structures
amin1377 bcdae22
modify layer in t_pl_offset
amin1377 e4081dc
remove uniform_inter_layer from available moves
amin1377 9522517
set the max layer bounding box to num_layer - 1
amin1377 05b2ac5
comment the unused parameter
amin1377 66f7cd3
fix the max layer num
amin1377 9baa738
remove an unnecessary assertion
amin1377 1b74dad
solve the conflicts with master
amin1377 14ff50c
Merge branch 'add_place_debug_info' of https://github.com/verilog-to-…
amin1377 894cd88
Merge branch 'add_place_debug_info' of https://github.com/verilog-to-…
amin1377 75f2932
remove redundant header
amin1377 5602155
debug the layer number when pl_loc is subtracted
amin1377 2f9405e
Merge branch 'add_place_debug_info' of https://github.com/verilog-to-…
amin1377 c2336b1
simplify updating bb
amin1377 426f09d
update bb if xnew is not equal to xold
amin1377 b0d58d5
update bb coord if layer is changed
amin1377 32845de
rewrite how to calculate bb
amin1377 98d5b61
fix the inline static name
amin1377 e860289
remove a redunant check in place.cpp
amin1377 94d2562
make format
amin1377 328e222
remove a redundant if statemetn since there should be a bounding box …
amin1377 954a7b4
remove a redundant assignment
amin1377 091f8d6
make union_2d_tbb faster
amin1377 a93551a
don't need to create an object, just pass the constructor args
amin1377 10b3900
remove an unused var
amin1377 e11ff58
remove unused var
amin1377 7e96dd0
instead of assigning vectors, set a value whenever it is needes
amin1377 05800d9
write update_bb_same_layer to update bb when block is moved on the sa…
amin1377 897ac38
write update_bb_layer_changed to update bb when block is moved to a d…
amin1377 3b9ce85
remove unused var
amin1377 9cf4d7f
remove having separate bbs for median move generator
amin1377 0e637ca
minor debugging - change order of parameters
amin1377 e1ba007
remove an unused variable
amin1377 b50ba98
add two new vars to placer context to store layer bb
amin1377 e4e7e7b
use a 3d bb for median_move_generator
amin1377 2d3f9e3
add ts_bb* vars for a time when a 2D FPGA is used
amin1377 0f97816
impl get_bb_from_scratch and the separate layer version of it
amin1377 006c2d3
impl get_net_cost and get_net_layer_cost
amin1377 e2ccdba
impl update_layer_bb update_bb
amin1377 344ecee
impl get_non_updateable_bb get_non_updateable_layer_bb
amin1377 95f367a
impl get_net_wirelength_estimate and get_net_layer_wirelength_estimate
amin1377 8ea2da1
impl comp_bb_cost comp_layer_bb_cost
amin1377 91fa447
impl update_net_layer_bb update_net_bb
amin1377 a9e67c3
fix a problem with update_move_nets (use correct data structure when …
amin1377 514c68c
solve the bug in the order of parameters passed to update_bb
amin1377 b8a2043
minor formatting
amin1377 1227a41
use a signle layer num to print a node's coordinate
amin1377 d9fa137
add write_initial_placement option to place opt
amin1377 ec3a8ac
add is_init_place to print_place method
amin1377 a90955f
print initial placement if the parameter is passed
amin1377 98cfa49
add an assertion to t_2D_tbb to check that layer_num is bigger than o…
amin1377 f2eb879
rename t_2D_tbb to *_bb
amin1377 90f7589
comment on t_2D_bb
amin1377 bc67c4a
comment on print_place
amin1377 0b358d8
comment on layer_num_blocks in noc_storage
amin1377 30320ba
remove the remaining parts of inter layer move
amin1377 dd9014a
comment on is_multi_layer parameter passed to simple rl move generator
amin1377 a52f48e
comment on register_block_inter_layer_connection
amin1377 bc5d59e
comment on src_opin_inter_layer_delays - remove checking for IPIN int…
amin1377 0ebe3ed
if a from node is of type CHAN, it should be on the same layer as sink
amin1377 f52c3b4
remove unused vars
amin1377 7d2c952
remove layer assignment in the uniform move
amin1377 c845ccf
remove t_sink_inter_layer_connection
amin1377 d0da837
remove an unused variable
amin1377 9ae8a10
remove inter_layer_sw_id field from map lookahead
amin1377 d191ec2
fix a type in an assertion
amin1377 cb9a270
assign curr_bb data structures to the new one first, then update it
amin1377 ba2dd63
use the union of bbs across layers when median calculate bb from scratch
amin1377 fe8ffc3
impl union_2d_bb_incr
amin1377 aea8437
use union_2d_bb_incr in median move incr bb update
amin1377 e90d4f8
fix a typo
amin1377 97b8e0a
first num_edge should be updated, then, coords
amin1377 f6e948a
fix the order of parameter of union_2d_bb_incr
amin1377 b02d7d4
use the layer num of the current bb
amin1377 a9185ef
debug: pass the comparison results not the value of the var
amin1377 c8a41db
fix a bug with router lookahead: return inifinite cost instead of ass…
amin1377 ca72c45
Merge branch 'master' into 3d_link_cost_in_placement
vaughnbetz 0e26a21
experiment: last 4 moves choose the free layer
amin1377 cf819c0
Merge branch '3d_link_cost_in_placement' of https://github.com/verilo…
amin1377 23e9045
fix the order of moves in move to string
amin1377 0a9c907
experiment: new move to change layer in addition to the random move
amin1377 33fc559
find_to_loc_median use to layer num instead of from layer num
amin1377 f461cfd
assign layer num to to_loc in feasible move
amin1377 5ee8d71
remove redundant assignment
amin1377 250a19f
last four move change layer in addition to new move and uniform move
amin1377 64f8c44
remove new move
amin1377 687d3c9
make the to layer num const
amin1377 e604e30
return to original: only uniform move change the layer
amin1377 ec971e6
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 2a31327
make format
amin1377 c97de47
new experiment: choose layer for last 4 layers
amin1377 9167e2f
reverse the prev expr.
amin1377 06498cf
assign loc layer right after declaration
amin1377 bcd511b
experiment: don't change layer after initial placement
amin1377 12925b4
Revert "experiment: don't change layer after initial placement"
amin1377 f86a7a7
for median move, choose a layer that has the highest number of blocks
amin1377 c7afe7a
for weighted median move, choose a layer that has the highest number …
amin1377 974ea6b
update calculate_centroid_loc to get the centroid of layers
amin1377 bd58a10
assign centroid layer to centroid and weighted centroid moves
amin1377 0200061
fix initialization of layer_blk_cnt
amin1377 a56ac72
Revert "assign centroid layer to centroid and weighted centroid moves"
amin1377 9aadfcf
decreament num block on layer if pin is not of driver type
amin1377 5d89b5f
assign centroid layer
amin1377 b5839fc
choose from.layer if centroid layer is not valid
amin1377 982726d
experiment: centroid moves change layer + random move
amin1377 6d25fa1
weighted median + median choose the layer with maximum number of sinks
amin1377 c140f9d
add a type to store BB type
amin1377 755125c
add ParsePlaceBoundingBox
amin1377 360870b
add a parameter to vpr to select bounding box mode
amin1377 04c3c75
add an addition parameter to hierarchy of functions that try to updat…
amin1377 68ac9b6
fix a typo
amin1377 cb7d470
remove some unused library
amin1377 90ae26d
impl inter_layer_connections_limited_to_opin
amin1377 ff118ed
determine the type of bb in try_place and pass it to related functions
amin1377 56703eb
if the architecture has only one layer, use cube bb
amin1377 4b5f829
Print bounding box mode when it is selected
amin1377 ddfab6f
remove initial placement id
amin1377 9fd835e
rename to layer_num_grid_locs
amin1377 55befbb
pass cube_bb to the global state
amin1377 d52b8b8
remove initial placement id
amin1377 4246443
rename to layer_num_grid_locs
amin1377 e3faf05
pass cube_bb to the global state
amin1377 59b3583
alloc swap data structure bb based on cube bb
amin1377 58034d8
add cube bb to check place
amin1377 b11c27d
call comp bb based on cube bb in try place
amin1377 3c0161f
allocate the correct bb based on cube bb
amin1377 8860c99
update get_bb_from_scratch to accept num_pin_layer_sink
amin1377 7f5bb17
add num_sink_layer to update_bb - initialize the placement context of…
amin1377 f1f70bf
move ts_layer_sink_pin_count initialization out of if block since it …
amin1377 ebcf3b7
add ts_layer_sink_pin_count to get_non_updateable_bb
amin1377 199dfe7
update num_sink_layer in update_bb
amin1377 8405bfa
add cube_bb under place context
amin1377 fb019b3
change some unnecessary assertion to assert_safe
amin1377 d916420
use global cube_bb to check whether a union of bbs needs to be used
amin1377 5d9a116
use cube bb to select the correct bb
amin1377 3d536c9
initialize num_sink_pin_layer for all layer in upbdate_bb
amin1377 4e63b69
add online doc for added parameters
amin1377 be6acd2
assert if centriod layer is not valid
amin1377 36a7b04
remove the extra line to initialize layer in rl moves
amin1377 f5f0abe
comment on cube bb and per-layer bb
amin1377 cea3c3e
remove redundant resizings
amin1377 84d512d
comment on cross-layer link delay field
2d4ab8f
remove an unused variable
amin1377 d495962
remove layer parameter from get_bb_incrementally
amin1377 1eda7f3
comment on union_2d_bb functions
amin1377 1256995
set bb_coord_new to zero if there isn't any sink on that layer
amin1377 b08492a
initialize xmin,etc with src locs
amin1377 10990d1
remove the multi_layer parameter from SimpleRLMoveGenerator constructor
amin1377 b109b9f
remove uniform_inter_layer_move_generator
amin1377 93fb9d7
fix a bug - comment on weighted_move layer
amin1377 977d98e
comment on why we need to decreament number of sinks
amin1377 015de7b
update has_path_to_sink to accomodate for sw block inter-layer connec…
amin1377 dca4108
forward declaration of static functions
amin1377 0a1c499
comment on has_path_to_sink
amin1377 b8617f4
comment on the case that BB should cover all layers
amin1377 78be619
comment on router delay profiler calculate_delay
amin1377 8135d80
comment on get_cost_from_src_opin
amin1377 1879400
comment on compute_router_src_opin_lookahead
amin1377 122ab4d
remove redundant min func
amin1377 17074d3
comment on get_min_cross_layer_delay
amin1377 f45c4d2
centroid loc is not always valid
amin1377 b2c9e71
make format
amin1377 9b1c60d
experiment: change std vec to array for num sink on each layer per net
amin1377 65fb007
initialize the num_sink ds to number of nets
amin1377 aa0b5e9
initialize num_sink per layer to OPEN instead of zero
amin1377 d18fc4f
define max_num_layers and change place.cpp to use that
amin1377 c5178e4
change placer context to use max_num_layer const
amin1377 114012a
add an assertion to check the maximum number of layers
amin1377 eb71943
fix a typo in number of layers
amin1377 cce3bc6
change vector of arrays to 2D matrix
amin1377 afbadb3
don't assign open to coords if there is no sink on that layer
amin1377 48a1b42
make format
amin1377 8d8c335
Merge branch 'master' into 3d_link_cost_in_placement
amin1377 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.