JHDL - An HDL for Reconfigurable Systems

Abstract

JHDL is a design tool for reconfigurable systems that allows designers to express circuit organizations that dynamically change over time in a natural way, using only standard programming abstractions found in object oriented languages. JHDL manages FPGA resources in a manner that is similar to the way object-oriented languages manage memory: circuits are treated as distinct objects and a circuit is configured onto a configurable computing machine (CCM) by invoking its constructor, effectively constructing an instance of the circuit onto the reconfigurable platform just as object instances are allocated in memory with conventional object-oriented languages. This approach of using object constructors/destructors to control the circuit lifetime on a CCM is a powerful technique that naturally leads to a dual simulation/execution environment where a designer can easily switch between either software simulation or hardware execution on a CCM with a single application description. Moreover, JHDL supports dual hardware/software execution; parts of the application described using JHDL circuit constructs can be executed on the CCM while the remainder of the application the GUI for example can run on the CCM host. Based on an existing programming language (Java), JHDL requires no language extensions and can be used with any standard Java 1.1 distribution.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1998
Accession Number
ADA450477

Entities

People

  • Brad Hutchings
  • Peter Bellows

Organizations

  • Brigham Young University

Tags

Communities of Interest

  • Advanced Electronics

DTIC Thesaurus Topics

  • Computations
  • Computer Programming
  • Computer Programs
  • Computers
  • Construction
  • Destructors
  • Device Drivers
  • Engineering
  • Environment
  • Graphical User Interface
  • Hierarchies
  • Language
  • Platforms
  • Programming Languages
  • Simulations
  • Simulators
  • User Interface

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Nanofabrication and Microfabrication.
  • Parallel and Distributed Computing.