[273] | 1 | |
---|
| 2 | The market of digital systems is about 4,600 M\$ today and is estimated to |
---|
| 3 | 5,600 M\$ in 2012. However the ever growing applications complexity involves |
---|
| 4 | integration of heterogeneous technologies and requires the design of |
---|
| 5 | complex Multi-Processors System on Chip (MPSoC). |
---|
| 6 | |
---|
| 7 | During the last decade, the design of ASICs (Application Specific |
---|
| 8 | Integrated Circuits) appeared to be more and more reserved to high volume markets, because |
---|
| 9 | the design and fabrication costs of such components exploded, due to increasing NRE (Non |
---|
| 10 | Recurring-Engineering) costs. |
---|
| 11 | Fortunately, FPGA (Field Programmable Gate Array) components, such as the |
---|
| 12 | Virtex5 family from Xilinx or the Stratix4 family from Altera, can nowadays |
---|
| 13 | implement a complete MPSoC with multiple processors and several dedicated |
---|
| 14 | coprocessors for a few Keuros per device. Many applications are initially captured |
---|
| 15 | algorithmically in High-Level Languages (HLLs) such as C/C++. This has led to growing interest |
---|
| 16 | in tools that can provide an implementation path directly from HLLs to hardware. |
---|
| 17 | Thus, Electronic System Level (ESL) design methodologies (Virtual Prototyping, |
---|
| 18 | Co-design, High-Level Synthesis...) are now mature and allow the automation of |
---|
| 19 | a system-level design flow. Unfortunately, ESL tool development to date has primarily focused |
---|
| 20 | on the design of hard-wired devices i.e. ASICs and ASSPs (Application Specific Standard Product). |
---|
| 21 | However, the increasing sophistication of FPGAs has accelerated the need for FPGA-based ESL design |
---|
| 22 | methodologies. ESL methodologies hold the promise of streamlining the design approach by accepting |
---|
| 23 | designs written in C/C++ language and implementing the function straight into FPGA. |
---|
| 24 | We believe that coupling FPGA technologies and ESL methodologies |
---|
| 25 | will allow both SMEs (Small and Medium Enterprise) and |
---|
| 26 | major companies to design innovative devices and to enter new, low and |
---|
| 27 | medium volume markets. |
---|
| 28 | |
---|
| 29 | The objective of COACH is to provide an integrated design flow, based on the |
---|
| 30 | SoCLib infrastructure~\cite{soclib}, and optimized for the design of |
---|
| 31 | multi-processors digital systems targeting FPGA devices. |
---|
| 32 | Such digital systems are generally integrated |
---|
| 33 | into one or several chips, and there are two types of applications: |
---|
| 34 | They can be embedded (autonomous) applications |
---|
| 35 | such as personal digital assistants (PDA), ambiant computing components, |
---|
| 36 | or wireless sensor networks (WSN). |
---|
| 37 | They can also be extension boards connected to a PC to accelerate a specific computation, |
---|
| 38 | as in High-Performance Computing (HPC) or High-Speed Signal Processing (HSSP). |
---|
| 39 | |
---|
| 40 | The COACH environment will integrate several hardware and software technologies: |
---|
| 41 | |
---|
| 42 | Design Space Exploration: |
---|
| 43 | The COACH environment will allow to describe an application as a process |
---|
| 44 | network i.e. a set of tasks communicating through FIFO channels. |
---|
| 45 | COACH will allow to map the application on a shared-memory, MPSoC architecture. |
---|
| 46 | It will permit to easily explore the design space to help the system designer |
---|
| 47 | to define the proper hardware/software partitioning of the application. |
---|
| 48 | For each point in the design space, metrics such as throughput, latency, power |
---|
| 49 | consumption, silicon area, memory allocation and data locality will be provided. |
---|
| 50 | These criteria will be evaluated by using the SoCLib virtual prototyping infrastructure |
---|
| 51 | and high-level estimation methodologies. |
---|
| 52 | |
---|
| 53 | Hardware Accelerators Synthesis (HAS): |
---|
| 54 | COACH will allow the automatic generation of hardware accelerators when required. |
---|
| 55 | Hence, High-Level Synthesis (HLS) tools, Application Specific Instruction Processor |
---|
| 56 | (ASIP) design environment and source-level transformation tools (loop transformations |
---|
| 57 | and memory optimisation) will be provided. |
---|
| 58 | This will allow further exploration of the micro-architectural design space. |
---|
| 59 | HLS tools are sensitive to the coding style of the input specification and the domain |
---|
| 60 | they target (control vs. data dominated). |
---|
| 61 | The HLS tools of COACH will support a common language and coding style to avoid |
---|
| 62 | re-engineering by the designer. |
---|
| 63 | |
---|
| 64 | Platform based design: |
---|
| 65 | COACH will handle both Altera and Xilinx FPGA devices. |
---|
| 66 | COACH will define architectural templates that can be customized by adding |
---|
| 67 | dedicated coprocessors and ASIPs and by fixing template parameters such as |
---|
| 68 | the number of embedded processors, the number of sizes of embedded memory banks |
---|
| 69 | or the embedded the operating system. |
---|
| 70 | However, the specification of the application will be independant of both the |
---|
| 71 | architectural template and the target FPGA device. |
---|
| 72 | Basically, the following three architectural templates will be provided: |
---|
| 73 | - A Neutral architectural template based on the SoCLib IP core library and the |
---|
| 74 | VCI/OCP communication infrastructure. |
---|
| 75 | - An Altera architectural template based on the Altera IP core library, the |
---|
| 76 | AVALON system bus and the NIOS processor. |
---|
| 77 | - A Xilinx architectural template based on the Xilinx IP core library, the PLB |
---|
| 78 | system bus and the Microblaze processor. |
---|
| 79 | |
---|
| 80 | Hardware/Software communication middleware: |
---|
| 81 | COACH will implement an homogeneous HW/SW communication infrastructure and |
---|
| 82 | communication APIs (Application Programming Interface), that will be used for |
---|
| 83 | communications between software tasks running on embedded processors and |
---|
| 84 | dedicated hardware coprocessors. |
---|
| 85 | |
---|
| 86 | The COACH design flow will be dedicated to system designers, and will as |
---|
| 87 | much as possible hide the hardware characteristics to the end-user. |
---|
| 88 | |
---|
| 89 | To reach this ambitious goal, the project will rely on the experience and the |
---|
| 90 | complementariness of partners in the following domains: |
---|
| 91 | Operating system and communication middleware (Tima, Lip6), |
---|
| 92 | MPSoC architectures (Tima, Lab-Sticc, Lip6), |
---|
| 93 | ASIP architectures (Inria/Cairn), |
---|
| 94 | High Level Synthesis (Tima, Lab-Sticc, Lip6), and compilation (Ens-Lyon/Lip). |
---|
| 95 | |
---|
| 96 | The COACH project does not start from scratch. |
---|
| 97 | It stronly relies on the SoCLib virtual prototyping platform for prototyping, |
---|
| 98 | (DSX, component library), operating systems (MUTEKH, DNA/OS). |
---|
| 99 | It also leverages on several existing technologies: |
---|
| 100 | on the GAUT and UGH tools for HLS, |
---|
| 101 | on the ROMA project for ASIP, |
---|
| 102 | on the SYNTOL and BEE tools for source-level analysis and transformations |
---|
| 103 | and on the Xilinx and Altera IP core libraries. |
---|
| 104 | Finally it will use the Xilinx and Altera logic and physical synthesis |
---|
| 105 | tools to generate the FPGA configuration bitstreams. |
---|
| 106 | |
---|
| 107 | The COACH proposal has been prepared during one year by a technical working group |
---|
| 108 | involving the 5 academic partners (one monthly meeting from january 2009 to february |
---|
| 109 | 2010). The objective was to analyse the issues of integrating |
---|
| 110 | and enhancing the existing tools and tecnnologies into a unique framework. |
---|
| 111 | Most of the general software architecture of the proposed design flow (including the |
---|
| 112 | exchange format specification) has been define by this working group. |
---|
| 113 | Because the COACH project leanes on the ANR SoCLib platform, it may be described as an |
---|
| 114 | extension of the SoCLib platform. |
---|
| 115 | |
---|
| 116 | Two major FPGA companies are involved in the project: Xilinx will contribute |
---|
| 117 | as a contractual partner providing documentation and manpower; Altera will contribute as |
---|
| 118 | a supporter, providing documentation and development boards. These two companies are strongly motivated |
---|
| 119 | to help the COACH project to generate efficient bitsreams for both FPGA families. |
---|
| 120 | The role of the industrial partners \bull, \thales, \navtel and \zied is to provide |
---|
| 121 | real use cases to benchmark the COACH design environment and to analyze the designer productivity |
---|
| 122 | improvements. |
---|
| 123 | |
---|
| 124 | Following the general policy of the SoCLib platform, the COACH project will be an open |
---|
| 125 | infrastructure, available in the framework of the SoCLib server. |
---|
| 126 | The architectural templates, and the COACH software tools will be distributed under the |
---|
| 127 | GPL license. The VHDL synthesizable models for the neutral architectural template (SoCLib |
---|
| 128 | IP core library) will be freely available for non commercial use. For industrial exploitation |
---|
| 129 | the technology providers are ready to propose commercial licenses, directly to the end user, |
---|
| 130 | or through a third party. |
---|
| 131 | |
---|
| 132 | Finally, the COACH project is already supported by a large number of PMEs, as demonstrated by the |
---|
| 133 | "letters of interest", that have collected during the preparation of the project : |
---|
| 134 | - ADACSYS |
---|
| 135 | - MDS |
---|
| 136 | - INPIXAL |
---|
| 137 | - CAMKA System |
---|
| 138 | - ATEME |
---|
| 139 | - ALSIM |
---|
| 140 | - SILICOMP-AQL |
---|
| 141 | - ABOUND Logic |
---|
| 142 | - EADS-ASTRIUM |
---|