Abstract
The development of more and more complex embedded systems constitutes a very challenging task for EDA experts, due to their HW/SW-mixed nature joint to the high demand for quality and reliability. Recently, both industrial engineers and academic researchers have developed a very large number of techniques for dynamic verification in terms of co-simulation, which, in particular, address the different nature of hardware and software components of an embedded system. However, a widely accepted methodology does not exist. Thus, this paper is intended to provide a general view on simulation-based modeling and verification strategies for developing embedded systems. In particular, the paper is focussed on describing state-of-the art co-simulation approaches and verification strategies based on fault simulation and assertion checking.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Wolf, W.: What is embedded computing? IEEE Computer 35(1), 136–137 (2002)
Ernst, R.: Codesign of embedded systems: Status and trends. IEEE Design and Test of Computers 15(2), 45–54 (1998)
Bergamaschi, R.A., Cohn, J.: The a to z of socs. In: IEEE, pp. 791–798 (2002)
Sze, S.M.: Physics of Semiconductor Devices. John Wiley and Sons, Chichester (1981)
Hall, S., Hall, G., McCall, J.: High-Speed Digital System Design: A Handbook of Interconnect Theory and Design Practices. John Wiley and Sons, Chichester (2000)
Benini, L., Poncino, M.: Ambient intelligence: a computational platform perspective. In: Ambient intelligence: impact on embedded system design, pp. 31–50. Kluwer Academic Publishers, Dordrecht (2003)
Sangiovanni-Vincentelli, A., Martin, G.: Platform-based design and software design methodology for embedded systems. IEEE Design and Test of Computers 18, 23–33 (2001)
Cai, L., Gajski, D.: Transaction level modeling: An overview. In: IEEE CODES + ISSS, pp. 19–24 (2003)
Ghenassia, F., et al.: Using Transactional Level Models in a SoC Design Flow. Kluwer Academic Publishers, Dordrecht (2003)
Donlin, A.: Transaction level modeling: Flows and use models. In: IEEE CODES + ISSS, pp. 75–80 (2004)
Kogel, T., Haverinen, A., Aldis, J.: Ocp tlm for architectural modeling. OCP methodology guideline (2005), http://www.ocpip.org
Rose, A., Swan, S., Pierce, J., Fernandez, J.M.: Transaction level modeling in systemc. White paper (2004), http://www.systemc.org
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines - a aurvey. Proc. of the IEEE 84(8), 1090–1123 (1996)
Valenzano, A., Sisto, R., Ciminiera, L.: An abstract execution model for basic lotos. IEEE Software Engeneering Journal 5(6), 311–318 (1990)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)
Cortes, L., Eles, P., Peng, Z.: Hierarchical modeling and verification of embedded systems. In: Proc. of IEEE Euromicro Symposium on Digital System Design, pp. 63–70 (2001)
Gomes, L., Barros, J.P.: On structuring mechanisms for petri nets based systems design. In: IEEE, pp. 431–438 (2003)
Ernst, R., Jerraya, A.A.: Embedded system design with multiple languages. In: Proc. of IEEE Conference on Asia and South Pacific Design Automation, pp. 391–396 (2000)
Inc.: (SystemC User’s Guide), http://www.systemc.org
Armstrong, J., Gray, F.: VHDL Design Representation and Synthesis. Prentice-Hall, Englewood Cliffs (2000)
Sagdeo, V.: The Complete Verilog Book. Kluwer Academic Publishers, Dordrecht (1998)
Breuer, M., Abramovici, M., Friedman, A.: Digital Systems Testing and Testable Design. IEEE Press, Los Alamitos (1990)
Gajski, D., Dutt, N., Allen, S., Wu, C., Lin, Y.: High-Level Synthesis: Introduction to Chip and System Design, 1st edn. Kluwer Academic Publishers, Dordrecht (1992)
Bergeron, J.: Writing Testbenches: Functional Verification of HDL Models. Kluwer Academic Publishers, Norwell Massachusetts (2000)
Buck, J., Ha, S., Lee, E., Messerschmitt, D.: Ptolemy: A framework for simulating and prototyping heterogeneous systems. International Journal in Computer Simulation 4(2), 155–182 (1994)
Balarin, F., Chiodo, M., Giusto, P., Hsieh, H., Jurecska, A., Lavagno, L., Passerone, C., Sangiovanni-Vincentelli, A., Sentovich, E., Suzuki, K., Tabbara, B.: Hardware-Software Co-Design of Embedded Systems: The Polis Approach. Kluwer Academic Press, Dordrecht (1997)
Synopsys Inc.: (Eaglei), http://www.synopsys.com/products
Mentor Graphics Inc.: (Seamless CVE), http://www.mentor.com/seamless
Liem, C., Nacabal, F., Valderrama, C., Paulin, P., Jerraya, A.: System-on-chip co-simulation and compilation. IEEE Design and Test of Computers 14(2), 16–25 (1997)
Valderrama, C., Nacabal, F., Paulin, P., Jerraya, A.: Automatic vhdl-c interface generation for distributed co-simulation: Application to large design examples. Design Automation for Embedded Systems 3(2/3), 199–217 (1998)
Coste, P., Hessel, F., Marrec, P.L., Sugar, Z., Romdhani, M., Suescun, R., Zergainoh, N., Jerraya, A.: Multilanguage design of heterogeneous systems. In: Proc. of IEEE International Workshop on Hardware-Software Codesign, pp. 54–58 (1999)
Benini, L., Bertozzi, D., Bruni, D., Drago, N., Fummi, F., Poncino, M.: Systemc co-simulation and emulation of multi-processor soc designs. IEEE Computer 36(4), 53–59 (2003)
Liu, J., Lajolo, M., Sangiovanni-Vincentelli, A.: Software timing analysis using hw/sw co-simulation and instruction set simulator. In: Proc. of IEEE International Workshop on Hardware/Software Co-design, pp. 65–69 (1998)
Semeria, L., Ghosh, A.: Methodology for hardware/software co-verification in c/c++. In: Proc. of IEEE Asian and South Pacific Design Automation Conference (ASP-DAC), pp. 405–408 (2000)
Lahiri, K., Raghunathan, A., Lakshminarayana, G., Dey, S.: Communication architecture tuners: a methodology for the design of high-performance communication architectures for system-on-chips. In: Proc. of ACM/IEEE Design Automation Conference (DAC), pp. 513–518 (2000)
Fummi, F., Martini, S., Perbellini, G., Poncino, M.: Native iss-systemc integration for the co-simulation of multi-processors soc. In: Proc. of IEEE Design Automation and Test in Europe, pp. 564–569 (2004)
Moussa, I., Grellier, T., Nguyen, G.: Exploring sw performance using soc transaction-level modelling. In: Proc. of IEEE Design Automation and Test in Europe, pp. 120–125 (2003)
(Gnu project web server), http://www.gnu.org/software/
Yoo, S., Bacivarov, I., Bouchhima, A., Paviot, Y., Jerraya, A.: Building fast and accurate sw simulation models based on hardware abstraction layer and simulation environment abstraction layer. In: Proc. of IEEE Design Automation and Test in Europe, pp. 550–555 (2003)
Bacivarov, I., Yoo, S., Jerraya, A.: Timed hw-sw cosimulation using native execution of os and application sw. In: Proc. of IEEE International High Level Design Validation and Test Workshop, pp. 51–56 (2002)
Formaggio, L., Fummi, F., Pravadelli, G.: A timing-accurate hw/sw co-simulation of an iss with systemc. In: Proc. of IEEE International Conference on Hardware/Software Codesign and System Synthesis, pp. 152–157 (2004)
Myers, G.: The Art of Software Testing. Wiley - Interscience, New York (1979)
Ghosh, S., Chakraborty, T.: On behavior fault modeling for digital designs. International Journal of Electronic Testing: Theory and Applications 2(2), 135–151 (1991)
Breuer, M., Abramovici, M., Friedman, A.: Digital Systems Testing and Testable Design. IEEE Press, Los Alamitos (1990)
Synopsys Inc.: Assertion-based verification. White paper (2003), http://www.synopsys.com
Hoskote, Y., Kam, T., Ho, P.H., Zao, X.: Coverage estimation for symbolic model checking. In: Proc. of ACM/IEEE DAC, pp. 300–305 (1999)
Katz, S., Grumberg, O., Geist, D.: Have i written enough properties? - a method of comparison between specification and implementation. In: Proc. of IFIP CHARME, pp. 280–297 (1999)
Chockler, H., Kupferman, O., Kurshan, R.P., Vardi, M.Y.: A practical approach to coverage in model checking. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 66–78. Springer, Heidelberg (2001)
Jayakumar, N., Purandare, M., Somenzi, F.: Dos and don’ts of ctl state coverage estimation. In: Proc. of ACM/IEEE DAC, pp. 292–295 (2003)
Fummi, F., Pravadelli, G., Toto, F.: Coverage of formal properties based on a high-level fault model and functional ATPG. In: IEEE ETS, pp. 162–167 (2005)
Abarbanel, Y., Beer, I., Gluhovsky, L., Keidar, S., Wolfsthal, Y.: FOCS - automatic generation of simulation checkers from formal specifications. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 538–542. Springer, Heidelberg (2000)
Brahme, D., Cox, S., Gallo, J., Glasser, M., Grundmann, W., Ip, C.N., Paulsen, W., Pierce, J., Rose, J., Shea, D., Whiting, K.: The transaction-based verification methodology. Technical Report CDNL-TR-2000-0825, Cadence Berkeley Labs (2000)
Norris Ip, C., Swan, S.: A tutorial introduction on the new systemc verification standard. White paper (2003), http://www.systemc.org
Bombieri, N., Fedeli, A., Fummi, F.: On psl properties re-use in soc design flow based on transactional level modeling. In: IEEE MTV (2005)
Jindal, R., Jain, K.: Verification of transaction-level systemc models using rtl testbenches. In: ACM/IEEE MEMOCODE, pp. 199–203 (2003)
Bombieri, N., Fummi, F., Pravadelli, G.: On the evaluation of transactor-based verification for reusing tlm assertions and testbenches at rtl. In: IEEE DATE (2006)
Fin, A., Fummi, F.: LAERTE++: An Object Oriented High-Level TPG for SystemC Designs. Kluwer Academic Publishers, Dordrecht (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bombieri, N., Fummi, F., Pravadelli, G. (2006). Hardware Design and Simulation for Verification. In: Bernardo, M., Cimatti, A. (eds) Formal Methods for Hardware Verification. SFM 2006. Lecture Notes in Computer Science, vol 3965. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11757283_1
Download citation
DOI: https://doi.org/10.1007/11757283_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34304-2
Online ISBN: 978-3-540-34305-9
eBook Packages: Computer ScienceComputer Science (R0)