access icon free On-chip support for software verification and debug in multi-core embedded systems

The challenges in silicon testing and debug of complex integrated circuits are well understood. Where these circuits include multiple processor cores there is also a dramatic increase in the complexity of verifying and debugging the associated software; with much of this complexity being because of the inherent lack of visibility over internal signals which integration brings. The trend to-date has been to rely upon silicon test interfaces to provide access to internal signals required for software verification and debug. However, it is questionable whether this is sufficient for real-time systems or future designs with increasing processor cores. This study examines the on-chip technology supporting software verification and debug in current designs and proposes enhancements in this area. As much of this technology is primarily intended for silicon test it is lacking in terms of I/O bandwidth, which is a significant limitation for software verification and debug. The authors propose their alternative approach of using an on-chip coprocessor and debug circuitry to address this principal limitation; and describe an embedded application where this approach was successfully applied to monitor timing requirements and detect failures. The authors also outline how this approach could be applied as an architectural solution for formal runtime verification.

Inspec keywords: timing; integrated circuit design; program verification; system-on-chip; integrated circuit testing; multiprocessing systems; program debugging; fault tolerant computing; system recovery; embedded systems; coprocessors

Other keywords: complex integrated circuit debugging; timing requirement monitoring; software verification; silicon test interfaces; on-chip coprocessor; multicore embedded systems; real-time systems; software debugging complexity; multiple processor cores; failure detection; formal runtime verification; debug circuitry

Subjects: Digital circuit design, modelling and testing; Diagnostic, testing, debugging and evaluating systems; System-on-chip; Multiprocessing systems; Formal methods; Electronic engineering computing

