FC2カウンター FPGAの部屋 ISERDESのお勉強の続き2
FC2ブログ

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

FPGAの部屋

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

ISERDESのお勉強の続き2

ISERDESのお勉強の続き1の続き。

制約したタイミングが表示されるところから。
(注:ISEに Timinig Analyzer や Floorplan Editor が統合されているはVirtex4やVirtex5、Spartan3Aのデバイスのみです。その他は、 Timinig Analyzer 単体起動、 Floorplan Editor は起動しないようです)
Soucesウインドウの"TS_clkdiv = PERIOD TIMEGRP "clkdiv" TS_clk_in *5 HIGH 40%"を展開して、data_0からdata_9までの10種類のパスを開こう。そのうちのdata_1をクリックして、右に表示すると、clkdivについてのトータルの遅延は3.193 nsだった。
ISERDES_Verilog_5_071117.png

さらに、data_internal<1>をクリックして、Floorplan Editorを立ち上げてみよう。
チップ全体が表示されるので、アイコンの上の列の左から5番目、Zoom to Selected をクリックして、配線をズームする。
ISERDES_Verilog_6_071117.png

そうすると上のように表示される。
さらに、ピンクの四角で囲ったToggle Visibility of Routiing アイコンをクリックし、その右のアイコンも下の図と同様にクリックしよう。
ISERDES_Verilog_7_071117.png

今度はすべての配線が水色の線で見えているはずだ。下の図と同様に見えると思う。
カーソルを配線にポイントすると、配線遅延がポップアップされる。clkdivの配線遅延は0.567 nsだ。
ISERDES_Verilog_8_071117.png

Toggle Simplified and Actial Views をクリックして、Actial Viewにしてみよう、いままでのViewはSimplified Viewだろうと思う。下の図はもうすでにActial Viewになっている。Actial Viewにするとだいぶ様子が変わってしまう。
さらにズームすると、ちょうどFPGA Editorで見ているように表示されている。Simplified Viewの配線の見た目の長さは当てにならないのかもしれない?
ISERDES_Verilog_9_071117.png

今度はclk_inのタイミングが解析されていないのが気になるので、clk_inポートからISERDESクロック入力ポートまでの遅延とDinポートからISERDESのD入力ポートの遅延の差を比べてみようと思う。
まずはISEのTiming Constarnts Analysis Report 1のタブをクリックして、Timinig Analyzerに戻そう。
AnalyzeメニューからAgainst Use Specified Pathsを選んで、その下のby Defining Endpoins... をクリック。
ISERDES_Verilog_10_071117.png

Analyze against Use Specified Paths by Defining Endp...ダイアログが開くので、Padsを展開してclk_inをSourcesの>ボタンをクリックして、Resourceに追加する。
ISERDES_Verilog_11_071117.png

Netsを展開して、iobclkをクリックして、Destinationsの>ボタンをクリックして、Resoucesに追加する。
ISERDES_Verilog_12_071117.png

そうしたら、OKボタンをクリックする。これでclk_in入力からiobclkネットまでの遅延が算出できる。下の図のように、1.994ns だった。
ISERDES_Verilog_13_071117.png

同様に、Din入力から、Din_IBUFネットまでの遅延を測る。Tisdck Dがなんだか、いまいちわからないがdata_chan_masterの入力遅延だろうか? それを入れても1.358ns だ。
ISERDES_Verilog_14_071117.png

結局、Dinよりもclk_inの方が遅延が大きいので、DDR2-SDRAMのDQとDQSに割り当てたときには、その辺の遅延関係も考慮しなければならないだろう。これだとDQSでデータを取っても大丈夫かもしれないがリードの時のイネーブルを作るのが難しそうだ。今度はグローバルクロックをISERDESのクロックに入れたときどうなるかを調べて見ようと思う。
また、DQSをグローバルクロックの位相と同じになるように遅延させて、その遅延させたDQSでサンプルできるように、DQを遅延調整しても良いかな?
  1. 2007年11月19日 20:44 |
  2. Virtex4のお勉強
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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