skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Constructing Hardware in a Scale Embedded Language

Abstract

Chisel is a new open-source hardware construction language developed at UC Berkeley that supports advanced hardware design using highly parameterized generators and layered domain-specific hardware languages. Chisel is embedded in the Scala programming language, which raises the level of hardware design abstraction by providing concepts including object orientation, functional programming, parameterized types, and type inference. From the same source, Chisel can generate a high-speed C++-based cycle-accurate software simulator, or low-level Verilog designed to pass on to standard ASIC or FPGA tools for synthesis and place and route.

Authors:
Publication Date:
Research Org.:
Lawrence Berkeley National Laboratory
Sponsoring Org.:
USDOE
OSTI Identifier:
1231820
Report Number(s):
CHISEL; 003069MLTPL00
R&D Project: KRD1221; 2014-153
DOE Contract Number:
AC02-05CH11231
Resource Type:
Software
Software Revision:
00
Software Package Number:
003069
Software Package Contents:
Open Source Software package available from Lawrence Berkeley National Laboratory at the following URL: https://github.com/ucb-bar/chisel/
Software CPU:
MLTPL
Open Source:
Yes
Source Code Available:
Yes
Country of Publication:
United States

Citation Formats

Bachan, John. Constructing Hardware in a Scale Embedded Language. Computer software. https://www.osti.gov//servlets/purl/1231820. Vers. 00. USDOE. 21 Aug. 2014. Web.
Bachan, John. (2014, August 21). Constructing Hardware in a Scale Embedded Language (Version 00) [Computer software]. https://www.osti.gov//servlets/purl/1231820.
Bachan, John. Constructing Hardware in a Scale Embedded Language. Computer software. Version 00. August 21, 2014. https://www.osti.gov//servlets/purl/1231820.
@misc{osti_1231820,
title = {Constructing Hardware in a Scale Embedded Language, Version 00},
author = {Bachan, John},
abstractNote = {Chisel is a new open-source hardware construction language developed at UC Berkeley that supports advanced hardware design using highly parameterized generators and layered domain-specific hardware languages. Chisel is embedded in the Scala programming language, which raises the level of hardware design abstraction by providing concepts including object orientation, functional programming, parameterized types, and type inference. From the same source, Chisel can generate a high-speed C++-based cycle-accurate software simulator, or low-level Verilog designed to pass on to standard ASIC or FPGA tools for synthesis and place and route.},
url = {https://www.osti.gov//servlets/purl/1231820},
doi = {},
year = {Thu Aug 21 00:00:00 EDT 2014},
month = {Thu Aug 21 00:00:00 EDT 2014},
note =
}

Software:
To order this software, request consultation services, or receive further information, please fill out the following request.

Save / Share:
  • From the dawn of the first use of microprocessors and microcontrollers in embedded systems, the software has been blamed for products being late to market, This is due to software being developed after hardware is fabricated. During the past few years, the use of Hardware Description (or Design) Languages (HDLs) and digital simulation have advanced to a point where the concurrent development of software and hardware can be contemplated using simulation environments. This offers the potential of 50% or greater reductions in time-to-market for embedded systems. This paper is a tutorial on the technical issues that underlie software-hardware (swhw) co-simulation,more » and the current state of the art. We review the traditional sequential hardware-software design paradigm, and suggest a paradigm for concurrent design, which is supported by co-simulation of software and hardware. This is followed by sections on HDLs modeling and simulation;hardware assisted approaches to simulation; microprocessor modeling methods; brief descriptions of four commercial products for sw-hw co-simulation and a description of our own experiments to develop a co-simulation environment.« less
  • Field Programmable Gate Arrays (FPGAs) with embedded processors allow the instrumentation designer to field a system that tightly couples high speed (>500MHz) digital logic to a Control Systems-friendly software platform (i.e. Linux, VxWorks, EPICs). This technology merges CPU and I/O functions onto a single board allowing greater flexibility in physical form factor, power requirements, and data management. Without being constrained by a bus standard, hardware and software can join in a malleable design template. LBNL is currently using this technique to design a control system module for ALS booster top off operation and has completed designs for PEP-II transverse feedbackmore » electronics and ALS bunch cleaning. This presentation will include a hands-on demonstration of an FPGA evaluation board running a simplified example of a control system interface.« less
  • The power of Ethernet for control and automation technology is being largely understood by the automation industry in recent times. Ethernet with HTTP (Hypertext Transfer Protocol) is one of the most widely accepted communication standards today. Ethernet is best known for being able to control through internet from anywhere in the globe. The Ethernet interface with built-in on-chip embedded servers ensures global connections for crate-less model of control and data acquisition systems which have several advantages over traditional crate-based control architectures for slow applications. This architecture will completely eliminate the use of any extra PLC (Programmable Logic Controller) or similarmore » control hardware in any automation network as the control functions are firmware coded inside intelligent meters itself. Here, we describe the indigenously built project of a cryogenic control system built for linear accelerator at Inter University Accelerator Centre, known as “CADS,” which stands for “Complete Automation of Distribution System.” CADS deals with complete hardware, firmware, and software implementation of the automated linac cryogenic distribution system using many Ethernet based embedded cryogenic instruments developed in-house. Each instrument works as an intelligent meter called device-server which has the control functions and control loops built inside the firmware itself. Dedicated meters with built-in servers were designed out of ARM (Acorn RISC (Reduced Instruction Set Computer) Machine) and ATMEL processors and COTS (Commercially Off-the-Shelf) SMD (Surface Mount Devices) components, with analog sensor front-end and a digital back-end web server implementing remote procedure call over HTTP for digital control and readout functions. At present, 24 instruments which run 58 embedded servers inside, each specific to a particular type of sensor-actuator combination for closed loop operations, are now deployed and distributed across control LAN (Local Area Network). A group of six categories of such instruments have been identified for all cryogenic applications required for linac operation which were designed to build this medium-scale cryogenic automation setup. These devices have special features like remote rebooters, daughter boards for PIDs (Proportional Integral Derivative), etc., to operate them remotely in radiation areas and also have emergency switches by which each device can be taken to emergency mode temporarily. Finally, all the data are monitored, logged, controlled, and analyzed online at a central control room which has a user-friendly control interface developed using LabVIEW{sup ®}. This paper discusses the overall hardware, firmware, software design, and implementation for the cryogenics setup.« less
  • Debugging a PDP-11 system can be quite frustrating; programs like ODT are helpful, but they must be integrated into existing software. Also, ODT adds overhead to the system, since it is interrupt driven through software traps. This characteristic makes it dangerous to use in real-time systems. A stand-alone hardware device was developed which can be connected to a PDP-11 running any software package. It has most of the features of ODT plus some unique features. Since it operates in a real-time, on-line, dynamic mode, it does not affect any timing or add overhead to the system. Traps are not requiredmore » to drive it and it is continuously available. Many of its features can also be software driven or interrogated. The PDP-11 debugging tool can display information, modify memory, generate interrupts, simulate nonexistent hardware, stack and display data or address values, count accesses to an address, halt when address accessed, and display the Unibus signals--all in real time. It has proven very useful for debugging both hardware and software problems. 1 figure« less

To initiate an order for this software, request consultation services, or receive further information, fill out the request form below. You may also reach us by email at: .

OSTI staff will begin to process an order for scientific and technical software once the payment and signed site license agreement are received. If the forms are not in order, OSTI will contact you. No further action will be taken until all required information and/or payment is received. Orders are usually processed within three to five business days.

Software Request

(required)
(required)
(required)
(required)
(required)
(required)
(required)
(required)