FC2カウンター FPGAの部屋 ISE10.1iのChipscope Proチュートリアル3 (Verilog版DDR SDRAMコントローラのテスト回路)
FC2ブログ

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

FPGAの部屋

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

ISE10.1iのChipscope Proチュートリアル3 (Verilog版DDR SDRAMコントローラのテスト回路)

ISE10.1iのChipscope Proチュートリアル2 (Verilog版DDR SDRAMコントローラのテスト回路)の続き。

ChipScope Core Inserter を終了してISEに戻ったところから。
ISEに戻ったらSource ペインでtop (DDRtest.v) をもう一度選択して、Porcesses ペインのGenerate Programming File をダブルクリックして、.bitファイルを作成する。
Chipscope_tutorial_22_080330.png

終了したら、その下のAnalyze Design Using Chipscope をダブルクリックして、Chipscpe Analyzerを起動する。
Chipscope_tutorial_23_080402.png

Chipscpe Analyzerが起動する。

なお、ここまでにSpartan3E Starter Kitを準備して、電源を入れ、USBケーブルを接続しておくこと。
Chipscope_tutorial_24_080402.png

ピンクの四角で囲ったアイコンをクリックすると、ケーブルをサーチして初期化してくれる。
Chipscope pro Analyzer のダイアログが開く。Spartan3E Starter Kit だと XC2S500E, XCF04S, XC2C64A の3つのデバイスが見つかる。
Chipscope_tutorial_25_080402.png

OK ボタンをクリックする。
今度はbitファイルをSpartan3Eにコンフィギュレーションしよう。
DeviceメニューのDEV:0 MyDevice0 (XC3S500E)... -> Configure... を選択する。
Chipscope_tutorial_26_080402.png

Chipscope pro Analyzer [new project] のダイアログが開く。ここではコンフィギュレーションするbitファイルを選択するためにSelect New File ボタンをクリックしよう。
Chipscope_tutorial_27_080402.png

ファイルを選択するダイアログが開く。
Chipscope_tutorial_28_080402.png

ddrtest.bit を選択して、開くをクリックする。
Chipscope pro Analyzer [new project] のダイアログに戻る。今度はFile: のところに ddrtese.bit が入っていると思う。
Chipscope_tutorial_29_080402.png

OK ボタンをクリックする。
ddrtest.bit がFPGAにダウンロードされて、Waveformペインが開く。信号名はまだDataPort[?]で入っていない。今度はこの信号名を.cdc ファイルからロードしよう。
Chipscope_tutorial_30_080402.png

Fileメニュー -> Import... を選択する。
Chipscope_tutorial_31_080402.png

Signal Import ダイアログが開く。
Chipscope_tutorial_32_080402.png

Select New File ボタンをクリックする。
Chipscope Pro Inserter の時に入力したファイル名、DDRtext_cs_test.cdc を選択する。
Chipscope_tutorial_33_080402.png

”開く”ボタンをクリックする。
Signal Import ダイアログのFile: のところにDDRtext_cs_test.cdc が入っていると思う。
Chipscope_tutorial_35_080402.png

OK ボタンをクリックする。
そうするとWaveform ペインにファイル名が入る。
Chipscope_tutorial_36_080402.png

このままでは見にくいので、データバスはまとめようと思う。
まずは、まえの図ですでに展開してしまったが、前の前の図を見ると左下のSignalsペインにある Data Port を展開しよう。Data Port の左側の丸に横棒のアイコンをクリックして、Data Portを展開すると図のようになる。
左下の Signals ペインでout_data<0> ~ out_data<31>をすべて選択する。そこで右クリックし、メニューから Add to Bus -> New Bus を選択する。
Chipscope_tutorial_37_080402.png

そうすると、左下の Signals ペインの上にrddata_fifo_inst/out_data というバスができる。
Chipscope_tutorial_38_080402.png

すべてのデータをバスにしてから、Waveformペインの波形を一旦消去しよう。
Waveformペインで右クリックして、メニューを出し、Clear All を選択する。
Chipscope_tutorial_39_080402.png

そうするとWaveformペインがオールクリアされるので、左下のSignals から信号をWaveform ペインにドラックアンドドロップしていく。
Chipscope_tutorial_40_080402.png

すべてドラックアンドドロップし終えたところ。太字になっているのはバスの信号。バス信号はWaverform ペインの左端に丸に横棒の図形があるがこれをクリックすると各要素に展開する。
Chipscope_tutorial_41_080402.png

次に左上のProject ペインから Trigger Setup をダブルクリックして、Trigger Setup画面を出す。ここでトリガ条件を設定しよう。
一番上のMatchペインは、どの信号でトリガをかけるかを指定する。Xは無視なとなる。Functionが== なので、現在は read_error が1のときにトリガがかかる設定になっている。
次に一番下の Captureペインを設定しよう。ここではPosition を設定している。これは、トリガからここで設定したクロック前までキャプチャしたデータを残すという設定だ。今は1000になっているが、これはread_errorが出てから1000クロック前まで観測できることになる。エラーを観測するときには、エラーが出た後は関係がなくて、出る前にどのような条件でエラーが出たかが問題になるので、ここの値は大きい値になるはずである。
Chipscope_tutorial_42_080402.png

これで準備はOKなので、Capture をはじめよう。
ピンクで囲った三角アイコンをクリックするとCapture が始まり、トリガ条件が満足すると波形が表示される。
Chipscope_tutorial_43_080402.png

これが read_error が出たところの波形だ。
Chipscope_tutorial_44_080402.png

運良く read_error が出て観測することができた。
早速、トラブル・シュートを開始。DDR SDRAM本体ではなく、テスト回路のバグだということがわかり修正した。修正後、20分間放置しても read_error はでなくなった。

最後に今まで設定したバス信号やトリガ条件をプロジェクトにセーブしておこう。ここまま終了してはバスにする作業やトリガ条件を設定する作業をもう一度行う必要が出てしまう。
Fileメニュー -> Save Project As... を選択する。
Chipscope_tutorial_45_080402.png

Save Project As のダイアログが開くので、ファイル名を入れて、保存ボタンをクリックしよう。
Chipscope_tutorial_46_080402.png

これでプロジェクトがセーブできたので、次回からはプロジェクトをオープンすれば、今やった設定を再設定しなくてもすむ。

これでChipscopeのチュートリアルは終了とする。長い間見ていただいてありがとうございます。
ここで行ったサンプルのプロジェクトを後日ブログにアップするので、Spartan3E Starter Kitを持っている人はぜひChipscopeを動かしてみてほしい。その際に、read_error が出ないかどうかをレポートしてください。他のボードでも read_errorが出ないかどうかに興味がある。
Chipscopeはボードがないと試せないところが、ボードを持っていない方には残念だ。
  1. 2008年04月04日 05:33 |
  2. Chipscope
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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