- Timestamp:
- Feb 2, 2010, 10:03:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anr/section-3.1.tex
r56 r66 11 11 many-core, GPGPU (General Purpose computation on Graphics Unit Processing) and FPGA. 12 12 The two first families are dominating the market by taking benefit 13 of the strength and influence of mass-market leaders (Intel, Nvidia) 13 of the strength and influence of mass-market leaders (Intel, Nvidia). 14 14 %such as Intel for many-core CPU and Nvidia for GPGPU. 15 15 In this market, FPGA architectures are emerging and very promising. … … 73 73 In addition, Xilinx System Generator and SOPC Builder are closed world 74 74 since each one imposes their own IPs which are not interchangeable. 75 We can conclude that the existing commercial or free tools does not76 cover the whole system synthesis process in a full automatic way. Moreover,75 The existing commercial or free tools does not 76 cover the whole system synthesis process in a full automatic way. Moreover, 77 77 they are bound to a particular device family and to IPs library. 78 78 79 79 \subsubsection{High Level Synthesis} 80 80 High Level Synthesis translates a sequential algorithmic description and a 81 constraints set(area, power, frequency, ...) to a micro-architecture at81 set of constraints (area, power, frequency, ...) to a micro-architecture at 82 82 Register Transfer Level (RTL). 83 83 Several academic and commercial tools are today available. Most common … … 223 223 an active research subject. 224 224 225 \subsubsection{Interfaces} 226 \newcommand{\ip}{\sc ip} 227 \newcommand{\dma}{\sc dma} 228 \newcommand{\soc}{\sc SoC} 229 \newcommand{\mwmr}{\sc mwmr} 230 The hardware/software interface has been a difficult task since the advent 231 of complex systems on chip. After the first Co-design 232 environments~\cite{Coware,Polis,Ptolemy}, the Hardware Abstraction Layer 233 has been defined so that software applications can be developed without low 234 level hardware implementation details. In~\cite{jerraya}, Yoo and Jerraya 235 propose an {\sc api} with extension ability instead of a unique hardware 236 abstraction layer. System level communication frameworks have been 237 introduced~\cite{JerrayaPetrot,mwmr}. 238 \par 239 A good abstraction of a hardware/software interface has been proposed 240 in~\cite{Jantsch}: it is composed of a software driver, a {\dma} and and a 241 bus interface circuit. Automatic wrapping between bus protocols has 242 generated a lot of papers~\cite{Avnit,smith,Narayan, Alberto}. These works 243 do not use a {\dma}. In COACH, the hardware/software interface is done at a 244 higher level and uses burst communication in the bus interface circuit to 245 improve the communication performances. 246 \par 247 There are two important projects related to efficient interface of 248 data-flow {\ip}s : the work of Park and Diniz~\cite{ Park01} and the the 249 Lip6 work on {\mwmr}~\cite{mwmr}. Park and Diniz~\cite{ Park01} proposed 250 of a generic interface that can be parameterized to connect different 251 data-flow {\ip}s. This approach does not request the communications to be 252 statically known and proposes a runtime resolution to solve conflicting 253 access to the bus. To our knowledge this approach has not been implemented 254 further since 2003. 255 \par 256 {\mwmr}~\cite{mwmr} stands for both a computation model (multi-write, 257 multi-read {\sc fifo}) inherited from the Khan Process Networks and a bus 258 interface circuit protocol. As for the work of Park and Diniz, {\mwmr} 259 does not make the assumption of a static communication flow. This implies 260 simple software driver to write, but introduces additional complexity due 261 to the mutual exclusion locks necessary to protect the shared memory. 262 \par 263 we propose, in COACH, to use recent work on hardware/software 264 interface~\cite{FR-vlsi} that uses a {\em clever} {\dma} responsible for 265 managing data streams. A assumption is that the behavior of the {\ip}s can 266 be statically described. A similar choice has been made in the Faust 267 {\soc}~\cite{FAUST} which includes the {\em smart memory engine} component. 268 Jantsch and O'Nils already noticed in ~\cite{Jantsch} the huge complexity 269 of writing this hardware/software interface, in COACH, automatic 270 generation of the interface will be achieved, this is one goal of the CITI 271 contribution to COACH. 272 225 %\subsubsection{High Performance Computing} 226 %Accelerating high-performance computing (HPC) applications with field-programmable 227 %gate arrays (FPGAs) can potentially improve performance. 228 %However, using FPGAs presents significant challenges~\cite{hpc06a}. 229 %First, the operating frequency of an FPGA is low compared to a high-end microprocessor. 230 %Second, based on Amdahl law, HPC/FPGA application performance is unusually sensitive 231 %to the implementation quality~\cite{hpc06b}. 232 %Finally, High-performance computing programmers are a highly sophisticated but scarce 233 %resource. Such programmers are expected to readily use new technology but lack the time 234 %to learn a completely new skill such as logic design~\cite{hpc07a} . 235 %\\ 236 %HPC/FPGA hardware is only now emerging and in early commercial stages, 237 %but these techniques have not yet caught up. 238 %Thus, much effort is required to develop design tools that translate high level 239 %language programs to FPGA configurations. 240
Note: See TracChangeset
for help on using the changeset viewer.