Packing Devices from Two Separate Parts of a Netlist into a Single CLB #2726
Description
Packing Devices from Two Separate Parts of a Netlist into a Single CLB
Hi VTR team,
I merged two netlists into a single BLIF file and used VPR to obtain its design solution on the architecture. However, I noticed that the worst slack of the solution was much lower than expected.
Expected Behaviour
It would be more optimal if the devices from the two netlists were packed into two separate CLBs and placed closer to their respective IOs.
Current Behaviour
Upon reviewing the design, I found that a single CLB contained devices from both merged netlists. VPR had to consider the connections from this CLB to the IOs on two opposite sides of the architecture, resulting in the CLB being placed in the middle of the architecture.
Possible Solution
I have experimented with the command options for Packing and Placement as outlined in the VTR documentation, but have seen no improvement. I suspect that the packing algorithm may need to be examined for potential bugs. Additionally, it might be beneficial for the VTR flow to consider implementing a strategy that involves splitting inappropriately packed CLBs.
Steps to Reproduce
Run the following command:
vpr EArch_fixed_160_230_no_power.xml condition_program_first2713_and_condition_program_first5685.pre-vpr --circuit_file condition_program_first2713_and_condition_program_first5685.pre-vpr.blif --device fixed --route_chan_width 100 --alpha_clustering 1 --place_quench_algorithm slack_timing --noc_placement_weighting 0 --noc_latency_weighting 0 --noc_swap_percentage 0 --timing_report_detail detailed --timing_report_npaths 100000 --fix_clusters condition_program_first2713_and_condition_program_first5685_fixed_pin.place
Context
I am attempting to obtain a high-performance P&R solution but encountered an unexpected detour situation. I would greatly appreciate a prompt response.
Your Environment
- VTR revision used: FCCM 2023 version
- Operating System and version: Ubuntu 20.04
- Compiler version: gcc 9.4.0
Packing_Devices_from_Two_Seperate_Parts_of_a_Netlist_into_a_Single CLB.zip
EArch_fixed_160_230_no_power.zip