Exercices de microélectronique - 3° partie, Exercices de Mathématiques
Caroline_lez
Caroline_lez28 January 2014

Exercices de microélectronique - 3° partie, Exercices de Mathématiques

PDF (1 MB)
9 pages
60Numéro de visites
Description
Exercices de mathématiques sur la microélectronique - 3° partie. Les principaux thèmes abordés sont les suivants: Système de surveillance de parking, conception de circuits intégrés, conception synchrone et VHDL.
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 9
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document
TD1 2007 microélectronique EII2

Figure 2 : architecture du corrélateur

2. Système de surveillance de parking (5 points) On souhaite développer un système de surveillance de parking de 100 places qui compte les voitures entrantes et sortantes. Le parking a une porte à travers laquelle une seule voiture à la fois peut entrer ou sortir. Deux paires de LED/Photo-Detector A et B sont montées à l’entrée de la porte et permettent de détecter le passage de la voiture. Chaque détecteur PA et PB produit un ‘1’ quand une voiture obscurcit le détecteur correspondant. Quand une voiture entre dans le parking, l’avant de la voiture obscurcit la LED B puis la LED A. Quand le véhicule continue d’avancer, la LED B devient visible à nouveau, suivie par la LED A. Le processus est inversé pour une voiture quittant le parking.

Figure 3 : principe de fonctionnement du système de surveillance

L’objectif est de définir un modèle synthétisable de ce système. Le modèle doit inclure une machine d’états finie à deux entrées (PA, PB) et des sorties servant à commander un compteur qui s’incrémente et se décrémente. La sortie du système est la valeur du compteur sous la forme d’un entier (NB_VOITURE), ainsi qu’un signal qui indique si le parking est plein (PLEIN), c’est-à-dire si le nombre de voitures est égal à 100. 1. Donnez la spécification VHDL RTL (architecture) du compteur. 2. Donnez le diagramme d’état suivant le modèle de Moore du contrôleur. 3. En déduire la spécification VHDL (architecture) du contrôleur. 4. Après avoir dessiné un schéma bloc du système complet, donnez sa spécification VHDL

(architecture) structurelle.

docsity.com

ENSSAT EII2 26 avril 2006 DS de conception de circuits intégrés (1h)

Tous les documents sont autorisés

1. Consommation d’un circuit CMOS (~2.5 points) Cet exercice vise à estimer l’activité du circuit décrit dans la figure ci-contre afin d’en déduire sa consommation de puissance. On considérera que les entrées A et B ont des probabilités PA et PB d’être à 1. Ne pas chercher à simplifier le schéma.

(a) Après avoir donné la table de vérité de S1, S2 et S, vous donnerez les probabilités P(S1=1) et P(S2=1) que les nœuds S1 et S2 valent 1 en fonction de PA et PB. Vous en déduirez les activités αS1 et αS2 lorsque PA et PB = 1/2. (b) Exprimer P(S=1) en fonction de PS1 et PS2 de façon directe. (c) Dans ce schéma, la valeur de la sortie S dépend de S1 et S2 qui dépendent eux-mêmes de A et B. Il est donc nécessaire d’utiliser des probabilités conditionnelles entre S1 et S2. Exprimer P(S=1) à l’aide de probabilités conditionnelles aux valeurs de S1 et S2. On rappelle que la probabilité de X sachant la valeur de Y vaut P(X|Y) = P(X∩Y)/P(Y). Donner l’application numérique lorsque PA et PB = 1/2. (d) Après en avoir déduit l’activité en S αS, donner la puissance moyenne consommée par le circuit complet. On considérera que chaque nœud du circuit (S1, S2, S) est équivalent à une capacité C.

2. Optimisation d’un fil d’interconnexion (~2.5 points)

Soit le circuit décrit dans la figure ci-dessus consistant en deux inverseurs servant de buffer pour commuter un fil de longueur L. On posera dans notre cas L = 5 mm, ce qui correspond à une longueur moyenne de bus d’interconnexion. Le tableau ci-dessous donne les valeurs de capacités d’entrée et de temps de propagation pour deux types d’inverseur avec des « drive » différents. Les temps de propagation sont donnés pour deux valeurs de charges différentes. La technologie utilisée est 130nm.

