Page 27 - DSP Integrated Circuits
P. 27

12                                           Chapter 1 DSP Integrated Circuits


         and maximum life cycle costs, etc. Furthermore, a time schedule for the successful
         completion of the design and target dates for production and market introduction
         are important issues.
            A specification has two main parts, as illustrated in Figure 1.11.

            Q A behavioral description that specifies what is to be designed and
            Q A verification or validation part that describes how the design should be
                verified (validated).
            Verification involves a
         formal process of proving the
         equivalence of two different
         types  of   representations
         under all specified condi-
         tions. Verification of a whole
         system is rarely done in              Figure 1.11 Specification
         practice because of the large
         complexity involved. However, small circuits and modules as well as simple com-
         munication protocols represent practical problem sizes.
            Validation is an informal and less rigorous correctness check. Validation is
         usually done by simulating the circuit with a finite set of input stimuli to assert
         that the circuit operate correctly.
            A correct and complete specification of the system to be designed is crucial [4].
         Recent experience shows that of all custom-designed VLSI circuits that do not work
         properly, up to 70% of the circuits work without logical or electrical errors, but they
         do not work in their intended environment. Their specifications, particularly the
         specifications of the working environments, are erroneous or incomplete. Specifica-
         tion and design problem capture are difficult and not well understood problems.


         1.6.2 Partitioning Techniques
         Generally, the system design phase consists of a sequence of partitioning steps
         wherein the system is partitioned into a set of subsystems that are so simple that
         they can be implemented without difficulty. Partitioning can be performed using
         different strategies, but most strategies involve a hierarchical partitioning of the
         system with the aim of reducing design complexity.

         Data-Flow Approach
         One approach is to partition the sys-
         tem along the data-flow in the sys-
         tem. If the data-flow graph is drawn
         with data flowing from left to right
         we can define vertical and horizontal
         partitioning as illustrated in Figure
         1.12. The former partitions the sys-
        tem into parts that pass data in a
         sequential manner while the latter
        partitions the system into parts    Figure 1.12 (a) Vertical and (b) horizontal
        where data flow in parallel paths [5].         partitioning.
   22   23   24   25   26   27   28   29   30   31   32