transactron package
Subpackages
- transactron.cmd package
- transactron.core package
- Submodules
- transactron.core.body module
- transactron.core.context module
- transactron.core.keys module
- transactron.core.manager module
- transactron.core.method module
- transactron.core.schedulers module
- transactron.core.sugar module
- transactron.core.tmodule module
- transactron.core.transaction module
- transactron.core.transaction_base module
- Module contents
- transactron.lib package
- Submodules
- transactron.lib.adapters module
- transactron.lib.allocators module
- transactron.lib.basicio 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.stack module
- transactron.lib.storage module
- transactron.lib.transformers module
- Module contents
- transactron.testing package
- Submodules
- transactron.testing.functions module
- transactron.testing.infrastructure module
PysimSimulatorTestCaseWithSimulatorTestCaseWithSimulator.add_mock()TestCaseWithSimulator.dependency_managerTestCaseWithSimulator.fixture_initialize_testing_env()TestCaseWithSimulator.random_wait()TestCaseWithSimulator.random_wait_geom()TestCaseWithSimulator.reinitialize_fixtures()TestCaseWithSimulator.run_simulation()TestCaseWithSimulator.tick()
- transactron.testing.input_generation module
- transactron.testing.logging module
- transactron.testing.method_mock module
- transactron.testing.profiler module
- transactron.testing.test_circuit module
- transactron.testing.testbenchio module
CallTriggerTestbenchIOTestbenchIO.__init__()TestbenchIO.call()TestbenchIO.call_do()TestbenchIO.call_init()TestbenchIO.call_result()TestbenchIO.call_try()TestbenchIO.disable()TestbenchIO.doneTestbenchIO.enable()TestbenchIO.get_call_result()TestbenchIO.get_done()TestbenchIO.get_outputs()TestbenchIO.outputsTestbenchIO.sample_outputs()TestbenchIO.sample_outputs_done()TestbenchIO.sample_outputs_until_done()TestbenchIO.set_enable()TestbenchIO.set_inputs()
- transactron.testing.tick_count module
- Module contents
- transactron.utils package
- Subpackages
- transactron.utils.amaranth_ext package
- Submodules
- transactron.utils.amaranth_ext.coding module
- transactron.utils.amaranth_ext.component_interface module
- transactron.utils.amaranth_ext.elaboratables module
- transactron.utils.amaranth_ext.functions module
- transactron.utils.amaranth_ext.memory module
- transactron.utils.amaranth_ext.shifter module
- Module contents
- transactron.utils.amaranth_ext package
- 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
GeneratedLogGenerationInfoGenerationInfo.__init__()GenerationInfo.decode()GenerationInfo.encode()GenerationInfo.from_dict()GenerationInfo.from_json()GenerationInfo.logsGenerationInfo.method_signals_locationGenerationInfo.metrics_locationGenerationInfo.profile_dataGenerationInfo.schema()GenerationInfo.to_dict()GenerationInfo.to_json()GenerationInfo.transaction_signals_location
MetricLocationgenerate_verilog()
- transactron.utils.gen_hacks module
- transactron.utils.idgen module
- transactron.utils.transactron_helpers module
- transactron.utils.typing module
- Module contents
- Subpackages
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[RunStatNode]
- analyze_transactions(recursive=False) list[RunStatNode]
- classmethod from_dict(kvs: dict | list | str | int | float | bool | None, *, infer_missing=False) A
- classmethod from_json(s: 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: int | str | None = None, separators: Tuple[str, str] | None = None, default: Callable | None = None, sort_keys: bool = False, **kw) str
- transactions_and_methods: dict[int, 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, 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, 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: dict | list | str | int | float | bool | None, *, infer_missing=False) A
- classmethod from_json(s: 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, MethodSamples]
- transactions: dict[int, 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, RunStatNode]
- static make(info: ProfileInfo)
- class transactron.profiler.TransactionSamples
Bases:
objectRuntime value of transaction control signals in a given clock cycle.
- Attributes:
- ready: bool
The value of the transaction’s
readysignal.- runnable: bool
The value of the transaction’s
runnablesignal.- run: bool
The value of the transaction’s
runsignal.
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.