The aim of this experiment is to recall the axioms and theorems of Boolean algebra and validate these axioms and theorems using the Verilog.

- Please complete the preliminary work and explain their in detail in your report.
- You are allowed to use ‘&’ (Bitwise AND), ‘|’ (Bitwise OR), and ‘∼’ (Bitwise NOT) operations. Other operations such as ‘ˆ ’, ‘+’, ‘-’, ‘*’, ‘/’, ‘
*<<*’, and ‘*>>*’ are forbidden. - More complex experiments will be later experiments, so you can not use always, parametric modules, switch case, and if else in this experiment.

*For your questions: Abdullah Ekrem Okur ([email protected])*

# 2 Preliminary

- Revise the axioms and theorems of Boolean algebra.
- Prove the given equalities below by using the axioms of Boolean algebra. Please specify which axioms you use.
*a*+*a**b*=*a*- (
*a*+*b*) · (*a*+*b*^{0}) =*a*

- Determine and prove the duals of the equalities defined above.
- Calculate the complementary expression (
*F*^{0}) for the function*F*which is defined as follows (*F*=*a**b*+*a*^{0 }·*c*) by using De Morgan theorem and draw the logic circuit for both expressions (*F*and*F*^{0}). - Simplify given logical function and draw the logic circuit.
*F*(*a,b,c,d*) = ∪_{1}(1*,*2*,*5*,*6*,*9*,*10*,*13*,*14)

1

*Experiment 1 Boolen Algebra*

# 3 Experiment

Part 1

In this part, you are requested to implement AND, OR, NOT modules which you will use in the following experiments. You are not allowed to use these operators in the following parts, you can only use these modules when you need them.

Part 2

In this part, you should design and implement the logic circuits for the given expressions below by using AND, OR, NOT modules which you designed in the first part. Then, you should simulate it for each different combination of input and validate the correctness of your implementation.

*F*_{1}(*a,b*) =*a*+*a**b*=*a**F*_{2}(*a,b*) = (*a*+*b*) · (*a*+*b*^{0}) =*a*

Part 3

A theorem is given as: (*a *+ *a *· *b *= *a*).

First, determine the dual of the given theorem and then, implement the functions for both sides of the dual theorem using AND, OR, NOT modules which you designed in the first part. Please validate the truth of the theorem by comparing the changes in the outputs using simulation.

Part 4

*F*_{3}(*a,b,c*) = *a *· *b *+ *a*^{0 }· *c *is given.

Firstly, determine the complement of the given function (*F*_{3}). Then, implement the circuit which realizes the complementary function ( ). Please validate your implementation by using the truth table and simulate it for each different combination of input.

Part 5

A basic logical function (*F*4) is defined as follows.

*F*_{4}(*a,b,c,d*) = ∪_{1}(1*,*2*,*5*,*6*,*9*,*10*,*13*,*14)

First, simplify given logical function and implement the simplified expression using AND, OR, NOT modules which you designed in the first part. Please validate your implementation by observing the outputs for each possible input.

2

# 4 Report

Prepare your report using the guidelines and the report template which are posted on Ninova e-Learning System. Please report the preliminary work in detail. Your report should also include the following materials:

- Circuits diagrams of the expressions which were implemented during this experiment.
- Function tables (or truth tables) of the implemented expressions.
- Simulation outputs of each part.

Additionally, if there were any complications which affect your performance during the experiment, please also indicate these difficulties in your report.

## Reviews

There are no reviews yet.