\documentclass[a4paper,fontsize=14bp]{article} \input{../common-preamble} \input{../fancy-listings-preamble} \input{../bmstu-preamble} \setcounter{secnumdepth}{4} \numerationTop \begin{document} \thispagestyle{empty} \makeBMSTUHeader \makeReportTitle{лабораторной}{№ 4}{Проектирование цифрового синтезатора}{Проектирование цифровых устройств на \\ программируемых логических интегральных схемах (ПЛИС)}{}{С.В. Фёдоров} \newpage \sloppy \pagestyle{fancy} \section{Цель} Осуществить полный цикл проектирования цифрового устройства на ПЛИС на языке SystemVerilog. Реализовать генератор периодических функций на основе метода прямого цифрового синтеза на микросхеме семейства Cyclone IV E. \section{Задачи} \begin{itemize} \item Реализовать модули «Накопителя фазы», «Просмотровой таблицы», «Сигма-Дельта модулятора». \item Реализовать синтезатор, используя разработанные модули. \item Осуществить моделирование каждого этапа разработки. \item В рамках самостоятельной подготовки провести расчёт значений $u_n$,$x_n$,$y'_n$ и $\varepsilon_n$ для 5 тактов работы дельта-сигма модулятора. Приведите значения для каждого такта и график выходного сигнала $y_n$. \end{itemize} \section{Выполнение работы} \subsection{Самостоятельная подготовка} Вариант 9 для первой группы $x_n = 9 * 3 - 21 = 6$. \begin{figure}[H] \centering \resizebox{\textwidth}{!}{\input{pics/03-fpga-04-sigdel.pgf}} \caption{1} \label{pic:1} \end{figure} \begin{enumerate} \item $x_n = 6, \varepsilon_n = 127$, уровень квантования 127; \item $u_{n + 1} = x_n - \varepsilon_n = 6 – 127 = -121$, при этом $\varepsilon_n = -128-(-121)=-7$, а уровень квантования -128; \item $u_{n + 2} = x_n - \varepsilon_n = 6 – (–7) = 13$, при этом $\varepsilon_n = 127 - 13 = 104$, а уровень квантования 127; \item $u_{n + 3} = x_n - \varepsilon_n = 6 – 104 = -98$, при этом $\varepsilon_n= -128-(-98) = -30$, а уровень квантования -128; \item $u_{n + 4} = x_n - \varepsilon_n = 26 – (–30) = 106$, при этом ξn= 127-106 = 11, а уровень квантования 127 F: Un+1=XN-ξn=26 – 11 = 15, при этом ξn= 127-15 = 112, а уровень квантования 127 G: Un+1=XN-ξn=26 – 112 = -86, при этом ξn= -128-(-86) = -42, а уровень квантования -128 H: Un+1=XN-varepsilonn=26 – (–42) = 88, при этом ξn= 127-88 = 39, а уровень квантования 127 \end{enumerate} \subsection{Разработка модулей} По шагам из методического материала был создан проект в САПР Quartus Prime (доступен по \href{https://git.iovchinnikov.ru/ivan-igorevich/fpga-lab-2/commits/branch/lab4}{ссылке}). \section{Выводы} \newpage \appendix \setcounter{secnumdepth}{4} \section{Приложения} \subsection{Исходные коды проекта} \label{appendix:src} \lstinputlisting[language=C,style=CCodeStyle,caption={\code{sem.c}},label={lst:sem}]{src/sem.c} \end{document}