Skip to content

Commit 7bd448b

Browse files
committed
Circular allocator (#151)
1 parent 56ee54c commit 7bd448b

23 files changed

Lines changed: 212 additions & 24 deletions

.doctrees/api.doctree

0 Bytes
Binary file not shown.

.doctrees/environment.pickle

8.26 KB
Binary file not shown.

.doctrees/transactron.lib.doctree

39.9 KB
Binary file not shown.
9.46 KB
Binary file not shown.

api.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ <h2>transactron<a class="headerlink" href="#transactron" title="Link to this hea
310310

311311
<div role="contentinfo">
312312
<p>&#169; Copyright Kuźnia Rdzeni, 2026.
313-
<span class="lastupdated">Last updated on 18:08 2026-04-29.
313+
<span class="lastupdated">Last updated on 10:25 2026-05-01.
314314
</span></p>
315315
</div>
316316

development-environment.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ <h3>transactron-prof<a class="headerlink" href="#transactron-prof" title="Link t
185185

186186
<div role="contentinfo">
187187
<p>&#169; Copyright Kuźnia Rdzeni, 2026.
188-
<span class="lastupdated">Last updated on 18:08 2026-04-29.
188+
<span class="lastupdated">Last updated on 10:25 2026-05-01.
189189
</span></p>
190190
</div>
191191

genindex.html

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ <h2 id="_">_</h2>
139139
<li><a href="transactron.lib.html#transactron.lib.adapters.AdapterBase.__init__">(transactron.lib.adapters.AdapterBase method)</a>
140140
</li>
141141
<li><a href="transactron.lib.html#transactron.lib.adapters.AdapterTrans.__init__">(transactron.lib.adapters.AdapterTrans method)</a>
142+
</li>
143+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator.__init__">(transactron.lib.allocators.CircularAllocator method)</a>
144+
</li>
145+
<li><a href="transactron.lib.html#transactron.lib.allocators.PreservedOrderAllocator.__init__">(transactron.lib.allocators.PreservedOrderAllocator method)</a>
142146
</li>
143147
<li><a href="transactron.lib.html#transactron.lib.allocators.PriorityEncoderAllocator.__init__">(transactron.lib.allocators.PriorityEncoderAllocator method)</a>
144148
</li>
@@ -349,11 +353,15 @@ <h2 id="A">A</h2>
349353
</li>
350354
<li><a href="transactron.utils.html#transactron.utils.data_repr.align_down_to_power_of_two">align_down_to_power_of_two() (in module transactron.utils.data_repr)</a>
351355
</li>
352-
</ul></td>
353-
<td style="width: 33%; vertical-align: top;"><ul>
354356
<li><a href="transactron.utils.html#transactron.utils.data_repr.align_to_power_of_two">align_to_power_of_two() (in module transactron.utils.data_repr)</a>
355357
</li>
358+
</ul></td>
359+
<td style="width: 33%; vertical-align: top;"><ul>
356360
<li><a href="transactron.utils.html#transactron.utils.assign.AssignType.ALL">ALL (transactron.utils.assign.AssignType attribute)</a>
361+
</li>
362+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator.alloc">alloc (transactron.lib.allocators.CircularAllocator attribute)</a>
363+
</li>
364+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator.allocated">allocated (transactron.lib.allocators.CircularAllocator attribute)</a>
357365
</li>
358366
<li><a href="transactron.html#transactron.profiler.Profile.analyze_methods">analyze_methods() (transactron.profiler.Profile method)</a>
359367
</li>
@@ -441,9 +449,13 @@ <h2 id="C">C</h2>
441449
</li>
442450
<li><a href="transactron.utils.amaranth_ext.html#transactron.utils.amaranth_ext.component_interface.CIn">CIn (class in transactron.utils.amaranth_ext.component_interface)</a>
443451
</li>
444-
<li><a href="transactron.lib.html#transactron.lib.connectors.ClearableConnector.clear">clear (transactron.lib.connectors.ClearableConnector attribute)</a>
452+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator">CircularAllocator (class in transactron.lib.allocators)</a>
453+
</li>
454+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator.clear">clear (transactron.lib.allocators.CircularAllocator attribute)</a>
445455

446456
<ul>
457+
<li><a href="transactron.lib.html#transactron.lib.connectors.ClearableConnector.clear">(transactron.lib.connectors.ClearableConnector attribute)</a>
458+
</li>
447459
<li><a href="transactron.lib.html#transactron.lib.fifo.BasicFifo.clear">(transactron.lib.fifo.BasicFifo attribute)</a>
448460
</li>
449461
<li><a href="transactron.lib.html#transactron.lib.pipeline.PipelineBuilder.clear">(transactron.lib.pipeline.PipelineBuilder attribute)</a>
@@ -480,11 +492,11 @@ <h2 id="C">C</h2>
480492
<li><a href="transactron.utils.html#transactron.utils.assign.AssignType.COMMON">COMMON (transactron.utils.assign.AssignType attribute)</a>
481493
</li>
482494
<li><a href="transactron.utils.amaranth_ext.html#transactron.utils.amaranth_ext.component_interface.ComponentInterface">ComponentInterface (class in transactron.utils.amaranth_ext.component_interface)</a>
483-
</li>
484-
<li><a href="transactron.lib.html#transactron.lib.simultaneous.condition">condition() (in module transactron.lib.simultaneous)</a>
485495
</li>
486496
</ul></td>
487497
<td style="width: 33%; vertical-align: top;"><ul>
498+
<li><a href="transactron.lib.html#transactron.lib.simultaneous.condition">condition() (in module transactron.lib.simultaneous)</a>
499+
</li>
488500
<li><a href="transactron.core.html#transactron.core.body.Body.conditional_calls">conditional_calls (transactron.core.body.Body attribute)</a>
489501
</li>
490502
<li><a href="transactron.lib.html#transactron.lib.connectors.Connect">Connect (class in transactron.lib.connectors)</a>
@@ -708,6 +720,8 @@ <h2 id="E">E</h2>
708720
</li>
709721
</ul></li>
710722
<li><a href="transactron.utils.amaranth_ext.html#transactron.utils.amaranth_ext.coding.Encoder">Encoder (class in transactron.utils.amaranth_ext.coding)</a>
723+
</li>
724+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator.end_idx">end_idx (transactron.lib.allocators.CircularAllocator attribute)</a>
711725
</li>
712726
<li><a href="transactron.lib.html#transactron.lib.logging.HardwareLogger.error">error() (transactron.lib.logging.HardwareLogger method)</a>
713727
</li>
@@ -752,6 +766,8 @@ <h2 id="F">F</h2>
752766
<li><a href="transactron.lib.html#transactron.lib.logging.LogRecordInfo.format_str">format_str (transactron.lib.logging.LogRecordInfo attribute)</a>
753767
</li>
754768
<li><a href="transactron.lib.html#transactron.lib.connectors.Forwarder">Forwarder (class in transactron.lib.connectors)</a>
769+
</li>
770+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator.free">free (transactron.lib.allocators.CircularAllocator attribute)</a>
755771
</li>
756772
<li><a href="transactron.lib.html#transactron.lib.logging.LogRecordInfo.from_dict">from_dict() (transactron.lib.logging.LogRecordInfo class method)</a>
757773

@@ -1096,6 +1112,8 @@ <h2 id="M">M</h2>
10961112
<li><a href="transactron.utils.amaranth_ext.html#transactron.utils.amaranth_ext.functions.min_value">min_value() (in module transactron.utils.amaranth_ext.functions)</a>
10971113
</li>
10981114
<li><a href="transactron.utils.html#transactron.utils.transactron_helpers.mock_def_helper">mock_def_helper() (in module transactron.utils.transactron_helpers)</a>
1115+
</li>
1116+
<li><a href="transactron.utils.amaranth_ext.html#transactron.utils.amaranth_ext.functions.mod_add">mod_add() (in module transactron.utils.amaranth_ext.functions)</a>
10991117
</li>
11001118
<li><a href="transactron.utils.amaranth_ext.html#transactron.utils.amaranth_ext.functions.mod_incr">mod_incr() (in module transactron.utils.amaranth_ext.functions)</a>
11011119
</li>
@@ -1339,6 +1357,8 @@ <h2 id="P">P</h2>
13391357
<li><a href="transactron.utils.amaranth_ext.html#transactron.utils.amaranth_ext.functions.popcount">popcount() (in module transactron.utils.amaranth_ext.functions)</a>
13401358
</li>
13411359
<li><a href="transactron.html#transactron.tracing.TracingFragment.prepare">prepare() (transactron.tracing.TracingFragment method)</a>
1360+
</li>
1361+
<li><a href="transactron.lib.html#transactron.lib.allocators.PreservedOrderAllocator">PreservedOrderAllocator (class in transactron.lib.allocators)</a>
13421362
</li>
13431363
<li><a href="transactron.core.html#transactron.core.manager.TransactionManager.print_info">print_info() (transactron.core.manager.TransactionManager method)</a>
13441364
</li>
@@ -1578,6 +1598,8 @@ <h2 id="S">S</h2>
15781598
<li><a href="transactron.lib.html#transactron.lib.metrics.WideFIFOLatencyMeasurer.start">(transactron.lib.metrics.WideFIFOLatencyMeasurer attribute)</a>
15791599
</li>
15801600
</ul></li>
1601+
<li><a href="transactron.lib.html#transactron.lib.allocators.CircularAllocator.start_idx">start_idx (transactron.lib.allocators.CircularAllocator attribute)</a>
1602+
</li>
15811603
<li><a href="transactron.html#transactron.profiler.RunStatNode.stat">stat (transactron.profiler.RunStatNode attribute)</a>
15821604
</li>
15831605
<li><a href="transactron.core.html#transactron.core.tmodule.TModule.State">State() (transactron.core.tmodule.TModule method)</a>
@@ -2222,7 +2244,7 @@ <h2 id="W">W</h2>
22222244

22232245
<div role="contentinfo">
22242246
<p>&#169; Copyright Kuźnia Rdzeni, 2026.
2225-
<span class="lastupdated">Last updated on 18:08 2026-04-29.
2247+
<span class="lastupdated">Last updated on 10:25 2026-05-01.
22262248
</span></p>
22272249
</div>
22282250

getting-started.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ <h2>RPN calculator<a class="headerlink" href="#rpn-calculator" title="Link to th
544544

545545
<div role="contentinfo">
546546
<p>&#169; Copyright Kuźnia Rdzeni, 2026.
547-
<span class="lastupdated">Last updated on 18:08 2026-04-29.
547+
<span class="lastupdated">Last updated on 10:25 2026-05-01.
548548
</span></p>
549549
</div>
550550

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ <h1>Transactron<a class="headerlink" href="#transactron" title="Link to this hea
166166

167167
<div role="contentinfo">
168168
<p>&#169; Copyright Kuźnia Rdzeni, 2026.
169-
<span class="lastupdated">Last updated on 18:08 2026-04-29.
169+
<span class="lastupdated">Last updated on 10:25 2026-05-01.
170170
</span></p>
171171
</div>
172172

modules.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ <h1>transactron<a class="headerlink" href="#transactron" title="Link to this hea
296296

297297
<div role="contentinfo">
298298
<p>&#169; Copyright Kuźnia Rdzeni, 2026.
299-
<span class="lastupdated">Last updated on 18:08 2026-04-29.
299+
<span class="lastupdated">Last updated on 10:25 2026-05-01.
300300
</span></p>
301301
</div>
302302

0 commit comments

Comments
 (0)