Description
Specification for 4-bit ALU Simulation
- The functional design specification for each group of each section can be found in Appendix A. First, read carefully the specification of your group. Then, go through the next specifications/instructions of this section.
- Required Flags:
- Carry
- Sign
- Overflow
- Zero
- Flags will be affected as per the rules of Assembly Language.
- Any 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.
- Late submission will result in reduced marking.
- For simulation you can use any simulation software.
- While demonstration you must bring your group specification.
1
- Simulator used along with the version number
- Discussion
Version
This section contains the version of the assignment. It starts with Version 0. If we find some major problems in this assignment description file, then we shall change this pdf. If that case, we shall increase the version number and list the changes in this section. So, keep an eye on this version number of the pdf in the moodle to see whether the version is changed or not. If it is changed, the first read this section to see where the changes have been made and whether it is applicable for your group. On the other hand, if the changes are minor (for example, correcting the grammatical mistakes), then version number will not be changed.
Version 0
This is the initial version of the problem description pdf.
2
Appendix A
Functional design specifications for each group of each section
| cin
cs2 cs1 cs0 |
Functions for | |
| Group 5 | Group 6 | |
| 0 0 0 | Add | Decrement A |
| 0 1 0 | Transfer A | Subtract with borrow |
| 1 0 0 | Add with carry | Transfer A |
| 1 1 0 | Increment A | Subtract |
| x 0 1 | OR | AND |
| x 1 1 | Complement A | XOR |
For Section A1
| cin
cs2 cs1 cs0 |
Functions for | |||
| Group 1 | Group 2 | Group 3 | Group 4 | |
| 0 0 0 | Add | Decrement A | Subtract with borrow | Decrement A |
| 0 0 1 | Transfer A | Subtract with borrow | Transfer A | Add |
| 0 1 0 | Add with carry | Transfer A | Subtract | Transfer A |
| 0 1 1 | Increment A | Subtract | Increment A | Add with carry |
| 1 x 0 | AND | OR | AND | Complement A |
| 1 x 1 | XOR | Complement A | OR | XOR |
| cin
cs2 cs1 cs0 |
Functions for | |
| Group 5 | Group 6 | |
| 0 0 0 | Subtract with borrow | Decrement A |
| 0 1 0 | Transfer A | Add |
| 1 0 0 | Subtract | Transfer A |
| 1 1 0 | Increment A | Add with carry |
| x 0 1 | OR | XOR |
| x 1 1 | AND | Complement A |
For Section A2
| cin
cs2 cs1 cs0 |
Functions for | |||
| Group 1 | Group 2 | Group 3 | Group 4 | |
| 0 0 0 | Add | Decrement A | Subtract with borrow | Decrement A |
| 0 0 1 | Transfer A | Subtract with borrow | Transfer A | Add |
| 1 0 0 | Add with carry | Transfer A | Subtract | Transfer A |
| 1 0 1 | Increment A | Subtract | Increment A | Add with carry |
| x 1 0 | AND | OR | AND | Complement A |
| x 1 1 | XOR | Complement A | OR | XOR |
| cin
cs2 cs1 cs0 |
Functions for | |
| Group 5 | Group 6 | |
| 0 0 0 | Subtract with borrow | Decrement A |
| 0 1 0 | Subtract | Transfer A |
| 0 x 1 | OR | XOR |
| 1 0 0 | Transfer A | Add |
| 1 1 0 | Increment A | Add with carry |
| 1 x 1 | AND | Complement A |
For Section B1
| cin cs2 cs1 cs0 | Functions for | |||
| Group 1 | Group 2 | Group 3 | Group 4 | |
| 0 0 0 | Add | Decrement A | Subtract with borrow | Decrement A |
| 0 0 1 | Add with carry | Transfer A | Subtract | Transfer A |
| 0 1 x | AND | OR | AND | Complement A |
| 1 0 0 | Transfer A | Subtract with borrow | Transfer A | Add |
| 1 0 1 | Increment A | Subtract | Increment A | Add with carry |
| 1 1 x | XOR | Complement A | OR | XOR |
| cin
cs2 cs1 cs0 |
Fu | nctions for |
| Group 5 | Group 6 | |
| 0 0 0 | Add | Decrement A |
| 0 1 0 | Add with carry | Transfer A |
| 0 x 1 | XOR | OR |
| 1 0 0 | Transfer A | Subtract with borrow |
| 1 1 0 | Increment A | Subtract |
| 1 x 1 | AND | Complement A |
For Section B2
| cin cs2 cs1 cs0 | Functions for | |||
| Group 1 | Group 2 | Group 3 | Group 4 | |
| 0 0 0 | Add | Decrement A | Subtract with borrow | Decrement A |
| 0 0 1 | Add with carry | Transfer A | Subtract | Transfer A |
| 0 1 0 | Transfer A | Subtract with borrow | Transfer A | Add |
| 0 1 1 | Increment A | Subtract | Increment A | Add with carry |
| 1 0 x | OR | AND | OR | XOR |
| 1 1 x | XOR | Complement A | AND | Complement A |





