Logic Expressions#

class seqlogic.Expr#

Symbolic expression.

property support: set[Variable]#
to_func() tuple[Callable, list[Variable]]#
class seqlogic.Not(x: Expr | Bits | str)#

NOT operator node.

class seqlogic.Nor(*objs: Expr | Bits | str)#

NOR operator node.

class seqlogic.Or(*objs: Expr | Bits | str)#

OR operator node.

class seqlogic.Nand(*objs: Expr | Bits | str)#

NAND operator node.

class seqlogic.And(*objs: Expr | Bits | str)#

AND operator node.

class seqlogic.Xnor(*objs: Expr | Bits | str)#

XNOR operator node.

class seqlogic.Xor(*objs: Expr | Bits | str)#

XOR operator node.

class seqlogic.ITE(x0: Expr | Bits | str, x1: Expr | Bits | str, x2: Expr | Bits | str)#

If-Then-Else operator node.

class seqlogic.Mux(s: Expr | Bits | str, **xs: Expr | Bits | str)#

Multiplexer operator node.

class seqlogic.Uor(x: Expr | Bits | str)#

Unary OR reduction operator node.

class seqlogic.Uand(x: Expr | Bits | str)#

Unary AND reduction operator node.

class seqlogic.Uxnor(x: Expr | Bits | str)#

Unary XNOR reduction operator node.

class seqlogic.Uxor(x: Expr | Bits | str)#

Unary XOR reduction operator node.

class seqlogic.Add(a: Expr | Bits | str, b: Expr | Bits | str, ci: Expr | Bits | str | None = None)#

ADD operator node.

class seqlogic.Adc(a: Expr | Bits | str, b: Expr | Bits | str, ci: Expr | Bits | str | None = None)#

ADC operator node.

class seqlogic.Sub(a: Expr | Bits | str, b: Expr | Bits | str)#

SUB operator node.

class seqlogic.Sbc(a: Expr | Bits | str, b: Expr | Bits | str)#

SBC operator node.

class seqlogic.Neg(x: Expr | Bits | str)#

NEG operator node.

class seqlogic.Ngc(x: Expr | Bits | str)#

NGC operator node.

class seqlogic.Mul(x0: Expr | Bits | str, x1: Expr | Bits | str)#

Multiply operator node.

class seqlogic.Lsh(x: Expr | Bits | str, n: Expr | Bits | str | int)#

Left shift operator node.

class seqlogic.Rsh(x: Expr | Bits | str, n: Expr | Bits | str | int)#

Right shift operator node.

class seqlogic.Srsh(x: Expr | Bits | str, n: Expr | Bits | str | int)#

Signed right shift operator node.

class seqlogic.Xt(x: Expr | Bits | str, n: int)#

Zero extend operator node.

class seqlogic.Sxt(x: Expr | Bits | str, n: int)#

Sign extend operator node.

class seqlogic.Lrot(x: Expr | Bits | str, n: Expr | Bits | str | int)#

Left rotate operator node.

class seqlogic.Rrot(x: Expr | Bits | str, n: Expr | Bits | str | int)#

Right rotate operator node.

class seqlogic.Cat(*objs: Expr | Bits | str)#

Concatenate operator node.

class seqlogic.Rep(x: Expr | Bits | str, n: int)#

Repeat operator node.

class seqlogic.LT(x0: Expr | Bits | str, x1: Expr | Bits | str)#

LessThan (<) operator node.

class seqlogic.LE(x0: Expr | Bits | str, x1: Expr | Bits | str)#

Less Than Or Equal (≤) operator node.

class seqlogic.EQ(x0: Expr | Bits | str, x1: Expr | Bits | str)#

Equal (==) operator node.

class seqlogic.NE(x0: Expr | Bits | str, x1: Expr | Bits | str)#

NotEqual (!=) operator node.

class seqlogic.GT(x0: Expr | Bits | str, x1: Expr | Bits | str)#

GreaterThan (>) operator node.

class seqlogic.GE(x0: Expr | Bits | str, x1: Expr | Bits | str)#

Greater Than Or Equal (≥) operator node.

class seqlogic.GetItem(x: Expr, obj: int | slice)#

GetItem operator node.

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

GetAttr operator node.