bluespec.com Forum Index bluespec.com
Bluespec Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

BSV Design Examples

 
Post new topic   Reply to topic    bluespec.com Forum Index -> Bluespec SystemVerilog (BSV) Documents, Examples and Technical White Papers
View previous topic :: View next topic  
Author Message
kczeck



Joined: 30 Apr 2007
Posts: 68

PostPosted: Mon Apr 30, 2007 10:47 am    Post subject: BSV Design Examples Reply with quote

This topic contains more complex examples using features of Bluespec SystemVerilog.
Back to top
View user's profile Send private message
kczeck



Joined: 30 Apr 2007
Posts: 68

PostPosted: Mon Apr 30, 2007 10:51 am    Post subject: Vending Machine Reply with quote

This package implements a vending machine which accepts 10-cent and 50-cent input coins, and dispenses a 50-cent packet of chewing gum whenever there is sufficient money in the machine. There is a "money back" button which returns any remaining credit. The machine is allowed to refuse input (i.e. it might refuse to accept a coin, or refuse to allow the "money back" button to be pressed). Money is always returned as 10-cent coins; it is ssumed that the supply of such coins never runs out.

It might be worth noting that this design, and the test program to drive it (TestVending.bsv) was originally drafted as a working design in less than an hour. The design has been slightly altered since then, and most of the commentary has also been added later.



BSVvending.tar.gz
 Description:
Tar file containing a Vending.bsv file with the BSV code and a TestVending.bsv file for the testbench that drives it.

Download
 Filename:  BSVvending.tar.gz
 Filesize:  3.91 KB
 Downloaded:  3297 Time(s)

Back to top
View user's profile Send private message
kczeck



Joined: 30 Apr 2007
Posts: 68

PostPosted: Mon Apr 30, 2007 11:06 am    Post subject: Design by Refinement of An Interconnect Reply with quote

This example takes a functionally correct, executable, synthesizable design and refines it to greater levels of complexity. Each refinement is a local change, which keeps the rest of the code intact. All four versions are fully synthesizable. The tar file includes documentation and full BSV source code for all four versions, along with testbenches.


DesignbyRefinement.tar.gz
 Description:
Tar file containing Design by Refinement documentation and all BSV examples.

Download
 Filename:  DesignbyRefinement.tar.gz
 Filesize:  180.88 KB
 Downloaded:  2818 Time(s)


design_by_refinement.pdf
 Description:
Documentation for Design by Refinement example.

Download
 Filename:  design_by_refinement.pdf
 Filesize:  173.7 KB
 Downloaded:  2690 Time(s)

Back to top
View user's profile Send private message
kczeck



Joined: 30 Apr 2007
Posts: 68

PostPosted: Mon Apr 30, 2007 11:14 am    Post subject: DMA Controller Reply with quote

This example starts with a simple 1 channel 1 bus DMA controller and refines it to a 2 channel 2 port model, with pipelined and concurrent transactions. The tar file contains a presentation describing the design, code for the original design (v0) and 4 refinements (v1,v2,v3 and v4). Each version of the design has the full BSV source code along with testbenches and expected results.


DMA_refinement.tar.gz
 Description:
Tar file containing presentation and BSV source code for DMA controller example.

Download
 Filename:  DMA_refinement.tar.gz
 Filesize:  76.82 KB
 Downloaded:  2608 Time(s)

Back to top
View user's profile Send private message
kczeck



Joined: 30 Apr 2007
Posts: 68

PostPosted: Mon Apr 30, 2007 11:18 am    Post subject: Parameterized Model of a Crossbar Swtich Reply with quote

This example outlines the design of a highly parameterized butterfly switch design (crossbar switch). You'll find this design to be both succinctly written and fully synthesizable into a high-performance implementation. The paper includes a description of the design problem as well as the solution, including source code for the design and testbench. The tar file contains the BSV files for the design and testbench, in addition to the paper.


ButterflyXbar.tar.gz
 Description:
Tar file containing the paper and the BSV files.

Download
 Filename:  ButterflyXbar.tar.gz
 Filesize:  234.34 KB
 Downloaded:  2760 Time(s)


xbar.pdf
 Description:
Paper describing the design of the crossbar switch.

Download
 Filename:  xbar.pdf
 Filesize:  238.59 KB
 Downloaded:  5374 Time(s)

Back to top
View user's profile Send private message
kczeck



Joined: 30 Apr 2007
Posts: 68

PostPosted: Mon Apr 30, 2007 11:21 am    Post subject: Importing a Verilog SRAM into BSV Reply with quote

