Expand description
An abstract syntax tree for SystemVerilog.
Re-exports§
pub use self::ExprData::*;pub use self::StmtKind::*;pub use self::TypeKindData::*;
Structs§
- Arena
- An arena.
- Assertion
- Call
ArgData - An argument to a a function or task call.
- Class
Decl Data - A class declaration.
- Class
Item - Constraint
- Constraint
Item - Cont
Assign Data - A continuous assignment statement.
- Cycle
Delay - Delay
Control - Enum
Data - An enum definition.
- Enum
Name Data - A single entry in an enum.
- Event
Control - Foreach
Index Data - A foreach-loop index variable.
- Format
Node Definite - Format a node in definite form.
- Format
Node Indefinite - Format a node in indefinite form.
- Generate
Block Data - A body of a generate construct.
- Generate
Case Data - A
casegenerate statement. - Generate
ForData - A
forgenerate statement. - Generate
IfData - An
ifgenerate statement. - Genvar
Decl Data - A generate variable declaration.
- Identifier
- Implicit
Data Type Data - An implicit data type.
- Import
Decl Data - An import declaration.
- Import
Item Data - A single import.
- Inst
Data - An instantiation of a module.
- Inst
Name Data - A single module instance.
- Interface
Data - An interface.
- Modport
Data - A modport declaration in an interface.
- Modport
Name Data - A single modport declaration.
- Modport
Simple Port Data - A single simple modport port.
- Module
Data - A module.
- NetDecl
Data - A net declaration.
- Node
- Common denominator across all AST nodes.
- Package
Data - A package.
- Param
Assignment - Param
Decl Data - A parameter or localparam declaration.
- Param
Type Decl Data - A single type assignment within a parameter or localparam declaration.
- Param
Value Decl Data - A single value assignment within a parameter or localparam declaration.
- Port
Decl Data - A port declaration in an item body.
- Procedure
Data - A procedure such as
always*,initial, orfinal. - Prop
Expr - Prop
Spec - Root
Data - All things being compiled.
- SeqExpr
- Source
File Data - An entire source file.
- Stmt
Data - A statement.
- Stream
Expr - Struct
Data - A struct definition.
- Struct
Member Data - A struct field.
- Subroutine
Decl Data - A function or task declaration.
- Subroutine
Port Data - A function or task port.
- Subroutine
Port Decl Data - A function or task port declaration located in the body.
- Subroutine
Port Name - A single name of a function or task port.
- Subroutine
Prototype Data - A function or task prototype.
- Timeunit
- A time unit specification.
- Type
Data - A type.
- Typedef
Data - A type definition.
- VarDecl
Data - A variable declaration.
- VarDecl
Name Data - A variable or net declaration name.
Enums§
- AllNode
- An exhaustive list of all nodes.
- Ambiguous
- A parsing result which may be ambiguous.
- Assertion
Action Block - Assertion
Data - Assertion
Deferred - Assign
Op - Blocking
Assertion - Case
Item - Case
Kind - Case
Mode - Charge
Strength - Class
Item Data - Class
Item Qualifier - Concurrent
Assertion - Constraint
Item Data - Constraint
Kind - Data
Type Data - A data type.
- Data
Type OrImplicit - A possible implicit data type.
- DpiDecl
Data - A DPI declaration such as
import "DPI-C"orexport "DPI-C". - DpiProperty
- A DPI function/task property.
- Drive
Strength - Edge
Ident - Event
Control Data - Event
Expr - Expr
Data - An expression.
- IntType
- An integer type.
- Item
Data - An item that may appear in a hierarchical scope.
- Join
Kind - Lifetime
- Lifetime specifier for variables, tasks, and functions. Defaults to static.
- Modport
Port Data - A modport ports declaration.
- NetKind
- NetStrength
- NetType
- Packed
DimData - A packed dimension.
- Param
Kind - Path
Segment Data - A segment of a type name.
- Pattern
Field Data - A field in a
'{...}pattern. - Port
Conn Data - A port connection in an instantiation.
- Port
Conn Mode - How a named port connection is made.
- Port
Data - A module or interface port as declared in the port list.
- PortDir
- Procedure
Kind - Prop
BinOp - Prop
Expr Data - Prop
SeqBin Op - Prop
SeqOp - Random
Qualifier - Range
Mode - Real
Type - A real type.
- SeqBin
Op - SeqExpr
Data - SeqRep
- Stmt
Kind - The different kinds of statement.
- Stream
Concat Slice - Struct
Kind - Subroutine
Item - Subroutine
Kind - Subroutine
Port Dir - Timing
Control - TypeDim
- Type
Kind Data - A type without sign and packed dimensions.
- Type
OrExpr - An ambiguous node that can either be a type or and expression.
- Type
Sign - Unique
Priority - Unpacked
DimData - An unpacked dimension.
- Value
Range - VarDim
Data - A variable dimension.
- VarKind
- Whether a declaration is a variable or a net.
Traits§
- Accept
Visitor - A node that accepts
Visitors. - AnyNode
- An AST node.
- AnyNode
Data - Common details of an AST node.
- Basic
Node - Basic attributes of an AST node.
- ForEach
Child - A node which allows iterating over each child node.
- ForEach
Node - A node which can pass itself as
AnyNodeto a callback. - Visitor
- A visitor.
- Walk
Visitor - A node that walks a
Visitorover itself.
Type Aliases§
- CallArg
- Class
Decl - Cont
Assign - Data
Type - DpiDecl
- Enum
- Enum
Name - Expr
- Foreach
Index - Generate
Block - Generate
Case - Generate
For - Generate
If - Genvar
Decl - Implicit
Data Type - Import
Decl - Import
Item - Inst
- Inst
Name - Interface
- Intf
Decl Deprecated - Item
- ModDecl
Deprecated - Modport
- Modport
Decl Deprecated - Modport
Name - Modport
Port - Modport
Simple Port - Module
- NetDecl
- Package
- Package
Decl Deprecated - Packed
Dim - Param
Decl - Param
Type Decl - Param
Value Decl - Path
Segment - Pattern
Field - Port
- Port
Conn - Port
Decl - Procedure
- Root
- Source
File - Stmt
- Struct
- Struct
Member - Subroutine
Decl - Subroutine
Port - Subroutine
Port Decl - Subroutine
Prototype - Type
- Type
Kind - Typedef
- Unpacked
Dim - VarDecl
- VarDecl
Name - VarDim