|
CIRCT 23.0.0git
|
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]) | |
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.
|
protected |
Definition at line 64 of file serialization_probes.py.
| int serialization_probes.ArrayProbeArg = UInt(8) * 4 |
Definition at line 310 of file serialization_probes.py.
| int serialization_probes.ArrayProbeResult = UInt(8) * 4 |
Definition at line 311 of file serialization_probes.py.
Referenced by serialization_probes.ArrayProbe.construct().
| serialization_probes.bsp = get_bsp(sys.argv[2] if len(sys.argv) > 2 else None) |
Definition at line 370 of file serialization_probes.py.
| int serialization_probes.PatternArray = UInt(8) * 8 |
Definition at line 59 of file serialization_probes.py.
Referenced by serialization_probes.BytePatternConst.construct().
Definition at line 371 of file serialization_probes.py.