source: anr/section-2.tex @ 25

Last change on this file since 25 was 25, checked in by coach, 14 years ago
File size: 6.4 KB
Line 
1The emerging complex and integrated heterogeneous embedded system platforms require
2adequate design methods able to efficiently model, explore, analyze and design the ever complex SW
3and HW architectures. Future Embedded Systems suppliers, in order to meet rapidly increasing
4performance requirements linked with a pressure to lower development cost and shorten time-tomarket,
5will have to adopt new design methods and flows able to keep pace with the increasing
6complexity of design problems. Such methods, addressing these challenges starting from high levels of
7abstraction, will have to perform large solution space exploration jointly for SW and HW (possibly
8reconfigurable), involving almost marginal design effort and offering a high predictability of results
9with respect to cost- and performance-functions.
10Current design methodologies provide quite low-level abstraction capabilities. However in a few years
11from now tens of programmable processors will be embedded in an IC with together over 100M
12transistors adding to the complexity of the problem of architecting such systems. Taking into account
13that the complexity of the SW part is pacing up at an even faster speed, current solutions to perform
14design space exploration, mainly manually based, by no means do supply a performance of adequate
15sufficiency.
16Consequently, there is an urgent need to leverage system level
17exploration through the use of a high level specification of the application and an early design
18space exploration steps. The first system oriented approaches are appearing, among which those
19based on C/C++ and SystemC are most popular. Such approaches can take place before and/or after
20the co-design or architecture refinement steps and targets the design space pruning in order to fully
21exploit potential solutions that meet design and application constraints (power, latency,
22throughput) within the design and market timeframe.
23\\
24Thus, new system-level design flows need to be developed, enabling the exploration of an application
25independently of the implementation, this almost at the beginning of the design process. A
26fundamental element of this evolution is the definition of abstraction layers that should allow the
27systematic re-use of SW and HW components at the system level driven by performance estimation
28and analysis. It is the context in which the COACH modeling and estimation methods combined with
29compilers and design space exploration techniques. This approach will cause a real breakthrough in
30the embedded system design methodology, i.e. one of the radical innovations.
31\\
32The reason is that COACH precedes the use of high-level design tools in the embedded
33systems design flows. In that way, it will make possible a real and efficiently combined
34exploitation of high-level synthesis tools, parallelising approaches and compilers, already
35available on the market. These tools and approaches are not yet massively adopted, precisely
36because this decisive design step is missing. COACH will indeed permit (i) to predict and
37control implementation optimizations, (ii) to target multiple implementation technologies
38(and thus the associated tools) from a unique specification and (iii) to efficiently integrate high
39and low-level design tools in a unique seamless design flow.
40\\
41The performance estimation methods combined with the design space exploration techniques will
42finally allow the design process to start from system level specification and automatically explore the
43potential architectures in order to find out the optimal implementation in a shorter design time and at
44a lower global cost.
45\par
46To get an efficient embedded system, designer has to take into account
47application characteristics when it chooses one of the former technologies.
48This choice is not easy and in most cases designer has to try different
49technologies to retain the most adapted one.
50\\
51The first objective of COACH is to provide an open-source framework to
52design embedded system on FPGA device.
53COACH framework allows designer to explore various software/hardware
54partitions of the target application, to run timing and functional
55simulations and to generate automatically both the software and the
56synthesizable description of the hardware.
57The main topics of the project are:
58\begin{itemize} 
59\item
60Design space exploration: It consists in analysing the application runnig
61on FPGA, defining the target technology (SoC, MPSoC, ASIP, ...) and
62hardware/software partitioning of tasks depending on technology choice.
63This exploration is driven basically by throughput, latency and power
64consumption criteria.
65\item
66Micro-architectural exploration: When hardware components are required, the
67HLS tools of the framework generate them automatically. At this stage the
68framework provides various HLS tools allowing the micro-architectural space
69design exploration. The exploration criteria are also throughput, latency
70and power consumption.
71%FIXME:CA
72%FIXME:CA At this stage, preliminary source-level transformations will be
73%FIXME:CA required to improve the efficiency of the target component.
74%FIXME:CA COACH will also provide such facilities, such as automatic parallelization
75%FIXME:CA and memory optimisation.
76\item
77Performance measurement: For each point of design space exploration,
78metrics of criteria are available such as throughput, latency, power
79consumption, area, memory allocation and data locality. They are evaluated
80using virtual prototyping, estimation or analysing methodologies.
81\item
82Targeted hardware technology: The COACH description of system is
83independent of the FPGA family.  Every point of the design exploration
84space can be implemented on any FPGA having the required resources.
85Basically, COACH handles both Altera and Xilinx FPGA families.
86\end{itemize}
87As an extension of embedded system design, COACH deals also with High
88Performance Computing (HPC).
89In HPC, the kind of targeted application is an existing one running on PC.
90COACH helps designer to accelerate it by migrating critical parts into a
91SoC implemented on a FPGA plugged to the PC bus.
92\par
93COACH is the result of the will of several laboratory to unify their know
94how and skills in the following domains: Operating system and hardware
95communication (TIMA, SITI), SoC and MPSoC (LIP6 and TIMA), ASIP (IRISA) and
96HLS (LIP6, Lab-STIC and LIP).
97The project objective is to integrate these various domains into a unique
98free framework (licence ...) masking as much as possible these domains and
99its different tools to the user.
100
Note: See TracBrowser for help on using the repository browser.