- Timestamp:
- Feb 8, 2010, 8:59:54 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anr/section-3.1.tex
r93 r103 51 51 \subsubsection{System Synthesis} 52 52 Today, several solutions for system design are proposed and commercialized. 53 The most common are those provided by Altera and Xilinx to promote their 54 FPGA devices. 53 The existing commercial or free tools does not 54 cover the whole system synthesis process in a full automatic way. Moreover, 55 they are bound to a particular device family and to IPs library. 56 The most commonly used are provided by Altera and Xilinx to promote their 57 FPGA devices. These two representative tools used to synthesize SoC on FPGA 58 are introduced below. 55 59 \\ 56 60 The Xilinx System Generator for DSP~\cite{system-generateur-for-dsp} is a … … 61 65 Language (HDL) code mapped to Xilinx pre-optimized algorithms. 62 66 However, this tool targets only DSP based algorithms, Xilinx FPGAs and 63 cannot handle complete SoC. Thus, it is not really a system synthesis tool.67 cannot handle a complete SoC. Thus, it is not really a system synthesis tool. 64 68 \\ 65 69 In the opposite, SOPC Builder~\cite{spoc-builder} allows to describe a … … 69 73 Nevertheless, SOPC Builder does not provide any facilities to synthesize 70 74 coprocessors. System Designer must provide the synthesizable description 71 with the feasible bus interface. 75 with the feasible bus interface. Design Space Exploration is thus limited 76 and SystemC simulation is not possible neither at transactional nor at Cycle 77 accurate level. 72 78 \\ 73 79 In addition, Xilinx System Generator and SOPC Builder are closed world 74 80 since each one imposes their own IPs which are not interchangeable. 75 The existing commercial or free tools does not76 cover the whole system synthesis process in a full automatic way. Moreover,77 they are bound to a particular device family and to IPs library.78 81 79 82 \subsubsection{High Level Synthesis} … … 87 90 maturity, their usage is restrained by: 88 91 \begin{itemize} 89 \item They do not respect accurately the frequency constraint when they target an FPGA device.90 Their error is about 10 percent. This is annoying when the generated component is integrated91 in a SoC since it will slow down the hole system.92 \item These tools take into account only one or few constraints simultaneously while realistic93 designs are multi-constrained.94 Moreover, low power consumption constraint is mandatory for embedded systems.95 However, it is not yet well handled by common synthesis tools.96 \item The parallelism is extracted from initial algorithm. To get more parallelism or to reduce97 the amout of required memory, the user must re-write it while there is techniques as polyedric98 transformations to increase the intrinsec parallelism.99 \item Despite they have the same input language (C/C++), they are sensitive to the style in100 which the algorithm is written. Consequently, engineering work is required to swap from101 a tool to another.102 92 \item The HLS tools are not integrated into an architecture and system exploration tool. 103 93 Thus, a designer who needs to accelerate a software part of the system, must adapt it manually 104 94 to the HLS input dialect and performs engineering work to exploit the synthesis result 105 95 at the system level. 96 \item HLS tools take into account only one or few constraints simultaneously while realistic 97 designs are multi-constrained. 98 Moreover, low power consumption constraint is mandatory for embedded systems. 99 However, it is not yet well handled or not handle at all by the synthesis tools already available. 100 \item The parallelism is extracted from initial algorithmic specification. To get more parallelism or to reduce 101 the amount of required memory in the SoC, the user must re-write the algorithmic specification while there is 102 techniques as polyedric transformations to increase the intrinsic parallelism. 103 \item While they support limited loop transformations like loop unrolling and loop pipelining, current HLS tools 104 do not provide support for design space exploration neither through automatic loop transformations nor through 105 memory mapping. 106 \item Despite they have the same input language (C/C++), they are sensitive to the style in 107 which the algorithm is written. Consequently, engineering work is required to swap from 108 a tool to another. 109 \item They do not respect accurately the frequency constraint when they target an FPGA device. 110 Their error is about 10 percent. This is annoying when the generated component is integrated 111 in a SoC since it will slow down the hole system. 106 112 \end{itemize} 107 113 Regarding these limitations, it is necessary to create a new tool generation reducing the gap 108 between the specification of an heterogenous system and its hardware implementation. 114 between the specification of an heterogeneous system and its hardware implementation. 115 %FIXME == {Ajouter ref livre + D&T} 109 116 110 117 \subsubsection{Application Specific Instruction Processors} … … 112 119 ASIP (Application-Specific Instruction-Set Processor) are programmable 113 120 processors in which both the instruction and the micro architecture have 114 been tailored to a given application domain (e g. video processing), or to a121 been tailored to a given application domain (e.g. video processing), or to a 115 122 specific application. This specialization usually offers a good compromise 116 between performance (w.r.t a pure software implementation on an embed ed123 between performance (w.r.t a pure software implementation on an embedded 117 124 CPU) and flexibility (w.r.t an application specific hardware co-processor). 118 125 In spite of their obvious advantages, using/designing ASIPs remains a
Note: See TracChangeset
for help on using the changeset viewer.