Bluespec, Inc. provides tools
for chip design (ASICs and FPGAs) that draw much inspiration from
Term Rewriting Systems and Haskell. Bluespec also
uses Haskell to implement many of its tools.
Bluespec's products include synthesis, simulation and other tools for two languages:
Both languages are based on a common semantic model: hardware behavior
is expressed using Rewrite Rules, and inter-module
communication is expressed using Rule-based Interface Methods
(which allow rules to be composed from fragments that span module
boundaries). Because rules are atomic, they eliminate a majority of
the "timing errors" and "race conditions" that plague current hardware
design using existing RTL languages like Verilog or VHDL. Rules also
enable powerful reasoning about the functional correctness of systems.
In other words, the concurrency model provided by rules is much more
powerful and abstract than the low-level concurrency models provided
by Verilog, VHDL and SystemC.
- Bluespec SystemVerilog (BSV)
- ESE (ESL Synthesis Extensions to SystemC)
BSV incorporates Haskell-style polymorphism and overloading
(typeclasses) into SystemVerilog's type system. BSV also treats
modules, interfaces, rules, etc. as first-class objects, permitting
very powerful static elaboration (including recursion).
Bluespec tools synthesize rules into clocked synchronous hardware
descriptions (in Verilog RTL) that can be simulated or further
synthesized to netlists using industry standard tools. This automates
the generation of control logic to manage complex concurrent state
update, a major source of errors in current design methodology where
this logic must be manually coded by the designer.
Bluespec is a member of standards committees like IEEE P1800
(SystemVerilog) and IEEE P1666 (SystemC), where it tries to encourage
adoption of the declarative programming ideas in BSV and ESE. The
constructs for "tagged unions (algebraic types) and pattern matching"
in the current IEEE SystemVerilog standard were contributed by
14-16 Spring St., 2nd Flr, Waltham, MA 02451, USA
Phone: +1 (781) 250 2200
Email: nikhil at bluespec.com, stoy at bluespec.com
See website for additional contacts, including Silicon Valley, Europe, India, and Taiwan.
- Incorporated: 2003
- Users: Several major semiconductor companies (see
Bluespec website or contact Bluespec for details) and several
universities: MIT, CMU, UT Austin, Virginia Tech, Indian Institute
of Science, U.Tokyo.
- In use: Since 2004 for Bluespec SystemVerilog. Since 2006 for ESE (SystemC)
- Platform requirements: Runs under various flavors of x86
Linux. ESE requires SystemC installation, available free from
OSCI (Open SystemC Initiative).
- Free ESE: A version of ESE, our SystemC-based product,
that supports basic TRS rule simulation (i.e., without
clock-scheduling, and without synthesis), is available with
registration, for free, from www.bluespec.com,
complete with documentation, examples and training material.
- Commercial users: Please contact Bluespec, Inc.
- Academic users: Bluespec provides academic
licenses that allow unlimited use of BSV and ESE tools within an
academic institution for research and teaching, for a very nominal
fee. Please contact Bluespec, Inc..
- Related publications:
A full set of training videos encompassing 12 lectures for Bluespec SystemVerilog is
available for free from the
"Demos on Demand"
- See detailed
list of publications
on Bluespec's web site.
Summer internships: Please contact Bluespec.
- Tool information of interest to FP community: Several Bluespec tools
are written in Haskell (about 70K lines)
and are compiled by the Glasgow Haskell Compiler.
Some historical notes and acknowledgements: Prof. Arvind of MIT
has been associated with Bluespec from the beginning. The technology
for synthesizing from Term Rewriting Systems to competitive RTL was
originally developed by James Hoe and Arvind at MIT in the late 1990s.
At Sandburst Corp., during 2000-2003, Lennart Augustsson was the
principal designer of "Bluespec Classic", the first "industrial
strength" variant of the language, with Rishiyur Nikhil, Joe Stoy,
Mieszko Lis and Jacob Schwartz contributing to language and tool
development and use. The latter four continued work on BSV and ESE at
Bluespec, Inc. from 2003 with additional contributions from Ravi
Nanavati, Ed Czeck, Don Baltus, Jeff Newbern, Elliot Mednick and
several summer interns.