Algorithm to Implementation. Fast.
Home > Products > C Based Products > DK Design Suite > PAL
PAL shields development engineers from low-level hardware interfaces in order to ease the integration of FPGAs with physical resources either for rapid prototyping and architectural exploration or production. This is done by providing a library of low-level interfaces to specific platform resources, such as I/O or memory. This library, called the Platform Support Library (PSL), is then accessed from the hardware applications on the FPGA using a simple and consistent Application Programming Interface – the PAL API.
Agility's Platform Abstraction Layer (PAL) includes not only the application functionality, but also the code necessary to interface to all of the required external devices, and saves valuable development time and makes the design more portable to other devices and platforms.

PAL provides an API (Applications Programming Interface) specifying generic function or macro calls that provide the hardware application with access to and communication with the hardware environment.
Applications using the PAL API are portable across any platform with a suitable PAL implementation available.
The PAL API consists of calls appropriate for different classes of device. Classes are defined for:
For each supported hardware environment - effectively a board design, such as Agility’s RC series boards, a set of drivers customized to that design called a Platform Support Library (PSL) is required. The PSL is analogous to the Board Support Package provided by embedded operating system vendors to target specific processor boards. Once a PSL has been implemented, a Platform Abstraction Layer can be developed to provide access to the PSL using the PAL standard API calls.
PAL also provides a higher layer of functionality, known as PAL Cores. PAL Cores are device controllers which are layered on top of PAL and which do not need to be re-written for different boards. Agility currently provides PAL Cores implementing a mouse driver, a keyboard driver, a frame buffer and PAL Console – a means to display text and other information from a hardware application.
PAL Kit provides a source kit and support for the development of PAL implementations for specific boards or devices.
PAL Sim provides a windows based simulation platform utilizing the PAL API. This allows development of PAL compliant applications to take place before hardware or hardware support libraries have been developed or without hardware at all where the application is designed to be hardware independent.
