From f6f4c63f78b110d7cc02919a51ece0fab4a1cfdf Mon Sep 17 00:00:00 2001 From: "flyingscorpio@pinebookpro" Date: Wed, 22 Sep 2021 13:22:14 +0200 Subject: [PATCH] Add RTL --- logique-programmable/main.tex | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/logique-programmable/main.tex b/logique-programmable/main.tex index 08c7599..7f68a8e 100644 --- a/logique-programmable/main.tex +++ b/logique-programmable/main.tex @@ -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}