Question: An Iterative Function Oops ! . . . I Did It Again [ 4 0 points ] Consider the iterative function f ( x )

An Iterative Function Oops!... I Did It Again[40 points]
Consider the iterative function
f(x)= a x + b,
where a and b are fixed 8-bit constants, and x is an 8-bit register that is iteratively
updated according to
xnext = a xcurrent + b.
Example Iteration
Suppose a =2, b =3. Start with an initial 8-bit value x =5. Then the iteration
proceeds as follows (in decimal just for illustration):
x =5
x=2*5+3=13
x =13
x=2*13+3=29
x =29
x=2*29+3=61
x =61
x=2*61+3=125
x =125
x=2*125+3=253
x =253
x=2*253+3=509(but in 8-bit arithmetic, this wraps around!)
so
x=509-256=253
Once we reach values beyond the representable range of 8 bits, the arithmetic wraps
around (i.e. it is computed modulo 256). Therefore, repeated iteration can generate
interesting results. In this particular example, the value x =253 becomes a fixed point
because further updates do not change x.
Problem
You have two 8-bit constant inputs a = a0,..., a7 and b = b0,..., b7, and an 8-bit
variable register x = x0,..., x7 that you load externally. The goal is to iteratively
compute
x = a x + b
on each clock cycle. If and when the circuit reaches a fixed point (i.e. xnext = xcurrent),
it should set a Done signal to 1 and place the final x value on an 8-bit output Z.
In your design, you can use the following blocks without specifying their internal
structure: D flip-flops, multiplexers, adder circuits, and a comparator circuit (from
Homework 4). Specify everything else.
EE 2301, Fall 245
(a) Multiplier Units. [5 points]
Explain how to implement an 8-bit unsigned multiplier for the product ax.
You may choose a simple shift-and-add design or a similar approach.
(b)8-bit

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!