This commit is contained in:
flyingscorpio@pinebookpro 2021-09-22 13:22:14 +02:00
parent d881c1e6c5
commit f6f4c63f78

View file

@ -804,4 +804,45 @@
\subsubsection{La bascule synchrone JK}
\clearpage
\section{Register Transfer Level (RTL)}
Le RTL est le niveau au dessus des couches physiques et logique, mais en dessous des couches algorithmique de haut niveau.
Jusque dans les années 1970, les circuits électroniques étaient faits à la main.
Avec l'apparition de l'Electronic Design Automation (EDA), il a fallu automatiser.
On a pu créer des puces, c'est-à-dire des circuits plus petits et denses.
Au niveau Algorithmique on s'intéresse au côté fonctionnel de ce qu'on cherche à faire.
Quand on passe au niveau RTL, on cherche à savoir combien de portes logiques on veut, quelles sont les contraintes.
Au niveau encore en dessous, on va déterminer le routage des portes et puis leur fabrication.
L'ingénieur / designer s'occupe des couches Algorithmique et RTL, tout le bas sera automatisé par EDA\@.
Pour cela il a besoin de feedback.
Il va donc considérer des contraintes que le logiciel EDA pourra prendre en compte pour indiquer si elles ont été respectées ou pas.
On peut choisir ses contraintes, par exemple consommation, taille de puce, ressources, temps\ldots
Pour programmer au niveau RTL on va utiliser un langage descriptif, le VHSIC Hardware Description Language (VHDL), qui fonctionne en logique séquentielle (opérations exécutées relativement à une horloge).
Ce langage est apparu en 1987 et destiné dans un premier temps à la simulation (pour tester les circuits avant de les fabriquer), puis à la synthèse.
\subsection{Exemple de la bascule D}
La bascule D est séquentielle et synchrone.
\begin{itemize}
\item synchrone~: conditionné par une horloge.
\item séquentiel~: grâce à l'effet mémoire, la sortie de l'état précédent peut être réinjectée en entrée.
\end{itemize}
\subsection{Exemple du multiplexeur}
Le multiplexeur est combinatoire et asynchrone.
Il n'utilise pas d'horloge et n'a pas de mémoire.
\end{document}