Create documentation.md
diff --git a/docs/documentation.md b/docs/documentation.md
new file mode 100644
index 0000000..13b7308
--- /dev/null
+++ b/docs/documentation.md
@@ -0,0 +1,70 @@
+# FT8 Receiver Documentation
+#### By Ryan Wans for Orbit Group 2022
+---
+## Table of Contents
+1. Introduction
+1.1. Introduction to FT8
+1.2. Architecture Overview
+1.3. Toolchain / Technology
+2. PDK Characterization
+3. Architecture Refinement
+4. Circuit Design and Simulation
+5. Layout and Verification
+6. Tapeout
+7. Sources
+
+## 1. Introduction
+### 1.1 Introduction to FT8
+FT8 is digital communication protocol used in amateur radio bands, most prominently from 7 to 70 MHz. It's use is rising in popularity due to its reliability in weak-signal conditions, low bandwidth, and simplicity. A minimum amount of hardware is needed to get an FT8 transceiver working, and this makes it appealing to application such as military and maritime usage.
+
+### 1.2 Architecture Overview
+FT8 relies on a primarily digitally-driven architecture due to it's modulation scheme; 8-GFSK. However, due to its robust technical specification, a strong analog front-end is needed for successful operation.
+
+[image of frontend]
+[caption]
+
+blahblah finish this
+
+### 1.3 Toolchain / Technology
+blah
+
+## 2. PDK Characterization
+Proper characterization of the PDK devices is paramount for accurate circuit design in future steps. Once values such as $g_m$ and $V_{TH}$ are obtained, processes like gm/Id design can be utilized to derive circuit topologies and values.
+
+### Characterization of `nfet_01v8`
+
+#### 1. Sweep of $V_{GS}$
+[image of circuit]
+Start by placing a `sky130_fd_pr__nfet_01v8` device with the default parameter values into a new schematic in Xschem. Attach a voltage source V1 to the gate and another V2 to the drain. Ensure that the bulk and source are grounded. Also ensure that V2 or $V_{DS}$ is held at $V_{DD}/2$ or 0.9V. Create a new code block and run a dc sweep of V1.
+```spice
+.control
+ dc V1 0 3 0.01
+.endc
+.saveall
+```
+Once the simulation has finished, run `plot -i(v2)` to view the drain current vs. $V_{GS}$ graph. This graph helps to give us the transconductance $g_m$ of the MOSFET, which indicates how efficiently the device can convert a voltage to a current. To derive this value from the simulation, you can either run the command `print @m.xm1.msky130_fd_pr__nfet_01v8[gm]` or use the typical analytical expression:
+$$g_{m} = \frac{\partial{I_D}}{\partial{}V_{GS}} = \mu_{n}C_{OX}\frac{W}{L}(V_{GS}-V_{TH}) = \frac{2I_D}{V_{GS}-V_{TH}} \tag*{(1)}$$
+To find the threshold voltage $V_{TH}$ of the device, you can simply run the same command as above for the parameter: `print @m.xm1.msky130_fd_pr__nfet_01v8[vth]`
+
+#### 2. Sweep of $V_{DS}$
+[image of circuit]
+Using the same circuit as before, sweep V2 instead of V1 at varying V1 values. This aids in finding the saturation point for a given $V_{GS}$ and the behavior of $I_D$ beyond $V_{DSAT}$. The code for this may look like this:
+```spice
+.control
+ alter @V1[value] = 0.7 % start at Vth
+ dc V2 0 5 0.01
+ plot -i(v2)
+ alter @V1[value] = 1 % step to new Vgs value
+ ... % continue changing Vgs
+ alter @V1[value] = 3
+ dc V2 0 5 0.01
+ plot -i(v2)
+.endc
+.saveall
+```
+For a given DC sweep, one can obtain the $V_{DSAT}$ value by running `print @m.xm1.msky130_fd_pr__nfet_01v8[vdsat]`. Or, use the expression $V_{DSAT}=V_{GS}-V_{TH}$. Now that the key values of the device have been extracted, one can now determine some other Figures of Merit, such as on resistance:
+$$R_{on}=[\mu_{n}C_{OX}\frac{W}{L}(V_{GS}-V_{TH})]^{-1} \tag*{(2)}$$
+And to determine the behavior of drain current past saturation:
+$$\int_0^LI_D\mathrm dx=\mu_{n}C_{OX}\int_0^{V_{GS}-V_{TH}}[V_{GS}-V_{TH}-V(x)]\mathrm dV\tag*{(3)}$$
+
+$$\therefore I_D=\frac{1}{2}\mu_nC_{OX}\frac{W}{L}(V_{GS}-V_{TH})^2(1+\lambda V_{DS}) \ \ \ \ \mathrm{for} \ V_{DS}>V_{DSAT} \tag*{(4)}$$