FPGAの部屋FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。IDEでファームを作って動作チェックをしてみることにした。Quartus2のProgrammerでボードに書き込んでみた。すると7セグメントLEDはオール0を表示した。合っているが、少し明るさが暗い感じだ。ダイナミック点灯の1KHzに周波数が高すぎるのか?それとも分周をミスって周波数が高いのかはわからない(オシロを持っていないので)後で実際に値を表示してみればわかると思う。IDEを立ち上げて、新しいboard_diagを作った。ダイアログが起動した。Diagnosticsテンプレートを生成した。Projectを選択してプロジェクトをビルドした。configurationが出来ていた。AvalonMM_Slave_Dyna7segこれからファームを書いて、7セグメントLEDをテストしする。最初にboard_diag.cの既存の7セグメントLEDのテストルーチンを改造した。オリジナルは2ケタの7セグメントLEDに00からFFの表示をするものだった。今回のボードは8桁あるので、2桁ずつ00からFFまで表示するようにした。下にそのCコードを示す。その結果、表示が全く読めない。全部のLEDに同じ数字がそろうときにはきちんと読むことができる。次に、先ほどのコードをしたように変更して、全部の7セグLEDに同じ表示が出るようにした。count&0xf);usleep(500000);}}そうするときちんと表示されてたのだが、Dを表示した後にFになっている。Eが抜けているようだ。Eを表示する記述を書き加えた。表示がおかしいのは、7セグLEDのダイナミック点灯の周波数が高くて、スイッチング用のトランジスタが間に合っていないのが原因じゃないかと思う。Projectを行った。今度はEは点灯したが、やはり表示がおかしい。