Introduction: Building a Bluespec LED Controller Using Connectal Build

This tutorial explains how to use the public Connectal Build service to build and simulate an application with hardware and software components written in BSV and C++ using the Connectal Framework.

We assume that you will store your design sources in a publicly available Git repository such as Github. The build service, which is based on buildbot, automatically builds your project when it detects changes. If you are simulating your design, the build service runs the applications and displays the logs automatically.

Using other tutorials, you can build a software executable and FPGA .bit file for the Zedboard, program the FPGA, and download and run the software.

Step 1: What You Will Need

  1. A account
  2. A web browser

Step 2: Create Your Git Repository

We're going to modify and build an existing example. ConnectalBuild builds from github repositories, so we're going to create a personal repo by forking the example.

Browse to and press the fork button to create your own copy.

Step 3: Login to Connectal Build

Now browse to the build service at and login using your github username and password.

Step 4: Add Your Project to Connectal Build

After logging in, click the "Add Project" link to add your project to be built.

Step 5: Open Testled.cpp to Edit

Now that you have your own personal repo for the example, you can modify the application. Click on the testleds.cpp link so that you can edit the file.

Step 6: Edit the Application

The Connectal build service will build the application whenever it changes.

Let's edit it from the web interface.

Step 7: Connectal Build Will Build and Simulate the Application

Navigate to the waterfall view: It may take a minute for the service to notice the change to your repo. Once it begins building, you will see the status changing. As we can see in the first picture, it is building the application. In the next picture we can see it running the application and in the last picture we can see the output from the application.