Why customize simulator?
The simulator has a key role in software development.For example, if the software is developed for the application of a target system which has a processor, a high-speed IO port, an UART and some other peripheral devices, the software development team must first acquire the configuration of the hardware in order to debug and test the software.However, if the team doesn’t have the configuration of the hardware, or the configuration is temporarily unavailable, obviously, it will become a bottleneck of the entire team of software development.
Using simulator, we can implement a virtualized system of target system which can work on workstation of every developer. For the software, the virtualized target hardware system operates the same as the physical hardware system. Debugging, test and execution of target application code, real-time system and driver etc. can all be performed on the virtualized target hardware system without hardware configuration. Meanwhile, the code operated in virtualized system development environment is the same as that of physical hardware configuration.
Typical simulators developed by Smartcore
PGAS Parallel Simulator
The PGAS simulator is a simulator using the technique of parallel discrete time simulation to implement parallel speedup of Godson-T many-core simulator GAS. At present, many-core platform is becoming more popular. However, GAS simulator still uses traditional serial program that can be executed only in single-thread mode, thus it cannot use many-core platform effectively. When there are more simulating cores, the simulation speed will become a bottleneck. PGAS is the solution of this problem. PGAS uses many-core software platform to perform parallel simulation to accelerate simulation significantly. The following picture shows the acceleration effect of PGAS. On the 16-core platform, the speedup ratio of PGAS is nearly ten times that of the traditional GAS.