This example consists of a set of files which demonstrate a simple example of importing a Verilog SRAM into BSV. The tar file contains a README.txt file which describes the example files and how to use them.


RAMS.tar.gz
 Description:
Tar file containing the README.txt file and all supporting design files.

Download
 Filename:  RAMS.tar.gz
 Filesize:  4.54 KB
 Downloaded:  2772 Time(s)

Back to top
View user's profile Send private message
crimsoncardinal



Joined: 25 Apr 2007
Posts: 66

PostPosted: Thu Nov 01, 2007 12:54 pm    Post subject: Small Switch Example - Automatic Generation of Control Logic Reply with quote

This technical white paper provides a basic introduction to Bluespec through a sample design. It takes a small switch and explains the Bluespec SystemVerilog design, the generated Verilog, and scalability considerations.


SmallSwitch020105.pdf
 Description:

Download
 Filename:  SmallSwitch020105.pdf
 Filesize:  85.89 KB
 Downloaded:  3724 Time(s)

Back to top
View user's profile Send private message
crimsoncardinal



Joined: 25 Apr 2007
Posts: 66

PostPosted: Thu Nov 01, 2007 1:07 pm    Post subject: Pipelined, Parameterized, Priority Queue (P3Q) Reply with quote

The P3Q design is an example of a highly-parameterized synthesizable hardware component with complex control. This example illustrates that Bluespec offers a way to describe synthesizable hardware at a very high level, with a degree of abstraction and safety comparable to the most advanced languages.


p3q.pdf
 Description:
P3Q example - 05/09

Download
 Filename:  p3q.pdf
 Filesize:  239.57 KB
 Downloaded:  2306 Time(s)

Back to top
View user's profile Send private message
crimsoncardinal



Joined: 25 Apr 2007
Posts: 66

PostPosted: Thu Nov 01, 2007 1:11 pm    Post subject: Pong Tutorial Reply with quote

The Pong Tutorial describes the design of the Pong code example and includes a full copy of the Pong source code as an appendix.


PongTutorial061504.pdf
 Description:

Download
 Filename:  PongTutorial061504.pdf
 Filesize:  196.67 KB
 Downloaded:  3693 Time(s)

Back to top
View user's profile Send private message
crimsoncardinal



Joined: 25 Apr 2007
Posts: 66

PostPosted: Thu Nov 01, 2007 1:14 pm    Post subject: Sudoku: Overview Document and Source Code Reply with quote

Here is the documentation and source code files for BluDACu, the Bluespec hardware implementation of Sudoku.

So, you might be asking, “Why would anyone create a hardware implementation of Sudoku?” Or even, “What does this have to do with me and what I do?” The simple answer is that we wanted a fun, thoughtprovoking demo for DAC – and, it fit well with an electronic Sudoku giveaway. The more serious answer starts with “we could, and easily, with Bluespec SystemVerilog”, but we’ll get into that in the document. Most importantly, while this Sudoku implementation is a novelty of sorts, though a very complex one, it nicely illustrates how Bluespec’s ESL Synthesis technology effectively tackles key, contemporary System-on-Chip (SoC) development issues:

* How to test software early with accurate hardware representations

* How to create intellectual property (IP) blocks that enable extreme reuse because they are highly parameterized and flexible to change

* How to quickly implement designs that contain both extremely complex algorithms and complex concurrency, especially those with convoluted control logic and numerous shared resource hazards (it is often assumed that dealing with high complexity is only feasible in software)

To learn more, we've provided the overview document and the source code for the design below:



sudoku_bsv.tar.gz
 Description:
Includes both code and overview document

Download
 Filename:  sudoku_bsv.tar.gz
 Filesize:  10.92 KB
 Downloaded:  2411 Time(s)


bludacu.pdf
 Description:
Overview document only

Download
 Filename:  bludacu.pdf
 Filesize:  335.79 KB
 Downloaded:  2461 Time(s)

Back to top
View user's profile Send private message
crimsoncardinal



Joined: 25 Apr 2007
Posts: 66

PostPosted: Tue Nov 20, 2007 5:47 pm    Post subject: DMA controller and small switch design Reply with quote

Available for download off of John Cooley's DeepChip website, these are two very complete design examples which include an overview tutorial, source code and generated Verilog. There are two designs:

1. A basic 4-channel DMA controller
2. A small switch design

These are great designs for the unintiated -- the overview document provides a specification for the design, an introduction to Bluespec and a description of the solution with Bluespec.

http://www.deepchip.com/downloads/bluespec.zip

Enjoy!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    bluespec.com Forum Index -> Bluespec SystemVerilog (BSV) Documents, Examples and Technical White Papers All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
bluespec.com topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP