Examen Final Primavera 2011 (2014)

Apunte Catalán
Universidad Universidad Politécnica de Cataluña (UPC)
Grado Ingeniería de Sistemas de Telecomunicación - 2º curso
Asignatura Disseny Digital
Año del apunte 2014
Páginas 9
Fecha de subida 08/04/2015
Descargas 2
Subido por

Vista previa del texto

Disseny Digital Examen Final - 8 de juny de 2011 Dates clau a atenea ...
15 de juny: publicació notes provisionals i solució examen.
15 a 17 de juny: dies hàbils per sol•licitar revisió d’examen.
20 de juny: publicació notes definitives.
Qüestions (40%) Q1. Donats M=(8)10 i N=(10)10, fes l’operació aritmètica M-N en Ca2 de 5 bits.
Q2. Quin és el mínim nombre de portes necessàries per realitzar amb una xarxa NAND de 2 nivells les funcions f0(a,b,c)= m(1,3,7), f1(a,b,c)= M(0,2,3,4,6) i f2(a,b,c)= m(2,3,5,7)? Q3. Quina o quines sortides del circuit de la figura 1 realitzen la funció lògica f(a,b,c) =  m(0,1,7) +  m(3,5,6) ? 3 a x b c 100101 f1 T Figura 1 6 6 f2 f3 6 001111 6 a b a b > a>b < a=b a<b z > a>b < a=b a<b Figura 2 Q4. L’entrada T del circuit de la figura 2 és una temperatura codificada en mòdul i signe de 6 bits. Volem fer un circuit lògic que activi la seva sortida (z=1) només quan T<–5ºC o T 15ºC. Raona si és correcte o no el disseny proposat.
Q5. Proposa una realització CMOS, el més reduïda possible, de la funció lògica F(A,B)=AB. Només es disposa de les entrades afirmades.
Q6. En VHDL, explica breument quines diferències hi ha entre els tipus bit i std_logic.
Q7. Dibuixa l’esquema de portes lògiques corresponent al fragment de descripció VHDL donat. Tots els senyals són std_logic.
process (a,b,c,d) begin c <= a and (not b); e <= c + d; end process; Q8. Completa el cronograma, referit al circuit seqüencial de la figura.
clk Q1 in D Q D nrst in Q Q out Q Q1 Q2 clk nrst Q2 out Problema 1 (30 %) En la màquina d’estats de l’esquema, el bloc CB és un doblador de freqüència ideal: no afegeix retard i la seva sortida clki és un tren de polsos de freqüència doble a clk i cicle de treball del 50%.
D1 Q1 Sin Sout D0 clk CB Q0 tSU=4 ns tH=2 ns tCQ=5 ns tDAND= tDOR=3 ns tDNOT=2 ns clki nrst a) Analitza la màquina d’estats (sense el bloc CB) i dona una descripció del seu funcionament mitjançant una TdV o un diagrama d’estats.
b) Raona si poden aparèixer espuris a la sortida del circuit. En cas afirmatiu proposa al menys una manera d’eliminar-los.
c) Calcula la freqüència màxima de rellotge clk aplicable al circuit.
Problema 2 (30 %) El sistema seqüencial síncron de la figura està format per registres, multiplexors i una màquina d’estats, CTRL, del tipus Moore. Aquest sistema rep sèries de paraules de n bits per la seva entrada DIN i les retorna, retardades uns quants períodes de rellotge i en ordre invertit, per la sortida DOUT.
1 1 1 Reg0 0 0 LD DIN 1 Reg1 Reg2 LD 0 LD Reg3 0 LD DOUT S W[0] W[1] S S W[2] S W[3] S W[3..0] BUSY CTRL START SEND clk nrst El cronograma següent és un exemple de com funciona el sistema: clk START DIN A B C D Valor indiferent o desconegut BUSY SEND DOUT D C B A o BUSY=0 indica que el sistema està lliure.
o L’activació de l’entrada START mentre BUSY=0 indica que en els quatre períodes de rellotge següents hi haurà les dades A, B, C i D (en aquest ordre) a l’entrada DIN. El sistema indica que funciona posant BUSY a 1.
o En el mateix període de rellotge en que DIN=D, el sistema activa la sortida SEND i, en els quatre períodes següents, treu per DOUT les dades D, C, B i A (en aquest ordre). Quan acaba, posa BUSY a zero.
D’acord amb tot això, es demana, a) Emplena les línies W[3..0] i S del cronograma donat. Raona la resposta.
b) Descriu el funcionament de la màquina d’estats CTRL mitjançant un diagrama d’estats. Raona la resposta.
Disseny Digital Examen Final - 8 de juny de 2011 Full per lliurar Cognoms i nom: Cronograma de la qüestió Q8: clk nrst in Q1 Q2 out Cronograma del problema 2: clk START DIN A B C D Valor indiferent o desconegut BUSY SEND DOUT W[3..0] S D C B A Disseny Digital Examen Final - 8 de juny de 2011 Solució Qüestions Q1: +8 en Ca2 és ...
-10 en Ca2 és ...
01000 10110 11110 ... que en Ca2 és -2 Q2: 0 1 00 01 11 10 0 0 1 0 1 1 0 0 0 0 1 0 00 01 11 10 1 1 0 1 0 0 0 0 1 0 00 f0 = abc + bc f1 = abc + ac 01 11 10 0 1 1 1 1 0 ordre: a\bc f2 = ab + ac La minimització global indica que caldran 7 portes NAND i 2 NOT.
Q3: a b c f1 f2 f3 a b c f1 f2 f3 f 0 0 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 1 0 x 0 x x 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 f1 i f3 sintetitzen la funció f Q4: 100101 T 6 6 6 001111 6 a b a b > a>b < a=b a<b > a>b < a=b a<b Un comparador binari no “entén” les entrades en mòdul i signe: per a ell tot és positiu.
z Així, qualsevol entrada entre –0ºC i –4ºC (de 100000 a 100100) fa que el comparador inferior s’equivoqui i doni z=1  el disseny és incorrecte.
Q5: VDD VDD VA VA VB VA VB VA VB VX VF VF VB VA VA VB VA VB F= X=A+B F = (A + B) (A + B) = AB + AB F = (A + B) X B quan A=0 B quan A=1 = AB + AB Caldran dos inversors per negar A i B, per tant en total són 8 transistors.
Q6: El tipus bit té només dos valors, ‘0’ i ‘1’, i es pot utilitzar sempre. El tipus std_logic té nou valors diferents, entre ells ‘0’, ‘1’, ‘Z’ (alta impedància), ‘X’ (indefinit / contenció) i ‘-‘ (no importa), i només es pot utilitzar si abans es carrega la llibreria ieee i el paquet std_logic_1164.
Q7: Cal tenir present que, en VHDL, ‘+’ significa suma aritmética, no la funció lógica OR.
c a b e d Q8: clk Q1 in D Q D Q clk nrst out = Q1Q2 nrst Q out Q Q2 Q1+ = in Q2+ = Q1 in Q1 Q2 out Solució Problema 1 a) Analitzant les parts combinacionals del circuit i aplicant la funcionalitat dels biestables D, obtenim fàcilment les funcions de transició d’estats i de sortida, D1  Q1  Sin  Q1  Q0 D0  Q0  Sin  Q1  Q0 Sout  Q0 Amb això confeccionar una taula de veritat o un diagrama d’estats és immediat, Q1Q0 sa sb sc sd 00 01 10 11 Sin=0 Sin=1 01 00 00 10 11 11 11 11 Sout 1 0 1 0 Q1+Q0+ 0 sa/1  0 sb/0 1 1 1 0 1 sd/0 sc/1 0 b) La sortida Sout és una funció combinacional de Q1 i Q0. Veiem també que Q1 afecta Sout per dos camins amb retards diferents, apareixent un espuri de caiguda a zero quan Q0=‘0’ i Q1 passa de ‘1’ a ‘0’. Podem eliminar aquest espuri de diverses maneres, però la més senzilla és adonar-nos que la funció de sortida és, Sout  Q1  Q0  Q1  Q0  Q0 (Q1  Q1 )  Q0 Per tant, podem substituir el circuit combinacional per un simple inversor.
c) Cal avaluar la condició lligada al temps de setup en tots els camins interns del circuit, D1 D0 Q1 Tclki  tDQ1 + tDAND + tDOR + tSU1 = 15 ns Tclki  tDQ1 + tDNOT + tDAND + tDOR + tSU0 = 17 ns Q0 Tclki  tDQ0 + tDAND + tDOR + tSU1 = 15 ns Tclki  tDQ0 + tDNOT + tDAND + tDOR + tSU0 = 17 ns Veiem que els camins interns creuats (Q1D0 i Q0D1) fixen la freqüència màxima de clki en 1/17ns = 58.8 MHz, per tant la freqüència màxima de clk serà la meitat, 29.4 MHz.
Solució Problema 2 a) El sistema conté quatre registres, connectats de manera que és pot escriure la dada DIN en qualsevol d’ells, o bé desplaçar el contingut d’un registre al següent, o bé simplement mantenir-hi les dades memoritzades. Aquestes funcions les governen els senyals S i W[3..0], proporcionats per la màquina d’estats.
Per fer el que es demana, cal primer emmagatzemar les dades A, B, C i D respectivament en els registres Reg0, Reg1, Reg2 i Reg3. Després cal fer tres desplaçaments a la dreta, de manera que el contingut de Reg3 (DOUT) passi a ser successivament C, B i A. Totes aquestes operacions són síncrones.
clk START DIN A B D C BUSY SEND DOUT W[3..0] C B ---1 --10 -100 1000 111- 11-- 1--- WA WB SC SB D A S WAIT WC WD SD SA WAIT b) D’acord amb el cronograma anterior i tenint en compte que la màquina d’estats és del tipus Moore, podem veure que caldran els nou estats mostrats en el cronograma anterior i especificats a continuació: estat WA START WAIT WB WC WD SB SC SD START SA WAIT WA WB WC WD SD SC SB SA W[3..0] S BUSY SEND ---- - 0 0 ---1 0 1 0 --10 0 1 0 -100 0 1 1 1000 0 1 1 111- 1 1 0 1 1 0 11— 1--- 1 1 0 ---- 1 1 0 - WAIT: màquina aturada esperant l’activació de l’entrada START.
- WA a WD: màquina carregant DIN en cadascun dels registres.
- SD a SB: màquina desplaçant les dades a dretes.
- SA: màquina aturada. L’estat següent és sempre START.
Comentaris: - La finalitat de l’estat SA és mantenir activada la sortida BUSY en el període de rellotge en que a DOUT es mostra la dada A; altrament es podria prescindir d’aquest estat i anar de SB a WAIT.
- Veiem que en molts casos els senyals W[3..0] poden tenir valors indiferents, però el més raonable és assignar-los a zeros. Així s’evita escriure dades en els registres quan no és necessari i de passada es redueix el consum dinàmic del circuit.
...