def DefineHier():

    class HierModule(m.Circuit):
        name = 'hier_module'
        io = m.IO(hier=hierIO())
        baseM = DefineBaseModule()()
        ctrM = DefineCtrModule()()
        m.wire(baseM.baseIO, io.hier.baseIO)
        m.wire(ctrM.ctr, io.hier.ctr)
    return HierModule
def DefineHier():

    class HierModule(m.Circuit):
        name = 'hier_module'
        io = m.IO(hier=hierIO())
        baseM = DefineBaseModule()()
        ctrM = DefineCtrModule()()
        m.wire(baseM.baseIO, io.hier.baseIO)
        m.wire(ctrM.ctr, io.hier.ctr)
    return HierModule