CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Variables
serialization_probes Namespace Reference

Classes

class  ArrayProbe
 
class  BitPackArg
 
class  BitPackProbe
 
class  BitPackResult
 
class  BytePatternConst
 
class  BytePatternEchoEq
 
class  ByteRotate1
 
class  PackProbe
 
class  PackStruct
 
class  SignProbe
 
class  SignProbe13
 
class  SignResult
 
class  SignResult13
 
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.