source: anr/section-2.tex @ 21

Last change on this file since 21 was 17, checked in by coach, 15 years ago
File size: 4.0 KB
RevLine 
[17]1An embedded system is an application integrated into one or several chips
2in order to accelerate it or to embedd it into a small device such as a personal
3digital assistant (PDA).
4This topic is investigated since 80s using Applications Specific Integrated
5Circuits (ASIC), Digital Signal Processing (DSP) and parallel computing on
6multiprocessor machines or networks.
7More recently, since end of 90s, other technologies appeared like Very
8Large Instruction Word (VLIW), Application Specific Instruction Processors
9(ASIP), System on Chip (SoC), Multi-Processors SoC (MPSoC).
10\\
11During these last decades embedded system was reserved to major industrial
12companies targeting high volume market due to the design and fabrication
13costs.
14Nowadays Field Programmable Gate Arrays (FPGA), like Virtex5 from Xilinx
15and Stratix4 from Altera, can implement a SoC with multiple processors and
16several coprocessors for less than 10K euros per item. In addition, High
17Level Synthesis (HLS) becomes more mature and allows to automate design and
18to drastically decrease its cost in terms of man power. Thus, both FPGA and
19HLS tend to spread over HPC for small companies targeting low volume
20markets.
21\par
22To get an efficient embedded system, designer has to take into account
23application characteristics when it chooses one of the former technologies.
24This choice is not easy and in most cases designer has to try different
25technologies to retain the most adapted one.
26\\
27The first objective of COACH is to provide an open-source framework to
28design embedded system on FPGA device.
29COACH framework allows designer to explore various software/hardware
30partitions of the target application, to run timing and functional
31simulations and to generate automatically both the software and the
32synthesizable description of the hardware.
33The main topics of the project are:
34\begin{itemize} 
35\item
36Design space exploration: It consists in analysing the application runnig
37on FPGA, defining the target technology (SoC, MPSoC, ASIP, ...) and
38hardware/software partitioning of tasks depending on technology choice.
39This exploration is driven basically by throughput, latency and power
40consumption criteria.
41\item
42Micro-architectural exploration: When hardware components are required, the
43HLS tools of the framework generate them automatically. At this stage the
44framework provides various HLS tools allowing the micro-architectural space
45design exploration. The exploration criteria are also throughput, latency
46and power consumption.
47%FIXME:CA
48%FIXME:CA At this stage, preliminary source-level transformations will be
49%FIXME:CA required to improve the efficiency of the target component.
50%FIXME:CA COACH will also provide such facilities, such as automatic parallelization
51%FIXME:CA and memory optimisation.
52\item
53Performance measurement: For each point of design space exploration,
54metrics of criteria are available such as throughput, latency, power
55consumption, area, memory allocation and data locality. They are evaluated
56using virtual prototyping, estimation or analysing methodologies.
57\item
58Targeted hardware technology: The COACH description of system is
59independent of the FPGA family.  Every point of the design exploration
60space can be implemented on any FPGA having the required resources.
61Basically, COACH handles both Altera and Xilinx FPGA families.
62\end{itemize}
63As an extension of embedded system design, COACH deals also with High
64Performance Computing (HPC).
65In HPC, the kind of targeted application is an existing one running on PC.
66COACH helps designer to accelerate it by migrating critical parts into a
67SoC implemented on a FPGA plugged to the PC bus.
68\par
69COACH is the result of the will of several laboratory to unify their know
70how and skills in the following domains: Operating system and hardware
71communication (TIMA, SITI), SoC and MPSoC (LIP6 and TIMA), ASIP (IRISA) and
72HLS (LIP6, Lab-STIC and LIP).
73The project objective is to integrate these various domains into a unique
74free framework (licence ...) masking as much as possible these domains and
75its different tools to the user.
76
Note: See TracBrowser for help on using the repository browser.