Commit f6cff733 by ZhiangWang033

code flow integration

parent fe1d1a7e
......@@ -259,10 +259,13 @@ class Clustering:
# origin and threshold as step size to grid the bounding box
# All the instances in each grid cell (in terms of the center of the instance) forms a new cluster
cluster_lx, cluster_ly, cluster_ux, cluster_uy = self.GetBoundingBox(self.vertices_in_cluster[cluster_id])
if (((cluster_ux - cluster_lx) <= self.step_threshold)
and ((cluster_uy - cluster_ly) <= self.step_threshold)):
return None
Print("Break This Cluster")
cluster_x = (cluster_lx + cluster_ux) / 2.0
cluster_y = (cluster_ly + cluster_uy) / 2.0
num_x_grid = int((cluster_ux - cluster_x) / self.step_threshold)
......@@ -507,5 +510,6 @@ class Clustering:
cmd = "rm " + file_name
os.system(cmd)
def GetNumClusters(self):
return len(self.vertices_in_cluster)
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.
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.
import os
import argparse
import time
import shutil
import sys
from math import sqrt
sys.path.append('../Clustering/src')
sys.path.append('../Gridding/src')
sys.path.append('../Grouping/src')
sys.path.append('../FormatTranslators/src')
from clustering import Clustering
from gridding import GriddingLefDefInterface
from grouping import Grouping
from FormatTranslators import LefDef2ProBufFormat
setup_file = "setup.tcl"
design = "ariane"
macro_lefs = ["./lefs/fakeram45_256x16.lef"]
##############################################
### Call Gridding Function
##############################################
gridding_src_dir = '../Gridding/src'
tolerance = 0.01
min_n_rows = 30
min_n_cols = 30
max_n_rows = 50
max_n_cols = 50
max_rows_times_cols = 3000
gridding = GriddingLefDefInterface(gridding_src_dir, design, setup_file, tolerance,
min_n_rows, min_n_cols, max_n_rows, max_n_cols,
max_rows_times_cols)
num_rows = gridding.GetNumRows()
num_cols = gridding.GetNumCols()
##############################################
### Call Grouping Function
##############################################
grouping_src_dir = '../Grouping/src'
grouping_rpt_dir = 'grouping_rpt'
K_in = 1
K_out = 1
global_net_threshold = 300
grouping = Grouping(design, num_rows, num_cols, K_in, K_out, setup_file, global_net_threshold, grouping_src_dir)
# clean the rpt_dir
if not os.path.exists(grouping_rpt_dir):
os.mkdir(grouping_rpt_dir)
cmd = "mv " + design + ".fix " + grouping_rpt_dir
os.system(cmd)
cmd = "mv " + design + ".fix.old " + grouping_rpt_dir
os.system(cmd)
fixed_file = grouping_rpt_dir + "/" + design + ".fix.old"
##############################################
### Call Clustering Function
##############################################
clustering_src_dir = '../Clustering/src'
chip_width = gridding.GetChipWidth()
chip_height = gridding.GetChipHeight()
num_std_cells = gridding.GetNumStdCells()
Nparts = 500
# Based on the description of circuit training, [see line 180 at grouper.py]
# we set the following thresholds
step_threshold = sqrt(chip_width * chip_height) / 100.0
distance = step_threshold / 2.0
max_num_vertices = num_std_cells / Nparts / 4
Replace = False
print("[INFO] step_threshold : ", step_threshold)
print("[INFO] distance : ", distance)
print("[INFO] max_num_vertices : ", max_num_vertices)
clustering = Clustering(design, clustering_src_dir, fixed_file, step_threshold, distance,
max_num_vertices, global_net_threshold, Nparts, setup_file, Replace)
cluster_def = "./results/OpenROAD/clustered_netlist.def"
cluster_lef = "./results/OpenROAD/clusters.lef"
######################################################################
### Convert the clustered netlist to the Protocol Buffer Format
######################################################################
translator_src_dir = '../FormatTranslators/src'
openroad_exe = translator_src_dir + "/utils/openroad"
lef_list = []
lef_list.append(cluster_lef)
for macro_lef in macro_lefs:
lef_list.append(macro_lef)
LefDef2ProBufFormat(lef_list, cluster_def, design, openroad_exe, global_net_threshold)
### Print Summary Information
print("*"*80)
print("[INFO] number of clusters : ", clustering.GetNumClusters())
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.
#
# ******************************************************************************
# * *
# * Copyright (C) 2004-2010, Nangate Inc. *
# * All rights reserved. *
# * *
# * Nangate and the Nangate logo are trademarks of Nangate Inc. *
# * *
# * All trademarks, logos, software marks, and trade names (collectively the *
# * "Marks") in this program are proprietary to Nangate or other respective *
# * owners that have granted Nangate the right and license to use such Marks. *
# * You are not permitted to use the Marks without the prior written consent *
# * of Nangate or such third party that may own the Marks. *
# * *
# * This file has been provided pursuant to a License Agreement containing *
# * restrictions on its use. This file contains valuable trade secrets and *
# * proprietary information of Nangate Inc., and is protected by U.S. and *
# * international laws and/or treaties. *
# * *
# * The copyright notice(s) in this file does not indicate actual or intended *
# * publication of this file. *
# * *
# * NGLibraryCreator, v2010.08-HR32-SP3-2010-08-05 - build 1009061800 *
# * *
# ******************************************************************************
#
#
# Running on brazil06.nangate.com.br for user Giancarlo Franciscatto (gfr).
# Local time is now Fri, 3 Dec 2010, 19:32:18.
# Main process id is 27821.
VERSION 5.6 ;
BUSBITCHARS "[]" ;
DIVIDERCHAR "/" ;
UNITS
DATABASE MICRONS 2000 ;
END UNITS
MANUFACTURINGGRID 0.0050 ;
LAYER poly
TYPE MASTERSLICE ;
END poly
LAYER active
TYPE MASTERSLICE ;
END active
LAYER metal1
TYPE ROUTING ;
SPACING 0.065 ;
WIDTH 0.07 ;
PITCH 0.14 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.38 ;
THICKNESS 0.13 ;
HEIGHT 0.37 ;
CAPACITANCE CPERSQDIST 7.7161e-05 ;
EDGECAPACITANCE 2.7365e-05 ;
END metal1
LAYER via1
TYPE CUT ;
SPACING 0.08 ;
WIDTH 0.07 ;
RESISTANCE 5 ;
END via1
LAYER metal2
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.3000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.0700 0.0700 0.0700 0.0700 0.0700 0.0700
WIDTH 0.0900 0.0700 0.0900 0.0900 0.0900 0.0900 0.0900
WIDTH 0.2700 0.0700 0.0900 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.0700 0.0900 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.0700 0.0900 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.0700 0.0900 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.07 ;
PITCH 0.19 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.25 ;
THICKNESS 0.14 ;
HEIGHT 0.62 ;
CAPACITANCE CPERSQDIST 4.0896e-05 ;
EDGECAPACITANCE 2.5157e-05 ;
END metal2
LAYER via2
TYPE CUT ;
SPACING 0.09 ;
WIDTH 0.07 ;
RESISTANCE 5 ;
END via2
LAYER metal3
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.3000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.0700 0.0700 0.0700 0.0700 0.0700 0.0700
WIDTH 0.0900 0.0700 0.0900 0.0900 0.0900 0.0900 0.0900
WIDTH 0.2700 0.0700 0.0900 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.0700 0.0900 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.0700 0.0900 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.0700 0.0900 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.07 ;
PITCH 0.14 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.25 ;
THICKNESS 0.14 ;
HEIGHT 0.88 ;
CAPACITANCE CPERSQDIST 2.7745e-05 ;
EDGECAPACITANCE 2.5157e-05 ;
END metal3
LAYER via3
TYPE CUT ;
SPACING 0.09 ;
WIDTH 0.07 ;
RESISTANCE 5 ;
END via3
LAYER metal4
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.1400 0.1400 0.1400 0.1400 0.1400
WIDTH 0.2700 0.1400 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.1400 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.1400 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.1400 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.14 ;
PITCH 0.28 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.21 ;
THICKNESS 0.28 ;
HEIGHT 1.14 ;
CAPACITANCE CPERSQDIST 2.0743e-05 ;
EDGECAPACITANCE 3.0908e-05 ;
END metal4
LAYER via4
TYPE CUT ;
SPACING 0.16 ;
WIDTH 0.14 ;
RESISTANCE 3 ;
END via4
LAYER metal5
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.1400 0.1400 0.1400 0.1400 0.1400
WIDTH 0.2700 0.1400 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.1400 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.1400 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.1400 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.14 ;
PITCH 0.28 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.21 ;
THICKNESS 0.28 ;
HEIGHT 1.71 ;
CAPACITANCE CPERSQDIST 1.3527e-05 ;
EDGECAPACITANCE 2.3863e-06 ;
END metal5
LAYER via5
TYPE CUT ;
SPACING 0.16 ;
WIDTH 0.14 ;
RESISTANCE 3 ;
END via5
LAYER metal6
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.1400 0.1400 0.1400 0.1400 0.1400
WIDTH 0.2700 0.1400 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.1400 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.1400 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.1400 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.14 ;
PITCH 0.28 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.21 ;
THICKNESS 0.28 ;
HEIGHT 2.28 ;
CAPACITANCE CPERSQDIST 1.0036e-05 ;
EDGECAPACITANCE 2.3863e-05 ;
END metal6
LAYER via6
TYPE CUT ;
SPACING 0.16 ;
WIDTH 0.14 ;
RESISTANCE 3 ;
END via6
LAYER metal7
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.4000 0.4000 0.4000 0.4000
WIDTH 0.5000 0.4000 0.5000 0.5000 0.5000
WIDTH 0.9000 0.4000 0.5000 0.9000 0.9000
WIDTH 1.5000 0.4000 0.5000 0.9000 1.5000 ;
WIDTH 0.4 ;
PITCH 0.8 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.075 ;
THICKNESS 0.8 ;
HEIGHT 2.85 ;
CAPACITANCE CPERSQDIST 7.9771e-06 ;
EDGECAPACITANCE 3.2577e-05 ;
END metal7
LAYER via7
TYPE CUT ;
SPACING 0.44 ;
WIDTH 0.4 ;
RESISTANCE 1 ;
END via7
LAYER metal8
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.4000 0.4000 0.4000 0.4000
WIDTH 0.5000 0.4000 0.5000 0.5000 0.5000
WIDTH 0.9000 0.4000 0.5000 0.9000 0.9000
WIDTH 1.5000 0.4000 0.5000 0.9000 1.5000 ;
WIDTH 0.4 ;
PITCH 0.8 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.075 ;
THICKNESS 0.8 ;
HEIGHT 4.47 ;
CAPACITANCE CPERSQDIST 5.0391e-06 ;
EDGECAPACITANCE 2.3932e-05 ;
END metal8
LAYER via8
TYPE CUT ;
SPACING 0.44 ;
WIDTH 0.4 ;
RESISTANCE 1 ;
END via8
LAYER metal9
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 2.7000 4.0000
WIDTH 0.0000 0.8000 0.8000 0.8000
WIDTH 0.9000 0.8000 0.9000 0.9000
WIDTH 1.5000 0.8000 0.9000 1.5000 ;
WIDTH 0.8 ;
PITCH 1.6 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.03 ;
THICKNESS 2 ;
HEIGHT 6.09 ;
CAPACITANCE CPERSQDIST 3.6827e-06 ;
EDGECAPACITANCE 3.0803e-05 ;
END metal9
LAYER via9
TYPE CUT ;
SPACING 0.88 ;
WIDTH 0.8 ;
RESISTANCE 0.5 ;
END via9
LAYER metal10
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 2.7000 4.0000
WIDTH 0.0000 0.8000 0.8000 0.8000
WIDTH 0.9000 0.8000 0.9000 0.9000
WIDTH 1.5000 0.8000 0.9000 1.5000 ;
WIDTH 0.8 ;
PITCH 1.6 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.03 ;
THICKNESS 2 ;
HEIGHT 10.09 ;
CAPACITANCE CPERSQDIST 2.2124e-06 ;
EDGECAPACITANCE 2.3667e-05 ;
END metal10
LAYER OVERLAP
TYPE OVERLAP ;
END OVERLAP
VIA via1_4 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via1_4
VIA via1_0 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via1_0
VIA via1_1 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via1_1
VIA via1_2 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via1_2
VIA via1_3 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via1_3
VIA via1_5 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via1_5
VIA via1_6 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via1_6
VIA via1_7 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via1_7
VIA via1_8 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via1_8
VIA via2_8 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via2_8
VIA via2_4 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via2_4
VIA via2_5 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via2_5
VIA via2_7 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via2_7
VIA via2_6 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via2_6
VIA via2_0 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via2_0
VIA via2_1 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via2_1
VIA via2_2 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via2_2
VIA via2_3 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via2_3
VIA via3_2 DEFAULT
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via3_2
VIA via3_0 DEFAULT
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via3_0
VIA via3_1 DEFAULT
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via3_1
VIA via4_0 DEFAULT
LAYER via4 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal5 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via4_0
VIA via5_0 DEFAULT
LAYER via5 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal5 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal6 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via5_0
VIA via6_0 DEFAULT
LAYER via6 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal6 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal7 ;
RECT -0.2 -0.2 0.2 0.2 ;
END via6_0
VIA via7_0 DEFAULT
LAYER via7 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal7 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal8 ;
RECT -0.2 -0.2 0.2 0.2 ;
END via7_0
VIA via8_0 DEFAULT
LAYER via8 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal8 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal9 ;
RECT -0.4 -0.4 0.4 0.4 ;
END via8_0
VIA via9_0 DEFAULT
LAYER via9 ;
RECT -0.4 -0.4 0.4 0.4 ;
LAYER metal9 ;
RECT -0.4 -0.4 0.4 0.4 ;
LAYER metal10 ;
RECT -0.4 -0.4 0.4 0.4 ;
END via9_0
VIARULE Via1Array-0 GENERATE
LAYER metal1 ;
ENCLOSURE 0.035 0.035 ;
LAYER metal2 ;
ENCLOSURE 0.035 0.035 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-0
VIARULE Via1Array-1 GENERATE
LAYER metal1 ;
ENCLOSURE 0 0.035 ;
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-1
VIARULE Via1Array-2 GENERATE
LAYER metal1 ;
ENCLOSURE 0.035 0 ;
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-2
VIARULE Via1Array-3 GENERATE
LAYER metal1 ;
ENCLOSURE 0 0.035 ;
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-3
VIARULE Via1Array-4 GENERATE
LAYER metal1 ;
ENCLOSURE 0.035 0 ;
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-4
VIARULE Via2Array-0 GENERATE
LAYER metal2 ;
ENCLOSURE 0.035 0.035 ;
LAYER metal3 ;
ENCLOSURE 0.035 0.035 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-0
VIARULE Via2Array-1 GENERATE
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER metal3 ;
ENCLOSURE 0 0.035 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-1
VIARULE Via2Array-2 GENERATE
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER metal3 ;
ENCLOSURE 0.035 0 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-2
VIARULE Via2Array-3 GENERATE
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER metal3 ;
ENCLOSURE 0.035 0 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-3
VIARULE Via2Array-4 GENERATE
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER metal3 ;
ENCLOSURE 0 0.035 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-4
VIARULE Via3Array-0 GENERATE
LAYER metal3 ;
ENCLOSURE 0.035 0.035 ;
LAYER metal4 ;
ENCLOSURE 0.035 0.035 ;
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via3Array-0
VIARULE Via3Array-1 GENERATE
LAYER metal3 ;
ENCLOSURE 0 0.035 ;
LAYER metal4 ;
ENCLOSURE 0.035 0.035 ;
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via3Array-1
VIARULE Via3Array-2 GENERATE
LAYER metal3 ;
ENCLOSURE 0.035 0 ;
LAYER metal4 ;
ENCLOSURE 0.035 0.035 ;
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via3Array-2
VIARULE Via4Array-0 GENERATE
LAYER metal4 ;
ENCLOSURE 0 0 ;
LAYER metal5 ;
ENCLOSURE 0 0 ;
LAYER via4 ;
RECT -0.07 -0.07 0.07 0.07 ;
SPACING 0.3 BY 0.3 ;
END Via4Array-0
VIARULE Via5Array-0 GENERATE
LAYER metal5 ;
ENCLOSURE 0 0 ;
LAYER metal6 ;
ENCLOSURE 0 0 ;
LAYER via5 ;
RECT -0.07 -0.07 0.07 0.07 ;
SPACING 0.3 BY 0.3 ;
END Via5Array-0
VIARULE Via6Array-0 GENERATE
LAYER metal6 ;
ENCLOSURE 0 0 ;
LAYER metal7 ;
ENCLOSURE 0.13 0.13 ;
LAYER via6 ;
RECT -0.07 -0.07 0.07 0.07 ;
SPACING 0.3 BY 0.3 ;
END Via6Array-0
VIARULE Via7Array-0 GENERATE
LAYER metal7 ;
ENCLOSURE 0 0 ;
LAYER metal8 ;
ENCLOSURE 0 0 ;
LAYER via7 ;
RECT -0.2 -0.2 0.2 0.2 ;
SPACING 0.84 BY 0.84 ;
END Via7Array-0
VIARULE Via8Array-0 GENERATE
LAYER metal8 ;
ENCLOSURE 0 0 ;
LAYER metal9 ;
ENCLOSURE 0.2 0.2 ;
LAYER via8 ;
RECT -0.2 -0.2 0.2 0.2 ;
SPACING 0.84 BY 0.84 ;
END Via8Array-0
VIARULE Via9Array-0 GENERATE
LAYER metal10 ;
ENCLOSURE 0 0 ;
LAYER metal9 ;
ENCLOSURE 0 0 ;
LAYER via9 ;
RECT -0.4 -0.4 0.4 0.4 ;
SPACING 1.68 BY 1.68 ;
END Via9Array-0
SPACING
SAMENET metal1 metal1 0.065 ;
SAMENET metal2 metal2 0.07 ;
SAMENET metal3 metal3 0.07 ;
SAMENET metal4 metal4 0.14 ;
SAMENET metal5 metal5 0.14 ;
SAMENET metal6 metal6 0.14 ;
SAMENET metal7 metal7 0.4 ;
SAMENET metal8 metal8 0.4 ;
SAMENET metal9 metal9 0.8 ;
SAMENET metal10 metal10 0.8 ;
SAMENET via1 via1 0.08 ;
SAMENET via2 via2 0.09 ;
SAMENET via3 via3 0.09 ;
SAMENET via4 via4 0.16 ;
SAMENET via5 via5 0.16 ;
SAMENET via6 via6 0.16 ;
SAMENET via7 via7 0.44 ;
SAMENET via8 via8 0.44 ;
SAMENET via9 via9 0.88 ;
SAMENET via1 via2 0.0 STACK ;
SAMENET via2 via3 0.0 STACK ;
SAMENET via3 via4 0.0 STACK ;
SAMENET via4 via5 0.0 STACK ;
SAMENET via5 via6 0.0 STACK ;
SAMENET via6 via7 0.0 STACK ;
SAMENET via7 via8 0.0 STACK ;
SAMENET via8 via9 0.0 STACK ;
END SPACING
SITE FreePDK45_38x28_10R_NP_162NW_34O
SYMMETRY y ;
CLASS core ;
SIZE 0.19 BY 1.4 ;
END FreePDK45_38x28_10R_NP_162NW_34O
END LIBRARY
#
# End of file
#
VERSION 5.7 ;
BUSBITCHARS "[]" ;
MACRO fakeram45_256x16
FOREIGN fakeram45_256x16 0 0 ;
SYMMETRY X Y R90 ;
SIZE 57.570 BY 133.000 ;
CLASS BLOCK ;
PIN w_mask_in[0]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 2.065 0.070 2.135 ;
END
END w_mask_in[0]
PIN w_mask_in[1]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 4.165 0.070 4.235 ;
END
END w_mask_in[1]
PIN w_mask_in[2]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 6.265 0.070 6.335 ;
END
END w_mask_in[2]
PIN w_mask_in[3]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 8.365 0.070 8.435 ;
END
END w_mask_in[3]
PIN w_mask_in[4]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 10.465 0.070 10.535 ;
END
END w_mask_in[4]
PIN w_mask_in[5]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 12.565 0.070 12.635 ;
END
END w_mask_in[5]
PIN w_mask_in[6]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 14.665 0.070 14.735 ;
END
END w_mask_in[6]
PIN w_mask_in[7]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 16.765 0.070 16.835 ;
END
END w_mask_in[7]
PIN w_mask_in[8]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 18.865 0.070 18.935 ;
END
END w_mask_in[8]
PIN w_mask_in[9]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 20.965 0.070 21.035 ;
END
END w_mask_in[9]
PIN w_mask_in[10]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 23.065 0.070 23.135 ;
END
END w_mask_in[10]
PIN w_mask_in[11]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 25.165 0.070 25.235 ;
END
END w_mask_in[11]
PIN w_mask_in[12]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 27.265 0.070 27.335 ;
END
END w_mask_in[12]
PIN w_mask_in[13]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 29.365 0.070 29.435 ;
END
END w_mask_in[13]
PIN w_mask_in[14]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 31.465 0.070 31.535 ;
END
END w_mask_in[14]
PIN w_mask_in[15]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 33.565 0.070 33.635 ;
END
END w_mask_in[15]
PIN rd_out[0]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 34.615 0.070 34.685 ;
END
END rd_out[0]
PIN rd_out[1]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 36.715 0.070 36.785 ;
END
END rd_out[1]
PIN rd_out[2]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 38.815 0.070 38.885 ;
END
END rd_out[2]
PIN rd_out[3]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 40.915 0.070 40.985 ;
END
END rd_out[3]
PIN rd_out[4]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 43.015 0.070 43.085 ;
END
END rd_out[4]
PIN rd_out[5]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 45.115 0.070 45.185 ;
END
END rd_out[5]
PIN rd_out[6]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 47.215 0.070 47.285 ;
END
END rd_out[6]
PIN rd_out[7]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 49.315 0.070 49.385 ;
END
END rd_out[7]
PIN rd_out[8]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 51.415 0.070 51.485 ;
END
END rd_out[8]
PIN rd_out[9]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 53.515 0.070 53.585 ;
END
END rd_out[9]
PIN rd_out[10]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 55.615 0.070 55.685 ;
END
END rd_out[10]
PIN rd_out[11]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 57.715 0.070 57.785 ;
END
END rd_out[11]
PIN rd_out[12]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 59.815 0.070 59.885 ;
END
END rd_out[12]
PIN rd_out[13]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 61.915 0.070 61.985 ;
END
END rd_out[13]
PIN rd_out[14]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 64.015 0.070 64.085 ;
END
END rd_out[14]
PIN rd_out[15]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 66.115 0.070 66.185 ;
END
END rd_out[15]
PIN wd_in[0]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 67.165 0.070 67.235 ;
END
END wd_in[0]
PIN wd_in[1]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 69.265 0.070 69.335 ;
END
END wd_in[1]
PIN wd_in[2]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 71.365 0.070 71.435 ;
END
END wd_in[2]
PIN wd_in[3]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 73.465 0.070 73.535 ;
END
END wd_in[3]
PIN wd_in[4]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 75.565 0.070 75.635 ;
END
END wd_in[4]
PIN wd_in[5]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 77.665 0.070 77.735 ;
END
END wd_in[5]
PIN wd_in[6]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 79.765 0.070 79.835 ;
END
END wd_in[6]
PIN wd_in[7]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 81.865 0.070 81.935 ;
END
END wd_in[7]
PIN wd_in[8]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 83.965 0.070 84.035 ;
END
END wd_in[8]
PIN wd_in[9]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 86.065 0.070 86.135 ;
END
END wd_in[9]
PIN wd_in[10]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 88.165 0.070 88.235 ;
END
END wd_in[10]
PIN wd_in[11]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 90.265 0.070 90.335 ;
END
END wd_in[11]
PIN wd_in[12]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 92.365 0.070 92.435 ;
END
END wd_in[12]
PIN wd_in[13]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 94.465 0.070 94.535 ;
END
END wd_in[13]
PIN wd_in[14]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 96.565 0.070 96.635 ;
END
END wd_in[14]
PIN wd_in[15]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 98.665 0.070 98.735 ;
END
END wd_in[15]
PIN addr_in[0]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 99.715 0.070 99.785 ;
END
END addr_in[0]
PIN addr_in[1]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 101.815 0.070 101.885 ;
END
END addr_in[1]
PIN addr_in[2]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 103.915 0.070 103.985 ;
END
END addr_in[2]
PIN addr_in[3]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 106.015 0.070 106.085 ;
END
END addr_in[3]
PIN addr_in[4]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 108.115 0.070 108.185 ;
END
END addr_in[4]
PIN addr_in[5]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 110.215 0.070 110.285 ;
END
END addr_in[5]
PIN addr_in[6]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 112.315 0.070 112.385 ;
END
END addr_in[6]
PIN addr_in[7]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 114.415 0.070 114.485 ;
END
END addr_in[7]
PIN we_in
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 115.465 0.070 115.535 ;
END
END we_in
PIN ce_in
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 117.565 0.070 117.635 ;
END
END ce_in
PIN clk
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 119.665 0.070 119.735 ;
END
END clk
PIN VSS
DIRECTION INOUT ;
USE GROUND ;
PORT
LAYER metal4 ;
RECT 1.960 2.100 2.240 130.900 ;
RECT 5.320 2.100 5.600 130.900 ;
RECT 8.680 2.100 8.960 130.900 ;
RECT 12.040 2.100 12.320 130.900 ;
RECT 15.400 2.100 15.680 130.900 ;
RECT 18.760 2.100 19.040 130.900 ;
RECT 22.120 2.100 22.400 130.900 ;
RECT 25.480 2.100 25.760 130.900 ;
RECT 28.840 2.100 29.120 130.900 ;
RECT 32.200 2.100 32.480 130.900 ;
RECT 35.560 2.100 35.840 130.900 ;
RECT 38.920 2.100 39.200 130.900 ;
RECT 42.280 2.100 42.560 130.900 ;
RECT 45.640 2.100 45.920 130.900 ;
RECT 49.000 2.100 49.280 130.900 ;
RECT 52.360 2.100 52.640 130.900 ;
END
END VSS
PIN VDD
DIRECTION INOUT ;
USE POWER ;
PORT
LAYER metal4 ;
RECT 3.640 2.100 3.920 130.900 ;
RECT 7.000 2.100 7.280 130.900 ;
RECT 10.360 2.100 10.640 130.900 ;
RECT 13.720 2.100 14.000 130.900 ;
RECT 17.080 2.100 17.360 130.900 ;
RECT 20.440 2.100 20.720 130.900 ;
RECT 23.800 2.100 24.080 130.900 ;
RECT 27.160 2.100 27.440 130.900 ;
RECT 30.520 2.100 30.800 130.900 ;
RECT 33.880 2.100 34.160 130.900 ;
RECT 37.240 2.100 37.520 130.900 ;
RECT 40.600 2.100 40.880 130.900 ;
RECT 43.960 2.100 44.240 130.900 ;
RECT 47.320 2.100 47.600 130.900 ;
RECT 50.680 2.100 50.960 130.900 ;
RECT 54.040 2.100 54.320 130.900 ;
END
END VDD
OBS
LAYER metal1 ;
RECT 0 0 57.570 133.000 ;
LAYER metal2 ;
RECT 0 0 57.570 133.000 ;
LAYER metal3 ;
RECT 0.070 0 57.570 133.000 ;
RECT 0 0.000 0.070 2.065 ;
RECT 0 2.135 0.070 4.165 ;
RECT 0 4.235 0.070 6.265 ;
RECT 0 6.335 0.070 8.365 ;
RECT 0 8.435 0.070 10.465 ;
RECT 0 10.535 0.070 12.565 ;
RECT 0 12.635 0.070 14.665 ;
RECT 0 14.735 0.070 16.765 ;
RECT 0 16.835 0.070 18.865 ;
RECT 0 18.935 0.070 20.965 ;
RECT 0 21.035 0.070 23.065 ;
RECT 0 23.135 0.070 25.165 ;
RECT 0 25.235 0.070 27.265 ;
RECT 0 27.335 0.070 29.365 ;
RECT 0 29.435 0.070 31.465 ;
RECT 0 31.535 0.070 33.565 ;
RECT 0 33.635 0.070 34.615 ;
RECT 0 34.685 0.070 36.715 ;
RECT 0 36.785 0.070 38.815 ;
RECT 0 38.885 0.070 40.915 ;
RECT 0 40.985 0.070 43.015 ;
RECT 0 43.085 0.070 45.115 ;
RECT 0 45.185 0.070 47.215 ;
RECT 0 47.285 0.070 49.315 ;
RECT 0 49.385 0.070 51.415 ;
RECT 0 51.485 0.070 53.515 ;
RECT 0 53.585 0.070 55.615 ;
RECT 0 55.685 0.070 57.715 ;
RECT 0 57.785 0.070 59.815 ;
RECT 0 59.885 0.070 61.915 ;
RECT 0 61.985 0.070 64.015 ;
RECT 0 64.085 0.070 66.115 ;
RECT 0 66.185 0.070 67.165 ;
RECT 0 67.235 0.070 69.265 ;
RECT 0 69.335 0.070 71.365 ;
RECT 0 71.435 0.070 73.465 ;
RECT 0 73.535 0.070 75.565 ;
RECT 0 75.635 0.070 77.665 ;
RECT 0 77.735 0.070 79.765 ;
RECT 0 79.835 0.070 81.865 ;
RECT 0 81.935 0.070 83.965 ;
RECT 0 84.035 0.070 86.065 ;
RECT 0 86.135 0.070 88.165 ;
RECT 0 88.235 0.070 90.265 ;
RECT 0 90.335 0.070 92.365 ;
RECT 0 92.435 0.070 94.465 ;
RECT 0 94.535 0.070 96.565 ;
RECT 0 96.635 0.070 98.665 ;
RECT 0 98.735 0.070 99.715 ;
RECT 0 99.785 0.070 101.815 ;
RECT 0 101.885 0.070 103.915 ;
RECT 0 103.985 0.070 106.015 ;
RECT 0 106.085 0.070 108.115 ;
RECT 0 108.185 0.070 110.215 ;
RECT 0 110.285 0.070 112.315 ;
RECT 0 112.385 0.070 114.415 ;
RECT 0 114.485 0.070 115.465 ;
RECT 0 115.535 0.070 117.565 ;
RECT 0 117.635 0.070 119.665 ;
RECT 0 119.735 0.070 133.000 ;
LAYER metal4 ;
RECT 0 0 57.570 2.100 ;
RECT 0 130.900 57.570 133.000 ;
RECT 0.000 2.100 1.960 130.900 ;
RECT 2.240 2.100 3.640 130.900 ;
RECT 3.920 2.100 5.320 130.900 ;
RECT 5.600 2.100 7.000 130.900 ;
RECT 7.280 2.100 8.680 130.900 ;
RECT 8.960 2.100 10.360 130.900 ;
RECT 10.640 2.100 12.040 130.900 ;
RECT 12.320 2.100 13.720 130.900 ;
RECT 14.000 2.100 15.400 130.900 ;
RECT 15.680 2.100 17.080 130.900 ;
RECT 17.360 2.100 18.760 130.900 ;
RECT 19.040 2.100 20.440 130.900 ;
RECT 20.720 2.100 22.120 130.900 ;
RECT 22.400 2.100 23.800 130.900 ;
RECT 24.080 2.100 25.480 130.900 ;
RECT 25.760 2.100 27.160 130.900 ;
RECT 27.440 2.100 28.840 130.900 ;
RECT 29.120 2.100 30.520 130.900 ;
RECT 30.800 2.100 32.200 130.900 ;
RECT 32.480 2.100 33.880 130.900 ;
RECT 34.160 2.100 35.560 130.900 ;
RECT 35.840 2.100 37.240 130.900 ;
RECT 37.520 2.100 38.920 130.900 ;
RECT 39.200 2.100 40.600 130.900 ;
RECT 40.880 2.100 42.280 130.900 ;
RECT 42.560 2.100 43.960 130.900 ;
RECT 44.240 2.100 45.640 130.900 ;
RECT 45.920 2.100 47.320 130.900 ;
RECT 47.600 2.100 49.000 130.900 ;
RECT 49.280 2.100 50.680 130.900 ;
RECT 50.960 2.100 52.360 130.900 ;
RECT 52.640 2.100 54.040 130.900 ;
RECT 54.320 2.100 57.570 130.900 ;
LAYER OVERLAP ;
RECT 0 0 57.570 133.000 ;
END
END fakeram45_256x16
END LIBRARY
This source diff could not be displayed because it is too large. You can view the blob instead.
library(fakeram45_256x16) {
technology (cmos);
delay_model : table_lookup;
revision : 1.0;
date : "2022-05-18 16:05:50Z";
comment : "SRAM";
time_unit : "1ns";
voltage_unit : "1V";
current_unit : "1uA";
leakage_power_unit : "1uW";
nom_process : 1;
nom_temperature : 25.000;
nom_voltage : 1.1;
capacitive_load_unit (1,pf);
pulling_resistance_unit : "1kohm";
operating_conditions(tt_1.0_25.0) {
process : 1;
temperature : 25.000;
voltage : 1.1;
tree_type : balanced_tree;
}
/* default attributes */
default_cell_leakage_power : 0;
default_fanout_load : 1;
default_inout_pin_cap : 0.0;
default_input_pin_cap : 0.0;
default_output_pin_cap : 0.0;
default_input_pin_cap : 0.0;
default_max_transition : 0.227;
default_operating_conditions : tt_1.0_25.0;
default_leakage_power_density : 0.0;
/* additional header data */
slew_derate_from_library : 1.000;
slew_lower_threshold_pct_fall : 20.000;
slew_upper_threshold_pct_fall : 80.000;
slew_lower_threshold_pct_rise : 20.000;
slew_upper_threshold_pct_rise : 80.000;
input_threshold_pct_fall : 50.000;
input_threshold_pct_rise : 50.000;
output_threshold_pct_fall : 50.000;
output_threshold_pct_rise : 50.000;
lu_table_template(fakeram45_256x16_mem_out_delay_template) {
variable_1 : input_net_transition;
variable_2 : total_output_net_capacitance;
index_1 ("1000, 1001");
index_2 ("1000, 1001");
}
lu_table_template(fakeram45_256x16_mem_out_slew_template) {
variable_1 : total_output_net_capacitance;
index_1 ("1000, 1001");
}
lu_table_template(fakeram45_256x16_constraint_template) {
variable_1 : related_pin_transition;
variable_2 : constrained_pin_transition;
index_1 ("1000, 1001");
index_2 ("1000, 1001");
}
power_lut_template(fakeram45_256x16_energy_template_clkslew) {
variable_1 : input_transition_time;
index_1 ("1000, 1001");
}
power_lut_template(fakeram45_256x16_energy_template_sigslew) {
variable_1 : input_transition_time;
index_1 ("1000, 1001");
}
library_features(report_delay_calculation);
type (fakeram45_256x16_DATA) {
base_type : array ;
data_type : bit ;
bit_width : 16;
bit_from : 15;
bit_to : 0 ;
downto : true ;
}
type (fakeram45_256x16_ADDRESS) {
base_type : array ;
data_type : bit ;
bit_width : 8;
bit_from : 7;
bit_to : 0 ;
downto : true ;
}
cell(fakeram45_256x16) {
area : 7656.810;
interface_timing : true;
memory() {
type : ram;
address_width : 8;
word_width : 16;
}
pin(clk) {
direction : input;
capacitance : 0.025;
clock : true;
min_period : 0.210 ;
internal_power(){
rise_power(fakeram45_256x16_energy_template_clkslew) {
index_1 ("0.009, 0.227");
values ("2.355, 2.355")
}
fall_power(fakeram45_256x16_energy_template_clkslew) {
index_1 ("0.009, 0.227");
values ("2.355, 2.355")
}
}
}
bus(rd_out) {
bus_type : fakeram45_256x16_DATA;
direction : output;
max_capacitance : 0.500;
memory_read() {
address : addr_in;
}
timing() {
related_pin : "clk" ;
timing_type : rising_edge;
timing_sense : non_unate;
cell_rise(fakeram45_256x16_mem_out_delay_template) {
index_1 ("0.009, 0.227");
index_2 ("0.005, 0.500");
values ( \
"0.261, 0.261", \
"0.261, 0.261" \
)
}
cell_fall(fakeram45_256x16_mem_out_delay_template) {
index_1 ("0.009, 0.227");
index_2 ("0.005, 0.500");
values ( \
"0.261, 0.261", \
"0.261, 0.261" \
)
}
rise_transition(fakeram45_256x16_mem_out_slew_template) {
index_1 ("0.005, 0.500");
values ("0.009, 0.227")
}
fall_transition(fakeram45_256x16_mem_out_slew_template) {
index_1 ("0.005, 0.500");
values ("0.009, 0.227")
}
}
}
pin(we_in){
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
pin(ce_in){
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
bus(addr_in) {
bus_type : fakeram45_256x16_ADDRESS;
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
bus(wd_in) {
bus_type : fakeram45_256x16_DATA;
memory_write() {
address : addr_in;
clocked_on : "clk";
}
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
when : "(! (we_in) )";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
internal_power(){
when : "(we_in)";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
bus(w_mask_in) {
bus_type : fakeram45_256x16_DATA;
memory_write() {
address : addr_in;
clocked_on : "clk";
}
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
when : "(! (we_in) )";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
internal_power(){
when : "(we_in)";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
cell_leakage_power : 432.350;
}
}
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.
set design "ariane"
set top_design "ariane"
set netlist "./design/ariane.v"
# def file generated by iSpatial flow
# where all the instances have been placed
set def_file "./design/ariane.def"
set ALL_LEFS "
./lefs/NangateOpenCellLibrary.tech.lef
./lefs/NangateOpenCellLibrary.macro.mod.lef
./lefs/fakeram45_256x16.lef
"
set LIB_BC "
./libs/NangateOpenCellLibrary_typical.lib
./libs/fakeram45_256x16.lib
"
set site "FreePDK45_38x28_10R_NP_162NW_34O"
foreach lef_file ${ALL_LEFS} {
read_lef $lef_file
}
foreach lib_file ${LIB_BC} {
read_liberty $lib_file
}
......@@ -6,6 +6,9 @@
import os
from math import floor
from math import ceil
import shutil
import sys
sys.path.append('./utils')
# Note that we use the center point of an object (macro, grid)
# to represent the position of that object
......@@ -81,9 +84,9 @@ def PlaceMacros(macro_map, grid_list, chip_width, chip_height, n):
grid_height = grid.height_
# update covered grids
min_col_id = floor(lx / grid_width)
max_col_id = ceil(ux / grid_width)
max_col_id = floor(ux / grid_width)
min_row_id = floor(ly / grid_height)
max_row_id = ceil(uy / grid_height)
max_row_id = floor(uy / grid_height)
for i in range(min_row_id, max_row_id + 1):
for j in range(min_col_id, max_col_id + 1):
grid_id = i * n + j # n is the num_cols
......@@ -115,6 +118,14 @@ def Gridding(macro_width_list, macro_height_list,
macro_map = dict(sorted(macro_map.items(), key=lambda item: item[1][0] * item[1][1], reverse = True))
macro_bbox = [] # (lx, ly, ux, uy) for each bounding box
print("*"*80)
print("[INFO] Outline Information : outline_width =", chip_width, " outline_height =", chip_height)
print("\n")
print("[INFO] Sorted Macro Information")
for key, value in macro_map.items():
print("macro_" + str(key), " macro_width =", round(value[0], 2), " macro_height =", round(value[1], 2), " macro_area =", round(value[0] * value[1], 2))
print("\n")
# we use m for max_n_rows and n for max_n_cols
m_best = -1
n_best = -1
......@@ -174,6 +185,97 @@ def Gridding(macro_width_list, macro_height_list,
return m_opt, n_opt
class GriddingLefDefInterface:
def __init__(self, src_dir, design, setup_file = "setup.tcl", tolerance = 0.01,
min_n_rows = 10, min_n_cols = 10, max_n_rows = 100, max_n_cols = 100,
max_rows_times_cols = 3000):
self.src_dir = src_dir
self.design = design
self.setup_file = setup_file
self.tolerance = tolerance
self.min_n_rows = min_n_rows
self.min_n_cols = min_n_cols
self.max_n_rows = max_n_rows
self.max_n_cols = max_n_cols
self.max_rows_times_cols = max_rows_times_cols
self.macro_width_list = []
self.macro_height_list = []
self.chip_width = 0.0
self.chip_height = 0.0
self.num_std_cells = 0
self.extract_hypergraph_file = self.src_dir + '/utils/extract_hypergraph.tcl'
self.openroad_exe = self.src_dir + "/utils/openroad"
self.GenerateHypergraph()
self.ExtractInputs()
self.m_opt, self.n_opt = Gridding(self.macro_width_list, self.macro_height_list, self.chip_width, self.chip_height, self.tolerance,
self.min_n_rows, self.min_n_cols, self.max_n_rows, self.max_n_cols, self.max_rows_times_cols)
def GetNumRows(self):
return self.m_opt
def GetNumCols(self):
return self.n_opt
def GetChipWidth(self):
return self.chip_width
def GetChipHeight(self):
return self.chip_height
def GetNumStdCells(self):
return self.num_std_cells
def GenerateHypergraph(self):
# Extract hypergraph from netlist
temp_file = os.getcwd() + "/extract_hypergraph.tcl"
cmd = "cp " + self.setup_file + " " + temp_file
os.system(cmd)
with open(self.extract_hypergraph_file) as f:
content = f.read().splitlines()
f.close()
f = open(temp_file, "a")
f.write("\n")
for line in content:
f.write(line + "\n")
f.close()
cmd = self.openroad_exe + " " + temp_file
os.system(cmd)
cmd = "rm " + temp_file
os.system(cmd)
def ExtractInputs(self):
file_name = os.getcwd() + "/rtl_mp/" + self.design + ".hgr.outline"
with open(file_name) as f:
content = f.read().splitlines()
f.close()
items = content[0].split()
self.chip_width = float(items[2]) - float(items[0])
self.chip_height = float(items[3]) - float(items[1])
file_name = os.getcwd() + "/rtl_mp/" + self.design + ".hgr.instance"
with open(file_name) as f:
content = f.read().splitlines()
f.close()
for line in content:
items = line.split()
if (items[1] == "1"):
self.macro_width_list.append(float(items[4]) - float(items[2]))
self.macro_height_list.append(float(items[5]) - float(items[3]))
else:
self.num_std_cells += 1
rpt_dir = os.getcwd() + "/rtl_mp"
shutil.rmtree(rpt_dir)
if __name__ == "__main__":
# Just test
macro_width_list = [1, 2, 3.5, 3.5, 2.5]
......
#######################################################################
### Author: Zhiang, May, 2022
### Uses OpenROAD API to convert the netlist to a hypergraph (in hemtis format)
### This file cannot be used directly. It will be called by
### generate_cluster.py
### All the parameters set here are meaningless.
### !!! Please don't touch this file !!!
########################################################################
read_def $def_file
#Generate the hypergraph
partition_design -max_num_inst 2000000 -min_num_inst 40000 \
-max_num_macro 12 -min_num_macro 4 \
-net_threshold 20 -virtual_weight 50 \
-num_hop 0 -timing_weight 1000 \
-report_file ${top_design}.hgr
exit
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.
#
# ******************************************************************************
# * *
# * Copyright (C) 2004-2010, Nangate Inc. *
# * All rights reserved. *
# * *
# * Nangate and the Nangate logo are trademarks of Nangate Inc. *
# * *
# * All trademarks, logos, software marks, and trade names (collectively the *
# * "Marks") in this program are proprietary to Nangate or other respective *
# * owners that have granted Nangate the right and license to use such Marks. *
# * You are not permitted to use the Marks without the prior written consent *
# * of Nangate or such third party that may own the Marks. *
# * *
# * This file has been provided pursuant to a License Agreement containing *
# * restrictions on its use. This file contains valuable trade secrets and *
# * proprietary information of Nangate Inc., and is protected by U.S. and *
# * international laws and/or treaties. *
# * *
# * The copyright notice(s) in this file does not indicate actual or intended *
# * publication of this file. *
# * *
# * NGLibraryCreator, v2010.08-HR32-SP3-2010-08-05 - build 1009061800 *
# * *
# ******************************************************************************
#
#
# Running on brazil06.nangate.com.br for user Giancarlo Franciscatto (gfr).
# Local time is now Fri, 3 Dec 2010, 19:32:18.
# Main process id is 27821.
VERSION 5.6 ;
BUSBITCHARS "[]" ;
DIVIDERCHAR "/" ;
UNITS
DATABASE MICRONS 2000 ;
END UNITS
MANUFACTURINGGRID 0.0050 ;
LAYER poly
TYPE MASTERSLICE ;
END poly
LAYER active
TYPE MASTERSLICE ;
END active
LAYER metal1
TYPE ROUTING ;
SPACING 0.065 ;
WIDTH 0.07 ;
PITCH 0.14 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.38 ;
THICKNESS 0.13 ;
HEIGHT 0.37 ;
CAPACITANCE CPERSQDIST 7.7161e-05 ;
EDGECAPACITANCE 2.7365e-05 ;
END metal1
LAYER via1
TYPE CUT ;
SPACING 0.08 ;
WIDTH 0.07 ;
RESISTANCE 5 ;
END via1
LAYER metal2
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.3000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.0700 0.0700 0.0700 0.0700 0.0700 0.0700
WIDTH 0.0900 0.0700 0.0900 0.0900 0.0900 0.0900 0.0900
WIDTH 0.2700 0.0700 0.0900 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.0700 0.0900 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.0700 0.0900 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.0700 0.0900 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.07 ;
PITCH 0.19 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.25 ;
THICKNESS 0.14 ;
HEIGHT 0.62 ;
CAPACITANCE CPERSQDIST 4.0896e-05 ;
EDGECAPACITANCE 2.5157e-05 ;
END metal2
LAYER via2
TYPE CUT ;
SPACING 0.09 ;
WIDTH 0.07 ;
RESISTANCE 5 ;
END via2
LAYER metal3
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.3000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.0700 0.0700 0.0700 0.0700 0.0700 0.0700
WIDTH 0.0900 0.0700 0.0900 0.0900 0.0900 0.0900 0.0900
WIDTH 0.2700 0.0700 0.0900 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.0700 0.0900 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.0700 0.0900 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.0700 0.0900 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.07 ;
PITCH 0.14 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.25 ;
THICKNESS 0.14 ;
HEIGHT 0.88 ;
CAPACITANCE CPERSQDIST 2.7745e-05 ;
EDGECAPACITANCE 2.5157e-05 ;
END metal3
LAYER via3
TYPE CUT ;
SPACING 0.09 ;
WIDTH 0.07 ;
RESISTANCE 5 ;
END via3
LAYER metal4
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.1400 0.1400 0.1400 0.1400 0.1400
WIDTH 0.2700 0.1400 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.1400 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.1400 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.1400 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.14 ;
PITCH 0.28 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.21 ;
THICKNESS 0.28 ;
HEIGHT 1.14 ;
CAPACITANCE CPERSQDIST 2.0743e-05 ;
EDGECAPACITANCE 3.0908e-05 ;
END metal4
LAYER via4
TYPE CUT ;
SPACING 0.16 ;
WIDTH 0.14 ;
RESISTANCE 3 ;
END via4
LAYER metal5
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.1400 0.1400 0.1400 0.1400 0.1400
WIDTH 0.2700 0.1400 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.1400 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.1400 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.1400 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.14 ;
PITCH 0.28 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.21 ;
THICKNESS 0.28 ;
HEIGHT 1.71 ;
CAPACITANCE CPERSQDIST 1.3527e-05 ;
EDGECAPACITANCE 2.3863e-06 ;
END metal5
LAYER via5
TYPE CUT ;
SPACING 0.16 ;
WIDTH 0.14 ;
RESISTANCE 3 ;
END via5
LAYER metal6
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 0.9000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.1400 0.1400 0.1400 0.1400 0.1400
WIDTH 0.2700 0.1400 0.2700 0.2700 0.2700 0.2700
WIDTH 0.5000 0.1400 0.2700 0.5000 0.5000 0.5000
WIDTH 0.9000 0.1400 0.2700 0.5000 0.9000 0.9000
WIDTH 1.5000 0.1400 0.2700 0.5000 0.9000 1.5000 ;
WIDTH 0.14 ;
PITCH 0.28 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.21 ;
THICKNESS 0.28 ;
HEIGHT 2.28 ;
CAPACITANCE CPERSQDIST 1.0036e-05 ;
EDGECAPACITANCE 2.3863e-05 ;
END metal6
LAYER via6
TYPE CUT ;
SPACING 0.16 ;
WIDTH 0.14 ;
RESISTANCE 3 ;
END via6
LAYER metal7
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.4000 0.4000 0.4000 0.4000
WIDTH 0.5000 0.4000 0.5000 0.5000 0.5000
WIDTH 0.9000 0.4000 0.5000 0.9000 0.9000
WIDTH 1.5000 0.4000 0.5000 0.9000 1.5000 ;
WIDTH 0.4 ;
PITCH 0.8 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.075 ;
THICKNESS 0.8 ;
HEIGHT 2.85 ;
CAPACITANCE CPERSQDIST 7.9771e-06 ;
EDGECAPACITANCE 3.2577e-05 ;
END metal7
LAYER via7
TYPE CUT ;
SPACING 0.44 ;
WIDTH 0.4 ;
RESISTANCE 1 ;
END via7
LAYER metal8
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 1.8000 2.7000 4.0000
WIDTH 0.0000 0.4000 0.4000 0.4000 0.4000
WIDTH 0.5000 0.4000 0.5000 0.5000 0.5000
WIDTH 0.9000 0.4000 0.5000 0.9000 0.9000
WIDTH 1.5000 0.4000 0.5000 0.9000 1.5000 ;
WIDTH 0.4 ;
PITCH 0.8 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.075 ;
THICKNESS 0.8 ;
HEIGHT 4.47 ;
CAPACITANCE CPERSQDIST 5.0391e-06 ;
EDGECAPACITANCE 2.3932e-05 ;
END metal8
LAYER via8
TYPE CUT ;
SPACING 0.44 ;
WIDTH 0.4 ;
RESISTANCE 1 ;
END via8
LAYER metal9
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 2.7000 4.0000
WIDTH 0.0000 0.8000 0.8000 0.8000
WIDTH 0.9000 0.8000 0.9000 0.9000
WIDTH 1.5000 0.8000 0.9000 1.5000 ;
WIDTH 0.8 ;
PITCH 1.6 ;
DIRECTION HORIZONTAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.03 ;
THICKNESS 2 ;
HEIGHT 6.09 ;
CAPACITANCE CPERSQDIST 3.6827e-06 ;
EDGECAPACITANCE 3.0803e-05 ;
END metal9
LAYER via9
TYPE CUT ;
SPACING 0.88 ;
WIDTH 0.8 ;
RESISTANCE 0.5 ;
END via9
LAYER metal10
TYPE ROUTING ;
SPACINGTABLE
PARALLELRUNLENGTH 0.0000 2.7000 4.0000
WIDTH 0.0000 0.8000 0.8000 0.8000
WIDTH 0.9000 0.8000 0.9000 0.9000
WIDTH 1.5000 0.8000 0.9000 1.5000 ;
WIDTH 0.8 ;
PITCH 1.6 ;
DIRECTION VERTICAL ;
OFFSET 0.095 0.07 ;
RESISTANCE RPERSQ 0.03 ;
THICKNESS 2 ;
HEIGHT 10.09 ;
CAPACITANCE CPERSQDIST 2.2124e-06 ;
EDGECAPACITANCE 2.3667e-05 ;
END metal10
LAYER OVERLAP
TYPE OVERLAP ;
END OVERLAP
VIA via1_4 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via1_4
VIA via1_0 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via1_0
VIA via1_1 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via1_1
VIA via1_2 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via1_2
VIA via1_3 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via1_3
VIA via1_5 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via1_5
VIA via1_6 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via1_6
VIA via1_7 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via1_7
VIA via1_8 DEFAULT
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal1 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via1_8
VIA via2_8 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via2_8
VIA via2_4 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via2_4
VIA via2_5 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via2_5
VIA via2_7 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via2_7
VIA via2_6 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via2_6
VIA via2_0 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via2_0
VIA via2_1 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
END via2_1
VIA via2_2 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
END via2_2
VIA via2_3 DEFAULT
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal2 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via2_3
VIA via3_2 DEFAULT
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.035 0.07 0.035 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via3_2
VIA via3_0 DEFAULT
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal3 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via3_0
VIA via3_1 DEFAULT
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
LAYER metal3 ;
RECT -0.035 -0.07 0.035 0.07 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via3_1
VIA via4_0 DEFAULT
LAYER via4 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal4 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal5 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via4_0
VIA via5_0 DEFAULT
LAYER via5 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal5 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal6 ;
RECT -0.07 -0.07 0.07 0.07 ;
END via5_0
VIA via6_0 DEFAULT
LAYER via6 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal6 ;
RECT -0.07 -0.07 0.07 0.07 ;
LAYER metal7 ;
RECT -0.2 -0.2 0.2 0.2 ;
END via6_0
VIA via7_0 DEFAULT
LAYER via7 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal7 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal8 ;
RECT -0.2 -0.2 0.2 0.2 ;
END via7_0
VIA via8_0 DEFAULT
LAYER via8 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal8 ;
RECT -0.2 -0.2 0.2 0.2 ;
LAYER metal9 ;
RECT -0.4 -0.4 0.4 0.4 ;
END via8_0
VIA via9_0 DEFAULT
LAYER via9 ;
RECT -0.4 -0.4 0.4 0.4 ;
LAYER metal9 ;
RECT -0.4 -0.4 0.4 0.4 ;
LAYER metal10 ;
RECT -0.4 -0.4 0.4 0.4 ;
END via9_0
VIARULE Via1Array-0 GENERATE
LAYER metal1 ;
ENCLOSURE 0.035 0.035 ;
LAYER metal2 ;
ENCLOSURE 0.035 0.035 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-0
VIARULE Via1Array-1 GENERATE
LAYER metal1 ;
ENCLOSURE 0 0.035 ;
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-1
VIARULE Via1Array-2 GENERATE
LAYER metal1 ;
ENCLOSURE 0.035 0 ;
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-2
VIARULE Via1Array-3 GENERATE
LAYER metal1 ;
ENCLOSURE 0 0.035 ;
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-3
VIARULE Via1Array-4 GENERATE
LAYER metal1 ;
ENCLOSURE 0.035 0 ;
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER via1 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.15 BY 0.15 ;
END Via1Array-4
VIARULE Via2Array-0 GENERATE
LAYER metal2 ;
ENCLOSURE 0.035 0.035 ;
LAYER metal3 ;
ENCLOSURE 0.035 0.035 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-0
VIARULE Via2Array-1 GENERATE
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER metal3 ;
ENCLOSURE 0 0.035 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-1
VIARULE Via2Array-2 GENERATE
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER metal3 ;
ENCLOSURE 0.035 0 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-2
VIARULE Via2Array-3 GENERATE
LAYER metal2 ;
ENCLOSURE 0 0.035 ;
LAYER metal3 ;
ENCLOSURE 0.035 0 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-3
VIARULE Via2Array-4 GENERATE
LAYER metal2 ;
ENCLOSURE 0.035 0 ;
LAYER metal3 ;
ENCLOSURE 0 0.035 ;
LAYER via2 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via2Array-4
VIARULE Via3Array-0 GENERATE
LAYER metal3 ;
ENCLOSURE 0.035 0.035 ;
LAYER metal4 ;
ENCLOSURE 0.035 0.035 ;
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via3Array-0
VIARULE Via3Array-1 GENERATE
LAYER metal3 ;
ENCLOSURE 0 0.035 ;
LAYER metal4 ;
ENCLOSURE 0.035 0.035 ;
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via3Array-1
VIARULE Via3Array-2 GENERATE
LAYER metal3 ;
ENCLOSURE 0.035 0 ;
LAYER metal4 ;
ENCLOSURE 0.035 0.035 ;
LAYER via3 ;
RECT -0.035 -0.035 0.035 0.035 ;
SPACING 0.16 BY 0.16 ;
END Via3Array-2
VIARULE Via4Array-0 GENERATE
LAYER metal4 ;
ENCLOSURE 0 0 ;
LAYER metal5 ;
ENCLOSURE 0 0 ;
LAYER via4 ;
RECT -0.07 -0.07 0.07 0.07 ;
SPACING 0.3 BY 0.3 ;
END Via4Array-0
VIARULE Via5Array-0 GENERATE
LAYER metal5 ;
ENCLOSURE 0 0 ;
LAYER metal6 ;
ENCLOSURE 0 0 ;
LAYER via5 ;
RECT -0.07 -0.07 0.07 0.07 ;
SPACING 0.3 BY 0.3 ;
END Via5Array-0
VIARULE Via6Array-0 GENERATE
LAYER metal6 ;
ENCLOSURE 0 0 ;
LAYER metal7 ;
ENCLOSURE 0.13 0.13 ;
LAYER via6 ;
RECT -0.07 -0.07 0.07 0.07 ;
SPACING 0.3 BY 0.3 ;
END Via6Array-0
VIARULE Via7Array-0 GENERATE
LAYER metal7 ;
ENCLOSURE 0 0 ;
LAYER metal8 ;
ENCLOSURE 0 0 ;
LAYER via7 ;
RECT -0.2 -0.2 0.2 0.2 ;
SPACING 0.84 BY 0.84 ;
END Via7Array-0
VIARULE Via8Array-0 GENERATE
LAYER metal8 ;
ENCLOSURE 0 0 ;
LAYER metal9 ;
ENCLOSURE 0.2 0.2 ;
LAYER via8 ;
RECT -0.2 -0.2 0.2 0.2 ;
SPACING 0.84 BY 0.84 ;
END Via8Array-0
VIARULE Via9Array-0 GENERATE
LAYER metal10 ;
ENCLOSURE 0 0 ;
LAYER metal9 ;
ENCLOSURE 0 0 ;
LAYER via9 ;
RECT -0.4 -0.4 0.4 0.4 ;
SPACING 1.68 BY 1.68 ;
END Via9Array-0
SPACING
SAMENET metal1 metal1 0.065 ;
SAMENET metal2 metal2 0.07 ;
SAMENET metal3 metal3 0.07 ;
SAMENET metal4 metal4 0.14 ;
SAMENET metal5 metal5 0.14 ;
SAMENET metal6 metal6 0.14 ;
SAMENET metal7 metal7 0.4 ;
SAMENET metal8 metal8 0.4 ;
SAMENET metal9 metal9 0.8 ;
SAMENET metal10 metal10 0.8 ;
SAMENET via1 via1 0.08 ;
SAMENET via2 via2 0.09 ;
SAMENET via3 via3 0.09 ;
SAMENET via4 via4 0.16 ;
SAMENET via5 via5 0.16 ;
SAMENET via6 via6 0.16 ;
SAMENET via7 via7 0.44 ;
SAMENET via8 via8 0.44 ;
SAMENET via9 via9 0.88 ;
SAMENET via1 via2 0.0 STACK ;
SAMENET via2 via3 0.0 STACK ;
SAMENET via3 via4 0.0 STACK ;
SAMENET via4 via5 0.0 STACK ;
SAMENET via5 via6 0.0 STACK ;
SAMENET via6 via7 0.0 STACK ;
SAMENET via7 via8 0.0 STACK ;
SAMENET via8 via9 0.0 STACK ;
END SPACING
SITE FreePDK45_38x28_10R_NP_162NW_34O
SYMMETRY y ;
CLASS core ;
SIZE 0.19 BY 1.4 ;
END FreePDK45_38x28_10R_NP_162NW_34O
END LIBRARY
#
# End of file
#
VERSION 5.7 ;
BUSBITCHARS "[]" ;
MACRO fakeram45_256x16
FOREIGN fakeram45_256x16 0 0 ;
SYMMETRY X Y R90 ;
SIZE 57.570 BY 133.000 ;
CLASS BLOCK ;
PIN w_mask_in[0]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 2.065 0.070 2.135 ;
END
END w_mask_in[0]
PIN w_mask_in[1]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 4.165 0.070 4.235 ;
END
END w_mask_in[1]
PIN w_mask_in[2]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 6.265 0.070 6.335 ;
END
END w_mask_in[2]
PIN w_mask_in[3]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 8.365 0.070 8.435 ;
END
END w_mask_in[3]
PIN w_mask_in[4]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 10.465 0.070 10.535 ;
END
END w_mask_in[4]
PIN w_mask_in[5]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 12.565 0.070 12.635 ;
END
END w_mask_in[5]
PIN w_mask_in[6]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 14.665 0.070 14.735 ;
END
END w_mask_in[6]
PIN w_mask_in[7]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 16.765 0.070 16.835 ;
END
END w_mask_in[7]
PIN w_mask_in[8]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 18.865 0.070 18.935 ;
END
END w_mask_in[8]
PIN w_mask_in[9]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 20.965 0.070 21.035 ;
END
END w_mask_in[9]
PIN w_mask_in[10]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 23.065 0.070 23.135 ;
END
END w_mask_in[10]
PIN w_mask_in[11]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 25.165 0.070 25.235 ;
END
END w_mask_in[11]
PIN w_mask_in[12]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 27.265 0.070 27.335 ;
END
END w_mask_in[12]
PIN w_mask_in[13]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 29.365 0.070 29.435 ;
END
END w_mask_in[13]
PIN w_mask_in[14]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 31.465 0.070 31.535 ;
END
END w_mask_in[14]
PIN w_mask_in[15]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 33.565 0.070 33.635 ;
END
END w_mask_in[15]
PIN rd_out[0]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 34.615 0.070 34.685 ;
END
END rd_out[0]
PIN rd_out[1]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 36.715 0.070 36.785 ;
END
END rd_out[1]
PIN rd_out[2]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 38.815 0.070 38.885 ;
END
END rd_out[2]
PIN rd_out[3]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 40.915 0.070 40.985 ;
END
END rd_out[3]
PIN rd_out[4]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 43.015 0.070 43.085 ;
END
END rd_out[4]
PIN rd_out[5]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 45.115 0.070 45.185 ;
END
END rd_out[5]
PIN rd_out[6]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 47.215 0.070 47.285 ;
END
END rd_out[6]
PIN rd_out[7]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 49.315 0.070 49.385 ;
END
END rd_out[7]
PIN rd_out[8]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 51.415 0.070 51.485 ;
END
END rd_out[8]
PIN rd_out[9]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 53.515 0.070 53.585 ;
END
END rd_out[9]
PIN rd_out[10]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 55.615 0.070 55.685 ;
END
END rd_out[10]
PIN rd_out[11]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 57.715 0.070 57.785 ;
END
END rd_out[11]
PIN rd_out[12]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 59.815 0.070 59.885 ;
END
END rd_out[12]
PIN rd_out[13]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 61.915 0.070 61.985 ;
END
END rd_out[13]
PIN rd_out[14]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 64.015 0.070 64.085 ;
END
END rd_out[14]
PIN rd_out[15]
DIRECTION OUTPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 66.115 0.070 66.185 ;
END
END rd_out[15]
PIN wd_in[0]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 67.165 0.070 67.235 ;
END
END wd_in[0]
PIN wd_in[1]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 69.265 0.070 69.335 ;
END
END wd_in[1]
PIN wd_in[2]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 71.365 0.070 71.435 ;
END
END wd_in[2]
PIN wd_in[3]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 73.465 0.070 73.535 ;
END
END wd_in[3]
PIN wd_in[4]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 75.565 0.070 75.635 ;
END
END wd_in[4]
PIN wd_in[5]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 77.665 0.070 77.735 ;
END
END wd_in[5]
PIN wd_in[6]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 79.765 0.070 79.835 ;
END
END wd_in[6]
PIN wd_in[7]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 81.865 0.070 81.935 ;
END
END wd_in[7]
PIN wd_in[8]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 83.965 0.070 84.035 ;
END
END wd_in[8]
PIN wd_in[9]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 86.065 0.070 86.135 ;
END
END wd_in[9]
PIN wd_in[10]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 88.165 0.070 88.235 ;
END
END wd_in[10]
PIN wd_in[11]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 90.265 0.070 90.335 ;
END
END wd_in[11]
PIN wd_in[12]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 92.365 0.070 92.435 ;
END
END wd_in[12]
PIN wd_in[13]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 94.465 0.070 94.535 ;
END
END wd_in[13]
PIN wd_in[14]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 96.565 0.070 96.635 ;
END
END wd_in[14]
PIN wd_in[15]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 98.665 0.070 98.735 ;
END
END wd_in[15]
PIN addr_in[0]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 99.715 0.070 99.785 ;
END
END addr_in[0]
PIN addr_in[1]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 101.815 0.070 101.885 ;
END
END addr_in[1]
PIN addr_in[2]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 103.915 0.070 103.985 ;
END
END addr_in[2]
PIN addr_in[3]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 106.015 0.070 106.085 ;
END
END addr_in[3]
PIN addr_in[4]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 108.115 0.070 108.185 ;
END
END addr_in[4]
PIN addr_in[5]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 110.215 0.070 110.285 ;
END
END addr_in[5]
PIN addr_in[6]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 112.315 0.070 112.385 ;
END
END addr_in[6]
PIN addr_in[7]
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 114.415 0.070 114.485 ;
END
END addr_in[7]
PIN we_in
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 115.465 0.070 115.535 ;
END
END we_in
PIN ce_in
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 117.565 0.070 117.635 ;
END
END ce_in
PIN clk
DIRECTION INPUT ;
USE SIGNAL ;
SHAPE ABUTMENT ;
PORT
LAYER metal3 ;
RECT 0.000 119.665 0.070 119.735 ;
END
END clk
PIN VSS
DIRECTION INOUT ;
USE GROUND ;
PORT
LAYER metal4 ;
RECT 1.960 2.100 2.240 130.900 ;
RECT 5.320 2.100 5.600 130.900 ;
RECT 8.680 2.100 8.960 130.900 ;
RECT 12.040 2.100 12.320 130.900 ;
RECT 15.400 2.100 15.680 130.900 ;
RECT 18.760 2.100 19.040 130.900 ;
RECT 22.120 2.100 22.400 130.900 ;
RECT 25.480 2.100 25.760 130.900 ;
RECT 28.840 2.100 29.120 130.900 ;
RECT 32.200 2.100 32.480 130.900 ;
RECT 35.560 2.100 35.840 130.900 ;
RECT 38.920 2.100 39.200 130.900 ;
RECT 42.280 2.100 42.560 130.900 ;
RECT 45.640 2.100 45.920 130.900 ;
RECT 49.000 2.100 49.280 130.900 ;
RECT 52.360 2.100 52.640 130.900 ;
END
END VSS
PIN VDD
DIRECTION INOUT ;
USE POWER ;
PORT
LAYER metal4 ;
RECT 3.640 2.100 3.920 130.900 ;
RECT 7.000 2.100 7.280 130.900 ;
RECT 10.360 2.100 10.640 130.900 ;
RECT 13.720 2.100 14.000 130.900 ;
RECT 17.080 2.100 17.360 130.900 ;
RECT 20.440 2.100 20.720 130.900 ;
RECT 23.800 2.100 24.080 130.900 ;
RECT 27.160 2.100 27.440 130.900 ;
RECT 30.520 2.100 30.800 130.900 ;
RECT 33.880 2.100 34.160 130.900 ;
RECT 37.240 2.100 37.520 130.900 ;
RECT 40.600 2.100 40.880 130.900 ;
RECT 43.960 2.100 44.240 130.900 ;
RECT 47.320 2.100 47.600 130.900 ;
RECT 50.680 2.100 50.960 130.900 ;
RECT 54.040 2.100 54.320 130.900 ;
END
END VDD
OBS
LAYER metal1 ;
RECT 0 0 57.570 133.000 ;
LAYER metal2 ;
RECT 0 0 57.570 133.000 ;
LAYER metal3 ;
RECT 0.070 0 57.570 133.000 ;
RECT 0 0.000 0.070 2.065 ;
RECT 0 2.135 0.070 4.165 ;
RECT 0 4.235 0.070 6.265 ;
RECT 0 6.335 0.070 8.365 ;
RECT 0 8.435 0.070 10.465 ;
RECT 0 10.535 0.070 12.565 ;
RECT 0 12.635 0.070 14.665 ;
RECT 0 14.735 0.070 16.765 ;
RECT 0 16.835 0.070 18.865 ;
RECT 0 18.935 0.070 20.965 ;
RECT 0 21.035 0.070 23.065 ;
RECT 0 23.135 0.070 25.165 ;
RECT 0 25.235 0.070 27.265 ;
RECT 0 27.335 0.070 29.365 ;
RECT 0 29.435 0.070 31.465 ;
RECT 0 31.535 0.070 33.565 ;
RECT 0 33.635 0.070 34.615 ;
RECT 0 34.685 0.070 36.715 ;
RECT 0 36.785 0.070 38.815 ;
RECT 0 38.885 0.070 40.915 ;
RECT 0 40.985 0.070 43.015 ;
RECT 0 43.085 0.070 45.115 ;
RECT 0 45.185 0.070 47.215 ;
RECT 0 47.285 0.070 49.315 ;
RECT 0 49.385 0.070 51.415 ;
RECT 0 51.485 0.070 53.515 ;
RECT 0 53.585 0.070 55.615 ;
RECT 0 55.685 0.070 57.715 ;
RECT 0 57.785 0.070 59.815 ;
RECT 0 59.885 0.070 61.915 ;
RECT 0 61.985 0.070 64.015 ;
RECT 0 64.085 0.070 66.115 ;
RECT 0 66.185 0.070 67.165 ;
RECT 0 67.235 0.070 69.265 ;
RECT 0 69.335 0.070 71.365 ;
RECT 0 71.435 0.070 73.465 ;
RECT 0 73.535 0.070 75.565 ;
RECT 0 75.635 0.070 77.665 ;
RECT 0 77.735 0.070 79.765 ;
RECT 0 79.835 0.070 81.865 ;
RECT 0 81.935 0.070 83.965 ;
RECT 0 84.035 0.070 86.065 ;
RECT 0 86.135 0.070 88.165 ;
RECT 0 88.235 0.070 90.265 ;
RECT 0 90.335 0.070 92.365 ;
RECT 0 92.435 0.070 94.465 ;
RECT 0 94.535 0.070 96.565 ;
RECT 0 96.635 0.070 98.665 ;
RECT 0 98.735 0.070 99.715 ;
RECT 0 99.785 0.070 101.815 ;
RECT 0 101.885 0.070 103.915 ;
RECT 0 103.985 0.070 106.015 ;
RECT 0 106.085 0.070 108.115 ;
RECT 0 108.185 0.070 110.215 ;
RECT 0 110.285 0.070 112.315 ;
RECT 0 112.385 0.070 114.415 ;
RECT 0 114.485 0.070 115.465 ;
RECT 0 115.535 0.070 117.565 ;
RECT 0 117.635 0.070 119.665 ;
RECT 0 119.735 0.070 133.000 ;
LAYER metal4 ;
RECT 0 0 57.570 2.100 ;
RECT 0 130.900 57.570 133.000 ;
RECT 0.000 2.100 1.960 130.900 ;
RECT 2.240 2.100 3.640 130.900 ;
RECT 3.920 2.100 5.320 130.900 ;
RECT 5.600 2.100 7.000 130.900 ;
RECT 7.280 2.100 8.680 130.900 ;
RECT 8.960 2.100 10.360 130.900 ;
RECT 10.640 2.100 12.040 130.900 ;
RECT 12.320 2.100 13.720 130.900 ;
RECT 14.000 2.100 15.400 130.900 ;
RECT 15.680 2.100 17.080 130.900 ;
RECT 17.360 2.100 18.760 130.900 ;
RECT 19.040 2.100 20.440 130.900 ;
RECT 20.720 2.100 22.120 130.900 ;
RECT 22.400 2.100 23.800 130.900 ;
RECT 24.080 2.100 25.480 130.900 ;
RECT 25.760 2.100 27.160 130.900 ;
RECT 27.440 2.100 28.840 130.900 ;
RECT 29.120 2.100 30.520 130.900 ;
RECT 30.800 2.100 32.200 130.900 ;
RECT 32.480 2.100 33.880 130.900 ;
RECT 34.160 2.100 35.560 130.900 ;
RECT 35.840 2.100 37.240 130.900 ;
RECT 37.520 2.100 38.920 130.900 ;
RECT 39.200 2.100 40.600 130.900 ;
RECT 40.880 2.100 42.280 130.900 ;
RECT 42.560 2.100 43.960 130.900 ;
RECT 44.240 2.100 45.640 130.900 ;
RECT 45.920 2.100 47.320 130.900 ;
RECT 47.600 2.100 49.000 130.900 ;
RECT 49.280 2.100 50.680 130.900 ;
RECT 50.960 2.100 52.360 130.900 ;
RECT 52.640 2.100 54.040 130.900 ;
RECT 54.320 2.100 57.570 130.900 ;
LAYER OVERLAP ;
RECT 0 0 57.570 133.000 ;
END
END fakeram45_256x16
END LIBRARY
This source diff could not be displayed because it is too large. You can view the blob instead.
library(fakeram45_256x16) {
technology (cmos);
delay_model : table_lookup;
revision : 1.0;
date : "2022-05-18 16:05:50Z";
comment : "SRAM";
time_unit : "1ns";
voltage_unit : "1V";
current_unit : "1uA";
leakage_power_unit : "1uW";
nom_process : 1;
nom_temperature : 25.000;
nom_voltage : 1.1;
capacitive_load_unit (1,pf);
pulling_resistance_unit : "1kohm";
operating_conditions(tt_1.0_25.0) {
process : 1;
temperature : 25.000;
voltage : 1.1;
tree_type : balanced_tree;
}
/* default attributes */
default_cell_leakage_power : 0;
default_fanout_load : 1;
default_inout_pin_cap : 0.0;
default_input_pin_cap : 0.0;
default_output_pin_cap : 0.0;
default_input_pin_cap : 0.0;
default_max_transition : 0.227;
default_operating_conditions : tt_1.0_25.0;
default_leakage_power_density : 0.0;
/* additional header data */
slew_derate_from_library : 1.000;
slew_lower_threshold_pct_fall : 20.000;
slew_upper_threshold_pct_fall : 80.000;
slew_lower_threshold_pct_rise : 20.000;
slew_upper_threshold_pct_rise : 80.000;
input_threshold_pct_fall : 50.000;
input_threshold_pct_rise : 50.000;
output_threshold_pct_fall : 50.000;
output_threshold_pct_rise : 50.000;
lu_table_template(fakeram45_256x16_mem_out_delay_template) {
variable_1 : input_net_transition;
variable_2 : total_output_net_capacitance;
index_1 ("1000, 1001");
index_2 ("1000, 1001");
}
lu_table_template(fakeram45_256x16_mem_out_slew_template) {
variable_1 : total_output_net_capacitance;
index_1 ("1000, 1001");
}
lu_table_template(fakeram45_256x16_constraint_template) {
variable_1 : related_pin_transition;
variable_2 : constrained_pin_transition;
index_1 ("1000, 1001");
index_2 ("1000, 1001");
}
power_lut_template(fakeram45_256x16_energy_template_clkslew) {
variable_1 : input_transition_time;
index_1 ("1000, 1001");
}
power_lut_template(fakeram45_256x16_energy_template_sigslew) {
variable_1 : input_transition_time;
index_1 ("1000, 1001");
}
library_features(report_delay_calculation);
type (fakeram45_256x16_DATA) {
base_type : array ;
data_type : bit ;
bit_width : 16;
bit_from : 15;
bit_to : 0 ;
downto : true ;
}
type (fakeram45_256x16_ADDRESS) {
base_type : array ;
data_type : bit ;
bit_width : 8;
bit_from : 7;
bit_to : 0 ;
downto : true ;
}
cell(fakeram45_256x16) {
area : 7656.810;
interface_timing : true;
memory() {
type : ram;
address_width : 8;
word_width : 16;
}
pin(clk) {
direction : input;
capacitance : 0.025;
clock : true;
min_period : 0.210 ;
internal_power(){
rise_power(fakeram45_256x16_energy_template_clkslew) {
index_1 ("0.009, 0.227");
values ("2.355, 2.355")
}
fall_power(fakeram45_256x16_energy_template_clkslew) {
index_1 ("0.009, 0.227");
values ("2.355, 2.355")
}
}
}
bus(rd_out) {
bus_type : fakeram45_256x16_DATA;
direction : output;
max_capacitance : 0.500;
memory_read() {
address : addr_in;
}
timing() {
related_pin : "clk" ;
timing_type : rising_edge;
timing_sense : non_unate;
cell_rise(fakeram45_256x16_mem_out_delay_template) {
index_1 ("0.009, 0.227");
index_2 ("0.005, 0.500");
values ( \
"0.261, 0.261", \
"0.261, 0.261" \
)
}
cell_fall(fakeram45_256x16_mem_out_delay_template) {
index_1 ("0.009, 0.227");
index_2 ("0.005, 0.500");
values ( \
"0.261, 0.261", \
"0.261, 0.261" \
)
}
rise_transition(fakeram45_256x16_mem_out_slew_template) {
index_1 ("0.005, 0.500");
values ("0.009, 0.227")
}
fall_transition(fakeram45_256x16_mem_out_slew_template) {
index_1 ("0.005, 0.500");
values ("0.009, 0.227")
}
}
}
pin(we_in){
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
pin(ce_in){
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
bus(addr_in) {
bus_type : fakeram45_256x16_ADDRESS;
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
bus(wd_in) {
bus_type : fakeram45_256x16_DATA;
memory_write() {
address : addr_in;
clocked_on : "clk";
}
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
when : "(! (we_in) )";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
internal_power(){
when : "(we_in)";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
bus(w_mask_in) {
bus_type : fakeram45_256x16_DATA;
memory_write() {
address : addr_in;
clocked_on : "clk";
}
direction : input;
capacitance : 0.005;
timing() {
related_pin : clk;
timing_type : setup_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
timing() {
related_pin : clk;
timing_type : hold_rising ;
rise_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
fall_constraint(fakeram45_256x16_constraint_template) {
index_1 ("0.009, 0.227");
index_2 ("0.009, 0.227");
values ( \
"0.050, 0.050", \
"0.050, 0.050" \
)
}
}
internal_power(){
when : "(! (we_in) )";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
internal_power(){
when : "(we_in)";
rise_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
fall_power(fakeram45_256x16_energy_template_sigslew) {
index_1 ("0.009, 0.227");
values ("0.024, 0.024")
}
}
}
cell_leakage_power : 432.350;
}
}
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.
set design "ariane"
set top_design "ariane"
set netlist "./design/ariane.v"
# def file generated by iSpatial flow
# where all the instances have been placed
set def_file "./design/ariane.def"
set ALL_LEFS "
./lefs/NangateOpenCellLibrary.tech.lef
./lefs/NangateOpenCellLibrary.macro.mod.lef
./lefs/fakeram45_256x16.lef
"
set LIB_BC "
./libs/NangateOpenCellLibrary_typical.lib
./libs/fakeram45_256x16.lib
"
set site "FreePDK45_38x28_10R_NP_162NW_34O"
foreach lef_file ${ALL_LEFS} {
read_lef $lef_file
}
foreach lib_file ${LIB_BC} {
read_liberty $lib_file
}
import os
import argparse
import time
import shutil
import sys
sys.path.append('../src')
from gridding import GriddingLefDefInterface
if __name__ == '__main__':
design = "ariane"
src_dir = "../src"
setup_file = "setup.tcl"
tolerance = 0.1
GriddingLefDefInterface(src_dir, design, setup_file, tolerance)
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