Detecting non-functional circuit activity in SoC designs

In this paper, we present a methodology for the automatic detection of non-functional circuit activity in SoC designs. Our methodology formally analyses an RTL design, generates an internal graph representation and traverses the graph using given simulation traces. We evaluate an open source processor with a given set of benchmark applications using our approach. With a commercial RTL simulator, we observe an average register toggle activity of 6.7%–11.5%, but our experiments show that 86.1–92.7% of these toggles are non-functional, i.e. not necessary for producing the exact same circuit output. We further evaluate the efficiency of the clock gating architecture of a commercial ASIP. For the Dhrystone benchmark we show that, even though only 34.7% of the registers are clocked on average, still 64.3% of the non-clock-gated registers in this ASIP are not needed on average to produce exactly the same circuit output.

[1]  Sanjukta Bhanja,et al.  Estimation of switching activity in sequential circuits using dynamic Bayesian networks , 2005, 18th International Conference on VLSI Design held jointly with 4th International Conference on Embedded Systems Design.

[2]  Andreas G. Veneris,et al.  Maximum Circuit Activity Estimation Using Pseudo-Boolean Satisfiability , 2012, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  Oliver Bringmann,et al.  SMoSi: A framework for the derivation of sleep mode traces from RTL simulations , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

[4]  Poul Frederick Williams,et al.  Formal Verification based on Boolean Expression Diagrams , 2001, Electronical Notes in Theoretical Computer Science.

[5]  Chittaranjan A. Mandal,et al.  Workload Driven Power Domain Partitioning , 2012, VDAT.

[6]  Manish Kumar,et al.  Clock domain crossing aware sequential clock gating , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[7]  Henrik Reif Andersen,et al.  Satisfiability Checking Using Boolean Expression Diagrams , 2001, TACAS.

[8]  Henrik Reif Andersen,et al.  Boolean expression diagrams , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[9]  Abhishek Ranjan,et al.  PowerAdviser: An RTL power platform for interactive sequential optimizations , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[10]  José C. Monteiro,et al.  A Methodology for Efficient Estimation of Switching Activity in Sequential Logic Circuits , 1994, 31st Design Automation Conference.

[11]  Reinhold Weicker,et al.  Dhrystone benchmark: rationale for version 2 and measurement rules , 1988, SIGP.

[12]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[13]  Farid N. Najm,et al.  Statistical Estimation of the Switching Activity in Digital Circuitsy , 1994, 31st Design Automation Conference.

[14]  Jagdish C. Rao,et al.  Clock gating for power optimization in ASIC design cycle theory & practice , 2008, Proceeding of the 13th international symposium on Low power electronics and design (ISLPED '08).