OSQZSS

オープンソース準天頂衛星(QZSS)受信機

Qsysにコンポーネントを追加

2011-12-23 14:22:49 | FPGA
FPGAの部屋のまとめサイトで掲載されているSPOC Builderのページを参考に,
Qsysに新しいコンポーネントを追加してみました.

多くのサイトで参考文献として見かけるFPGA技術 Vol. 5は,当面再販が
ないとのことで残念です…

DE0-Nanoには,DE0のように7セグLEDが付いていませんので,8個のLEDを
点滅させることにします.Sim's blogの記事を参考に作成した前回の回路では,
Qsys付属のPIOを使用していますが,今回はこれを自分のコンポーネントで
置き換えることにします.

まず,Nios IIからPIOを制御するためのMyPIO.vを準備します.あるアドレスに
8ビットの値を書き込むことで,それに対応したLEDをon/offすることができます.

(クリックでコード表示)

次に,Qsysを立ち上げ,前回と同じ要領でPIOなしのシステムを構成します.

(クリックで拡大)

QsysにMyPIO.vを登録するために,new componentをクリックしてComponent Editorを
立ち上げます.



Component Editorでは,まずHDL FilesのタブでAddボタンをクリックしてMyPIO.vを追加します.
ErrorやWarningは気にせず,これから解決してゆきます.

(クリックで拡大)

次に,Signalsのタブで,ledを外部信号として登録します.Interfaceにnew conduit,
Signal Typeにexportを選びます.これで外部信号と認識され,WarningとErrorが
ひとつ消えます.

(クリックで拡大)

Interfacesのタブでは,まずresetのAssociated clockとして,clockを選択します.
これでErrorがまたひとつ消えます.

(クリックで拡大)

次に,avalon_slave_0のAssociated resetとして,resetを選択します.
これで,Errorがすべて消えます.

(クリックで拡大)

最後に,Library Infoのタブで,Display nameとGroupを指定し,Finishボタンを
クリックします.

(クリックで拡大)

これでMyPIOがQsysに登録され,Peripheralsの下に表示されます.



MyPIOをダブルクリックすると,システムにMyPIO_0が追加されます.
前回のPIOと同様にConnectionsを接続し,Baseを0x00000030に設定します.

(クリックで拡大)

最後に,GenerationのタブからGenerateボタンをクリックし,システムを生成します.

後の手順は,前回とまったく同じです.Nios II Software Build Tools for Eclipseで
LED点滅のプログラムを作成し,無事にDE0-Nanoでの動作が確認できました.
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Nios IIでLEDの点滅 | トップ | GlobalTop PA6C »
最新の画像もっと見る

コメントを投稿

FPGA」カテゴリの最新記事