DGD-Exercici29-4 (2015)

Ejercicio Catalán
Universidad Universidad Politécnica de Cataluña (UPC)
Grado Ingeniería Telemática - 2º curso
Asignatura DGD Diseño Digital
Año del apunte 2015
Páginas 3
Fecha de subida 21/03/2016
Descargas 4
Subido por

Vista previa del texto

4.29 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 i implementeu-lo amb un descodificador i un mínim de 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  Cout LD1 DSC LD2 Cin s7..s0 8 RDY 8 E clk DONE b7..b0  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.
CK A 0 5 2 B 9 8 14 I Estat UC S0 Valor DC Estat R1 P Solució a) El comptador, aturant-se, comptant o fent càrregues en paral·lel, ha de fer els canvis d’estat del diagrama. Una solució possible és a la dreta, on ‘x’ vol dir valor indiferent i on suposem que LD té prioritat sobre CE.
Q1 Q0 INI FI 0 0 0 1 1 1 0 0 1 0 1 1 0 1 x x x x CE LD E1 E0 x x x x 0 1 0 1 x 1 x 1 0 0 1 0 1 0 x x 1 x 1 x x x 1 x 0 x S0->S0 S0->S1 S1->S3 S2->S3 S3->S2 S3->S0 A partir de la taula anterior, la implementació amb NAND implica minimitzar en SdP. Si ho fem, el resultat és el següent, CE = INI + Q1 LD = Q1Q0 + Q0FI E1 = 1 E0 = Q1 b) En ser una màquina de Moore, les sortides són funcions dels dos senyals d’estat (Q1 i Q0) i la realització del bloc demanada és força immediata, 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 Q1 Q0 1 0 DEC 2:4 DSC LD1 LD2 RDY Q1 Q0 RDY LD1 LD1 CLR, LD2 DSC 0 1 2 3 c) El cronograma demanat seria el següent, CK A 0 5 2 B 9 8 14 I Estat UC S0 S1 S3 S0 S1 S3 S2 S3 S2 S3 S2 S3 S2 S3 Valor DC x 0 15 5 4 3 2 1 Estat R1 x 9 8 P x 0 8 16 24 32 d) Veient l’estructura del sistema, que conté un sumador, podem suposar que fa alguna operació aritmètica amb els operands A i B, i mostra el resultat a P.
Així, quan I=1 en l’estat S0, el sistema ‘s’engega’ i passa a S1, on carrega els operands A i B a DC i R1 respectivament, a més de posar a zero P. Desprès passa pels estats S3 i S2 tantes vegades com sigui el valor de DC. Cada vegada que passa per S2, suma a P el valor contingut a R1.
Conclusió: el sistema fa la operació producte P = A*B, a base de sumar B (contingut de R1) amb si mateix A vegades (contingut de DC). En el cronograma podem veure’n dos exemples (el segon d’ells incomplet): primer fa P=9*0=0 i desprès comença a fer P=8*5=40.
...