New paste Repaste Download
            if 'ctbuf9041' in inst_name:
                tcts_database[clock]["clock_node"][node_name]["pins"] = list((get_cell(str(inst_name),name_is.quiet).pins()))
                print('ctbuf9041 pins:',tcts_database[clock]["clock_node"][node_name]["pins"])   
            if re.search("^stage0000",stage):
                if tcts_database[clock]["clock_node"][node_name]["type_of_obj"] =="" or tcts_database[clock]["clock_node"][node_name]["type_of_obj"] =="pin" :
                    if len(tcts_database[clock]["clock_node"][node_name]["fanout_list"])==1:
                        fanout_node= tcts_database[clock]["clock_node"][node_name]["fanout_list"][0]
                        if tcts_database[clock]["clock_node"][fanout_node]["is_sink"]==1 and tcts_database[clock]["clock_node"][fanout_node]["type_of_obj"]=="pin" :
                            set_top(chiplet)
                            bndy_pin= str(get_pin(fanout_node).fanin_pins()[1])
                            tcts_database[clock]["clock_node"][node_name]["bndy_pin"]=bndy_pin
                            tcts_database[clock]["clock_node"][node_name]["bndy_partition"]=bndy_pin.split("/")[0]
                            tcts_database[clock]["clock_node"][node_name]["pins"]=bndy_pin.split( str(bndy_pin.split("/")[0]+"/"))[1]
                        else:
                            set_top(chiplet)
                            bndy_pin= str(get_pin(ANC_in_out_pins[0]).fanin_pins()[1])
                            tcts_database[clock]["clock_node"][node_name]["bndy_pin"]=bndy_pin
                            tcts_database[clock]["clock_node"][node_name]["bndy_partition"]=bndy_pin.split("/")[0]
                            tcts_database[clock]["clock_node"][node_name]["pins"]=bndy_pin.split( str(bndy_pin.split("/")[0]+"/"))[1]
                            print('sink&pins: '+tcts_database[clock]["clock_node"][node_name]["pins"])                     
                     else:
                        set_top(chiplet)
                        bndy_pin= str(get_pin(ANC_in_out_pins[0]).fanin_pins()[1])
                        tcts_database[clock]["clock_node"][node_name]["bndy_pin"]=bndy_pin
                        tcts_database[clock]["clock_node"][node_name]["bndy_partition"]=bndy_pin.split("/")[0]
                        tcts_database[clock]["clock_node"][node_name]["pins"]=bndy_pin.split( str(bndy_pin.split("/")[0]+"/"))[1]
                        print("\033now please check bndy pins\033[0m")
                        print('tcts_database[clock]["clock_node"][node_name]["pins"]: '+tcts_database[clock]["clock_node"][node_name]["pins"])
            elif not len(fanout_map[clock][inst_name]):
                print('not len(fanout_map[clock][inst_name]:',tcts_database[clock]["clock_node"][node_name])
                if  tcts_database[clock]["clock_node"][node_name]["type_of_obj"] =="":##bndy
                    if type_of_obj(chiplet,clock_source)=="":
                        pass
                    else:
                        fanin_node= str(tcts_database[clock]["clock_node"][node_name]["fanin_node"][0])
                        fanin_node_inst= fanin_node
                        set_top(chiplet)
                        for bndy_ANC_in_out_pin in bndy_ANC_in_out_pins[node_name]:
                            if re.search(str(fanin_node_inst+"/Y0"),bndy_ANC_in_out_pin):
                                print("bndy_ANC_in_out_pin: "+bndy_ANC_in_out_pin)
                                bndy_net= str(get_pin(bndy_ANC_in_out_pin).net())
                                tcts_database[clock]["clock_node"][node_name]["bndy_net"]=bndy_net
                                tcts_database[clock]["clock_node"][node_name]["bndy_partition"]=bndy_net.split("/")[0]
                                tcts_database[clock]["clock_node"][node_name]["bndy_part_net"]=bndy_net.replace( str(bndy_net.split("/")[0]+"/"),"",1)
                                tcts_database[clock]["clock_node"][fanin_node][str(node_name)]= str( bndy_ANC_in_out_pin[bndy_ANC_in_out_pin.find("clks"):])
            #elif re.search("")
            else:
                # if 'pins' in tcts_database[clock]["clock_node"][node_name].keys():
                #     continue
                # else:
                else_part = tcts_database[clock]["clock_node"][node_name]
                # if 'pins' not in else_part.keys():
                #     print('else_part without pins:'+else_part)
                print('else part:',else_part)
                print('keys of else_part:',else_part.keys())
                print('inst_name:',inst_name)
                print('last tcts_database[clock]["clock_node"][node_name]: ',tcts_database[clock]["clock_node"][node_name])
                tcts_database[clock]["clock_node"][node_name]["pins"] = list()
                ANC_name= tcts_database[clock]["clock_node"][node_name]["part_inst_name"]
                search_str= str(ANC_name[ ANC_name.find("cb_group_ctbuf"):]  )
                print("search_str:"+search_str)
                tcts_database[clock]["clock_node"][node_name]["pins"] = sorted(list(set([element for element in part_ANC_in_out_pins if search_str in element ])))
Filename: None. Size: 5kb. View raw, , hex, or download this file.

This paste expires on 2025-07-06 16:09:31.377961. Pasted through web.