References

    1. 1)
      • 47. Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: ‘Runtime assurance based on formal specifications’. Proc. Int. Conf. on Parallel and Distributed Processing Techniques and Application (PDPTA), Las Vegas, Nevada, USA, June–July 1999, pp. 279287.
    2. 2)
      • 10. Engblom, J.: ‘Debugging real-time multiprocessor systems’. Proc. Embedded Systems Conf. (ESC), San Jose, CA, April 2007, pp. 116.
    3. 3)
      • 17. Vermeulen, B.: ‘Functional debug techniques for embedded systems’, IEEE Des. Test. Comput., 2008, 25, (3), pp. 208215.
    4. 4)
      • 3. Posse, K., Crouch, A., Rearick, J., et al.: ‘IEEE P1687: toward standardized access of embedded instrumentation’. Proc. IEEE Int. Test Conf., Santa Clara, CA, October 2006, pp. 18.
    5. 5)
      • 40. Bernardi, P., Grosso, M., Rebaudengo, M., Reorda, M.S.: ‘Exploiting an infrastructure-intellectual property for systems-on-chip test, diagnosis and silicon debug’, IET Comput. Digit. Tech., 2010, 4, (2), pp. 104113.
    6. 6)
      • 41. Scottow, R.G., Hopkins, A.B.T., McDonald-Maier, K.D.: ‘Instrumentation of real-time embedded systems for performance analysis’. Proc. IEEE Instrumentation and Measurement Technology Conf., Sorrento, Italy, April 2006, pp. 13071310.
    7. 7)
      • 24. IEEE Std 1149.1-2001: ‘IEEE standard test access port and boundary-scan architecture’, 2001.
    8. 8)
      • 43. Heffernan, D., Shaheen, S., Watterson, C.: ‘Monitoring embedded software timing properties with an SoC-resident monitor’, IET Softw., 2009, 3, (2), pp. 140153.
    9. 9)
      • 37. Mayer, A., Siebert, H., McDonald-Maier, K.D.: ‘Boosting debugging support for complex systems on chip’, IEEE Comput., 2007, 40, (4), pp. 7681.
    10. 10)
      • 34. Orme, W.: ‘Debug and trace for multicore SoCs’ (Whitepaper, ARM Limited, 2008).
    11. 11)
      • 33. Stollon, N., Leatherman, R.: ‘Integrating on chip debug instrumentation and EDA verification tools’. Proc. Design Con East, Worcester, MA, September 2005, pp. 116.
    12. 12)
      • 6. Crouch, A.L.: ‘IJTAG: the path to organized instrument connectivity’. Proc. IEEE Int. Test Conf., Santa Clara, CA, October 2007, pp. 110.
    13. 13)
      • 36. MIPS Technologies, Inc.: ‘MIPS PDtrace Specification’, 2009.
    14. 14)
      • 42. Watterson, C., Heffernan, D.: ‘A runtime verification monitoring approach for embedded industrial controllers’. Proc. IEEE Int. Symp. on Industrial Electronics (ISIE), Cambridge, UK, June–July 2008, pp. 20162021.
    15. 15)
      • 49. Watterson, C.: ‘A monitoring approach to facilitate run-time verification of software in deeply embedded systems’. PhD thesis. Library, University of Limerick, Ireland, 2010.
    16. 16)
      • 22. Hopkins, A.B.T., McDonald-Maier, K.D.: ‘Trace algorithms for deeply integrated complex and hybrid SoCs’. Proc. Second NASA/ESA Conf. on Adaptive Hardware and Systems (AHS), Edinburgh, Scotland, United Kingdom, August 2007, pp. 641646.
    17. 17)
      • 23. Daoud, E.A., Nicolici, N.: ‘Real-time lossless compression for silicon debug’, IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., 2009, 28, (9), pp. 13871400.
    18. 18)
      • 5. IEEE Std 1149.7-2009: ‘IEEE standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture’, 2009.
    19. 19)
      • 19. ARM limited: ‘embedded trace Macrocell ETMv1.0 to ETMv3.4 architecture specification’, 2007.
    20. 20)
      • 25. Vermeulen, B., Waayers, T., Bakker, S.: ‘IEEE 1149.1-compliant access architecture for multiple core debug on digital system chips’. Proc. IEEE Int. Test Conf., Baltimore, MD, October 2002, pp. 5563.
    21. 21)
      • 21. Hopkins, A.B.T., McDonald-Maier, K.D.: ‘Debug support strategy for systems-on-chips with multiple processor cores’, IEEE Trans. Comput., 2006, 55, (2), pp. 174184.
    22. 22)
      • 26. Ley, A.W.: ‘Doing more with less –an IEEE 1149.7 embedded tutorial: standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture’. Proc. IEEE Int. Test Conf., Austin, TX, November 2009, pp. 110.
    23. 23)
      • 16. Grötker, T., Holtmann, U., Keding, H., Wloka, M.: ‘The developer's guide to debugging’ (Springer, Heidelberg, 2008, 1st edn.).
    24. 24)
      • 18. IEEE-ISTO 5001-2003: ‘Nexus 5001 standard for a global embedded processor debug interface’, 2003.
    25. 25)
      • 39. Leatherman, R., Stollon, N.: ‘An embedding debugging architecture for SOCs’, IEEE Potentials, 2005, 24, (1), pp. 1216.
    26. 26)
      • 32. Stollon, N., Uvacek, B., Laurenti, G.: ‘Standard debug interface socket requirements for OCP-compliant SoC’ (Whitepaper, OCP-IP Debug Working Group, 2007).
    27. 27)
      • 46. MC9S12XE Family Reference Manual’, Freescale Semiconductor, Inc., September2010, Rev. 1.23, pp. 11326.
    28. 28)
      • 45. Hopkins, A.B.T., McDonald-Maier, K.D.: ‘Debug support for hybrid SoCs’. Proc. Second NASA/ESA Conf. on Adaptive Hardware and Systems (AHS), Edinburgh, Scotland, UK, August 2007, pp. 195202.
    29. 29)
      • 7. Vermeulen, B., Stollon, N., Kuhnis, R., Swoboda, G., Rearick, J.: ‘Overview of debug standardization activities’, IEEE Des. Test. Comput., 2008, 25, (3), pp. 258267.
    30. 30)
      • 8. Hopkins, A.B.T., McDonald-Maier, K.D.: ‘Debug support for complex systems on-chip: a review’, IEE Proc., Comput. Digit. Tech., 2006, 153, (4), pp. 197207.
    31. 31)
      • 27. Zadegan, F.G., Ingelsson, U., Carlsson, G., Larsson, E.: ‘Test time analysis for IEEE P1687’. Proc. 19th IEEE Asian Test Symp. (ATS), Shanghai, China, December 2010, pp. 455460.
    32. 32)
      • 13. Min-Allah, N., Khan, S., Yongji, W.: ‘Optimal task execution times for periodic tasks using nonlinear constrained optimization’, J. Supercomput., 2010, 59, pp. 11201138.
    33. 33)
      • 15. Myers, G.J.: ‘The art of software testing’ (John Wiley and Sons Inc., New York, USA, 1979, 1st edn.).
    34. 34)
      • 4. IEEE Std 1500-2005: ‘IEEE standard testability method for embedded core-based integrated circuits’, 2005.
    35. 35)
      • 35. MIPS Technologies, Inc.: ‘EJTAG Specification’, 2010.
    36. 36)
      • 28. Higgins, M., MacNamee, C., Mullane, B.: ‘Design and implementation challenges for adoption of the IEEE 1500 standard’, IET Comput. Digit. Tech., 2010, 4, (1), pp. 3849.
    37. 37)
      • 9. Chuang, C.L., Cheng, W.H., Liu, C.N.J., Lu, D.J.: ‘Hybrid approach to faster functional verification with full visibility’, IEEE Des. Test. Comput., 2007, 24, (2), pp. 154162.
    38. 38)
      • 30. Huang, J.R., Iyer, M.K., Cheng, K.T.: ‘A self-test methodology for IP cores in bus-based programmable SoCs’. Proc. 19th IEEE VLSI Test Symp. (VTS), Marina Del Rey, CA, April–May 2001, pp. 198203.
    39. 39)
      • 2. Foster, T.J., Lastor, D.L., Singh, P.: ‘First silicon functional validation and debug of multicore microprocessors’, IEEE Trans. VLSI Syst., 2007, 15, (5), pp. 495504.
    40. 40)
      • 12. Abrial, J.R., Butler, M., Hallerstede, S., Hoang, T., Mehta, F., Voisin, L.: ‘Rodin: an open toolset for modelling and reasoning in event-B’, Int. J. Softw. Tools Technol. Transfer, 2010, 12, pp. 447466.
    41. 41)
      • 31. Krstic, A., Lai, W.C., Cheng, K.T., Chen, L., Dey, S.: ‘Embedded software-based self-test for programmable core-based designs’, IEEE Des. Test. Comput., 2002, 19, (4), pp. 1827.
    42. 42)
      • 44. Larsson, E., Vermeulen, B., Goossens, K.: ‘A distributed architecture to check global properties for post-silicon debug’. Proc. 15th IEEE European Test Symp. (ETS), Prague, Czech Republic, May 2010, pp. 182187.
    43. 43)
      • 20. Jun, P., Lei, S., Siliang, H., Zhang, A.T., Hou, A.C.: ‘Reconfigurable on-chip debugger with a real-time tracer’. Proc. Int. Symp. on Communications and Information Technologies (ISCIT), Sydney, NSW, 2007, pp. 158162.
    44. 44)
      • 48. Kim, M., Viswanathan, M., Kannan, S., Lee, I., Sokolsky, O.: ‘Java-MaC: a run-time assurance approach for Java programs’, Form. Methods Syst. Des., 2004, 24, (2), pp. 129155.
    45. 45)
      • 14. Min-Allah, N., Hussain, H., Khan, S.U., Zomaya, A.Y.: ‘Power efficient rate monotonic scheduling for multi-core systems’, J. Parallel Distrib. Comput., 2012, 72, (1), pp. 4857.
    46. 46)
      • 1. Zorian, Y., Marinissen, E.J., Dey, S.: ‘Testing embedded-core-based system chips’, IEEE Comput., 1999, 32, (6), pp. 5260.
    47. 47)
      • 38. Mayer, A., Siebert, H., McDonald-Maier, K.D.: ‘Debug support, calibration and emulation for multiple processor and powertrain control SoCs [automotive applications]’. Proc. Design, Automation and Test in Europe Conf. and Exhibition (DATE), 2005, pp. 148152.
    48. 48)
      • 29. Lee, K.J., Hsieh, T.Y., Chang, C.Y., Hong, Y.T., Huang, W.C.: ‘On-chip SOC test platform design based on IEEE 1500 standard’, IEEE Trans. VLSI Syst., 2009, 18, (7), pp. 11341139.
    49. 49)
      • 11. Burns, A., Hayes, I.J.: ‘A timeband framework for modelling real-time systems’, Real-Time Syst., 2010, 45, pp. 106142.
    50. 50)
      • MIPS Technologies, Inc.: ‘MIPS PDtrace Specification’, 2009.
    51. 51)
      • Posse, K., Crouch, A., Rearick, J.: `IEEE P1687: toward standardized access of embedded instrumentation', Proc. IEEE Int. Test Conf., October 2006, Santa Clara, CA, p. 1–8.
    52. 52)
      • T. Grötker , U. Holtmann , H. Keding , M. Wloka . (2008) The developer's guide to debugging.
    53. 53)
      • Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: `Runtime assurance based on formal specifications', Proc. Int. Conf. on Parallel and Distributed Processing Techniques and Application (PDPTA), June–July 1999, Las Vegas, Nevada, USA, p. 279–287.
    54. 54)
    55. 55)
    56. 56)
      • Watterson, C., Heffernan, D.: `A runtime verification monitoring approach for embedded industrial controllers', Proc. IEEE Int. Symp. on Industrial Electronics (ISIE), June–July 2008, Cambridge, UK, p. 2016–2021.
    57. 57)
      • N. Stollon , B. Uvacek , G. Laurenti . (2007) Standard debug interface socket requirements for OCP-compliant SoC.
    58. 58)
      • IEEE-ISTO 5001-2003: ‘Nexus 5001 standard for a global embedded processor debug interface’, 2003.
    59. 59)
      • Jun, P., Lei, S., Siliang, H., Zhang, A.T., Hou, A.C.: `Reconfigurable on-chip debugger with a real-time tracer', Proc. Int. Symp. on Communications and Information Technologies (ISCIT), 2007, Sydney, NSW, p. 158–162.
    60. 60)
    61. 61)
      • Watterson, C.: `A monitoring approach to facilitate run-time verification of software in deeply embedded systems', 2010, PhD, Library, University of Limerick, Ireland.
    62. 62)
      • Crouch, A.L.: `IJTAG: the path to organized instrument connectivity', Proc. IEEE Int. Test Conf., October 2007, Santa Clara, CA, p. 1–10.
    63. 63)
    64. 64)
    65. 65)
      • Vermeulen, B., Waayers, T., Bakker, S.: `IEEE 1149.1-compliant access architecture for multiple core debug on digital system chips', Proc. IEEE Int. Test Conf., October 2002, Baltimore, MD, p. 55–63.
    66. 66)
    67. 67)
      • Zadegan, F.G., Ingelsson, U., Carlsson, G., Larsson, E.: `Test time analysis for IEEE P1687', Proc. 19th IEEE Asian Test Symp. (ATS), December 2010, Shanghai, China, p. 455–460.
    68. 68)
      • Hopkins, A.B.T., McDonald-Maier, K.D.: `Trace algorithms for deeply integrated complex and hybrid SoCs', Proc. Second NASA/ESA Conf. on Adaptive Hardware and Systems (AHS), August 2007, Edinburgh, Scotland, United Kingdom, p. 641–646.
    69. 69)
      • W. Orme . (2008) Debug and trace for multicore SoCs.
    70. 70)
      • Stollon, N., Leatherman, R.: `Integrating on chip debug instrumentation and EDA verification tools', Proc. Design Con East, September 2005, Worcester, MA, p. 1–16.
    71. 71)
    72. 72)
    73. 73)
    74. 74)
      • Larsson, E., Vermeulen, B., Goossens, K.: `A distributed architecture to check global properties for post-silicon debug', Proc. 15th IEEE European Test Symp. (ETS), May 2010, Prague, Czech Republic, p. 182–187.
    75. 75)
      • Engblom, J.: `Debugging real-time multiprocessor systems', Proc. Embedded Systems Conf. (ESC), April 2007, San Jose, CA, p. 1–16.
    76. 76)
    77. 77)
      • Scottow, R.G., Hopkins, A.B.T., McDonald-Maier, K.D.: `Instrumentation of real-time embedded systems for performance analysis', Proc. IEEE Instrumentation and Measurement Technology Conf., April 2006, Sorrento, Italy, p. 1307–1310.
    78. 78)
      • ARM limited: ‘embedded trace Macrocell ETMv1.0 to ETMv3.4 architecture specification’, 2007.
    79. 79)
    80. 80)
      • Ley, A.W.: `Doing more with less –an IEEE 1149.7 embedded tutorial: standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture', Proc. IEEE Int. Test Conf., November 2009, Austin, TX, p. 1–10.
    81. 81)
    82. 82)
      • IEEE Std 1149.7-2009: ‘IEEE standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture’, 2009.
    83. 83)
    84. 84)
      • IEEE Std 1149.1-2001: ‘IEEE standard test access port and boundary-scan architecture’, 2001.
    85. 85)
    86. 86)
    87. 87)
      • Huang, J.R., Iyer, M.K., Cheng, K.T.: `A self-test methodology for IP cores in bus-based programmable SoCs', Proc. 19th IEEE VLSI Test Symp. (VTS), April–May 2001, Marina Del Rey, CA, p. 198–203.
    88. 88)
      • MIPS Technologies, Inc.: ‘EJTAG Specification’, 2010.
    89. 89)
      • IEEE Std 1500-2005: ‘IEEE standard testability method for embedded core-based integrated circuits’, 2005.
    90. 90)
      • Mayer, A., Siebert, H., McDonald-Maier, K.D.: `Debug support, calibration and emulation for multiple processor and powertrain control SoCs [automotive applications]', Proc. Design, Automation and Test in Europe Conf. and Exhibition (DATE), 2005, p. 148–152.
    91. 91)
    92. 92)
      • Hopkins, A.B.T., McDonald-Maier, K.D.: `Debug support for hybrid SoCs', Proc. Second NASA/ESA Conf. on Adaptive Hardware and Systems (AHS), August 2007, Edinburgh, Scotland, UK, p. 195–202.
    93. 93)
    94. 94)
    95. 95)
    96. 96)
      • G.J. Myers . (1979) The art of software testing.
    97. 97)
      • ‘MC9S12XE Family Reference Manual’, Freescale Semiconductor, Inc., September 2010, Rev. 1.23, pp. 1–1326.
    98. 98)
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2011.0212
Loading

Related content

content/journals/10.1049/iet-sen.2011.0212
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading