summaryrefslogtreecommitdiff
path: root/2004/n/fpga
diff options
context:
space:
mode:
authorgalmes2004-04-20 12:39:39 +0000
committergalmes2004-04-20 12:39:39 +0000
commit7a386cba0bfbce03c3020d943a15b7ccec41970e (patch)
tree68845c1e6464d4f613d3f6f0b83e3c288dc7be29 /2004/n/fpga
parentd65924700fc71bc056344f1f0c77d3a88279f8f8 (diff)
interrupt : correction d'erreurs.
Diffstat (limited to '2004/n/fpga')
-rw-r--r--2004/n/fpga/doc/dcd/interrupt/interrupt.tex27
1 files changed, 14 insertions, 13 deletions
diff --git a/2004/n/fpga/doc/dcd/interrupt/interrupt.tex b/2004/n/fpga/doc/dcd/interrupt/interrupt.tex
index fe63820..a4adce7 100644
--- a/2004/n/fpga/doc/dcd/interrupt/interrupt.tex
+++ b/2004/n/fpga/doc/dcd/interrupt/interrupt.tex
@@ -5,7 +5,6 @@ Voici les contraintes du bloc de gestion des interruptions :
\begin{itemize}
\item{Gestion de 24 interruptions différentes}
\item{Transmission des interruptions par bloc de 8 bits}
-\item{Un signal de RAZ}
\end{itemize}
@@ -31,13 +30,14 @@ lui transmettre. On pourra voir la figure \ref{entity_interrupt} page
Du point de vue comportemental, son fonctionnement est le suivant. Dans le
fonctionnement d'un robot, nombre d'évênements sont asynchrones. Pour signaler
qu'un évênement s'est produit, le module génêre ce que l'on appel une
-interruption. Le gestionnaire d'interruption aura pour but de prévenir qu'une
-ou plusieurs interruptions se sont produitent et de permettre à l'ordinateur
-d'identifier les modules ayant généré cette ou ces interruptions.
+interruption. Le gestionnaire d'interruption aura pour but de prévenir
+l'ordinateur qu'une ou plusieurs interruptions se sont produitent et de
+permettre à l'ordinateur d'identifier les modules ayant généré cette ou ces
+interruptions.
Chaque bloc ayant un fil d'interruption le relie au gestionnaire
d'interruption. Lorsqu'un bloc génère une interruption, celle-ci arrive au
-gestionnaire d'interruption. Pour la générer, le bloc aura mis une ligne à
+gestionnaire d'interruptions. Pour la générer, le bloc aura mis une ligne à
l'état haut et conservera cet état haut, tant que l'ordinateur n'aura pas
traité la dite interruption.
@@ -79,7 +79,7 @@ et de 3 bloc three-state à huits entrées chacun.
Son fonctionnement interne est donc le suivant. Lorsqu'une interruption arrive
sur un des blocs, un signal IRQ est généré par les blocs OR. Lorsque le PC
désire consulter qui a généré une interruption, il active successivement les
-blocs three-state qui passent alors d'un état haute impédance à un état dans
+blocs three-state qui passent alors d'un état haute-impédance à un état dans
lequel sont recopiées en sortie les entrées.
@@ -89,7 +89,7 @@ lequel sont recopiées en sortie les entrées.
\subsubsection{Les blocs OU logiques : OR3 et OR8}
Ces deux blocs sont relativement simples puisque leur seule fonction est
-d'effectuer des OU logiques. La première version effectue un ou entre trois
+d'effectuer des OU logiques. La première version effectue un OU entre trois
entrées, la deuxième version entre 8 entrées.
Le code correspondant au bloc OR3 se trouve en annexe~\ref{sec:or3}
@@ -101,9 +101,9 @@ page~\pageref{sec:or8}.
\subsubsection{Le bloc trois-états : tristate}
Dans ce module, nous avons besoin de pouvoir écrire des données sur un bus.
-Pour cela, il faut que l'on puisse mettre les pattes à l'état haute-impédance.
-Un composant nommé \textit{tristate} est utilisé. L'entity de ce module est la
-suivante :
+Pour cela, il faut que l'on puisse mettre les pattes à l'état haute-impédance
+lorsqu'un autre composant désire écrire sur le bus. Un composant nommé
+\textit{tristate} est utilisé. L'entity de ce module est la suivante :
\begin{itemize}
\item{8 signaux d'entrée}
@@ -115,15 +115,16 @@ Ce composant est en fait un module asynchrone composé de huits composants
trois états. Son comportement est donc le suivant :
\begin{itemize}
-\item{Si enable (représenté par cs\_read\_output sur le schéma) est à un état
-bas, les sorties sont dans un état haute impédance (noté 'Z')}
-\item{Si enable est à l'état bas on recopie les entrées / sorties sur le bus
+\item{Si enable est à un état bas, les sorties sont dans un état
+haute-impédance (noté 'Z')}
+\item{Si enable est à l'état haut, on recopie les entrées / sorties sur le bus
de données}
\end{itemize}
Le code correspondant au bloc décrit précédement se trouve en
annexe~\ref{sec:tristate} page~\pageref{sec:tristate}.
+% TODO : relecture à partir de ici !
\subsubsection{Le gestionnaire d'interruptions : interrupt}
Ce bloc est celui dont le comportement aura été décrit précédement dans les