Finished VLSI lab 1&2 report

This commit is contained in:
Adog64 2024-11-14 12:11:27 -05:00
parent f20b9ad42a
commit b2f070c6d6
10 changed files with 37 additions and 36 deletions

View File

@ -1,12 +1,12 @@
# Fdb version 4
["biber lab-1-2"] 1731517124.24373 "lab-1-2.bcf" "lab-1-2.bbl" "lab-1-2" 1731522051.68934 0
"lab-1-2.bcf" 1731522051.43047 107981 f29da5bcd9833ccaa4cc6be31fd38999 "pdflatex"
"references.bib" 1731470232.82083 558 df972a2d65f28e8a8ecebb4ee0b82d70 ""
["biber lab-1-2"] 1731517124.24373 "lab-1-2.bcf" "lab-1-2.bbl" "lab-1-2" 1731592420.89535 0
"lab-1-2.bcf" 1731592420.66287 107981 f29da5bcd9833ccaa4cc6be31fd38999 "pdflatex"
"references.bib" 1731549680.26312 558 df972a2d65f28e8a8ecebb4ee0b82d70 ""
(generated)
"lab-1-2.bbl"
"lab-1-2.blg"
(rewritten before read)
["pdflatex"] 1731522048.40538 "lab-1-2.tex" "lab-1-2.pdf" "lab-1-2" 1731522051.68977 0
["pdflatex"] 1731592418.07457 "lab-1-2.tex" "lab-1-2.pdf" "lab-1-2" 1731592420.89569 0
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/lm/lm-mathex.enc" 1202520719 3486 c7eadf5dcc57b3b2d11736679f6636ba ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc" 1202520719 2405 5dcf2c1b967ee25cc46c58cd52244aed ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/lm/lm-mathsy.enc" 1202520719 2840 216e6e45ad352e2456e1149f28885bee ""
@ -294,24 +294,24 @@
"/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1655066402 56148 51a9a8571c07b9921892ae11063ae853 ""
"/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1655411236 4937 4ce600ce9bd4ec84d0250eb6892fcf4f ""
"/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1714953600 40900 887e0dc8cac988a9e9c574af364cf837 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1727129911.05106 4547809 72a019b3ea2e5a9ca986a536dc67eb1c ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1731458907 7753307 dd8d670ee6dc0c84274d90c784746549 ""
"border.tex" 1731454165.88876 415 4d4e267e57028b0f51f0b4d6482995e8 ""
"graphics/inv-parametric-nm-1.png" 1731454165.89092 119079 3e9d7e832291c38e52440c4d010bdec1 ""
"graphics/inv-parametric-nm-3.png" 1731454165.89417 63472 930b2767f0e2983cbeabf6444864341e ""
"graphics/inv-parametric-nm-4.png" 1731454165.89526 74625 d4ec0ed87be728548177ed08f90a9d1f ""
"graphics/inverter-noise-margin.png" 1731454165.89959 99181 ce35bcbbe5f742962a2f39d956a88619 ""
"graphics/iv-curves.png" 1731454165.90392 114761 3b4fc60459e35295881e8eb6a30768dc ""
"graphics/nmos-iv-schematic.png" 1731454165.90392 8040 99ca7ea445dd062c76a4547604b7e8f1 ""
"graphics/pmos-iv-2.png" 1731515673.82944 111230 fae8f78daeff746d5592e9586c171733 ""
"graphics/pmos-iv-schematic.png" 1731454165.90501 6733 063eaf85bfa2e58c2db8ab28caf0717e ""
"graphics/pmos-shockley-model.png" 1731508337.06751 61548 a51c1d7d90d869da1f5a92efced4914d ""
"graphics/simulated-iv-curves.png" 1731454165.90717 49702 46c518429ae7144c793d3691d3363f0b ""
"lab-1-2.aux" 1731522051.42447 4982 738699c5c59160590c0353f6889f48d2 "pdflatex"
"lab-1-2.bbl" 1731517125.44384 3376 f1e2e93d690b71984d244f8474e03772 "biber lab-1-2"
"lab-1-2.out" 1731522051.42547 617 4a054492d2e8e2d18db33bf9e6514f87 "pdflatex"
"lab-1-2.run.xml" 1731522051.43147 2326 0d1ca45b47ff70914b015ab6bdd3a2a9 "pdflatex"
"lab-1-2.tex" 1731522046.67545 13988 eb401b540f1717defa32f50a4a3a9d31 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1727238294.95749 4602002 62dba5fc29055c16380d7393a2adb07a ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1727237932 7753326 2855e8a4742bf2aa4ecee35b05e8cc40 ""
"border.tex" 1731268146.08911 415 4d4e267e57028b0f51f0b4d6482995e8 ""
"graphics/inv-parametric-nm-1.png" 1731268146.08911 119079 3e9d7e832291c38e52440c4d010bdec1 ""
"graphics/inv-parametric-nm-3.png" 1731268146.09011 63472 930b2767f0e2983cbeabf6444864341e ""
"graphics/inv-parametric-nm-4.png" 1731268146.09011 74625 d4ec0ed87be728548177ed08f90a9d1f ""
"graphics/inverter-noise-margin.png" 1731268146.09111 99181 ce35bcbbe5f742962a2f39d956a88619 ""
"graphics/iv-curves.png" 1731445855.16965 114761 3b4fc60459e35295881e8eb6a30768dc ""
"graphics/nmos-iv-schematic.png" 1731445855.16965 8040 99ca7ea445dd062c76a4547604b7e8f1 ""
"graphics/pmos-iv-2.png" 1731549680.22412 111230 fae8f78daeff746d5592e9586c171733 ""
"graphics/pmos-iv-schematic.png" 1731445855.17065 6733 063eaf85bfa2e58c2db8ab28caf0717e ""
"graphics/pmos-shockley-model.png" 1731549680.22612 61548 a51c1d7d90d869da1f5a92efced4914d ""
"graphics/simulated-iv-curves.png" 1731452137.16739 49702 46c518429ae7144c793d3691d3363f0b ""
"lab-1-2.aux" 1731592420.65687 4982 738699c5c59160590c0353f6889f48d2 "pdflatex"
"lab-1-2.bbl" 1731549680.22712 3376 f1e2e93d690b71984d244f8474e03772 "biber lab-1-2"
"lab-1-2.out" 1731592420.65887 617 4a054492d2e8e2d18db33bf9e6514f87 "pdflatex"
"lab-1-2.run.xml" 1731592420.66387 2326 0d1ca45b47ff70914b015ab6bdd3a2a9 "pdflatex"
"lab-1-2.tex" 1731592417.84088 14236 226c71925a762b361bf0da5d4c47416d ""
(generated)
"lab-1-2.aux"
"lab-1-2.bcf"

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Fedora 40) (preloaded format=pdflatex 2024.11.12) 13 NOV 2024 13:20
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Fedora 40) (preloaded format=pdflatex 2024.9.25) 14 NOV 2024 08:53
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@ -1309,14 +1309,14 @@ Package logreq Info: Writing requests to 'lab-1-2.run.xml'.
)
Here is how much of TeX's memory you used:
60716 strings out of 476041
1528662 string characters out of 5793163
1528662 string characters out of 5793164
2610035 words of memory out of 6000000
80420 multiletter control sequences out of 15000+600000
696086 words of font info for 142 fonts, out of 8000000 for 9000
1140 hyphenation exceptions out of 8191
117i,12n,118p,1010b,2069s stack positions out of 10000i,1000n,20000p,200000b,200000s
117i,12n,118p,1010b,1722s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmcsc10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmex10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmmi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmmi6.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmmi7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmmi8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmr12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmr6.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmr7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmr8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmri10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/lm/lmsy7.pfb>
Output written on lab-1-2.pdf (4 pages, 828990 bytes).
Output written on lab-1-2.pdf (4 pages, 829778 bytes).
PDF statistics:
199 PDF objects out of 1000 (max. 8388607)
141 compressed objects within 2 object streams

