You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -126,7 +126,7 @@ For Sky130 chips, you can configure the I/O cell drive mode:
126
126
Software Driver Signatures
127
127
---------------------------
128
128
129
-
The ``SoftwareDriverSignature`` allows you to attach C/C++ driver code to your hardware peripherals. This is useful for providing software APIs that match your hardware registers.
129
+
The :py:class:`~chipflow.platform.SoftwareDriverSignature` allows you to attach C/C++ driver code to your hardware peripherals. This is useful for providing software APIs that match your hardware registers.
130
130
131
131
Creating a Peripheral with Driver Code
132
132
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -279,7 +279,7 @@ The driver code is automatically collected during the ChipFlow build process and
279
279
Attaching Software Binaries
280
280
----------------------------
281
281
282
-
The ``attach_data()`` function allows you to attach pre-built software binaries (like bootloaders) to flash memory interfaces.
282
+
The :py:func:`~chipflow.platform.attach_data` function allows you to attach pre-built software binaries (like bootloaders) to flash memory interfaces.
283
283
284
284
Basic Usage
285
285
~~~~~~~~~~~
@@ -305,7 +305,7 @@ Basic Usage
305
305
306
306
return m
307
307
308
-
The ``attach_data()`` function:
308
+
The :py:func:`~chipflow.platform.attach_data` function:
309
309
310
310
1. Takes the **external interface** (``self.flash``) from your top-level component
311
311
2. Takes the **internal component** (``m.submodules.spiflash``) that implements the flash controller
<p>All pin signatures accept <codeclass="docutils literal notranslate"><spanclass="pre">IOModelOptions</span></code> to customize their electrical and behavioral properties (see below).</p>
404
+
<p>All pin signatures accept <aclass="reference internal" href="autoapi/chipflow/platform/index.html#chipflow.platform.IOModelOptions" title="chipflow.platform.IOModelOptions"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">IOModelOptions</span></code></a> to customize their electrical and behavioral properties (see below).</p>
<h3>Using Pin Signatures in Your Top-Level Design<aclass="headerlink" href="#using-pin-signatures-in-your-top-level-design" title="Link to this heading"></a></h3>
@@ -433,7 +433,7 @@ <h3>Using Pin Signatures in Your Top-Level Design<a class="headerlink" href="#us
433
433
</section>
434
434
<sectionid="io-model-options">
435
435
<h3>IO Model Options<aclass="headerlink" href="#io-model-options" title="Link to this heading"></a></h3>
436
-
<p>All pin signatures accept <codeclass="docutils literal notranslate"><spanclass="pre">IOModelOptions</span></code> to configure the electrical and behavioral properties of the I/O pins:</p>
436
+
<p>All pin signatures accept <aclass="reference internal" href="autoapi/chipflow/platform/index.html#chipflow.platform.IOModelOptions" title="chipflow.platform.IOModelOptions"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">IOModelOptions</span></code></a> to configure the electrical and behavioral properties of the I/O pins:</p>
<li><p><strong>clock_domain</strong> (<codeclass="docutils literal notranslate"><spanclass="pre">str</span></code>) - Name of the I/O’s clock domain (default: <codeclass="docutils literal notranslate"><spanclass="pre">'sync'</span></code>). Pins with different clock domains must be in separate signatures.</p></li>
463
463
<li><p><strong>buffer_in</strong> (<codeclass="docutils literal notranslate"><spanclass="pre">bool</span></code>) - Enable input buffer on the I/O pad.</p></li>
464
464
<li><p><strong>buffer_out</strong> (<codeclass="docutils literal notranslate"><spanclass="pre">bool</span></code>) - Enable output buffer on the I/O pad.</p></li>
465
-
<li><p><strong>sky130_drive_mode</strong> (<codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Sky130DriveMode</span></code>) - Drive mode for Sky130 output buffers (see below).</p></li>
<h2>Software Driver Signatures<aclass="headerlink" href="#software-driver-signatures" title="Link to this heading"></a></h2>
498
-
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">SoftwareDriverSignature</span></code> allows you to attach C/C++ driver code to your hardware peripherals. This is useful for providing software APIs that match your hardware registers.</p>
498
+
<p>The <aclass="reference internal" href="autoapi/chipflow/platform/index.html#chipflow.platform.SoftwareDriverSignature" title="chipflow.platform.SoftwareDriverSignature"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">SoftwareDriverSignature</span></code></a> allows you to attach C/C++ driver code to your hardware peripherals. This is useful for providing software APIs that match your hardware registers.</p>
<h3>Creating a Peripheral with Driver Code<aclass="headerlink" href="#creating-a-peripheral-with-driver-code" title="Link to this heading"></a></h3>
501
501
<p>Here’s how to create a peripheral that includes software driver code:</p>
@@ -637,7 +637,7 @@ <h2>Using Peripherals in Your SoC<a class="headerlink" href="#using-peripherals-
637
637
</section>
638
638
<sectionid="attaching-software-binaries">
639
639
<h2>Attaching Software Binaries<aclass="headerlink" href="#attaching-software-binaries" title="Link to this heading"></a></h2>
640
-
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">attach_data()</span></code> function allows you to attach pre-built software binaries (like bootloaders) to flash memory interfaces.</p>
640
+
<p>The <codeclass="xref py py-func docutils literal notranslate"><spanclass="pre">attach_data()</span></code> function allows you to attach pre-built software binaries (like bootloaders) to flash memory interfaces.</p>
641
641
<sectionid="basic-usage">
642
642
<h3>Basic Usage<aclass="headerlink" href="#basic-usage" title="Link to this heading"></a></h3>
<li><p>Takes the <strong>external interface</strong> (<codeclass="docutils literal notranslate"><spanclass="pre">self.flash</span></code>) from your top-level component</p></li>
666
666
<li><p>Takes the <strong>internal component</strong> (<codeclass="docutils literal notranslate"><spanclass="pre">m.submodules.spiflash</span></code>) that implements the flash controller</p></li>
0 commit comments