def as_hdl_BitString(self, v, width, force_vector, vld_mask, signed): v = bit_string(v, width, vld_mask=vld_mask) if signed: return hdl_call(self.SIGNED, [ v, ]) else: return v
def as_hdl_BitsVal(self, val): t = val._dtype w = t.bit_length() _v = bit_string(val.val, w, val.vld_mask) t = self.as_hdl_HdlType_bits(Bits(w, signed=t.signed)) return hdl_call(t, [ _v, ])
def as_hdl_BitString(self, v, width: int, force_vector: bool, vld_mask: int, signed): is_bit = not force_vector and width == 1 #if vld_mask != mask(width) or width >= 32 or is_bit: v = bit_string(v, width, vld_mask) if is_bit: v.base = 256 return v if signed is None: return v elif signed: cast = self.SIGNED else: cast = self.UNSIGNED return HdlOp(HdlOpType.APOSTROPHE, [cast, v])