28.01.2015 Views

Planche TD 2

Planche TD 2

Planche TD 2

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Université Joseph Fourier Année 2013/2014<br />

Master 1 Informatique<br />

Option<br />

Introduction à la modélisation et à la vérification des systèmes numériques<br />

<strong>Planche</strong> d'exercices n°2<br />

Exercice 1.<br />

1. Ecrire la description VHDL, dans le style dataflow, du circuit ci-dessous (convertisseur code<br />

binaire -> code de Gray 1 sur 3 bits), en négligeant les temps de traversée des portes logiques :<br />

A<br />

X<br />

B<br />

Y<br />

C<br />

Z<br />

2. Proposer une entité de test de façon à considérer tous les cas d'essais possibles pour les stimuli<br />

d'entrée.<br />

Exercice 2.<br />

On considère un système de multiplexage, dont l'entité VHDL est donnée ci-dessous, qui<br />

fonctionne comme suit : si le bit de contrôle c est à '1', le circuit reçoit sur sa sortie la valeur du<br />

vecteur d'entrée a, sinon il reçoit sur sa sortie la valeur du vecteur d'entrée b.<br />

entity MUX is<br />

generic(N:positive);<br />

port(c:in bit; a,b:in bit_vector(0 to N-1); s:out bit_vector(0 to N-1));<br />

end MUX;<br />

Proposer une réalisation de ce système (attention, on sera dans un style purement dataflow avec<br />

une instruction for..generate, les temps de traversée des portes étant négligés).<br />

Proposer une entité de test avec quelques jeux d'essai significatifs, pour une instance 4 bits de ce<br />

composant.<br />

1 Voir par exemple http://fr.wikipedia.org/wiki/Code_de_Gray ou page 50 du cours<br />

Codage de Gray : le principe est similaire à celui du codage binaire, mais l'objectif est de ne modifier qu'un seul bit à<br />

la fois quand un nombre est augmenté d'une unité. Par exemple, sur 3 bits :<br />

0 0 0 0<br />

1 0 0 1<br />

2 0 1 1<br />

3 0 1 0<br />

4 1 1 0<br />

5 1 1 1<br />

6 1 0 1<br />

7 1 0 0


Exercice 3.<br />

Le schéma ci-dessous représente un comparateur : ce circuit reçoit en entrées deux vecteurs de<br />

bits A et B, et une retenue entrante, et fournit en sortie un bit X qui vaut '1' si l'entier naturel codé<br />

par A est strictement supérieur à celui codé par B, et '0' sinon (sous l'hypothèse que la retenue<br />

entrante est positionnée à '0').<br />

Ecrire sa description VHDL, utiliser le style dataflow pour le composant de base, et le style<br />

structurel pour le comparateur.<br />

A 0 B 0 X_IN A 1 B 1<br />

A n-1<br />

Bn-1<br />

X n-1<br />

X 1 X 2<br />

X

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!