ISAAC (Instrument Shared Artifact for Computing) offers adaptability, computation power, I/O bandwidth, digital interface standards, and data processing capability in a single, common, low-mass/power, and small-form-factor platform with significantly reduced, nonrecurring cost and risk to Earth Science instruments such as SMAP/HYDROS and other NASA/JPL planetary exploration instruments with diverse requirements. This platform has six key components:
- iBoard is a 6U single-board computer with a high-performance Xilinx Virtex 5 FPGA (field programmable gate array) chip with two embedded PowerPC405 processors, over 8 million reprogrammable logic gates, and a complete set of key instrument control and computing capabilities.
- iBus defines a set of compile-time hardware/software interface standards, called iBus-ct, and a run-time communication standard, called iBus-rt, to facilitate easy adaptability and integration of components during the system configuration and operation. iBus-ct unifies iPackage Application Programming Interfaces (APIs), standardizes the iCore interface to external components and the communication bus, organizes data for user applications, and exposes application developers to common FPGA resources. iBus-rt provides a unified integral operating system environment for a complete ISAAC configuration by abstracting FPGA fabric as native computational resources. In particular, it will specify whether the resource meets an application’s requirements, configures and manages the FPGA, detects/handles hardware faults and interrupts, and transfers data between the FPGA fabric and the processors as well as other resources such as read/write to a mass memory file system.
- iCore is composed of a set of standard and parameterized IP cores that implement common, computationally intensive control and computing functions. It is divided into three groups at the top level: iCore-ctl (implements control-related functions such as commands handling, telemetry collection, and time keeping); iCore-ft (implements fault tolerance functions such as detection of Single-Even-Upset-induced errors); and iCore-dsp (implements data processing functions common in instruments such as Fast Fourier Transform, Finite-Impulse Response, Radio-Frequency Interference detection and mitigations, presum, block floating point quantizer, convolution, spatial correlation, data compression, and image feature extraction).
- iPackage is a library of software packages and a run-time kernel that augments iCore to provide a complete instrument control and computing solution.
- iBench is a suite of benchmark instrument data streams for performance validation and tuning of a completely configured system.
- iTool is an integrated tool chain providing a familiar and end-to-end design flow for digital system designers. Various ISAAC components have been developed with applications in various projects.