忍者ブログ

X68ブログ

 サイト「X68000改造室」http://x68.aikotoba.jp の更新告知やサイト運営、X68の改造にまつわる小ネタを書いていきます。また、コメントを通して、サイトを見ていただいた方との交流の場ともしていきたいと思います。感想や疑問、記事の誤りなど、コメントいただければ、記事に反映していきたいと思います。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ピクセルクロック周りの改良

先日の解像度表示機能追加により、画面表示が不安定になった件、原因を調べてみました。

ISEではプログラムファイル生成後、「デザインサマリー」を表示します。その中の「Timming Constraints」という項目のそれまで3つだったエラーが解像度表示機能追加で4つに増えていました。これまでの3つのエラーはSDRAMアクセスのタイミングにおいて、セットアップタイムやホールドタイムがワーストケースで負になるかもというものでしたが、見た目正常動作していましたので、あまり気に止めていませんでした。今回増えた4つ目のエラーはピクセルクロック(SVGAの40MHz)によるラッチが各所でセットアップタイムが負になる可能性があるというものです。

そこで、まずクロック生成を見直し、これまで2段構成だったDCMを1つにまとめました。


さらに、エラーの詳細で解像度モードダイヤルの値のラッチでセットアップが足りない旨のメッセージがあったので確認したところ、SDRAMアクセス用クロックで一旦ラッチした後、それをさらにピクセルクロックでラッチしていたので、前者のラッチをなしにしたところ、ピクセルクロック周りのエラーがなくなり、表示画面が安定しました。

でも、まだ、解像度切替直後のブラックアウト(追加した解像度表示も出ない)がたまに出ます。




★★★ メインサイトへのリンク 「X68000改造室」★★★




PR

解像度表示出来、しかし・・・

スキャンコンバータ・プラスの第一ステップ、X68000の解像度表示ができました。約25年前に自作したファイラー(当時のMacのFinderを意識して作りました)の画像の右下余白部分に横768、縦512の解像度数値を表示しています。ちなみに、「A」は解像度モード設定ダイヤルの「0」に相当、オートモードを意味します。


追加回路はメインの表示回路からピクセルクロックと同期信号をもらい、独自の7セグメント表示をX68000の画像に重ね合わせる形で動作しています。

ただ、これの追加により、画面がやや不安定になってきました。時たま、画面が縦に揺れるのです。この揺れはX68000の画像部分のみで、解像度表示は固定していますので、垂直同期信号のふらつきではなさそうです。

新たなる暗雲・・・。

★★★ メインサイトへのリンク 「X68000改造室」★★★




メタステーブル問題

いきなり専門用語です。ネット検索で知ったのですが、「メタステーブル」はフリップフロップにおいてクロックによるラッチ時に入力がふらつくと、出力がHighとLowの中間電位のまましばらく続き、やがてHighとLowどちらかに落ち着くという現象だそうです。

 例の解像度モード切替直後に絵が出ないことがある不具合の原因はこれかもしれないと考えました。解像度の切替直後、出力用ピクセルクロックの周波数切り替えと併せて、同期信号を作るカウンタをリセットしています。そのリセット信号はX68000のピクセルクロックには同期していますが、出力用ピクセルクロックに対しては非同期です。カウンタのリセット信号とクロック信号が同時に変化するとこの現象が起きるそうですから、不具合の犯人の可能性濃厚です。早速対策回路をVHDLで追記し、リセットは非同期にかかり、リセットからの復帰はクロック同期となるようにしました。追記部分は回路図で書くと以下のとおりです。下欄のウェブサイトの記事を参考にしました。
 実際に記述したVHDL(信号名と終段処理は変わっています)

 結果、ピンポンのようです。その後、X68000の解像度を768X512、512X512の間で繰り返し切り替えてみましたが、画像が消えることはなくなりました。ひとつ、前進です。

 以下のサイトを参考にしました。
http://www.altima.jp/products/software/mentor/fv/column/cdc-2.html
http://natu.txt-nifty.com/natsutan/2008/03/fpga_05d1.html

★★★ メインサイトへのリンク 「X68000改造室」★★★




スキャンコンバータ・プラス

スキャンコンバータ製作ステージ1もそろそろ終了です。次のステージに進める前に、
(あるいはステージ2と並行しながら)、SVGA表示画面への機能追加を考えています。

 現在、X68000の画像はSVGAの中に納めていますが、下図のように、上下に縦44ドット幅で空きのエリアがあります。ここをスキャンコンバータの情報表示欄に利用しようというものです。

題して、「スキャンコンバータ・プラス」

まずは、X68000の解像度表示から取りかかってみたいと思います。

え、「コマンドコード」は何って? それは、この先のお楽しみ・・・。

★★★ メインサイトへのリンク 「X68000改造室」★★★




スキャンコンバータの実装!

スキャンコンバーター用FPGA基板と関連端子群、なんとかX68000筐体に取り付け、端子穴を広げるなどのケース加工もしました。
以下がその写真。

イメージ端子のフラットケーブルはできれば作り直してもう少しすっきりとしたいと思います。

FPGA基板用電源コネクタにはACアダプタ(5V2A)を接続します。ACアダプタも筐体内に入れてしまおうかとも思いましたが、今後も調整のためX68000とは別に電源の入り切りしたいので、しばらくはこの構成でいきたいと思います。筐体内でAC100Vラインを走らせたくないし・・・。

★★★ メインサイトへのリンク 「X68000改造室」★★★




カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

フリーエリア

最新CM

[02/01 ぱち(管理人)]
[01/31 saku39]
[12/27 ぱち(管理人)]
[12/27 saku39]
[01/20 ぱち(管理人)]

プロフィール

HN:
ぱち
性別:
非公開

バーコード

ブログ内検索

P R

Copyright ©  -- X68ブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]