Embedded System Design Process

Simulation Software

Simulation is the process of designing a model of a real system and conducting experiments with a model for the purpose either of understanding the behavior of the system or of evaluating various steps to achieve the system operation.

The act of simulating something first requires that a model be developed; this model represents the behaviors/functions of the selected physical system.

Simulation is used in many contexts, for example, simulation of technology for performance optimization, testing, training, and education. And frequently, computer experiments are used to study simulation models. The simulation process is used for testing the circuit which is design permanently because hardware changing is very difficult when the circuit is not working properly.

Simulation is a process of testing the design by applying inputs to a circuit and watching or observing its behavior. The output of a simulation is a set of waveforms that show how a circuit behaves upon a given sequence of inputs.

Generally, simulation is two types: functional simulation and timing simulation. The functional simulation tests the logical operation of a circuit without explaining defers in the circuit. The functional simulation is quick and helpful for checking the principal effect of the designed circuit.

The timing simulation is more sensible than the functional simulation. In this simulation process, the logic components and wires take a step back to react to the input. And to test the logical operation of the circuit, it indicates the timing of signals in the circuit and it takes more time to perform.

There are many simulation techniques to test circuit, in this article we are going to see about a simulation using PROTEUS.

PROTEUS is one of the most famous PCB design software. It is integrated with the simulation and basic SPICE simulation capability to make a complete electronics design system. It reduces development time when compared with other embedded design process. Let’s see an example using PROTEUS software for simulation.

Following steps are involved in the simulation process using PROTEUS:

STEP 1: In step 1, select the device from the display bar by typing the device name (Ex: Logic gates, switches, and basic electronic devices).

step - 1

STEP 2: Placing the components.

step - 2

STEP 3: Place <<register>> on the drawing area and right-click on the resistor and select <<edit properties>>

step - 3

STEP 4: Component reference: This is assigned automatically

            Component value: Editable

step - 4

STEP 5: Source selection

step - 5

STEP 6: Place voltage source (VSOURCE) in the drawing area. Then right-click on VSOURCE, select <<edit properties>> then <<OK>>

step - 6

STEP 7: Wire connection, click on the wire auto-router and connect the component terminal as required by topology.

step - 7

STEP 8: Adding terminal/Ground: Click on <<Terminal>>, Select <<ground>> and place <<Ground>> in the drawing area.

step - 8

STEP 9: Output could be voltage/current of any element in the circuit. Measurements in PROTEUS mostly the voltage/current probes. The current probe should be on the horizontal wire.

step - 9

There are two types of simulations: Interactive simulation – Mostly used for digital signals. Graph-based simulation – Mostly used for analog signals.

STEP 10: Click on <<Graph node>>, select <<Analogue>> then place graph window on drawing area <<analogue prospice>>.

step - 10

STEP 11:

<<Edit Transient Graph>> start/stop time

     <<Add Transient Trace>>

  • Already placed probe waveforms are chosen
  • Different <<left/right>> y-axis scale could be selected

Then start <<Simulation Run>>

step - 11

The voltage probe measures the node voltage where it is placed. To find an element voltage, the terminal node-voltages of the element should be substructed. This operation could be done.

Schematic representation of simulation:

SimulationThe above schematic block diagram is classified into two parts named the real world and simulation study.  The system under study and system alter comes under the real world and system study means the system is testing the designing of the simulated hardware by applying inputs to a circuit and observing its performance. On the other side, the simulation model is placed for modeling the simulated experiment and after the experiment of the simulation model, it analyzes the complete operation.

Advantages of Simulation:

  1. It gives the proper idea and implementation of our code and circuit before implementing hardware.
  2. The configuration of the system model is so simple.
  3. The process of simulation is safe to handle.
  4. The simulation process is mostly used for knowing about the performance of the system
  5. Without going into the construction of the system we can able to study the behavior of the system.
  6. New hardware devices modeling, layout, and other areas of the system can perform the testing operation without committing the resource for their attainment.
  7. It reduces the time on creating hardware and testing your errors directly on hardware. You can analyze your circuit and code both on Proteus and find the errors encountering before implementing it on hardware.

Disadvantages of simulation:

  1. This process is hard to debug.
  2. This process is quite cost-effective.
  3. We can’t introduce an exact number.

Embedded Coding Software

KEIL software:

This software is an Integrated Development Environment that helps you write, compile, and debug embedded programs. Keil software is used for writing an assembly level language. We can download them from their Websites. However, the size of code for these shareware versions is limited and we have to consider which assembler is suitable for our application.

It encapsulates the following components:

  • A project manager
  • A make facility
  • Tool configuration
  • Editor
  • A powerful debugger
  • To build (compile, assemble, and link) an application in uVision2, you must:
  • Select Project–Open Project (For example, \C166\EXAMPLES\HELLO\HELLO.UV2)
  • Select Project – Rebuild all target files or Build target. UVision2 compiles, assembles, and links the files in your project.
  • Creating own application:
  • To create a new project, you must:
  • Select Project – New Project.
  • Select a directory and enter the name of the project file.
  • Select Project – Select Device and select an 8051, 251, or C16x/ST10 device from the Device
  • Database
  • Create source files to add to the project.
  • Select Project – Targets, Groups, and Files. Add/Files, select Source Group1, and add the source files to the project.
  • Select Project – Options and set the tool options. Note when you select the target device from the Device Database all-special options are set automatically. You only need to configure the memory map of your target hardware. Default memory model settings are optimal for most.


  • Select Project – Rebuild all target files or Build target.

Debugging an application:

To debug an application created, you must:

  • Select Debug – Start/Stop Debug Session.
  • Use the Step toolbar buttons to single-step through your program. You may enter G, main in the Output Window to execute to the main C function.
  • Open the Serial Window using the Serial #1 button on the toolbar.
  • Debug your program using standard options like Step, Go, and Break, and so on.

Limitations of elevation software:

The following limitations apply to the evaluation versions of the C51, C251, or C166 toolchains. C51 Evaluation Software Limitations:

  • The compiler, assembler, linker, and debugger are limited to 2 Kbytes of object code but source Code may be any size. Programs that generate more than 2 Kbytes of object code will not compile, assemble, or link the startup code generated includes LJMP’s and cannot be used in single-chip devices supporting Less than 2 Kbytes of program space like the Philips 750/751/752.
  • The debugger supports files that are 2 Kbytes and smaller.
  • Programs begin at offset 0x0800 and cannot be programmed into single-chip devices.
  • No hardware support is available for multiple DPTR registers.
  • No support is available for user libraries or floating-point arithmetic.

Elevation software:

  • Code-Banking Linker/Locator
  • Library Manager.
  • RTX-51 Tiny Real-Time Operating System

Peripheral simulation:

The Keil debugger provides complete simulation for the CPU and on-chip peripherals of most embedded devices. To discover which peripherals of a device are supported, in u vision2. Select the Simulated Peripherals item from the Help menu. You may also use the web-based device database. We are constantly adding new devices and simulation support for on-chip peripherals so be sure to check Device Database often.