Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

FINAL PROJECT C + + Console Simulator for Digital Integrated Circuits Digital integrated circuits are designed to process digital signals and implement logical functions. Develop

FINAL PROJECT
C++
Console Simulator for Digital Integrated Circuits
Digital integrated circuits are designed to process digital signals and implement logical functions. Develop a console program in C++ that assists in designing and analyzing digital logic integrated circuits. For the purposes of this project, integrated circuits can have several digital inputs and one digital output.
The program should implement four main functions: DEFINE, RUN, ALL, and FIND.
Define a logical integrated circuit - DEFINE:
The DEFINE command allows the user to define a logical integrated circuit with a given name. Integrated circuits can be composed of basic logical operations AND, OR, and NOT, implementing a given logical function. The input of the logical function should be checked for errors and can be in infix or postfix notation, at your choice.
Examples (in infix):
DEFINE ic1(a, b): "a & b"//defines an integrated circuit ic1 with inputs a and b, performing the logical AND operation between them;
DEFINE ic2(a, b, c, d): "a & (b | c) & !d"
DEFINE ic3(a, b, c): "a & b | c |!d"//error: input d is not defined
When executing the DEFINE command, the program should parse the user's input and process its components:
DEFINE - command name;
icX(a, b, c, d)- name of the defined function and order of its inputs;
((a & b)| c)|!d - logical expression (function body).
Simulation of an integrated circuit for given parameters - RUN:
The RUN command allows the user to activate one of the defined integrated circuits for given input values.
Examples:
RUN ic1(1,0)-> Result: 0
When executing the RUN command, the program should parse the user's input and process its components:
RUN - command name;
icX(1,0,1,0)- name of the defined integrated circuit and values of its inputs;
Generating a truth table for a logical integrated circuit - ALL
The ALL command allows the user to execute one of the defined integrated circuits. It should generate all possible values of the arguments and output the corresponding result.
Example:
ALL ic1->
a | b | res
0|0|0
0|1|0
1|0|0
1|1|1
Bonus: Synthesis of a logical function - FIND:
The FIND command allows the user to find a logical function that is not available, based on an input truth table. The logical function can then be used to synthesize a logical circuit for the corresponding integrated circuit.
Example:
FIND 0,0,0:0;
0,0,1:0;
0,1,0:0;
0,1,1:0;
1,0,0:0;
1,0,1:0;
1,1,0:0;
1,1,1:1
Example:
FIND "table.csv"
Result: "a & b & c"
The input data can be provided via stdin and/or an external file.
The synthesis of the logical function can be performed using a method of your choice, such as:
Synthesis by 0 or synthesis by 1-(Perfect Conjunctive Normal Form and Perfect Disjunctive Normal Form).
Exhaustive search.
a & b & c & d;
a & b & c | d;
...
Search using a heuristic method. A heuristic implementation is possible, for example through a genetic algorithm. For this purpose, tree crossover operations should be implemented, which is an approach of genetic programming.
Additional functionalities may be added to the project. Solve this problem detaility using only these things if it is nesecarry and do NOT use COPILOT Stages of the software life cycle
Linux basics (Basic Linux commands)
Compilation process - gcc, make and makefiles
Binary number system, floating point numbers
Data types and variables.
Arithmetic, logic and bitwise operators, logic gates
General operators - conditional statements, loops
Homework #1
Functions
Pointers & pointer arithmetics
Arrays, strings
Dynamic memory - malloc(), calloc(), realloc(), free()
Homework #2
Function pointers, Static variables, variadic functions
Recursion
Dynamic structures - multidimensional arrays
Structs, unions, and bitfields
Homework #3
Preprocessor basics
Linked lists

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Data And Information Quality Dimensions, Principles And Techniques

Authors: Carlo Batini, Monica Scannapieco

1st Edition

3319241060, 9783319241067

More Books

Students also viewed these Databases questions

Question

6 Compute and interpret the inventory turnover ratio.

Answered: 1 week ago

Question

CL I P COL Astro- L(1-cas0) Lsing *A=2 L sin(0/2)

Answered: 1 week ago