HOME

TheInfoList



OR:

Lola is designed to be a simple
hardware description language In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits. A hardware description language e ...
for describing
synchronous Synchronization is the coordination of events to operate a system in unison. For example, the conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are said to be synchronou ...
,
digital circuit In theoretical computer science, a circuit is a model of computation in which input values proceed through a sequence of gates, each of which computes a function. Circuits of this kind provide a generalization of Boolean circuits and a mathematical ...
s.
Niklaus Wirth Niklaus Emil Wirth (born 15 February 1934) is a Swiss computer scientist. He has designed several programming languages, including Pascal (programming language), Pascal, and pioneered several classic topics in software engineering. In 1984, he w ...
developed the language to teach digital design on
field-programmable gate array A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware d ...
s (FPGAs) to
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
students while a professor at
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
. The purpose of Lola is to statically describe the structure and function of hardware components and of the connections between them. A Lola text is composed of declarations and
statements Statement or statements may refer to: Common uses *Statement (computer science), the smallest standalone element of an imperative programming language *Statement (logic), declarative sentence that is either true or false *Statement, a declarative ...
. It describes
digital electronics Digital electronics is a field of electronics involving the study of digital signals and the engineering of devices that use or produce them. This is in contrast to analog electronics and analog signals. Digital electronic circuits are usual ...
hardware on the
logic gate A logic gate is an idealized or physical device implementing a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, ...
level in the form of
signal In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The ''IEEE Transactions on Signal Processing'' ...
assignments. Signals are combined using
operators Operator may refer to: Mathematics * A symbol indicating a mathematical operation * Logical operator or logical connective in mathematical logic * Operator (mathematics), mapping that acts on elements of a space to produce elements of another sp ...
and assigned to other signals. Signals and the respective assignments can be grouped together into
data type In computer science and computer programming, a data type (or simply type) is a set of possible values and a set of allowed operations on it. A data type tells the compiler or interpreter how the programmer intends to use the data. Most progra ...
s. An instance of a type is a hardware component. Types can be composed of instances of other types, thereby supporting a
hierarchical A hierarchy (from Greek: , from , 'president of sacred rites') is an arrangement of items (objects, names, values, categories, etc.) that are represented as being "above", "below", or "at the same level as" one another. Hierarchy is an important ...
design style and they can be
generic Generic or generics may refer to: In business * Generic term, a common name used for a range or class of similar things not protected by trademark * Generic brand, a brand for a product that does not have an associated brand or trademark, other ...
, e.g., parametrizable with the
word A word is a basic element of language that carries an semantics, objective or pragmatics, practical semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of w ...
width of a circuit. All of the concepts mentioned above are demonstrated in the following example of a circuit for adding binary data. First, a fundamental building block () is defined, then this is used to declare a cascade of word-width 8, and finally the s are connected to each other. The defined in this example can serve as a building block on a higher level of the design hierarchy.
MODULE Adder;

TYPE Cell; (* Composite Type *)
  IN x,y,ci:BIT; (* input signals *)
  OUT z,co:BIT; (* output signals *) 
BEGIN
  z:=x-y-ci;
  co:=x*y+x*ci+y*ci;
END Cell;

CONST N:=8;
IN X,Y: IT; ci:BIT; (* input signals *)
OUT Z: IT; co:BIT; (* output signals *)
VAR S: ell; (* composite type instances *)
BEGIN
  S.0(X.0, Y.0, ci); (* inputs in cell 0 *)
  FOR i:=1..N-1 DO
    S.i(X.i,Y.i,S -1co); (* inputs in cell i *)
  END;
  FOR i:=0..N-1 DO
    Z.i:=S.i.z;
END;
  co:=S.7.co;
END Adder.
Wirth describes Lola from a user's perspective in his boo
''Digital Circuit Design''
A complementary view on the details of the Lola compiler's implementation can be found in Wirth's technical repor
''Lola System Notes''
An overview of the whole system of tools for digital design is the technical repor
''Tools for Digital Circuit Design using FPGAs''
(containing a copy of the report on the language Lola ''Lola: An Object-Oriented Logic Description Language'').


External links


CAD Tools for Hardware Design
at
ETH Zürich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , ac ...
, including th
Lola language page
{{DEFAULTSORT:Lola Hardware description languages