skip to main content
10.1145/1404891.1404895acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

A pointcut-based assertion for high-level hardware design

Published: 31 March 2008 Publication History

Abstract

Verifying very-large-scale integration (VLSI) circuit design using assertions is becoming more common. Herein, an assertion represents a temporal relationship among circuit events over time using temporal logic expression. On the other hand, "high-level design" has also become more common recently. Instead of conventional hardware description languages (HDLs), VLSI designers introduce C-based design languages. Although both of these trends are fairly effective in VLSI development, there is a big gap between these two approaches. Since conventional assertion languages are for conventional HDLs, they only allow specification of change of variables or low-level events raised along with signals. In high-level design, however, there are various high-level events, such as a method call or a state transition which no conventional assertion language can handle.
This paper proposes a new assertion language extension, namely, a pointcut-based assertion that enhances an existing assertion language to make assertions available even in high-level design. We introduce a pointcut notion to specify various events from low-level signal-related ones to high-level state transition-related ones. To conduct proof-of-concept, we designed and implemented two assertion languages with pointcut-based assertions, called ASystemC and ASpecC. ASystemC uses the pointcut expressions in AspectC++, and the implementation also uses the AspectC++ compiler as its back-end. We present feasibility and preliminary evaluation of our approach with ASystemC. ASpecC is designed with practical use in mind and based on the continuation join point model with slight modification to support hardware-specific matters. We show that the model is useful for making pointcut-based assertion more robust.

References

[1]
D. Déharbe and S. Medeiros. Aspect-oriented design in SystemC: implementation and applications. In SBCCI '06: Proceedings of the 19th annual symposium on Integrated circuits and systems design, pages 119--124. ACM, 2006.
[2]
Y. Endoh, H. Masuhara, and A. Yonezawa. Continuation join points. In FOAL '06: Proceedings of the Foundations of Aspect-Oriented Languages Workshop at AOSD 2006, page 1.10, 2006.
[3]
D. D. Gajski, J. Zhu, R. Dömer, A. Gerstlauer, and S. Zhao. SpecC: Specification Language and Methodology. 2000.
[4]
T. Grotker. System Design with SystemC. 2002.
[5]
IEEE. Std 1076-2000: IEEE Standard VHDL Language Reference Manual, 2000.
[6]
IEEE. IEEE 1850 Standard for Property Specification Language (PSL), 2005.
[7]
IEEE. IEEE Standard for SystemVerilog-Unified Hardware Design, Specification, and Verification Language, 2005.
[8]
InterDesign Technologies, Inc. Visualspec. http://www.interdesigntech.co.jp/english/.
[9]
A. Kasuya. Verification applications of aspect-oriented-programming. In Proceedings of the Design and Verification Conference and Exhibition (DVCon), 2004.
[10]
A. Kasuya and T. Tesfaye. Verification methodologies in a TLM-to-RTL design flow. In DAC '07: Proceedings of the 44th annual conference on Design automation, pages 199--204. ACM, 2007.
[11]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. Lecture Notes in Computer Science, 2001.
[12]
H. Masuhara, Y. Endoh, and A. Yonezawa. A fine-grained join point model for more reusable aspects. In APLAS, pages 131--147. Springer, 2006.
[13]
B. Niemann and C. Haubelt. Assertion based verification of transaction level models. In ITG/GI/GMM Workshop, pages 232--236, 2006.
[14]
Open SystemC Initiative. SystemC 2.0 Language Reference Manual. OSCI, 2003.
[15]
A. Pnueli. The temporal logic of programs. In 18th IEEE Symposium on Foundation of Computer Science, pages 46--57, 1977.
[16]
O. Spinczyk, A. Gal, and W. Schröder-Preikschat. AspectC++: an aspect-oriented extension to the C++ programming language. In CRPIT '02: Proceedings of the Fortieth International Conference on Tools Pacific, pages 53--60, 2002.
[17]
V. Stolz and E. Bodden. Temporal assertions using AspectJ, 2005.
[18]
D. E. Thomas and P. R. Moorby. The Verilog hardware description language (4th ed.). 1998.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACP4IS '08: Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
March 2008
62 pages
ISBN:9781605581422
DOI:10.1145/1404891
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 March 2008

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

AOSD08

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)1
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media