• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Embedded Languages for Describing and Verifying Hardware (2001)

by Koen Claessen
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 12
Next 10 →

Overview of Hydra: A concurrent language for synchronous digital circuit design

by John T. O’donnell - In Proceedings of the 16th International Parallel and Distributed Processing Symposium. IEEE Computer , 2002
"... www.dcs.gla.ac.uk/∼jtod/ Hydra is a computer hardware description language that integrates several kinds of software tool (simulation, netlist generation and timing analysis) within a single circuit specification. The design language is inherently concurrent, and it offers black box abstraction and ..."
Abstract - Cited by 11 (0 self) - Add to MetaCart
www.dcs.gla.ac.uk/∼jtod/ Hydra is a computer hardware description language that integrates several kinds of software tool (simulation, netlist generation and timing analysis) within a single circuit specification. The design language is inherently concurrent, and it offers black box abstraction and general design patterns that simplify the design of circuits with regular structure. Hydra specifications are concise, allowing the complete design of a computer system as a digital circuit within a few pages. This paper discusses the motivations behind Hydra, and illustrates the system with a significant portion of the design of a basic RISC processor.

Value Recursion in Monadic Computations

by Levent Erkok - OGI School of Science and Engineering, OHSU , 2002
"... viii 1 ..."
Abstract - Cited by 10 (2 self) - Add to MetaCart
Abstract not found

A Recursive do for Haskell

by Levent Erkök, John Launchbury , 2002
"... Certain programs making use of monads need to perform recursion over the values of monadic actions. Although the do-notation of Haskell provides a convenient framework for monadic programming, it lacks the generality to support such recursive bindings. In this paper, we describe an enhanced translat ..."
Abstract - Cited by 9 (1 self) - Add to MetaCart
Certain programs making use of monads need to perform recursion over the values of monadic actions. Although the do-notation of Haskell provides a convenient framework for monadic programming, it lacks the generality to support such recursive bindings. In this paper, we describe an enhanced translation schema for the donotation and its integration into Haskell. The new translation allows variables to be bound recursively, provided the underlying monad comes equipped with an appropriate fixed-point operator.

A Coverage Analysis for Safety Property Lists

