transactron package
Subpackages
- transactron.core package
- transactron.lib package
- Submodules
- transactron.lib.adapters module
- transactron.lib.buttons module
- transactron.lib.connectors module
- transactron.lib.dependencies module
- transactron.lib.fifo module
- transactron.lib.logging module
- transactron.lib.metrics module
- transactron.lib.reqres module
- transactron.lib.simultaneous module
- transactron.lib.storage module
- transactron.lib.transformers module
- Module contents
- transactron.testing package
- Submodules
- transactron.testing.functions module
- transactron.testing.gtkw_extension module
- transactron.testing.infrastructure module
- transactron.testing.input_generation module
- transactron.testing.logging module
- transactron.testing.method_mock module
- transactron.testing.profiler module
- transactron.testing.testbenchio module
- transactron.testing.tick_count module
- Module contents
- transactron.utils package
- Subpackages
- Submodules
- transactron.utils.assign module
- transactron.utils.data_repr module
- transactron.utils.debug_signals module
- transactron.utils.depcache module
- transactron.utils.dependencies module
- transactron.utils.gen module
- transactron.utils.idgen module
- transactron.utils.transactron_helpers module
- Module contents
Submodules
transactron.graph module
Utilities for extracting dependency graphs from Amaranth designs.
- class transactron.graph.Direction
Bases:
IntFlag
- IN = 1
- INOUT = 3
- NONE = 0
- OUT = 2
- __new__(value)
transactron.profiler module
- class transactron.profiler.MethodSamples
Bases:
object
Runtime value of method control signals in a given clock cycle.
- Attributes
- run: bool
The value of the method’s
run
signal.
- class transactron.profiler.Profile
Bases:
object
Transactron execution profile.
Can be saved by the simulator, and then restored by an analysis tool. In the profile data structure, methods and transactions are referred to by their unique ID numbers.
- Attributes
- transactions_and_methodsdict[int, ProfileInfo]
Information about transactions and methods indexed by ID numbers.
- cycleslist[CycleProfile]
Profile information for each cycle of the simulation.
- __init__(transactions_and_methods: dict[int, transactron.profiler.ProfileInfo] = <factory>, cycles: list[transactron.profiler.CycleProfile] = <factory>) None
- analyze_methods(recursive=False) list[transactron.profiler.RunStatNode]
- analyze_transactions(recursive=False) list[transactron.profiler.RunStatNode]
- classmethod from_dict(kvs: Optional[Union[dict, list, str, int, float, bool]], *, infer_missing=False) A
- classmethod from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) A
- classmethod schema(*, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) SchemaF[A]
- to_json(*, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Optional[Union[int, str]] = None, separators: Optional[Tuple[str, str]] = None, default: Optional[Callable] = None, sort_keys: bool = False, **kw) str
- transactions_and_methods: dict[int, transactron.profiler.ProfileInfo]
- class transactron.profiler.ProfileData
Bases:
object
Information about transactions and methods from the transaction manager.
This data is required for transaction profile generation in simulators. Transactions and methods are referred to by their unique ID numbers.
- Attributes
- transactions_and_methods: dict[int, ProfileInfo]
Information about individual transactions and methods.
- method_parents: dict[int, list[int]]
Lists the callers (transactions and methods) for each method. Key is method ID.
- transactions_by_method: dict[int, list[int]]
Lists which transactions are calling each method. Key is method ID.
- transaction_conflicts: dict[int, list[int]]
List which other transactions conflict with each transaction.
- __init__(transactions_and_methods: dict[int, transactron.profiler.ProfileInfo], method_parents: dict[int, list[int]], transactions_by_method: dict[int, list[int]], transaction_conflicts: dict[int, list[int]]) None
- static make(transaction_manager: TransactionManager)
- transactions_and_methods: dict[int, transactron.profiler.ProfileInfo]
- class transactron.profiler.ProfileInfo
Bases:
object
Information about transactions and methods.
In Profile, transactions and methods are referred to by their unique ID numbers.
- Attributes
- namestr
The name.
- src_locSrcLoc
Source location.
- is_transactionbool
If true, this object describes a transaction; if false, a method.
- classmethod from_dict(kvs: Optional[Union[dict, list, str, int, float, bool]], *, infer_missing=False) A
- classmethod from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) A
- class transactron.profiler.ProfileSamples
Bases:
object
Runtime values of all transaction and method control signals.
- Attributes
- transactions: dict[int, TransactionSamples]
Runtime values of transaction control signals for each transaction.
- methods: dict[int, MethodSamples]
Runtime values of method control signals for each method.
- __init__(transactions: dict[int, transactron.profiler.TransactionSamples] = <factory>, methods: dict[int, transactron.profiler.MethodSamples] = <factory>) None
- methods: dict[int, transactron.profiler.MethodSamples]
- transactions: dict[int, transactron.profiler.TransactionSamples]
- class transactron.profiler.RunStat
Bases:
object
Collected statistics about a transaction or method.
- Attributes
- namestr
The name.
- src_locSrcLoc
Source location.
- lockedint
For methods: the number of cycles this method was locked because of a disabled call (a call under a false condition). For transactions: the number of cycles this transaction was ready to run, but did not run because a conflicting transaction has run instead.
- static make(info: ProfileInfo)
- class transactron.profiler.RunStatNode
Bases:
object
A statistics tree. Summarizes call graph information.
- Attributes
- statRunStat
Statistics.
- callersdict[int, RunStatNode]
Statistics for the method callers. For transactions, this is empty.
- __init__(stat: ~transactron.profiler.RunStat, callers: dict[int, transactron.profiler.RunStatNode] = <factory>) None
- callers: dict[int, transactron.profiler.RunStatNode]
- static make(info: ProfileInfo)
- class transactron.profiler.TransactionSamples
Bases:
object
Runtime value of transaction control signals in a given clock cycle.
- Attributes
- request: bool
The value of the transaction’s
request
signal.- runnable: bool
The value of the transaction’s
runnable
signal.- grant: bool
The value of the transaction’s
grant
signal.
transactron.tracing module
Utilities for extracting dependencies from Amaranth.
- class transactron.tracing.TracingFragment
Bases:
Fragment
- static get(obj: HasElaborate, platform) TracingFragment
This function code is based on Amaranth, which originally loses all information. It was too difficult to hook into, so this has to be a near-exact copy.
Relevant copyrights apply.
- prepare(*args, **kwargs) TracingFragment
- class transactron.tracing.TracingFragmentTransformer
Bases:
FragmentTransformer
- on_fragment(fragment)
- class transactron.tracing.TracingInstance
Bases:
Instance
,TracingFragment
- get(platform) TracingFragment
This function code is based on Amaranth, which originally loses all information. It was too difficult to hook into, so this has to be a near-exact copy.
Relevant copyrights apply.