Giter VIP home page Giter VIP logo

documentation's Introduction

Main


January 31 2020 bulletin: On January 31, 2020, Bluespec, Inc. released the bsc compiler for BSV/BH in free, open-source form. The contents of this repository will move there soon (a month or so).


Work-in-progress note (Jan 31, 2020): This repo was created quite some time ago as an open-source resource for BSV/BH language artefacts (language manuals, tutorials, etc.). This was because (a) the languages have long been open (others were/are free to create their own implementations if they wish), and (b) the bsc compiler has always been free for academic teaching and research.

Now that bsc has also been open-sourced, the content of this repo will be moved to that repo in Q1 2020.

At the moment the BH ("Bluespec Classic") content here is quite sketchy (Language_Spec/Bluespec_Classic.pdf and Tutorials/Bluespec_Classic_Training). This is because for many years, everybody only used BSV, not BH. Recently there has been a renewed interest in BH, and we plan to support BSV and BH as equal partners, we plan to bring the BH material up to par with the BSV material (Q1 2020). In the meanwhile, if you are using BH, you may be able to answer any question you have by looking at the corresponding BSV material (it's the same language, just a different syntax).

Thank you for your patience.


This is a repository for open source Bluespec BSV and BH.

Bluespec BSV and and BH are one High Level Hardware Design Language (HL-HDL) with two optional syntaxes:

  • BSV is "Bluespec SystemVerilog-ish": syntax inspired by SystemVerilog.

  • BH is "Bluespec Haskell-ish", (a.k.a. Bluespec Classic): syntax inspired by Haskell.

You can freely mix-and-match syntaxes at the file (package) granularity.

The language was developed at Bluespec, Inc. (www.bluespec.com) and previously at Sandburst Corp., with roots in research at MIT in the 1990s. It draws its primary inspirations from:

  • Term Rewriting Systems (to express complex concurrent behavior), and

  • Haskell (to express complex, strongly-typed structure).

The language specification (included here) is open, i.e., people are free to create their own implementations (simulators, synthesis tools, etc.).

On Feb 26, 2010, at a "SystemVerilog Requirements Gathering Meeting" conducted by the IEEE P1800 SystemVerilog Standards Committee in San Jose, Bluespec, Inc. offered to donate the entire BSV Language for incorporation into the next revision of the SystemVerilog standard, but the offer did not meet the priority threshold of the members present. [See Bluespec's offer here.]

The Language_Spec directory contains

  • the BSV Reference Guide, which is the principal language definition and specification of BSV

  • the Bluespec Classic language definition

The Tutorials directory contain training materials, a PDF book, and example designs, ranging from very simple to complex.


Also of interest

Three examples of complex designs done in BSV are Bluespec, Inc.'s open-source RISC-V CPU designs, at:

All three implement RV64 instruction sets, the AIMFDC RISC-V extensions, and Machine, Supervisor and User privilege modes (including virtual memory), and are capable of booting Linux. Piccolo and Flute can also be compiled for RV32, and all the extensions are optional (including Supervisor mode and virtual memory), so can be built in very small configurations for Embedded/IoT applications.

All three can be built out-of-the-box and will run RISC-V binaries.

documentation's People

Contributors

rsnikhil avatar bsvlang avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.