def Value(cls, val, ctx: SerializerCtx):
        """
        :param dst: is signal connected with value
        :param val: value object, can be instance of Signal or Value
        """
        t = val._dtype

        if isinstance(val, RtlSignalBase):
            return cls.SignalItem(val, ctx)

        c = cls.Value_try_extract_as_const(val, ctx)
        if c:
            return c

        if isinstance(t, Slice):
            return cls.Slice_valAsHdl(t, val, ctx)
        elif isinstance(t, HArray):
            return cls.HArrayValAsHdl(t, val, ctx)
        elif isinstance(t, Bits):
            return cls.Bits_valAsHdl(t, val, ctx)
        elif isinstance(t, HBool):
            return cls.Bool_valAsHdl(t, val, ctx)
        elif isinstance(t, HEnum):
            return cls.HEnumValAsHdl(t, val, ctx)
        elif isinstance(t, Integer):
            return cls.Integer_valAsHdl(t, val, ctx)
        elif isinstance(t, String):
            return cls.String_valAsHdl(t, val, ctx)
        else:
            raise SerializerException(
                "can not resolve value serialization for %r"
                % (val))
def Value(cls, val, ctx: SerializerCtx):
        """
        :param dst: is signal connected with value
        :param val: value object, can be instance of Signal or Value
        """
        t = val._dtype

        if isinstance(val, RtlSignalBase):
            return cls.SignalItem(val, ctx)

        c = cls.Value_try_extract_as_const(val, ctx)
        if c:
            return c

        if isinstance(t, Slice):
            return cls.Slice_valAsHdl(t, val, ctx)
        elif isinstance(t, HArray):
            return cls.HArrayValAsHdl(t, val, ctx)
        elif isinstance(t, Bits):
            return cls.Bits_valAsHdl(t, val, ctx)
        elif isinstance(t, HBool):
            return cls.Bool_valAsHdl(t, val, ctx)
        elif isinstance(t, HEnum):
            return cls.HEnumValAsHdl(t, val, ctx)
        elif isinstance(t, Integer):
            return cls.Integer_valAsHdl(t, val, ctx)
        elif isinstance(t, String):
            return cls.String_valAsHdl(t, val, ctx)
        else:
            raise SerializerException(
                "can not resolve value serialization for %r"
                % (val))
def Value ( cls , val , ctx : SerializerCtx ) : t = val . _dtype if isinstance ( val , RtlSignalBase ) : return cls . SignalItem ( val , ctx ) c = cls . Value_try_extract_as_const ( val , ctx ) if c : return c if isinstance ( t , Slice ) : return cls . Slice_valAsHdl ( t , val , ctx ) elif isinstance ( t , HArray ) : return cls . HArrayValAsHdl ( t , val , ctx ) elif isinstance ( t , Bits ) : return cls . Bits_valAsHdl ( t , val , ctx ) elif isinstance ( t , HBool ) : return cls . Bool_valAsHdl ( t , val , ctx ) elif isinstance ( t , HEnum ) : return cls . HEnumValAsHdl ( t , val , ctx ) elif isinstance ( t , Integer ) : return cls . Integer_valAsHdl ( t , val , ctx ) elif isinstance ( t , String ) : return cls . String_valAsHdl ( t , val , ctx ) else : raise SerializerException ( "can not resolve value serialization for %r" % ( val ) )
:param dst: is signal connected with value
        :param val: value object, can be instance of Signal or Value
: param dst : is signal connected with value : param val : value object can be instance of Signal or Value