Skip to content

esa-tu-darmstadt/BSVTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Issues MIT License


BSVTools

Useful helpers for Bluespec developers.
Explore the docs »

Report Bug · Request Feature

Table of Contents

About The Project

This project provides helper scripts that can be used to create Bluespec projects. The generated Makefile supports

  • Compile and simulate using Bluesim
  • Compile and simulate using bsc supported Verilog simulators
  • Build IP-XACT Packets for use in Xilinx Vivado

Built With

  • Python 3
  • Bluespec Compiler bsc

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Have the bluespec compiler and Python 3 installed.

Installation

  1. Clone the repo
git clone https://github.com/esa-tu-darmstadt/BSVTools.git
  1. Create a new directory for the Bluespec project
  2. Run the following command to create all necessary files for the Bluespec project. The --test_dir is for big projects where it is better to separate testbench from source code. Optionally specify interfaces which should be added to the Bluespec module with --interfaces <interface> (e.g., for a TaPaSCo PE with memory access use--interfaces tapasco axi-master).
path/to/BSVTools/bsvNew.py PROJECT_NAME [--test_dir]
  1. (Optional) Add libraries to the created library directory (e.g. BlueAXI or BlueLib)

The script creates a number of basic Bluespec modules that can be extended as desired.

On a second machine

BSVTools stores device specific information in the file .bsv_tools. By default this file is excluded from Git using .gitignore. A new .bsv_tools file can be created using:

path/to/BSVTools/bsvAdd.py

Usage

Simulate using Bluesim

make

Simulate using Verilog (Modelsim/Questasim by default)

make SIM_TYPE=VERILOG

Build IP-XACT packet (Needs Vivado in path):

make SIM_TYPE=VERILOG ip

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Embedded Systems and Applications Group - https://www.esa.informatik.tu-darmstadt.de

Project Link: https://github.com/esa-tu-darmstadt/BSVTools

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published