Expand description
Source-independent testbench bytecode contracts.
Frontends translate source-language operators into this vocabulary before execution. No Veryl AST, parser ID, simulator backend, or runtime handle is part of the bytecode representation.
Structs§
- Bind
Error - Compiled
Expr - A compiled expression: flat bytecode evaluated on a stack VM.
- Component
Binding - Component
Connection - Component
Connection Binding - Component
Library - Display
Format Arg - Executable
Argument - Executable
Testbench - Expr
Bytecode - Field
Spec - The flags and field width between
%and a conversion character. - Semantic
Argument - Semantic
Signal - Source
Location - State
Location - Testbench
Component - Testbench
Program - Testbench
Selection - Testbench
Target
Enums§
- Assert
Message - Clock
Count - Component
Parameter Value - Expr
Opcode - Loop
Bound - Testbench
Operator - Testbench
Statement - Source-independent testbench control program.
- Testbench
Value - Stack value: either a native u64 or a heap-allocated BigUint.
Constants§
- MAX_
FIELD_ WIDTH - Ceiling on a field width: the digits come from source text, and a wider field would only be an allocation the source sizes by typing. Veryl’s simulator caps its field widths the same way.
Functions§
- format_
display_ arg - Format an argument as bytes. Character conversions never decode UTF-8.
- format_
sized_ display_ arg - Formats
argwith the sizing of IEEE 1800-2023 21.2.1.2. Without afield_width, hexadecimal, octal, and binary values take as many digits as the largest value of the argument’s width, with leading zeros, and decimal values as many characters, with leading spaces. With one, the value is padded to that width (0displays it in the minimum width), and a wider value is never truncated. - format_
sv_ display_ arg - IEEE display sizing with the
-and leading0field flags supported by Icarus and Verilator. As in Icarus, decimal zero padding follows the sign; left justification takes precedence over zero padding. - format_
veryl_ display_ arg - Formats
argas Veryl’s simulator does. Hexadecimal, octal, and binary values take a digit for each group of the argument’s bits, and decimal values their minimum width. With%0, radices drop their leading zeros. A field width then pads aspad_veryl_fielddoes. - pad_
veryl_ field - Pads a converted value to its field width as Veryl’s simulator does: on
the left with spaces, on the right with
-, or with zeros behind the sign for a number with a leading0. A longer value is never truncated.