Conference Paper

Register binding for predicated execution in DSP applications

Dept. of Electr. Eng., Eindhoven Univ. of Technol.
DOI: 10.1109/SBCCI.2000.876017 Conference: Integrated Circuits and Systems Design, 2000. Proceedings. 13th Symposium on
Source: IEEE Xplore

ABSTRACT Predicated execution is an efficient mechanism to avoid
conditional constructs in application programs. In this paper we
describe how an existing method for register binding can be extended to
support predicated execution. The method exploits the combination of
register constraints, resource and timing constraints and models the
overlap of value lifetimes in a conflict graph. In our extension,
mutually exclusive values are identified and are used for reconstructing
the conflict graph. Register binding for predicated execution in case of
software pipelining is also addressed in this paper. Experiments in the
Facts environment show that the register pressure is greatly reduced
with this technique

0 Bookmarks
 · 
41 Views
  • [Show abstract] [Hide abstract]
    ABSTRACT: This paper presents an approach for register allocation and scheduling which relies on three main ideas: global optimization, solution space exploration and on-the-fly generation of a symbolic state machine. To allow global optimizations while preserving semantics, the traditional notion of control dependence is replaced by the notion of predicate. In our approach, predicates are used not only as attributes of operations during scheduling (predicated execution), but also as attributes of values during register allocation. Experimental results show that this global approach improves the chances of reaching high-quality solutions in high-level synthesis.
    Circuits and Systems, 2003. ISCAS '03. Proceedings of the 2003 International Symposium on; 01/2003
  • [Show abstract] [Hide abstract]
    ABSTRACT: Design decisions made during high-level synthesis usually have great impacts on the later design stages. In this paper, We present a general framework, which plans for the clock skew-scheduling in physical design stages during register binding in high-level synthesis. Our proposed technique pursues the optimality of the native objective functions of the register binding problem. At the same time, it ensures not invalidating the subsequent clock skew scheduling for optimizing the clock period. We use the switching power as the native objective of our register binding problem. The problem is first formulated as a MILP problem. An acceleration scheme based on the concept of weakly compatible edge set (WCES) is proposed to speed up the MILP solver to obtain the optimal solution. Then, we present our heuristic algorithm to reduce the running time further. The experimental results show that on average our acceleration scheme can speed up the solver by 8.6 times, and our heuristic is 70 times faster than the solver with a 5.25% degradation of the native objective. The minimum and maximum degradation among our benchmark set are 0.82% and 12.2%, respectively.
    2007 International Conference on Computer-Aided Design (ICCAD'07), November 5-8, 2007, San Jose, CA, USA; 01/2007
  • [Show abstract] [Hide abstract]
    ABSTRACT: This paper presents an approach for register allocation and scheduling which relies on three main ideas: global optimization, solution space exploration and on-the-fly generation of a symbolic state machine. To allow global optimizations while preserving semantics, the traditional notion of control dependence is replaced by the notion of predicate. In our approach, predicates are used not only as attributes of operations during scheduling (predicated execution), but also as attributes of values during register allocation. Experimental results show that this global approach improves the chances of reaching high-quality solutions in High-Level Synthesis.