Specifying the WaveCore in CλaSH

Harmsen, Ruud (2015) Specifying the WaveCore in CλaSH.

Abstract:New techniques are being developed to keep Moore’s Law alive, that is, a doubling in computing power roughly every 2 years. These tech- niques are mostly focused on parallel programs, this can be the par- allelization of existing programs or programs written using a parallel programming language. A literature study is done to get an overview of the available methods to make parallel programs. The WaveCore is an example of a parallel system, which is currently in develop- ment. The WaveCore is a multi-core processor, especially designed for modeling and analyzing acoustic signals and musical instruments or to add effects to their sound. The WaveCore is programmed with a graph like language based on data-flow principles. The layout of WaveCore is not a standard multi-core system where there is a fixed number of cores connected together via memory and caches. The WaveCore has a ring like network structure and a shared memory, also the number of cores is configurable. More specific details about the WaveCore can be found in the thesis. A functional approach to hardware description is being developed at the CAES group at the University of Twente, this is CλaSH. FP- GAs are getting more and more advanced and are really suitable for making parallel programs. The problem with FPGAs however is that the available programming languages are not really suitable for the growing sizes and growing complexity of today’s circuits. The idea is to make a hardware description language which is more abstract and more efficient in programming than the current industry lan- guages VHDL and Verilog. This abstraction is required to keep big complex circuit designs manageable and testing can be more efficient on a higher level of abstraction (using existing model checking tools). CλaSH is a compiler which converts Haskell code to VHDL or Ver- ilog, the benefits of this are that the Haskell interpreter can be used as simulation and debug tool. The focus of this thesis is to specify the WaveCore in CλaSH. Spec- ifying a VLIW processor with CλaSH has been done before, however because the WaveCore is a non-trivial architecture, it is an interesting case study to see if such a design is possible in CλaSH. First an imple- mentation is made of a single core of the WaveCore in Haskell. This is then simulated to prove correctness compared with the existing im- plementation of the WaveCore. Then the step towards CλaSH is made, this requires some modifications and adding a pipelined structure (as this is required in a processor to efficiently execute instructions).
Item Type:Essay (Master)
Unknown organization
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:53 electrotechnology, 54 computer science
Programme:Embedded Systems MSc (60331)
Link to this item:http://purl.utwente.nl/essays/66896
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page