Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Present NS Output
- --- x=0 x=1 x=0 x=1
- S0 S1 S2 0 0
- S1 S3 S2 0 0
- S2 S1 S4 0 0
- S3 S5 S2 0 0
- S4 S1 S6 0 0
- S5 S5 S2 1 0
- S6 S1 S6 0 1
- GUIDELINES:
- 1) States which have the same next state for a given input should be given adjacent assignments.
- 2) States which are the next states of the same state should be given adjacent assignments.
- OUTPUT TABLE ONLY:
- 3) States which have the same output for a given input should be given adjacent assignments.
- ----
- Check for all pairs that match Guideline 1:
- G1: (S0,S1,S3,S5) [all share S2 for NSx=1]
- (S3,S5) [all share S5 for NSx=0]
- (S4,S6) [they share everything]
- (S0,S2,S4,S6) [all share S1 for NSx=0]
- Check for all pairs that match Guideline 2:
- G2: (S1,S2) [they both are next states of S0]
- (S2,S3) [they both are next states of S1]
- (S1,S4) [they both are next states of S2]
- (S2,S5) [they both are next states of S3,S5]
- (S1,S6) [they both are next states of S4,S6]
- Create a K-map...
- \A 0 | 1
- BC\__|___
- 00|S0| |
- 01|S2|S5|
- 11|S4|S3|
- 10|S6|S1|
- \A 0 | 1
- BC\__|___
- 00|S0| |
- 01|S1|S6|
- 11|S3|S4|
- 10|S5|S2|
- These are two possible ways of filling in the assignment and are based on trial and error (that's what the book says, geez). Guideline 1 > Guideline 2 in preference.
- K-map filling steps:
- 1) Assign the starting state to the 0 square on the map (i.e. 000).
- 2) Adjacency conditions from G1 and adjacency conditions from G2 which are called more than once have priority and should be satisfied first. This is why for both K-maps the next set of states filled are S2,S5 or S1,S6 -- they were called twice in G2.
- 3) When guidelines require that 3 or 4 states be adjacent, these states should be placed within a group of four adjacent squares on the assignment map. Notice that in the first K-map, (S4,S6) were from a G1 state, as per (S1,S3) and for that matter, S5. In fact if you look at the entire vertical row, it's (S0,S2,S4,S6), satisfying another whole state! The same goes for (S1,S3,S5,S0) too.
- 4) If output table is considered, then include G3 in your state assignment table filling.
- Essentially, you want to satisfy as many fo those adjacent states as possible by creating a table that matches them up. The priority would be if it matches in G1, then if it gets called at least twice in G2 when filling in order.
- === WHAT DO FROM THERE ??? ===
- All the S-states are now able to be expressed in BCD form due to the ABC given in the K-map.
- Present NS Output ABC
- --- x=0 x=1 x=0 x=1 ---
- S0 S1 S2 0 0 000
- S1 S3 S2 0 0 110
- S2 S1 S4 0 0 001
- S3 S5 S2 0 0 111
- S4 S1 S6 0 0 011
- S5 S5 S2 1 0 101
- S6 S1 S6 0 1 010
- We can make a K-map from there to create a function for flipping and flopping using XABC. (X like X=0, X=1)
- \ XA | | | |
- --- 00 | 01 | 11 | 10 |
- BC \ | | | |
- 00 S1 X X S2
- -------------------------
- 01 S1 S5 S2 S4
- -------------------------
- 11 S1 S5 S2 S6
- -------------------------
- 10 S1 S3 S2 S6
- From there, you have to separate the K-map into three different K-maps, an A-map, a B-map, and a C-map. For example, S1 = 110, right? That means for A-map, all S1 will be 1, for B-map all S1 will be 1, and for C-map all S1 will be 0. You do this for the rest of the S's -- this will create the opportunity to make simplified Next-state functions for your flip-flops.
- A+ = D_A = X'
- B+ = D_B = X'C' + A'C + A'B
- C+ = D_C = A + XB'
- The text proceeds from here to create another set of state assignments, then they go onto another K-Map, then they go onto another transition table. From there, they were able to extract more D and the final output equation...
- I'd love to figure out how they made this jump here, but the table seems very random to me, so I can't give an explanation as to why.
- D_1 = Q1+ = X'Q1Q2' + XQ1'
- D_2 = Q2+ = Q3
- D_3 = Q3+ = XQ1'Q2 + X'Q3
- Z = XQ2Q3 + X'Q2'Q3 + XQ2Q3'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement