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.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:
objectRuntime value of method control signals in a given clock cycle.
- Attributes
- run: bool
The value of the method’s
runsignal.
- class transactron.profiler.Profile
Bases:
objectTransactron 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:
objectInformation 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:
objectInformation 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:
objectRuntime 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:
objectCollected 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:
objectA 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:
objectRuntime value of transaction control signals in a given clock cycle.
- Attributes
- request: bool
The value of the transaction’s
requestsignal.- runnable: bool
The value of the transaction’s
runnablesignal.- grant: bool
The value of the transaction’s
grantsignal.
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.