Answered step by step
Verified Expert Solution
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 ica b: a & bdefines an integrated circuit ic with inputs a and b performing the logical AND operation between them;
DEFINE ica b c d: a & b c & d
DEFINE ica b c: a & b c derror: 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;
icXa b c d name of the defined function and order of its inputs;
a & b cd 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 ic Result:
When executing the RUN command, the program should parse the user's input and process its components:
RUN command name;
icX 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 ic
a b res
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 :;
:;
:;
:;
:;
:;
:;
:
Example:
FIND "table.csv
Result: a & b & c
The input data can be provided via stdin andor an external file.
The synthesis of the logical function can be performed using a method of your choice, such as:
Synthesis by or synthesis by 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 #
Functions
Pointers & pointer arithmetics
Arrays, strings
Dynamic memory malloc calloc realloc free
Homework #
Function pointers, Static variables, variadic functions
Recursion
Dynamic structures multidimensional arrays
Structs, unions, and bitfields
Homework #
Preprocessor basics
Linked lists
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started