Description
- The functional design specification for each group of each section can be found in Appendix A. First, read the specification of your group carefully. Then, go through the following requirements/instructions of this section.
- Efficiently design (with minimum possible ICs) the ALU according to the specification.
- In addition, you need to implement the following flags.
- Carry (C)
- Sign (S)
- Overflow (V)
- Zero (Z)
- Flags will be affected as per the rules of Assembly Language. However, we have added some exceptions (only for this assignment) to incorporate flexibility to flag status bits after logical operations. Remember that this flexibility is to make your assignment easier, although it breaks some of the rules of the assembly programming language.
- For NOT Operation:
- After the NOT operation, which makes the result to 0000, if Z becomes 0 from 1, it will not be accepted. However, if Z becomes 1 or if Z value remains unchanged, both will be accepted.
- After the NOT operation, if S remains unchanged or it reflects the highest order bit of the result, both will be accepted. But if S bit changed and it changed to a wrong value, it will not be accepted.
- To make your life easier, we shall not check the C and V bits after NOT operation,
i.e., you can consider these as Don’t care.
- For AND/OR/XOR Operation:
- C and V should be cleared (0) after the operation.
- S and Z should be changed according to the output.
- Any 2-input SSI (AND, OR, NOT, XOR etc.) and MSI (MUX, Decoder, Adder etc.) chip can be used.
- Emphasis should be given on efficiency of design and minimization of ICs used.
- For simulation, you can use any simulation software.
- Your software design must be in IC-level.





