def _mapToBundle(self, finalPorts): fs = [] for i in finalPorts: if i.direction == low_ir.Input(): fs.append(low_ir.Field(i.name, low_ir.Flip(), i.typ)) else: fs.append(low_ir.Field(i.name, low_ir.Default(), i.typ)) return low_ir.BundleType(fs)
def mapToIR(self, ctx: EmitterContext): fs = [] for k, v in self._kv.items(): f = low_ir.Field(k, low_ir.Default(), v.mapToIR(ctx)) fs.append(f) return low_ir.BundleType(fs)
def mapToIOFieldIR(self, name: str, ctx: EmitterContext): ir = self.typ.mapToIR(ctx) f = low_ir.Field(name, low_ir.Default(), ir) return f