特電FX3評価ボード>FPGAの設計

FPGAの設計

FPGAの設計について

特電が提供するFPGAのサンプルデザインは、次のような構造になっています。

 

 

main.vhdがメインのモジュールです。

fx3sfsync16.vhdとfx3sfsync16p.vhdが特電の提供するFX3インタフェース用コアです。

(blogana.vhdは、当社の提供するJTAGデバッグ用コアです。これは削除していただいて構いません。)

IPコアの使い方についてはこちらのページをご覧ください。

 

xorshiftは、テスト用の乱数発生回路です。また、検証用にランダムなタイミングのWAITを発生させるためにも用いています。

bigmemは、128kBのメモリ(BlockRAM)です。

tkdnmcb.vhdは、MCBをカプセル化したメモリコントローラで、Spartan-6ボード上のDDR2 SDRAMにアクセスするために使います。

main.ucfはピン配置などの制約ファイルです。

 

これらのモジュールの関係を図示すると次の図のようになります。

 

USBに対してデータを送信するモジュール(IN転送時のデータソース)は、XorShift、内蔵レジスタ、BigMem、tkdnmcbの4種類です。これらのどのモジュールが使われるかは、flag[1:0]によって選択されます。

 

各モジュールについて

Xorshiftは、32bitの乱数を発生させる回路です。1回の演算で32bit単位で出てくるので使いやすく、また、乱数の周期は2^128と長いのが特徴です。

 

内蔵レジスタは、32bit×16本のレジスタセットです。VHDL上でireg0〜ireg15というレジスタがそれです。このレジスタには機能は割り当てられておらず、書き込まれた値を保持して読み出せるようにしているだけです。このレジスタはお客様のユーザデザインで何らかの機能を持ったレジスタを作る際のひながたとして用意しています。

 

tkdnmcbは、Spartan-6基板上のDDR2 SDRAMにアクセスするためのコアです。DDR2 SDRAMにクロック200MHz(データレートは400MB/sec)でアクセスします。MCBのポート0をUSB用に使用しています。残りのポートは未使用なので、データキャプチャやCMOSイメージセンサなどをつなぐ際のひな形としてご利用ください。

 

bigmemは、CoreGenで生成したBlockRAMです。内蔵BRAMにアクセスする際のひながたとしてご利用ください。

 

IPコアの使い方についてはこちらのページをご覧ください。

 

論理合成時の注意

ISEで論理合成する際に、Generate Programming Fileで右クリックし、Configuration Optionsのプロパティを出し、Unused IOB PinsをPull Upに必ず変更してください。

 

 

 


Copyright(C) 2012-2013 TokushuDenshiKairo Inc. All rights reserved.

 


© 2015 TokushuDenshiKairo Inc. All rights reserved