The AAXE™ operating system (O/S) works as a modular, configurable kernel supporting AAXE applications, as shown in Figure 1.
Specific application domain kernels are configured by selecting appropriate kernel modules to be compiled and synthesized for use in conjunction with the micro-kernel.
AAXE applications have use of POSIX- compliant utilities, such as ls() and ps(),included in kernel modules for build along with the operating system instance.
The AAXE operating system starts, stops, and allocates AAXE application resources dynamically, in real-time, responding to instantaneous system and active AAXE application needs.
The Adaptive Architecture eXecution Environment provided by AAXE is the totality of the O/S kernel, target heterogeneous compute resources and communication network, engaged as a system. Figure 2 illustrates the AAXE concept. In Figure 2, each kernel instance supports four target FPGAs, but AAXE is scalable from as few as one target to many, many more. The AAXE O/S accommodates different FPGA devices of varying input/output (I/O) densities and computing resources. AAXE readily adapts to your application needs providing perfect scale compute platform fit.
AAXE O/S interconnects the aggregated FPGA fabric via ultra-low latency links, as suggested in Figure 3. The fast AAXE interconnects combined with AAXE O/S dynamically extended resource management effectively liberates FPGA circuits, dramatically easing design and synthesis. AAXE O/S streamlines FPGA hardware programming, speeding product to market and controlling project risk. AAXE makes hardware programming comparable to multicore software programming.
AAXE applications are exceptionally efficient, orders of magnitude more goodput using a fraction of the energy.