FC2カウンター FPGAの部屋 2013年03月21日
FC2ブログ

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

FPGAの部屋

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

AX4 Master IPにAXI4 Lite Slave インターフェースを追加1(仕様の検討)

CMOSカメラ・インターフェース回路とビットマップ・ディスプレイ・コントローラにフレームバッファのスタートアドレスを指定するためのレジスタを付けようと思っている。これは、ZedBaordのLinux で確保されたフレームバッファ (FB) のスタートアドレスが変わるので、そのアドレスをLinuxから、CMOSカメラ・インターフェース回路とビットマップ・ディスプレイ・コントローラのレジスタに書き込んでおく。そして、その2つのAXI4 Master IPは、レジスタに書かれたFBスタートアドレスからFBを使用する。そうすれば、必ず領域を確保したFBを使用できて、他のLinuxプログラムを破壊することが無くなる。

まずは、CMOSカメラ・インターフェース回路とビットマップ・ディスプレイ・コントローラに付けるAXI4 Lite Slave の仕様を検討した。AXI4 Lite Slave バスについては下の2つのブログを参照のこと。

キャラクタROMをAXI4 Lite Slave として実装する1(AXI4 Lite バスの勉強)
キャラクタROMをAXI4 Lite Slave として実装する2(AXI4 Lite バスの勉強2)


・Write Transaction
(2013/03/22:Write Transaction を変更しました)
実際に作成するAXI4 Lite Slave バスのWrite Transaction のタイミングチャートを書いてみた。それを図1 に示す。
AXI4M_and_Lite_Slave_1_130321.png
図1 Write Transacion タイミングチャート

図1 の説明をすると、AWREADY を通常は 1 にしておく。ただし、Write Transaction を行なっている間は、、AWREADY を 0 にして、次の Write Transaction が始まるのを防ぐ。
Write data channel の WREADY は、常に 1 にアサートしている。よって、WVALIDが 1 にアサートされるのは、1クロックの間だけである。
Write response channel の BRESP は失敗の理由がないので、0 (OKAY) に固定する。

図1 の最初のWrite Transaction は通常に終了するが、60nsec にAWVALID を 1 にして始まる2つ目の Write Transaction は、60nsec には、AWREADY が 0 なので、Write addres channel を終了することができない。80nsec で AWREADY が 1 になるので、Write addres channel を終了することができた。
注:図1には WSTRB が書いてありますが、実際は、無視(すべてのバイトを有効に)します。

・Read Transaction
AXI4 Lite Slave バスのRead Transaction のタイミングチャートを書いてみた。それを図2 に示す。
AXI4M_and_Lite_Slave_2_130322.png
図2 Read Transacion タイミングチャート

図2 のAREADY のプロトコルはAWREADY と同様とする。後の信号は図2 を見てもらえばわかると思う。

この仕様で、2つのAXI4 Master IP(CMOSカメラ・インターフェース回路とビットマップ・ディスプレイ・コントローラ)にAX4 Lite Slave を追加していこうと思う。

なお、AXI4 Lite Slave 信号の定義は、C:\Xilinx\14.4\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_vdma_v5_04_a\hdl\vhdl\axi_vdma.vhd を参考にした。MPDファイルもあるので、いろいろと参考になる。
EDKで使用出来るIPについては、(全部かどうかは分からないが)C:\Xilinx\14.4\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores にIPのソースファイルがあるので、見てみると参考になると思う。
  1. 2013年03月21日 04:47 |
  2. 複数のAXI4 バスを持つIPの作製
  3. | トラックバック:0
  4. | コメント:0