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