2 research outputs found

    Design-For-Debugging of Application Specific Designs

    No full text
    We address the problem of considering debugging requirements during high level synthesis by providing low-cost hardware support and scheduling and assignment methods for ensuring controllability and observability of the user specified variables. Two key conceptually new design ideas that enable efficient debugging are developed: pipelining of debugging variables for improving their scheduling and assignment freedom and use of I/O buffers for improving resource utilization of I/O pins. The provably optimal bounds for the maximum cardinality of the set of controllable and observable variables for a given design specification are derived. A polynomial time complexity synthesis algorithm for achieving the bounds is developed. The minimization of hardware overhead gives rise to a combinatorial optimization problem which is solved using a non-greedy heuristic algorithm. The effectiveness of the proposed Design-for-Debugging approach is demonstrated on several examples

    Design-For-Debugging of Application Specific Designs

    No full text
    Debugging can be defined as a process of identifying and correcting errors made during functional specification by observing the functional behavior of the design. It often dominates time and cost of integrated circuits and system development. In modern ASIC designs debugging is particularly difficult problem due to very limited controllability and observability of intermediate variables during the operational mode of the design. We address the problem of considering debugging requirements during high level synthesis by providing low-cost hardware support and scheduling and assignment methods for ensuring controllability and observability of the user specified variables. Three key conceptually new design ideas that enable efficient debugging are developed: pipelining of debugging variables for improving their scheduling and assignment freedom, use of I/O buffers for improving resource utilization of I/O pins, and increase the debugging periodicity to satisfy all the debugging requireme..
    corecore