Tussentoets Digitale Techniek. 1 november 2001, 11:00 tot 13:00 uur. Opmerkingen: 1. Als u een gemiddeld huiswerkcijfer hebt gehaald van zes (6) of hoger, dan kunt u één (1) van de vijf opgaven laten vallen. Wel vermelden welke opgave niet is gemaakt (voor die opgave krijgt u het huiswerkcijfer; als u dat cijfer te laag vindt dan kunt u besluiten toch alle opgaven te maken). 2. Bij elke opgave geldt: de uitkomst moet volgen uit een systematische afleiding, en alle stappen moeten in het antwoord zijn opgenomen. 3. De opgaven zijn in het Engels gesteld ten behoeve van degenen die de tussentoets moeten nakijken. U bent niet verplicht een Engelstalige tussentoets in te leveren, maar het zal wel op prijs worden gesteld als u dat toch doet. 4. De tijd is (opzettelijk) beperkt. Ga vooraf na hoeveel tijd u uzelf geeft voor elk van de vijf (of vier) te maken opgaven. Niet-voltooide uitwerkingen kunnen meer opleveren dan volledig ontbrekende. Problems. 1. A priority encoder has inputs D 3, D 2, D 1, D 0, and outputs A 1, A 2, V, where V is the validity bit. 1.1 Derive the condensed truth table, (5) 1.2 Use K-maps to simplify A 1 and A 2, and (4) 1.3 Give the logic diagram for this encoder. (1) 2. A sequential circuit has the following specification: next state = f(present state) and output = g(present state), where g() is the identity function and f is defined by the following State Table:,,
Present State Next State ABC ABC State Table for a so-called ring counter. 2.1 Design the circuit using D flip-flops and assuming that the unspecified next states are don’t-care conditions, and (8) 2.2 Add the necessary logic to the circuit to initialize it to state 000 on power-up master reset. (2) 3.2 You can get a bonus if you design your circuit as a reliable circuit i.e., a circuit that behaves well when it accidentally enters an unused state. (2) 3. Design a binary counter that goes through the following repetitive sequence: (0,0), (0,1), (0,2), (0,3), (1,1), (1,2), (1,3), (2,2), (2,3), (3,3), and back to (0,0). (10) (you can do so by coding (a,b) 10 in BCD format (A 2 A 1 A 0,B 2 B 1 B 0 ) and designing a single counter for this six-bit sequence; you can also try to design two counters, one for a and one for b and make a coupling between the two so that they jointly behave as a single counter).
4. Let be given the following program: for (i = 0; i 7; i ++ ) { for (j = 0; j i; j ++ ) { r(i,j) = - 1/2 j + 15/2 j + i + 1; } 2 The loop-nest may be interpreted as defining an ordered list of input values {(i,j) | 0 i 7; 0 j i }, for each of which the corresponding output is r(i,j) = - 1/2 j + 15/2 j + i + 1; 2 Program a 6-input/6-output ROM for that program. (10) 5. Obtain the PLA programming table for the four Boolean functions: A(X,Y,Z) = m(3,6,7), B(X,Y,Z) = m(0,1,4,5,6), C(X,Y,Z) = m(2,3,4), and D(X,Y,Z) = m(2,3,4,7). Make sure the number of product terms is minimal. Try to share product terms between functions. Finally consider the use of complemeted (C) outputs. (10) Good luck.