FC2カウンター FPGAの部屋 SP605でPCIe Coreを生成してみる2(シミュレーション)
FC2ブログ

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

FPGAの部屋

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

SP605でPCIe Coreを生成してみる2(シミュレーション)

SP605でPCIe Coreを生成してみる”でSP605のPCIeコアを生成した。シミュレーションしてみることにした。

sp605_pcie_ISE121\s6_pcie_v1_3\simulation\functionalフォルダに行くと、simulate_isim.batがある。これをコマンドプロンプトから起動した。次々にコンパイルしていったが、待っても待ってもGUIが上がってこない。そのうちにシミュレーションが終了してしまった。
simulate_isim.batを読むと、どうやらGUIモードではなく、バッチモードでシミュレーションしてしまったようだ。GUIモードにするために、コマンドプロンプトから下のコマンドを入力して、起動した。

demo_tb.exe -gui -view wave.wcfg -wdb wave_isim


simulate_isim.batには、自動的にRun Allするようにtclスクリプトもついていたが、自分で信号を追加したかったので、tclスクリプトは除いて起動した。
GUIモードで起動したので、Spartan-6のPCIeハードIPの信号も波形ウインドウに追加した。
Instance and Process Nameパネルから、board -> EP -> s6_pcie_v1_3_jを選択して、Object Nameパネルに表示された信号を波形ウインドウにドラックアンドドロップした。
SP605_PCIe_18_100514.png
(上の図はすでにシミュレーションが終了した状態で、説明用に操作しています)

追加した波形をグループに登録する。波形ウインドウにドラックアンドドロップした信号のところで右クリックして、メニューからNew Groupを選択する。
SP605_PCIe_19_100514.png

New Groupができるので、そこに名前を入力する。今回は、s6_pcie_v1_3_jと入力した。これで、右の三角をクリックすると、信号波形が展開され、もう一度三角をクリックすると、折りたたまれて、それらの信号を見ない場合は見やすくすることができる。

さて、シミュレーション波形を下に示す。まだ、何をやっているかがよく分からない、マニュアルを読む必要があるようだ。
SP605_PCIe_20_100517.png

これでシミュレーションエンドまでの波形を表示している。さて、信号のやりとりをしているところを拡大する。その領域を拡大するためには、CTRLキーを押しながら、マウスの左クリックをしながら、赤い四角の右下にドラックする。(ちなみに右上がZoom Out、左上がZoom Fit、左下がZoom In)
SP605_PCIe_21_100517.png

何をやっているのかよく分からない。でもどうやら、P605のPCIeコアは、トランザクション層のパケットのやりとりはしていないようだ。
ISimのログを下に示す。

Simulator is doing circuit initialization process.
Running default test {sample_smoke_test0}......
[ 0] : System Reset Asserted...
Finished circuit initialization process.
[ 399600000] : System Reset De-asserted...
[ 960680600] : Transaction Reset Is De-asserted...
board.EP.s6_pcie_v1_3_i.PCIE_A1.B_PCIE_A1_INST.SHIP.SHELL.BUT.pcie_pcie_inv.pcie_pcie.pcie_core.xil_pcie_sa_mod18.xil_pcie_sa_mod19.com.tlm.u_tlm_rx.xil_pcie_sa_mod75 checking
[ 1894626600] : Transaction Link Is Up...
[ 1895816600] : TSK_PARSE_FRAME on Transmit
[ 2233396600] : TSK_PARSE_FRAME on Receive
[ 2295792600] : Check Device/Vendor ID - PASSED
[ 2296992600] : TSK_PARSE_FRAME on Transmit
[ 2559776600] : TSK_PARSE_FRAME on Receive
[ 2696968600] : Check CMPS ID - PASSED
[ 2696968600] : SYSTEM CHECK PASSED
[ 2696968600] : Expected Device/Vendor ID = 000710ee
[ 2696968600] : Reading from PCI/PCI-Express Configuration Register 0x00
[ 2698168600] : TSK_PARSE_FRAME on Transmit
[ 2962954600] : TSK_PARSE_FRAME on Receive
[ 3098146600] : TEST PASSED --- Device/Vendor ID 000710ee successfully received
[ 3098546600] : Reading Cfg Addr [0x00000001]
[ 3102143800] : Writing Cfg Addr [0x00000001]
[ 3105744200] : Reading Cfg Addr [0x00000001]
Stopped at time : 31086447 ps : File "H:/HDL/FndtnISEWork/Spartan6/sp605_pcie_ISE121/s6_pcie_v1_3/simulation/tests/tests.v" Line 131


今回は、ISimの使い方の覚書を書きながら、シミュレーションをしてみた。
PCI Expressについて本を購入して勉強中だ。今日にもまた新しい本が来る予定。
  1. 2010年05月17日 05:24 |
  2. Spartan-6 FPGA SP605 評価キット
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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