0% found this document useful (0 votes)
20 views26 pages

Digi Sim

Digital logic simulator presentaion

Uploaded by

pawan kharel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views26 pages

Digi Sim

Digital logic simulator presentaion

Uploaded by

pawan kharel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

DigiSim1.

0 BCT 065/056 OOP project team 1


DigiSim1.
0
DigiSim1.0 BCT 065/056 OOP project team 2
Approach
• Something to challenge our programming knowledge

• Something we would love to use

• Should fit the project guidelines

DigiSim1.0 BCT 065/056 OOP project team 3


Vision
• Combinational digital logic simulator

• Chips can be built and reused

• Useful to learn and test digital logic circuits

• Intuitive UI and UX

DigiSim1.0 BCT 065/056 OOP project team 4


Literature Review
• C++

• Gtkmm4

• cMake

DigiSim1.0 BCT 065/056 OOP project team 5


Existing System

Digital Logic Sim by Sebastian Lague (itch.io)

DigiSim1.0 BCT 065/056 OOP project team 6


DigiSim1.
0
Our Implementation

DigiSim1.0 BCT 065/056 OOP project team 7


Characteristics
• Combinational digital logic simulator

• Chips can be built and reused

• Project Management

• Useful to learn and test digital logic circuits

• Intuitive UI and UX

DigiSim1.0 BCT 065/056 OOP project team 8


Let’s go to the demo

DigiSim1.0 BCT 065/056 OOP project team 9


Methodology and
project development
phases

0 0 0
1 2 2

User
Requirement System
Interface
Analysis Architecture
Design
Design

DigiSim1.0 BCT 065/056 OOP project team 10


Coding
DigiSim

A B C

Input Processing Circuit Design


Custom Chip Creation
Module Module
Module
Validates and parses user Allows graphical design of
Enables creating and saving
inputs, such as placing gates circuits through drag-and-
custom chips for reuse.
and creating connections. drop and drawing
connections.

DigiSim1.0 BCT 065/056 OOP project team 11


Coding
DigiSim

D E F

Simulation Module Animation and UI Project Saving and


Offers real-time simulation features loading modules
and output display for circuit Provides smooth animations Facilitates saving and loading
verification. and intuitive controls for a projects, including all circuit
better user experience. designs and custom chips.

DigiSim1.0 BCT 065/056 OOP project team 12


Methodology and
project development
phases

0 0 0
4 5 6

Deployment
and
Debugging
Testing documentati
on

DigiSim1.0 BCT 065/056 OOP project team 13


How does it work?

DigiSim1.0 BCT 065/056 OOP project team 14


DigiSim1.0 BCT 065/056 OOP project team 15
About the Code

• Object-oriented approach

• Modules separated into multiple files

• Use of cMake to link and build the project

• Collaboration via GitHub

DigiSim1.0 BCT 065/056 OOP project team 16


Contd…
main.cpp
The main entry point of the application.

window.cc/window.h
The main window where the user interface is displayed.

ScreenStack.cc/ScreenStack.h
Manages the screens to be shown, ensuring the correct screen is displayed.

SplashScreen.cc/SplashScreen.h
Displays a splash screen at the start of the application.

DigiSim1.0 BCT 065/056 OOP project team 17


Contd…
MenuScreen.cc/MenuScreen.h
Contains the menu options such as "New Project," "Open Project," and "Exit."

ChipArea.cc/ChipArea.h
Contains all elements related to circuit creation, including classes for chips,
ChipArea, pins, wires, menus, etc.

CustomChip.cc/CustomChip.h
Handles everything related to loading, parsing, and saving custom circuits.

dialog.cc/dialog.h
Custom widget for managing custom dialogs.

DigiSim1.0 BCT 065/056 OOP project team 18


Contd…
newProjectDialog.cc/newProjectDialog.h
Dialog box displayed when the "New Project" button is clicked.

openProjectDialog.cc/openProjectDialog.h
Dialog box displayed when the "Open Project" button is clicked.

Parse.cc/Parse.h
Contains the parser for custom chip files with the .chip extension.

DigiSim1.0 BCT 065/056 OOP project team 19


Tackling problems
1 Difficulty in Linking Packages
Complications with linking GTKmm 4 and managing dependencies.

Solution:
Used CMake to handle linking and setup.

2 Saving and Reusing Chips


Challenges in saving and loading custom chips with their internal data.

Solution:
Implemented a file system for saving chip data and a parser to reconstruct chips
from saved files.

DigiSim1.0 BCT 065/056 OOP project team 20


Limitations and Enhancements
1 Difficulty in Editing and Deleting Custom Chips
Editing or removing custom chips is not straightforward, which can complicate
updates to existing designs.

2 Inability to Delete or Rename Folders


The application does not support deleting or renaming folders, limiting file
management flexibility.

3 Lack of Pin Naming


The application does not support deleting or renaming folders, limiting file
management flexibility.

4 Does Not Support Sequential Circuits


The application is limited to combinational circuits and does not support the
design and simulation of sequential circuits.

DigiSim1.0 BCT 065/056 OOP project team 21


How to get DigiSim
1 Go to our website:

DigiSim1.0 BCT 065/056 OOP project team 22


How to get DigiSim
2 Download the Installer by clicking “Download Now”

DigiSim1.0 BCT 065/056 OOP project team 23


How to get DigiSim
3 Follow the on-screen instructions and to install the program

DigiSim1.0 BCT 065/056 OOP project team 24


How to get DigiSim
4 The app is now available in app list

DigiSim1.0 BCT 065/056 OOP project team 25


DigiSim1.0 BCT 065/056 OOP project team 26

You might also like