Skip to content

Commit 36ed478

Browse files
lansergerobtaylor
authored andcommitted
Updated documnetation for all sections of the chipflow.toml
1 parent 80f6396 commit 36ed478

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

docs/chipflow-toml-guide.rst

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,31 @@ Let's start with a typical example:
2828
2929
The ``project_name`` is a human-readable identifier for this project. If not set, the tool and library will use the project name configured in ``pyproject.toml``.
3030

31+
``[chipflow.top]``
32+
------------------
33+
34+
.. code-block:: TOML
35+
36+
[chipflow.top]
37+
soc = "my_design.design:MySoC"
38+
39+
This section outlines the design modules that need to be instantiated.
40+
A new top module will be automatically generated, incorporating all specified modules along with their interfaces.
41+
Each entry follows the format <``module instance name``>="`\<module class path\>`_".
42+
43+
_`\<module class path\>`
44+
========================
45+
46+
The module class path offers a similar way to locate Python objects as entry points.
47+
It consists of a module's `qualified name`_ followed by a colon (:) and then the `qualified name`_ of the class within that module.
48+
3149
``[chipflow.steps]``
3250
--------------------
3351

3452
The ``steps`` section allows overriding or addition to the standard steps available from `chipflow_lib`_.
3553

3654
For example, if you want to override the standard silicon preparation step, you could derive from :class:`chipflow_lib.steps.silicon.SiliconStep`, add your custom functionality
37-
and add the following to your `chipflow.toml`, with the appropriate Python `qualified name`_ :
55+
and add the following to your `chipflow.toml`, with the appropriate `\<module class path\>`_ :
3856

3957
.. code-block:: TOML
4058
@@ -44,7 +62,7 @@ and add the following to your `chipflow.toml`, with the appropriate Python `qual
4462
4563
You probably won't need to change these if you're starting from an example repository.
4664

47-
.. _chipflow_lib: https://github.com/ChipFlow/chipflow-lib]
65+
.. _chipflow_lib: https://github.com/ChipFlow/chipflow-lib
4866
.. _qualified name: https://docs.python.org/3/glossary.html#term-qualified-name
4967

5068

@@ -57,7 +75,7 @@ You probably won't need to change these if you're starting from an example repos
5775
default = 'sys_clk'
5876
5977
This section links the clock domains utilized in the design to specific pads.
60-
These pads need to be specified in the `[silicon.pads]`_ section with `type`_ equal to ``clock``.
78+
These pads need to be specified in the `[silicon.pads]`_ section with the `type`_ set to ``clock``.
6179
The ``default`` clock domain is associated with the Amaranth ``sync`` clock domain.
6280
Currently, only one ``default`` clock domain is supported.
6381

@@ -71,7 +89,7 @@ Currently, only one ``default`` clock domain is supported.
7189
default = 'sys_rst_n'
7290
7391
This section identifies the input pads designated for reset functionality.
74-
These pads need to be specified in the `[silicon.pads]`_ section with `type`_ equal to ``reset``.
92+
These pads need to be specified in the `[silicon.pads]`_ section with the `type`_ set to ``reset``.
7593
The logic that synchronizes the reset signal with the clock will be generated automatically.
7694

7795
``[chipflow.silicon]``
@@ -145,14 +163,6 @@ clock
145163
reset
146164
External reset input.
147165

148-
i
149-
Input.
150-
151-
o
152-
Output.
153-
154-
io
155-
Both input and output.
156166

157167
_`loc`
158168
------
@@ -162,7 +172,9 @@ This is the physical location of the pad on your chosen pad ring. How these are
162172
silicon.power
163173
=============
164174

165-
This section describes how the pads should be connected to the power available on the chosen process and package.
175+
This section outlines the connection of pads to the power supply available for the selected process and package.
176+
These pads are declared with the ``type`` and `loc`_ parameters, similar to the `[silicon.pads]`_ section.
177+
Note that in this context, the ``type`` parameter can only be ``ground`` or ``power``.
166178

167179
This is a work in progress, and currently you can use the defaults provided by customer support.
168180

0 commit comments

Comments
 (0)