FC2カウンター FPGAの部屋 Spartan-3A Starter KitでEDKを使ってカメラ表示7(FIFO容量の修正)
FC2ブログ

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

FPGAの部屋

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

Spartan-3A Starter KitでEDKを使ってカメラ表示7(FIFO容量の修正)

Spartan-3A Starter KitでEDKを使ってカメラ表示6(PLBV46 Master Burstのバースト転送)”の続き。

主な作業は週末にやることにして、今日は、今まで作ったSpartan-3A Starter Kit のCamera ControllerやDisplay ControllerのVerilogコードを修正することにした。

元にするSpartan-3A Starter KitでCMOSカメラ・ディスプレイ回路のブロック図を示す。(Spartan-3A Starter KitでCMOSカメラ・ディスプレイ回路1(ブロック図)
CamDispCntrler_DDR2_1_100708.png

上図でARBITERから下は、XPSの回路に任せることになる。Camera ControllerとDisplay Controllerはそれぞれ独立のモジュールとして、それぞれ別のPLBバスにぶら下がることになる。


まずは、FIFOの容量から、今まではすべての回路が自分の作った回路でレイテンシやスループットを計算できたので、必要なFIFOの容量が計算できたが、今回は、PLBやIPICなどのバスやそのラッパーなどを通っているし、マルチポート・メモリ・コントローラ(MPMC) のレイテンシやスループットも分からない。よって、FIFOの容量は、同じBRAMの個数で構成できる最大の容量にしておくことにした。

まずは、Camera Controller のcam_cont_afifoから修正する。
camara controller のブロック図を下に示す。
CamDispCntrler_DDR2_2_100709.png

上図の非同期FIFOがcam_cont_afifoだ。cam_cont_afifoの出力にラッパー回路を通して、IPICに接続する。
現在のFIFO容量は、入力が16ビット幅64深度で、出力が32ビット32深度だ。これで使用しているBRAMは1となる。
Spa3A_SKit_OV7670_52_110826.png

これでも十分な気はするが、最大にすると入力が16ビット幅1024深度、出力が32ビット幅512深度になる。これでは、相当大きいので、今までの4倍の量にすることにした。入力が16ビット幅256深度、出力が32ビット幅128深度とした。
Spa3A_SKit_OV7670_53_110826.png

Read Data Countを使用しているので、そこのビット幅を5ビットから7ビットに変更した。後は変更する部分は無いので、下の構成でGenerateした。
Spa3A_SKit_OV7670_54_110826.png


次に、display controller のcam_data_afifoの容量を修正する。display controller のブロック図を下に示す。
CamDispCntrler_DDR2_3_100709.png

上図の非同期FIFOがcam_data_afifoだ。
こちらは、入力が32ビット幅で128深度、出力が16ビット幅で256深度だったので、4倍の、入力が32ビット幅で512深度、出力が16ビット幅で1024深度とした。
Spa3A_SKit_OV7670_56_110826.png

こちらは、Write Data Countを使用しているので、7ビット幅から9ビット幅に変更した。
下の構成でGenerateした。
Spa3A_SKit_OV7670_57_110826.png

これでFIFOの容量の変更は終了した。

Camera ControllerとDisplay Controllerは、カメラやディスプレイ用のクロックを上位モジュールから、もらっていた。それぞれ別にDCMを付けて、25MHzを生成する必要があるので、そのように修正する。
  1. 2011年08月26日 05:42 |
  2. EDK
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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