Hwk 2 Due Friday, February 14 IMPORTANT NOTE: We do not have a Reader, so the TA will be grading the work (lal@cs). Our department has experienced tremendous growth in enrollment during the last couple of years, and as a result we have a shortage of TAs. To minimize the TA's workload, please make sure to FOLLOW HOMEWORK DIRECTIONS TO THE LETTER, NO DEVIATIONS WHATSOEVER. I. Use Chipmunk to implement a pipelined floating-point unit, according to the following specifications. The numbers will be 6 bits long, with the leftmost (i.e. most significant) 4 bits forming the mantissa m and the last 2 bits comprising the exponent e. The m field is to be considered to be an unsigned integer, while e is a 2s-complement signed integer. Thus negative floating-point numbers cannot be stored. Make sure to verify for yourself that 001110 + 010111 = 110110 So, if 001110 and 010111 are input to the first stage of the pipe, the output from the last stage will later be 110110. If you need review on floating-point numbers, please look at ~matloff/Pub/Ar*/Un*/Ch1.tex. As always, feel free to ask the TA and/or me any questions on this. The pipe will consist of 3 stages: S1: compare exponents of the addends S2: if one exponent is (algebraicly) larger, change it to match the smaller one, and shift left its mantissa to compensate S3: add mantissas Assume no overflow will occur in stages S2 and S3. Again, your design must be PIPELINED. Assuming new inputs are constantly fed into the pipe, there will be floating-point additions for 3 separate pairs of numbers in progess simultaneously. I recommend that you NOT use shifter components. Instead, just route wires "diagonally." As an example, suppose we have bits x1, x0 and z as input at some point in a circuit and we wish our output to consist of x1 and x0 if z = 1 an x0 and 0 (i.e. a left shift) if z = 0. We can do this using 2 MUXs, each controlled by z. The MUX which produces y1 will have x1 and x0 as input, while the one producing y0 will have x0 and 0 as input. Your e-mail to the TA will consist of a FOUR (4) .lgf files, and a README file, the latter listing the members of your group (and NO other information), but NO other files. The first 3 .lgf files will be named s1.lgf, s2.lgf, etc., one for each of the 3 stages. The remaining .lfg file will be named top.lgf; it will consist of labels, hex keypads and displays and instance boxes to integrate the 3 stages into a pipeline and input/testing materials. Use a Digital Pulse Generative Switch for your "clock." The package must be the result of tar, gzip and uuencode, with the latter operation arranging things so that upon using uudecode, the output file will be named hwk_2.tar.gz.