diff --git a/res/simulation/final_01.pdf b/res/simulation/final_01.pdf new file mode 100644 index 0000000..d0e5175 Binary files /dev/null and b/res/simulation/final_01.pdf differ diff --git a/res/simulation/final_02.pdf b/res/simulation/final_02.pdf new file mode 100644 index 0000000..32bfbd9 Binary files /dev/null and b/res/simulation/final_02.pdf differ diff --git a/res/simulation/final_ConvGain_vs_LOPow.csv b/res/simulation/final_ConvGain_vs_LOPow.csv new file mode 100644 index 0000000..f5a9f42 --- /dev/null +++ b/res/simulation/final_ConvGain_vs_LOPow.csv @@ -0,0 +1,22 @@ +LOPow,ConvGain +-40.000,-57.957 +-38.000,-55.960 +-36.000,-53.964 +-34.000,-51.970 +-32.000,-49.980 +-30.000,-47.996 +-28.000,-46.020 +-26.000,-44.059 +-24.000,-42.120 +-22.000,-40.211 +-20.000,-38.346 +-18.000,-36.530 +-16.000,-34.744 +-14.000,-32.991 +-12.000,-30.991 +-10.000,-26.147 +-8.000,12.838 +-6.000,36.071 +-4.000,6.587 +-2.000,-31.499 +0.000,-45.066 diff --git a/res/simulation/final_ConvGain_vs_RFFreq.csv b/res/simulation/final_ConvGain_vs_RFFreq.csv new file mode 100644 index 0000000..c608ada --- /dev/null +++ b/res/simulation/final_ConvGain_vs_RFFreq.csv @@ -0,0 +1,32 @@ +RFFreq,ConvGain +110.000,18.408 +112.000,19.950 +114.000,21.579 +116.000,23.297 +118.000,25.100 +120.000,26.972 +122.000,28.868 +124.000,30.695 +126.000,32.388 +128.000,33.814 +130.000,34.675 +132.000,34.589 +134.000,33.216 +136.000,33.036 +138.000,34.506 +140.000,34.571 +142.000,33.675 +144.000,32.185 +146.000,30.444 +148.000,28.554 +150.000,26.596 +152.000,24.670 +154.000,22.815 +156.000,21.047 +158.000,19.368 +160.000,17.775 +162.000,16.266 +164.000,14.834 +166.000,13.474 +168.000,12.181 +170.000,10.947 diff --git a/res/simulation/final_ConvGain_vs_RFPow.csv b/res/simulation/final_ConvGain_vs_RFPow.csv new file mode 100644 index 0000000..e2dc2e4 --- /dev/null +++ b/res/simulation/final_ConvGain_vs_RFPow.csv @@ -0,0 +1,37 @@ +RFPow,ConvGain +-80.000,-3.836 +-78.000,-1.836 +-76.000,0.164 +-74.000,2.164 +-72.000,4.164 +-70.000,6.163 +-68.000,8.163 +-66.000,10.162 +-64.000,12.160 +-62.000,14.158 +-60.000,16.154 +-58.000,18.147 +-56.000,20.137 +-54.000,22.119 +-52.000,24.088 +-50.000,26.035 +-48.000,27.938 +-46.000,29.735 +-44.000,31.353 +-42.000,32.936 +-40.000,34.571 +-38.000,35.829 +-36.000,36.642 +-34.000,37.173 +-32.000,37.609 +-30.000,37.964 +-28.000,38.227 +-26.000,38.399 +-24.000,38.536 +-22.000,38.650 +-20.000,38.605 +-18.000,38.430 +-16.000,38.248 +-14.000,38.059 +-12.000,37.883 +-10.000,37.857 diff --git a/res/simulation/final_S_LO.csv b/res/simulation/final_S_LO.csv new file mode 100644 index 0000000..b103b6b --- /dev/null +++ b/res/simulation/final_S_LO.csv @@ -0,0 +1,62 @@ +f,SLO +110.0,-3.730 +111.0,-4.014 +112.0,-4.320 +113.0,-4.649 +114.0,-5.003 +115.0,-5.385 +116.0,-5.796 +117.0,-6.239 +118.0,-6.718 +119.0,-7.234 +120.0,-7.793 +121.0,-8.399 +122.0,-9.057 +123.0,-9.774 +124.0,-10.558 +125.0,-11.418 +126.0,-12.367 +127.0,-13.420 +128.0,-14.596 +129.0,-15.917 +130.0,-17.406 +131.0,-19.076 +132.0,-20.890 +133.0,-22.644 +134.0,-23.796 +135.0,-23.702 +136.0,-22.499 +137.0,-20.880 +138.0,-19.285 +139.0,-17.851 +140.0,-16.593 +141.0,-15.494 +142.0,-14.529 +143.0,-13.675 +144.0,-12.916 +145.0,-12.235 +146.0,-11.621 +147.0,-11.065 +148.0,-10.558 +149.0,-10.095 +150.0,-9.670 +151.0,-9.278 +152.0,-8.916 +153.0,-8.581 +154.0,-8.269 +155.0,-7.979 +156.0,-7.708 +157.0,-7.454 +158.0,-7.217 +159.0,-6.994 +160.0,-6.784 +161.0,-6.587 +162.0,-6.401 +163.0,-6.225 +164.0,-6.059 +165.0,-5.902 +166.0,-5.753 +167.0,-5.612 +168.0,-5.477 +169.0,-5.349 +170.0,-5.228 diff --git a/res/simulation/final_S_RF.csv b/res/simulation/final_S_RF.csv new file mode 100644 index 0000000..eb2aaf3 --- /dev/null +++ b/res/simulation/final_S_RF.csv @@ -0,0 +1,62 @@ +f,SRF +110.0,-6.745 +111.0,-7.212 +112.0,-7.696 +113.0,-8.198 +114.0,-8.718 +115.0,-9.255 +116.0,-9.811 +117.0,-10.386 +118.0,-10.981 +119.0,-11.597 +120.0,-12.235 +121.0,-12.896 +122.0,-13.584 +123.0,-14.300 +124.0,-15.047 +125.0,-15.829 +126.0,-16.651 +127.0,-17.517 +128.0,-18.434 +129.0,-19.409 +130.0,-20.450 +131.0,-21.568 +132.0,-22.774 +133.0,-24.081 +134.0,-25.500 +135.0,-27.043 +136.0,-28.710 +137.0,-30.482 +138.0,-32.276 +139.0,-33.883 +140.0,-34.906 +141.0,-34.969 +142.0,-34.139 +143.0,-32.837 +144.0,-31.411 +145.0,-30.028 +146.0,-28.747 +147.0,-27.581 +148.0,-26.526 +149.0,-25.572 +150.0,-24.707 +151.0,-23.921 +152.0,-23.204 +153.0,-22.548 +154.0,-21.944 +155.0,-21.386 +156.0,-20.869 +157.0,-20.388 +158.0,-19.938 +159.0,-19.517 +160.0,-19.121 +161.0,-18.747 +162.0,-18.394 +163.0,-18.059 +164.0,-17.741 +165.0,-17.438 +166.0,-17.149 +167.0,-16.872 +168.0,-16.606 +169.0,-16.352 +170.0,-16.107 diff --git a/res/simulation/final_noise.csv b/res/simulation/final_noise.csv new file mode 100644 index 0000000..dfbf7ec --- /dev/null +++ b/res/simulation/final_noise.csv @@ -0,0 +1,62 @@ +f,NF +0.0000,9.585 +0.500,9.685 +1.000,9.683 +1.500,9.683 +2.000,9.682 +2.500,9.683 +3.000,9.688 +3.500,9.708 +4.000,9.763 +4.500,9.839 +5.000,9.868 +5.500,9.901 +6.000,9.911 +6.500,9.933 +7.000,9.967 +7.500,10.009 +8.000,10.062 +8.500,10.124 +9.000,10.196 +9.500,10.281 +10.00,10.360 +10.50,10.344 +11.00,10.425 +11.50,10.516 +12.00,10.604 +12.50,10.686 +13.00,10.761 +13.50,10.826 +14.00,10.881 +14.50,10.926 +15.00,10.960 +15.50,10.982 +16.00,10.997 +16.50,11.005 +17.00,11.006 +17.50,11.003 +18.00,10.996 +18.50,10.987 +19.00,10.976 +19.50,10.964 +20.00,10.952 +20.50,10.940 +21.00,10.929 +21.50,10.920 +22.00,10.912 +22.50,10.905 +23.00,10.901 +23.50,10.898 +24.00,10.897 +24.50,10.897 +25.00,10.900 +25.50,10.904 +26.00,10.909 +26.50,10.917 +27.00,10.925 +27.50,10.935 +28.00,10.946 +28.50,10.958 +29.00,10.971 +29.50,10.986 +30.00,11.001 diff --git a/script.md b/script.md new file mode 100644 index 0000000..e47da20 --- /dev/null +++ b/script.md @@ -0,0 +1,34 @@ +# RFICS Presentation Script + +## Proposed Ideas + +### Overview + +### Mixer Core Cell + +### IF Buffer + +### Simulation/Measurement Results + +## Own Simulations + +### Design Steps + +1. Determine operating points of individual stages +2. Combine stages +3. Optimize design considering linearity, bandwidth, ... (e.g., find optimum LO + Power) + +### OP: SQuad + +### OP: TIA + +### OP: Buffer + +### INT: SQuad & TIA + +### INT: Full + +### Final circuit + +## Discussion & Conclusion diff --git a/sections/03_simulation_results.tex b/sections/03_simulation_results.tex index 132183b..e1da24c 100644 --- a/sections/03_simulation_results.tex +++ b/sections/03_simulation_results.tex @@ -19,7 +19,6 @@ \end{itemize} \item Further iterative optimization of parameters (e.g., determine LO power,\\ increase buffer current for linearity, \ldots) \item Matching of input and output - \item Replacement of remaining DC blocks/feeds in bias circuitry \end{enumerate} \end{frame} @@ -438,7 +437,7 @@ \end{tikzpicture} \end{subfigure}% \begin{subfigure}{0.5\textwidth} - \hspace{2mm} + \hspace{2mm} \begin{tikzpicture} \begin{axis}[ width=\textwidth, @@ -459,7 +458,7 @@ \end{subfigure}% \begin{subfigure}{0.5\textwidth} - \hspace{1.5mm} + \hspace{1.5mm} \begin{tikzpicture} \begin{axis}[ width=\textwidth, @@ -491,8 +490,6 @@ \addplot+[mark=none, line width=1pt] table[col sep=comma, x=f, y=NF] {res/simulation/INT_Buffer_noise.csv}; - \draw[dashed] (axis cs:135, 0) -- (axis cs:135,12); - \node at (axis cs:147,1.25) {$f_\text{LO} = \SI{135}{GHz}$}; \end{axis} \end{tikzpicture} \end{subfigure}% @@ -502,18 +499,109 @@ \begin{frame} \frametitle{Final Circuit} - \begin{itemize} - \item [TODO] A few key points - \item [TODO] Circuit diagram - \end{itemize} + \begin{figure}[H] + \centering + \vspace*{-20mm} + \hspace{40mm} + \includegraphics[width=0.7\textwidth]{res/simulation/final_01.pdf} + + \vspace*{-40mm} + \hspace{-120mm} + \includegraphics[width=0.2\textwidth]{res/simulation/final_02.pdf} + \end{figure} \end{frame} \begin{frame} \frametitle{Final Circuit} - \begin{itemize} - \item [TODO] 4 Plots of same stuff as in paper - \end{itemize} + \vspace*{-6mm} + \begin{figure} + \begin{subfigure}{0.5\textwidth} + \begin{tikzpicture} + \begin{axis}[ + width=\textwidth, + height=0.5\textwidth, + ylabel={$20 \log_{10}(s_{xy})$ (dB)}, + xlabel={$f (\text{GHz})$}, + legend pos = south east, + grid, + ] + + \addplot+[mark=none, line width=1pt] + table[col sep=comma, x=f, y=SRF] + {res/simulation/final_S_RF.csv}; + \addlegendentry{$s_{11}$ (RF)} + + \addplot+[mark=none, line width=1pt] + table[col sep=comma, x=f, y=SLO] + {res/simulation/final_S_LO.csv}; + \addlegendentry{$s_{22}$ (LO)} + \end{axis} + \end{tikzpicture} + \end{subfigure}% + \begin{subfigure}{0.5\textwidth} + \hspace{2mm} + \begin{tikzpicture} + \begin{axis}[ + width=\textwidth, + height=0.5\textwidth, + ylabel={Conversion Gain (dB)}, + xlabel={$f_\text{RF}\ (\text{GHz})$}, + xtick={-110,-100,...,170}, + ytick={10,15,...,40}, + grid, + ] + \addplot+[mark=none, line width=1pt] + table[col sep=comma, x=RFFreq, y=ConvGain] + {res/simulation/final_ConvGain_vs_RFFreq.csv}; + \draw[dashed] (axis cs:135, 5) -- (axis cs:135,40); + \node at (axis cs:147,12) {$f_\text{LO} = \SI{135}{GHz}$}; + \end{axis} + \end{tikzpicture} + \end{subfigure}% + + \begin{subfigure}{0.5\textwidth} + \begin{tikzpicture} + \begin{axis}[ + width=\textwidth, + height=0.5\textwidth, + ylabel={$\mathit{NF}_\text{dsb}\ (\text{dB})$}, + xlabel={$f_\text{IF}\ (\text{GHz})$}, + xtick={0,5,...,30}, + ytick={9,9.5,...,11.5}, + grid, + ] + \addplot+[mark=none, line width=1pt] + table[col sep=comma, x=f, y=NF] + {res/simulation/final_noise.csv}; + \end{axis} + \end{tikzpicture} + \end{subfigure}% + \begin{subfigure}{0.5\textwidth} + \begin{tikzpicture} + \begin{axis}[ + width=\textwidth, + height=0.5\textwidth, + ylabel={Conversion Gain (dB)}, + xlabel={$P_\text{RF} / P_\text{LO} \ (\text{dBm})$}, + legend pos = south west, + xtick = {-90,-80,...,10}, + ytick = {-60,-40,...,40}, + grid, + ] + \addplot+[mark=none, line width=1pt] + table[col sep=comma, x=RFPow, y=ConvGain] + {res/simulation/final_ConvGain_vs_RFPow.csv}; + \addlegendentry{RF} + + \addplot+[mark=none, line width=1pt] + table[col sep=comma, x=LOPow, y=ConvGain] + {res/simulation/final_ConvGain_vs_LOPow.csv}; + \addlegendentry{LO} + \end{axis} + \end{tikzpicture} + \end{subfigure}% + \end{figure} \end{frame} %\begin{frame} diff --git a/sections/05_conclusion.tex b/sections/05_conclusion.tex index fc24d6b..40dacca 100644 --- a/sections/05_conclusion.tex +++ b/sections/05_conclusion.tex @@ -5,24 +5,22 @@ \frametitle{Discussion \& Conclusion} \begin{itemize} - \item Mixer structure + \item General structure \begin{itemize} \item Removal of $g_\text{m}$ stage of Gilbert cell $\rightarrow$ more voltage headroom \item High bandwidth TIA and inductive peaking $\rightarrow$ high bandwidth \item Differential to single-ended conversion $\rightarrow$ dense chip-to-package transition \end{itemize} \bigskip - \item Own simulations - \begin{itemize} - \item Much higher conversion gain $\leftarrow$ technology with higher $f_\text{t}$ and $f_\text{max}$, no stability considerations - \end{itemize} - \bigskip +% \item Own simulations +% \begin{itemize} +% \item Much higher conversion gain $\leftarrow$ technology with higher $f_\text{t}$ and $f_\text{max}$, no stability considerations +% \end{itemize} +% \bigskip \item Applications of this design \begin{itemize} - \item [TODO] Applications of proposed design (why specifically 5G?) - \begin{itemize} - \item [TODO] Are BiCMOS devices, e.g., particularly cheap or easily scalable? - \end{itemize} + \item SiGe HBT technology integrable with CMOS $\rightarrow$ scalable, suitable for mixed-signal ICs + \item Ideal for electronic beam stearing in mm-Wave applications \end{itemize} \end{itemize} \end{frame} diff --git a/structure.md b/structure.md index 69e5302..b333f5e 100644 --- a/structure.md +++ b/structure.md @@ -42,8 +42,6 @@ - Compare technologies (B11HFC, SG13G2) - What are the benefits of SiGe? (e.g., RF on same chip as digital stuff) - How does the proposed topology work? - - Why the TIA? - - How does the TIA work? - Why do transmission-line based differential L-type matching networks have a high bandwidth? - How can we just remove the bottom transistors? @@ -60,11 +58,6 @@ - ~What is D-Band?~ - Simulation -## Ideas for further simulations - -- Change the buffer resistors to inductors (drawback: larger size) -- Remove feedback path from TIA (and ensure stability by other means) - ## Other notes - LSSP: Normal S-Parameters are determined for linearized systems. For this