FPGA 版 FM 音源 (8) -- YMF262 回路 (3)

YMF262 まわりの回路の基板の写真を下に示します。
秋月の C タイプ・ユニバーサル基板上に回路を組み立て、SH-2A 基板のベースボード上に 20 ピンのヘッダ/コネクタを介して実装しています。
SH-2A のバスステートコントローラの端子に 12 本の信号線を接続するので、配線長が短くなるように、SH-2A 基板のコネクタ 1 (CN1) の近くに位置させています。

さっそく、いろいろいじって見て、詳しくは後で書きますが、YMF262 のフェーズアキュムレータは 19 ビット幅であることが分かりました。
以前の記事 (→こちら) では、フェーズアキュムレータのビット幅は 21 ビットと予想していましたが、これは、MULT や BLOCK がどんな値であっても F-NUMBER の情報が欠落しないという条件で求めたものです。
実際のフェーズアキュムレータ幅は 19 ビットですから、MULT = 0 の場合に F-NUMBER の LSB が 1 ビット欠落し、BLOCK = 0 の場合も同様に F-NUMBER の LSB 1 ビットが欠落し、最大では 2 ビットの情報が欠落する場合があります。
特に、下の表の MULT と BLOCK の値の組み合わせに対して、FNUM が表の値よりも小さい場合には、「アンダーフロー」が生じて実効的には F-NUMBER = 0 の状態になってしまいます。

MULT BLOCK FNUM
0 0 0x004
0 1 0x002
1 0 0x002
1 1 0x001

また、サイン波発生部へは、フェーズアキュムレータの上位 10 ビットが送られていることが分かりました。
これは、サイン波発生部で ROM を使っているならば、ROM サイズは 1024 エントリであることを意味します。
上の表に示す、F-NUMBER 最小の設定では、サイン波の 1 周期が 219 = 524288 サンプル (48 kHz サンプリングでは約 10.9 秒) となり、出力は 512 サンプルごとに変化します。