Lola (hardware description language)

From Wikipedia, the free encyclopedia

Jump to: navigation, search

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 Digital Circuit Design. A complementary view on the details of the Lola compiler's implementation can be found in Wirth's technical report [Lola System Notes]. An overview of the whole system of tools for digital design is the technical report [Tools for Digital Circuit Design using FPGAs] (containing a copy of the report on the language Lola Lola: An Object-Oriented Logic Description Language).

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.