1. Understanding of the operation of computer arithmetic circuits by constructing working models using a publicly available logic simulator.
Â
2. Explore circuits that perform basic arithmetic operations on integer and floating-point numbers.
Â
3. The Logic simulator to be used is called Logisim(hyperlinked) written by Carl Burch.
4. The Latest Windows Version can be downloaded here(hyperlinked).
Â
5. The program may be run directly without any complex installation or uninstallation process.
Â
6. Familiarize yourself with its operation by building some small combinational and sequential logic circuits before proceeding to the following assignment.
1. Construct a circuit that will multiply two 8-bit signed binary integers in two's complement format, producing a 16-bit signed result.
Â
2. You may use any of the basic logic gates, multiplexers, flip-flops, registers, etc. available in Logisim or its standard libraries, but you may not use the multiplier from the Arithmetic library.
Â
3. Using a ROM from the Memory library is also not allowed.
Â
4. (Pre-computing results and storing them in a lookup table for later access is a legitimate design technique in some situations, but it would bypass the main point of this assignment, which is to understand the inner workings of arithmetic circuits).
Â
5. Your multiplier may use all combinational logic, or a mix of combinational and sequential logic
Â
6. When you have a completed implementation, test it by providing several pairs of numbers as inputs.
Â
7. Make sure you thoroughly exercise the circuit by using all combinations of positive and negative operands, both large and small numbers as operands (including positive and negative boundary cases), one or both operands equal to zero.
1. Construct a circuit that will multiply a pair of numbers in IEEE-754 single precision floating-point format.
Â
2. Built-in integer multiplier function from Logisim's Arithmetic library to do the actual multiplication of the significands.
Â
3. Figure out and build in the logic to un-bias, add, and re-bias exponents as needed, normalize the product and adjust the exponent, etc. to produce the final result in IEEE-754 format.
Â
4. As in Part A, once you have your floating-point multiplier circuit constructed, test it with a variety of positive and negative, small (much less than 1) and large numbers, and zero, as inputs.
1. A thorough description of each circuit and at least a top-level circuit diagram.
Â
2. More detailed diagrams of lower-level circuit components are encouraged if they help to explain the circuits' operation.
Â
3. Also include tables of the test data you used to evaluate each circuit and the results obtained in each case.
Â
4. Analyze and discuss your results, noting anything unusual or unexpected about the design or operation of the circuits.
Â
5. If you had the assignment to do over again, would you have done anything differently? Were there any ways you could have made your circuit[s] perform better or more efficiently?)
Â
6. Submit all Logisim project (.circ) files comprising each circuit. This will allow me to verify the operation of your circuits on my own machine.Â