Group Assignment 6 -- EECS 270, Spring '23

Due Monday, June 19th @9pm, 5% off if turned in by 11pm


This is a group assignment, all of the work should be that of only your group members. Assignments that are unstapled, lack a cover sheet, or are difficult to read will lose at least 50% of the possible points and we may not grade them at all.

It is expected that each group member contributed to the assignment; non-contributing members should not have their name on this document. This assignment is worth about 1% of your grade in the class and is graded out of 30 points. Remember you may drop one group assignment.


  1. Using a Kmap, find the minimal sum-of-products for Σa,b,c,d,e,f (2,4,6,8,13,14,19,32,40,45,46,63) [4]

  2. As problem 1, but use QM to solve it. Clearly show all the steps as done in class. [6]

  3. Using the supplied template, implement a Meally machine which has 1 input A and one output X. X should go high if the last values of A were either 000 or 011. Show your work including the state transition diagram, your next-state logic, and your output logic. Your inputs and outputs should be clearly labeled. Hint: You are allowed to use your outputs (say P6) as an input (say P1) and you may need to drive the same value to more than one location... Assume any flip-flops are initialized to zero. Describe any other assumptions. [10]

  4. For the carry lookahead adder in the text, answer the following:[6]
    1. How many total gates are there for a 4-bit version? The 16-bit version? The 64-bit version? Briefly justify your answers.
    2. How many total gates inputs are there for a 4-bit version? The 16-bit version? The 64-bit version? Briefly justify your answers.
    3. How large is the worst-case delay in 4-bit version? The 16-bit version? The 64-bit version? Briefly justify your answers.
    4. How large is the worst-case delay in 4-bit version where the delay of a gate is said to be the log of the number of inputs it has? The 16-bit version? The 64-bit version? Briefly justify your answers.

  5. Write an assembly program in the assembly language used in class which counts the number of values in memory locations 1000 to 1999 that are greater than 100 and puts that count in memory location 2000. [4]