View File

@ -67,7 +67,7 @@ In CMOS VLSI design, there are two types of complementary MOSFETs, hence the nam
We will discuss the exact behavior of the two types of MOSFETs further throughout the following two sections. In the final section, we will explore and discuss the properties and behaviors of a CMOS inverter.
\section{NMOS Characteristics}
The Shockley first-order model is a good approximation of the relationship between the input voltages and the current through a MOSFET. The model approximates the current through an NMOS $I_{ds}$ is
The Shockley first-order model is a good approximation of the relationship between the input voltages to and the current through a MOSFET. The model approximates the current through an NMOS $I_{ds}$ as
\begin{equation}
I_{ds} = \begin{cases}
0 & V_{gs} < V_t \\
@ -78,7 +78,7 @@ The Shockley first-order model is a good approximation of the relationship betwe
\end{equation}
where $V_{gs}$ is the voltage between the gate and source, $V_t$ is the threshold voltage, $V_{ds}$ is the voltage between the drain and the source, $V_{dsat} = V_{gs} - V_t$, and $\beta$ is a constant based on the physical properties of the MOSFET.
We parametrically varied $V_{gs}$ and $V_{ds}$ using a Python. Then, we plotted $I_{ds}$ using the model described in equation \ref{eqn:nmos-shockley-first-order}. Seen in figure \ref{fig:nmos-shockley-first-order}, increasing $V_{gs}$ will increase the current. Furthermore, increasing $V_{ds}$ will also increase the current, but only up to a point. After reaching that point, the current does not change with $V_{ds}$.
We parametrically varied $V_{gs}$ and $V_{ds}$ using a Python script. Then, we plotted $I_{ds}$ using the model described in equation \ref{eqn:nmos-shockley-first-order}. Seen in figure \ref{fig:nmos-shockley-first-order}, increasing $V_{gs}$ will increase the current. Furthermore, increasing $V_{ds}$ will also increase the current, but only up to a point. After reaching that point, the current does not change with $V_{ds}$.
\begin{figure}[h]
\center\includegraphics[width=0.4\textwidth]{graphics/simulated-iv-curves.png}
@ -102,7 +102,7 @@ For the simulation, we set up our output to be the current at the positive termi
\label{fig:nmos-simulation-results}
\end{figure}
There is clearly some resemblance between the Shockley model plot and the simulated results. One important difference is that while the curves flatten out completely in the Shockley model, the traces in the simulated NMOS continue to increase well into the saturation region.
There is clearly some resemblance between the Shockley model plot and the simulated results. One important difference is that the curves flatten out completely in the Shockley model, while the traces in the simulated NMOS continue to increase well into the saturation region.
\section{PMOS Characteristics}
@ -130,7 +130,7 @@ With this knowledge, we modified our Python script to model a PMOS. The Shockley
\label{fig:pmos-shockley}
\end{figure}
Again, we compared the Shockley model against simulation results. In our schematic, the voltage source for $V_{gs}$ was tied to power instead of ground, and the voltage source for $V_{ds}$ was rotated $180^\circ$. Furthermore, the body pin of the PMOS was tied to power instead of ground. All of these changes are seen in the PMOS test schematic seen in figure \ref{fig:pmos-iv-schematic}.
Again, we compared the Shockley model against simulation results. In our schematic, the voltage source for $V_{gs}$ was tied to power instead of ground, and the voltage source for $V_{ds}$ was rotated $180^\circ$. Furthermore, the body pin of the PMOS was tied to power instead of ground. All of these changes are reflected in the PMOS test schematic seen in figure \ref{fig:pmos-iv-schematic}.
\begin{figure}[h]
\center\includegraphics[width=0.4\textwidth]{graphics/pmos-iv-schematic.png}
@ -138,7 +138,7 @@ Again, we compared the Shockley model against simulation results. In our schemat
\label{fig:pmos-iv-schematic}
\end{figure}
Finally, we ran the simulation, this time measuring the current at the drain pin of the PMOS. We swept $V_{ds}$ from -2V to 0V with a step size of 0.1V, and parametrically swept $V_{gs}$ from -2.5V to 0V with a step size of 0.25V. The result was a similar plot to the NMOS simulation, again, rotated $180^\circ$ about the origin, as seen in figure \ref{fig:pmos-iv-simulation}. Another difference between the NMOS and PMOS simulations is the actual values of the current. While the shapes are similar, the PMOS current is less than the NMOS current for the same voltage inputs.
Finally, we ran the simulation, this time measuring the current at the drain pin of the PMOS. We swept $V_{ds}$ from -2V to 0V with a step size of 0.1V, and parametrically swept $V_{gs}$ from -2.5V to 0V with a step size of 0.25V. The result was a similar plot to the NMOS simulation, again, rotated $180^\circ$ about the origin, as seen in figure \ref{fig:pmos-iv-simulation}. Another difference between the NMOS and PMOS simulations is the actual values of the current. While the shapes are similar, the absolute value of the PMOS current is less than the NMOS current for the same absolute value of the voltage inputs.
\begin{figure}[h]
\center\includegraphics[width=0.4\textwidth]{graphics/pmos-iv-2.png}
@ -147,11 +147,11 @@ Finally, we ran the simulation, this time measuring the current at the drain pin
\end{figure}
\section{The Noise Margin}
The noise margin is the amount of noise that a CMOS circuit can withstand without compromising the operation of the circuit\cite{VLSISystemDesign}. This region is necessary to create a buffer that prevents small amounts of noise from switching the logic. There are two noise margins: noise margin high (NM\textsubscript{H}) and noise margin low (NM\textsubscript{L}).
The noise margin is the amount of noise that a CMOS circuit can withstand without compromising the operation of the circuit\cite{VLSISystemDesign}. This region is necessary to create a buffer that prevents small amounts of noise from affecting the logic state. There are two noise margins: noise margin high (NM\textsubscript{H}) and noise margin low (NM\textsubscript{L}).
The two noise margins are defined in terms of four key voltages on the voltage transfer curve (VTC) seen in figure \ref{fig:inv_vtc}: $V_\text{IL}$, $V_\text{IH}$, $V_\text{OL}$, and $V_\text{OH}$. $V_\text{IL}$ is defined as the lower input voltage where the slope of the VTC is -1, and $V_\text{IH}$ is defined as the upper input voltage meeting the same requirement. $V_\text{OL}$ is defined as the output voltage when the input voltage is equal to $V_\text{IH}$, and similarly, $V_\text{OH}$ is defined as the output voltage when the input voltage is equal to $V_\text{IL}$.
Practically speaking, when the input voltage is between $V_{OL}$ and $V_{IL}$ it is interpreted as logic low, and when the input voltage is between $V_{IH}$ and $V_{OH}$ it is interpreted as logic high. The region between $V_{IL}$ and $V_{IH}$ is the "undefined region", where the logic state is unclear \cite{VLSISystemDesign}.
Practically speaking, when the input voltage is between $V_{OL}$ and $V_{IL}$ it is interpreted as logic low, and when the input voltage is between $V_{IH}$ and $V_{OH}$ it is interpreted as logic high. The region between $V_{IL}$ and $V_{IH}$ is the ``undefined region", where the logic state is unclear \cite{VLSISystemDesign}.
\begin{figure}[h]
\center
@ -160,7 +160,7 @@ Practically speaking, when the input voltage is between $V_{OL}$ and $V_{IL}$ it
\label{fig:inv_vtc}.
\end{figure}
We pulled the VTC into a calculator tool, and used the definitions for the different voltages associated with the noise margin. Evaluating the expressions produced the values seen in table \ref{tbl:vtc-voltages}.
We pulled the VTC into a calculator tool, and implemented the definitions for the different voltages associated with the noise margin. Evaluating the expressions produced the values seen in table \ref{tbl:vtc-voltages}.
\begin{table}[H]
\center
@ -203,7 +203,7 @@ Again, the VTC was pulled into a calculator tool to determine the derivative, an
\label{fig:inv-parametric-nm-voltages}
\end{figure}
Finally, the noise margins were calculated at each $w_p$ using the four already calculated voltages, and the results were plotted in figure \ref{fig:inv-parametric-nm}. The high noise margin shrinks as $w_p$ increases, while the low noise margin grows. However, the sum of $\text{NM}_\text{L}$ and $\text{NM}_\text{H}$ remains roughly constant, although there is a dip with a minimum where the two noise margins are the same. This means that although the individual noise margins change, the size of the undefined region between logic high and logic low remains about the same. This means that although the individual noise margins change, the size of the undefined region between logic high and logic low remains about the same. This means that although the individual noise margins change, the size of the undefined region between logic high and logic low remains about the same.
Finally, the noise margins were calculated at each $w_p$ using the four already calculated voltages, and the results were plotted in figure \ref{fig:inv-parametric-nm}. The high noise margin shrinks as $w_p$ increases, while the low noise margin grows. However, the sum of $\text{NM}_\text{L}$ and $\text{NM}_\text{H}$ remains roughly constant, although there is a dip with a minimum where the two noise margins are the same. This means that although the individual noise margins change, the size of the undefined region between logic high and logic low remains about the same.
\begin{figure}[h]
\center\includegraphics[width=0.4\textwidth]{graphics/inv-parametric-nm-3.png}
@ -212,7 +212,8 @@ Finally, the noise margins were calculated at each $w_p$ using the four already
\end{figure}
\section{Conclusion}
A common theme between analyzing the current through a MOSFET and analyzing the noise margin is the dependence on the physical properties of the MOSFETs.
A common theme between analyzing the current through a MOSFET and analyzing the noise margin is the dependence on the physical properties of the MOSFETs. The Shockley model describes the effect of the physical properties by packaging them nicely into the $\beta$ term. However, the Shockley model does not take into account any non-ideal effects, which are also based on physical properties of the device.
Going forward, it will be important to fully understand how physical properties affect the behavior of individual MOSFETs as well as entire circuits. In doing so, designs may be fine-tuned to increase speed and minimize losses.
\printbibliography
\end{document}