Пример #1
0
    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()
Пример #2
0
    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()
Пример #3
0
            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))