source: anr/section-1.tex @ 355

Last change on this file since 355 was 353, checked in by coach, 14 years ago

Presque 40 pages.

File size: 14.6 KB
Line 
1The market of digital systems is about 4,600 M\$ today and is estimated to 5,600 M\$ in 2012. However the ever growing applications complexity involves integration of heterogeneous technologies and requires the design of complex Multi-Processors System on Chip (MPSoC). During the last decade, the use of ASICs (Application Specific Integrated Circuits) appeared to be more and more reserved to high volume markets, because the design and fabrication costs of such components exploded, due to increasing NRE (Non Recurring-Engineering) costs. Fortunately, FPGA (Field Programmable Gate Array) components, such as the Virtex5 family from XILINX or the Stratix4 family from ALTERA, can nowadays implement a complete MPSoC with multiple processors and several dedicated coprocessors for a few Keuros per device.
2\parlf
3Many applications are initially captured algorithmically in High-Level Languages (HLLs) such as C/C++. This has led to growing interest in tools that can provide an implementation path directly from HLLs to hardware. Thus, Electronic System Level (ESL) design methodologies (Virtual Prototyping, Co-design, High-Level Synthesis...) are now mature and allow the automation of a system-level design flow. Unfortunately, ESL tool development today has primarily focused on the design of hardwired devices i.e. ASICs and ASSPs (Application Specific Standard Product). However, the increasing sophistication of FPGAs has accelerated the need for FPGA-based ESL design methodologies. ESL methodologies hold the promise of streamlining the design approach by accepting designs written in C/C++ language and implementing the function straight into FPGA. Coupling FPGA technologies and ESL methodologies will allow both Small and Medium Enterprise and major companies to design innovative devices and to enter new, low and medium volume markets. Furthermore, today there is an increasing industrial interest to IC that integrates both hardwired CPU cores or MPSoC and a configurable area (FPGA) such as Intel-ATOM E600C. Probably in few years, such chips will become current and even standard general purpose CPU cores will contains a configurable area making explode the low and medium volume markets of digital systems. COACH’s objective is to provide an integrated design flow for the design of multi-processors digital systems targeting FPGA devices. It will be dedicated to system/software designers, and hide as much as possible the hardware characteristics to the end-user. COACH will mainly target three kinds of digital systems: 1/ Embedded and autonomous application such as personal digital assistants (PDA), ambient computing components, or wireless sensor networks, 2/ PCI-E extension boards connected to a PC to accelerate a specific application, it is the domain of High-Performance Computing (HPC) and High-Speed Signal Processing, 3/ Sub-system application for generating an IP to a larger system. The COACH open-source environment will integrate several hardware and software technologies:
4%
5\begin{itemize}
6\item Design Space Exploration by allowing to describe an application as a process network i.e. a set of tasks communicating through FIFO channels and to map the application on a shared-memory, MPSoC architecture.
7\item Hardware Accelerators Synthesis by allowing the automatic generation of hardware accelerators when required
8\item Platform based design: three architectural templates will be provided (free-generic and ALTERA and XILINX’s IPs based).
9\item Hardware/Software communication middleware by implementing an homogeneous HW/SW communication infrastructure and communication APIs (Application Programming Interface), that will be used for communications between software tasks running on embedded processors and dedicated hardware coprocessors.
10\item Interaction with the industrial world: the framework will be open to the industrial world by using IP-XACT standard for describing the components of the architectural template and by providing the IP-XACT description of the generated MPSoC.
11\end{itemize}
12%
13\mustbecompleted{LIST NON A JOUR}
14The major FPGA companies (\xilinx and \altera) have expressed their interest for
15this project.
16Finally, the COACH project is already supported by a large number of SMEs, as demonstrated by the
17"letters of interest" (see Annex B), that have been collected during the preparation of the project :
18ADACSYS, MDS, INPIXAL, CAMKA System, ATEME, ALSIM, SILICOMP-AQL,
19ABOUND Logic, EADS-ASTRIUM.
20
21%% % les objectifs globaux,
22%% The market of digital systems is about 4,600 M\$ today and is estimated to
23%% 5,600 M\$ in 2012. However the ever growing application complexity involves
24%% integration of heterogeneous technologies and requires the design of
25%% complex Multi-Processors System on Chip (MPSoC).
26%% \\
27%% During the last decade, the use of ASICs (Application Specific
28%% Integrated Circuits) appeared to be more and more reserved to high volume markets, because
29%% the design and fabrication costs of such components exploded, due to increasing NRE (Non
30%% Recurring-Engineering) costs.
31%% Fortunately, FPGA (Field Programmable Gate Array) components, such as the
32%% Virtex5 family from \xilinx or the Stratix4 family from \altera, can nowadays
33%% implement a complete MPSoC with multiple processors and several dedicated
34%% coprocessors for a few Keuros per device.
35%% \\
36%% Many applications are initially captured
37%% algorithmically in High-Level Languages (HLLs) such as C/C++. This has led to growing interest
38%% in tools that can provide an implementation path directly from HLLs to hardware.
39%% Thus, Electronic System Level (ESL) design methodologies (Virtual Prototyping,
40%% Co-design, High-Level Synthesis...) are now mature and allow the automation of
41%% a system-level design flow. Unfortunately, ESL tool development to date has primarily focused
42%% on the design of hard-wired devices i.e. ASICs and ASSPs (Application Specific Standard Product).
43%% However, the increasing sophistication of FPGAs has accelerated the need for FPGA-based ESL design
44%% methodologies. ESL methodologies hold the promise of streamlining the design approach by accepting
45%% designs written in the C/C++ language and implementing the function directly into FPGA.
46%% We believe that coupling FPGA technologies and ESL methodologies
47%% will allow both SMEs (Small and Medium Enterprise) and major companies to design innovative
48%% devices and to enter new, low and medium volume markets.
49%% Furthermore, today there is an increasing industrial interest into IC
50%% that integrates both hardwired CPU cores or MPSoC and a configurable area (FPGA)
51%% such as the ATOM E600C chip (Intel).
52%% In few a years, one can expect that such chips will become current. Even standard
53%% general purpose CPU cores will contains a configurable area
54%% bringing an explosion in low and medium volume markets.
55%% \parlf
56%% The objective of COACH is to provide an integrated design flow for the design of
57%% multi-processors digital systems targeting FPGA devices.
58%% It will be dedicated to system/software designers, and hide as much as possible
59%% the hardware characteristics to the end-user.
60%% COACH will mainly target three kinds of digital systems:
61%% 1) embedded and autonomous application such as  personal digital assistants (PDA),
62%%    ambient computing components, or wireless sensor networks (WSN);
63%% 2) PCI/E extension boards connected to a PC to accelerate a specific application,
64%%    it is the domain of High-Performance Computing (HPC) and High-Speed Signal Processing (HSSP);
65%% 3) sub-system application for generating an IP to a larger system.
66%% \parlf
67%% %verrous scientifiques et techniques
68%% The COACH environment will integrate several hardware and software technologies:
69%% \begin{description}
70%% \item[Design Space Exploration:]
71%%     The COACH environment will allow to describe an application as a process
72%%      network i.e. a set of tasks communicating through FIFO channels.
73%%      COACH will allow to map the application on a shared-memory, MPSoC architecture.
74%%     It will permit to easily explore the design space to help the system designer
75%%      to define the proper hardware/software partitioning of the application.
76%%     For each point in the design space, metrics such as throughput, latency, power
77%%     consumption, silicon area, memory allocation and data locality will be provided.
78%% \item[Hardware Accelerators Synthesis (HAS):]
79%%     COACH will allow the automatic generation of hardware accelerators when required.
80%%     Hence, High-Level Synthesis (HLS) tools, Application Specific Instruction Processor
81%%     (ASIP) design environments and source-level transformation tools (loop transformations
82%%     and memory optimization) will be provided.
83%%     This will allow further exploration of the micro-architectural design space.
84%%     HLS tools are sensitive to the coding style of the input specification and the domain
85%%     they target (control vs. data dominated).
86%%     The HLS tools of COACH will support a common language and coding style to avoid
87%%     re-engineering by the designer.
88%% \item[Platform based design:]
89%%     COACH will handle both \altera and \xilinx FPGA devices.
90%%     COACH will define architectural templates that can be customized by adding
91%%     dedicated coprocessors and ASIPs and by fixing template parameters such as
92%%     the number of embedded processors, the number and size of embedded memory banks
93%%     or the embedded operating system.
94%%     However, the specification of the application will be independent of both the
95%%     architectural template and the target FPGA device.
96%%     Basically, the following three architectural templates will be provided:
97%%     \begin{enumerate}
98%%     \item A Neutral architectural template based on the SoCLib IP core library and the
99%%       VCI/OCP communication infrastructure.
100%%     \item An \altera architectural template based on the \altera IP core library, the
101%%       AVALON system bus and the NIOS processor.
102%%     \item A \xilinx architectural template based on the \xilinx IP core library,
103%%       the \xilinxbus system bus and the \xilinxcpu processor.
104%%     \end{enumerate}
105%% \item[Hardware/Software communication middleware:]
106%%     COACH will implement an homogeneous HW/SW communication infrastructure and
107%%     communication APIs (Application Programming Interface), that will be used for
108%%     communications between software tasks running on embedded processors and
109%%     dedicated hardware coprocessors.
110%% \item[Interaction with the industrial world:]
111%%     COACH will not be a closed framework but it will be opened to the industrial
112%%     world by using the IP-XACT format \cite{IP-XACT-08} for describing the components of the
113%%     architectural template and by providing the IP-XACT description of the generated MPSoC.
114%%     This should facilitate the enhancement of the architectural template with IP and the
115%%     integration of the IP produced by COACH in larger design.
116%% \end{description}
117%% %From the end user point of view, the specification of the application will be
118%% %independant from both the architectural template and from the selected FPGA
119%% %family.
120%% \parlf
121%% % le programme de travail
122%% %The COACH project targets fundamental issues related to design methodologies for
123%% %digital systems by providing estimation, exploration and design tools targeting both
124%% %performance and power optimization at all the abstraction levels of the flow (system,
125%% %architecture, algorithm and logic).
126%% To reach this ambitious goal, the project will rely on the experience and the
127%% %complementariness
128%% synergy of the partners in the following domains:
129%% Operating system and communication middleware (\tima, \upmc),
130%% MPSoC architectures (\tima, \ubs, \upmc),
131%% ASIP architectures (\inria),
132%% High Level Synthesis (\tima, \ubs, \upmc), and compilation (\lip),
133%% HPC (\bull, \thales, \lip), tools integration in IP-XACT flow (\mds).
134%% \\
135%% The COACH project does not start from scratch.
136%% It relies
137%% on the Magillem industrial platform for the integration into IP-XACT flows,
138%% on the SoCLib platform~\cite{soclib} for prototyping and operating systems (DNA/OS),
139%% on the GAUT~\cite{gaut08} and UGH~\cite{ugh08} tools for HLS,
140%% on the ROMA~\cite{roma, RAFFIN:2010:INRIA-00539874:1} project for ASIP,
141%% on the SYNTOL~\cite{syntol} and BEE~\cite{bee} tools for source-level analysis and
142%% transformations,
143%% and on the \xilinx and \altera IP core libraries.
144%% Finally it will use the \xilinx and \altera logic and physical synthesis tools
145%% to generate the FPGA configuration bitstreams.
146%% %The main development steps of the COACH project are:
147%% %\begin{enumerate}
148%% %   \item Definition of the end user inputs:
149%% %    The coarse grain parallelism of the application will be described as a communicating
150%% %    task graph, each task being described in C language.
151%% %    Similarly the architectural templates with their parameters and the design constraints
152%% %    will be specified.
153%% %  \item Definition of an internal format for representing task.
154%% %  \item Development of the GCC pluggin for generating the internal format of a
155%% %    C task.
156%% %  \item Adaptation of the existing HAS tools (BEE, SYNTOL, UGH, GAUT) to read and write
157%% %    the internal format. This will allow to swap from one tool to another one, and to
158%% %    chain them if necessary.
159%% %  \item Modification of the DSX tool (Design Space eXplorer) of the SocLib
160%% %    platform to generate the bitstream for the various FPGA families and architectural
161%% %    templates.
162%% %  \item Development of new tools such as ASIP compiler, HPC design environment and
163%% %    dynamic reconfiguration of FPGA devices.
164%% %\end{enumerate}
165%% \parlf
166%% The role of the industrial partners \bull, \thales and \mds is to provide
167%% real use cases to benchmark the COACH design environment and to analyze the designer productivity
168%% improvements.
169%% \parlf
170%% The COACH project will deliver an open and freely distributed infrastructure.
171%% The architectural templates and most of the software tools will be distributed under the
172%% GPL-like license.
173%% The VHDL synthesizable models for the neutral architectural template
174%% will also be freely available for non commercial use.
175%% For industrial exploitation the technology providers are ready to propose commercial licenses,
176%% directly to the end user, or through a third party.
177%% \parlf
178%% \mustbecompleted{LIST NON A JOUR}
179%% The major FPGA companies (\xilinx and \altera) have expressed their interest for
180%% this project.
181%% Finally, the COACH project is already supported by a large number of SMEs, as demonstrated by the
182%% "letters of interest" (see Annex B), that have been collected during the preparation of the project :
183%% ADACSYS, MDS, INPIXAL, CAMKA System, ATEME, ALSIM, SILICOMP-AQL,
184%% ABOUND Logic, EADS-ASTRIUM.
185%%
Note: See TracBrowser for help on using the repository browser.