TOP/PROGRAM/Andap

Andap

概要

汎用ディジタル回路シミュレータ。

Rubyで書かれています。

DOWNLOAD

Andap (2005/02/22) andap050222.zip 13KB

使い方

andap <circuit-file> [input-file] [output-file]

input-file が省略された場合、入力は1.0のインパルス入力で44100回分出力されます。

input-file は以下のようなのを想定しています。

output-file が省略された場合、出力は標準出力になります。

CIRCUIT-FILE FORMAT

下の図のような回路はこのように定義できます。

andap1.png

# Low-pass filter
Alpha = 0.1
MUL1 = INPUT * Alpha
ADD1 = MUL1 + MUL2
DLY1 = DLY( ADD1 )
MUL2 = DLY1 * ( 1.0 - Alpha )
OUTPUT = ADD1

'#' から改行までは Andap では解釈しません。所謂コメントです。

通常は素子1つについて記述します。

識別子 = 計算式

例:

# 加算器
A = C + B

# 乗算器
A = 0.5 * B

# 遅延器
A = DLY( B )

識別子として使えるのは[0-9A-Za-z_]+です。整数も識別子として使えます。これは panda との互換性の為なので、新たに回路を定義するときは使わない方が良いかと思います。

整数は識別子なので数値自体を記述するときは、実数の形(1.23等)で記述します。

= の後には Ruby の記述が殆ど書けるとおもいますが、あまり変なことは書かない方が良いでしょう。

識別子を定数的に使うことも出来ます。

A = 0.5
B = A * C

遅延器は

識別子 = DLY( 識別子 )

と記述します。遅延器を記述するときは他の計算式は記述できません。

特殊識別子として

INPUT
OUTPUT

があります。

他、細かいことは中のテキストを見てください。

更新履歴

05/02/22
初公開

TOP/PROGRAM/Andap