2001 · 40 citations · 5 references
EngineeringComputer EngineeringComputer ScienceDesign AutomationDesign OptimizationSpeculative DesignControl Unit DesignControl-flow AnalysisDesign SynthesisHigh-level SynthesisLogic SynthesisSpeculative ExecutionConditional ExecutionFinite State Machine DesignFinite-state Machine SynthesisHigh-level Synthesis Timing OptimizationNetlist GenerationSpeculationSpeculative Control FlowSpeculative Optimization
The quality of synthesis results for most high level synthesis approaches is strongly affected by the choice of control flow (through conditions and loops) in the input description. In this paper, we explore the effectiveness of various types of code motions, such as moving operations across conditionals, out of conditionals (speculation) and into conditionals (reverse speculation), and how they can be effectively directed by heuristics so as to lead to improved synthesis results in terms of fewer execution cycles and fewer number of states in the finite state machine controller. We also study the effects of the code motions on the area and latency of the final synthesized netlist. Based on speculative code motions, we present a novel way to perform early condition execution that leads to significant improvements in highly control-intensive designs. Overall, reductions of up to 38 \% in execution cycles are obtained with all the code motions enabled.
5
A reordering technique for efficient code motion
Luiz C. V. dos Santos, J.A.G. Jess · 1999 · 32 citations