FC2カウンター FPGAの部屋 2011年07月20日
FC2ブログ

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

FPGAの部屋

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

AXIバスのEDKチュートリアルを試す8(カスタムIPを作る2)

AXIバスのEDKチュートリアルを試す7(カスタムIPを作る1)”の続き。(使用するISEのバージョンは13.1)

1.前回のCIP Wizardでpcores -> blink_v1_00_a -> hdl -> vhdl には、blink.vhdとuser_logic.vhdの2つのファイルが生成された。
SP605_AXI_EDK_83_110720.png

・user_logic_.vhdは、”カスタム機能”ブロック
・blink.vhdは、”AXIスレーブ”ブロック
カスタム・ロジック・インターフェースは、IPIC信号を使うそうだ。
SP605_AXI_EDK_78_110719.png

このチュートリアルで作成するカスタム・ペリフェラルは、ボードの4個のLEDを点滅させるロジックだそうだ。

EDK Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design EDK 13.1 (UG683 April 13, 2011)の58ページのTake a Test Drive! Modifying the CIP Wizard Template Filesのチュートリアルを行う。
・CIP Wizardで生成したblinkのコードを変更する。
・コントロール・レジスタを1つ生成したが、それはカウンタのイネーブル、ディスエーブルする機能を持つ。
・カウンタは、バス・クロックで減算されて、LEDの点滅に使用される。

2.XPSのFileメニューからOpen...を選択して、pcores -> blink_v1_00_a -> hdl -> vhdlフォルダのblink.vhdを選択して開く。133行目にLEDsポートの宣言を追加する。
SP605_AXI_EDK_84_110720.png

3.更に、297行目にuser_logicのポート記述を追加する。
SP605_AXI_EDK_85_110720.png

4.blink.vhdをセーブする。

5.XPSのFileメニューからOpen...を選択して、pcores -> blink_v1_00_a -> hdl -> vhdlフォルダのuser_logic.vhdを選択して開く。101行目にポート宣言を追加する。
SP605_AXI_EDK_86_110721.png

6.更に、212行目からにカウンタの記述を追加した。
SP605_AXI_EDK_87_110721.png

7.チュートリアルには書いてなかったが、countのsignal宣言を書いた。

signal count : std_logic_vector(27 downto 0);


・IP2Bus_Dataは、プロセッサのリード動作で読まれるデータをIPから出力する。
・IP2Bus_WrAckは、プロセッサからのライトのアクノリッジ信号だそうだ。0Waitでも良いし、ライトに時間がかかるならば、完了するまでIP2Bus_WrAckを1にアサートせずにWaitさせる。このサンプルでは、IP2Bus_WrAckにslv_write_ackを直結していて、0waitで動作する。
・IP2Bus_Errorは現在は0に接続されて、エラー無しの状態になっている。カスタムIPの状況によっては、例えばタイムアウトが発生したときに1にアサートすれば、バス転送が終了する。

AXIバスのEDKチュートリアルを試す9(カスタムIPを作る3)”に続く。
  1. 2011年07月20日 05:51 |
  2. EDK
  3. | トラックバック:0
  4. | コメント:0