FC2カウンター FPGAの部屋 2006年05月06日
FC2ブログ

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

FPGAの部屋

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

スパルタン3EスターターキットのLCD表示回路4

LCD_sample_Disp_060506.jpg


結構PicoBlazeのアセンブラにバグがありましたが、LCDに表示できるようになりました。
一番の原因はカーソルをホームポジションに戻すコマンドを入れてからのウエイト時間が足りなくてめちゃくちゃな値を表示していたようです。
これでDDR SDRAMの書き込み、読み出しデータを表示する環境が整いましたので、DDR SDRAMコントローラと組み合わせてみようと思っています。
後でLCD表示回路を公表しようと思います。起動時に動くLCD表示回路のXilinxのアセンブラプログラムはアセンブラの書き方の例を見ただけでアイデアも参考にしていませんし、このLCD表示回路は私のオリジナルといえると思いますので。
ただし、PicoBlaze本体などは著作権の関係から抜いておきますので、Xilinxからダウンロードしてもらうようにしようと思います。
  1. 2006年05月06日 21:13 |
  2. Spartan3E Starter Kit
  3. | トラックバック:0
  4. | コメント:0

スパルタン3EスターターキットのLCD表示回路3

LCD表示回路も大分できて来たと思う。
アセンブラも書いて、シミュレーションをしてみた。
アセンブラを書くのは大変で、PicoBlazeのアセンブラを覚えるのは大変だと思っていたが、そんなに大変じゃないみたい。
久しぶりのアセンブラで楽しかった。こんなにアセンブラをやったのは大学時代にZ80プロセッサの独自パソコンを作った時以来だ。
当時はアセンブラも最初はなく、ハンドアセンブルでトグルスイッチでぱちぱち入れていた。
そのうちにテープリーダ、テープパンチャインターフェースを作って、インターフェースに載っていたアセンブラをASR-33でテープパンチして入力したものだ。
そのころは、テープを見てデータがわかったものだ。テープをすかしてデータを見て、ここが違っているとわかった。その前までASR-33でコピーして、もう一度テープパンチしたものだ。

余談はここまでにして、実際のシミュレーション波形を見てみる。
FPGA LaboratoryModelSim® XE Ⅲ 6.0dによるPicoBlaze™のシミュレーションを参考にして、PicoBlazeのオペレーションコードやレジスタの値を表示してみた。
LCD_sample_sim_3_060506.png


次に4ビット幅の初期化アクセスを確認した。スパルタン3EスターターキットのLCD表示回路2の出力ポート番号0のbit2(4bit access)が1の時の動作だ。LCDのデータバスは4ビットだが初期化のために4ビット1回だけ書き込む場合である。(スパルタン3EスターターキットのLCD表示回路1参照
LCD_sample_sim_1_060506.png


次にLCDにキャラクタや制御コードを書くために上位4ビットを書いて、1us waitして下位4ビットを書く時のシミュレーションを示す。
LCD_sample_sim_2_060506.png


これはキャラクタの1(31)を書き込んだ時のシミュレーション波形だ。大体大丈夫そうなので、スパルタン3Eスタータキットにコンフィギュレーションしてみようと思う。うまくいくかどうかお楽しみ。
完全にシミュレーションの結果を精査していないのでバグはあると思う。
  1. 2006年05月06日 10:35 |
  2. Spartan3E Starter Kit
  3. | トラックバック:0
  4. | コメント:0