Page 29 - DSP Integrated Circuits
P. 29

14                                           Chapter 1 DSP Integrated Circuits


        their correctness since they are described using an executable language. The top-
        down approach guarantees that larger and more important questions are
        answered before smaller ones.
            As mentioned before, and illustrated
        in Figure 1.14, a typical system design
        begins with the development of a proto-
        type (non-real-time) of the whole DSP
        system using either a conventional lan-
        guage, such as C, or, preferably, a hard-
        ware description language such as VHDL.
        The latter will be described in brief in sec-
        tion 1.6.6.
            After the validation of this initial
        (often sequential) description of the DSP
        system, it can be used as the basic system
        description. Subsequently, the system is
        hierarchically decomposed into a set of
        subsystems that at the lowest level imple-
        ment well-known functions. This is one of
        the most important tasks in the system
        design phase—to partition the whole sys-
        tem into a set of realizable subsystems
        and to determine their individual
        specifications—because the partitioning
        will have a major effect on the system  Figure 1.14 Top-down design strategy
        performance and cost. Typically, the new
        system description, which has explicit descriptions of the subsystems, is first
        derived without regard to time. However, it is advantageous to use at this stage,
        for example, VHDL, instead of a conventional sequential computer language since
        such languages do not have mechanisms for describing time and parallel execution
        of the subsystems.
            Generally, a sequential execution of the subsystems cannot meet the real-time
        requirements of the application. In the next design step, called the scheduling
        phase, the sequential description is therefore transformed into a parallel descrip-
        tion where the subsystems are executed concurrently. In this step, synchronization
        and timing signals must be introduced between the subsystems.
            If a satisfactory solution cannot be found at a certain design level, the design
        process has to be restarted at a higher level to ensure a correct design. Indeed, the
        whole design process is in practice an iterative process. Often the whole system
        design can be split into several parallel design paths, one branch for each main
        block. The different parts of the system can therefore often be designed by inde-
        pendent design teams.
            The next design step involves the mapping of the algorithms that realize the
        subsystems onto suitable software-hardware structures. This design step can be
        performed using the strategies discussed in sections 1.3 and 1.4.
            In the direct mapping approach, discussed in section 1.4.2, the operations are
        scheduled to meet the throughput requirements and at the same time minimize
        the implementation cost. Scheduling techniques for this purpose will be discussed
        in detail in Chapter 7. Further, in this design step a sufficient amount of resources
   24   25   26   27   28   29   30   31   32   33   34