CS E6831  Solutions to HW #5

In TEXT: 6.12. For each input state, there are two possible PREVIOUS input states. Since the previous input state determines the current output, there must be a different stable state for each of these possibilities. Thus, since there are 4 input states, there must be 8 stable states. A primitive flow table for this function is shown below. X1X2 00 01 11 10 1 (1),01 2,0- -,- 3,0- 2 1,0- (2),00 4,0- -,- 3 5,-0 -,- 6,-0 (3),00 4 -,- 7,-1 (4),01 8,-1 5 (5),10 2,-0 -,- 3,-0 6 -,- 7,1- (6),10 8,1- 7 1,-1 (7),11 4,-1 -,- 8 5,1 -,- 6,1- (8),11 ...................................

6.15. See solution on p. 328 of text. ....................................

6.20. Assume yi = 1 for row-i. (Since overbars are not easy to type, the complement of X is represented as X'.) (a) Y1 = X1X2y3 + y'2y1, Y2 = X'1X2y1 + y'3y2, Y3 = X'1X'2y2 + y'1y3, Z = X'1X'2y2 + X'1X'2y3.

(b) Y1 = C'D'y2+CD'y4 + y'2y1, Y2 =C'Dy1 +y '1y'3y2, Y3 =CDy2+C'Dy4 + y'4y3, Y4 = C'D'y3 + y'1y'3y4, Z =y3+y4

In ASYNC: 3.2. X1X2 00 01 11 10 y1 y2 y3 1A (1A),0 (1A),0 1B,- -,- 0 0 0 1B 1A/1B,0 1A/1B,0 3A,- -,- 0 0 1 3A 2,- 3B,- (3A),1 -,- 0 1 1 2 (2),1 1A,- (2),0 -,- 0 1 0 -,- -,- -,- -,- 1 1 0 3B 2A,- 4,- 3A/3B,1 -,- 1 1 1 4 1B,- (4),1 (4),1 -,- 1 0 1 -,- -,- -,- -,- 1 0 0 Entries such as 1A/1B mean that either 1A or 1B would be OK. Note that, in the above table, we could treat some of the specified entries as don't cares, because they are not accessible. For example, the entries in position 3B, 11 (row 3B, column 11) can be changed to dc's, because there is no way to reach this total state. There is no next-state entry 3B in column 11, so it can't be reached via a vertical move, and there are no stable states in 3B, so there is no way to get there via a horizontal move. From the above table, which is in the form of a 5-variable K-map, we can construct a K-map for Y1, by putting 1's in those positions where the next-state entries correspond to rows where y1 = 1. These are 3B and 4. So we get the map below. (It is drawn, for convenience in typing, with 0 entries explicitly shown, which we normally would not show. This is a very abbreviated form of the map, again because of the difficulty involved in typing. The map corresponds exactly to the flow matrix above. The top 4 rows are where y1 = 1, the middle 4 rows are where y2 = 1, and the 2nd, 3rd, 6th and 7th rows are where y3 = 1. The columns are also ordered as in the table, X1X2 = 00, 01, 11, 10. 000- 000- 010- 000- ---- 0110 0110- ---- We can then easily generate Y1 = X2y1 + X1'X2y2y3 (Again for convenience in typing, I use X' for the complement of X) ...................... 3.4. Altho there is no systematic procedure for generating connected row-set assignments for specific flow tables, a good way to start is by listing the destination sets for each column, and then indicating, for each row, what other rows must be have adjacent y-states. This can serve as a rough guide to the cut and try process of assigning rows to the K-map positions. For this table, the destination sets are: 00: 12, 45, 36 01: 14, 25, 367 11: 15, 24 10: 23, 47, 36 So the adjacencies for each row (derived from the 2-member destination sets) are: 1/(2, 4, 5) 2/(1, 3, 4, 5), 3/(2, 6), 4/(1, 2, 5, 7), 5/(1, 2, 4, 6), 6/(3, 5, 7) 7/(4). These indicate, for example, that there MUST be a y-state assigned to row-1 that is adjacent to some y-state assigned to row-2. In cases where 2 rows are members of a larger destination set, they need not be DIRECTLY adjacent. Since we can change next-state entries to make some transitions indirect. For example, altho there is a transition (in column 01) from 7 to 6, it is not essential that 7 be adjacent to 6, since there is, in the same column, a transition from 3 to 6. So we could change the NS entry in 7,01 to a 3 if we wished, making the transition from 7 to 6 into a 2-step move, with row-3 as the intermediate state. Since row-2 must be adjacent to 4 other rows, if we want to use just 3 y-variables, we must assign at least 2 y-states to row-2 (else it could have only 3 neighbors). The same is true for row-4. But, if we use just 3 y-variables, we would have only 8 y-states, which is not enough to accommodate both of these requirements. Therefore, it is clear that we need at least 4 y-variables. There are many solutions with 4 y-variables, one of which is shown on the K-map below and then the y-states are listed for each flow-table row. 1224 55-4 -6-- 7637 1(0000) 2(0100, 1100) 3(1110) 4(1000, 1001) 5(0001, 0101) 6(0111, 0110) 7(0010, 1010) .............. 3.7. The shared-row method is the one that generates solutions with the fewest y-variables. We start out, as in the previous case by listing the destination sets for each row. These are 00: 136, 257 01: 13, 26, 457 11: 137, 2456 10: 15, 27, 36 By trial and error, guided by this information, the 3-variable K-map below was found, with a as the shared row. The entries in this map are the rows that the corresponding y-states are assigned to. For example, the state 010 is assigned to row-3 and 011 is assigned to row-7. 1365 472a The resulting state assignment is: 1: 000, 2: 111, 3: 010, 4: 001, 5: 100, 6: 110, 7: 011, a: 101 ............. ...........

Return to Solutions Index

Return to CS6831 Web Page