by Koen Claessen - Presentation at Workshop on Designing Correct Circuits (DCC , 2006
"... In property-based formal verification, a natural question that often arises is 'Have we specified enough properties?' In this paper, we provide a way of approximating an answer to this question. We present a relatively cheap analysis that, given the interface of a design under verification, plus ..."
Abstract - Cited by 5 (0 self) - Add to MetaCart
In property-based formal verification, a natural question that often arises is 'Have we specified enough properties?' In this paper, we provide a way of approximating an answer to this question. We present a relatively cheap analysis that, given the interface of a design under verification, plus a formal safety property list, identifies cases where some outputs of the design are not constrained at all by the properties. For practical reasons, we also provide an easy way for the verification engineer to explicitly state that certain outputs are allowed to be underconstrained.

The Reduceron: Widening the von Neumann Bottleneck for Graph Reduction using an FPGA

by Matthew Naylor, Colin Runciman
"... Abstract. For the memory intensive task of graph reduction, modern PCs are limited not by processor speed, but by the rate that data can travel between processor and memory. This limitation is known as the von Neumann bottleneck. We explore the effect of widening this bottleneck using a special-purp ..."
Abstract - Cited by 4 (3 self) - Add to MetaCart
Abstract. For the memory intensive task of graph reduction, modern PCs are limited not by processor speed, but by the rate that data can travel between processor and memory. This limitation is known as the von Neumann bottleneck. We explore the effect of widening this bottleneck using a special-purpose graph reduction machine with wide, parallel memories. Our prototype machine – the Reduceron – is implemented using an FPGA, and is based on a simple template-instantiation evaluator. Running at only 91.5MHz on an FPGA, the Reduceron is faster than mature bytecode implementations of Haskell running on a 2.8GHz PC. 1

Obsidian: A Domain Specific Embedded Language for General-Purpose Parallel Programming of Graphics Processors

by Joel Svensson, Mary Sheeran, Koen Claessen - In Proc. of Implementation and Applications of Functional Languages (IFL), Lecture Notes in Computer Science , 2008
"... Abstract. We present a domain specific language, embedded in Haskell, for general purpose parallel programming on GPUs. Our intention is to explore the use of connection patterns in parallel programming. We briefly present our earlier work on hardware generation, and outline the current state of GPU ..."
Abstract - Cited by 2 (1 self) - Add to MetaCart
Abstract. We present a domain specific language, embedded in Haskell, for general purpose parallel programming on GPUs. Our intention is to explore the use of connection patterns in parallel programming. We briefly present our earlier work on hardware generation, and outline the current state of GPU architectures and programming models. Finally, we present the current status of the Obsidian project, which aims to make GPU programming easier, without relinquishing detailed control of GPU resources. Both a programming example and some details of the implementation are presented. This is a report on work in progress. 1

An embedded language for data-parallel programming

by Joel Svensson , 2008
"... This thesis describes the implementation of Obsidian, an embedded language for data-parallel programming. The programming style used in Obsidian borrows many ideas from the hardware description language Lava. In lava combinators are are used to combine circuits into larger circuits. Obsidian uses th ..."
Abstract - Cited by 2 (1 self) - Add to MetaCart
This thesis describes the implementation of Obsidian, an embedded language for data-parallel programming. The programming style used in Obsidian borrows many ideas from the hardware description language Lava. In lava combinators are are used to combine circuits into larger circuits. Obsidian uses the idea of combinators from Lava, but instead of circuits; data-parallel computations are described. From the high level descriptions of data-parallel computations expressed in Obsidian, C programs are generated for execution on an NVIDIA GPU (Graphics Processing Unit). Modern GPUs are becomming powerful parallel computers, this is giving rise to an entire field called the GPGPU (General-Purpose Computations on the GPU) field. This field driven by the desire to exploit the power of GPUs for general-purpose computations. Obsidian explores a high level programming style for expressing parallel computataions. The implementation of a number of sorting algorithms using Obsidian is also shown. This thesis touches on the areas of GPGPU, embedded languages and data-parallel programming.

A proof dedicated meta-language

by David Delahaye - In Logical Frameworks and MetaLanguages (LFM 2002), ENTCS 70(2 , 2002
"... 1 Introduction In a LCF-like proof 2 ..."
Abstract - Cited by 2 (0 self) - Add to MetaCart
1 Introduction In a LCF-like proof 2

Functional HDLs: A Historical Overview

by Joseph Cordina
"... When designing hardware systems, a variety of models and languages are available whose aim is to manage complexity by allowing specification of such systems at different abstraction levels. Languages such as Verilog and VHDL where designed with simulation in mind rather than synthesis and lack featu ..."
Abstract - Add to MetaCart
When designing hardware systems, a variety of models and languages are available whose aim is to manage complexity by allowing specification of such systems at different abstraction levels. Languages such as Verilog and VHDL where designed with simulation in mind rather than synthesis and lack features such as parametrised complex circuit definitions, a must for the design of generic complex systems. A more modern approach is the use of functional languages for hardware description that take advantage of the inherent abstraction in this paradigm, resulting in a more concise and manageable description of the system. This paper gives an overview of different functional language implementations for hardware description, highlighting their historical significance in terms of their capabilities and design approach. We will compare and contrast different ways that certain features, such as circuit sharing, have been implemented in these.

Describing and Verifying FFT circuits using

by Sharphdl Gordon Pace, Gordon J. Pace, Christine Vella , 2005
"... Fourier transforms are critical in a variety of fields but in the past, they were rarely used in applications because of the big processing power required. However, the Cooley's and Tukey's development of the Fast Fourier Transform (FFT) vastly simplified this. A large number of FFT algorithms h ..."
Abstract - Add to MetaCart
Fourier transforms are critical in a variety of fields but in the past, they were rarely used in applications because of the big processing power required. However, the Cooley's and Tukey's development of the Fast Fourier Transform (FFT) vastly simplified this. A large number of FFT algorithms have been developed, amongst which are the radix-2 and the radix-2 . These are the ones that have been mostly used for practical applications due to their simple structure with constant butterfly geometry. Most of the research to date for the implementation and benchmarking of FFT algorithms have been performed using general purpose processors, Digital Signal Processors (DSPs) and dedicated FFT processor ICs but as FPGAs have developed they have become a viable solution for computing FFTs. In this paper, SharpHDL, an object oriented HDL, will be used to implement the two mentioned FFT algorithms and test their equivalence.
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University