Field Programmable Gate Array (FPGA) based configurable system-on-chip (CSoC) platforms have become a preferred choice for embedded computing systems to meet the increasing demand for shorter time-to-market (TTM) and lower non-recurring engineering (NRE) costs, due to both high density and myriad of on-chip hardware and software compute resources. However, the inability of existing tools to effectively exploit these resources to satisfy design constraints, especially from high level specifications such as C/C++, remains a bottleneck for meeting the TTM pressures. In this research, techniques for the automatic generation of a FPGA-based CSoC platform have been proposed to satisfy the area-time design constraints by taking user preferences into account. application specific FPGA-based CSoC has made it possible to facilitate the rapid design space exploration of complex applications without violating the stringent TTM requirements.ASICs provide the optimal configuration based on the requirements for performance, area or power for a given application but incur long TTM and high NRE cost.In contrast, FPGAs provide configurability and flexibility with shorter TTM and low NRE cost, even though the performance is comparatively low. For example, FPGAs typically reach the production stage within 3 − 5 months, whereas ASICs require support both soft and hard core embedded processors and is intended to be scalable to different embedded processor architectures.Hardware Area-Time Estimation: A reliable technique for hardware area-time estimation of applications on FPGAs. The technique is intended to have the ability to support different FPGA vendors and device families.Hardware-Software Partitioning: Novel technique for optimal partitioning of an application between hardware and software components of the FPGA-based CSoC while taking into account their complex data-dependencies.Soft Core Processor Subsetting: Rapid and reliable techniques for instruction subsetting for soft core processor customization, in order to minimize area utilization. The saved area can be deployed to port additional portions of the application into hardware for further performance improvement.Intelligent Framework for CSoC Platform Generation: Framework to generate application-specific FPGA-based CSoC platforms that achieves the best performance under user-specified area constraints. The framework is intended to recommend the best partitioning of the components of the application between hardware and software as well as the most appropriate processor (subsetted in the case of a soft core).
OrganizationThe rest of the thesis is organized is as follows.• Chapter 2 presents an extensive discussion on existing literature. It initially discusses the available embedded computing architectures. A comparison of the advantages and limitations of the architectures moves the focus to CSoCs. Next,