Lola

1914 Drama Horror Science Fiction

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

外部リンク