Skip to content

Commit 4018ab5

Browse files
committed
Documented clocks and resets sections of the chipflow.toml
1 parent b2bdd59 commit 4018ab5

File tree

1 file changed

+32
-9
lines changed

1 file changed

+32
-9
lines changed

docs/chipflow-toml-guide.rst

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,29 @@ You probably won't need to change these if you're starting from an example repos
5151
``[chipflow.clocks]``
5252
---------------------
5353

54+
.. code-block:: TOML
55+
56+
[chipflow.clocks]
57+
default = 'sys_clk'
58+
59+
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``.
61+
The ``default`` clock domain is associated with the Amaranth ``sync`` clock domain.
62+
Currently, only one ``default`` clock domain is supported.
63+
64+
65+
``[chipflow.resets]``
66+
---------------------
67+
68+
.. code-block:: TOML
69+
70+
[chipflow.resets]
71+
default = 'sys_rst_n'
72+
73+
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``.
75+
The logic that synchronizes the reset signal with the clock will be generated automatically.
76+
5477
``[chipflow.silicon]``
5578
----------------------
5679

@@ -61,7 +84,7 @@ You probably won't need to change these if you're starting from an example repos
6184
package = "pga144"
6285
6386
64-
The ``silicon`` section sets the Foundry ``process`` (i.e. PDK) that we are targeting for manufacturing, and the physical ``package`` we want to place our design inside.
87+
The ``silicon`` section sets the Foundry ``process`` (i.e. PDK) that we are targeting for manufacturing, and the physical ``package`` (pad ring) we want to place our design inside.
6588
You'll choose the ``process`` and ``package`` based in the requirements of your design.
6689

6790
Available processes
@@ -80,7 +103,7 @@ Available processes
80103
| ihp_sg13g2 | pga144 | IHP SG13G2 130nm SiGe |
81104
+------------+------------+---------------------------+
82105

83-
Available pad rings (``package``)
106+
Available pad rings
84107
---------------------------------
85108

86109
+----------+-----------+--------------------+------------------------------------+
@@ -97,11 +120,11 @@ Available pad rings (``package``)
97120

98121

99122

100-
silicon.pads
101-
============
123+
_`[silicon.pads]`
124+
==================
102125

103126
The ``silicon.pads`` section lists special pads. In general you are unlikely to need to add to this.
104-
Each pad specified with the name used by the design and two parameters: ``type`` and ``loc``.
127+
Each pad specified with the name used by the design and two parameters: `type`_ and `loc`_.
105128

106129
.. code-block:: TOML
107130
@@ -111,8 +134,8 @@ Each pad specified with the name used by the design and two parameters: ``type``
111134
112135
In the above example two pads specified, ``sys_clk`` pad for clock input and ``sys_rst_n`` for reset.
113136

114-
type
115-
----
137+
_`type`
138+
-------
116139

117140
The ``type`` for each pad can be set to one of:
118141

@@ -131,8 +154,8 @@ o
131154
io
132155
Both input and output.
133156

134-
loc
135-
----
157+
_`loc`
158+
------
136159

137160
This is the physical location of the pad on your chosen pad ring. How these are indexed varies by the pad ring.
138161

0 commit comments

Comments
 (0)