
Logic Design Course Project
The description of a course work
The course work is dedicated to designing logic circuits.
The purpose of implementing a course work on "Logic design" is acquaintance of the student with design techniques of simple logic circuits manually" and with the use of EDA tools.
Logic circuits are subdivided into two classes: "combinational" and "sequential” (or FSM) ".
Combinational is called the logic circuit, the output signals of which depend only on current values of input signals.
Sequential (FSM) is called the circuit, the output signals of which are defined not only by current values of input signals, but also depend on a sequence of values of input signals in the past.
The course work consists of two parts:
Synthesis of a combinational circuit.
Synthesis of FSM.
1. Synthesis of a Combinational Circuit
A student is given one of the below-mentioned task variants. It is required to define the system of Boolean functions describing the given device, make minimization of the obtained functions and develop the combinational circuit by the following ways:
Design of the circuit into AND, OR, NOT basis
Transition into NAND, NOR basis and design of combinational circuits in these basis
Representation of functions in polynomial form
Design of functions using decoder
Design of implementing functions with the help of multiplexers
Creation of gate-level description of implemented circuit.
Types of tasks
Task 1.1.
Design a circuit of the device that performs the conversion of input binary decimal code into output binary decimal code.
The weights of input and output binary-decimal codes are presented in Table 1.
Table 1
Number of variant |
Input code p1 p2 p3 p4 |
Output code p1’ p2’ p3’ p4’ |
1. |
8 4 2 1 |
7 4 2 1 |
2. |
7 4 2 1 |
5 4 2 1 |
3. |
7 4 2 1 |
8 4 2 1 |
4. |
7 4 2 1 |
2 4 2 1 |
5. |
5 4 2 1 |
2 4 2 1 |
6. |
2 4 2 1 |
8 4 2 1 |
7. |
5 3 2 1 |
2 4 2 1 |
8. |
4 3 1 1 |
8 4 2 1 |
9. |
5 2 1 1 |
2 4 2 1 |
10. |
6 3 1 -1 |
3 3 2 1 |
11. |
4 3 1 1 |
7 5 3 -6 |
12. |
8 4 2 1 |
5 3 2 -1 |
13. |
5 3 2 -1 |
2 4 2 1 |
14. |
8 4 2 1 |
2 4 2 1 |
15 |
5 3 2 -1 |
7 5 3 -6 |
16 |
4 3 1 1 |
6 4 1 -2 |
17 |
6 4 1 -2 |
4 3 1 1 |
The values of numbers of binary-coded decimal code with weights p1 p2 p3 p4 are defined by the following formula:
X = x1p1 + x2p2 +x3p3 + x4p4 =xipi ,
where pi – weight of i-th bit of a tetrad.
In addition to codes with the given weights for coding decimal numbers, other codes are also used: a code with excess 3, code 2 out of 5, biquinary code.
These codes are presented in Table 2.
Table2
Number |
Code with excess 3 |
Biquinary code |
Code 2 out of 5 |
0 |
0011 |
010 0001 |
00011 |
1 |
0100 |
010 0010 |
00101 |
2 |
0101 |
010 0100 |
00110 |
3 |
0110 |
010 1000 |
01001 |
4 |
0111 |
011 0000 |
01010 |
5 |
1000 |
100 0001 |
01100 |
6 |
1001 |
100 0010 |
10001 |
7 |
1010 |
100 0100 |
10010 |
8 |
1011 |
100 1000 |
10100 |
9 |
1100 |
101 0000 |
11000 |