Runtime instrumentation of SystemC

1449 Words6 Pages
1 Problem Statement and related work 1.1 Solar Orbiter Mission Solar Orbiter [10] is a planned Sun-observing satellite, under development by ESA and is scheduled to be launched in January 2017 as baseline. At its closest point, the spacecraft will be closer to the Sun than any previous spacecraft, almost one-third of the Earth’s distance from the Sun. Because of the proximity of the Sun, the spacecraft must withstand powerful bursts of atomic particles coming from the solar atmosphere. From an on-board software designer perspective, it is essential to look out for permanent soft errors resulting from latch-up failures in SDRAM/EEPROM memories. The Space Research Group (SRG) of the University of Alcal ́a is in charge of the development of the Instrument Control Unit (ICU) for the Energetic Particle Detector on-board Solar Orbiter along with the corresponding boot and application software. For the early development and verification of the ICU’s bootloader software, a framework with the ability to run the same binary code that will run on real hardware was needed. It also had to emulate SDRAM and EEPROM permanent errors, a fact that is difficult, if not impossible, on real hardware. The ICU boot software is in the critical path of the project so its verification should be addressed at an early development stage, for any test case missed in this process can affect the quality of the overall onboard software. Thus, the robustness requirements call for an exhaustive testing of the boot process and possible corruption of application binaries stored in the EEPROM or stuck-at faults in the SDRAM application deployment areas. Bearing this in mind, from a hardware dependent software point of view, such as the boot software, the major problem... ... middle of paper ... ...as a way of inserting wrappers into the transaction path. AspectC++ [35] is an aspect-oriented extension of C and C++ languages and is widely use to add aspects to SystemC descriptions [34,37]. The previous works mainly use AOP for the verification of the hardware model described in SystemC, either RTL or TLM. The closest work to ours are [17,18]. In these works transaction checkers are inserted in a virtual platform based on TLM2 interfaces. The goal of the checkers is to detect wrong duration and sequence of the transactions in the TLM2 design. As said before, the insertion library described in this work was not designed with the aim of verifying hardware TLM2 models but for the verification and monitoring of the software running on a virtual platform built around TLM2 interfaces. However, it can also be used for other purposes as discussed in the next section.

More about Runtime instrumentation of SystemC

Open Document