Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Abstraction in Hardware System Design: Applying lessons from software languages to hardware languages using Bluespec SystemVerilog

Published: 18 August 2011 Publication History

Abstract

The history of software engineering is one of continuing development of abstraction mechanisms designed to tackle ever-increasing complexity. Hardware design, however, is not as current. For example, the two most commonly used HDLs date back to the 1980s. Updates to the standards lag behind modern programming languages in structural abstractions such as types, encapsulation, and parameterization. Their behavioral semantics lag even further. They are specified in terms of event-driven simulators running on uniprocessor von Neumann machines.

References

[1]
Adve, S. 2010. Data races are evil with no exceptions. Communications of the ACM 53(11): 84.
[2]
Bergeron, J., Cerny, E., Hunter, A., Nightingale, A. 2006. Verification Methodology Manual forSystemVerilog. Springer.
[3]
Burger, D., Emer, J., Hoe, J. C., Chiou, D., Sendag, R., Yi, J. J. 2010. The future of architecturalsimulation. IEEE Micro (May/June): 8-18.
[4]
Chandy, K., Misra, J. 1988. Parallel Program Design: A Foundation. Addison Wesley.
[5]
Coussy, P., and A. Morawiec, eds. 2008. High-Level Synthesis: from Algorithm to Digital Circuit.Springer.
[6]
Dijkstra, E. W. 1975. Guarded commands, nondeterminacy and formal derivation of programs.Communications of the ACM 18(8): 453-457.
[7]
Edwards, S. A. 2006. The challenge of synthesizing hardware from C-like languages. IEEE Designand Test of Computers 23(5).
[8]
Hoe, J. C. 2000. Operation-centric hardware description and synthesis. Ph.D. thesis, MIT.
[9]
IEEE. 2002. IEEE Standard VHDL Language Reference Manual. IEEE Std 1076-1993.
[10]
IEEE. 2005. IEEE Standard for System Verilog-Unified Hardware Design, Specification andVerification Language. IEEE Std 1800-2005.
[11]
IEEE. 2005. IEEE Standard SystemC Language Reference Manual. IEEE Std 1666-2005.
[12]
IEEE. 2005. IEEE Standard Verilog Hardware Description Language. IEEE Std 1364-2005.
[13]
Klop, J. 1992. Term Rewriting Systems, vol. 2. Oxford University Press, 1-116.
[14]
Lamport, L. 2002. Specifying Systems: The TLA+ Language and Tools for Hardware and SoftwareEngineers. Addison-Wesley Professional (Pearson Education).
[15]
Lee, E. A. 2006. The problem with threads. IEEE Computer 39(5): 33-42.
[16]
Metayer, C., Abrial, J.-R., Voisin, L. 2005. The Event-B Language http://rodin.cs.ncl.ac.uk/deliverables.htm.
[17]
Milner, R., Tofte, M., Harper, R., MacQueen, D. 1997. The Definition of Standard ML (revised).Cambridge, MA: MIT Press.
[18]
Nikhil, R. S., Czeck, K. R. 2010. BSV by Example. CreateSpace.
[19]
OSCI. 2009. OSCI TLM-2.0 Language Reference Manual; www.systemc.org.
[20]
Peyton Jones, S., ed. 2003. Haskell 98 Language and Libraries: The Revised Report. Cambridge:Cambridge University Press; www.haskell.org.
[21]
Singh. S. 2011. Computing without processors. Communications of the ACM 54(8): 46-54.
[22]
Williams, R. 2010. Photoshop scalability: Keeping it simple. Communications of the ACM 53(10):36.

Cited By

View all
  • (2019)RegionSeeker: Automatically Identifying and Selecting Accelerators From Application Source CodeIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2018.281868938:4(741-754)Online publication date: Apr-2019
  • (2016)A programming model for reconfigurable computing based in functional concurrency2016 11th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC)10.1109/ReCoSoC.2016.7533911(1-8)Online publication date: Jun-2016
  • (2015)Research Infrastructures for Hardware AcceleratorsSynthesis Lectures on Computer Architecture10.2200/S00677ED1V01Y201511CAC03410:4(1-99)Online publication date: 18-Nov-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Queue
Queue  Volume 9, Issue 8
Data
August 2011
54 pages
ISSN:1542-7730
EISSN:1542-7749
DOI:10.1145/2016036
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

Publication History

Published: 18 August 2011
Published in QUEUE Volume 9, Issue 8

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Editor picked

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2,844
  • Downloads (Last 6 weeks)269
Reflects downloads up to 17 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2019)RegionSeeker: Automatically Identifying and Selecting Accelerators From Application Source CodeIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2018.281868938:4(741-754)Online publication date: Apr-2019
  • (2016)A programming model for reconfigurable computing based in functional concurrency2016 11th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC)10.1109/ReCoSoC.2016.7533911(1-8)Online publication date: Jun-2016
  • (2015)Research Infrastructures for Hardware AcceleratorsSynthesis Lectures on Computer Architecture10.2200/S00677ED1V01Y201511CAC03410:4(1-99)Online publication date: 18-Nov-2015
  • (2013)FPGA Programming for the MassesQueue10.1145/2436696.244383611:2(40-52)Online publication date: 22-Feb-2013
  • (2013)FPGA programming for the massesCommunications of the ACM10.1145/2436256.243627156:4(56-63)Online publication date: 1-Apr-2013

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Magazine Site

View this article on the magazine site (external)

Magazine Site

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media