FC2カウンター FPGAの部屋 XPS入りのPlanAhead14.1プロジェクトを作る2(XPSの設定、インプリメント)
FC2ブログ

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

FPGAの部屋

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

XPS入りのPlanAhead14.1プロジェクトを作る2(XPSの設定、インプリメント)

”XPS入りのPlanAhead14.1プロジェクトを作る1(プロジェクトの生成)”の続き。

前回は、XPS (Xilinx Platform Studio) のプロジェクトが出来たところまでだったが、PlanAhead14.1でインプリメントをしてみた。
XPSプロジェクト入りPlanAhead14.1のマニュアルがあった。それは、”PlanAhead User Guide UG632 (v14.1) April 24, 2012”だ。まだUSのXilinxサイトにしかなかった。これの82ページの”Managing Embedded Processor Sources”にやり方が書いてある。

・前回の最後の図はXPSのプロジェクトだった。(Bus Interfacesタブ)
PlanAhead141_67_120516.png

・Portsタブをクリックした。External Ports にCLK(CLK_PとCLK_Nがあって差動入力になっているので後で修正する)RESET、それにLEDが出力されている。microblaze_0_intcとLEDSにはクロックが接続されていた。

・Portsタブの下半分。axi_timer にもAXIバスのクロックが接続されたいた。
PlanAhead141_69_120516.png

・Addressesタブ。すべてのモジュールにアドレスが割り振られている。
PlanAhead141_70_120516.png

Portsタブでclock_generator_0 のCLKINがCLK_P, CLK_Nの差動入力になっていた。これをシングルエンド入力に変更する。

・CLK_Pをクリックして、clock_generator_0_CLKIN_pin を選択した。(これは必要なかったようだ。後で消してしまった)
PlanAhead141_71_120517.png

・CLK_Nを削除した。
PlanAhead141_72_120517.png

・External Ports のCLK_Nを右クリックメニューのDelete External Port を選択して削除する。

・External Ports のclock_generator_0_CLKIN_pin もDelete External Port を選択して削除した。

・CLK_PをCLKに名前を変更して、Connected Portの辺りをクリックして、clock_generator_0のCLKINを選択した。
PlanAhead141_73_120517.png

・External Ports のLEDS_TRI_O をLed に名前を変更した。

・これでCLKのGUIでの変更は終了した。
PlanAhead141_74_120517.png

・system.mhs を左上のProjectウインドウから起動した。system.mhs の16行目にDIFFERENTIAL_POLARITY = P,という記述があったので削除した。
PlanAhead141_75_120517.png

次にucfファイルを下のように設定した。 ucf ファイルはデフォルトのタイミング制約のみとした。(ここでピン配置制約を書くとGUIで設定できなかったり、DRCが掛からなかったりするので、PlanAheadで制約したほうが良いという結論になった)
PlanAhead141_76_120517.png

・ProjectメニューからDesgin Rule Check を実行したら問題なく通った。これでXPSを終了した。
PlanAhead141_77_120517.png

・PlanAheadに戻って、systemを選択して右クリックメニューからGenerate... を選んだらHDLじゃないとエラーになってしまった。そこで、systemを選択して右クリックメニューからCreate Top HDL を選択した。
PlanAhead141_78_120517.png

・system_stub.v という名前のトップのVerilogファイルが生成された。
PlanAhead141_79_120517.png

・FileメニューからAdd Sources...を選んで、system_stub.ucf を作り、下に示す制約を入れた。
PlanAhead141_81_120517.png

NET "CLK" LOC = "L15" | IOSTANDARD = LVCMOS33; # Bank = 1, Pin name = IO_L42P_GCLK7_M1UDM, Type = GCLK, Sch name = GCLK
NET "RESET" LOC = "T15" | IOSTANDARD = LVCMOS33; # Bank = 2, Pin name = IO_L1N_M0_CMPMISO_2, Sch name = M0/RESET
NET "Led<0>" LOC = "U18" | IOSTANDARD = LVCMOS33; # Bank = 1, Pin name = IO_L52N_M1DQ15, Sch name = LD0
NET "Led<1>" LOC = "M14" | IOSTANDARD = LVCMOS33; # Bank = 1, Pin name = IO_L53P, Sch name = LD1
NET "Led<2>" LOC = "N14" | IOSTANDARD = LVCMOS33; # Bank = 1, Pin name = IO_L53N_VREF, Sch name = LD2
NET "Led<3>" LOC = "L14" | IOSTANDARD = LVCMOS33; # Bank = 1, Pin name = IO_L61P, Sch name = LD3
NET "Led<4>" LOC = "M13" | IOSTANDARD = LVCMOS33; # Bank = 1, Pin name = IO_L61N, Sch name = LD4
NET "Led<5>" LOC = "D4" | IOSTANDARD = LVCMOS33; # Bank = 0, Pin name = IO_L1P_HSWAPEN_0, Sch name = HSWAP/LD5
NET "Led<6>" LOC = "P16" | IOSTANDARD = LVCMOS33; # Bank = 1, Pin name = IO_L74N_DOUT_BUSY_1, Sch name = LD6
NET "Led<7>" LOC = "N12" | IOSTANDARD = LVCMOS33; # Bank = 2, Pin name = IO_L13P_M1_2, Sch name = M1/LD7


・Systhesis -> Run Synthesis をクリックして、論理合成を実行した。

・Implementation -> Run Implementation をクリックして、インプリメントを実行した。

・Program and Debug -> Generate Bitstream をクリックして、ビットファイルの生成を行った。
PlanAhead141_80_120517.png

Messages に以前のエラーやワーニングが通算して表示されているのは頂けないと思う。今回の実行した分だけ表示するようにできないのかな?
  1. 2012年05月17日 06:05 |
  2. PlanAheadについて
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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