Problemas Tema 4 (2013)
Ejercicio EspañolUniversidad | Universidad Politécnica de Cataluña (UPC) |
Grado | Ingeniería de Sistemas de Telecomunicación - 2º curso |
Asignatura | Diseño Digital |
Año del apunte | 2013 |
Páginas | 19 |
Fecha de subida | 12/11/2014 |
Descargas | 6 |
Subido por | adria |
Vista previa del texto
Problemes de Disseny Digital
Tema 4
Tema 4
Disseny seqüencial
0/1
4.1 Obteniu la taula de veritat de
la màquina d’estats de Mealy
descrita a la figura i expliqueu
quina funció fa. L’activació de
nrst condueix a l’estat S0.
S1
0/0
x
z
M
clk
S0
S2
1/0
1/0
0/0
1/0
nrst
0/0
S3
0/0
1/0
S4
1/1
4.2 Dibuixeu el diagrama d’estats de la màquina de Mealy de la figura i corregiu les
errades que conté el cronograma que pretén il·lustrar el seu funcionament.
X
Z
M
clk
nrst
S
X=a
X=b
X=c
S0
S1
S2
S3
S3/y
S0/n
S1/n
S2/n
S0/n
S1/n
S2/n
S3/n
S1/n
S2/n
S3/n
S0/y
S+/Z
clk
nrst
a
S S0
S3
Z y
S2
S1
c
b
S2 S0
S1
a
S2
n
4.3 El fabricant del mòdul de la figura assegura que,
utilitzant-ne un de sol i sense haver d’afegir-li cap altre
component, es pot configurar com un biestable síncron
tipus D o tipus JK amb reset. És això cert? Justifiqueu
la resposta.
3
2
1
0
MUX
X
1 0
D
Q
Q
Problemes de Disseny Digital
Tema 4
4.4 Raoneu a quin tipus de biestable correspon cadascun dels tres circuits següents i
identifiqueu les seves entrades.
Q
Q
Q
Q
Q
Q
4.5 Localitzeu i corregiu les errades que conté el fragment de codi VHDL següent, que
vol descriure un biestable tipus D síncron amb entrades de set i de reset asíncrones.
Suposeu que les declaracions prèvies de llibreries i d’entitat són correctes, i que els
senyals són tots std_logic.
architecture arq of dfflop is
begin
process(clk, reset) begin
if reset=’1’ then q <= ’0’;
elsif clk’event and clk=’1’ then q <= ’d’;
end if;
end process;
process(set) begin
if set=’1’ then q <= ’1’; end if;
end process;
end arq;
4.6 D’acord amb l'evolució donada de clk, nrt, M i N, obteniu el cronograma de les
sortides A, B i C del circuit de la figura. Es tracta d’un circuit síncron o asíncron? Se li
podria aplicar el mètode sistemàtic d’anàlisi de màquines d’estats vist a classe?
clk
clk
A
J
M
N
nrt
K
J
Q
Q
t
nrt
B
t
M
K
C
t
N
t
Problemes de Disseny Digital
Tema 4
4.7 Donat el circuit síncron sense entrades de la figura, construïu el cronograma dels
senyals clk, reset, A, B, C i D corresponent a un cicle complet de funcionament.
Suposeu que al principi actua breument el reset. Quina funció fa el circuit?
A
D
Q
B
D
Q
C
D
D
D
Q
Q
reset
clk
X
a
4.8 Obteniu la taula de veritat i el diagrama Y
d'estats del circuit seqüencial de la figura. Quina
utilitat podria tenir i quin tipus de components
caldria afegir-li?
b
Cin
Q
s
Z
Cout
D
clk
4.9 Analitzeu la màquina d’estats de la figura i doneu, si és possible, una descripció
d'alt nivell de la funció que realitza.
0
1
0
1
2
3
MUX
1
x
D
Q
QA
0
0
0
1
0
1
2
3
DEC 1
2:4 2
3
1 0
QB
D
MUX
clk
Q
reset
E
z
Problemes de Disseny Digital
Tema 4
4.10 Considereu el circuit seqüencial de la figura.
z
x1
D1 Q1
x0
D0 Q0
clk
reset
a) Obteniu les expressions de les funcions d’entrada als biestables, D1 i D0, i de la
sortida z. Es tracta d’una màquina de Moore o de Mealy?
b) Obteniu la TdV i el diagrama d’estats de la màquina.
c) A la vista del resultat obtingut en l’apartat anterior i sabent que les entrades x1 i
x0 varien alhora i amb una freqüència molt inferior a la del rellotge clk, expliqueu
una possible utilitat de la màquina.
4.11 Dissenyeu una màquina d'estats síncrona que, mentre la seva entrada sigui x='1'
doni la seqüència de sortides 0,1,3,7,6,4,0,1,3,... i que s'aturi quan x='0'. Utilitzeu el
mateix codi pels estats i per la sortida. L’activació del reset ha de conduir al valor 0.
4.12 S’ha de dissenyar una màquina d’estats que faci de comptador - descomptador
mòdul 5: hi ha una entrada UP tal que, quan UP=’1’ la sortida s’incrementa amb cada
flanc ascendent del rellotge, mentre que quan UP=’0’ es decrementa. Si la màquina va a
parar a qualsevol valor no inclòs en la seqüència, ha de posar-se a zero amb el pròxim
flanc de pujada del rellotge.
a) Confeccioneu el diagrama d'estats de la màquina. Feu servir el mateix codi per
les sortides que pels estats.
b) Si utilitzem biestables D, obteniu les expressions mínimes de les funcions
d'entrada als biestables i de sortida de la màquina.
c) Volem afegir una entrada síncrona d’habilitació CE: CE=1 implica el
funcionament descrit més amunt, mentre CE=0 atura el comptatge. Feu-ho
aprofitant al màxim l’estructura dissenyada en l’apartat anterior.
Problemes de Disseny Digital
Tema 4
4.13 La transmissió de dades entre dos ordinadors i una impressora es fa via un
multiplexor governat per un circuit de control, tal com es veu a la figura 1.
A
n
n
0
MUX
n
1
B
z
xa
xb
Circuit
de control
Estat
Codi
Significat
Lliure
00
Connexió lliure
CA
01
Connectada amb A
CB
10
Connectada amb B
Figura 1
clk
nrst
El circuit de control és una màquina de Moore amb els estats de la taula, que compleix
les següents especificacions: 1) quan un ordinador vol connectar amb la impressora,
activa la seva línia de petició (xa o xb); 2) quan només un ordinador demana connexió,
l'estat següent és el de connexió amb ell; 3) si l'estat actual és CA o CB, aquest no
canvia fins que l'ordinador connectat desactivi la seva línia de petició; 4) quan l’estat
actual és Lliure i ambdós ordinadors demanen connexió, l'A té preferència.
a) Construïu el diagrama d'estats del circuit de control i
escriviu la seva TdV, utilitzant
pels estats el codi de la taula.
b) Realitzeu el circuit de control programant el circuit PLD
de la figura 2.
D Q
c) Raoneu si seria possible una
realització del circuit amb un
PLD més petit.
D Q
R
R
Figura 2
4.14 Una botiga de material electrònic consta de la planta 0, on s’atenen els clients, i un
magatzem, situat a la planta 1. Per pujar i baixar comandes i productes, s’utilitza un
muntacàrregues. Hem de dissenyar la màquina d’estats síncrona que controla el muntacàrregues, d’acord amb les següents especificacions:
Prémer el botó que hi ha en cada planta activa el senyal Gi corresponent. Quan
el muntacàrregues està en moviment, prémer botons no té cap efecte. En canvi,
quan està aturat en una planta, prémer qualsevol botó fa que vagi a l’altra.
En el recorregut hi ha dos sensors, que donen els senyals S0 i S1. S0 s’activa
quan el muntacàrregues està per sota de la posició del sensor de la planta 0. S1 ho
fa quan està per sobre de la posició del sensor de la planta 1.
Problemes de Disseny Digital
Tema 4
El circuit de control té tres entrades, G=G0+G1, S0 i S1, i dues sortides, P (pujar)
i B (baixar), que governen el motor i els visualitzadors.
Motor
nrst
Botó 1
Sensor 1
CV R
Multi Panty
Systems
Bits Inside
(handle
with
care)
G1
G0
S1
S0
G
GO
P
Sistema a
dissenyar
B
SS
clk
Botó 0
Sensor 0
a) Construïu el diagrama d’estats del controlador, que ha de ser del tipus Moore.
b) Implementeu el controlador utilitzant dos biestables tipus D i el mínim nombre
possible de portes lògiques estàndard.
c) Tenint en compte que s’ha de reinicialitzar correctament cada vegada que
s’hagi interromput el subministrament elèctric, dissenyeu el reset del controlador.
4.15 Un sistema seqüencial ha de controlar dos semàfors situats en la cruïlla de dos
carrers de sentit únic. Es disposa de dos detectors, xA i xB, situats a certa distància de la
cruïlla, que s'activen quan passen vehicles pel seu damunt.
Carrer B
xA
Carrer A
xA
xB
RB
AB
VB
VA AA R A
Sistema
de control
clk
3
3
RA,AA,VA
RB,AB,VB
nrst
xB
Especificacions: 1) Els semàfors estan sincronitzats amb el senyal de rellotge clk. 2)
Quan ambdós carrers estan alhora buits o plens, el controlador genera la seqüència
verd-ambre-roig-roig, de manera que quan un semàfor està roig l'altre està verd o
ambre. 3) Quan en un carrer hi ha circulació i en l'altre no, el semàfor del carrer buit es
posa roig (sense passar per ambre) i l'altre es posa verd, mantenint-se aquesta situació
fins que canvien les condicions del trànsit.
a) Dissenyeu el sistema de control dels semàfors com una màquina d’estats de
Moore amb el menor nombre possible de biestables D i de portes estàndard.
b) Repetiu l’anterior, però ara en forma de màquina d’estats tipus one-hot.
Problemes de Disseny Digital
Tema 4
4.16 Considereu la màquina d’estats síncrona tipus one-hot de la figura.
z
D
0
1
Q
D
Q
0
1
D
1
0
Q
D
x
clk
Q
1
0
reset
clk
a) Obteniu el diagrama d’estats i escriviu
la TdV de la màquina. Es tracta d’una
màquina de Mealy o de Moore?
t
reset
t
b) Completeu el cronograma adjunt.
x
c) Redissenyeu el circuit fent servir un
nombre mínim de biestables D i de portes
lògiques NAND.
t
z
t
4.17 Respecte a la màquina de Moore de la figura, es demana
X
Z
clk
nrst
estat
0
1
A
B
C
D
E
B
B
B
B
B
A
A
A
E
A
X
2
3
Z
A
C
D
A
A
A
A
A
A
A
ko
ko
ko
ko
ok
estat+
a) Dibuixeu el seu diagrama d’estats i expliqueu quina funció fa.
b) Feu la seva descripció en VHDL.
c) Descriviu en VHDL una màquina de Mealy que faci el mateix tipus de funció.
4.18 Descriviu mitjançant un diagrama d’estats i amb VHDL el funcionament d’una
màquina síncrona que repeteix contínuament la seqüència de sortida a,a,b,c,c,b, ...
Problemes de Disseny Digital
Tema 4
4.19 D’acord amb la descripció VHDL donada d’una màquina d’estats, es demana,
a) Dibuixeu el diagrama d’estats i identifiqueu el tipus de màquina.
b) Expliqueu la finalitat del procés que hi ha a l’arquitectura. Raoneu si es pot
associar aquest procés amb un circuit combinacional o seqüencial.
c) Expliqueu la finalitat de la sentència d’assignació concurrent que hi ha a
l’arquitectura. Raoneu si es pot associar aquesta sentència amb un circuit
combinacional o seqüencial i si la sortida z és síncrona o no.
d) Expliqueu quin tipus de funció fa aquesta màquina d’estats.
library ieee;
use ieee.std_logic_1164.all;
entity ex1 is
port( clk, x, y, nrst : in std_logic; z : out std_logic );
end entity ex1;
architecture a of ex1 is
type sttype is (stA, stB, stC);
signal state : sttype;
begin
process(clk, nrst) is
begin
if nrst=’0’ then state <= stA;
elsif clk’event and clk=’1’ then
case state is
when stA => if x=’1’ and y=’1’
then state <= stC;
elsif (x=’1’ and y=’0’) or (x=’0’ and y=’1’)
then state <= stB;
end if;
when stB => if x=’1’ and y=’1’
then state <= stA;
elsif (x=’1’ and y=’0’) or (x=’0’ and y=’1’)
then state <= stC;
end if;
when stC => if x=’1’ and y=’1’
then state <= stB;
elsif (x=’1’ and y=’0’) or (x=’0’ and y=’1’)
then state <= stA;
end if;
end case;
end if;
end process;
with state select
z <= ’1’ when stA, ’0’ when others;
end architecture a;
Problemes de Disseny Digital
Tema 4
4.20 La declaració d’entitat i l’arquitectura v1 adjuntades descriuen una màquina
d’estats determinada. Es demana,
a) Dibuixeu el seu diagrama d’estats equivalent.
b) Substituïu la sentència d’assignació concurrent al senyal z (penúltima línia) per
una equivalent del tipus with/select.
entity st_machine is
port ( x, clk, nrst : in
end st_machine;
std_logic; z : out std_logic);
architecture ve1 of st_machine is
type states is (s0, s1, s2, s3);
signal state : states;
begin
process (nrst, clk)
begin
if nrst='0' then state <= s0;
elsif clk'event and clk='1' then
case state is
when s0 => if x='1' then state <= s2;
else state <= s0; end if;
when s1 => if x='1' then state <= s2;
else state <= s0; end if;
when s2 => if x='1' then state <= s3;
else state <= s1; end if;
when s3 => if x='1' then state <= s1;
else state <= s3; end if;
end case;
end if;
end process;
z <= '0' when (state=s0 and x='0') or (state=s2 and x='0')
else '1';
end v1;
c) L’arquitectura v2 pretén descriure la mateixa màquina d’estats que v1, però
emprant únicament un process. Són equivalents les dues funcions de transició
d’estats? Són equivalents les dues funcions de sortida? Per què?
architecture v2 of st_machine is
type states is (s0, s1, s2, s3);
signal state : states;
begin
process (nrst, clk)
begin
if nrst='0' then state <= s0;
elsif clk'event and clk='1' then
case state is
when s0 => z <= x; if x='1' then state <= s2; end if;
when s1 => z <= '1';
if x='1' then state <= s2;
else state <= s0; end if;
when s2 => z <= x;
if x='1' then state <= s3;
else state <= s1; end if;
when s3 => z <= '1'; if x='1' then state <= s1; end if;
end case;
end if;
end process;
end v2;
Problemes de Disseny Digital
Tema 4
4.21 Considereu la descripció VHDL donada d’una màquina d’estats síncrona xx.
Es demana,
a) Dibuixeu un diagrama de blocs de la màquina on cada bloc correspongui a un
process. Especifiqueu quins senyals comuniquen els blocs entre si i amb les
entrades i sortides de la màquina i raoneu quins blocs són combinacionals i quins
seqüencials.
b) Raoneu si es tracta d’una màquina de Moore o de Mealy i descriviu-la en
forma de diagrama d’estats o de TdV.
c) Proposeu una descripció d’arquitectura equivalent per xx, que contingui només
aquestes dues sentències concurrents:
un process, per fer la funció de canvi d’estat.
una assignació concurrent, per fer la funció de sortida.
library ieee;
use ieee.std_logic_1164.all;
entity xx is
port( clk, nrst, x1, x2 : in std_logic;
z : out std_logic );
end xx;
architecture arc of xx is
type st: is (sa, sb, sc);
signal s_act, s_seg : st;
begin
p1: process (nrst,clk)
begin
if nrst='0' then s_act <= sa;
elsif clk'event and clk='1' then s_act <= s_seg; end if;
end process p1;
p2: process (s_act,x1,x2)
begin
if (s_act=sa and x1=‘0’) then s_seg <= sb;
elsif ((s_act=sa and x1=’1’) or (s_act=sb) or
(s_act=sc and x2=‘0’)) then s_seg <= sc;
else s_seg <= sa; end if;
end process p2;
p3: process (s_act)
begin
if s_act=sb then z <= ‘1’;
else z <= ‘0’; end if;
end process p3;
end architecture arc;
Problemes de Disseny Digital
Tema 4
clk
0
1
2
3
MUX
Qi-1
4.22 Un registre està fet a base de n mòduls com
el mostrat a la dreta. El registre te una entrada I i
una sortida Q, ambdues de n bits. A més, les
entrades SEL, clk i LD són comunes a tots els
mòduls. En cada biestable, P i R són un preset i
un reset asíncron.
P
D
Qi
Q
R
Ii
Expliqueu raonadament de quin tipus de registre
es tracta i quines funcions, síncrones o no, es
poden fer amb ell.
Qi+1
2
SEL LD
4.23 Fent servir un comptador síncron mòdul 16 (valors entre 0 i 15 en binari) i les
portes estàndard que calguin, dissenyeu ...
a) Un comptador síncron entre 4 i 11.
b) Un comptador síncron mòdul 13.
c) Un comptador síncron Gray de 4 bits.
d) Un comptador síncron amb la seqüència 0,1,2,3,4,5,8,9,10,11,14,15,0,...
e) Descriviu en VHDL cadascun dels comptadors anteriors.
4.24 Demostreu que utilitzant aquest mòdul podem fer un comptador síncron de mida
arbitrària, reversible, amb càrrega en paral·lel síncrona i reset asíncron.
...
LD
UP
Qn-1
0
0
1
CEQn-2...Q0
CEQn-2...Q0
In
D
Q
1
clk
reset
Qn
Problemes de Disseny Digital
Tema 4
4.25 El codi VHDL següent descriu un circuit parametritzable, però conté errades.
library ieee;
use ieee.std_logic_1164.all;
entity ksara is
generic( nn : natural := 8 );
port( clk, nrst, sh_l, sh_r : in std_logic;
sin_l, sin_r : in std_logic;
y : out std_logic_vector(nn-1 downto 0));
end ksara;
architecture arch1 of ksara is
begin
process(nrst, clk)
begin
if nrst='0' then y <= (others => '0');
elsif clk'event and clk='1' then
if
sh_l='1’ then y <= y(nn-2 downto 0) & sin_l;
elsif sh_r='1' then y <= sin_r & y(nn-1 downto 1);
end if;
end if;
end process;
end arch1;
a) Identifiqueu i corregiu les errades que conté el codi.
b) A partir del codi corregit en l’apartat a), completeu la línia y del cronograma
donat i raoneu quin tipus de funció fa el circuit.
c) Completeu l’arquitectura arch2 donada , de manera que sigui funcionalment
equivalent a l’arquitectura arch1 corregida de l’apartat a), però el més senzilla
possible. Afegiu codi només en els llocs indicats.
architecture arch2 of ksara is
-- aqui podeu afegir declaracions
begin
process(nrst, clk)
begin
if nrst='0' then y <= (others => '0');
elsif clk'event and clk='1' then
case
–- sentencia sequencial per completar
end case;
end if;
end process;
-- afegir sentencies concurrents aqui
end arch2;
Problemes de Disseny Digital
Tema 4
4.26 El sistema seqüencial de la figura 1 és un cronòmetre amb habilitació (run) i reset
asíncron (nrst), que funciona a partir d’un tren de polsos clk1 amb Tclk1=15s. El sistema
conté dos blocs síncrons que compten en BCD hores i minuts (BH i BM); així les
sortides de BM són valors entre ‘00’ i ‘59’, mentre que les de BH són entre ‘00’ i ‘23’.
hores
4
4
BH
minuts
4
z
BM
clk1
4
15s
run
DivF
Figura 1
nrst
clk2
a) Utilitzant el registre de desplaçament de la
figura 2 i portes estàndard, dissenyeu DivF,
que a partir de clk1 proporciona clk2, un tren
de polsos amb Tclk2=60s i clk225%.
60s
shift
Q0
Q1
b) Proposeu una realització alternativa de
DivF utilitzant un mínim de biestables D i de
portes estàndard.
Q2
Q3
reset
Figura 2
c) El circuit de la figura 3 és una realització de BH que funciona incorrectament.
Expliqueu quines errades de disseny conté i corregiu-les.
hores (desenes)
hores (unitats)
Figura 3
ld 3 2 1 0
BCD ce
tc
ld 3 2 1 0
BCD ce
tc
3 2 1 0
3 2 1 0
counter
nrst
z
counter
clk2
Problemes de Disseny Digital
Tema 4
4.27 Considereu el circuit següent, format per components seqüencials i combinacionals
estàndard i la màquina d’estats nske, descrita per la TdV de la dreta.
z1
CLR
z2
CE
comptador
3
comparador
a
z1
3
LD
registre
b
3
D Q
a>b
DIN
DOUT
x1,x0
00 01 11 10 z2,z1,z0
state
z2 z1
x1 x0
2
nske
z0
s0
s1
s2
s0 s0 s1 s1
s2 s0 s0 s2
s2 s0 s0 s2
001
010
100
state+
Considereu primer la màquina d’estats nske. Es demana,
a) Dibuixeu el seu diagrama d’estats.
b) Ompliu les línies state i z del cronograma donat.
c) Raoneu si el circuit que es sintetitzaria a partir d’aquesta descripció estaria
lliure o no d’estats espuris. Si la resposta és afirmativa, modifiqueu la descripció
per tal d’evitar-ne els efectes.
Considereu ara el circuit complet, on nske és un component més. Es demana,
d) Ompliu les línies a, b i DOUT del cronograma donat.
e) Expliqueu alguna possible utilitat d’aquest circuit.
clk
x1x0 11
10
00
01
state S0
z2z 1z0
DIN
a
b
DOUT
011
101
111
010
Problemes de Disseny Digital
Tema 4
4.28 Considereu la màquina de Moore descrita a la figura. En el diagrama d’estats, quan
no s’esmenta una sortida vol dir que està inactiva, mentre que quan no s’esmenta una
entrada vol dir que no es té en compte. L’estat de reset és S0.
FI
INI
S0/RDY
INI
S1/LD1
S3/DSC
S2/LD2
FI
clk
Q1
DSC
LD1
LD2
RDY
BLOC 2
Comptador
E1
E0
LD
CE
BLOC 1
INI
FI
nrst
Q0
estat
Q1 Q0
S0
S1
S2
S3
00
01
10
11
D’acord amb l’esquema, implementarem la màquina utilitzant un comptador i dos blocs
combinacionals, utilitzant pels estats el codi Q1Q0 indicat. Es demana,
a) Obteniu la taula de veritat del bloc 1 i les equacions necessàries per fer-lo en
forma de xarxa NAND de 2 nivells mínima.
b) Obteniu la taula de veritat del bloc 2. Raoneu com es podria implementar
aquest bloc amb un descodificador i portes lògiques estàndard.
La màquina dels apartats anteriors s’utilitza dins d’un sistema aritmètic més complex:
A3..A0
B3..B0
4
LD
CE
TC
E
E
CK
clk
DC
Q
R1, R2 = registres amb
càrrega en paral·lel (LD) i
reset (C).
4
LD
clk
R1
C
Q
C
4
4
4
nrst
clk
FI
I
INI
UC
a7..a4 a3..a0
LD1
DSC
LD2
Cin
s7..s0
8
RDY
8
E
clk
DONE
b7..b0
Cout
DC = comptador descendent amb càrrega en
paral·lel (LD), habilitació
(CE) i reset (C). TC
s’activa quan DC arriba a
zero i CE=1.
R2
C
Q
8
LD
UC = màquina d’estats
de la primera part d’aquest
problema.
P7..P0
c) Completeu el cronograma donat, omplint les línies amb l’estat d’UC, els valors
del comptador DC i els continguts dels registres R1 i R2.
d) Doneu una especificació d’alt nivell de la funció que fa aquest sistema.
Problemes de Disseny Digital
Tema 4
CK
A
0
5
2
B
9
8
14
I
Estat UC
S0
Valor DC
Estat R1
P
4.29 Un circuit seqüencial síncron simula el comportament d’un motor trifàssic. El
motor té tres sortides, HA, HB i HC, provinents de sensors Hall possicionats a 120º o a
60º, que permeten conèixer la posició del rotor. Els senyals a considerar són,
clk, nrst = rellotge de 100 kHz i
reset asíncron.
run
circuit
3
HA, HB, HC
run = indica motor aturat (run=’0’),
seqüencial
ang
o girant (run=’1’).
ang = indica sensors situats a 120º
nrst
clk
(ang=’0’), o a 60º (ang=’1’).
L’evolució d’HA, HB i HC per a cada valor del senyal ang és,
a) Per 120o
20 s
HA
HB
HC
b) Per 60o
HA
HALLA
HALLB
HB
HALLC
HC
20 s
Problemes de Disseny Digital
Tema 4
S’ha de dissenyar el circuit utilitzant l’esquema donat, format pel bloc noseke, descrit
en VHDL, i una màquina d’estats de Mealy.
entity noseke is
port(clk,nrst : in std_logic;
z : out std_logic);
end noseke;
ang
Moore
FSM
run
architecture arc of noseke is
type estats is (s0, s1);
noseke
signal estat : estats;
begin
process (clk,nrst)
clk nrst
begin
if nrst='0' then estat <= s0;
elsif clk'event and clk='1' then
case estat is
when s0 => estat <= s1;
when s1 => estat <= s0;
end case;
end if;
end process;
z <= ‘0’ when estat=s0 else ‘1’;
end arc;
3
estat
z
xarxa
combin.
3
Mealy FSM
Es demana,
a) Quina funció fa el bloc noseke? Per a què serveix en el disseny?
b) Proposeu una descripció per la màquina de Mealy, que ha de tenir el menor
nombre d’estats possible.
c) Completeu el cronograma donat.
d) Proposeu una descripció d’arquitectura pel bloc noseke que sigui
funcionalment equivalent a l’original però més simple.
clk
nrst
run
ang
HA
HB
HC
HA
HB
HC
Problemes de Disseny Digital
Tema 4
4.30 Considereu el circuit seqüencial següent, amb els paràmetres temporals donats per
a cadascun dels seus components.
tSU = 2.5 ns
tH = 1 ns
tCQ = 2 ns
tDNOT = 0.5 ns
tDNAND = 2.5 ns
b
D1
a
D0
Q1
z
Q0
nrst
clk
Es demana,
a) Obteniu els valors dels temps de setup i de hold equivalents que es veuen des
de les entrades del circuit.
b) Obteniu el valor de la freqüència de rellotge màxima aplicable al circuit.
c) Obteniu els valors del retards rellotge-sortida del circuit.
4.31 Considereu el circuit següent, on cadascuna de les entrades x1 i x2 és síncrona i té
entre 2 ns i 4 ns de retard respecte del flanc ascendent del rellotge.
x2
Xarxa
Comb. 1
z1
Xarxa
Comb. 3
Reg.2
Reg.1
x1
Xarxa
Comb. 4
z2
Xarxa
Comb. 2
clk
tDXCmin=4ns
tDXCmax=10ns
tSU=8ns
tH=4ns
tCQ=5ns
tDXCmin=8ns
tDXCmax=20ns
Es demana,
a) Obteniu el valor de la freqüència de rellotge màxima aplicable al circuit.
b) Quin problema greu de temporització té el circuit i com es pot solucionar?
Problemes de Disseny Digital
Tema 4
4.32 Els circuits donats són dues alternatives de realització d’un comptador ascendent
mòdul 16. La primera és la vista a classe, la segona s’anomena ripple counter. Suposeu
els següents paràmetres temporals pels seus components: tSU=1ns, tH=0.5ns, tCQ=1.5ns,
tDXOR=1.5ns, tDAND=1ns.
ce
tc
D0
Q0
D1
Q1
D2
Q1
Q0
Q2
D3
Q2
Q3
Q3
Q3..0
clk
nrst
D0
ce
Q0
D1
Q0
Q1
D2
Q1
Q2
D3
Q2
Q3
Q3..0
Q3
clk
nrst
a) Compareu el funcionament d’ambdós comptadors mitjançant cronogrames amb
les mateixes excitacions d’entrada.
b) Obteniu les prestacions temporals de cada comptador: temps de setup i de hold
vistos des de les entrades, freqüència màxima de rellotge aplicable i retards
rellotge-sortides.
c) Feu una comparativa dels dos comptadors pel que fa a sincronisme, facilitat de
disseny i encadenament, mida i prestacions temporals.
A
ALU1
ALU2
ALU3
15-20ns
5-10ns
25-30ns
B
C
REG
X
REG
4.33 El circuit de la figura fa l’operació Y=(AX+B)/C, on A, B i C són constants. Les
dades temporals dels registres són tCQ=5ns, tSU=2ns i tH=2ns. Els retards dels blocs
combinacionals són a la figura. Voldríem que el circuit proporcionés 20 milions de
resultats per segon. És això possible o caldria fer algun canvi per tal d’aconseguir-ho?
Justifiqueu la resposta.
Y
...