\documentclass[12pt,a4paper]{article}
%\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}

\usepackage[francais]{babel}
\usepackage[]{epsfig}
\topmargin -0.5in
\textheight 10in
\textwidth 6.5in
\evensidemargin -0.15in
\oddsidemargin = \evensidemargin
\newcommand{\br}{\overline}

%\special{landscape}

\begin{document}
\date{}
\title{TD 4 : Architecture des Ordinateurs}
\author{Première année d'IUT Informatique}
\maketitle



\section{Simplification}
Nous considérons des fonctions booléennes $f$ et $g$ définies par leurs tables de Karnaugh.

\begin{tabular}{|ccc|c|c|c|c|}
\hline
f& D&E & 00 & 01 & 11 &10 \\
A& B&C &    &    &    &   \\
\hline
0&0&0  & 1  &  0 &  0 & 0 \\
\hline
0&0&1  & 1  &  0 & 0  & 0 \\
\hline
0&1&1  & 1  &  1 &  1 & 1 \\
\hline
0&1&0  & 1  & 0  &  0 & 0 \\
\hline
1&1&0  & 1  &  0 &  0 & 1 \\
\hline
1&1&1  & 1  & 1  &  1 & 1 \\
\hline
1&0&1  & 1  &  0 & 0  & 1 \\
\hline
1&0&0  & 1  & 0  & 0  & 1 \\
\hline
\end{tabular}
et
\begin{tabular}{|ccc|c|c|c|c|}
\hline
g& D&E & 00 & 01 & 11 &10 \\
A& B&C &    &    &    &   \\
\hline
0&0&0  &  1 & 1  &  1 &  1 \\
\hline
0&0&1  &  0 &  0 &  0 &  0 \\
\hline
0&1&1  & 0  &  1 &  0 &  0 \\
\hline
0&1&0  & 1  &  1 &  1 &  1 \\
\hline
1&1&0  &  1 &  1 &  1 &  1 \\
\hline
1&1&1  & 0  &  1 & 0  & 0  \\
\hline
1&0&1  & 0  & 0  &  0 & 0  \\
\hline 
1&0&0  & 1  &  1 & 1  & 1  \\
\hline
\end{tabular}

\begin{enumerate}
\item A l'aide des tables de Karnaugh.
\begin{enumerate}
\item Donner les expressions simplifiées des premières formes canoniques  de ces fonctions.
\item Donner les expressions simplifiées des secondes formes canoniques  de ces fonctions.
\end{enumerate}
\item Donner les schémas des circuits correspondant.
\end{enumerate}




\section{Indicateur de niveau}

Nous désirons visualiser à l'aide d'une barre de $k$ diodes le niveau d'un signal codé sur $n$ fils qui représentent la valeur écrite en base deux de ce niveau.

Les diodes sont notées $d_1,d_2,...,d_k$. 
Les fils du niveau du signal sont notés $e_0,e_1,...,e_{n-1}$, la valeur représentée est $ v = \sum_{i=0}^{n-1} e_i 2^i$.

\setlength{\unitlength}{0.2\textwidth}\begin{picture}(1,1)
 \includegraphics[height=0.2\textwidth]{signal.pdf} 
\end{picture}



\subsubsection{Questions préliminaires}
Pour un indicateur linéaire le nombre de diodes éclairées (successives en partant du bas) correspond à la valeur $v$ du signal.
\begin{enumerate}
\item Combien de niveaux  peut-on coder sur $n$ fils ? 
\item Dans ce cas quel est le nombre maximal de diodes utiles en prenant comme convention que le niveau $v = 0$  n'éclaire aucune diode ?
\end{enumerate}




\subsubsection{Indicateur linéaire pour n= 4 et k = 15}

\begin{enumerate}
\item Donner les expressions des $d_i$ pour $i = 1,..,15$ en fonction des entrées $e_0,e_1,e_2,e_3$. Justifier vos réponses soit par une phrase soit par une table de karnaugh.
\item Construire le circuit correspondant au décodeur.
\end{enumerate}


\subsubsection{Indicateur  pour n=8 et k= 8}

\begin{enumerate}
\item Quelle solution proposez vous  dans le cas d'un indicateur linéaire? Donner un exemple pour illustrer.
\item Peut-on envisager un autre mode d'indication ? Expliquer et justifier votre réponse.
\end{enumerate}


\newpage
\section{Simulation sur tkgate}


Reprendre les questions précédentes pour contruire sous tkgate les circuits trouvés et faire des simulations.

\subsection*{Petit mode d'emploi de tkgate}

Lancement du logiciel : /usr/local/bin/tkgate
(vous pouvez suivre les instructions en anglais sinon voir ci-dessous
une version en français)

\begin{enumerate}
\item Dans le menu ``file'' sélectionner ``New''. Donner un nom de fichier
avec l'extension ``.v'' et un nom de module par exemple ``principal''.
\item Pour positionner une porte logique il suffit de sélectionner sous la barre menu l'icône ``flèche'' et de "cliquer" sur le bouton
droit de la souris à l'endroit où vous désirez placer cette porte. Une croix
``x'' apparaît. Le choix de la porte se trouve dans les menu ``Make'', sous menu ``Gate''. Dans le menu ``Tool'' vous avez la possibilité de pré-sélectionner
une orientation si celle par défaut ne vous convient pas.
\item Une fois les portes placées, les connexions sont établies simplement
avec la souris en reliant les deux points de soudure ``wire'' en laissant le bouton droit appuyé.
\item Pour effectuer une simulation il faut placer en entrée des ``switch''et
en sortie des ``led''( menu ``Make'', sous menu 'I/O'') et les connecter au circuit.
Cette opération terminée la simulation se fait simplement en sélectionnant
deux fois l'icône ``lecture''.
\end{enumerate}


En sélectionnant une des deux icônes ``pince'' ou sa voisine de gauche
il est possible de déconnecter ou de supprimer une porte.
Il est possible d'utiliser des raccourcis clavier ( a pour and,...).



\section{Compléments sur ``tkgate''}

\subsection{Création d'un bus}
\begin{itemize}
\item Il est possible de fusionner en un bus ou de séparer les fils d'un
bus.
\item Pour ceci il faut utiliser dans le menu ``ajouter-E/S'' un
  ``fusionner-connexion''.
\item Ensuite,  ajouter  des connexions en sélectionnant (bouton
  gauche sur partie bleu)
  ``ajouter entrée''. Puis préciser la largeur du bus (bouton gauche
sur partie rouge) qui doit correspondre au nombre de connexions.
\item ATTENTION : on ne peut connecter que des bus de même largeur.
\end{itemize}

 

\subsection{Création d'un module}

\begin{enumerate}
\item Sélectionner (touche gauche) la position où placer le module.
Puis dans le menu ``ajouter-module'' sélectionner ``module instance''.
Donner un nom à votre module. (modification de la taille avec la
touche gauche)
\item Pour ajouter des entrées et des sorties, utiliser la touche
  droite en vous positionnant sur un bord. Présider le nom du port et
  la largeur du bus.
\item Dans le menu ``module'' sélectionner ``appliquer interface''
  pour lier définitivement les entrées-sorties au module.
\item Le contenu du module peut être défini en sélectionnant
  (touche gauche) le module, puis ``ouvrir'' dans le menu ``module''.
\item Une fois le module ouvert, il faut définir les entrées et les
  sorties en les positionnant (touche gauche) puis en sélectionnant
  dans le menu ``ajouter-module''  ``module input'' ou ``module
  output''.
Il ne faut pas oublier de faire correspondre les noms de ces
entrées-sorties avec les
noms des ports du module. Vous pouvez construire votre circuit.
\item Une fois construit, vous avez la possibilité d'ajouter 
  des exemplaires
de ce module, pour ceci choisir une position (bouton gauche) puis
dans le menu ``ajouter-module'' sélectionner ``module instance'' où
vous précisez le nom du module en question.
\end{enumerate}




\end{document}











