Separate what a value can represent from how an object is driven.
The fastest route to correct SystemVerilog is to make two decisions independently: the value domain of the data and the object semantics of the name that carries it.
Open section →Preparing questions and your practice workspace.
Values, shape, storage, and layout
Choose a value system, object kind, container, and bit layout deliberately—then prove the boundaries where representation changes.
A practical guide to 2-state and 4-state values, nets and variables, packed and unpacked aggregates, dynamic containers, enums, unions, casts, and streaming.
The language bench / 01
logic [7:0] source = 8'b10100110;
logic [7:0] value = source;
// value = 8'b10100110, decimal: 166Question-first preparation
Practice a real question, then inspect the mechanism in its section.
One representative prompt from each major mechanism. Open any card in the live question bank.
;Four-state values preserve 0, 1, X, and Z for debug and protocol checks.
One declaration · four representation decisions
Value domain, object kind, dimensionality, storage, and serialization are separate decisions. Read them in order so a convenient declaration cannot hide a lossy conversion or aliased object.
Choose 2-state or 4-state observability and signedness.
Separate contiguous packed bits from indexed elements.
Match fixed or dynamic storage to access and lifetime.
Prove casts, streams, and foreign-language boundaries.
Standards and primary references
Continue preparing