| 1 | Embedded systems (SoC and MPSoC) became an inevitable evolution in the microelectronic industry. | 
|---|
| 2 | Due to the exploding fabrication costs, the ASIC technology (Application Specific Integrated Circuit) | 
|---|
| 3 | is not an option for SMEs (Small and Medium Enterprises). | 
|---|
| 4 | Fortunately, the new FPGA (Field Programmable Gate Array) components, | 
|---|
| 5 | such as the Virtex5 family from \xilinx, or the Stratix4 family from \altera can implement a complete | 
|---|
| 6 | multi-processor architecture on a single device. | 
|---|
| 7 | But the design of embedded system is a long and complex task that requires expertise in software, | 
|---|
| 8 | software/hardware partionning, operating system, hardware design, VHDL/Verilog modeling. | 
|---|
| 9 | Only very few SMEs have these multiple expertises and are present on the embedded system market. | 
|---|
| 10 | Furthermore, even small design services in the big companies are facing the same issue. | 
|---|
| 11 | \begin{center}\begin{minipage}{.8\linewidth}\textit{ | 
|---|
| 12 | The major objective of COACH is to provide to system designers, an affordable | 
|---|
| 13 | open-source framework to design embedded systems on FPGA devices. | 
|---|
| 14 | }\end{minipage}\end{center} | 
|---|
| 15 | %Current design methodologies provide quite low-level abstraction capabilities, and | 
|---|
| 16 | %there is an urgent need to leverage system level exploration through the use of a high-level | 
|---|
| 17 | %specification of the application and  design space exploration tools. | 
|---|
| 18 | %The first system oriented approaches are appearing, among which those | 
|---|
| 19 | %based on C/C++ and SystemC are the most popular, but few of them are specifically targetting FPGAs. | 
|---|
| 20 | %%% | 
|---|
| 21 | \parlf | 
|---|
| 22 | The COACH project will propose a new design flow based on a small number of architectural templates. | 
|---|
| 23 | An architectural template is a generic, parameterized architecture, relying on a predefined library | 
|---|
| 24 | of IP cores. | 
|---|
| 25 | Besides using a specific collection of general purpose IP cores (such as processors cores, | 
|---|
| 26 | embedded memory controllers, system bus controllers, I/O and peripheral controllers), each architectural | 
|---|
| 27 | template can be enriched by dedicated hardware coprocessors, obtained by high level synthesis (HLS) tools. | 
|---|
| 28 | During this project, the COACH partners will develop three different architectural templates: | 
|---|
| 29 | \begin{enumerate} | 
|---|
| 30 | \item An \altera architectural template based on the \altera IP core library, the AVALON system bus and the NIOS processor. | 
|---|
| 31 | \item A \xilinx architectural template based on the \xilinx IP core library, the PLB system bus and the Microblaze processor. | 
|---|
| 32 | \item A Neutral architectural template based on the SoCLib IP core library and the VCI/OCP | 
|---|
| 33 | communication infrastructure. | 
|---|
| 34 | \end{enumerate} | 
|---|
| 35 | The proposed design flow starts from a high level description of the application, specified as a set of | 
|---|
| 36 | parallel tasks written in C, without any assumption on the hardware or software implementation | 
|---|
| 37 | of these tasks. It lets the system | 
|---|
| 38 | designer in charge of expressing the coarse grain parallelism of the application, gives the designer | 
|---|
| 39 | the possibility to explore various mapping of the application on the selected template architecture, | 
|---|
| 40 | and offers a high predictability of results with respect to cost and performance objectives. | 
|---|
| 41 | \\ | 
|---|
| 42 | When this interactive, system level, design space exploration is completed (converging to | 
|---|
| 43 | a specific mapping on a specific version of the selected architectural template), the rest of the flow | 
|---|
| 44 | is fully automated: the synthesizable VHDL models for the various hardware components, as well as the binary | 
|---|
| 45 | code for the software running on the embedded processors, and the bit-stream to program the target FPGA | 
|---|
| 46 | will be automatically generated by the COACH tools. | 
|---|
| 47 | % | 
|---|
| 48 | \parlf | 
|---|
| 49 | The strength of the COACH approach is the strong integration of the high-level synthesis tools | 
|---|
| 50 | in a platform based design flow supporting virtual prototyping and design space exploration. | 
|---|
| 51 | Most building blocks already exist (resulting from previous projects): the GAUT | 
|---|
| 52 | or UGH synthesis tools, the DNA embedded operating systems, the ASIP technology, | 
|---|
| 53 | the DSX exploration tool, the MWMR hardware/software communication middleware, the BEE parallelization tool, | 
|---|
| 54 | as well as the SoCLib library of SystemC simulation models. | 
|---|
| 55 | They must now be enhanced and integrated in a consistent design flow: this will | 
|---|
| 56 | be done in Magillem framework thanks to the IP-XACT standard. | 
|---|
| 57 | %The five academic laboratories worked very closely during more than one year (one monthly meeting | 
|---|
| 58 | %in Paris from january 2009 to february 2010, to analyse the issues of interfacing and integrating | 
|---|
| 59 | %those various technologies, and to define the detailed architecture of the proposed design flow. | 
|---|
| 60 | %%% | 
|---|
| 61 | \parlf | 
|---|
| 62 | In HPC (High Performance Computing), the targeted application is an existing one | 
|---|
| 63 | running on a PC. | 
|---|
| 64 | The COACH framework helps designer to accelerate it by migrating critical parts into a | 
|---|
| 65 | SoC embedded into an FPGA device plugged to the PC PCI/X bus. | 
|---|
| 66 | \begin{center}\begin{minipage}{.8\linewidth}\textit{ | 
|---|
| 67 | The second objective of COACH is to extend the framework for HPC applications. | 
|---|
| 68 | }\end{minipage}\end{center} | 
|---|
| 69 | This will allow SMEs to enter HPC market for the applications that are | 
|---|
| 70 | unadapted to the current GPU based solutions. | 
|---|
| 71 | %%% | 
|---|