Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 1 sur 12
QUESTION 1 {1,5 point}
Dessinez en logique mixte, le schéma équivalent de l'équation booléenne suivante:
Z A B CD EF G
Les entrées disponibles sont: A, B*, C, D, E, F* et G*.
La sortie doit être en logique négative.
Notes importantes:
=XOR, et = XNOR
Utilisez seulement les portes logiques suivantes:
• NON-ET à deux entrées
• XOR à deux entrées
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 2 sur 12
QUESTION 2 {1,5 point}
Modifiez le circuit afin de respecter la logique mixte. Vous devez obligatoirement utiliser la
méthode présentée dans le cours.
Z
A
B
C
D
E
F
_
_
_
_
G
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 3 sur 12
QUESTION 3 {1,5 point}
Déterminez les équations booléennes réalisées par les circuits suivants (ne simplifiez pas
l’équation après l’extraction) :
a) {0,5 point}
Z*
A*
B*
C
D*
E
F*
G*
b) {1 point}
0
1
MUX
2à1
S0
B*
S0S
1
1
parmi
4
0
1
2
3
en EA*
C
ZD*
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 4 sur 12
QUESTION 4 {1,5 point}
En se servant du tableau de Karnaugh à 2 variables inscrites (E et F) ci-dessous, on vous
demande de trouver la fonction Z simplifiée.
x = état facultatif
Z CD
AB 00 01 11 10
00 E 1 xF xF
01 1 1 E x E + xF
11 E E F 0 EF
10 xE x F x EF
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 5 sur 12
QUESTION 5 {2,5 points}
a) Écrivez les lignes de code VHDL qui complète l’assignation de add_s. Veuillez
également indiquez la valeur de X : {1,5 point}
use ieee.numeric_std.all;
…
Signal add_s : std_logic_vector (X downto 0);
Signal a_s : std_logic_vector (6 downto 0); --signé 2’C
Signal b_s : std_logic_vector (7 downto 0); --non signé
….
-- somme (addition) signée avec retenue de a_s avec b_s
-- X=
add_s <=
-- somme (addition) signée sans retenue de a_s avec b_s
-- X=
add_s <=
b) Écrivez les lignes de code VHDL qui complète l’assignation de mult_s. Veuillez
également indiquez la valeur de X : {1 point}
use ieee.numeric_std.all;
…
Signal mult_s : std_logic_vector (X downto 0); --
Signal a_s : std_logic_vector (5 downto 0); --signé 2’C
Signal b_s : std_logic_vector (4 downto 0); --non signé
….
-- X=
-- produit (multiplication) signé de a_s avec b_s
mult_s <=
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 6 sur 12
QUESTION 6 {2 points}
Le code VHDL suivant décrit le fonctionnement d’une machine séquentielle algorithmique
(MSA) à deux entrées et deux sorties.
library IEEE; use IEEE.std_logic_1164.all; use IEEE.Numeric_std.ALL; entity msa_intra is Port ( rst, clk, X, Y : in std_logic; Z, W : out std_logic ); end msa_intra; architecture arch_msa of msa_intra is
type type_etat is (a, b, c, d);
signal etat_p, etat_f : type_etat;
signal z_p, z_f, w_f, w_p : std_logic;
begin
Z <= Z_p; W <= W_p;
reg: process(clk, rst)
begin
if(rst = '1') then
Z_p <= ‘0’; W_p <= ’0'; etat_p <= a;
elsif(clk'event and clk = '1') then
Z_p <= Z_f; W_p <= W_f; etat_p <= etat_f; end if; end process;
IFL_OFL:process (Etat_p, X, Y)
begin
case(etat_p) is
When a => etat_f <= b; z_f <= ‘1’; w_f <= ‘0’; When b => etat_f <= c; z_f <= ‘0’; w_f <= ‘1’; When c => if X=’0' then etat_f <= c; z_f <= ‘0’; w_f <= ‘1’; else etat_f <= d; z_f <= ‘1’; w_f <= ‘1’; end if; When others => --d if Y=’0' then etat_f <= d; z_f <= ‘1’; w_f <= ‘1’; else etat_f <= a; z_f <= ‘0’; w_f <= ‘0’; end if;
end case;
end process;
end arch_msa;
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 7 sur 12
QUESTION 6 (suite)
a) Dessinez le diagramme d’état de cette MSA. {1,5 point}
b) Dessinez le diagramme temporel qui illustre le fonctionnement complet de cette MSA.
{0,5 point}
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 8 sur 12
QUESTION 7 {5,5 points}
Le diagramme d’états à droite décrit le fonctionnement
d’une machine séquentielle algorithmique (MSA) à
deux entrées et deux sorties.
a) En utilisant l’assignation des états suivante,
complétez la table d’excitations et des sorties ci-
dessous. {2 points}
Q1 Q0 X Y Q1+ Q0
+ J1 K1 T0 QZ QW
QZ+ QW
+ DZ RW SW
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Assignation des états
Q1 Q0 État
0 0 a
0 1 b
1 0 c
1 1 d
X
'1'
b c
dW
a
W
Y
'0'
'1''0'
Z
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 9 sur 12
QUESTION 7 (suite)
b) Quelles sont les équations simplifiées de l’IFL et de l’OFL ? {1,5 point}
c) Dessinez le circuit logique de cette MSA en utilisant un décodeur de taille minimale et
trois (3) NON-ET pour l’IFL et un minimum de multiplexeurs 2 à 1 pour l’OFL ? {2
points}
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 10 sur 12
QUESTION 8 {2 points}
Un collègue a débuté l’analyse d’une machine séquentielle algorithmique (MSA)
a) Complétez la table d’excitation et des sorties. {1 point}
État Entrée Sorties
Q2 Q1 Q0 X J2 K2 R1 S1 D0 Q2+ Q1
+ Q0+ QZ QW QZ
+ QW+ DZ DW
0 0 0
0 0 0
0 0 1
0 0 1
0
1
0
1
0 1
1 0
0 0
0 1
0 0
1 0
0 1
0 0
1
1
0
0
0
0
1
1
0
0
0
0
0 1 0
0 1 0
0 1 1
0 1 1
0
1
0
1
0 1
0 0
1 1
0 0
0 1
1 0
1 0
0 1
1
1
0
0
0
0
0
0
1
1
0
0
1 0 0
1 0 0
1 0 1
1 0 1
0
1
0
1
1 0
0 1
0 1
1 0
1 0
0 1
0 0
0 0
1
1
0
0
1
1
0
0
1
1
0
0
1 1 0
1 1 0
1 1 1
1 1 1
0
1
0
1
0 1
1 1
1 1
0 1
1 0
1 0
1 0
1 0
0
0
0
0
0
0
0
0
0
0
0
0
b) Dessinez le diagramme d’états de cette MSA. {1 point}
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 11 sur 12
QUESTION 9 {2 points}
On vous demande de concevoir un système qui permet de compter le nombre de symboles 4
qui se trouvent entre la séquence débutant par le symbole 13 et finissant par le symbole 2 sur
une entrée X (de 4 bits) suite à la détection d’un front montant sur une entrée Y. Il est à noter
que toutes les entrées sont synchronisées sur le front montant de l’horloge. Dès que le
symbole 13 sur X suivant le front montant sur Y est détecté, le système doit compter le
nombre de symboles 4 présents sur l’entrée X jusqu’à ce que le symbole 2 se présente sur
l’entrée X puis générer une sortie Z active et maintenir valide le résultat du compte (cmpt de
4 bits) durant deux cycles d’horloge. Le système doit détecter le prochain front montant sur Y
seulement après la désactivation de la sortie Z. De plus, il est improbable qu’il y ait plus de
15 symboles 4 dans une séquence.
clk
Y
Z
X 13 4 4 213 4
: facultatif (don’t care)
2 6
cmpt 2 1
ELE3311-Systèmes logiques programmables
Examen intra, été 2016
Page 12 sur 12
QUESTION 9 (suite)
Dessinez le diagramme d’état de votre machine séquentielle algorithmique (MSA).
Bon Intra !
Philippe Levesque
Mohamad Sawan