Skip to content

Commit

Permalink
Synchronous register file using MemoryBank (#765)
Browse files Browse the repository at this point in the history
  • Loading branch information
tilk committed Dec 10, 2024
1 parent 09d85c1 commit 8bdad9c
Show file tree
Hide file tree
Showing 45 changed files with 1,017 additions and 927 deletions.
Binary file modified .doctrees/api.doctree
Binary file not shown.
Binary file modified .doctrees/auto_graph.doctree
Binary file not shown.
Binary file modified .doctrees/coreblocks.scheduler.doctree
Binary file not shown.
Binary file modified .doctrees/current-graph.doctree
Binary file not shown.
Binary file modified .doctrees/environment.pickle
Binary file not shown.
618 changes: 323 additions & 295 deletions _sources/auto_graph.rst.txt

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion api.html
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ <h2>coreblocks<a class="headerlink" href="#coreblocks" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion assumptions.html
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ <h1>List of assumptions made during development<a class="headerlink" href="#list

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
620 changes: 324 additions & 296 deletions auto_graph.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion components/icache.html
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ <h2>Address mapping example<a class="headerlink" href="#address-mapping-example"

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.arch.html
Original file line number Diff line number Diff line change
Expand Up @@ -3948,7 +3948,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.backend.html
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.cache.html
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.core_structs.html
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.frontend.decoder.html
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.frontend.fetch.html
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.frontend.html
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.func_blocks.fu.fpu.html
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.func_blocks.fu.html
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.func_blocks.fu.lsu.html
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.func_blocks.fu.unsigned_multiplication.html
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.func_blocks.html
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ <h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to thi

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.func_blocks.interface.html
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.html
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.params.html
Original file line number Diff line number Diff line change
Expand Up @@ -831,7 +831,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.peripherals.html
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.priv.csr.html
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.priv.html
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ <h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to thi

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
2 changes: 1 addition & 1 deletion coreblocks.priv.traps.html
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
14 changes: 10 additions & 4 deletions coreblocks.scheduler.html
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this
</div>
<dl class="py method">
<dt class="sig sig-object py" id="coreblocks.scheduler.scheduler.Scheduler.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">get_instr</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">get_free_reg</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rat_rename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rob_put</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rf_read1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rf_read2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reservation_stations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.13)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.13)"><span class="pre">tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference internal" href="coreblocks.func_blocks.interface.html#coreblocks.func_blocks.interface.func_protocols.FuncBlock" title="coreblocks.func_blocks.interface.func_protocols.FuncBlock"><span class="pre">coreblocks.func_blocks.interface.func_protocols.FuncBlock</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#set" title="(in Python v3.13)"><span class="pre">set</span></a><span class="p"><span class="pre">[</span></span><a class="reference internal" href="coreblocks.arch.html#coreblocks.arch.optypes.OpType" title="coreblocks.arch.optypes.OpType"><span class="pre">coreblocks.arch.optypes.OpType</span></a><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gen_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="coreblocks.params.html#coreblocks.params.genparams.GenParams" title="coreblocks.params.genparams.GenParams"><span class="pre">GenParams</span></a></span></em><span class="sig-paren">)</span><a class="headerlink" href="#coreblocks.scheduler.scheduler.Scheduler.__init__" title="Permalink to this definition"></a></dt>
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">get_instr</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">get_free_reg</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rat_rename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rob_put</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rf_read_req1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rf_read_req2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rf_read_resp1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rf_read_resp2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reservation_stations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence" title="(in Python v3.13)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.13)"><span class="pre">tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference internal" href="coreblocks.func_blocks.interface.html#coreblocks.func_blocks.interface.func_protocols.FuncBlock" title="coreblocks.func_blocks.interface.func_protocols.FuncBlock"><span class="pre">coreblocks.func_blocks.interface.func_protocols.FuncBlock</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#set" title="(in Python v3.13)"><span class="pre">set</span></a><span class="p"><span class="pre">[</span></span><a class="reference internal" href="coreblocks.arch.html#coreblocks.arch.optypes.OpType" title="coreblocks.arch.optypes.OpType"><span class="pre">coreblocks.arch.optypes.OpType</span></a><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gen_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="coreblocks.params.html#coreblocks.params.genparams.GenParams" title="coreblocks.params.genparams.GenParams"><span class="pre">GenParams</span></a></span></em><span class="sig-paren">)</span><a class="headerlink" href="#coreblocks.scheduler.scheduler.Scheduler.__init__" title="Permalink to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><dl class="simple">
Expand All @@ -120,10 +120,16 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this
</dd>
<dt><strong>rob_put: Method</strong></dt><dd><p>Method used for getting a free entry in ROB. Uses <cite>ROBLayouts.data_layout</cite>.</p>
</dd>
<dt><strong>rf_read1: Method</strong></dt><dd><p>Method used for getting value of first source register and information if it is valid.
<dt><strong>rf_read_req1: Method</strong></dt><dd><p>Method used for requesting value of first source register and information if it is valid.
Uses <cite>RFLayouts.rf_read_out</cite>.</p>
</dd>
<dt><strong>rf_read_req2: Method</strong></dt><dd><p>Method used for requesting value of second source register and information if it is valid.
Uses <cite>RFLayouts.rf_read_out</cite>.</p>
</dd>
<dt><strong>rf_read_resp1: Method</strong></dt><dd><p>Method used for getting value of first source register and information if it is valid.
Uses <cite>RFLayouts.rf_read_out</cite> and <cite>RFLayouts.rf_read_in</cite>.</p>
</dd>
<dt><strong>rf_read2: Method</strong></dt><dd><p>Method used for getting value of second source register and information if it is valid.
<dt><strong>rf_read_resp2: Method</strong></dt><dd><p>Method used for getting value of second source register and information if it is valid.
Uses <cite>RFLayouts.rf_read_out</cite> and <cite>RFLayouts.rf_read_in</cite>.</p>
</dd>
<dt><strong>reservation_stations: Sequence[FuncBlock]</strong></dt><dd><p>Sequence of units with RS interfaces to which instructions should be inserted.</p>
Expand Down Expand Up @@ -188,7 +194,7 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this

<div role="contentinfo">
<p>&#169; Copyright Kuźnia Rdzeni, 2024.
<span class="lastupdated">Last updated on 22:06 2024-12-09.
<span class="lastupdated">Last updated on 09:56 2024-12-10.
</span></p>
</div>

Expand Down
Loading

0 comments on commit 8bdad9c

Please sign in to comment.