efrei/logique-programmable/exercices/ctd1.tex

153 lines
4.4 KiB
TeX
Raw Normal View History

2021-09-30 20:57:10 +02:00
\documentclass[a4paper,french,12pt]{article}
\title{Logique Programmable --- CTD1}
\author{}
\date{Dernière compilation~: \today{} à \currenttime}
\usepackage{../../cours}
\usepackage{enumitem}
\begin{document}
\maketitle
\begin{enumerate}
\item Citer les niveaux d'abstraction de conception d'un circuit électronique, du moins élevé au plus élevé.
2021-09-30 21:55:52 +02:00
physique --- logique --- RTL --- algorithmique
\item Parmi ces niveaux, lequel correspond aux outils d'EDA (Electronic Design Automation)~?
RTL
\item Le language VHDL est-il un language de description ou de programmation~?
De description.
\item Quelles sont les deux fonctions de ce langage~?
Simulation et synthèse.
\item Dans un fichier VHDL, à quoi sert l'entité~?
À quoi sert l'architecture~?
L'entité décrit les entrées et sorties.
L'architecture décrit les étapes nécessaires pour l'implémentation.
\item Compléter en VHDL l'entité du bloc suivant.
Vous utiliserez les types \texttt{std\_logic} et \texttt{std\_logic\_vector}.
\begin{center}
\includegraphics[width=0.4\linewidth]{./img/ctd1-q6-bloc.png}
\end{center}
\lstinputlisting{./vhdl/ctd1-q6.vhd}
\item Compléter le chronogramme suivant (sortie Q d'une bascule D).
\includegraphics[width=\linewidth]{./img/ctd1-q7-chronogramme.png}
\item Compléter le chronogramme suivant (sortie S d'un multiplexeur de bus), sachant que
\begin{lstlisting}[gobble=12]
S <= A when SEL = '0' else
B;
\end{lstlisting}
\begin{center}
\includegraphics[width=0.6\linewidth]{./img/ctd1-q8-chronogramme.png}
\end{center}
\item Compléter le chronogramme suivant~:
\begin{lstlisting}[gobble=12]
S <= A when SEL = '0' else
B;
\end{lstlisting}
\begin{center}
\includegraphics[width=0.6\linewidth]{./img/ctd1-q9-chronogramme.png}
\end{center}
\item Compléter les phrases selon les schémas ci-dessous~:
\includegraphics[width=\linewidth]{./img/ctd1-q10.png}
Le schéma 1 est combinatoire asynchrone. \\
Le schéma 2 est séquentiel synchrone. \\
Le schéma 3 est séquentiel asynchrone. \\
Le schéma 4 est combinatoire synchrone.
\item Les circuits ci-dessous sont-ils synchrone/asynchrone~? combinatoire/séquentiel~?
Donner leur description en VHDL\@.
2021-10-02 17:49:11 +02:00
\begin{enumerate}
2021-09-30 21:55:52 +02:00
2021-10-02 17:49:11 +02:00
\item Combinatoire asynchrone
2021-09-30 21:55:52 +02:00
2021-10-02 17:49:11 +02:00
\begin{center}
\includegraphics[width=0.5\linewidth]{./img/ctd1-q11-1.png}
\end{center}
2021-09-30 21:55:52 +02:00
2021-10-02 17:49:11 +02:00
\begin{lstlisting}[gobble=20]
s <= not (a and b and (c or d));
\end{lstlisting}
\item Séquenciel asynchrone
\begin{center}
\includegraphics[width=0.5\linewidth]{./img/ctd1-q11-2.png}
\end{center}
\begin{lstlisting}[gobble=20]
s <= not (s and b and (c or d));
\end{lstlisting}
\item Combinatoire synchrone
\begin{center}
\includegraphics[width=0.5\linewidth]{./img/ctd1-q11-3.png}
\end{center}
\begin{lstlisting}[gobble=20]
process (clk)
begin
if rising_edge (clk) then
s <= a and b and (c or d);
end if;
end process;
\end{lstlisting}
\end{enumerate}
\item Les circuits ci-dessous sont-ils synchrone/asynchrone~? combinatoire/séquentiel~?
Donner le schéma.
\begin{itemize}
\item Séquenciel asynchrone
\begin{lstlisting}[gobble=20]
s <= a or b and s;
\end{lstlisting}
\item Combinatoire synchrone
\begin{lstlisting}[gobble=20]
process (clk, rst)
begin
if rst = '1' then
s <= '0';
elsif rising_edge (clk) then
s <= a and b
end if;
end process;
\end{lstlisting}
\end{itemize}
2021-09-30 21:55:52 +02:00
2021-09-30 20:57:10 +02:00
\end{enumerate}
\end{document}