diff --git a/docs/rules.rst b/docs/rules.rst
index f6e0ede..3a9b432 100644
--- a/docs/rules.rst
+++ b/docs/rules.rst
@@ -16,5 +16,6 @@
     rules/summary
 
     rules/periphery
+    rules/hv
 
     rules/errors
diff --git a/docs/rules/hv.rst b/docs/rules/hv.rst
new file mode 100644
index 0000000..255f034
--- /dev/null
+++ b/docs/rules/hv.rst
@@ -0,0 +1,236 @@
+High Voltage Methodology
+========================
+
+High Voltage is defined as a voltage outside the range of GND to Vcc.  Any device that is subjected to a voltage outside the range of GND to Vcc is considered a high voltage device.  These devices are subjected to special design rules and biasing conditions.  The biasing conditions of these high voltage devices are detailed in the ETD.
+
+Failure Mechanisms in High Voltage Devices
+------------------------------------------
+
+The TDR have a special rules section for the layout and DRC of the high voltage (hv) device.
+
+These rules are framed so as to prevent the following failure mechanisms in circuits that use these devices:
+
+Transistor Performance Degradation under HV Gate Stress (Section 2.2.2 of EDR)
+  The maximum voltage across the gate oxide (gate to channel voltage) is restricted to:
+
+   a. Any HV NMOS device: 7.3 V @ 25C.
+   b. Any HV PMOS device: 8.1 V @ 25C.
+
+  These voltages are not operating voltages, but points of failure.
+  They should not be exceeded in any circuit at any time.
+
+Junction Leakage/breakdown
+  The maximum source/drain to substrate junction voltages are restricted to the following:
+
+  a. Any HV NMOS device: 11.0 V @ 25C.
+  b. Any HV PMOS device: 11.0 V @ 25C.
+
+  These voltages are not operating voltages, but points of failure.
+  They should not be exceeded in any circuit at any time.
+
+Gated-Diode Leakage/Breakdown
+  All high voltage devices use 110A gate oxide thickness just like low voltage (0 to Vcc) devices.
+
+  The maximum gate-to-junction voltage differentials should be not exceed the voltage criteria set by conditions (1) and (2) above.
+
+  In addition, hv p-channel devices are required to be laid out as ring devices (also called half-fieldless and fieldless devices), where the hv junction does not abut field oxide edge. These devices also get the extra junction grading implant into the ringed gate with the HVPDM mask.
+
+Source to Drain Punch-through
+  To prevent punch-through, the hv devices have expanded channel lengths:
+
+  a. HV NMOS/PMOS device channel length = 0.500 um final.
+
+Parasitic Isolation Field Leakage
+  HV poly is prohibited from forming gates with adjacent hv diffusions, and from crossing well boundaries.
+
+  Exceptions to this rule are made only in cases where the bulk of the isolation device formed is back-biased by at least 300 mV.
+
+  The presence of the back bias cannot be checked by the CAD flow at this time. Exceptions pass clean through DRC with the presence of the “hv_bb” tag on the hv poly.
+
+  The usage of the ``hv_bb`` tag is subject to approval by technology.
+
+Sub-threshold EndCap Leakage
+  The extension of poly forming a high voltage gate onto field to prevent subthreshold leakage due to line-end shortening of the poly/field oxide endcap.
+
+
+High Voltage Implementation Methodology
+---------------------------------------
+
+Following are the features of the high voltage rules:
+
+
+High Voltage Diffusion (hvSRCDRN)
+  The source of high voltage is a diffusion(source/drain) tagged within the high voltage identification layer diff:hv.  The whole diffusion feature need to be completely enclosed by the diff:hv layer.
+
+  The source/drains that are tagged with the diff:hv layer are called taggedhvSRCDRN within the CAD flow code. The propagation of the high voltage property within the tagged piece of diffusion stops at a gate, i.e.. if tagging is done on the drain side, the source does not become a high voltage feature.
+
+  Beginning with taggedhvSRCDRN, high voltage propagates through standard interconnect to other SRCDRN or poly.  Any SRCDRN derives the high voltage property through electrically shorting to a taggedhvSRCDRN is called a derivedhvSRCDRN within the CAD flow.  Hence by definition, within the CAD flow,
+
+	hvSRCDRN = OR(taggedhvSRCDRN derivedhvSRCDRN)
+
+  ``Rule hv.X.1`` (high voltage source/drain regions must be tagged by diff:hv) will check the presence of the diff:hv tag and flag on all derivedhvSRCDRN. When the layout is finally clean of all hv.diff.1 errors, hvSRCDRN will consist of only taggedhvSRCDRN (all derivedhvSRCDRN will need to be tagged with diff:hv to remove errors). This is shown in Fig.1.
+
+  ``Rule hv.diff.1`` (Minimum hv_source/drain spacing to diff for edges of hv_source/drain and diff not butting tap) prevents adjacent diffusions from punching through.  Note that this rule specifies the spacing of a hvSRCDRN to any diffusion – be it another hvSRCDRN or a normal diffusion.  This rule also applies to N+/P+ resistors that become hv by propagation.  This is shown schematically in Fig.2.
+
+  ``Rule hv.diff.2`` (P-channel hv_source/drain must be enclosed by a ring_FET gate) is required to prevent excess field oxide/gate edge leakage in high voltage p-channel devices (Fig.3).  This ring_FET gate by definition is a hvring_FET (as it abuts hv diff).
+
+High Voltage Poly (hvPoly)
+  A high voltage poly feature (hvPoly) is defined as a poly feature which is electrically shorted to hvSRCDRN, or to another high voltage feature (like another hvPoly) through an interconnect.  The whole poly feature becomes high voltage feature.
+
+  hvpoly propagates the high voltage property to other features which are electrically shorted (through licon1 & li1); but does not act as a source of high voltage.  This means that hvpoly does not make underlying diffusions or wells high voltage – it acts as a “conductor” and propagates the high voltage property to other electrically connected features.
+
+  hvpoly cannot form parasitic field isolation devices, unless this device is back-biased.  Hence, the following rules are in place:
+
+  ``hv.poly.1``
+    Hv poly feature can be drawn over only one diff region and is not allowed to cross nwell boundary except as allowed in rule hv.X.3.  Please refer to Fig.4.
+
+  ``hv.X.3``
+    High voltage poly can be drawn over multiple diff regions that are ALL reverse-biased by at least 300 mV (existence of reverse-bias is not checked by the CAD flow).
+
+    In this case, the high voltage poly can be tagged with the ``text:dg`` label with a value “hv_bb”.
+
+    Exceptions to this use of the hv_bb label must be approved by technology.
+
+    Under certain bias conditions, high voltage poly tagged with hv_bb can cross an nwell boundary.
+
+    Use of the hv_bb label on high voltage poly crossing an nwell boundary must be approved by technology.
+
+    This is shown in Fig.5.
+
+    All high voltage poly tagged with hv_bb will not be checked to ``hv.poly.1``, ``hv.poly.2``, ``hv.poly.3`` and ``hv.poly.4``.
+
+	* ``hv.poly.2``: Spacing of hv poly on field to unrelated diff (Fig.6).
+	* ``hv.poly.3``: Spacing of hv poly on field to n-well (Fig.6).
+	* ``hv.poly.4``: Enclosure of hv poly on field by n-well (Fig.6).
+
+  Poly resistors can become high voltage features if the poly is electrically shorted to hvSRCDRN, or to another high voltage feature.  Nevertheless, these devices cannot act as sources of hv, and the hv propagation stops at the edge of this device.
+
+High Voltage Poly Gate (hvFET_gate)
+  A high voltage poly gate (``hvFET_gate``) is a gate (``PolyAndDiff``) abutting hvSRCDRN.  This is specified in rule ``hv.poly.8`` (Any poly gate abutting hv_source/drain becomes a high voltage poly gate).
+
+  Note that this is the only definition of a hvFET_gate and the only way a gate can become a hvFET_gate.
+
+  This is shown schematically in Fig.7.
+
+  The high voltage property of the ``hvFET_gate`` is limited to the gate only – the whole poly feature does not become a hvPoly.
+
+  The following rules are in place for hvFET_gates (please refer to Fig.12):
+
+  * ``hv.diff.2``: P-channel hv_source/drains must be enclosed by a ring_FET gate.
+    This is required to prevent excess field oxide/gate edge leakage in high voltage p-channel devices.
+    A p-channel hvring_FET gate is shown schematically in Fig.8.
+
+  * ``hv.poly.5``: Hv poly gate length (which is bigger than a normal gate length)
+
+  * ``hv.poly.6``: Extension of poly forming an ``hvFET_gate`` beyond hv diffusion
+
+  * ``hv.poly.7``: Minimum overlap of poly forming ``hvring_FET`` and diffusion
+
+Stoppers to High Voltage Propagation
+  The following act as stoppers for hv propagation (shown in Fig.10):
+
+  * For a ``hv_source``/``drain`` tagged with ``diff:hv``, the high voltage property terminates at the intersection of this hv diff with a poly, i.e. at the gate edge.  This means that one side of the device can have a hv diff, while the other side of the gate can remain low voltage.
+
+  * N+/P+ diffusion resistors are allowed per the Allowed Resistors table in the TDR.  These resistors do not originate high voltage.  They also do not propagate high voltage, although the device itself becomes a high voltage device.  The hv rule hv.diff.1 needs to be checked for these devices.
+
+  * Diodes do not originate high voltage.  Nevertheless, they propagate high voltage and become high voltage devices when high voltage is propagated to them.  The hv rule hv.diff.1 needs to be checked for these devices.
+
+  * A poly forming a poly resistor can become hvPoly by virtue of shorting to a hv_source/drain or shorting to another high voltage feature through an interconnect.  The high voltage propagation stops at a poly resistor, although the device itself becomes high voltage.  This device will be checked to the following hv rules: hv.poly.1, hv.poly.2, hv.poly.3, and hv.poly.4.  These rule checks can be exempted by the use of the "hv_bb" tag with the approval of technology.
+
+  * The high voltage propagation also stops at a P-Well resistor.  The device becomes a hv device.  There are no specific rule checks for this hv device.
+
+Summary of High Voltage Propagation
+  The high voltage propagation methodology is summarized below in Table 1.
+
+  A test case utilizing the outlined methodology is shown in Fig.12.
+
+
+.. csv-table:: Table 1. Truth table for high voltage generation, propagation and retention.
+   :file: hv/table-1.csv
+   :header-rows: 1
+
+.. include:: hv/table-1-key.rst
+
+
+Very High Voltage Methodology
+=============================
+
+Very High Voltage is defined as a voltage outside the range of GND to High Voltage (11V). Very high voltage is 16V (12V nominal) Vcc.
+
+Any device that is subjected to a voltage outside the range of GND to 11V is considered a Very High Voltage (VHV) device.
+
+These devices are subjected to special design rules and biasing conditions.
+
+
+Failure Mechanisms in VHV Devices
+---------------------------------
+
+The TDR have a special rules section for the layout and DRC of the VHV device.
+
+These rules are framed so as to prevent the following failure mechanisms in
+circuits that use these devices:
+
+Transistor Performance Degradation under VHV Gate Stress
+  The maximum voltage across the gate oxide (gate to channel voltage) is restricted to:
+
+  a. Any VHV NMOS device: 5.5V.
+  b. Any VHV PMOS device: 5.5V.
+
+Junction Leakage/breakdown
+  The maximum source/drain to substrate junction voltages are restricted to the following:
+
+  a. Any VHV NMOS device: 16.0V.
+  b. Any VHV PMOS device: 16.0V.
+
+Gated-Diode Leakage/Breakdown:
+  All VHV devices use 110A gate oxide thickness just like standard 5.0V Vcc devices.
+
+  The maximum gate-to-junction voltage differentials should not exceed the voltage criteria set by conditions (1) and (2) above.
+
+  The VHV devices need to be designed with drain extentions (DE) fabricated by lightly doped Nwells and Pwellsrespectively. Under no circumstances the poly/extended drain overlap and field oxide length should be changed.
+
+Source to Drain Punch-through
+  To prevent punch-through, the VHV devices have expanded channel lengths:
+
+  a. VHV NMOS device channel length = 1.055 um drawn.
+  b. VHV PMOS device channel length = 1.050 um drawn.
+
+Parasitic Isolation Field Leakage
+  Poly from a drain extended device is prohibited from forming gates with adjacent hv diffusions.
+
+
+Sub-threshold EndCap Leakage
+  The extension of poly forming a high voltage gate onto field to prevent subthreshold leakage due to line-end shortening of the poly/field oxide endcap.
+
+Reliability performance:
+  In order to preserve the reliability performance of the VHV FETs the Field Oxide (STI) length may not be changed from the values below:
+
+  a. VHV NMOS STI length = 1.585 um
+  b. VHV PMOS STI length = 1.190 um
+
+A poly gate may never be directly connected to a VHV diffusion region.
+
+Poly connecting two VHV nodes over field must be routed through LI or metal.
+
+VHV Implementation Methodology
+------------------------------
+
+Following are the features of the VHV rules:
+
+* All features operating at 16V (max) voltages can be Very-High-Voltage (VHV)
+
+* Drain or source of the drain-extended device can be tagged with vhvi:dg layer. Device with either drain or source (not both) tagged with vhvi:dg layer serves as propagation stopper
+
+* The VHVSourceDrain can be connected to another VHVSourceDrain or an output pad. The VHVSourceDrain does not propagate the VHV through the device
+
+* All source/drains/gate tagged with vhvi:dg propagate VHV through any interconnects.
+
+* Diff inside areaid.ed on the same net as VHVSourceDrain should be tagged with vhvi:dg. They serve as propagation stopper.
+
+* Deep N-well, N-well, P-well, Diff, or Poly cannot be used as routing layers.
+
+.. csv-table:: Table 2 - Truth table for very high voltage generation, propagation and retention.
+   :file: hv/table-2.csv
+   :header-rows: 1
+
+.. include:: hv/table-2-key.rst
diff --git a/docs/rules/hv/table-1-key.rst b/docs/rules/hv/table-1-key.rst
new file mode 100644
index 0000000..d1d8cac
--- /dev/null
+++ b/docs/rules/hv/table-1-key.rst
@@ -0,0 +1,9 @@
+.. rubric:: Footnotes
+
+.. [#f1] Deep N-Wells, N-Wells and P-Wells cannot be used as routing layers.
+.. [#f2] No hv rule checks for this device.
+.. [#f3] For N+ and P+ diffusion resistors and diodes, rule hv.diff.1 (spacing to unrelated diff) needs to be checked.
+.. [#f4] Need to be checked for hv.poly.1, hv.poly.2, hv.poly.3, hv.poly.4.  Needs technology approval for use of hv.X.3.
+.. [#f5] The hv property is localized to the hvgate and its extensions.
+.. [#f6] Interconnect and contacts propagate hv, and are hv devices internal to the CAD flow only.
+.. [#f7] "N/A" implies that there are no special hv rules for these layers.
diff --git a/docs/rules/hv/table-1.csv b/docs/rules/hv/table-1.csv
new file mode 100644
index 0000000..c9e9188
--- /dev/null
+++ b/docs/rules/hv/table-1.csv
@@ -0,0 +1,21 @@
+Node Type,Originates HV?,Propagates HV?,Becomes HV? (when HV Propagates to this node),Notes
+Deep N-Well,No,N/A,N/A,"[#f1]_ [#f7]_"
+P-Well,No,N/A,N/A,"[#f1]_ [#f7]_"
+P-Well Resistor,No,No,Yes,[#f2]_
+N-Well,No,N/A,N/A,"[#f1]_ [#f7]_"
+waffle_chip,No,Yes,Yes,
+P+ Diffusion,No,Yes,Yes,
+N+ Diffusion Resistor,No,No,Yes,[#f3]_
+P+ Diffusion Resistor,No,No,Yes,[#f3]_
+HV Diffusion,Yes,Yes,Yes,
+Diodes,No,Yes,Yes,[#f3]_
+Poly,No,Yes,Yes,
+Poly Resistor,No,No,Yes,[#f4]_
+GATE,No,No,No,
+HvFET_gate (GATE abutting hv Diff),No,No,Yes,[#f5]_
+Licon1,No,Yes,N/A,[#f6]_
+Li1,No,Yes,N/A,[#f6]_
+Mcon,No,Yes,N/A,[#f6]_
+Met1,No,Yes,N/A,[#f6]_
+Via,No,Yes,N/A,[#f6]_
+Met2,No,Yes,N/A,[#f6]_
diff --git a/docs/rules/hv/table-2-key.rst b/docs/rules/hv/table-2-key.rst
new file mode 100644
index 0000000..da11125
--- /dev/null
+++ b/docs/rules/hv/table-2-key.rst
@@ -0,0 +1,4 @@
+.. rubric:: Footnotes
+
+.. [#f8] Resistors tagged with text ""vhv_block"" serve as VHV propagation stopper and it is the duty of the designer to ensure that the resistor can support the required voltage drop. Otherwise components in VHV nets need to be tagged with vhvi:dg layer
+.. [#f9] If only source or drain is tagged with vhvi:dg layers.
diff --git a/docs/rules/hv/table-2.csv b/docs/rules/hv/table-2.csv
new file mode 100644
index 0000000..21ea778
--- /dev/null
+++ b/docs/rules/hv/table-2.csv
@@ -0,0 +1,25 @@
+Node Type,Originates VHV?,Propagates VHV?,Requires tagging with vhvi:dg (flags if not tagged when required)
+Deep N-Well,No,N/A,N/A
+P-Well,No,N/A,N/A
+P-Well Resistor,No,No [#f8]_ ,Yes
+N-Well,No,N/A,N/A
+LV Diffusion,No,Yes,Yes
+Diffusion Resistor,No,No [#f8]_ ,Yes
+HV Diffusion,No,Yes,Yes
+VHV ESD Diffusion,No,No,Yes
+VHVSourceDrain,Yes,No [#f9]_ ,Yes
+Diodes,No,Yes,Yes
+Poly,No,N/A,N/A
+Poly Resistor,No,No [#f8]_ ,Yes
+VHVPoly,Yes,Yes,Yes
+GATE,No,N/A,N/A
+de_pFET_gate,No,N/A,N/A
+de_nFET_gate,No,N/A,N/A
+Licon1,No,Yes,No
+Li1,No,Yes,No
+Mcon,No,Yes,No
+Met1,No,Yes,No
+Via,No,Yes,No
+Met2,No,Yes,No
+via2,No,Yes,No
+Met3,No,Yes,No
