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