skip to main content
research-article

Model-driven automation for simulation-based functional verification

Published: 05 July 2012 Publication History

Abstract

Developing testbenches for dynamic functional verification of hardware designs is a software-intensive process that lies on the critical path of electronic system design. The increasing capabilities of electronic components is contributing to the construction of complex verification environments that are increasingly difficult to understand, maintain, extend, and reuse across projects. Model-driven software engineering addresses issues of complexity, productivity, and code quality through the use of high-level system models and subsequent automatic transformations. Reasoning about verification testbench decomposition becomes simpler at higher levels of abstraction. In particular, the aspect-oriented paradigm, when applied at the model level, can minimize the overlap in functionality between modules, improving maintainability and reusability. This article presents an aspect-oriented model-driven engineering process and toolset for the development of hardware verification testbenches. We illustrate how this process and toolset supports modularized design and automatic transformation to verification environment-specific models and source code through an industry case study.

References

[1]
Afonso, F., Silva, C., Brito, N., Montenegro, S., and Tavares, A. 2008. Aspect-Oriented fault tolerance for real-time embedded systems. In Proceedings of the AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS'08). ACM, New York, 1--8.
[2]
Agrawal, A., Karsai, G., Neema, S., Shi, F., and Vizhanyo, A. 2006. The design of a language for model transformations. Softw. Syst. Modeling 5, 261--288.
[3]
Allan, G., Robinson, D., and Sprott, J. 2004. Learn to do verification with AOP? We've just learned OOP! In Proceedings of the Europe, Synopsys User Group Europe (SNUG).
[4]
Bartsch, M. and Harrison, R. 2008. An exploratory study of the effect of aspect-oriented programming on maintainability. Softw. Quality Control 16, 1, 23--44.
[5]
Ben Atitallah, R., Boulet, P., Cuccuru, A., Dekeyser, J.-L., Honoré, A., Labbani, O., Le Beux, S., Marquet, P., Piel, E., Taillard, J., and Yu, H. 2007. Gaspard2 UML profile documentation. Tech. rep. RT-0342, INRIA.
[6]
Bening, L. and Foster, H. 2002. Principals of Verifiable TRL Design, 2nd ed. Kluwer Academic.
[7]
Bergeron, J. 2003. Writing Testbenches - Functional Verification of HDL Models 2 Ed. Springer.
[8]
Bergeron, J., Cerny, E., Hunter, A., and Nightingale, A. 2005. Verification Methodology Manual for SystemVerilog 1 Ed. Springer.
[9]
Bézivin, J., Brunelière, H., Cabot, J., Doux, G., Jouault, F., and Sottet, J.-S. 2010. Model driven tool interoperability in practice. In Proceedings of the 3rd Workshop on Model-Driven Tool & Process Integration (co-located with ECMFA'10). 62--72.
[10]
Bunker, A., Gopalakrishnan, G., and Mckee, S. A. 2004. Formal hardware specification languages for protocol compliance verification. ACM Trans. Des. Autom. Electron. Syst. 9, 1, 1--32.
[11]
Bunse, C., Gross, H.-G., and Peper, C. 2007. Applying a model-based approach for embedded system development. In Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications. IEEE Computer Society, Los Alamitos, CA, 121--128.
[12]
Cadence Design Systems, Inc. 2010. Eda360: The way forward for electronic design. White paper EDA360, San Jose, CA. http://www.cadence.com/eda360.
[13]
Carton, A., Driver, C., Jackson, A., and Clarke, S. 2009. Model-driven theme/UML. Trans. Aspect-Orient. Softw. Devel. 238--266.
[14]
Chidamber, S. R. and Kemerer, C. F. 1994. A metrics suite for object oriented design. IEEE Trans. Softw. Engin. 20, 476--493.
[15]
Clarke, S. and Baniassad, E. 2005. Aspect-Oriented Analysis and Design: The Theme Approach 1st Ed. Object Technology Series. Addison-Wesley.
[16]
Coyle, F. P. and Thornton, M. A. 2005. From uml to hdl: A model driven architectural approach to hardware-software co-design. In Proceedings of Information Systems: New Generations Conference (ISNG). 88--93.
[17]
Dempster, D. and Stuart, M. 2001. Verification Methodology Manual - Techniques for Verifying HDL Designs, 2nd Ed. Teamwork International and TransEDA Limited.
[18]
Diaz-Herrera, J. L., Chadha, J., and Pittsley, N. 2002. Aspect-oriented UML modeling for developing embedded systems product lines. In Proceedings of the Workshop on Aspect-Oriented Modeling with UML (AOSD-2002). O. Aldawud, G. Booch, S. Clarke, T. Elrad, B. Harrison, M. Kandi, and A. Strohmeier, Eds.
[19]
Douglass, B. P. 2008. UML for C. White paper, Telelogic.
[20]
Driver, C., Reilly, S., Linehan, E., Cahill, V., and Clarke, S. 2010. Managing embedded systems complexity with aspect-oriented model-driven engineering. ACM Trans. Embed. Comput. Syst.
[21]
Engel, M. and Spinczyk, O. 2008. Aspects in hardware: What do they look like? In Proceedings of the AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS'08). ACM, New York, 5:1--5:6.
[22]
Filho, F. C., Cacho, N., Figueiredo, E., Maranhão, R., Garcia, A., and Rubira, C. M. F. 2006. Exceptions and aspects: The devil is in the details. In Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT'06/FSE-14). ACM, New York, 152--162.
[23]
Foster, H. 2010. Redefining verification performance. http://blogs.mentor.com/verificationhorizons/blog/2010/08/08/redefining-verification-performance-part-2/.
[24]
Galpin, D., Driver, C., and Clarke, S. 2009. Modelling hardware verification concerns specified in the e language: An experience report. In Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development (AOSD'09). ACM, New York, 207--212.
[25]
Gérard, S., Babau, J.-P., and Champeau, J., Eds. 2005. Model Driven Engineering for Distributed Real-time Embedded Systems. Hermes Science Publishing.
[26]
Gluska, A. and Libis, L. 2009. Shortening the verification cycle with synthesizable abstract models. In Proceedings of the 46th Annual Design Automation Conference (DAC'09). ACM, New York, 454--459.
[27]
Gomes, L., Fernandes, J. M., Gomes, L., and Fernandes, J. M. 2009. Behavioral Modeling for Embedded Systems and Technologies: Applications for Design and Implementation. Information Science Reference - Imprint of IGI Publishing, Hershey, PA.
[28]
Greenwood, P., Bartolomei, T., Figueiredo, E., Dosea, M., Garcia, A., Cacho, N., Sant'Anna, C., Soares, S., Borba, P., Kulesza, U., and Rashid, A. 2007. On the impact of aspectual decompositions on design stability: An empirical study. In Proceedings of the Object-Oriented Programming Conference (ECOOP'07).
[29]
Grose, D. 2010. From contract to collaboration - Delivering a new approach to foundry. In Proceedings of the 47th Annual Design Automation Conference.
[30]
Hamid, M. 2010. Writing efficient testbenches. Tech. rep. XAPP199, Xilinx Corporation. v1.1.
[31]
Hoffman, K. and Eugster, P. 2008. Towards reusable components with aspects: An empirical study on modularity and obliviousness. In Proceedings of the 30th International Conference on Software Engineering (ICSE'08). ACM, New York, 91--100.
[32]
Hollander, Y., Morley, M., and Noy, A. 2001. The e language: A fresh separation of concerns. In Proceedings of the International Conference on Technology of Object-Oriented Languages, 41.
[33]
IEEE Computer Society. 2008. IEEE std 1647-2008, IEEE standard for the functional verification language e. Standard IEEE Std 1647-2008.
[34]
Iman, S. and Joshi, S. 2004. The e Hardware Verification Language. Kluwer Academic, Norwell, MA.
[35]
Jouault, F., Allilaire, F., Bézivin, J., and Kurtev, I. 2008. Atl: A model transformation tool. Sci. Comput. Program. 72, 31--39.
[36]
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., marc Loingtier, J., and Irwin, J. 1997. Aspect-Oriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP'97). Lecture Notes in Computer Science, vol. 1241. Springer, 220--242.
[37]
Koudri, A., Champeau, J., Aulagnier, D., and Soulard, P. 2009. Mopcom/marte process applied to a cognitive radio system design and analysis. In Model Driven Architecture - Foundations and Applications, R. Paige, A. Hartman, and A. Rensink, Eds., Lecture Notes in Computer Science, vol. 5562, Springer, 277--288.
[38]
Krishna, G. and Maddipati, N. 2010. TestBench.in - verification concepts. http://www.testbench.in/.
[39]
Li, L., Coyle, F. P., and Thornton, M. A. 2007. UML to SystemVerilog synthesis for embedded system models with support for assertion generation. In Proceedings of the ECSI Forum on Design Languages.
[40]
Li, W. and Henry, S. 1993. Object-oriented metrics that predict maintainability. J. Syst. Softw. 23, 111--122.
[41]
Linehan, E. and Clarke, S. 2010. Modelling e verification language testbenches in uml 2.0 with theme and marte. Lero Tech. rep. Series Lero-TR-2010-02, Lero - the Irish Software Engineering Research Centre.
[42]
Linehan, E. and Clarke, S. 2011. An aspect-oriented, model-driven approach to functional hardware verification. J. Syst. Archit.
[43]
Loukil, S., Kallel, S., Zalila, B., and Jmaiel, M. 2010. Toward an aspect oriented ADL for embedded systems. In Software Architecture, M. Babar and I. Gorton, Eds., Lecture Notes in Computer Science, vol. 6285, Springer, 489--492.
[44]
McUmber, W. E. and Cheng, B. H. C. 1999. UML-Based analysis of embedded systems using a mapping to VHDL. In Proceedings of the 4th IEEE International Symposium on High-Assurance Systems Engineering (HASE'99). IEEE Computer Society, Los Alamitos, CA, 56--63.
[45]
Miller, J. and Mukerji, J. 2003. MDA Guide Version 1.0.1. Tech. rep., Object Management Group (OMG).
[46]
Munnelly, J., Fritsch, S., and Clarke, S. 2007. An aspect-oriented approach to the modularisation of context. In Proceedings of the 5th IEEE International Conference on Pervasive Computing and Communications (PERCOM'07). IEEE Computer Society, Los Alamitos, CA, 114--124.
[47]
Mura, M., Panda, A., and Prevostini, M. 2008. Executable models and verification from marte and sysml: A comparative study of code generation capabilities. In Proceedings of the Workshop on Modeling and Analyzis of Real-Time and Embedded Systems with the MARTE UML Profile at Design, Automation and Test in Europe (DATE'08).
[48]
Murphy, B. 2010. Best practices for verification, validation, and test in model-based design. http://www.mathworks.com/company/events/webinars/wbnr43247.html.
[49]
Oliveira, M. F. S., Eduardo, W., Bri, A., Nascimento, F. A., and Wagner, F. R. 2007. Model driven engineering for MPSOC design space exploration. In Proceedings of the 20th Annual Conference on Integrated Circuits and Systems Design. 81--86.
[50]
OMG. 2008. A UML profile for MARTE: Modeling and analysis of real-time embedded systems, beta 2. ptc/08-06-09. http://www.omgmarte.org/Documents/Specifications/08-06-09.pdf.
[51]
OMG. 2011a. Object constraint language, v2.3 beta 2. formal/2011-03-01. http://www.omg.org/spec/OCL/2.3/Beta2/.
[52]
OMG. 2011b. UML testing profile. http://utp.omg.org/ (Last accessed 10/11).
[53]
(OMG), O. M. G. 2006. Metaobject facility core specification version 2.0. http://www.omg.org/spec/MOF/2.0/.
[54]
OVM World. 2007. Open verification methodology. http://verificationacademy.com/verification-methodology.
[55]
Pampagnin, P., Moreau, P., Maurice, R., and Guihal, D. 2008. Model driven hardware design: One step forward to cope with the aerospace industry needs. In Proceedings of the Forum on Specification, Verification and Design Languages (FDL'08). 179 --184.
[56]
Pilkington, N., Li, J., and Xie, F. 2009. Eside: An integrated development environment for component-based embedded systems. In Proceedings of the 33rd Annual IEEE International Computer Software and Applications Conference (COMPSAC'09.) 305--314.
[57]
Pimentel, A. D. 2008. The artemis workbench for system-level performance evaluation of embedded systems. Int. J. Embed. Syst. 3, 3, 181--196.
[58]
Porter, J., Karsai, G., Völgyesi, P., Nine, H., Humke, P., Hemingway, G., Thibodeaux, R., and Sztipanovits, J. 2009. Towards model-based integration of tools and techniques for embedded control system design, verification, and implementation. In Proceedings of the Models in Software Engineering: Workshops and Symposia at MODELS'08, Reports and Revised Selected Papers. 20--34.
[59]
Riccobene, E., Scandurra, P., Bocchio, S., Rosti, A., Lavazza, L., and Mantellini, L. 2009. Systemc/c-based model-driven design for embedded systems. ACM Trans. Embed. Comput. Syst. 8, 30:1--30:37.
[60]
Robert, T. and Perrier, V. 2010. A uml design flow aimed at embedded systems. In Proceedings of the EDA Tech Forum.
[61]
Robinson, D. 2008. Aspect-Oriented Programming with the e Verification Language - A Pragmatic Guide for Testbench Developers. Morgan Kaufmann.
[62]
Rouxel, S., Diguet, J.-P., Gogniat, G., Bulteau, N., Carre-Gourdin, J., Goubard, J.-E., and Moy, C. 2005. Uml framework for pim and psm verification of sdr systems. In Proceedings of the Software Defined Radio Technical Conference and Product Exposition (SDR'05).
[63]
Selic, B. 2008. Personal reflections on automation, programming culture, and model-based software engineering. Autom. Softw. Engin. 15, 3-4, 379--391.
[64]
Sendall, S. and Kster, J. 2004. Taming model round-trip engineering. In Best Practices for Model-Driven Software Development.
[65]
Shokry, H. and Hinchey, M. 2009. Model-Based verification of embedded software. Comput. 42, 53--59.
[66]
SynaptiCAD. 2010. Testbencher pro. http://www.syncad.com/testbencher_verilog_vhdl_testbench_generator.htm.
[67]
Synopsys, Inc. 2008. Vcs verification library. http://www.synopsys.com/dw/vcs_verification_library.php (Last accessed 10/00).
[68]
Tala, D. K. 2010. Asic world. http://www.asic-world.com/.
[69]
The Eclipse Foundation. 2010. Eclipse modeling project. http://www.eclipse.org/modeling/.
[70]
Thompson, K. and Williamson, L. 2002. Hardware verification with the unified modeling language and vera. In Proceedings of the Synopsys User Group.
[71]
Varró, D., Varró, G., and Pataricza, A. 2002. Designing the automatic transformation of visual languages. Sci. Comput. Program. 44, 205--227.
[72]
Vax, M. 2010. Where oop falls short of hardware verification needs. In Proceedings of the Design and Verification Conference and Exhibition (DVCon).
[73]
Verisity Design Inc. 2005. Verification reuse methodology - Essential elements for verification productivity gains. White paper. http://www.verisity.com/resources/whitepaper/erm.html.
[74]
Walker, R. J., Baniassad, E. L. A., and Murphy, G. C. 1999. An initial assessment of aspect-oriented programming. In Proceedings of the 21st International Conference on Software Engineering (ICSE'99). ACM, New York, 120--130.
[75]
Wang, L.-T., Chang, Y.-W., and Cheng, K.-T. T., Eds. 2009. Electronic Design Automation: Synthesis, Verification, and Test. Morgan Kaufmann.
[76]
Wehrmeister, M. A., Freitas, E. P., Pereira, C. E., and Wagner, F. R. 2007. An aspect-oriented approach for dealing with non-functional requirements in a model-driven development of distributed embedded real-time systems. In Proceedings of the 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07). IEEE Computer Society, Los Alamitos, CA, 428--432.
[77]
Yogesh, M., Ali, A. B., and Aarti, G. 2009. Verification languages. In Industrial Electronics, CRC Press.
[78]
Yusuf, L., Chessell, M., and Gardner, T. 2006. Implement model-driven development to increase the business value of your it system. developerworks technical library, IBM. http://www.ibm.com/developerworks/library/ar-mdd1/.
[79]
Zurawski, R. 2004. Embedded Systems Handbook. CRC Press, Boca Raton, FL.

Cited By

View all
  • (2013)Enriching MATLAB with aspect-oriented features for developing embedded systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2013.04.00359:7(412-428)Online publication date: 1-Aug-2013

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 17, Issue 3
Special section on verification challenges in the concurrent world
June 2012
377 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/2209291
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 05 July 2012
Accepted: 01 December 2011
Revised: 01 October 2011
Received: 01 December 2010
Published in TODAES Volume 17, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Model-based software engineering
  2. aspect-oriented
  3. code generation
  4. e hardware verification language
  5. function verification
  6. theme/UML

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2013)Enriching MATLAB with aspect-oriented features for developing embedded systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2013.04.00359:7(412-428)Online publication date: 1-Aug-2013

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media