【Max IIのロジック設計】
図17a)にIOバッファブロック、図17b) に加算ブロック、図17c)にユーザー フラッシュメモリブロック、図17d)に制御
ブロックの回路図を示します。
Max IIのピンと内部回路は直接接続することはできません。必ずI/Oバッファを介する必要があります。
加算ブロックは周波数指定レジスタ(左側)と加算器(中央)、位相レジスタ(右側)により構成しています。Flashメモリのアドレスは9ビットですが、正弦波の変化時刻を滑らかにするために24ビット幅にしましたが、これは精度をどのくらいに設計したいかで選ぶことができる問題です。
外部に接続するD/Aコンバータはシリアルタイプのインターフェースを持ったものを使いましたので、出力値保持レジスタはパラレル入力シリアル出力タイプのシフトレジスタを使っています。
今回はフラッシュメモリから出力されているOSC出力を制御クロックに用いましたが、このクロックはチップ毎に少々ばらつきますので、外部クロックを用いた方が良いでしょう。周波数設定精度を改善することができるはずです。しかし、フラッシュメモリのアクセス時間がチップごとに少々ばらつくことを考慮しておく必要があります。
回路図の入力が完了したら、図13に 示すようにPin Plannerで使用するピン を割り付けます。
また、Flashメモリは本来はシリアル入出力タイプです。megafunctionsライブラリのstorageカテゴリーにある、altufm_noneを使えば2段パイプラインを構成時にクロック10MHzで最大1.6μ秒毎に16ビットのデータを読み出すことができます。
|