Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. The essence of Bluespec: a core language for rule-based hardware design

The essence of Bluespec: a core language for rule-based hardware design

Thumbnail Image
Download
Name

sgaBackend.pdf

Description
Accepted version
Size

957.58 KB

Format

Unknown

Checksum (MD5)

374d75c6df5b2273faac9699b877c447

sword-2021-07-12T18:06:06.original.xml (130 B)
Original SWORD entry document
Author(s)
Bourgeat, Thomas
•
Pit-Claudel, Clément
•
Chlipala, Adam
•
Arvind, Arvind
Date Issued
June 2020
Journal
PLDI 2020: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation
Publisher
Association for Computing Machinery (ACM)
Citation
Bourgeat, Thomas et al. "The essence of Bluespec: a core language for rule-based hardware design." PLDI 2020: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, June 2020, London, UK, Association for Computing Machinery, June 2020. © 2020 Authors
Version
Author's final manuscript
Abstract
The Bluespec hardware-description language presents a significantly higher-level view than hardware engineers are used to, exposing a simpler concurrency model that promotes formal proof, without compromising on performance of compiled circuits. Unfortunately, the cost model of Bluespec has been unclear, with performance details depending on a mix of user hints and opaque static analysis of potential concurrency conflicts within a design. In this paper we present Koika, a derivative of Bluespec that preserves its desirable properties and yet gives direct control over the scheduling decisions that determine performance. Koika has a novel and deterministic operational semantics that uses dynamic analysis to avoid concurrency anomalies. Our implementation includes Coq definitions of syntax, semantics, key metatheorems, and a verified compiler to circuits. We argue that most of the extra circuitry required for dynamic analysis can be eliminated by compile-time BSV-style static analysis.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
http://creativecommons.org/licenses/by-nc-sa/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/131094.2
DOI of Published Version
https://doi.org/10.1145/3385412.3385965
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.