efrei/logique-programmable/exercices/ctd2.tex

63 lines
2.1 KiB
TeX
Raw Normal View History

2021-10-19 16:55:54 +02:00
\documentclass[a4paper,french,12pt]{article}
\title{Logique Programmable --- CTD2}
\author{}
\date{Dernière compilation~: \today{} à \currenttime}
\usepackage{../../cours}
\usepackage{enumitem}
\begin{document}
\maketitle
\begin{enumerate}
\item Donner l'acronyme d'EDA\@.
Donner les 3 étapes du workflow pour configurer un FPGA\@.
\item Expliquer la différence entre le VHDL de simulation et le VHDL de synthèse.
Donner le mot clef non synthétisable.
Le VHDL de simulation n'est pas forcément synthétisable.
C'est le VHDL algorithmique, de test, etc.
Le VHDL de synthèse sert à configurer des FPGA\@.
\texttt{wait} n'est pas synthétisable.
\item En VHDL, dans l'architecture, à quoi sert un signal~?
À interconnecter des process.
\item
2021-10-25 13:50:24 +02:00
\item
\item \begin{itemize}
\item Rappeler les équations logiques d'un demi-additionneur 2 bits.
Le décrire en VHDL\@.
\begin{align*}
\texttt{s} &= \texttt{a} \oplus \texttt{b} \\
\texttt{cout} &= \texttt{a} \cdot \texttt{b}
\end{align*}
\begin{lstlisting}[gobble=20]
s = a xor b;
cout = a and b;
\end{lstlisting}
\item Rappeler les équations logiques d'un additionneur complet.
Le décrire en VHDL à partir de la description d'un demi-additionneur.
\begin{align*}
\texttt{full\_s} &= (\texttt{full\_a} \oplus \texttt{full\_b}) \oplus \texttt{full\_cin} \\
\texttt{full\_cout} &= \texttt{full\_a} \cdot \texttt{full\_b} + \texttt{full\_cin} \cdot (\texttt{full\_a} \oplus \texttt{full\_b})
\end{align*}
\begin{lstlisting}[gobble=20]
full_s = (full_a xor full_b) xor full_cin;
full_cout = full_a and full_b or full_cin and (full_a xor full_b);
\end{lstlisting}
\end{itemize}
2021-10-19 16:55:54 +02:00
\end{enumerate}
\end{document}