1 | % les objectifs globaux, |
---|
2 | A digital system is an application integrated into one or several chips. |
---|
3 | These chips can be embedded in devices such as a personal digital assistant |
---|
4 | (PDA), ambiant computing component, wireless sensor network (WSN). They can |
---|
5 | also be used on a board connected to a PC to accelerate an application like |
---|
6 | in High-Performance Computing (HPC) and in High-Speed Signal Processing (HSSP). |
---|
7 | Digital system design has been investigated since eighties by using Applications |
---|
8 | Specific Integrated Circuits (ASIC), Digital Signal Processing (DSP) and parallel computing on |
---|
9 | multiprocessor machines or networks. More recently, since the end of nineties, |
---|
10 | other technologies appeared like Very Large Instruction Word (VLIW), Application |
---|
11 | Specific Instruction Processors (ASIP), System on Chip (SoC), Multi-Processors |
---|
12 | SoC (MPSoC). |
---|
13 | \\ |
---|
14 | During these last decades, digital systems are more and more reserved |
---|
15 | to major companies targeting high volume market due to the design and fabrication |
---|
16 | costs of ASIC technologies due to increasing NRE (Non Recurring-Engineering) charges. |
---|
17 | Nowadays Field Programmable Gate Arrays (FPGA), like Virtex5 from Xilinx |
---|
18 | and Stratix4 from Altera, can implement a complete SoC with multiple processors and |
---|
19 | several coprocessors for less than 10K euros per device. |
---|
20 | In addition, Electronic System Level (ESL) design methodologies (Virtual Prototyping, |
---|
21 | Co-design, High-Level Synthesis...) become mature and allow to |
---|
22 | automate design and to drastically decrease its cost in terms of man power. |
---|
23 | Thus, coupling both FPGA and ESL methodologies will soon allow small and medium |
---|
24 | enterprises (SMEs) to get into new and low-volume markets, to design highly innovative devices, |
---|
25 | to prototype complete complex embedded systems, to realize HPC or HSSP applications. |
---|
26 | \par |
---|
27 | The objective of COACH is to provide an environment to design emmbedded systems and |
---|
28 | HPC applications on FPGA devices. The COACH framework will allow designer to explore various |
---|
29 | software/hardware partitioning scenario of the target application through timing and functional |
---|
30 | simulations and to generate automatically both the software and the |
---|
31 | synthesizable description of the hardware. Exploration and design are mainly |
---|
32 | driven by throughput, latency and/or power consumption criteria. |
---|
33 | The main contributions of the project are: |
---|
34 | \begin{itemize} |
---|
35 | \item Targeted hardware architecture and technology: |
---|
36 | COACH will handle both Altera and Xilinx FPGA technologies. COACH will define |
---|
37 | architectural templates that can be customized by additional dedicated coprocessors and ASIPs. |
---|
38 | The parameters of the architectural templates will be the number of CPU, the operating system... |
---|
39 | %the coprocessors, the number and the size of the FIFO communication channels |
---|
40 | Basically, the 3 following architectural templates will be provided: |
---|
41 | A COACH architectural template based on the MIPS of the TSAR ANR project and a VCI ring bus, |
---|
42 | An Altera architectural template based on the NIOS and the AVALON bus, |
---|
43 | %FIXME |
---|
44 | % The following point has to be confirmed by XILINX |
---|
45 | % Microblaze+OPB => ARM+Amba ??? |
---|
46 | A Xilinx architectural template based on the MICROBLAZE and the OPB bus. |
---|
47 | Moreover, the specification of the application will be independant of both the template |
---|
48 | architecture and the selected technology. |
---|
49 | \item Design space exploration: The COACH environment will allow to select and parametrize |
---|
50 | the target architecture, to define hardware/software partitioning and to profile the application. |
---|
51 | For each point of design space exploration, metrics such as throughput, latency, power consumption, |
---|
52 | area, memory allocation and data locality will be provided. |
---|
53 | This criteria will be evaluated by using virtual prototyping and high-level estimation methodologies. |
---|
54 | \item Hardware accelerators synthesis (HAS): COACH will allow to generate automatically hardware accelerators |
---|
55 | when required. Hence, High-Level Synthesis (HLS) tools, ASIP design environement and |
---|
56 | source-level transformations (loop transformations and memory optimisation) will be provided. |
---|
57 | This will allow to further explore the micro-architectural design space. |
---|
58 | \end{itemize} |
---|
59 | %In HPC, the kind of targeted application is an existing one running on PC. |
---|
60 | %COACH helps designer to accelerate it by migrating critical parts into a |
---|
61 | %SoC implemented on a FPGA plugged to the PC bus.\\ |
---|
62 | %FIXME licence a speficier |
---|
63 | The COACH environment will be designed to abstract the hardware as much as possible to the end user. |
---|
64 | It will thus be mainly dedicated to system designers. |
---|
65 | Finally COACH will be developped under the General Public Licence for the software tools. |
---|
66 | and USAGE LIBRE NON COMMERCIAL for the COACH arhitecture. |
---|
67 | %The COACH architectural templates will be freely distributed. |
---|
68 | % |
---|
69 | % verrous scientifiques et techniques |
---|
70 | \mbox{}\vspace*{.9ex}\par |
---|
71 | System design is a very complex task this project will simplify as much as possible. |
---|
72 | For this purpose the following scientific and technological barriers will be addressed: |
---|
73 | \begin{itemize} |
---|
74 | \item The clock frequency of the coprocessors generated by the HLS must respect |
---|
75 | the frequency of the processors and the system bus. |
---|
76 | \item HLS tools are sensitive to the coding style of the input specification |
---|
77 | and the domain they target (control vs. data dominated). The HLS tools of COACH must have a |
---|
78 | common language and coding style to avoid engineering work to the designer. |
---|
79 | \item The main problem in HPC comes from timing performance and implementation of the communication |
---|
80 | between the PC and the FPGA. |
---|
81 | %FIXME: a completer loop tranfrom?, ASIP?, ... |
---|
82 | \end{itemize} |
---|
83 | % |
---|
84 | % le programme de travail |
---|
85 | \vspace*{.9ex}\par |
---|
86 | COACH is the result of the will of several laboratories to unify their know |
---|
87 | hows and skills in the following domains: Operating system and hardware |
---|
88 | communication (TIMA and CITI), SoC and MPSoC (LIP6 and TIMA), ASIP (IRISA) and |
---|
89 | HLS (LIP6 and Lab-STICC) and loop tranformations (LIP). |
---|
90 | COACH does not start from scratch but relies |
---|
91 | on the SocLib platform~\cite{soclib} with the MUTEX and DNA/OS operating system for |
---|
92 | SoC and MPSoC prototyping, on GAUT~\cite{gaut08} and UGH~\cite{ugh08} for HLS, on |
---|
93 | ROMA~\cite{roma} for ASIP, on SYNTOL~\cite{syntol} and BEE~\cite{bee} for loop tranformations. |
---|
94 | The project objective is to enhance and seamlessly integrate these tools into |
---|
95 | a unique open source framework. |
---|
96 | %masking these domains and its different tools to the system designer. |
---|
97 | The main steps of this project are: |
---|
98 | 1) Definition of the user inputs: application description as set of communicating tasks, each |
---|
99 | task beeing described in C++ language; architectural template with its parameters; design constraints. |
---|
100 | 2) Definition of the internal \xcoach format for representing a task. |
---|
101 | 3) Development of a GCC pluggin for generating the \xcoach representation of a C++ task. |
---|
102 | 4) Adaptation of the existing HLS tools to read and write the \xcoach format. This will allow to |
---|
103 | swap from one tool to an other one and to chain them. |
---|
104 | 5) Modification of the Design System eXplorator DSX of the SocLib platform to let the user |
---|
105 | explore the design space and then to generate the bitstream. |
---|
106 | %FIXME : a completer |
---|
107 | \par |
---|
108 | The role of the industrial partners BULL, THALES, XXX is to provide real |
---|
109 | benchmarks to guide the design of the framework and to prove that COACH is |
---|
110 | usuable and cover a large spectrum of applications. |
---|
111 | % |
---|
112 | % les retombées scientifiques, techniques et économiques |
---|
113 | \vspace*{.9ex}\par |
---|
114 | The main scientific contributions of the project are: |
---|
115 | to make high-level synthesis an elementary tool of system design, |
---|
116 | to unify various synthesis techniques (same input and output formats) |
---|
117 | allowing the designer to swap from one to an other and even to chain them |
---|
118 | without rewritting effort, |
---|
119 | to provide a system description independent of the target architecture and |
---|
120 | the FPGA family. |
---|
121 | \par |
---|
122 | The market of embedded system and HPC is about 4,600 M\$ today and is |
---|
123 | estimated to 5,600 M\$ in 2012. |
---|
124 | This market is dominated by Multi-core CPUs based solution and is controlled |
---|
125 | by major companies that can support the very high Non Recurring Engineering (NRE) |
---|
126 | costs involved in designing such system. |
---|
127 | Small and medium companies can only be present in this market with GPUs based solutions that have |
---|
128 | low NRE costs but limit the application domains.\\ |
---|
129 | COACH reduces the NRE costs to the design costs (the FPGA device being only a few |
---|
130 | K\euro) and reduces drastically them. |
---|
131 | So one can expect that tools targeting FPGA and dedicated to software developpers |
---|
132 | will gain market share over Multi-core CPUs and GPUs HPC based solutions. |
---|
133 | Moreover this market can also be boosted by small and even very small new companies |
---|
134 | that will be able to propose embedded system and accelerating solutions for standard |
---|
135 | software applications with acceptable prices.\\ |
---|
136 | The two major FPGA companies Altera and Xilinx expect this by supporting |
---|
137 | and participating in this project. |
---|
138 | |
---|