using :numref with figures:
diff --git a/user_guide.rst b/user_guide.rst
index 5714a97..f83bd20 100644
--- a/user_guide.rst
+++ b/user_guide.rst
@@ -183,10 +183,11 @@
A PMOS switch is used to disable the pull-up resistor.
.. figure:: figures/sky130_fd_io__top_axresv2.png
+ :name: alternate xres implementation
:width: 3.58056in
:height: 1.25347in
- Figure 1: Alternate XRES Implementation
+ Alternate XRES Implementation
Critical Requirements Summary
@@ -486,15 +487,16 @@
:cell:`sky130_fd_io__gpio` Additional Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The block diagram for the :cell:`sky130_fd_io__gpio` is shown in Figure 2.
+The block diagram for the :cell:`sky130_fd_io__gpio` is shown in :numref:`sky130_fd_io__top_gpio block diagram`.
Note: Bus notation dm[3] denotes a 3 bit bus dm[2:0].
These notations are interchangeably used in the document.
.. figure:: figures/sky130_fd_io__gpio.png
+ :name: sky130_fd_io__top_gpio block diagram
:width: 5.69792in
:height: 7.07292in
- Figure 2: Block diagram for :cell:`sky130_fd_io__top_gpio`
+ Block diagram for :cell:`sky130_fd_io__top_gpio`
All :cell:`sky130_fd_io__gpio` provides additional functionality of analog connectivity to the PAD for CSD and other applications as described
below:
@@ -634,15 +636,16 @@
:cell:`sky130_fd_io__gpiov2` Additional Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The block diagram for :cell:`sky130_fd_io__gpiov2` is shown below in Figure 3.
+The block diagram for :cell:`sky130_fd_io__gpiov2` is shown below in :numref:`sky130_fd_io__gpiov2 block diagram`.
Note: bus notation dm[3] denotes a 3 bit bus dm[2:0].
These notations are used interchangeably in the document.
.. figure:: figures/sky130_fd_io__top_gpiov2.png
+ :name: sky130_fd_io__gpiov2 block diagram
:width: 5.55000in
:height: 7.57000in
- Figure 3: :cell:`sky130_fd_io__gpiov2` Block Diagram
+ :cell:`sky130_fd_io__gpiov2` Block Diagram
:cell:`sky130_fd_io__gpiov2` provides all functionality as the original :cell:`sky130_fd_io__gpio` does.
In addition, it provides the following extra features:
@@ -674,7 +677,7 @@
Input Buffer selection for :cell:`sky130_fd_io__gpiov2` is explained below in :numref:`sky130_fd_io__gpiov2 input buffer trip point`:
.. table:: Input Buffer Trip point selection for :cell:`sky130_fd_io__gpiov2`
- :name: sky130_fd_io__gpiov2 input buffer trip point
+ :name: sky130_fd_io__gpiov2 input buffer trip point
+--------+-----------------+---------------+-------------------------+--------------------+
| Mode | ``ib_mode_sel`` | ``vtrip_sel`` | Input Buffer Trip Point | Description |
@@ -751,10 +754,11 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. figure:: figures/sky130_fd_io__top_gpio_ovtv2.png
+ :name: sky130_fd_io__gpio_ovtv2 block diagram
:width: 5.73000in
:height: 7.07000in
- Figure 4: :cell:`sky130_fd_io__gpio_ovtv2` Block Diagram
+ :cell:`sky130_fd_io__gpio_ovtv2` Block Diagram
:cell:`sky130_fd_io__gpio_ovtv2` provides all functionality as :cell:`sky130_fd_io__gpiov2` does.
In addition, it provides the following extra features
@@ -864,25 +868,27 @@
:cell:`sky130_fd_io__sio` Additional Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The block diagram for Special I/O (:cell:`sky130_fd_io__sio`) macro is shown below in Figure 5
+The block diagram for Special I/O (:cell:`sky130_fd_io__sio`) macro is shown below in :numref:`sky130_fd_io__sio_macro block diagram`
.. figure:: figures/sky130_fd_io__sio_macro.png
+ :name: sky130_fd_io__sio_macro block diagram
- Figure 5: Block diagram of :cell:`sky130_fd_io__sio_macro`
+ Block diagram of :cell:`sky130_fd_io__sio_macro`
-The :cell:`sky130_fd_io__sio_macro` consists of 2 :cell:`sky130_fd_io__sio` cells (Figure 6) and a Reference generator cell.
+The :cell:`sky130_fd_io__sio_macro` consists of 2 :cell:`sky130_fd_io__sio` cells (:numref:`sky130_fd_io__top_sio block diagram`) and a Reference generator cell.
The :cell:`sky130_fd_io__sio` cells are ONLY available as pairs.
-The block diagram of :cell:`sky130_fd_io__sio` is shown below in Figure 6.
+The block diagram of :cell:`sky130_fd_io__sio` is shown below in :numref:`sky130_fd_io__top_sio block diagram`.
Note that dm[3] denotes a 3 bit bus dm[2:0].
These notations are used interchangeably in the document.
1. I/O-Cell :cell:`sky130_fd_io__sio`
.. figure:: figures/sky130_fd_io__sio.png
+ :name: sky130_fd_io__top_sio block diagram
:width: 5.79167in
:height: 6.14583in
- Figure 6: Block diagram for :cell:`sky130_fd_io__top_sio`
+ Block diagram for :cell:`sky130_fd_io__top_sio`
The :cell:`sky130_fd_io__sio` provides the following additional features over the :cell:`sky130_fd_io__gpio`:
@@ -973,13 +979,14 @@
:cell:`sky130_fd_io__refgen` (Reference Generator) Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The block diagram of :cell:`sky130_fd_io__refgen` used in :cell:`sky130_fd_io__sio_macro` is shown below in Figure 7:
+The block diagram of :cell:`sky130_fd_io__refgen` used in :cell:`sky130_fd_io__sio_macro` is shown below in :numref:`sky130_fd_io__refgen block diagram`:
.. figure:: figures/sky130_fd_io__top_refgen.png
+ :name: sky130_fd_io__refgen block diagram
:width: 6.50000in
:height: 6.25417in
- Figure 7: Block diagram for :cell:`sky130_fd_io__refgen`
+ Block diagram for :cell:`sky130_fd_io__refgen`
The :cell:`sky130_fd_io__refgen` block :cell:`sky130_fd_io__top_refgen` is an opamp connected in negative feedback loop configuration to generate the output
reference voltage ``voutref``.
@@ -994,7 +1001,7 @@
The actual V\ :sub:`OH` level and its tolerance relative to the vohref voltage depends on the output current load conditions.
The acceptable variation in V\ :sub:`OH`-vohref tolerance versus output current load is specified in DC Specification tables.
For a given input reference, vref, the value of voutref can varied by selecting different tap point from the resistive divider in the feedback path
-(Figure 7).
+(:numref:`sky130_fd_io__refgen block diagram`).
The resistors are not equal in value and are skewed to generate standard voltages (1.2, 1.5, 1.8, 2, 2.5, 3.3, 4.8), when the bandgap voltage (1.2V)
is connected to vohref.
This selection is based on the select signals , ``voh_sel[2:0]`` (:numref:`voh sel`).
@@ -1002,7 +1009,7 @@
.. table:: Input Reference selection
:name: input reference selection
-
+
+--------------+---------------+
| ``Vref_sel`` | Ref.Selected |
| [1:0] | |
@@ -1148,15 +1155,16 @@
This cell provides a reference (``vinref``) to the selectable trip point buffer in :cell:`sky130_fd_io__gpio_ovtv2`.
This reference generator is a low-leakage resistive ladder whose tap points are selected based on the signaling required at the
:cell:`sky130_fd_io__gpio_ovtv2` pad.
-The block diagram is shown below in Figure 8.
+The block diagram is shown below in :numref:`sky130_fd_io__gpio_vrefv2 block diagram`.
Note ref_sel[5] denotes a 5 bit bus ``ref_sel[4:0].``
These notations are used interchangeably in the document.
.. figure:: figures/sky130_fd_io__top_gpiovrefv2.png
+ :name: sky130_fd_io__gpio_vrefv2 block diagram
:width: 6.07292in
:height: 4.31250in
- Figure 8: :cell:`sky130_fd_io__gpio_vrefv2` Block Diagram
+ :cell:`sky130_fd_io__gpio_vrefv2` Block Diagram
The reference selection is based on the signaling range that needs to be at the PAD.
For this to work, the external signaling range must be lower than VDDIO.
@@ -1188,26 +1196,28 @@
This cell contains a unit capacitance (4pF) that is intended to be placed on the ``vinref`` node that goes to multiple :cell:`sky130_fd_io__gpio_ovtv2`
cells.
This is a filter cap used to suppress kick-back noise from the input buffers.
-The usage is shown below in Figure 9:
+The usage is shown below in :numref:`sky130_fd_io__top_vrefcapv2 block diagram`:
.. figure:: figures/sky130_fd_io__top_vrefcapv2.png
+ :name: sky130_fd_io__top_vrefcapv2 block diagram
:width: 4.64583in
:height: 6.32292in
- Figure 9: :cell:`sky130_fd_io__top_vrefcapv2`
+ :cell:`sky130_fd_io__top_vrefcapv2`
:cell:`sky130_fd_io__top_amuxsplitv2` Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The amux splitter cell is designed to provide large chips (with large number of :cell:`sky130_fd_io__gpio`'s) to break the analog mux into multiple segments.
This cell is capable of grounding, disconnecting or feeding through each amuxbus.
-The block diagram is shown below in Figure 10.
+The block diagram is shown below in :numref:`sky130_fd_io__top_amuxsplitv2 block diagram`.
.. figure:: figures/sky130_fd_io__top_amuxsplitv2.png
+ :name: sky130_fd_io__top_amuxsplitv2 block diagram
:width: 6.50000in
:height: 4.11944in
- Figure 10: Block diagram of :cell:`sky130_fd_io__top_amuxsplitv2`
+ Block diagram of :cell:`sky130_fd_io__top_amuxsplitv2`
Each T-switch has 3 control signals coming to control the state of the switches.
These are expected to be static switches.
@@ -1341,10 +1351,11 @@
No change in functionality compared to current :cell:`sky130_fd_io__top_xres_2`.
.. figure:: figures/sky130_fd_io__xres2v2.png
+ :name: sky130_fd_io__top_xres2v2 block diagram
:width: 3.21875in
:height: 1.47917in
- Figure 11: :cell:`sky130_fd_io__top_xres2v2`
+ :cell:`sky130_fd_io__top_xres2v2`
3. :cell:`sky130_fd_io__top_xres3v2`
@@ -1356,10 +1367,11 @@
This requires 2 extra pins in this cell.
.. figure:: figures/sky130_fd_io__xres3v2.png
+ :name: sky130_fd_io__top_xres3v2 block diagram
:width: 3.44792in
:height: 1.56250in
- Figure 12: :cell:`sky130_fd_io__top_xres3v2`
+ :cell:`sky130_fd_io__top_xres3v2`
4. :cell:`sky130_fd_io__top_axresv2`
@@ -1371,19 +1383,21 @@
A control bit ``(disable_pullup_h)`` is used to enable/disable the pull-up.
.. figure:: figures/sky130_fd_io__top_axresv2.png
+ :name: sky130_fd_io__top_axresv2 block diagram
:width: 3.04996in
:height: 1.07135in
- Figure 13: :cell:`sky130_fd_io__top_axresv2`
+ :cell:`sky130_fd_io__top_axresv2`
Use case for the XRES cells
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. figure:: figures/use_case_for_the_xres_cells.png
+ :name: xres use case
:width: 6.50000in
:height: 4.06181in
- Figure 14: Use case for the XRES cells
+ Use case for the XRES cells
Usage guidelines on when to use the different cells:
@@ -1541,10 +1555,11 @@
^^^^^^^^^^^^^^^^^^^^^^^^^
.. figure:: figures/use_case_for_power_detector_sky130_fd_io__pwrdet.png
+ :name: power detector use case
:width: 6.10417in
:height: 5.89583in
- Figure 15: Use case for the Power detector
+ Use case for the Power detector
Block diagram
@@ -1553,10 +1568,11 @@
The following diagram shows the complete sub-blocks of the power detector in detail.
.. figure:: figures/sky130_fd_io__top_pwrdet.png
+ :name: sky130_fd_io__top_pwrdet block diagram
:width: 6.50000in
:height: 6.71875in
- Figure 16: :cell:`sky130_fd_io__top_pwrdet`
+ :cell:`sky130_fd_io__top_pwrdet`
Truth Table
^^^^^^^^^^^
@@ -1749,66 +1765,76 @@
The following diagrams apply to the input buffer AC parameters.
.. figure:: figures/timing_diagram_gpio_tpd_trfout.png
+ :name: sky130_fd_io__gpio tpd trfout
:width: 5.17000in
:height: 3.50000in
- Figure 17: :cell:`sky130_fd_io__gpio`, tPD, tRFout
+ :cell:`sky130_fd_io__gpio`, tPD, tRFout
.. figure:: figures/timing_diagram_sio_tpd_trfout.png
+ :name: sky130_fd_io__sio tpd trfout
:width: 5.40000in
:height: 3.50000in
- Figure 18: :cell:`sky130_fd_io__sio` tPD, tRFout
+ :cell:`sky130_fd_io__sio` tPD, tRFout
.. figure:: figures/timing_diagram_gpio_sio_tdis_ten.png
+ :name: gpio sio tdis ten
:width: 5.40000in
:height: 2.48000in
- Figure 19: :cell:`sky130_fd_io__gpio` & :cell:`sky130_fd_io__sio` tDIS, tEN
+ :cell:`sky130_fd_io__gpio` & :cell:`sky130_fd_io__sio` tDIS, tEN
The following timing diagrams apply to the output buffer AC parameters.
.. figure:: figures/timing_diagram_gpio_tpd_trfout_tslew.png
+ :name: sky130_fd_io__gpio tpd trfout
:width: 5.40000in
:height: 3.45000in
- Figure 20: :cell:`sky130_fd_io__gpio` tPD, tRFout (tSLEW)
+ :cell:`sky130_fd_io__gpio` tPD, tRFout (tSLEW)
.. figure:: figures/timing_diagram_gpio_and_sio_non-regulated_outbuf_tolz_internal_measurement_method_for_tohz.png
+ :name: non-regulated outbuf tolz
:width: 5.40000in
:height: 3.44000in
- Figure 21: :cell:`sky130_fd_io__gpio` and :cell:`sky130_fd_io__sio` non-regulated outbuf tOLZ & internal measurement method for tOHZ
+ :cell:`sky130_fd_io__gpio` and :cell:`sky130_fd_io__sio` non-regulated outbuf tOLZ & internal measurement method for tOHZ
.. figure:: figures/timing_diagram_gpio_and_sio_non-regulated_outbuf_tohz_external_measurement_method.png
+ :name: non-regulated outbuf tohz
:width: 5.40000in
:height: 2.91000in
- Figure 22: :cell:`sky130_fd_io__gpio` and :cell:`sky130_fd_io__sio` non-regulated outbuf tOHZ external measurement method
+ :cell:`sky130_fd_io__gpio` and :cell:`sky130_fd_io__sio` non-regulated outbuf tOHZ external measurement method
.. figure:: figures/timing_diagram_sio_regulated_outbuf_ttrfout_tslew.png
+ :name: sky130_fd_io__sio regulated outbuf ttrfout
:width: 5.40000in
:height: 3.38000in
- Figure 23: :cell:`sky130_fd_io__sio` regulated outbuf ttRFout(tSLEW)
+ :cell:`sky130_fd_io__sio` regulated outbuf ttRFout(tSLEW)
.. figure:: figures/timing_diagram_sio_regulated_outbuf_tolz_external_measurement_method_for_tohz.png
+ :name: sky130_fd_io__sio regulated outbuf tolz
:width: 5.40000in
:height: 3.62000in
- Figure 24: :cell:`sky130_fd_io__sio` regulated outbuf tOLZ & external measurement method for tOHZ
+ :cell:`sky130_fd_io__sio` regulated outbuf tOLZ & external measurement method for tOHZ
.. figure:: figures/timing_diagram_sio_regulated_outbuf_tohz_external_measurement_method.png
+ :name: sky130_fd_io__sio regulated outbuf tohz
:width: 5.40000in
:height: 3.16000in
- Figure 25: :cell:`sky130_fd_io__sio` regulated outbuf tOHZ external measurement method
+ :cell:`sky130_fd_io__sio` regulated outbuf tOHZ external measurement method
.. figure:: figures/timing_diagram_gpio_and_sio_hold_state_mode_timing_diagram.png
+ :name: hold state mode timing diagram
:width: 5.40000in
:height: 3.25000in
- Figure 26: :cell:`sky130_fd_io__gpio` and :cell:`sky130_fd_io__sio` Hold State Mode Timing Diagram
+ :cell:`sky130_fd_io__gpio` and :cell:`sky130_fd_io__sio` Hold State Mode Timing Diagram
Block Level Interfaces
~~~~~~~~~~~~~~~~~~~~~~