Lola
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 も含まれている)。
記事
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 も含まれている)。
== 外部リンク ==
Lola language page - ウェイバックマシン(2002年3月8日アーカイブ分)(チューリッヒ工科大学)
出典: Wikipedia
プロット
A scientist resurrects his dead daughter, only to realize she now lacks a soul.
キャスト
| 俳優 | 役割 |
|---|---|
| Clara Kimball Young | Lola Barnhelun |
| Alec B. Francis | Dr. Barnhelun |
| Edward Kimball | Dr. Crossett |
| James Young | Dick Fenway |
| Frank Holland | John Dorris |
| Olga Humphries | Mrs. Harlan |
| Irene Tams | Stephen Bradley |
| Mary Moore | Marie |
| Julia Stuart | Mrs. Mooney |
| Baby Esmond | Nellie Mooney |
乗組員
| 役割 | 名前 |
|---|---|
| Director | James Young |
| Writer | James Young |