def runTest(self): globals.init_openram("config_{0}".format(OPTS.tech_name)) from supply_router import supply_router as router if False: from control_logic import control_logic cell = control_logic(16) layer_stack =("metal3","via3","metal4") rtr=router(layer_stack, cell) self.assertTrue(rtr.route()) else: from sram import sram from sram_config import sram_config c = sram_config(word_size=4, num_words=32, num_banks=1) c.words_per_row=1 sram = sram(c, "sram1") cell = sram.s self.local_check(cell,True) # fails if there are any DRC errors on any cells globals.end_openram()
def route_supplies(self): """ Route the supply grid and connect the pins to them. """ for inst in self.insts: self.copy_power_pins(inst,"vdd") self.copy_power_pins(inst,"gnd") from supply_router import supply_router as router layer_stack =("metal3","via3","metal4") rtr=router(layer_stack, self) rtr.route()
def __init__(self, name): design.__init__(self, "top") # Instantiate a GDS cell with the design globals.setup_paths() from control_logic import control_logic cell = control_logic(16) #from pinv import pinv #cell = pinv() #gds_file = "{0}/{1}.gds".format(os.path.dirname(os.path.realpath(__file__)),"control_logic") #cell = gds_cell(name, gds_file) self.add_inst(name=name, mod=cell, offset=[0,0]) self.connect_inst(cell.pin_map.keys()) r=router(module=cell) layer_stack =("metal3","via2","metal2") self.assertTrue(r.route(self,layer_stack))