Abstract

A new multiprocessor system-on-chip prototyping flow based on the Portable Operating System Interface (Posix) standard and a multiprocessor hardware platform lets you quickly prototype Posix-based applications. Modern MPSoCs (multiprocessor systems on chip) contain a huge amount of software and rely on complex hardware components. As application complexity grows, programmable multiprocessor platforms are becoming more desirable. In fact, chips with several processors (such as general purpose processors and digital signal processors) are emerging in the industry, either for low-end applications such as audio codec or high-end applications such as video encoders. Reconfigurable hardware platforms recently emerged as effective solutions to validate and prototype MPSoC designs early in a design flow. Such prototyping platforms make simultaneous hardware and software development possible and enable early software design and debugging,13 thus allowing for early software and hardware integration - which is the critical step in MPSoC system designs. Applications running on these new multiprocessor platforms usually require sophisticated multitasking operating systems to execute the system parts mapped to software. These operating systems provide a suitable abstraction, allowing easy development of application software.4 Using a standard API at this level makes this process even more effective and enhances software portability and reuse across different operating systems. However, the same portability doesn't apply from a hardware perspective, where changes to the underlying configurable hardware architecture are still seen as a major source of nonportability and usually lead to long, tedious redesign cycles. MPSoC designers have recently introduced the concept of hardware-dependent software (HdS) to tackle such strong coupling between hardware and software within the lower system software layers.1 Here, we describe our experience in MPSoC prototyping using a multiprocessor operating system kernel that implements the Portable Operating System Interface (Posix) API standard on top of a reconfigurable multiprocessor platform using the HdS concept. (We chose Posix as the API owing to its wide acceptance and availability in many runtime environments.5) Investigating the complexity of hardware and software integration in multiprocessor system design, a process still not completely mastered in MPSoC design flows, helped us understand the duality between the low-level software layer (HdS) and the underlying hardware platform in the context of MPSoC design.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call