Mallard ECE 290_ Computer Engineering I - Spring 2009 - HWK #8 Solution

Mallard ECE 290_ Computer Engineering I - Spring 2009 - HWK #8 Solution

This preview shows pages 1–4. Sign up to view the full content.

3/29/09 8:30 PM Mallard ECE 290: Computer Engineering I - Spring 2009 - HWK #8 Solution Page 1 of 10 HWK #8 Solution Problem 8.1 a. The Next state table is shown below: Current State Inputs Next State Outputs FF Inputs (part a) FF Inputs (part c) Q A Q B x 1 x 2 Q A + Q B + z 1 z 2 D A D B J A K A J B K B 0 0 0 0 0 0 0 0 0 0 0 x 0 x 0 0 0 1 0 0 0 0 0 0 0 x 0 x 0 0 1 0 0 0 0 0 0 0 0 x 0 x 0 0 1 1 1 0 0 0 1 0 1 x 0 x 0 1 0 0 0 0 0 0 0 0 0 x x 1 0 1 0 1 0 0 0 0 0 0 0 x x 1 0 1 1 0 0 1 1 0 0 1 0 x x 0 0 1 1 1 1 1 1 0 1 1 1 x x 0 1 0 0 0 1 1 0 1 1 1 x 0 1 x 1 0 0 1 1 1 0 0 1 1 x 0 1 x 1 0 1 0 0 0 0 1 0 0 x 1 0 x 1 0 1 1 1 0 0 0 1 0 x 0 0 x 1 1 0 0 1 1 0 1 1 1 x 0 x 0 1 1 0 1 1 1 0 0 1 1 x 0 x 0 1 1 1 0 0 1 1 1 0 1 x 1 x 0 1 1 1 1 1 1 1 0 1 1 x 0 x 0 b. The state diagram is shown here:

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
3/29/09 8:30 PM Mallard ECE 290: Computer Engineering I - Spring 2009 - HWK #8 Solution Page 2 of 10 c. To draw the ROM implementation, we need only know the ROM inputs (QA, QB, x1, x2) and the ROM outputs (JA, KA, JB, KB, z1, z2): the ROM size will be 16 x 6. We don't even need to know the actual JK and z values! However, in order to specify the ROM programming table, we do need the JA, KA, JB, KB, z1, z2 values, already specified in the table from part (a). ROM Programming Table Address Memory Content QA QB x1 x2 JA KA JB KB z1 z2 0 0 0 0 0 x 0 x 0 0 0 0 0 1 0 x 0 x 0 0 0 0 1 0 0 x 0 x 0 0 0 0 1 1 1 x 0 x 0 0 0 1 0 0 0 x x 1 0 0 0 1 0 1 0 x x 1 0 0 0 1 1 0 0 x x 0 1 0 0 1 1 1 1 x x 0 1 0 1 0 0 0 x 0 1 x 0 1 1 0 0 1 x 0 1 x 0 0 1 0 1 0 x 1 0 x 0 1 1 0 1 1 x 0 0 x 0 0 1 1 0 0 x 0 x 0 0 1 1 1 0 1 x 0 x 0 0 0 1 1 1 0 x 1 x 0 1 1
3/29/09 8:30 PM Mallard ECE 290: Computer Engineering I - Spring 2009 - HWK #8 Solution Page 3 of 10 1 1 1 1 x 0 x 0 1 0 * Note the don't cares in the above table should be set to either a 1 or a 0 in the actual implementation. They are left as X's here to indicate that they could either be a 1 or a 0, but when actually implementing the ROM these would need to be set to a 0 or a 1. Check Answer Problem 8.2. (a. i.) State Meaning A - 0 (Start State) B 1 has just been read C 10 has just been read D 100 has just been read E 101 has just been read (ii) Using the "window on the input sequence" means we shift the input values into a shift register. We want to be able to look at the most recent 4 bits, so we need 3 flip-flops. Since 1001 and 1011 only differ by one bit, we can look for 10X1. This is implemented below. Note that the

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 11/16/2009 for the course ECE 290 taught by Professor Brown during the Spring '08 term at University of Illinois at Urbana–Champaign.

Page1 / 10

Mallard ECE 290_ Computer Engineering I - Spring 2009 - HWK #8 Solution

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online