前回、Z280MBのこれ以上の高速化はやめておくと心に決めていたのですが、なにか釈然としないのと、ASCIIARTの実行速度を収集?しているはせりんさんからのリクエストもあり、外部クロックの12MHz化を試してみることにしました。
難しいというか面倒なのは、外部クロックを変更できるのが、リセット時にハードウェア的にのみできるということです。実際には、
- /RESETの立ち上がりエッジで、/WAITをLowにしておく
- AD0-AD7に初期化データを乗せておく
- 2クロックサイクル以上、/WAITと初期化データを保持
最初はCPLDにまだ余裕があるので、/WAITをLowに保持するロジックを組み込もうと考えていたのですが、よく考えたら/RESETから適当にCRディレイ回路で/WAITを作れば良いと思いつきました。
問題は、2クロックサイクルが何のクロックサイクルかだったのですが、結局CLKピンからの出力2クロックサイクルのようです。データシートからは、外部入力クロックのXTALIのように読み取れるのですが、これに合わせると初期化できませんでした。長さは検証していないのですが、2クロックサイクル以上ならどうでも良いようです。
リセット回路にCRディレイ回路を付け足したのと、写真の赤線で囲んだところに、AD0-AD7に初期化データが乗せられるようにDIPスイッチとバッファが付け足してあります。
実行結果は、外部クロック6MHzから30秒ほど縮めて、1分33秒まで高速化できました。まあこれなら納得できます。
0 件のコメント:
コメントを投稿