Logic Expressions#

class seqlogic.Expr#

Symbolic expression.

property support: frozenset[Variable]#
to_func() tuple[BitsOp, list[Variable]]#
class seqlogic.Const(value: T)#

Constant node.

class seqlogic.BitsConst(value: T)#

Const node.

class seqlogic.IntConst(value: T)#

Integer node.

class seqlogic.Variable(name: str)#

Variable node.

class seqlogic.Not(x: ExprLike)#

NOT operator node.

class seqlogic.Or(x0: ExprLike, *xs: ExprLike)#

OR operator node.

class seqlogic.And(x0: ExprLike, *xs: ExprLike)#

AND operator node.

class seqlogic.Xor(x0: ExprLike, *xs: ExprLike)#

XOR operator node.

class seqlogic.Impl(x0: ExprLike, x1: ExprLike)#

Implies operator node.

class seqlogic.ITE(s: ScalarLike, x1: ExprLike, x0: ExprLike)#

If-Then-Else operator node.

class seqlogic.Mux(s: ExprLike, **xs: ExprLike)#

Multiplexer operator node.

class seqlogic.Lor(*xs: ScalarLike)#

Logical OR

class seqlogic.Land(*xs: ScalarLike)#

Logical AND

class seqlogic.Lxor(*xs: ScalarLike)#

Logical XOR

class seqlogic.Uor(x: ExprLike)#

Unary OR reduction operator node.

class seqlogic.Uand(x: ExprLike)#

Unary AND reduction operator node.

class seqlogic.Uxor(x: ExprLike)#

Unary XOR reduction operator node.

class seqlogic.Add(a: ExprLike, b: ExprLike, ci: ScalarLike | None = None)#

ADD operator node.

class seqlogic.Adc(a: ExprLike, b: ExprLike, ci: ScalarLike | None = None)#

ADC operator node.

class seqlogic.Sub(a: ExprLike, b: ExprLike)#

SUB operator node.

class seqlogic.Sbc(a: ExprLike, b: ExprLike)#

SBC operator node.

class seqlogic.Neg(x: ExprLike)#

NEG operator node.

class seqlogic.Ngc(x: ExprLike)#

NGC operator node.

class seqlogic.Mul(a: ExprLike, b: ExprLike)#

Multiply operator node.

class seqlogic.Div(a: ExprLike, b: ExprLike)#

Divide operator node.

class seqlogic.Mod(a: ExprLike, b: ExprLike)#

Modulo operator node.

class seqlogic.Lsh(x: ExprLike, n: UintLike)#

Left shift operator node.

class seqlogic.Rsh(x: ExprLike, n: UintLike)#

Right shift operator node.

class seqlogic.Srsh(x: ExprLike, n: UintLike)#

Signed right shift operator node.

class seqlogic.Xt(x: ExprLike, n: UintLike)#

Zero extend operator node.

class seqlogic.Sxt(x: ExprLike, n: UintLike)#

Sign extend operator node.

class seqlogic.Lrot(x: ExprLike, n: UintLike)#

Left rotate operator node.

class seqlogic.Rrot(x: ExprLike, n: UintLike)#

Right rotate operator node.

class seqlogic.Cat(*xs: ExprLike)#

Concatenate operator node.

class seqlogic.Rep(x: ExprLike, n: int)#

Repeat operator node.

class seqlogic.LT(x0: ExprLike, x1: ExprLike)#

LessThan (<) operator node.

class seqlogic.LE(x0: ExprLike, x1: ExprLike)#

Less Than Or Equal (≤) operator node.

class seqlogic.EQ(x0: ExprLike, x1: ExprLike)#

Equal (==) operator node.

class seqlogic.NE(x0: ExprLike, x1: ExprLike)#

NotEqual (!=) operator node.

class seqlogic.GT(x0: ExprLike, x1: ExprLike)#

GreaterThan (>) operator node.

class seqlogic.GE(x0: ExprLike, x1: ExprLike)#

Greater Than Or Equal (≥) operator node.

class seqlogic.GetItem(v: Variable, key: int | slice)#

GetItem operator node.

class seqlogic.GetAttr(v: Variable, key: str)#

GetAttr operator node.