(a) Donnez pour l’inverseur « INVD2 » la valeur du délai de transport DT, i.e. le temps de propagation de l’inverseur non chargé. (b) En déduire les valeurs de Rn (résistance des transistors de l’inverseur INVD2) et Cint (capacité interne de l’inverseur INVD2). On considérera que Rn = Rp. (c) La capacité équivalente du fil par rapport au substrat est composée de la somme de la capacité de côté du fil et de la capacité de surface donnée par le dessous du fil. Elle est modélisée par les équations du tableau donnée page suivante. Donner la capacité équivalente d’un fil de longueur L = 5 mm. (d) Donner le temps de propagation entre les points A et B si les inverseurs sont de type INVD2. On considérera le point B chargé par 2 fF. (e) Dans le cas où on insert un inverseur INVD4 au milieu du fil, donnez le nouveau temps de propagation entre les points A et B. (f) Quel élément important du fil a-t-on négligé dans cette analyse ? Quelle est son influence sur les temps calculé ?

Cg Tp avec Cl = 2 fF Tp avec Cl = 16 fF Rn = Rp Cint INVD2 7 fF 27 ps 65 ps ? ? INVD4 13 fF 28 ps 33 ps ? ?

docsity.com

Coupe du fil interconnectant les deux inverseurs

Capacité du fil en fonction de sa longueur L : Cfil(L) = Ccôté(L) + Csurface(L) avec Ccôté(L) = CMi.L Csurface(L) = CSi.L.W W : largeur du fil W = 0.2 µm CMi = 0.036 fF/µm CSi = 0.050 fF/µm2

3. Etude d’un circuit combinatoire CMOS (~4 points) On désire réaliser un incrémenteur CMOS sur 4 bits par la méthode de la retenue propagée, dont la vue extérieure est donnée figure 2. Ce circuit combinatoire réalise la fonction suivante : B = A+1, avec A et B des données représentées sur 4 bits en complément à deux et Cout la retenue sortante permettant de cascader ce circuit pour réaliser des fonctions sur un plus grand nombre de bits. On fera tout d’abord la conception au niveau transistor d’un incrémenteur élémentaire sur 1 bit (figure 1) que l’on cascadera ensuite avec d’autres pour réaliser la fonction sur 4 bits.

A0 B0

Cin Cout

F

A

B

Cout +1

Figure 1 : incrémenteur sur 1 bit Figure 2 : incrémenteur sur 4 bits 1. On s’intéresse tout d’abord à la synthèse du circuit combinatoire sur 1 bit de la figure 1. Toutes les

entrées/sorties sont sur un bit. On a B0 = A0 plus Cin = A0 XOR Cin, et Cout = A0 AND Cin gère les débordements de l'addition. À quelle valeur doit-on placer Cin pour obtenir un incrémenteur sur 1 bit ? Si on réalise un schéma transistor direct à partir d’un XOR et d’un AND, quel est le nombre de transistor utilisé ?

2. En exprimant la sortie B0 à partir de NCout =

!

Cout , montrer que l’on peut obtenir : B0 = NCout.(A0+Cin). Donner le schéma transistor de B0 selon cette équation.

3. Donner les temps de montée et de descente de Cout et de B0. On posera, pour tous les transistors NMOS et PMOS, des résistances respectivement équivalentes à Rn et Rp et des capacités de grille respectivement équivalentes à Cgn et Cgp. Les autres éléments parasites seront négligés. Les sorties B0 et Cout sont chargées par une capacité équivalente à un inverseur.

4. Donner le schéma d'un incrémenteur à retenue propagée sur 4 bits utilisant le circuit sur 1 bit défini précédemment. Quel est le temps du chemin critique de l'incrémenteur 4 bits.

5. Il est possible de diminuer le chemin critique de l'incrémenteur 4 bits en propageant NCout plutôt que Cout et en utilisant des inverseurs. Expliquer le principe de cette solution.

3. Analyse de performances (~2 points)

Tpbascule = 5ns,Tsetup = 5ns, Tadd = 30ns

δ est le temps de « skew », c’est-à-dire la différence entre Tφ' et Tφ, les instants où les horloges φ et φ' ont leurs fronts montants respectifs. 1 Dessinez le chronogramme des signaux A, B, C, D, φ et φ'. 2 Dans le cas où δ = 0, quelle est la fréquence maximale de

fonctionnement du système. 3 Exprimez la fréquence maximale du système en fonction de δ. 4 Expliquez à quoi peut être dû le phénomène de skew et

comment δ peut être positif ou négatif.

docsity.com

ENSSAT EII2 13 juin 2006

DS de conception de circuits intégrés Deuxième partie : conception synchrone et VHDL

Tous les documents sont autorisés (1h)

1. Synthèse VHDL de circuit synchrone (4 points) ENTITY ds IS PORT(Din, reset, clk, E1, E2: IN BIT; Dout : OUT BIT ); END ds; ARCHITECTURE cool OF ds IS SIGNAL Q: BIT; BEGIN PROCESS(reset,clk) BEGIN IF reset = '0' THEN Q <= '0'; ELSIF clk'event AND clk='1' THEN IF E1 = '1' AND E2 = '1' THEN Q <= Din; END IF; END IF; END PROCESS; PROCESS(E1,E2,Q) BEGIN IF E1 = '0' AND E2 = '0' THEN Dout <= Q; END IF; END PROCESS;

END cool;

1. Donnez le schéma à base de portes logiques du composant décrit ci-contre (ENTITY ds). Ne vous préoccupez pas de la fonctionnalité de ce bloc.

2. Donnez les spécifications VHDL (architecture) du circuit de la figure 1 sans utiliser de « structurel » et en utilisant un seul processus synchrone. Les entrées et sorties sont de type Std_Logic ou Std_Logic_Vector et arrivent synchronisées sur l'horloge. Les blocs « MAX » et « + » sont combinatoires. La partie synchrone effectuant le comptage tient à jour un signal count sur 3 bits et contient une horloge clk et un reset asynchrone. Les signaux overflow et clear doivent répondre immédiatement aux changements de valeurs de count. Ce qui se passe après que un de ces signaux soit activé n'est pas utile dans notre cas.

MAX

MAX +

SI res est pair count ++;

SINON count --;

SI count = 7 overflow='1';

SI count = 0 clear='1';

A[7 :0]

B[7 :0]

C[7 :0]

D[7 :0]

RES

overflow

clear

RES

Figure 1

2. Synthèse d’un diviseur micro-programmé (6 points)

On souhaite réaliser la division X/Y de deux nombres entiers X et Y (X ≥ 0, Y ≥ 0, X < Y) sur 4 bits par une méthode itérative selon l'algorithme décrit ci-dessous. La compréhension précise de l'algorithme n'est pas nécessaire pour cet exercice. X et Y sont les entrées, Q le quotient est compris

docsity.com

entre 0 et 1 et codé sur N bits (on prendra N = 8). Le reste R n'est pas calculé ici. div est un signal permettant de déclencher la division. ok est un signal passant à 1 lorsque le résultat est disponible dans Q. L’architecture (vue extérieure et composants) du circuit de division est donnée en figure 2. X et Y sont des registres 4 bits, Q est un registre 8 bits, l’ALU effectue addition ou soustraction en fonction d’un signal de commande add_sub et fournit un résultat signé. CPT est le décompteur de boucle sur n=3 bits avec n=log2N. Il possède un signal enable et un signal init d'initialisation à N-1 et un reset asynchrone. Il fournit le signal i sur n bits.

Algorithme de division de X par Y selon : X = Q.Y + R attendre que div passe à 1 charger les registres X et Y, initialiser le compteur de boucle à N-1 pour i de N-1 vers 0 faire

X <= X * 2; X <= X – Y; si X >= 0 alors

Q[i] <= '1'; sinon

Q[i] <= '0'; X <= X+Y;

finsi finpour positionner ok à 1

Figure 2 : vue extérieure et composants de l’architecture du diviseur

1. Le registre X est un registre à décalage à chargement parallèle. Il possède un signal de chargement parallèle load_X et un signal de décalage shift_X. Donner sa spécification VHDL RTL (entity/architecture).

2. Le registre Q est un registre sur N=8 bits dont on peut charger chaque bascule interne Q[i] en fonction de la valeur de ses entrées qi sur 1 bit et i sur n bits. Il possède un signal de chargement parallèle load_Q. Donner sa spécification VHDL RTL (architecture).

3. Le contrôleur possède les entrées suivantes : reset asynchrone, état du compteur i, signal de déclenchement div, valeur du signal X; et les sorties suivantes : ok, shift_X, add_sub, load_X, load_Y, enable, init, qi, load_Q. Donnez le diagramme d’état suivant le modèle de Moore de ce séquenceur.

4. Donnez la spécification VHDL (architecture) du contrôleur. 5. Si il est possible d'optimiser le nombre de cycles pour effectuer une division et/ou la surface du

diviseur, expliquez comment optimiser l'architecture et son contrôle.

Xin Xout

load_X shift_X

Y Yin

Yout

load_Y

add_sub

Q

qi Xout

load_Q i

i

enable init

CPT

UC

div i

X

X

.

.

div ok

ok

docsity.com

ENSSAT EII2 13 avril 2005 DS de conception de circuits intégrés (1h)

