Instruction-Flow-Based Timing Analysis in Pipelined Processors

Microprocessor design utilizes timing analysis in order to establish the maximal operation clock speed of the circuit. In static timing analysis, clock frequency is set in accord with the worst-case delay in the circuit operation, regardless of the possible circuit inputs. Dynamic timing analysis approaches consider variations in the inputs, obtaining more accurate values for the clock speed. However, such methodologies are in general very slow. Recent research on static timing analysis is focused on better-than-worst-case algorithms, which attempt to introduce a dynamic flavor to the static approach. The work presented in this paper is concentrated on a certain aspect of better-than-worst-case timing analysis for processor design, obtaining a more optimistic clock speed than the one produced by pure static analysis. Certain variations of the inputs to the processor circuit are considered, in order to overcome the limitations of traditional techniques and increase clock frequency. In particular, given that the circuit inputs are mostly instructions of the processor instruction set, we have chosen to vary the instruction opcode of the input set. Thus, we have designed and implemented an algorithm, which produces timing information for each instruction and for each possible flow between consecutive instructions in the pipeline. In such a way, the designer is able to focus on improving the architecture of particular instructions rather than redesigning circuit parts. We have tested our algorithm on an OpenRISC processor design and collected timing information through an innovative use of the Synopsis PrimeTime tool. A comparison against timing information obtained through traditional static timing analysis proves that our algorithm succeeds to give better-than-worst-case timing for the most common instructions. Finally, the timing obtained through considering instruction flow and not static instructions, is more accurate and is thus more useful for the designer to deliver a better product.

[1]  Josep Torrellas,et al.  ReCycle:: pipeline adaptation to tolerate process variation , 2007, ISCA '07.

[2]  Luca Benini,et al.  Application-Adaptive Guardbanding to Mitigate Static and Dynamic Variability , 2014, IEEE Transactions on Computers.

[3]  T. I. Kirkpatrick,et al.  PERT as an aid to logic design , 1966 .

[4]  Mohab Anis,et al.  On efficient Monte Carlo-based Statistical Static Timing Analysis of digital circuits , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[5]  Marvin A. Wold Design Verification and Performance Analysis , 1978, 15th Design Automation Conference.

[6]  Bishop Brock,et al.  Active management of timing guardband to save energy in POWER7 , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[7]  Jing Xin,et al.  Identifying and predicting timing-critical instructions to boost timing speculation , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[8]  David Blaauw,et al.  Statistical Timing Analysis: From Basic Principles to State of the Art , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Trevor Mudge,et al.  Razor: a low-power pipeline based on circuit-level timing speculation , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[10]  Georgios Dimitriou,et al.  Instruction-Based Timing Analysis in Pipelined Processors , 2019, 2019 4th South-East Europe Design Automation, Computer Engineering, Computer Networks and Social Media Conference (SEEDA-CECNSM).

[11]  Jing-Jia Liou,et al.  False-path-aware statistical timing analysis and efficient path selection for delay testing and timing validation , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[12]  Brad Calder,et al.  Dynamic prediction of critical path instructions , 2001, Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture.

[13]  Todd M. Austin,et al.  Deployment of better than worst-case design: solutions and needs , 2005, 2005 International Conference on Computer Design.

[14]  Jie Zhang,et al.  On the premises and prospects of timing speculation , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  R. Otten,et al.  Statistical timing for parametric yield prediction of digital integrated circuits , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[16]  Paolo A. Aseron,et al.  A 45 nm Resilient Microprocessor Core for Dynamic Variation Tolerance , 2011, IEEE Journal of Solid-State Circuits.

[17]  Lawrence T. Pileggi,et al.  STAC: statistical timing analysis with correlation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[18]  Rakesh Chadha,et al.  Static Timing Analysis for Nanometer Designs: A Practical Approach , 2009 .