Client support
Library
- libfiat.open(argv)
- class libfiat.util.Req(*values)
An enumeration that captures communicated request tags (or identifiers).
- class libfiat.util.Ack(*values)
An enumeration that captures communicated acknowledgement tags (or identifiers).
- class libfiat.util.Err(*values)
An enumeration that captures communicated error tags (or identifiers).
- class libfiat.util.Type
A “rich” type that captures (otherwise integer) a register type.
- class libfiat.util.Index
A “rich” type that captures (otherwise integer) a register index.
- class libfiat.driver.DriverAbs(device=None)
- class libfiat.driver.DriverImpBinary(device=None)
- class libfiat.driver.DriverImpText(device=None)
- class libfiat.client.ClientAbs(driver='binary')
A class that captures generic client-side communication, over either binary or text protocol.
- class libfiat.client.ClientImpSocket(driver='binary')
A (sub-)class that captures socket-based (e.g., via network, or loopback connection) client-side communication, over either binary or text protocol.
- class libfiat.client.ClientImpSerial(driver='binary')
A (sub-)class that captures serial-based (i.e., via UART) client-side communication, over either binary or text protocol.
Scripts
Alongside the libfiat library itself, you can find a range of client
implementations which make use of it:
some are purely examples,
whereas
others offers support, e.g., for common tasks.
The script
${FIAT_PATH_REPO}/src/fiat/client/script/example.py
reflects the worked example.
The script
${FIAT_PATH_REPO}/src/fiat/client/script/inspect.py
is intended as a tool to inspect a target implementation: for example, given an otherwise “black box” target implementation, it can be used to
discover and report the configuration (e.g., in terms of the GPRs),
generate test vectors,
validate test vectors.