$29
Project overview:
Your task in this project is to design and simulate a two-digit binary-coded decimal (BCD) adder and subtractor. You can follow the given hierarchical design in Figure 1, however you are required to design each component on your own. Note that, you are only allowed to use simple logical gates such as “or”, “and”, “xor”, “nor”, “nand”, “inverters”, and the components that you design.
Project details:
As you know, BCD numbers are binary representations of decimal numbers, in which each decimal digit is shown by a fixed numbers of bits, in this project, let us say four. For instance, the decimal
number would be BCD-represented as 01000101 (0100 = 4, 0101 = 5).
As shown in Figure 1, there are two 2-digit decimal numbers that enter adder/subtracter block, and there is one more input bit for the choice of operation, i.e., if the input is 1, the block will operate as a subtractor, and otherwise as an adder. For simplicity, you can assume that the first number is always greater than the second one for subtraction operation. Please note that, you will be required to consider the carry out of ten's digit, i.e., if the sum of inputs is greater than 99, 100's digit output should be 1. You will be also required to develop a VHDL test bench to simulate your design.
Grading policy:
• Functioning implementation: 50%
• Demo: 15%
• Report: 35%
Your report should include your design schematics, clearly explaining the design strategy used in the project along with all necessary details (such as Karnaugh map, block design, hierarchical procedures, and etc.). You should refer to the guideline for writing project reports, which has already been given in the course’s syllabus, for compliance. Please note that, your report must be at
most 4 pages long.
At most by end of the due date, you have to submit your full project report. Late reports will not be accepted. For demo presentations, further arrangements will be made and you will be informed.
• Please note that each student has to work individually and teamwork is not allowed. Unethical behavior and plagiarism will definitely not be tolerated.
Figure 1: Block diagram for the BCD adder/subtractor