FC2カウンター FPGAの部屋 2010年02月15日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

バンクーバーオリンピック

モーグル女子の上村選手残念でした。もう少し中盤で攻めても良いかな?とは思いましたが、良かったのではないでしょうか?スローで見ると、ちゃんとカービングになっていてびっくりしました。
USAとカナダの選手の滑りは凄かったですね。里谷選手も中盤凄い滑りで、ジャンプは残念だったですが、本当に本番に強いと言うのが良くわかりました。年齢が若かったら耐え切ってメダルに届いていたんじゃないでしょうか?
昨日はずっとこのモーグルのテレビにかじりついていました。
アルペンも楽しみです。この会場のウィスラースキー場には、遠い昔、20年くらい前に行ってきました。ウィスラーとブラッコムスキー場が2つあって、どっちの山にも行けます。麓のウィスラービレッジに泊まったので、このリフトに乗るとウィスラー、次の日は違うリフトに乗るとブラッコムに行くという感じでした。
2つにスキー場とも森林限界を超えていて、広大なスキー場です。ウィスラーの頂上は岩がゴロゴロしていました。斜度は25度以上かな?そこに大きな岩があるので、慎重に滑りました。暴走してぶつかるとイチコロですね。ウィスラーでは大砲があって、雪がふった朝だろうと思いますが、大砲を打って人工雪崩を起こしてから滑ると思いました。新雪や綺麗なコブバーンもあって楽しめました。
ブラッコムはウィスラーよりも全般的にキツイ気がして、足がつかれました。頂上では、反対側にも降りていけそうで、危ない気がしました。スキー上の境界が曖昧です。上に行ったときは地吹雪だったので、怖くなって慎重に降りてきましたね。
カナダのスキー場には他に、バンフ近郊のスキー場、レイクルイーズ、サンシャインビレッジスキー場にも行ってきました。どれも良かったです。
また行きたいですね。でも、あのロングコースに足が持たないでしょう。やはり、若いときに行くべきですね。。。
  1. 2010年02月15日 06:04 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

キャラクタ描画テスト回路の実機デバック1

前回、キャラクタ描画テスト回路のインプリメントをして、実機にダウンロードしてテストしてみたが、おかしな画面になってしまった。もう一度、シミュレーションをしてみることにした。
シミュレーションしてみたのが、下の画面。
Bitmap_VGAC_debug_3_100214.png

あれ?clk_vgaのクロックがでていない。以前のシミュレーション波形を下に示す。
Bitmap_VGAC_debug_2_100211.png

やはり、clk_vgaがでていない。Verilogソースは、”キャラクタ描画テスト回路のインプリメント1(TIG制約)”で”最初にVGA信号用のDCMとDDR2 SDRAM用のDCMを同じクロック入力パッドから入力していたので、片方のクロック配線が一般配線に回ってしまうというエラーが出てしまった。これは、DDR2 SDRAM用のDCM出力 (BUFG出力) からVGA信号用のDCMのクロック入力につなぐくことにして問題解決。”というところしか、いじってないので、ここが悪いのだろう?
DDR2 SDRAM用のDCMのLOCKED信号を反転して、VGA信号用のDCMのリセットに入れることにした。この対策をした結果、clk_vgaも出力されて、元のシミュレーション波形と一致した。
とりあえず、インプリメントして、実機で見てみた。少し画面は変化したが、あまり変わらない。
次に、キャラクタ生成コントローラへのGRNATを止めてみた。つまり、画面には何も書かないようにした。そうしたところ色はなくなったが、まだ動いているように感じる画像だった。
次に、シミュレーションで確認してみようと思ったが、時間とディスク容量がかかりすぎるので、このままでは無理だ。そこで、VGA信号のタイミングをいじることにした。垂直関係の信号を下のようにいじってみた。(パラメータ化しておくと、こういう時に一発でタイミングを変更出来て便利だ)

parameter V_ACTIVE_VIDEO = 2;
parameter V_FRONT_PORCH = 0;
parameter V_SYNC_PULSE = 1;
parameter V_BACK_PORCH = 0;
// parameter V_ACTIVE_VIDEO = 768;
// parameter V_FRONT_PORCH = 3;
// parameter V_SYNC_PULSE = 6;
// parameter V_BACK_PORCH = 29;


これで垂直同期までシミュレーションで現実的な時間で見ることが出来る。
シミュレーションを下の図に示す。
Bitmap_VGAC_debug_4_100215.png

hsyncxとvsyncxが水平同期と垂直同期だ。問題なさそう。
次に、pixel_afifo_rd_enの長さを測る。15,753,848psecだった。これをクロックの65MHzの逆数で割ると、約1024となり(ぴったりには割れないが、誤差かな?)、非同期FIFOから読み出しているデータ数にも問題はなさそう。

今のところ、どこが問題なのか良くわからなくなってきたので、ビットマップVGAコントローラ単体で、適当なデータを与えて表示させてみようと思う。やはり、単体テストを行わないのは、まずかったか?やはり、単体テストからですね。当たり前か。。。
  1. 2010年02月15日 05:35 |
  2. VGAコントローラ
  3. | トラックバック:0
  4. | コメント:0