\input{header.tex}
\input{hyperref.tex}
\usepackage{graphicx}
\fancyhead[LR]{}

\def \labnum {2}
\def \labsubj {Схемотехника ЭВМ}
\def \labauthor {Айтуганов Д. А. \\ Чебыкин И. Б.}
\def \labgroup {P3301}
\def \labinsp {Баевских А. Н.}
\def \labname {Вариант: 2}
\input{colored_code.tex}
\isnametrue
\isonefalse
\lstset{
	caption=\lstname,
	captionpos=t,
	basicstyle=\ttfamily\selectfont\scriptsize
}
\begin{document}
\input{title.tex}

\tableofcontents
\newpage
\section{Цели работы}
\begin{enumerate}
\item Знакомство с принципами работы последовательных интерфейсов ввода/вывода: I2C, SPI.
\item Изучение основ разработки аппаратных контроллеров периферийных устройств.
\item Изучение основ работы с цифровыми датчиками.
\end{enumerate}

\section{Задача}
Разработать контроллер датчика освещенности PmodALS.

Контроллер должен реализовывать следующие функции:
\begin{itemize}
\item Поддерживать обмен данными с датчиком освещенности посредством интерфейса SPI
\item При значении переключателя SW[0] = 0 показывать факт наличия света в
аудитории с помощью светодиодов: LED[15:0] = 0xFFFF – свет выключен,
LED[15:0] 0x0000 – свет включен. Таким образом, все светодиоды должны
загораться, когда свет в аудитории выключается, и выключаться – когда свет в
аудитории есть.
\item При значении переключателя SW[0] = 1 показывать на светодиодах текущее
значение освещенности, считанное с датчика
\end{itemize}

\section{Структура модулей}
\lstinputlisting{src/lab2.v}

\lstinputlisting{src/read.v}

\lstinputlisting{src/write_led.v}

\section{Структурная схема RTL-модели}
\begin{centering}
\newpage
\includegraphics[width=\textwidth]{img/read.png}
\newpage

\includegraphics[width=\textwidth]{img/write_led.png}
\end{centering}

\section{Структура тестового окружения}
\lstinputlisting{src/test.v}

\section{Временные диаграммы}
\begin{centering}
\includegraphics[width=\textwidth]{img/graph1.png}

\includegraphics[width=\textwidth]{img/graph2.png}
\end{centering}
\section{Вывод}
В ходе данной лабораторной работы мы ознакомились с принципами работы последовательных
интерфейсов ввода/вывода на примере SPI, а также мы изучили основы работы с
цифровыми датчиками и научились разрабатывать аппаратные контроллеры периферийных
устройств.
\end{document}