Tous les documents sont autorisés

1. Conception d’un multiplexeur CMOS (~4 points) Soit le circuit décrit dans la figure ci contre. Il s’agit d’un multiplexeur 2 vers 1, laissant passer x0 lorsque s = 0 et x1 lorsque s = 1, suivi d’un inverseur. On considérera tous les transistors NMOS de taille identique (2λx6λ), les PMOS de taille double et on posera leurs éléments parasites : Rn, Rp, Cgn, Cgp.

(a) Concevez ce multiplexeur sous forme de porte complexe en CMOS complémentaire statique. Décrivez votre démarche et tracez le schéma au niveau des transistors. (b) Tracez le schéma au niveau des transistors d’une implantation à base de portes de transmission. (c) Donnez les temps de montée Tplh et de descente Tphl des deux versions (a) et (b) de portes, en fonction de Rn, Rp, Cgn, Cgp, Cl, lorsque celles-ci sont chargées par une capacité Cl équivalente à l’entrée d’un inverseur. Que vaut cette capacité Cl ? (d) Enumérez les avantages et inconvénients de l’implantation à base de portes de transmission par rapport à celle sous forme de porte complexe. (e) Donnez les valeurs des probabilités - Prob(y=1) et Prob(y=0) – et de l’activité αy de la sortie en fonctions des probabilités des entrées : Px0 = Prob(x0=1) ; Px1 ; Ps Que vaut cette activité lorsque Ps = Px0 = Px1 = 1/2 ? (f) Donnez la puissance moyenne consommée par la porte en CMOS statique (a) lorsque celle-ci est chargée par une capacité Cl équivalente à l’entrée d’un inverseur et que Ps = Px0 = Px1 = 1/2.

2. Analyse d’un circuit CMOS (~3 points) Soit le circuit décrit dans la figure ci contre. On posera les éléments parasites des transistors NMOS et PMOS: Rn, Rp, Cgn, Cgp. (a) Donnez la fonction logique de ce circuit. (b) Rappelez comment varient ces éléments en fonction des tailles L et W des transistors. (c) Donnez les temps de montée Tplh et de descente Tphl en fonction de Rn, Rp, Cgn, Cgp, Cl, lorsque la cellule est chargée par une capacité Cl équivalente à l’entrée d’un inverseur. (d) Proposez, pour chaque transistor de la cellule, un rapport W/L permettant d’équilibrer les temps de montée et descente de la cellule globale pour un maximum de combinaison des entrées. (e) Quelles sont les combinaisons de transitions des entrées qui impliquent les temps de propagation (montée et descente) au pire cas ?

B

S

C

A

C

B

A

D

D

docsity.com

3. Etude d’un circuit synchrone (~3 points)

(a) Donnez le chemin critique du circuit de la figure ci dessous en considérant que H1 et H2 ont leur front au même instant (temps des inverseurs nuls). Le calcul des temps de propagation doit tenir compte des sortances de chaque porte. Donnez dans ce cas la valeur de la fréquence maximale de fonctionnement. (b) En pratique les horloges H1 et H2 sont décalées. Que vaut le décalage sur les horloges (skew) dans notre cas ? (c) Tracez, en considérant le skew et les temps de propagation des portes et des bascules, le chronogramme de fonctionnement des signaux : H1, H2, Q0, D1, Q1, D2. (d) À partir du chronogramme précédent, déduire la fréquence maximale de fonctionnement du circuit en considèrent le skew entre H1 et H2 ?

Caractéristiques temporelles des portes en ns avec CLD la capacité de charge exprimée en pf

Tp(And) = 0,5 + 3.CLD Tp(Xor) = 1 + 4.CLD Tp(Inv) = 0,25 + 2.CLD Bascule D : Tsetup = 0,15 ns ; TpD->Q = 2,5 + 2.CLD

La capacité de charge équivalente de l’entrée d’une cellule vaut 0,05pF quelle que soit la cellule.

D Q

Q0

D Q

Q1

D Q

Q2

clock

H1 H2

D1 D2 D0

docsity.com

ENSSAT EII2 22 juin 2005

DS de conception de circuits intégrés Deuxième partie : conception synchrone et VHDL

Tous les documents sont autorisés (1h)

1. Synthèse VHDL de circuit synchrone (4 points) 1. Donnez la spécification comportementale du circuit de la figure 1 (entity/architecture) en

n’utilisant aucune instruction de type port map. Tous les fils sont des std_logic ; A et clk sont les entrées ; S est la sortie ; Q0 et Q1 sont des signaux intermédiaires.

