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: - object- Runtime 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: - 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 - 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.