MCPcopy Create free account
hub / github.com/circuitnet/CircuitNet / compute_DRC_density

Method compute_DRC_density

feature_extraction/src/read.py:934–967  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

932 """
933
934 def compute_DRC_density(self):
935 drc_density_dict = {}
936 overall_count = 0
937 save_path = os.path.join(self.save_path, 'DRC')
938 rpt_dir = os.path.join(save_path, 'rpt')
939 for types in self.drc_dict: # first layer of dict: key types
940 type_count = 0
941 drc_density_dict[types] = np.zeros(self.gcell_size)
942 save_dir = os.path.join(save_path, 'DRC_seperated', types.replace(' ', ''), self.save_name)
943 os.system("mkdir -p %s " % (os.path.dirname(save_dir)))
944 for layer in self.drc_dict[types]: # second: metal layer
945 for drc in self.drc_dict[types][layer]: # drc_dict[types][layer] third: coordinate
946 drc_left, drc_lower, drc_right, drc_upper = drc
947 drc_x_left_gcell = bisect.bisect_left(self.gcell_coordinate_x, drc_left)
948 drc_y_lower_gcell = bisect.bisect_left(self.gcell_coordinate_y, drc_lower)
949 drc_x_right_gcell = bisect.bisect_left(self.gcell_coordinate_x, drc_right)
950 drc_y_upper_gcell = bisect.bisect_left(self.gcell_coordinate_y, drc_upper)
951 drc_gcell = [drc_x_left_gcell, drc_y_lower_gcell, drc_x_right_gcell, drc_y_upper_gcell]
952 drc_density_dict[types] = self.compute_density(drc_density_dict[types], drc_gcell)
953 type_count += 1
954 overall_count += 1
955 with open(rpt_dir, 'a') as write:
956 write.writelines('%s: %s\n' % (types, type_count))
957 np.save(save_dir, drc_density_dict[types]) # save based on types
958
959 with open(rpt_dir, 'a') as write:
960 write.writelines('all: %s\n' % overall_count)
961
962 overall_drc_density = np.zeros(self.gcell_size)
963 for i in drc_density_dict:
964 overall_drc_density += drc_density_dict[i]
965 save_dir = os.path.join(save_path, 'DRC_all', self.save_name)
966 os.system("mkdir -p %s " % (os.path.dirname(save_dir)))
967 np.save(save_dir, overall_drc_density)
968
969 """
970 Get IR drop features.

Callers 1

get_DRCMethod · 0.95

Calls 1

compute_densityMethod · 0.95

Tested by

no test coverage detected