Lola (hardware description language)


Lola (hardware description language)

Lola is designed to be a simple hardware description language for describing synchronous, digital circuits. Niklaus Wirth developed the language to teach digital design on FPGAs to computer science students while a professor at ETH Zürich.

The purpose of Lola is to statically describe the structure and functionality of hardware components and of the connections between them. A Lola text is composed of declarations and statements. It describes the hardware on the gate level in the form of signal assignments. Signals are combined using operators and assigned to other signals. Signals and the respective assignments can be grouped together into types. An instance of a type is a hardware component. Types can be composed of instances of other types, thereby supporting a hierarchical design style and they can be generic (e.g. parametrizable with the word-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 (TYPE Cell) is defined, then this Cell is used to declare a cascade of word-width 8, and finally the Cells are connected to each other. The MODULE Adder 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: [N] BIT; ci:BIT; (* input signals *)OUT Z: [N] BIT; co:BIT; (* output signals *)VAR S: [N] Cell; (* 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 [i-1] .co); (* 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 book [http://www.cs.inf.ethz.ch/~wirth/books/DigitalDesign/ "Digital Circuit Design"] . A complementary view on the details of the Lola compiler's implementation can be found in Wirth's technical report ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/2xx/236.ps.gz "Lola System Notes". An overview of the whole system of tools for digital design is the technical report ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/2xx/215.ps.gz "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

* [http://www.cs.inf.ethz.ch/projects/lola/lola_lang/ Lola language page] at ETH Zürich


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Hardware description language — In electronics, a hardware description language or HDL is any language from a class of computer languages and/or programming languages for formal description of electronic circuits. It can describe the circuit s operation, its design and… …   Wikipedia

  • Lola — *Lola is a Spanish name, short for Dolores, in honor of Our Lady of Sorrows; its diminutive is Lolita. *Lola is a synonym for a grandmother with Filipino background. *Lola is a Spanish variant of Charlotte*Lola may also refer to:Name*Lola (given… …   Wikipedia

  • Язык описания аппаратуры — (англ. hardware description language) тип компьютерных языков для формального описания электрических цепей, особенно цифровой логики. Он описывает структуру и функционирование цепи. Основные представители Наиболее часто используются языки… …   Википедия

  • Niklaus Wirth — Niklaus E. Wirth Born February 15, 1934 (1934 02 15) (age 77) …   Wikipedia