2016-12-01から1ヶ月間の記事一覧

FPGA 版 FM 音源 (55) -- YMF297 (OPN3/OPL3) 測定 (21) -- EG シミュレーション・プログラム (1)

C 言語で書いた「フル機能」の EG シミュレーション・プログラムができました。 詳しい説明は後に回して、今回は結果のグラフとソースのみ掲載します。 (2016 年 12 月 31 日追記: プログラムに RATE = 0 の場合の動作に関するバグがあったのを修正しました)…

FPGA 版 FM 音源 (54) -- YMF297 (OPN3/OPL3) 測定 (20) -- EG クロック・プリスケーラ (7)

EG プリスケーラ部の CLK_EN 信号と SFT_SEL 信号の波形写真を示します。 まず、CLK_EN の波形です。

FPGA 版 FM 音源 (54) -- YMF297 (OPN3/OPL3) 測定 (19) -- EG クロック・プリスケーラ (6)

EG をディケイの DR = 13、Rof = 0〜3 の範囲に限りハイレートに対応させました。 アタックに関してはハイレートでは EG アキュムレータ部に (パラレルな実現では) バレルシフタが必要になりますが、ディケイについては EG アキュムレータの増分の定数が「1…

FPGA 版 FM 音源 (53) -- YMF297 (OPN3/OPL3) 測定 (18) -- EG クロック・プリスケーラ (5)

PSoC5LP UDB 上にローレート専用の EG アキュムレータ部分も実装して、連続してアタックとディケイを交互に繰り返す回路を作りました。 回路図を下に示します。 (図をクリックすると拡大します)

FPGA 版 FM 音源 (52) -- YMF297 (OPN3/OPL3) 測定 (17) -- EG クロック・プリスケーラ (4)

前回の psc4 コンポーネントによるプリスケーラ部に加え、バレルシフタ部も実装して EG クロック・イネーブル出力を得る回路全体を PSoC5LP の UDB 上に作成しました。 オシロで出力波形の確認および周波数カウンタでの出力周波数の確認をしてあります。 回…

FPGA 版 FM 音源 (51) -- YMF297 (OPN3/OPL3) 測定 (16) -- EG クロック・プリスケーラ (3)

標準ロジック・ファミリではバイナリ・レート・マルチプライア IC として、TTL の 74 シリーズでは 7497 (6 ビット)、メタルゲート CMOS の 4000B シリーズでは 4089B (4 ビット) などがあります。 それらの機能を一部簡略化し、ほぼ同等の PSoC コンポーネ…

FPGA 版 FM 音源 (50) -- YMF297 (OPN3/OPL3) 測定 (15) -- EG クロック・プリスケーラ (2)

2016 月 11 月 18 日付けの記事 (→こちら) で述べた EG クロック・プリスケーラの動作は、よく考えればレート・マルチプライア (rate multiplier) そのものでした。 パイプライン方式で複数オペレータを実現する場合に各オペレータ固有の内部変数として 8 進…