FC2カウンター FPGAの部屋 Virtex5のお勉強(PLLのテスト)
FC2ブログ

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

FPGAの部屋

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

Virtex5のお勉強(PLLのテスト)

Virtex5のお勉強としてPLLをCoreGenで作ってみた。どうせシビアなテストは出来ないが、どんなもんかだけでもやってみようと思った。
WebPACKで唯一出来る xc5vlx30 でプロジェクトを作った。最初にNew Source... で IP を選択して PLLtest1 という名前をつけて FPGA Features and Design -> Clocking -> Virtex-5 -> Choose wizard by component -> PLL ADV v9.1i を選択する。
PLLtest_V5_1_070310.png

PPL_ADVの選択ウイザードが走る。デフォルトでは CLKOUT0 にしかチェックがついていないので、 CLKOUT1 から CLKOUT5 までチェックをつけた。更に、Clock Jitterに100psを設定した。
PLLtest_V5_2_070310.png

wizardの次の画面に行くと、出力周波数と位相、デューテイ比を設定する。最初は全部のクロックが100MHzなので、CLKOUT_DIVIDE をいじって周波数を変えてみる。下の画面のように変えてみた。最初にやってみた時は、位相が-360になってしまったり、 デューティ比が中途半端のものがあったが、IPのアップデート (ISE 9.1i IP Update 1) をかけたら?直ったような気がする。
PLLtest_V5_3_070310.png

後はwizardを進めていってPLL_ADVを作った。その後、簡単なトップファイル (PLLtest_top.v) を作った。入力をそれぞれのクロックでシフトレジスタとして2つのDFFをカスケード接続した簡単な回路だ。なぜシフトレジスタとしたかというと、最大動作周波数を見るためだ。
PLLtest_V5_4_070310.png

UCFファイルは入力周波数を入れているだけだ。UCFにINPUT_JITERの設定項目が増えている。

NET "CLKIN1_IN" TNM_NET = CLKIN1_IN;
TIMESPEC TS_CLKIN1_IN = PERIOD "CLKIN1_IN" 10 ns INPUT_JITTER 100 ps;


これでインプリメントしてPARリポートを見てみると動作周波数ごとに Worst Case Slack、Best Case Achievable、Timing Errors が表示される。これは動作周波数というかクロック周期の制約をあたえたからだが。ISE9.1iから表示が変わって、 Worst Case Slackの値の意味が良くわからない。SETUPの方は Best Case Achievable(クリティカルパス)をクロック周期から引いた値みたいだが、(SETUPだからそうか?)HOLDの方が良くわからない。マニュアルやアンサー・サーチを見てみたが良くわからないし。今のところナゾである。わかる方は教えてください。
PLLtest_V5_5_070310.png

次はModelSimとVeritakでシミュレーションしてみようと思う。
  1. 2007年03月11日 07:55 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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