CIRCT 24.0.0git
Loading...
Searching...
No Matches
serialization_probes Namespace Reference

Classes

class  ByteRotate1
class  BytePatternConst
class  BytePatternEchoEq
class  SignResult
class  SignResult13
class  SignProbe
class  SignProbe13
class  PackStruct
class  PackProbe
class  BitPackArg
class  BitPackResult
class  BitPackProbe
class  ArrayProbe
class  Top

Variables

int PatternArray = UInt(8) * 8
list _BYTE_PATTERN = [0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0]
int ArrayProbeArg = UInt(8) * 4
int ArrayProbeResult = UInt(8) * 4
 bsp = get_bsp(sys.argv[2] if len(sys.argv) > 2 else None)
 s = System(bsp(Top), name="SerializationProbes", output_directory=sys.argv[1])

Detailed Description

Hardware design for serialization-correctness probes.

This design exercises the on-the-wire layout invariants of the ESI runtime
serializer/deserializer pair against a hardware implementation that is
deliberately picky about byte order, sign extension, struct field order,
sub-byte field packing, and array element order. Each function is small and
self-checking: the host sends a value with distinguishable bytes/fields/bits,
the hardware applies a position-revealing transform, and the host asserts
the exact expected bytes/fields/bits come back. A mismatch in any of those
five invariants between the host serializer and the hardware wire format
yields a wrong (rather than coincidentally correct) answer.

Variable Documentation

◆ _BYTE_PATTERN

list serialization_probes._BYTE_PATTERN = [0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0]
protected

Definition at line 64 of file serialization_probes.py.

◆ ArrayProbeArg

int serialization_probes.ArrayProbeArg = UInt(8) * 4

Definition at line 310 of file serialization_probes.py.

◆ ArrayProbeResult

int serialization_probes.ArrayProbeResult = UInt(8) * 4

Definition at line 311 of file serialization_probes.py.

Referenced by serialization_probes.ArrayProbe.construct().

◆ bsp

serialization_probes.bsp = get_bsp(sys.argv[2] if len(sys.argv) > 2 else None)

Definition at line 370 of file serialization_probes.py.

◆ PatternArray

int serialization_probes.PatternArray = UInt(8) * 8

◆ s

serialization_probes.s = System(bsp(Top), name="SerializationProbes", output_directory=sys.argv[1])

Definition at line 371 of file serialization_probes.py.