Esempio n. 1
0
    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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 def mapToIOFieldIR(self, name: str, ctx: EmitterContext):
     ir = self.typ.mapToIR(ctx)
     f = low_ir.Field(name, low_ir.Default(), ir)
     return f