Lola (computing) (original) (raw)
- 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 field-programmable gate arrays (FPGAs) to computer science students while a professor at ETH Zurich. 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. It describes digital electronics hardware on the logic 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 data 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). (en)
- Lola は、同期式デジタル回路を記述するよう設計された単純なハードウェア記述言語。ニクラウス・ヴィルトが開発した言語で、チューリッヒ工科大学の教授時代に計算機科学の学生にFPGA上のデジタル設計について教える道具として作ったものである。 Lola ではハードウェア部品の構造と機能を静的に記述し、部品間の接続を記述する。Lola のテキストは宣言と文から構成される。信号設定の形で論理回路レベルでハードウェアを記述する。信号は演算器を使って統合され別の信号となる。信号とその割り当ては型としてグループ化される。型のインスタンスがハードウェア部品となる。型を他の型の組み合わせで構成することもでき、それによって階層的設計が可能で、ジェネリックプログラミングの一種ということもできる(例えば、ワード幅の回路をパラメータ化するなど)。 以上のような概念は下記の例(二進加算器回路)に示されている。まず基本構成要素(TYPE Cell)が定義され、次にその Cell を使ってワード幅 8 ビットのカスケードを宣言し、最後に複数の Cell を相互接続する。ここで定義されている MODULE Adder はより高次の設計の構成要素として使用可能である。 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. ヴィルトは、自著 Digital Circuit Design で Lola のユーザーから見た説明を行っている。Lola コンパイラの中身の詳細はヴィルトの技術レポート Lola System Notes にある。デジタル設計に関するツール全体の概要は技術レポート Tools for Digital Circuit Design using FPGAs にある(Lola に関するレポート Lola: An Object-Oriented Logic Description Language も含まれている)。 (ja)
- http://www.cs.inf.ethz.ch/lola/
- https://web.archive.org/web/20060117175059/http:/www.cs.inf.ethz.ch/~wirth/books/DigitalDesign/
- https://web.archive.org/web/20170706155226/ftp:/ftp.inf.ethz.ch/pub/publications/tech-reports/2xx/215.ps.gz
- https://web.archive.org/web/20170706155816/ftp:/ftp.inf.ethz.ch/pub/publications/tech-reports/2xx/236.ps.gz
- http://www.cs.inf.ethz.ch/projects/lola/lola_lang/
- 3181696 (xsd:integer)
- 4198 (xsd:nonNegativeInteger)
- 1071913762 (xsd:integer)
- dbr:Declaration_(computer_programming)
- dbr:Generic_programming
- dbr:Object-oriented_programming
- dbr:Modula
- dbr:Multi-paradigm_programming_language
- dbr:Structured_programming
- dbr:Computer_science
- dbr:Statement_(computer_science)
- dbr:ALGOL
- dbr:Data_type
- dbr:ETH_Zurich
- dbr:ETH_Zürich
- dbr:Niklaus_Wirth
- dbr:Pascal_(programming_language)
- dbr:Digital_electronics
- dbr:Digital_signal
- dbr:Digital_circuit
- dbr:Synchronous_circuit
- dbr:Logic_gate
- dbr:Procedural_programming
- dbr:Hardware_description_language
- dbr:Hierarchy
- dbc:Hardware_description_languages
- dbr:Field-programmable_gate_array
- dbr:Oberon_(programming_language)
- dbr:Operator_(computer_programming)
- dbr:Word_(computer_architecture)
- dbr:Scope_(computer_science)
- dbr:Imperative_programming
- dbr:Strong_and_weak_typing
- dbr:Static_type
- Lola (en)
- dbr:Object-oriented_programming
- dbr:Multi-paradigm_programming_language
- dbr:Structured_programming
- dbr:Procedural_programming
- dbr:Imperative_programming
- dbt:For
- dbt:Infobox_programming_language
- dbt:Mono
- dbt:Start_date_and_age
- dbt:Use_dmy_dates
- dbt:Programmable_Logic
- dbt:Modula,_Oberon
- dbt:Prog-lang-stub
- dbt:Wirth
- owl:Thing
- dbo:Language
- schema:Language
- wikidata:Q315
- wikidata:Q9143
- yago:Abstraction100002137
- yago:Communication100033020
- yago:Language106282651
- yago:WikicatHardwareDescriptionLanguages
- dbo:ProgrammingLanguage
- 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 field-programmable gate arrays (FPGAs) to computer science students while a professor at ETH Zurich. (en)
- Lola は、同期式デジタル回路を記述するよう設計された単純なハードウェア記述言語。ニクラウス・ヴィルトが開発した言語で、チューリッヒ工科大学の教授時代に計算機科学の学生にFPGA上のデジタル設計について教える道具として作ったものである。 Lola ではハードウェア部品の構造と機能を静的に記述し、部品間の接続を記述する。Lola のテキストは宣言と文から構成される。信号設定の形で論理回路レベルでハードウェアを記述する。信号は演算器を使って統合され別の信号となる。信号とその割り当ては型としてグループ化される。型のインスタンスがハードウェア部品となる。型を他の型の組み合わせで構成することもでき、それによって階層的設計が可能で、ジェネリックプログラミングの一種ということもできる(例えば、ワード幅の回路をパラメータ化するなど)。 以上のような概念は下記の例(二進加算器回路)に示されている。まず基本構成要素(TYPE Cell)が定義され、次にその Cell を使ってワード幅 8 ビットのカスケードを宣言し、最後に複数の Cell を相互接続する。ここで定義されている MODULE Adder はより高次の設計の構成要素として使用可能である。 (ja)
- Lola (computing) (en)
- Lola (ja)
- freebase:Lola (computing)
- yago-res:Lola (computing)
- wikidata:Lola (computing)
- dbpedia-ja:Lola (computing)
- https://global.dbpedia.org/id/4qsnh
- Lola (en)
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
- dbr:List_of_programming_languages_by_type
- dbr:Lola_(hardware_description_language)
- dbr:Niklaus_Wirth
- dbr:Lola
- dbr:Lola_(hardware)
is foaf:primaryTopic of