D Q

Q0

D Q

Q1

A S

clk Figure 1 : circuit de l’exercice 1.1

2. Donnez le schéma au niveau porte (du style de celui de la figure 1) correspondant à la

spécification VHDL du tableau 1 ci-dessous. Expliquez. ENTITY ds05 IS PORT(Din,rstb,clk,A,B,C :IN Std_logic ; Dout,S :OUT Std_logic) ; END ds05 ; ARCHITECTURE super OF ds05 IS SIGNAL Q1,Q2 :Std_logic ; BEGIN One :PROCESS(rstb,clk) BEGIN IF rstb=’0’ THEN Q1 <= ‘0’ ; ELSIF clk’event AND clk=’1’ THEN IF A=’1’ THEN Q1 <= Din ; ELSE Q2 <= Q1 AND B ; END IF ; END IF ;

END PROCESS One;

Two :PROCESS(C,Q2) BEGIN IF C=’1’ THEN Dout <= Q2 ; END IF ; END PROCESS Two ; Three :PROCESS(Q1,Q2) BEGIN IF Q1=’1’ AND Q2=‘1’ THEN S <= ‘1’ ; ELSE S <= ‘0’ ; END IF ; END PROCESS Three ;

END super ;

Tableau 1 : spécification VHDL de l’exercice 1.2

2. Synthèse d’un multiplieur micro-programmé (6 points) On souhaite réaliser la multiplication de deux nombres signés en complément-à-2 (Cà2) sur 4 bits par une méthode itérative. L’architecture (vue extérieure et composants) du circuit de multiplication est donnée en figure 2. R1, R2, R3 sont des registres 4 bits, H est une bascule, l’ALU effectue

docsity.com

addition ou soustraction en Cà2 en fonction d’un signal de commande. L’algorithme de calcul de la multiplication est donné dans le tableau 2 ci-dessous.

- Initialiser R1=multiplicateur, R3=multiplicande, R2=0, H=0 - pour i=0 à 3 faire - si R1[0]=0 et H=0 alors ne rien faire - si R1[0]=0 et H=1 alors R2 <= R2 + R3 - si R1[0]=1 et H=0 alors R2 <= R2 - R3 - si R1[0]=1 et H=1 alors ne rien faire - décaler R1 et R2 d’un rang vers la droite, le bit de poids faible de R1 étant mémorisé dans H, le bit de poids faible de R2 étant entré sur le bit de poids fort de R1 - le résultat est dans R2 (MSB) et R1 (LSB)

Tableau 2 : multiplication par suivant l’algorithme de Booth

NB: - le décalage de R2 est effectué en conservant le signe de R2 - ne pas tenir compte des retenues des additions/soustractions - le calcul (initialisation puis calcul) est lancé lorsque le signal valid passe à ‘1’ - un signal busy reste à ‘1’ pendant la durée du calcul, puis passe à ‘0’ dès que le résultat est prêt

R2 R1 H

Contrôleur

R3

A L U

clk

multiplicande4

4 multiplicateur

8

result

valid

busy

A L U

Figure 2 : vue extérieure et composants de l’architecture du multiplieur

1. On considérera tout au long de cet exercice l’exemple de la multiplication de 6 (multiplicande)

par -4 (multiplicateur), le résultat devant bien sur donner -26 ;-). Après avoir rappeler le codage en Cà2 sur 4 bits de ces deux nombres, ainsi que le résultat de la multiplication en Cà2 sur 8 bits, déroulez l’algorithme cycle par cycle en donnant le contenu des registres R1, R2, R3 et de la bascule H.

2. Pour chaque registre, indiquez les différents modes de fonctionnement (chargement, décalage, etc.) nécessaires à l’algorithme. En déduire les signaux de commandes et les entrées/sorties nécessaires à leur fonctionnement.

3. Donnez le processus VHDL permettant de spécifier le registre R2. 4. Le contrôleur s’appuiera sur un compteur de boucle 2 bits avec les E/S suivantes : remise à zéro

synchrone, autorisation de comptage, sortie indiquant son passage par zéro. Après avoir précisé les entrées/sorties du contrôleur, donnez le diagramme d’état suivant le modèle de Moore de ce séquenceur.

5. Complétez le schéma de la figure 2 en dessinant l’architecture structurelle (connexions entre les composants et avec les entrées/sorties) du multiplieur.

6. Donnez la spécification VHDL (architecture) du contrôleur et de son compteur de boucle.

docsity.com

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
3 shown on 9 pages
Télécharger le document