FC2カウンター FPGAの部屋 Spartan-3A Starter KitでEDKを使ってカメラ表示26(独自にタイマーのカスタムIPを作る1)
FC2ブログ

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

FPGAの部屋

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

Spartan-3A Starter KitでEDKを使ってカメラ表示26(独自にタイマーのカスタムIPを作る1)

Spartan-3A Starter KitでEDKを使ってカメラ表示25(LCD、Rotary EncoderカスタムIPの追加3)”からのつづきなのだが、”xps_timerとxps_intcの使い方2(APIを使用する)”からの続きでもある。

xps_timerの割り込みがどうしてもSpartan-3A Starter Kitでうまく動かないので、timerのカスタムIPを作ろうと思った。
Simple MicroBlazeにtimer.vhdがあるので、これを接続してみることにする。Simple MicroBlazeのファイル・アーカイブ(xapp1141.zip)

smm_timerのスレーブ・カスタムIPを作成した。
今回は一般的なスレーブ・カスタムIPの作成手順を箇条書きにして示そうと思う。

1.XPSのCreate and Import Peripheral WizardでカスタムIPのスケルトンを生成する。

2.vhdlフォルダに自作VHDLファイルを追加、またはVerilogフォルダを作って、自作Verilogソースを追加。

3.dataフォルダの.mpdファイルに外部へのポートを宣言する。

4.dataフォルダの.paoファイルに2.で追加したHDLファイルのエントリを追加する。

5.XPSでProjectメニューから> Rescan User Repositoriesを選択して、プロジェクトの変更をXPSに認識させる。

6.Add IPして、XPSのプロジェクトに追加する。

7.XPSのBus Interfacesタブで、バスを接続する。(今回はmb_plbに接続した)

8.XPSのPortsタブで、AddしたカスタムIPの必要なポートを外部ポートにする。(今回はなし)

9.内部ポートの接続がある場合には、XPSのPortsタブで接続する。

10.Addressesタブでアドレスを確認。自動的に割り当てられていない場合は、自分で割り当てる。

11.外部ポートのUCFを追加する。(今回はなし)

12.XPSを終了して、Project Navigatorでインプリメントする。

13.Project NavigatorでEDKプロジェクトを選択して、Export Hardware Design To SDK with Bitstreamをダブルクリックして、SDKを起動。

14.SDKでソフトウェアを作って、FPGAボードにダウンロードする。


以上のような手順となる。
今回のsmm_timerの場合は、xps_timerとxps_intcを削除して、microblazeのINTERRUPTと接続した。
Spa3A_SKit_OV7670_117_111012.png

アドレスは、0x840E0000から64Kバイトをマップした。
Spa3A_SKit_OV7670_118_111012.png

UCFの変更はなしなので、Project Navigatorでインプリメントした。
Spa3A_SKit_OV7670_119_111012.png

  1. 2011年10月12日 06:04 |
  2. EDK
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/1934-107384ab
この記事にトラックバックする(FC2ブログユーザー)