ECE_456_Reports/PS1/doc.tex
2021-02-06 15:55:04 -07:00

99 lines
2.9 KiB
TeX

\documentclass{article}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{listings}
\usepackage{color}
\usepackage{circuitikz}
\usepackage{float}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{basicstyle=\small,
keywordstyle=\color{mauve},
identifierstyle=\color{dkgreen},
stringstyle=\color{gray},
numbers=left
}
\title{ECE 456 - Problem Set 1}
\date{2021-02-06}
\author{David Lenfesty \\ lenfesty@ualberta.ca
\and Phillip Kirwin \\ pkirwin@ualberta.ca}
\setcounter{tocdepth}{2} % Show subsections
\begin{document}
\doublespacing
\pagenumbering{gobble}
\maketitle
\newpage
\singlespacing
\pagenumbering{arabic}
\section{Introduction}
The purpose of this lab was to design control circuits according to the provided
specifications, and then verify their operation using a simulation or an FPGA.
In the first part of the lab, a series of boolean expressions
were designed to implement a Multiplexer/Demultiplexer circuit,
intended to route data from one of three radio recievers to one
of three engineers, and signal which engineer was currently
recieving data.
First, Xilinx Vivado Software was used to produce a circuit
to fulfill this objective. Then, using the same software,
the circuit was simulated against input combinations which
would be encountered during normal use, for verification.
For the second part of the lab, an Access Control circuit was to be designed,
allowing lab entry only if a valid ID was provided alongside a proper keypad
combination. Otherwise, an alarm signal was to be sent out.
The method of designing this circuit was very similar to the method in part one:
Again using Xilinx Vivado, the circuit was designed and simulated against inputs
to verify if the outputs matched those in the specification.
However, for this section, the design was also uploaded to a physical FPGA board
where various could be manually tested and validated.
\section{Design Section}
In order to design the desired systems, the Xilinx Vivado software was
used to write VHDL code that described the operation of each circuit.
\newpage
\paragraph{MUX / DEMUX Circuit}
To implement the multiplexing/demultiplexing system, the following circuit had to be written in VHDL.
The VHDL architecture below was written to implement this circuit in hardware.
\begin{lstlisting}[language=MATLAB]
U0 = 0.25;
kBT = 0.025;
mu = 0;
cal_E = 0.2;
% Capacitance parameters
alpha_G = 0.5;
alpha_D = 0.5;
alpha_S = 1 - alpha_G - alpha_D;
% Energy grid in eV, from -1 eV to 1 eV
NE = 501;
E = linspace(-1,1,NE);
dE = E(2) - E(1);
% Gamma parameters, in eV
gamma_1 = 0.005;
gamma_2 = 0.005;
gamma = gamma_1 + gamma_2;
\end{lstlisting}
\newpage
\end{document}