Semulation
Encyclopedia
Semulation is a computer science
-related neologism that combines simulation
and emulation
. It is the process of controlling an emulation through a simulator.
s (HDL) like VHDL, Verilog
or System Verilog. These descriptions are simulated together with a problem-specific testbench. The initial functional verification
of most IP
designs is done via simulation at register transfer level (RTL)
or gate level. In an event driven simulation method the code must be processed sequential by a CPU, because a normal computer is not able to process the implemented hardware parallel. This sequential approach leads to long simulation times especially in complex systems on chip (SoC)
designs.
After simulation the RTL description must be synthesized to fit in the final hardware (eg.: FPGA, ASIC
). This step brings a lot of uncertainties because the real hardware is normally not as ideal as the simulation model. The differences between real world and simulation are a major reason why emulation is used in hardware design.
Generally the simulation and emulation environment are two independent systems. Semulation is a symbiosis of both methods. In semulation one part of a hardware design is processed sequential in software (eg.: the testbench) while the other part is emulated.
An example design flow for semulation is depicted in the following block chart:
The database holds the design and testbench files and the information about the block whether it will be simulated or emulated. The left part shows the normal simulation path where the design files must be compiled for an HDL simulator. The right part of the state chart handles the flow for the emulation system. Design files for the FPGA must be synthesized to the appropriate target technology. A major point in semulation is the connection between the emulation system and the HDL simulator. The interface is necessary for the simulator to handle the connected hardware.
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
-related neologism that combines simulation
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....
and emulation
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
. It is the process of controlling an emulation through a simulator.
Semulation in computer science
Digital hardware is described using hardware description languageHardware description language
In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic...
s (HDL) like VHDL, Verilog
Verilog
In the semiconductor and electronic design industry, Verilog is a hardware description language used to model electronic systems. Verilog HDL, not to be confused with VHDL , is most commonly used in the design, verification, and implementation of digital logic chips at the register-transfer level...
or System Verilog. These descriptions are simulated together with a problem-specific testbench. The initial functional verification
Functional verification
Functional verification, in electronic design automation, is the task of verifying that the logic design conforms to specification. In everyday terms, functional verification attempts to answer the question "Does this proposed design do what is intended?" This is a complex task, and takes the...
of most IP
Intellectual property
Intellectual property is a term referring to a number of distinct types of creations of the mind for which a set of exclusive rights are recognized—and the corresponding fields of law...
designs is done via simulation at register transfer level (RTL)
Register transfer level
In integrated circuit design, register-transfer level is a level of abstraction used in describing the operation of a synchronous digital circuit...
or gate level. In an event driven simulation method the code must be processed sequential by a CPU, because a normal computer is not able to process the implemented hardware parallel. This sequential approach leads to long simulation times especially in complex systems on chip (SoC)
System-on-a-chip
A system on a chip or system on chip is an integrated circuit that integrates all components of a computer or other electronic system into a single chip. It may contain digital, analog, mixed-signal, and often radio-frequency functions—all on a single chip substrate...
designs.
After simulation the RTL description must be synthesized to fit in the final hardware (eg.: FPGA, ASIC
ASIC
ASIC may refer to:* Application-specific integrated circuit, an integrated circuit developed for a particular use, as opposed to a customised general-purpose device.* ASIC programming language, a dialect of BASIC...
). This step brings a lot of uncertainties because the real hardware is normally not as ideal as the simulation model. The differences between real world and simulation are a major reason why emulation is used in hardware design.
Generally the simulation and emulation environment are two independent systems. Semulation is a symbiosis of both methods. In semulation one part of a hardware design is processed sequential in software (eg.: the testbench) while the other part is emulated.
An example design flow for semulation is depicted in the following block chart:
The database holds the design and testbench files and the information about the block whether it will be simulated or emulated. The left part shows the normal simulation path where the design files must be compiled for an HDL simulator. The right part of the state chart handles the flow for the emulation system. Design files for the FPGA must be synthesized to the appropriate target technology. A major point in semulation is the connection between the emulation system and the HDL simulator. The interface is necessary for the simulator to handle the connected hardware.
Advantages of Semulation
- Simulation acceleration: Simulating huge designs with an HDL simulator is a tedious task. When the designer transfers parts of the design to an emulation system and co-simulates them with the HDL simulation, the simulation run times can be decreased.
- Using real hardware early in the design flow.