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