GithubHelp home page GithubHelp logo

00mjk / bsc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from b-lang-org/bsc

0.0 0.0 0.0 36.67 MB

Bluespec Compiler (BSC)

License: Other

Makefile 0.93% Shell 0.57% Bluespec 38.65% C 0.66% Haskell 32.78% Verilog 7.13% Perl 0.16% Tcl 0.75% Roff 0.02% C++ 2.85% Emacs Lisp 7.14% Smalltalk 0.03% Dockerfile 0.01% Python 0.02% Batchfile 0.07% SuperCollider 0.17% SystemVerilog 3.33% VHDL 4.58% HTML 0.17% sed 0.01%

bsc's Introduction

Bluespec Compiler

Version License Build Status

CommunityDownloadDocumentationBuildTest


Compiler, simulator, and tools for the Bluespec Hardware Description Language. Bluespec is a single language for hardware designs that comes in two syntactic flavors, which are interchangeable:

  • Bluespec SystemVerilog (BSV)
  • Bluespec Haskell (BH, or "Bluespec Classic")

Bluespec is a high-level hardware description language. It has a variety of advanced features including a powerful type system that can prevent errors prior to synthesis time, and its most distinguishing feature, Guarded Atomic Actions, allow you to define hardware components in a modular manner based on their invariants, and let the compiler pick a scheduler.

The toolchain was under development by Bluespec Inc for almost 20 years, and has been proven repeatedly in production designs like Flute, Piccolo, and Shakti.

The Bluespec compiler bsc emits standard Verilog for maximum compatibility with any synthesis toolchain and comes with an included simulator ("bluesim"), standard library, and TCL scripting support ("bluetcl").

The repository is still evolving. We welcome your feedback, issue reports, and pull requests.

A separate repository, bsc-contrib, exists for sharing libraries and utilities that don't (or don't yet) belong in the core tools.

A graphical environment for using BSC is available in a separate bdw repository. BDW (the BSC Development Workstation) provides a number of tools, including the ability to view simulation waveforms as source-level values.


Community

To receive announcements about BSC and related projects, subscribe to [email protected].

For questions and discussion about BSC source, subscribe to the developers' mailing list [email protected].

For any questions or discussion about Bluespec HDLs, using BSC, or related projects, subscribe to [email protected].

IRC users might try joining the #bluespec channel on Libera.Chat.

There's also a bluespec tag on StackOverflow.

And we've enabled the Discussions tab in this GitHub repo. This is a new feature to support discussion within the project itself. Feel free to give it a try and see if it can be useful to our community.


Download

For the following systems, the Bluespec toolchain is available as a package that can be installed with the standard package manager:

If a package exists for your system, we recommend installing that. Otherwise, a tar-archive may be available for download from our Releases page. Install instructions can be found inside the tar-file.

If a pre-built tar-file does not exist for your system, you will need to compile BSC from source.


Documentation

More details on using BSC, Bluesim, and Bluetcl can be found in the BSC User Guide.

The standard libraries that come with BSC are documented in the BSC Libraries Reference Guide.

The sources for both of these documents are found in the doc directory of this repo. Pre-built PDF files can be downloaded from the Releases page.

Language documentation, training, and tutorials can be found in the BSVlang repository.


License

The Bluespec toolchain is provided by Bluespec Inc and available under the BSD-3-Clause license. The source code also includes several other components under various license agreements (all of it open/copyleft software). See COPYING for copyright and license details.

bsc's People

Contributors

arichardson avatar arjenroodselaar avatar benycze avatar bpfoley avatar bracketmaster avatar brooksbp avatar carledmangoogle avatar cbiffle avatar chenm001 avatar cyrozap avatar davidchisnall avatar dnm avatar dramforever avatar flokli avatar hliebel avatar jinwoo avatar jonwoodruff avatar jrtc27 avatar krame505 avatar mtikekar avatar nanavati avatar ncihnegn avatar omasanori avatar proffan avatar quark17 avatar rsnikhil avatar thotypous avatar thoughtpolice 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.