Commit d115d3d7 by ZhiangWang033

fix the width of soft macro

parent 3ed1fd6a
...@@ -12,7 +12,7 @@ from FormatTranslators import MacroPin ...@@ -12,7 +12,7 @@ from FormatTranslators import MacroPin
class Clustering: class Clustering:
def __init__(self, design, src_dir, fixed_file, step_threshold = 100.6, distance = 1000.0, def __init__(self, design, src_dir, fixed_file, step_threshold = 100.6, distance = 1000.0,
max_num_vertices = 1000000, net_size_threshold = 300, grid_width = 30.0, max_num_vertices = 1000000, net_size_threshold = 300,
Nparts = 500, setup_file = "setup.tcl", RePlace = True, placement_density = 0.7, GUI = True): Nparts = 500, setup_file = "setup.tcl", RePlace = True, placement_density = 0.7, GUI = True):
""" """
parameter: design, help="design_name: ariane, MegaBoom_x2 ", type = str parameter: design, help="design_name: ariane, MegaBoom_x2 ", type = str
...@@ -20,6 +20,7 @@ class Clustering: ...@@ -20,6 +20,7 @@ class Clustering:
parameter: fixed_file, help="fixed file generated by grouping", type = str parameter: fixed_file, help="fixed file generated by grouping", type = str
parameter: step_threshold, help = "threshold (x and y) to break clusters (in um)", type = float parameter: step_threshold, help = "threshold (x and y) to break clusters (in um)", type = float
parameter: distance, help="distance for merge clusters", type = float parameter: distance, help="distance for merge clusters", type = float
parameter: grid_width, help = "grid width generated by gridding script"
parameter: max_num_vertices, help="threshold for smaller clusters", type = int parameter: max_num_vertices, help="threshold for smaller clusters", type = int
parameter: net_size_threshold, help="large net threshold", type = int parameter: net_size_threshold, help="large net threshold", type = int
parameter: Nparts, help = "number of clusters (only for hmetis, default = 500)", type = int parameter: Nparts, help = "number of clusters (only for hmetis, default = 500)", type = int
...@@ -566,7 +567,7 @@ class Clustering: ...@@ -566,7 +567,7 @@ class Clustering:
class ProBufFormat: class ProBufFormat:
def __init__(self, io_file, macro_pin_file, inst_file, outline_file, def __init__(self, io_file, macro_pin_file, inst_file, outline_file,
net_file, soft_macros, pbf_file, net_size_threshold, net_file, soft_macros, pbf_file, net_size_threshold,
aspect_ratio): grid_width):
self.io_file = io_file self.io_file = io_file
self.macro_pin_file = macro_pin_file self.macro_pin_file = macro_pin_file
self.inst_file = inst_file self.inst_file = inst_file
...@@ -575,7 +576,7 @@ class ProBufFormat: ...@@ -575,7 +576,7 @@ class ProBufFormat:
self.soft_macros = soft_macros self.soft_macros = soft_macros
self.pbf_file = pbf_file self.pbf_file = pbf_file
self.net_size_threshold = net_size_threshold self.net_size_threshold = net_size_threshold
self.aspect_ratio = aspect_ratio self.grid_width = grid_width
self.insts = { } # map name to Port, Macro, Soft Macro self.insts = { } # map name to Port, Macro, Soft Macro
self.macro_pin_map = { } # map macro_pin to macro self.macro_pin_map = { } # map macro_pin to macro
self.macro_pin_offset = { } # map macro_pin_name to offset self.macro_pin_offset = { } # map macro_pin_name to offset
...@@ -681,8 +682,8 @@ class ProBufFormat: ...@@ -681,8 +682,8 @@ class ProBufFormat:
self.std_cell_map[std_cell] = macro_name self.std_cell_map[std_cell] = macro_name
x = (lx + ux) / 2.0 x = (lx + ux) / 2.0
y = (ly + uy) / 2.0 y = (ly + uy) / 2.0
height = sqrt(area * self.aspect_ratio) width = self.grid_width
width = area / height height = area / width
self.insts[macro_name] = Macro(macro_name, width, height, x, y) self.insts[macro_name] = Macro(macro_name, width, height, x, y)
self.insts[macro_name].IsSoft() self.insts[macro_name].IsSoft()
soft_macro_id += 1 soft_macro_id += 1
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
clk_i 0 874.195 0.07 874.265
rst_ni 0 903.175 0.07 903.245
boot_addr_i[63] 0 873.775 0.07 873.845
boot_addr_i[62] 0 873.355 0.07 873.425
boot_addr_i[61] 0 872.935 0.07 873.005
boot_addr_i[60] 0 872.515 0.07 872.585
boot_addr_i[59] 0 872.095 0.07 872.165
boot_addr_i[58] 0 871.675 0.07 871.745
boot_addr_i[57] 0 871.255 0.07 871.325
boot_addr_i[56] 0 870.835 0.07 870.905
boot_addr_i[55] 0 870.415 0.07 870.485
boot_addr_i[54] 0 869.995 0.07 870.065
boot_addr_i[53] 0 869.575 0.07 869.645
boot_addr_i[52] 0 869.155 0.07 869.225
boot_addr_i[51] 0 868.735 0.07 868.805
boot_addr_i[50] 0 868.315 0.07 868.385
boot_addr_i[49] 0 867.895 0.07 867.965
boot_addr_i[48] 0 867.475 0.07 867.545
boot_addr_i[47] 0 867.055 0.07 867.125
boot_addr_i[46] 0 866.635 0.07 866.705
boot_addr_i[45] 0 866.215 0.07 866.285
boot_addr_i[44] 0 865.795 0.07 865.865
boot_addr_i[43] 0 865.375 0.07 865.445
boot_addr_i[42] 0 864.955 0.07 865.025
boot_addr_i[41] 0 864.535 0.07 864.605
boot_addr_i[40] 0 864.115 0.07 864.185
boot_addr_i[39] 0 863.695 0.07 863.765
boot_addr_i[38] 0 863.275 0.07 863.345
boot_addr_i[37] 0 862.855 0.07 862.925
boot_addr_i[36] 0 862.435 0.07 862.505
boot_addr_i[35] 0 862.015 0.07 862.085
boot_addr_i[34] 0 861.595 0.07 861.665
boot_addr_i[33] 0 861.175 0.07 861.245
boot_addr_i[32] 0 860.755 0.07 860.825
boot_addr_i[31] 0 860.335 0.07 860.405
boot_addr_i[30] 0 859.915 0.07 859.985
boot_addr_i[29] 0 859.495 0.07 859.565
boot_addr_i[28] 0 859.075 0.07 859.145
boot_addr_i[27] 0 858.655 0.07 858.725
boot_addr_i[26] 0 858.235 0.07 858.305
boot_addr_i[25] 0 857.815 0.07 857.885
boot_addr_i[24] 0 857.395 0.07 857.465
boot_addr_i[23] 0 856.975 0.07 857.045
boot_addr_i[22] 0 856.555 0.07 856.625
boot_addr_i[21] 0 856.135 0.07 856.205
boot_addr_i[20] 0 855.715 0.07 855.785
boot_addr_i[19] 0 855.295 0.07 855.365
boot_addr_i[18] 0 854.875 0.07 854.945
boot_addr_i[17] 0 854.455 0.07 854.525
boot_addr_i[16] 0 854.035 0.07 854.105
boot_addr_i[15] 0 853.615 0.07 853.685
boot_addr_i[14] 0 853.195 0.07 853.265
boot_addr_i[13] 0 852.775 0.07 852.845
boot_addr_i[12] 0 852.355 0.07 852.425
boot_addr_i[11] 0 851.935 0.07 852.005
boot_addr_i[10] 0 851.515 0.07 851.585
boot_addr_i[9] 0 851.095 0.07 851.165
boot_addr_i[8] 0 850.675 0.07 850.745
boot_addr_i[7] 0 850.255 0.07 850.325
boot_addr_i[6] 0 849.835 0.07 849.905
boot_addr_i[5] 0 849.415 0.07 849.485
boot_addr_i[4] 0 848.995 0.07 849.065
boot_addr_i[3] 0 848.575 0.07 848.645
boot_addr_i[2] 0 848.155 0.07 848.225
boot_addr_i[1] 0 847.735 0.07 847.805
boot_addr_i[0] 0 847.315 0.07 847.385
hart_id_i[63] 0 901.495 0.07 901.565
hart_id_i[62] 0 901.075 0.07 901.145
hart_id_i[61] 0 900.655 0.07 900.725
hart_id_i[60] 0 900.235 0.07 900.305
hart_id_i[59] 0 899.815 0.07 899.885
hart_id_i[58] 0 899.395 0.07 899.465
hart_id_i[57] 0 898.975 0.07 899.045
hart_id_i[56] 0 898.555 0.07 898.625
hart_id_i[55] 0 898.135 0.07 898.205
hart_id_i[54] 0 897.715 0.07 897.785
hart_id_i[53] 0 897.295 0.07 897.365
hart_id_i[52] 0 896.875 0.07 896.945
hart_id_i[51] 0 896.455 0.07 896.525
hart_id_i[50] 0 896.035 0.07 896.105
hart_id_i[49] 0 895.615 0.07 895.685
hart_id_i[48] 0 895.195 0.07 895.265
hart_id_i[47] 0 894.775 0.07 894.845
hart_id_i[46] 0 894.355 0.07 894.425
hart_id_i[45] 0 893.935 0.07 894.005
hart_id_i[44] 0 893.515 0.07 893.585
hart_id_i[43] 0 893.095 0.07 893.165
hart_id_i[42] 0 892.675 0.07 892.745
hart_id_i[41] 0 892.255 0.07 892.325
hart_id_i[40] 0 891.835 0.07 891.905
hart_id_i[39] 0 891.415 0.07 891.485
hart_id_i[38] 0 890.995 0.07 891.065
hart_id_i[37] 0 890.575 0.07 890.645
hart_id_i[36] 0 890.155 0.07 890.225
hart_id_i[35] 0 889.735 0.07 889.805
hart_id_i[34] 0 889.315 0.07 889.385
hart_id_i[33] 0 888.895 0.07 888.965
hart_id_i[32] 0 888.475 0.07 888.545
hart_id_i[31] 0 888.055 0.07 888.125
hart_id_i[30] 0 887.635 0.07 887.705
hart_id_i[29] 0 887.215 0.07 887.285
hart_id_i[28] 0 886.795 0.07 886.865
hart_id_i[27] 0 886.375 0.07 886.445
hart_id_i[26] 0 885.955 0.07 886.025
hart_id_i[25] 0 885.535 0.07 885.605
hart_id_i[24] 0 885.115 0.07 885.185
hart_id_i[23] 0 884.695 0.07 884.765
hart_id_i[22] 0 884.275 0.07 884.345
hart_id_i[21] 0 883.855 0.07 883.925
hart_id_i[20] 0 883.435 0.07 883.505
hart_id_i[19] 0 883.015 0.07 883.085
hart_id_i[18] 0 882.595 0.07 882.665
hart_id_i[17] 0 882.175 0.07 882.245
hart_id_i[16] 0 881.755 0.07 881.825
hart_id_i[15] 0 881.335 0.07 881.405
hart_id_i[14] 0 880.915 0.07 880.985
hart_id_i[13] 0 880.495 0.07 880.565
hart_id_i[12] 0 880.075 0.07 880.145
hart_id_i[11] 0 879.655 0.07 879.725
hart_id_i[10] 0 879.235 0.07 879.305
hart_id_i[9] 0 878.815 0.07 878.885
hart_id_i[8] 0 878.395 0.07 878.465
hart_id_i[7] 0 877.975 0.07 878.045
hart_id_i[6] 0 877.555 0.07 877.625
hart_id_i[5] 0 877.135 0.07 877.205
hart_id_i[4] 0 876.715 0.07 876.785
hart_id_i[3] 0 876.295 0.07 876.365
hart_id_i[2] 0 875.875 0.07 875.945
hart_id_i[1] 0 875.455 0.07 875.525
hart_id_i[0] 0 875.035 0.07 875.105
irq_i[1] 0 902.755 0.07 902.825
irq_i[0] 0 902.335 0.07 902.405
ipi_i 0 901.915 0.07 901.985
time_irq_i 0 903.595 0.07 903.665
debug_req_i 0 874.615 0.07 874.685
axi_req_o\[r_ready\] 0 780.115 0.07 780.185
axi_req_o\[ar_valid\] 0 733.495 0.07 733.565
axi_req_o\[ar\]\[region\][3] 0 731.815 0.07 731.885
axi_req_o\[ar\]\[region\][2] 0 731.395 0.07 731.465
axi_req_o\[ar\]\[region\][1] 0 730.975 0.07 731.045
axi_req_o\[ar\]\[region\][0] 0 730.555 0.07 730.625
axi_req_o\[ar\]\[qos\][3] 0 730.135 0.07 730.205
axi_req_o\[ar\]\[qos\][2] 0 729.715 0.07 729.785
axi_req_o\[ar\]\[qos\][1] 0 729.295 0.07 729.365
axi_req_o\[ar\]\[qos\][0] 0 728.875 0.07 728.945
axi_req_o\[ar\]\[prot\][2] 0 728.455 0.07 728.525
axi_req_o\[ar\]\[prot\][1] 0 728.035 0.07 728.105
axi_req_o\[ar\]\[prot\][0] 0 727.615 0.07 727.685
axi_req_o\[ar\]\[cache\][3] 0 721.735 0.07 721.805
axi_req_o\[ar\]\[cache\][2] 0 721.315 0.07 721.385
axi_req_o\[ar\]\[cache\][1] 0 720.895 0.07 720.965
axi_req_o\[ar\]\[cache\][0] 0 720.475 0.07 720.545
axi_req_o\[ar\]\[lock\] 0 727.195 0.07 727.265
axi_req_o\[ar\]\[burst\][1] 0 720.055 0.07 720.125
axi_req_o\[ar\]\[burst\][0] 0 719.635 0.07 719.705
axi_req_o\[ar\]\[size\][2] 0 733.075 0.07 733.145
axi_req_o\[ar\]\[size\][1] 0 732.655 0.07 732.725
axi_req_o\[ar\]\[size\][0] 0 732.235 0.07 732.305
axi_req_o\[ar\]\[len\][7] 0 726.775 0.07 726.845
axi_req_o\[ar\]\[len\][6] 0 726.355 0.07 726.425
axi_req_o\[ar\]\[len\][5] 0 725.935 0.07 726.005
axi_req_o\[ar\]\[len\][4] 0 725.515 0.07 725.585
axi_req_o\[ar\]\[len\][3] 0 725.095 0.07 725.165
axi_req_o\[ar\]\[len\][2] 0 724.675 0.07 724.745
axi_req_o\[ar\]\[len\][1] 0 724.255 0.07 724.325
axi_req_o\[ar\]\[len\][0] 0 723.835 0.07 723.905
axi_req_o\[ar\]\[addr\][63] 0 719.215 0.07 719.285
axi_req_o\[ar\]\[addr\][62] 0 718.795 0.07 718.865
axi_req_o\[ar\]\[addr\][61] 0 718.375 0.07 718.445
axi_req_o\[ar\]\[addr\][60] 0 717.955 0.07 718.025
axi_req_o\[ar\]\[addr\][59] 0 717.535 0.07 717.605
axi_req_o\[ar\]\[addr\][58] 0 717.115 0.07 717.185
axi_req_o\[ar\]\[addr\][57] 0 716.695 0.07 716.765
axi_req_o\[ar\]\[addr\][56] 0 716.275 0.07 716.345
axi_req_o\[ar\]\[addr\][55] 0 715.855 0.07 715.925
axi_req_o\[ar\]\[addr\][54] 0 715.435 0.07 715.505
axi_req_o\[ar\]\[addr\][53] 0 715.015 0.07 715.085
axi_req_o\[ar\]\[addr\][52] 0 714.595 0.07 714.665
axi_req_o\[ar\]\[addr\][51] 0 714.175 0.07 714.245
axi_req_o\[ar\]\[addr\][50] 0 713.755 0.07 713.825
axi_req_o\[ar\]\[addr\][49] 0 713.335 0.07 713.405
axi_req_o\[ar\]\[addr\][48] 0 712.915 0.07 712.985
axi_req_o\[ar\]\[addr\][47] 0 712.495 0.07 712.565
axi_req_o\[ar\]\[addr\][46] 0 712.075 0.07 712.145
axi_req_o\[ar\]\[addr\][45] 0 711.655 0.07 711.725
axi_req_o\[ar\]\[addr\][44] 0 711.235 0.07 711.305
axi_req_o\[ar\]\[addr\][43] 0 710.815 0.07 710.885
axi_req_o\[ar\]\[addr\][42] 0 710.395 0.07 710.465
axi_req_o\[ar\]\[addr\][41] 0 709.975 0.07 710.045
axi_req_o\[ar\]\[addr\][40] 0 709.555 0.07 709.625
axi_req_o\[ar\]\[addr\][39] 0 709.135 0.07 709.205
axi_req_o\[ar\]\[addr\][38] 0 708.715 0.07 708.785
axi_req_o\[ar\]\[addr\][37] 0 708.295 0.07 708.365
axi_req_o\[ar\]\[addr\][36] 0 707.875 0.07 707.945
axi_req_o\[ar\]\[addr\][35] 0 707.455 0.07 707.525
axi_req_o\[ar\]\[addr\][34] 0 707.035 0.07 707.105
axi_req_o\[ar\]\[addr\][33] 0 706.615 0.07 706.685
axi_req_o\[ar\]\[addr\][32] 0 706.195 0.07 706.265
axi_req_o\[ar\]\[addr\][31] 0 705.775 0.07 705.845
axi_req_o\[ar\]\[addr\][30] 0 705.355 0.07 705.425
axi_req_o\[ar\]\[addr\][29] 0 704.935 0.07 705.005
axi_req_o\[ar\]\[addr\][28] 0 704.515 0.07 704.585
axi_req_o\[ar\]\[addr\][27] 0 704.095 0.07 704.165
axi_req_o\[ar\]\[addr\][26] 0 703.675 0.07 703.745
axi_req_o\[ar\]\[addr\][25] 0 703.255 0.07 703.325
axi_req_o\[ar\]\[addr\][24] 0 702.835 0.07 702.905
axi_req_o\[ar\]\[addr\][23] 0 702.415 0.07 702.485
axi_req_o\[ar\]\[addr\][22] 0 701.995 0.07 702.065
axi_req_o\[ar\]\[addr\][21] 0 701.575 0.07 701.645
axi_req_o\[ar\]\[addr\][20] 0 701.155 0.07 701.225
axi_req_o\[ar\]\[addr\][19] 0 700.735 0.07 700.805
axi_req_o\[ar\]\[addr\][18] 0 700.315 0.07 700.385
axi_req_o\[ar\]\[addr\][17] 0 699.895 0.07 699.965
axi_req_o\[ar\]\[addr\][16] 0 699.475 0.07 699.545
axi_req_o\[ar\]\[addr\][15] 0 699.055 0.07 699.125
axi_req_o\[ar\]\[addr\][14] 0 698.635 0.07 698.705
axi_req_o\[ar\]\[addr\][13] 0 698.215 0.07 698.285
axi_req_o\[ar\]\[addr\][12] 0 697.795 0.07 697.865
axi_req_o\[ar\]\[addr\][11] 0 697.375 0.07 697.445
axi_req_o\[ar\]\[addr\][10] 0 696.955 0.07 697.025
axi_req_o\[ar\]\[addr\][9] 0 696.535 0.07 696.605
axi_req_o\[ar\]\[addr\][8] 0 696.115 0.07 696.185
axi_req_o\[ar\]\[addr\][7] 0 695.695 0.07 695.765
axi_req_o\[ar\]\[addr\][6] 0 695.275 0.07 695.345
axi_req_o\[ar\]\[addr\][5] 0 694.855 0.07 694.925
axi_req_o\[ar\]\[addr\][4] 0 694.435 0.07 694.505
axi_req_o\[ar\]\[addr\][3] 0 694.015 0.07 694.085
axi_req_o\[ar\]\[addr\][2] 0 693.595 0.07 693.665
axi_req_o\[ar\]\[addr\][1] 0 693.175 0.07 693.245
axi_req_o\[ar\]\[addr\][0] 0 692.755 0.07 692.825
axi_req_o\[ar\]\[id\][3] 0 723.415 0.07 723.485
axi_req_o\[ar\]\[id\][2] 0 722.995 0.07 723.065
axi_req_o\[ar\]\[id\][1] 0 722.575 0.07 722.645
axi_req_o\[ar\]\[id\][0] 0 722.155 0.07 722.225
axi_req_o\[b_ready\] 0 779.695 0.07 779.765
axi_req_o\[w_valid\] 0 812.455 0.07 812.525
axi_req_o\[w\]\[last\] 0 808.675 0.07 808.745
axi_req_o\[w\]\[strb\][7] 0 812.035 0.07 812.105
axi_req_o\[w\]\[strb\][6] 0 811.615 0.07 811.685
axi_req_o\[w\]\[strb\][5] 0 811.195 0.07 811.265
axi_req_o\[w\]\[strb\][4] 0 810.775 0.07 810.845
axi_req_o\[w\]\[strb\][3] 0 810.355 0.07 810.425
axi_req_o\[w\]\[strb\][2] 0 809.935 0.07 810.005
axi_req_o\[w\]\[strb\][1] 0 809.515 0.07 809.585
axi_req_o\[w\]\[strb\][0] 0 809.095 0.07 809.165
axi_req_o\[w\]\[data\][63] 0 808.255 0.07 808.325
axi_req_o\[w\]\[data\][62] 0 807.835 0.07 807.905
axi_req_o\[w\]\[data\][61] 0 807.415 0.07 807.485
axi_req_o\[w\]\[data\][60] 0 806.995 0.07 807.065
axi_req_o\[w\]\[data\][59] 0 806.575 0.07 806.645
axi_req_o\[w\]\[data\][58] 0 806.155 0.07 806.225
axi_req_o\[w\]\[data\][57] 0 805.735 0.07 805.805
axi_req_o\[w\]\[data\][56] 0 805.315 0.07 805.385
axi_req_o\[w\]\[data\][55] 0 804.895 0.07 804.965
axi_req_o\[w\]\[data\][54] 0 804.475 0.07 804.545
axi_req_o\[w\]\[data\][53] 0 804.055 0.07 804.125
axi_req_o\[w\]\[data\][52] 0 803.635 0.07 803.705
axi_req_o\[w\]\[data\][51] 0 803.215 0.07 803.285
axi_req_o\[w\]\[data\][50] 0 802.795 0.07 802.865
axi_req_o\[w\]\[data\][49] 0 802.375 0.07 802.445
axi_req_o\[w\]\[data\][48] 0 801.955 0.07 802.025
axi_req_o\[w\]\[data\][47] 0 801.535 0.07 801.605
axi_req_o\[w\]\[data\][46] 0 801.115 0.07 801.185
axi_req_o\[w\]\[data\][45] 0 800.695 0.07 800.765
axi_req_o\[w\]\[data\][44] 0 800.275 0.07 800.345
axi_req_o\[w\]\[data\][43] 0 799.855 0.07 799.925
axi_req_o\[w\]\[data\][42] 0 799.435 0.07 799.505
axi_req_o\[w\]\[data\][41] 0 799.015 0.07 799.085
axi_req_o\[w\]\[data\][40] 0 798.595 0.07 798.665
axi_req_o\[w\]\[data\][39] 0 798.175 0.07 798.245
axi_req_o\[w\]\[data\][38] 0 797.755 0.07 797.825
axi_req_o\[w\]\[data\][37] 0 797.335 0.07 797.405
axi_req_o\[w\]\[data\][36] 0 796.915 0.07 796.985
axi_req_o\[w\]\[data\][35] 0 796.495 0.07 796.565
axi_req_o\[w\]\[data\][34] 0 796.075 0.07 796.145
axi_req_o\[w\]\[data\][33] 0 795.655 0.07 795.725
axi_req_o\[w\]\[data\][32] 0 795.235 0.07 795.305
axi_req_o\[w\]\[data\][31] 0 794.815 0.07 794.885
axi_req_o\[w\]\[data\][30] 0 794.395 0.07 794.465
axi_req_o\[w\]\[data\][29] 0 793.975 0.07 794.045
axi_req_o\[w\]\[data\][28] 0 793.555 0.07 793.625
axi_req_o\[w\]\[data\][27] 0 793.135 0.07 793.205
axi_req_o\[w\]\[data\][26] 0 792.715 0.07 792.785
axi_req_o\[w\]\[data\][25] 0 792.295 0.07 792.365
axi_req_o\[w\]\[data\][24] 0 791.875 0.07 791.945
axi_req_o\[w\]\[data\][23] 0 791.455 0.07 791.525
axi_req_o\[w\]\[data\][22] 0 791.035 0.07 791.105
axi_req_o\[w\]\[data\][21] 0 790.615 0.07 790.685
axi_req_o\[w\]\[data\][20] 0 790.195 0.07 790.265
axi_req_o\[w\]\[data\][19] 0 789.775 0.07 789.845
axi_req_o\[w\]\[data\][18] 0 789.355 0.07 789.425
axi_req_o\[w\]\[data\][17] 0 788.935 0.07 789.005
axi_req_o\[w\]\[data\][16] 0 788.515 0.07 788.585
axi_req_o\[w\]\[data\][15] 0 788.095 0.07 788.165
axi_req_o\[w\]\[data\][14] 0 787.675 0.07 787.745
axi_req_o\[w\]\[data\][13] 0 787.255 0.07 787.325
axi_req_o\[w\]\[data\][12] 0 786.835 0.07 786.905
axi_req_o\[w\]\[data\][11] 0 786.415 0.07 786.485
axi_req_o\[w\]\[data\][10] 0 785.995 0.07 786.065
axi_req_o\[w\]\[data\][9] 0 785.435 0.07 785.505
axi_req_o\[w\]\[data\][8] 0 784.875 0.07 784.945
axi_req_o\[w\]\[data\][7] 0 784.315 0.07 784.385
axi_req_o\[w\]\[data\][6] 0 783.755 0.07 783.825
axi_req_o\[w\]\[data\][5] 0 783.195 0.07 783.265
axi_req_o\[w\]\[data\][4] 0 782.635 0.07 782.705
axi_req_o\[w\]\[data\][3] 0 782.075 0.07 782.145
axi_req_o\[w\]\[data\][2] 0 781.515 0.07 781.585
axi_req_o\[w\]\[data\][1] 0 780.955 0.07 781.025
axi_req_o\[w\]\[data\][0] 0 780.535 0.07 780.605
axi_req_o\[aw_valid\] 0 779.275 0.07 779.345
axi_req_o\[aw\]\[atop\][5] 0 764.435 0.07 764.505
axi_req_o\[aw\]\[atop\][4] 0 764.015 0.07 764.085
axi_req_o\[aw\]\[atop\][3] 0 763.595 0.07 763.665
axi_req_o\[aw\]\[atop\][2] 0 763.175 0.07 763.245
axi_req_o\[aw\]\[atop\][1] 0 762.755 0.07 762.825
axi_req_o\[aw\]\[atop\][0] 0 762.335 0.07 762.405
axi_req_o\[aw\]\[region\][3] 0 777.315 0.07 777.385
axi_req_o\[aw\]\[region\][2] 0 776.755 0.07 776.825
axi_req_o\[aw\]\[region\][1] 0 776.195 0.07 776.265
axi_req_o\[aw\]\[region\][0] 0 775.775 0.07 775.845
axi_req_o\[aw\]\[qos\][3] 0 775.355 0.07 775.425
axi_req_o\[aw\]\[qos\][2] 0 774.935 0.07 775.005
axi_req_o\[aw\]\[qos\][1] 0 774.515 0.07 774.585
axi_req_o\[aw\]\[qos\][0] 0 774.095 0.07 774.165
axi_req_o\[aw\]\[prot\][2] 0 773.675 0.07 773.745
axi_req_o\[aw\]\[prot\][1] 0 773.255 0.07 773.325
axi_req_o\[aw\]\[prot\][0] 0 772.835 0.07 772.905
axi_req_o\[aw\]\[cache\][3] 0 766.955 0.07 767.025
axi_req_o\[aw\]\[cache\][2] 0 766.535 0.07 766.605
axi_req_o\[aw\]\[cache\][1] 0 766.115 0.07 766.185
axi_req_o\[aw\]\[cache\][0] 0 765.695 0.07 765.765
axi_req_o\[aw\]\[lock\] 0 772.415 0.07 772.485
axi_req_o\[aw\]\[burst\][1] 0 765.275 0.07 765.345
axi_req_o\[aw\]\[burst\][0] 0 764.855 0.07 764.925
axi_req_o\[aw\]\[size\][2] 0 778.715 0.07 778.785
axi_req_o\[aw\]\[size\][1] 0 778.155 0.07 778.225
axi_req_o\[aw\]\[size\][0] 0 777.735 0.07 777.805
axi_req_o\[aw\]\[len\][7] 0 771.995 0.07 772.065
axi_req_o\[aw\]\[len\][6] 0 771.575 0.07 771.645
axi_req_o\[aw\]\[len\][5] 0 771.155 0.07 771.225
axi_req_o\[aw\]\[len\][4] 0 770.735 0.07 770.805
axi_req_o\[aw\]\[len\][3] 0 770.315 0.07 770.385
axi_req_o\[aw\]\[len\][2] 0 769.895 0.07 769.965
axi_req_o\[aw\]\[len\][1] 0 769.475 0.07 769.545
axi_req_o\[aw\]\[len\][0] 0 769.055 0.07 769.125
axi_req_o\[aw\]\[addr\][63] 0 761.915 0.07 761.985
axi_req_o\[aw\]\[addr\][62] 0 761.495 0.07 761.565
axi_req_o\[aw\]\[addr\][61] 0 761.075 0.07 761.145
axi_req_o\[aw\]\[addr\][60] 0 760.655 0.07 760.725
axi_req_o\[aw\]\[addr\][59] 0 760.235 0.07 760.305
axi_req_o\[aw\]\[addr\][58] 0 759.815 0.07 759.885
axi_req_o\[aw\]\[addr\][57] 0 759.395 0.07 759.465
axi_req_o\[aw\]\[addr\][56] 0 758.975 0.07 759.045
axi_req_o\[aw\]\[addr\][55] 0 758.555 0.07 758.625
axi_req_o\[aw\]\[addr\][54] 0 758.135 0.07 758.205
axi_req_o\[aw\]\[addr\][53] 0 757.715 0.07 757.785
axi_req_o\[aw\]\[addr\][52] 0 757.295 0.07 757.365
axi_req_o\[aw\]\[addr\][51] 0 756.875 0.07 756.945
axi_req_o\[aw\]\[addr\][50] 0 756.315 0.07 756.385
axi_req_o\[aw\]\[addr\][49] 0 755.755 0.07 755.825
axi_req_o\[aw\]\[addr\][48] 0 755.195 0.07 755.265
axi_req_o\[aw\]\[addr\][47] 0 754.635 0.07 754.705
axi_req_o\[aw\]\[addr\][46] 0 754.075 0.07 754.145
axi_req_o\[aw\]\[addr\][45] 0 753.515 0.07 753.585
axi_req_o\[aw\]\[addr\][44] 0 752.955 0.07 753.025
axi_req_o\[aw\]\[addr\][43] 0 752.395 0.07 752.465
axi_req_o\[aw\]\[addr\][42] 0 751.835 0.07 751.905
axi_req_o\[aw\]\[addr\][41] 0 751.415 0.07 751.485
axi_req_o\[aw\]\[addr\][40] 0 750.995 0.07 751.065
axi_req_o\[aw\]\[addr\][39] 0 750.575 0.07 750.645
axi_req_o\[aw\]\[addr\][38] 0 750.155 0.07 750.225
axi_req_o\[aw\]\[addr\][37] 0 749.595 0.07 749.665
axi_req_o\[aw\]\[addr\][36] 0 749.035 0.07 749.105
axi_req_o\[aw\]\[addr\][35] 0 748.615 0.07 748.685
axi_req_o\[aw\]\[addr\][34] 0 748.195 0.07 748.265
axi_req_o\[aw\]\[addr\][33] 0 747.775 0.07 747.845
axi_req_o\[aw\]\[addr\][32] 0 747.355 0.07 747.425
axi_req_o\[aw\]\[addr\][31] 0 746.935 0.07 747.005
axi_req_o\[aw\]\[addr\][30] 0 746.515 0.07 746.585
axi_req_o\[aw\]\[addr\][29] 0 746.095 0.07 746.165
axi_req_o\[aw\]\[addr\][28] 0 745.675 0.07 745.745
axi_req_o\[aw\]\[addr\][27] 0 745.255 0.07 745.325
axi_req_o\[aw\]\[addr\][26] 0 744.835 0.07 744.905
axi_req_o\[aw\]\[addr\][25] 0 744.415 0.07 744.485
axi_req_o\[aw\]\[addr\][24] 0 743.995 0.07 744.065
axi_req_o\[aw\]\[addr\][23] 0 743.575 0.07 743.645
axi_req_o\[aw\]\[addr\][22] 0 743.155 0.07 743.225
axi_req_o\[aw\]\[addr\][21] 0 742.735 0.07 742.805
axi_req_o\[aw\]\[addr\][20] 0 742.315 0.07 742.385
axi_req_o\[aw\]\[addr\][19] 0 741.895 0.07 741.965
axi_req_o\[aw\]\[addr\][18] 0 741.475 0.07 741.545
axi_req_o\[aw\]\[addr\][17] 0 741.055 0.07 741.125
axi_req_o\[aw\]\[addr\][16] 0 740.635 0.07 740.705
axi_req_o\[aw\]\[addr\][15] 0 740.215 0.07 740.285
axi_req_o\[aw\]\[addr\][14] 0 739.795 0.07 739.865
axi_req_o\[aw\]\[addr\][13] 0 739.375 0.07 739.445
axi_req_o\[aw\]\[addr\][12] 0 738.955 0.07 739.025
axi_req_o\[aw\]\[addr\][11] 0 738.535 0.07 738.605
axi_req_o\[aw\]\[addr\][10] 0 738.115 0.07 738.185
axi_req_o\[aw\]\[addr\][9] 0 737.695 0.07 737.765
axi_req_o\[aw\]\[addr\][8] 0 737.275 0.07 737.345
axi_req_o\[aw\]\[addr\][7] 0 736.855 0.07 736.925
axi_req_o\[aw\]\[addr\][6] 0 736.435 0.07 736.505
axi_req_o\[aw\]\[addr\][5] 0 736.015 0.07 736.085
axi_req_o\[aw\]\[addr\][4] 0 735.595 0.07 735.665
axi_req_o\[aw\]\[addr\][3] 0 735.175 0.07 735.245
axi_req_o\[aw\]\[addr\][2] 0 734.755 0.07 734.825
axi_req_o\[aw\]\[addr\][1] 0 734.335 0.07 734.405
axi_req_o\[aw\]\[addr\][0] 0 733.915 0.07 733.985
axi_req_o\[aw\]\[id\][3] 0 768.635 0.07 768.705
axi_req_o\[aw\]\[id\][2] 0 768.215 0.07 768.285
axi_req_o\[aw\]\[id\][1] 0 767.795 0.07 767.865
axi_req_o\[aw\]\[id\][0] 0 767.375 0.07 767.445
axi_resp_i\[r\]\[last\] 0 845.215 0.07 845.285
axi_resp_i\[r\]\[resp\][1] 0 846.055 0.07 846.125
axi_resp_i\[r\]\[resp\][0] 0 845.635 0.07 845.705
axi_resp_i\[r\]\[data\][63] 0 843.115 0.07 843.185
axi_resp_i\[r\]\[data\][62] 0 842.695 0.07 842.765
axi_resp_i\[r\]\[data\][61] 0 842.275 0.07 842.345
axi_resp_i\[r\]\[data\][60] 0 841.855 0.07 841.925
axi_resp_i\[r\]\[data\][59] 0 841.435 0.07 841.505
axi_resp_i\[r\]\[data\][58] 0 841.015 0.07 841.085
axi_resp_i\[r\]\[data\][57] 0 840.595 0.07 840.665
axi_resp_i\[r\]\[data\][56] 0 840.175 0.07 840.245
axi_resp_i\[r\]\[data\][55] 0 839.755 0.07 839.825
axi_resp_i\[r\]\[data\][54] 0 839.335 0.07 839.405
axi_resp_i\[r\]\[data\][53] 0 838.915 0.07 838.985
axi_resp_i\[r\]\[data\][52] 0 838.495 0.07 838.565
axi_resp_i\[r\]\[data\][51] 0 838.075 0.07 838.145
axi_resp_i\[r\]\[data\][50] 0 837.655 0.07 837.725
axi_resp_i\[r\]\[data\][49] 0 837.235 0.07 837.305
axi_resp_i\[r\]\[data\][48] 0 836.815 0.07 836.885
axi_resp_i\[r\]\[data\][47] 0 836.395 0.07 836.465
axi_resp_i\[r\]\[data\][46] 0 835.975 0.07 836.045
axi_resp_i\[r\]\[data\][45] 0 835.555 0.07 835.625
axi_resp_i\[r\]\[data\][44] 0 835.135 0.07 835.205
axi_resp_i\[r\]\[data\][43] 0 834.715 0.07 834.785
axi_resp_i\[r\]\[data\][42] 0 834.295 0.07 834.365
axi_resp_i\[r\]\[data\][41] 0 833.875 0.07 833.945
axi_resp_i\[r\]\[data\][40] 0 833.455 0.07 833.525
axi_resp_i\[r\]\[data\][39] 0 833.035 0.07 833.105
axi_resp_i\[r\]\[data\][38] 0 832.615 0.07 832.685
axi_resp_i\[r\]\[data\][37] 0 832.195 0.07 832.265
axi_resp_i\[r\]\[data\][36] 0 831.775 0.07 831.845
axi_resp_i\[r\]\[data\][35] 0 831.355 0.07 831.425
axi_resp_i\[r\]\[data\][34] 0 830.935 0.07 831.005
axi_resp_i\[r\]\[data\][33] 0 830.515 0.07 830.585
axi_resp_i\[r\]\[data\][32] 0 830.095 0.07 830.165
axi_resp_i\[r\]\[data\][31] 0 829.675 0.07 829.745
axi_resp_i\[r\]\[data\][30] 0 829.255 0.07 829.325
axi_resp_i\[r\]\[data\][29] 0 828.835 0.07 828.905
axi_resp_i\[r\]\[data\][28] 0 828.415 0.07 828.485
axi_resp_i\[r\]\[data\][27] 0 827.995 0.07 828.065
axi_resp_i\[r\]\[data\][26] 0 827.575 0.07 827.645
axi_resp_i\[r\]\[data\][25] 0 827.155 0.07 827.225
axi_resp_i\[r\]\[data\][24] 0 826.735 0.07 826.805
axi_resp_i\[r\]\[data\][23] 0 826.315 0.07 826.385
axi_resp_i\[r\]\[data\][22] 0 825.895 0.07 825.965
axi_resp_i\[r\]\[data\][21] 0 825.475 0.07 825.545
axi_resp_i\[r\]\[data\][20] 0 825.055 0.07 825.125
axi_resp_i\[r\]\[data\][19] 0 824.635 0.07 824.705
axi_resp_i\[r\]\[data\][18] 0 824.215 0.07 824.285
axi_resp_i\[r\]\[data\][17] 0 823.795 0.07 823.865
axi_resp_i\[r\]\[data\][16] 0 823.375 0.07 823.445
axi_resp_i\[r\]\[data\][15] 0 822.955 0.07 823.025
axi_resp_i\[r\]\[data\][14] 0 822.535 0.07 822.605
axi_resp_i\[r\]\[data\][13] 0 822.115 0.07 822.185
axi_resp_i\[r\]\[data\][12] 0 821.695 0.07 821.765
axi_resp_i\[r\]\[data\][11] 0 821.275 0.07 821.345
axi_resp_i\[r\]\[data\][10] 0 820.855 0.07 820.925
axi_resp_i\[r\]\[data\][9] 0 820.435 0.07 820.505
axi_resp_i\[r\]\[data\][8] 0 820.015 0.07 820.085
axi_resp_i\[r\]\[data\][7] 0 819.595 0.07 819.665
axi_resp_i\[r\]\[data\][6] 0 819.175 0.07 819.245
axi_resp_i\[r\]\[data\][5] 0 818.755 0.07 818.825
axi_resp_i\[r\]\[data\][4] 0 818.335 0.07 818.405
axi_resp_i\[r\]\[data\][3] 0 817.915 0.07 817.985
axi_resp_i\[r\]\[data\][2] 0 817.495 0.07 817.565
axi_resp_i\[r\]\[data\][1] 0 817.075 0.07 817.145
axi_resp_i\[r\]\[data\][0] 0 816.655 0.07 816.725
axi_resp_i\[r\]\[id\][3] 0 844.795 0.07 844.865
axi_resp_i\[r\]\[id\][2] 0 844.375 0.07 844.445
axi_resp_i\[r\]\[id\][1] 0 843.955 0.07 844.025
axi_resp_i\[r\]\[id\][0] 0 843.535 0.07 843.605
axi_resp_i\[r_valid\] 0 846.475 0.07 846.545
axi_resp_i\[b\]\[resp\][1] 0 815.815 0.07 815.885
axi_resp_i\[b\]\[resp\][0] 0 815.395 0.07 815.465
axi_resp_i\[b\]\[id\][3] 0 814.975 0.07 815.045
axi_resp_i\[b\]\[id\][2] 0 814.555 0.07 814.625
axi_resp_i\[b\]\[id\][1] 0 814.135 0.07 814.205
axi_resp_i\[b\]\[id\][0] 0 813.715 0.07 813.785
axi_resp_i\[b_valid\] 0 816.235 0.07 816.305
axi_resp_i\[w_ready\] 0 846.895 0.07 846.965
axi_resp_i\[ar_ready\] 0 812.875 0.07 812.945
axi_resp_i\[aw_ready\] 0 813.295 0.07 813.365
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -12,6 +12,7 @@ if __name__ == '__main__': ...@@ -12,6 +12,7 @@ if __name__ == '__main__':
parser.add_argument("--fixed_file", help="fixed file generated by grouping", type = str, default = "./fix_files_grouping/ariane.fix.old") parser.add_argument("--fixed_file", help="fixed file generated by grouping", type = str, default = "./fix_files_grouping/ariane.fix.old")
parser.add_argument("--step_threshold", help = "threshold (x and y) to break clusters (in um)", type = float, default = 400.0) parser.add_argument("--step_threshold", help = "threshold (x and y) to break clusters (in um)", type = float, default = 400.0)
parser.add_argument("--distance", help="distance for merge clusters", type = float, default = 200.0) parser.add_argument("--distance", help="distance for merge clusters", type = float, default = 200.0)
parser.add_argument("--grid_width", help="grid width, the width of soft macro", type = int, default = 30.0)
parser.add_argument("--max_num_vertices", help="threshold for samller clusters", type = int, default = 100) parser.add_argument("--max_num_vertices", help="threshold for samller clusters", type = int, default = 100)
parser.add_argument("--net_size_threshold", help = "large net threshold", type = int, default = 300) parser.add_argument("--net_size_threshold", help = "large net threshold", type = int, default = 300)
parser.add_argument("--Nparts", help = "number of clusters (only for hmetis, default = 500)", type = int, default = 500) parser.add_argument("--Nparts", help = "number of clusters (only for hmetis, default = 500)", type = int, default = 500)
...@@ -32,6 +33,7 @@ if __name__ == '__main__': ...@@ -32,6 +33,7 @@ if __name__ == '__main__':
step_threshold = args.step_threshold step_threshold = args.step_threshold
distance = args.distance distance = args.distance
grid_width = args.grid_width
max_num_vertices = args.max_num_vertices max_num_vertices = args.max_num_vertices
net_size_threshold = args.net_size_threshold net_size_threshold = args.net_size_threshold
Nparts = args.Nparts Nparts = args.Nparts
...@@ -44,7 +46,7 @@ if __name__ == '__main__': ...@@ -44,7 +46,7 @@ if __name__ == '__main__':
# To use the grouping function, you need to specify the directory of src file # To use the grouping function, you need to specify the directory of src file
src_dir = "../src" src_dir = "../src"
Clustering(design, src_dir, fixed_file, step_threshold, distance, Clustering(design, src_dir, fixed_file, step_threshold, distance, grid_width,
max_num_vertices, net_size_threshold, Nparts, setup_file, max_num_vertices, net_size_threshold, Nparts, setup_file,
RePlace, placement_density, GUI) RePlace, placement_density, GUI)
......
...@@ -66,6 +66,7 @@ clustering_src_dir = '../Clustering/src' ...@@ -66,6 +66,7 @@ clustering_src_dir = '../Clustering/src'
chip_width = gridding.GetChipWidth() chip_width = gridding.GetChipWidth()
chip_height = gridding.GetChipHeight() chip_height = gridding.GetChipHeight()
num_std_cells = gridding.GetNumStdCells() num_std_cells = gridding.GetNumStdCells()
grid_width = chip_width / num_cols
Nparts = 500 Nparts = 500
# Based on the description of circuit training, [see line 180 at grouper.py] # Based on the description of circuit training, [see line 180 at grouper.py]
...@@ -80,7 +81,7 @@ print("[INFO] max_num_vertices : ", max_num_vertices) ...@@ -80,7 +81,7 @@ print("[INFO] max_num_vertices : ", max_num_vertices)
clustering = Clustering(design, clustering_src_dir, fixed_file, step_threshold, distance, clustering = Clustering(design, clustering_src_dir, fixed_file, step_threshold, distance,
max_num_vertices, global_net_threshold, Nparts, setup_file, Replace) grid_width, max_num_vertices, global_net_threshold, Nparts, setup_file, Replace)
cluster_def = "./results/OpenROAD/clustered_netlist.def" cluster_def = "./results/OpenROAD/clustered_netlist.def"
cluster_lef = "./results/OpenROAD/clusters.lef" cluster_lef = "./results/OpenROAD/clusters.lef"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment