View
4
Download
0
Category
Preview:
Citation preview
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 1 sur 19
QUESTION 1 {2 points}
La figure ci-dessous montre le diagramme d'états d'une machine séquentielle algorithmique
(MSA). On vous demande de réviser le design afin d’améliorer ses performances.
X
B
J
RST
'1''0'
A
'0''1'
F
D
H
Y
'0'
C
E
G
'1'
SB
DSBW
SB
SEZ
SB
SEZ
X
'0'
'1'
ISB
DSBW
K
X
X'0' '1'
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 2 sur 19
QUESTION 1 {suite}
a) Indiquez les états qui doivent avoir une assignation adjacente selon les principes
d’optimisation de MSA. {0,5 point}
Principes d’optimisation de MSA États adjacents
Principe 1
Principe 2
Principe 3
b) En supposant l’assignation suivante et l’entrée asynchrone Y, existerait-il des états
erronés ? Si oui, lesquels ? {0,5 point}
État Q3Q2
Q1Q0 00 01 11 10
00 A H -- ---
01 E B I ---
11 K F C J
10 --- --- G D
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 3 sur 19
QUESTION 1 {suite}
c) Expliquez clairement comment l’assignation bit par état permet d’améliorer les
performances (fréquence d’horloge) d’une MSA en prenant soin de spécifier le
désavantage de cette méthode {0,5 point}.
d) Identifiez, s’il y a lieu, le ou les états redondants. Simplifiez et redessinez le diagramme
d'états réduit de cette MSA. {0,5 point}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 4 sur 19
QUESTION 2 {1,5 point}
À l’aide du tableau suivant, veuillez fournir quelques caractéristiques du CNA utilisé lors de la
prise de mesure en sachant que le niveau de tension de Vref est de 16 V.
Entrée Sortie mesurée (V) Entrée Sortie mesurée (V)
0000 0,3 1000 6,2
0001 0,9 1001 7,5
0010 1,9 1010 8,3
0011 2.5 1011 9,3
0100 3.3 1100 10,2
0101 4.0 1101 11,4
0110 5,2 1110 13,2
0111 5.8 1111 14,8
a) Quelle est la précision du CNA {0,1 point}
b) Quelle est la résolution du CNA {0,2 point}
c) Quelle est l’erreur de décalage (en LSB) du CNA {0,2 point}
d) Quelle est l’erreur de gain (en LSB) du CNA {0,2 point}
e) Est-ce que le CNA est monotone ? Justifiez votre réponse {0,2 point}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 5 sur 19
QUESTION 2 {suite}
f) Quelle est l’erreur NLI (en LSB) du CNA à ”0100” {0,3 point}
g) Quelle est l’erreur NLD (en LSB) du CNA entre ”1100” et ”1101” {0,3 point}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 6 sur 19
QUESTION 3 {2,5 points}
Les questions suivantes portent sur les principaux problèmes des systèmes logiques.
a) Expliquez clairement les problématiques liées aux signaux asynchrones en prenant soin
de spécifier comment ceux-ci peuvent engendrer un disfonctionnement {0,5 point}.
b) Expliquez comment un système synchrone pourrait se retrouver avec les mêmes
problèmes qu’un système principalement synchrone {0,5 point}.
c) Pour quelles raisons vous est-il fortement recommandé de registrer les sorties de vos
MSA ? {0,5 point}.
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 7 sur 19
QUESTION 3 {suite}
d) Pourquoi vous est-il fortement recommandé de ne pas faire d’opération complexe ou de
récupérer les données d’un array directement dans la partie asynchrone de la
description VHDL d’une MSA ? {0,5 point}.
e) Pourquoi la structure est tout aussi importante que la fonctionnalité lors de la
conception d’un circuit logique ? {0,5 point}.
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 8 sur 19
QUESTION 4 {4 points}
On vous demande de calculer la fréquence maximale d'opération du circuit suivant, en vous
servant des paramètres donnés au tableau suivant et du circuit ci-dessous :
FCT
4
4
5
A_in
B_in
Z_out
A3A2A1A0
B3B2B1B0
C4F3F2F1F0
4
4
5
An
Bn
Fn
Cn
Cn+1
Circuit logique interne du module FCT pour 1 bit (Indice : remplacez n par 0,1,2 et 3)
Note : Vous contrôlez C0 mais ce dernier doit demeurer inchangé une fois fixé.
Paramètres électriques de composants
Composant tpHL tpLH tSU tH
NON-ET 6 ns 7 ns --- ---
NON-OU 8 ns 9 ns --- ---
ET 10 ns 11 ns --- ---
OU 12 ns 13 ns --- ---
XOR1 (L)
14 ns
(H)
15 ns
(L)
16 ns
(H)
17 ns
--- ---
XNOR1 (L)
18 ns
(H)
19 ns
(L)
20 ns
(H)
21 ns
--- ---
Bascule D 24 ns 22 ns 4 ns 3 ns 1 : L’entrée qui ne varie pas engendre un délai de propagation différent selon son état L-L (L) ou H-H (H)
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 9 sur 19
QUESTION 4 {suite}
a) Calculez la fréquence maximale d’opération en prenant soin d’identifier le(s) chemin(s)
critique(s) et la(les) séquence(s) qui sensibilise(nt) le(s) chemin(s) {3 points}.
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 10 sur 19
QUESTION 4 {suite}
b) Calculez la fréquence d’opération s’il y avait un registre (bascule D) à la sortie des
étages C1, C2 et C3. Quelle(s) autre(s) modification(s) faut-il apporter pour que le
circuit puisse opérer normalement à cette nouvelle fréquence d’opération ? {1 point}.
An
BnFn
Cn
Cn+1
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 11 sur 19
QUESTION 5 {2,5 points}
Les questions suivantes portent sur les mémoires et les circuits programmables.
a) Indiquez par un X les associations entre les types de mémoires et les caractéristiques
suivantes (Note : une mauvaise réponse en annule une bonne) {0,5 point}
ROM PROM EPROM FLASH SRAM DRAM FRAM Aucun
Possède une grille flottante
Nombre de cycle de lecture et écriture > 100 000
Possède un boitier avec une fenêtre
Possède 1 transistor par bit
Non-volatile
b) Pourquoi faut-il rafraichir les données des mémoires de type DRAM ? {0,2 point}
c) Que contient les tranches DSP du FPGA que vous avez utilisé au laboratoire (Xilinx
Artix-7 : XC7A200T) {0,25 point}
d) Quelle ressource matérielle du FPGA que vous avez utilisé au laboratoire (Xilinx
Artix-7 : XC7A200T) permet de gérer les requis d’horloges. {0,25 point}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 12 sur 19
QUESTION 5 {suite}
e) Concernant le nombre de signaux d’entrée des LUT, expliquez pourquoi le FPGA que
vous avez utilisé au laboratoire (Xilinx Artix-7 : XC7A200T) en possède 6 ou 5,
lorsque configuré en LUT à double sorties, en prenant soin de spécifier ce qu’il
arriverait s’il en avait plus ou moins ? {0,25 point}
f) Décrivez les principales caractéristiques des blocs RAM du FPGA que vous avez
utilisés au laboratoire (Xilinx Artix-7 : XC7A200T). {0,25 point}
g) Donnez deux (2) caractéristiques pour chacun des types de mémoire suivants : {0,3
point}
DRAM :
SRAM :
PROM :
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 13 sur 19
QUESTION 5 {suite}
h) Sachant que vous disposez de mémoire ROM de 4M x 32 bits et que vous désirez une
mémoire RAM de 32M x 8 bits, dessinez le schéma du module mémoire. {0,5 point}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 14 sur 19
QUESTION 6 {4,5 points}
Vous désirez concevoir un système de supervision qui consiste à vérifier trois (3)
températures et cinq (5) niveaux de tension d’un circuit électronique. Vous prévoyez
échantillonner chacun des capteurs à 200 Hz.
a) Vous désirez utiliser un CAN (architecture avancée) pour la numérisation des signaux
provenant de tous les capteurs (un seul CAN pour tous les capteurs). La tension
analogique des capteurs varie entre 0 et 3 V, vous désirez utiliser une tension de référence
de 3 V et vous désirez une résolution d’au moins 1 mV. De plus, vous disposez de
plusieurs CAN à approximations successives de 5 bits qui complètent leur conversion en
500 us. Dessinez le schéma bloc complet de l’architecture avancée du CAN que vous
allez réaliser à partir d’un nombre minimal de CAN à approximations successives (vous
pouvez utiliser tous les autres composants de votre choix à l’exception de CAN). Prenez
soin de spécifier la fréquence d’horloge que vous prévoyez utiliser pour les CAN à
approximations successives à 5 bits. {2 points}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 15 sur 19
QUESTION 6 {suite}
b) Sachant que vous désirez enregistrer dans une mémoire les valeurs échantillonnées des
huit (8) capteurs et en supposant que les échantillons sont représentés sur 16 bits, sur une
période de combien de jours est-il possible de stocker les échantillons en mémoire si vous
disposez d’une mémoire possédant une capacité totale de 1 Tb ? {0,25 point}
c) Dessinez le schéma bloc et le diagramme d’état du circuit qui enregistre dans la
mémoire (b) les échantillons du CAN (a). À noter que la MSA doit à la fois gérer
l’architecture avancée du CAN trouvé en (a) et effectuer le contrôle de la mémoire pour
écrire les données. Prenez soin de spécifier toutes les informations importantes. {1 point}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 16 sur 19
QUESTION 6 {suite}
d) Dessinez le schéma bloc et le diagramme d’état d’un circuit qui récupère les données
contenues dans la mémoire (b) et qui génère une alarme lorsque, pour chaque capteur,
une donnée déborde de l’intervalle d’opération normale (Limit_MAX et Limit_MIN). En
plus de générer l’alarme, la MSA doit activer un voyant lumineux qui identifie le capteur
où est la faute (1 DEL rouge par capteur). Finalement, l’alarme doit être désactivée
lorsque les données du capteur sont de retour dans la normale (Limite_N_MAX et
Limit_N_MIN). Pour produire l’alarme, la MSA doit générer les adresses (8 bits) d’une
mémoire ROM qui contient les échantillons pour produire le signal sonore (0-20kHz).
{1,25 point}
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 17 sur 19
QUESTION 7 {3 points}
Complétez, en VHDL, la description d’une unité de calcul racine carrée (approximation
linéaire par morceau). Les LUT m et b ainsi que leur contenu sont définis dans le paquetage
LUT_package.
Z2 : 19 bits non signé
Z : 10 bits non signé (prendre les MSB de y)
Zone : 4 bits (total de 16 zones)
m : 16 bits non signé
b : 16 bits non signé
m b
x mx y=mx+b
LUT
m SEL
LUT
b SEL
zone
z z2
encodeur
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use works.lut_package.all;
-- Complétez la description de l’entity {0,2 point}
entity sqrt_lm is
port (
rst : in std_logic;
clk : in std_logic;
);
end sqrt_lm;
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 18 sur 19
architecture behav of fifo is
signal x1_p, x1_f, x2_p, x2_f: std_logic_vector(18 downto 0);
signal zone1_p, zone1_f, zone2_p, zone2_f: std_logic_vector(3 downto 0);
signal mx_p, mx_f: std_logic_vector( downto 0); --à compléter {0,3 point} signal y_p, y_f: std_logic_vector( downto 0);
signal
signal
component : encodeur_zone
port (
data_in : out std_logic_vector(18 downto 0);
zone_out : in std_logic_vector(3 downto 0)
);
end component;
Begin
--à compléter {0,1 point}
--complétez l’instanciation du component encodeur_zone {0,3 point}
--complétez le process synchrone {0,3 point} sync_process: process(rst,clk)
begin
if rst=’1’ then
x1_p <= (others=>’0’);
x2_p <=(others=>’0’);
zone1_p <=(others=>’0’);
zone2_p <=(others=>’0’);
elsif
end if;
end process;
ELE3311-Systèmes logiques programmables
Examen final, été 2017
Page 19 sur 19
--complétez le process combinatoire {0,4 point}
multiplication_process:process( ) -- mx_f <= ? begin
end process;
--complétez le process combinatoire {0,4 point}
addition_process:process( ) -- y_f <= ? begin
end process;
--Complétez la description des mémoires synchrone (m et b) {1 point} M_B_LUT_process:process( ) begin
end process;
end behav;
Bon examen !
Philippe Levesque
Mohamad Sawan
Recommended