EDK
EDK10.1
をインストール。そして、起動。。。せず。。。
(EDKをインストールしたが、すでにCygwinをインストールしてあったので起動できな
かった。解決策を試したら起動できるようになった)
Spartan3E
Starter Kitを使ってEDKを試してみる1(プロジェクトの作成1)
(Spartan3E Starter
Kitを使ってEDKを試してみることにした。Base System Builderを使って、プロジェクトを作る途中まで)
Spartan3E
Starter Kitを使ってEDKを試してみる2(プロジェクトの作成2)
(Base System Builderのウィザードが終了するところまで)
Spartan3E
Starter Kitを使ってEDKを試してみる3(いろいろ試してみた)
(Xilinx Platform
Studioでハードウェアをインプリメントして、ソフトウェアのビルドはXilinx Platform Studio SDK
にやるようにしたが、Xilinx Platform Studio SDKでエラー表示が出てビルドできない。xparameters.h
の内容をtutrial.c にコピーしたらビルドすることが出来た。MemTestを動かしてみようとしたら、動かないみたい。 Spartan3E
Starter Kit にはRS232C端子をDTEに変更したらTera Termの画面にMemtestのメッセージが出た)
Spartan3E
Starter Kitを使ってEDKを試してみる4(XPSでソフトウェアのプロジェクトをビルドする)
(Xilinx Platform
Studioだけ使用する方法ではうまくいったので、例によって忘れないように書いておく。XPSでハードウェアとソフトウェアを生成してボードにダウンロードして動作さ
せる方法)
Xilinx
Platform Studio SDKの不具合
(Xilinx Platform Studio のプロジェクトをXilinx
Platform Studio SDKに読み込ませると、どうもうまくいかない。)
Xilinx
Platform Studio SDKの不具合2
(うまくいっていると思ったISE10.1SP3、EDK10.1SP3正規版の入ってるパソ
コンでやってみた。Spartan3E Starter KitのプロジェクトをXPSでビルドしてもエラーになってしまってビルドできなかった。)
ISE
からEDKを使う1
ISE
からEDKを使う2
ISE
からEDKを使う3
(ISEでEDKのプロジェクトファイル.xmp
を作成して、ISEでEDKを操作するやり方)
MicroBlaze
でuClinuxを動作させたい
(ま
だデバックやシミュレーションをしていないが、EDKの使い方もだいぶ学習してきたので、”MicroBlaze uClinux and
Spartan-3E Starter Kit”を参考に、EDKでuClinux を動作させようと思いやってみた。XPSの操作方法もいろいろ書いた)
MicroBlaze
でuClinuxを動作させたい2
(”
MicroBlazeでuClinuxを動作させたい”でuClinuxの起動が、Calibrating delay loop...
で止まってしまっていたので、あまり関係ないと思うが、命令キャッシュ2Kbytesとデータキャッシュ8kbytes を入れてみた。やはりだめ)
XPS_TIMER
をテスト
(XPS_TIMERをテストしてみたが、それなりに動作しているようだった)
ISE
からEDKを内部制御用プロセッサとして使いたい
(SE
からEDKを内部制御用プロセッサとして使いたいというニーズがあるので、使いたいと思っている。やってみたがだめそうだった。EDKトレーニングで聞い
てきたところクロックジェネレータモジュールをクリックすると倍率が変えられるそうだ。クロックジェネレータを使わずにそのまま入れることも出来るそうで
ある)
MicroBlaze
でuClinuxを動作させたい3(OPB_TIMERを使ってみた)
(”XPS_TIMERをテスト”でXPS_TIMERをテストしてみたところ正常に動作して
いるようだったので、OPB_TIMERを入れて動作させてみたが、同様にだめだった)
Ubuntu
でPetalinuxを動かす時の覚書(make menuconfig がエラーになる)
(petalinux-v0.30-rc1/software/petalinux-dist
でmake menuconfig するとエラーで落ちてしまう。Ubuntu日本語フォーラムの ”make menuconfig
について”にやり方が解説されてあった。)
EDK
でPetalinuxを動かしてみる1
(電
脳筆記さんの”MicroBlazeでLinuxを動かす”を見ながらPetalinuxをEDKで動作させようとしている。Dサブ9ピンメスーメスのク
ロスケーブルを購入して、Tera Termを115200bps、no parity、1stop bit で起動して、Download
Bitsteam でビットファイルをダウンロードしたらFS-BOOTのブート表示が出ました。)
EDK
でPetalinuxを動かしてみる2
(”
EDKでPetalinuxを動かしてみる1”でUbuntuでmakeして、Spartan3E Starter Kit
上でFS-BOOTまで動作した。さて次はU-BOOTを動かすぞ、、、と、電脳筆記さんの”MicroBlazeでLinuxを動かす”の13.
~15.までやろうとした。つまり、menuconfig して、make all
しようとしたが途中でエラー。Ubuntuでやっていたので、CentOSでやってみたらimagesは作成できた。U-BootをFS-BOOTから入
れてみたら起動しない)
EDK
でPetalinuxを動かせていない
(EDKでPetalinuxがうごかないので、くやしい)
昨
日はTEDのEDKトレーニングに行ってきた
(東京エレクトロンデバイス(株)の初級ザイリンクスプロセッサ・ワークショップ(ハードウェ
ア編)に行ってきました)
The
Simple MicroBlaze Microcontroller
ISEから使えるSimple MicroBlaze
IP。ただし、SDKを使ってソフトウェアを作製。
- ” AXIバスのEDKチュートリアルを試す”は、Xilinxのチュートリアルを試した。
- ”
AXIバスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る”は、自分で作ったキャラクタ・ディスプレイ・コントローラをカスタム・スレーブIPと
して追加してみた。
- ”Spartan-3A Starter KitでEDKを使ってカメラ表示”はおもに、カスタム・マスタIPの作り方を学んだ。
AXI
バスのEDKチュートリアルを試す1(Base System Builder)
EDK Concepts, Tools, and Techniques A
Hands-On Guide to Effective Embedded System Design EDK 13.1 (UG683 April
13, 2011)の載っているSP605のAXIバスのチュートリアルを試してみることにした。
使用するFPGAボードはSP605なので、丁度良い。使用するISEのバージョンは13.1とする。
Project Navigator で新規プロジェクトを作成。Embedded Processorを新規で作成し、XPSの画面が出るまで。
AXI
バスのEDKチュートリアルを試す2(XPSのウインドウの説明)
チュートリアルのXPSの説明を読んで、実際にやってみた。
AXI
バスのEDKチュートリアルを試す3(インプリメント)
今回は、ISEでのインプリメントを試す。今回のビットファイルにはソフトウェアは入っていな
い。(使用したISE, EDKは13.1)。
Project Navigator でExport Hardware Design To SDK with Bitstream
をダブルクリックして、ハードウェア・デザインをSDKにエクスポートするまで。
AXI
バスのEDKチュートリアルを試す4(SDK1)
今回はSDKを使ってみよう。(使用したISE, EDKは13.1)
hello_world_0のサンプルアプリケーションをビルドするまで。
AXI
バスのEDKチュートリアルを試す5(SDK2)
EDK Concepts, Tools, and Techniques A
Hands-On Guide to Effective Embedded System Design EDK 13.1 (UG683 April
13, 2011)の34ページからのSDKのProject Explorerについての説明を読み進めている。
hello_worldプロジェクトを実行した。
AXI
バスのEDKチュートリアルを試す6(SDK3)
memory_test_0、peripheral_test_0、
xilkernel_posix_threads_demo_0、のSDKで作成できる新規プロジェクトについてテストした。
AXI
バスのEDKチュートリアルを試す7(カスタムIPを作る1)
今回はCIP
Wizardで独自のIPを作るチュートリアルを試してみたいと思う。(使用するISEのバージョンは13.1)
カスタムIPを生成するまで。
AXI
バスのEDKチュートリアルを試す8(カスタムIPを作る2)
VHDLソースにLEDのポートの宣言を追加する。
AXI
バスのEDKチュートリアルを試す9(カスタムIPを作る3)
次は、現在のプロジェクトに作成したカスタムIPを追加する。インプリメントしてみた。
AXI
バスのEDKチュートリアルを試す10(カスタムIPを作る4)
今回はSDKを立ち上げてビットファイルをダウンロードする。成功した。
AXI
バスのEDKチュートリアルを試す11(カスタムIPをカスタマイズする)
作ってきたLEDの点滅をするカスタムIPをカスタマイズしてみることにした。
チュートリアルのカスタムIPは、レジスタに1を書くとLEDの点滅が始まるが、2を書くとカウンタを+1するのではなく+2するようにした。よって、2倍早
く点滅する。レジスタを読んだ時にカウンタの値も読めるようにした。
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る1
前回、チュートリアルでカスタムIPを作ってみたが、自分でカスタムIPを作ってみることにし
た。
SP605のEDKで作ったMicroBlazeシステムに、キャラクタ・ディスプレイ・コントローラをカスタムIPとして接続することにした。今回は
ISE13.2でやってみる。
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る2
カスタムIPのHDLコードを接続する。
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る3
XPSでカスタムIPを追加して、ポートを接続し、UCFファイルを編集した。
続いて、インプリメントした。
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る4
前回でISEにインプリメントが終了した。今回はSDKを立ち上げてビットファイルをダウン
ロードする。(ISE13.2を使用)
SDKのXMDコンソールで下のコマンドで、キャラクタ・ディスプレイ・コントローラの動作を確認できた。
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る5
”AXIバスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る4”で
作ったSP605のMicroBlazeシステムのキャラクタ・ディスプレイ・コントローラをVGA(640x480) からSVGA(800x600)
に変更しました。
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る6
前回でMicroBlazeシステムにSVGAのキャラクタ・ディスプレイ・コントローラを実
装できたので、ソフトウェアを書いて、制御してみることにした。
'A'という文字で画面を埋めたが、所々抜けてしまった。
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る7
”AXIバスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る6”で、
画面いっぱいにA を出したはずなのに、書けていない場所があった。今回はその理由を探ってみた。(くだらないミスでした)
AXI
バスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る8
”AXIバスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る7”で、
異なったクロック・ドメイン間のデータの受け渡しの問題を解決できた。もう少し確かめてみることにした。
今度は、以前のキャラクタ・ディスプレイ・コントローラのテストのように、いろいろな文字を表示しながら、色を変えるプログラムをつくってみた。
axi_timer
を使う1
”AXIバスのEDKでキャラクタ・ディスプレイ・コントローラのカスタムIPを作る8”で
やった表示を0.2秒ごとに書きたいと思い、axi_timerを使ってみることにした。
0.2秒に1回では、SVGAではキャラクタを書くのがあまりに遅いので、0.1秒単位に変更した。割り込み使わなければうまくいきました。
axi_timer
を使う2(割り込みを使用した)
今回は割り込みが使えない理由を探った。
割り込み信号がMicroBlazeに接続されていなかった。修正後、割り込みで動作するようになった。
EDK
のシミュレーション
EDKを使った場合のシミュレーションのやり方
Spartan-3A
Starter KitでEDKを使ってカメラ表示1(BSB Wizard)
SP605を使ってEDKの使い方を勉強してきたが、今回は、本格的にEDKで回路を構成して
みようと思う。
Spartan-3A Starter KitでEDKを使って、カメラ表示回路を作ってみようと思う。使用するEDKのバージョンは13.2。
Spartan-3A
Starter KitでEDKを使ってカメラ表示1(BSB Wizard)
前回で、XPSのプロジェクトができたので、Project
Navigatorに戻って、トップファイルを生成して、インプリメントしてみた。
リソースを使い過ぎていたので、リソースを削減した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示3(MPMCにポートを追加)
今回は、DDR2 SDRAMをコントロールするMulti Port Memory
Controller(MPMC)のポートを2つ増やすことにする。あとで、カメラ・コントローラ、ディスプレイ・コントローラを接続するためだ。
Spartan-3A
Starter KitでEDKを使ってカメラ表示4(カスタムIPの作成)
今
回は、カスタムIPをウィザードで作成する。カスタムIPは、カメラ・コントローラ、ディスプレイ・コントローラ、SCCBコントローラの3つだ。カメ
ラ・コントローラ、ディスプレイ・コントローラは、PLBマスタとスレーブに対応する。SCCBコントローラは、PLBスレーブのみとなる。
Spartan-3A
Starter KitでEDKを使ってカメラ表示5(PLBV46 Master Burstのシングル転送)
各カスタムIPにアドレスを割り振った。
シングルWriteとシングルRead転送のプロトコルを説明した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示6(PLBV46 Master Burstのバースト転送)
前回はシングル転送だったが、今回はバースト転送について解説した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示7(FIFO容量の修正)
カメラ表示回路のブロック図を表示して、FIFOの容量を検討した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示8(HDLを書く)
Camera_Controller
のIPICのインターフェース部分をVHDLで書いている。IPICのマスタWriteだ。詳細は”Spartan-3A Starter
KitでEDKを使ってカメラ表示6(PLBV46 Master Burstのバースト転送)”のFixed Length Burst Write
Operation参照。
Spartan-3A
Starter KitでEDKを使ってカメラ表示9(カメラ回路のシミュレーション)
VHDLを書き終えたので、カメラ回路のシミュレーションをして単体の動作を確かめた。
Cam_Controller_Top.vhd、Cam_Controller_Top_tb.vhd を掲載した。
XPS
のカスタムIPにCore Generatorで生成したIPのネットリストを追加する
カスタムIPに自分で作ったVHDLやVerilogのファイルを追加する方法
Spartan-3A
Starter KitでEDKを使ってカメラ表示10(カメラ回路のIPを登録)
今回は、user_logic.vhd にCam_Controller_Top.vhd
のインスタンスを接続して、カスタムIPとして登録した。
各HDLファイルを掲載している。
Spartan-3A
Starter KitでEDKを使ってカメラ表示11(ディスプレイ回路を作り始める)
次は、ディスプレイ回路IPの作成を始めた。カメラ回路と同様にデータバス32ビット幅で作成
したdisplay_controller_v1_00_aを使用することにした。
Spartan-3A
Starter KitでEDKを使ってカメラ表示12(ディスプレイ回路のシミュレーション)
Disp_Controller_Top.vhd、
Disp_Controller_Top_tb.vhd を作って、シミュレーションで単体の動作を確かめた。VHDLファイルを掲載した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示13(ディスプレイ回路のHDLファイル)
今回は、下位モジュールを貼っておく。VGA_Display_Controller.v、
dcm_DISP_clk.v、cam_data_afifo.xcoを掲載した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示14(ディスプレイ回路のIPを登録)
今回は、user_logic.vhd にDisp_Controller_Top.vhd
のインスタンスを接続して、カスタムIPとして登録した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示15(SCCBコントローラの接続)
最後のSCCBコントローラを接続する。今回はIPICマスタではなくスレーブなので、大分楽
ができるはず。。。
Spartan-3A
Starter KitでEDKを使ってカメラ表示16(回路をXPSに登録)
カメラ回路とディスプレイ回路、SCCBコントローラをXPSに登録した。設定を行い、一応イ
ンプリメント終了。
Spartan-3A
Starter KitでEDKを使ってカメラ表示17(シミュレーションでデバック1)
Spartan-3A Starter
Kitにダウンロードして、ディスプレイが同期もしていなかったので、いくら何でもおかしいということでシミュレーションを行った。
結局、ポートの設定がしていなくて、PLB_CLK入力がGNDになっていた。
Spartan-3A
Starter KitでEDKを使ってカメラ表示18(シミュレーションでデバック2)
シミュレーションを行うと、ip2bus_mstrd_reqを1(アクティブ)にしても、
ip2buf_mst_cmdackが帰ってこない。
原因は、MPMCに初期化までip2buf_mst_cmdackは帰らないことになっていて、最初に、ip2buf_mst_cmdackが帰ってくるの
は、MPMCの初期化が終了後だった。
Spartan-3A
Starter KitでEDKを使ってカメラ表示19(InitDoneの処理)
前回、MPMC(Multi-Port Memory
Controller)の初期化が済んでいないのが原因だとわかった。
camera_controller, display_controller, sccb_controller
の各モジュールにMPMC_InitDone信号を追加して、今までのリセット信号とORをとり、クロックで同期した信号を新たなリセット信号とすること
にした。シミュレーション的にはうまくいった。
Spartan-3A
Starter KitでEDKを使ってカメラ表示20(カメラ回路のシミュレーション)
前回、ディスプレイ回路はシミュレーションの結果、問題なく動作していそうだということがわ
かった。今度はカメラ回路のシミュレーションを行った。カメラ回路もシミュレーションでは問題なく動作した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示21(インプリメント)
今回は、シミュレーションで問題が無い様なので、インプリメントしてみることにした。早速イン
プリメントしてみたが、エラーが出てしまった。
エラーを回避するために、DCMを配置制約をいろいろ変えてやってみたら、最適な配置が見つかり、インプリメントが完了した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示22(一応完成)
”Spartan-3A Starter
KitでEDKを使ってカメラ表示21(インプリメント)”でインプリメントが終了したので、Spartan-3A Starter
Kitにダウンロードして確かめてみた。
最初は、画像がずれていたが、HDLを修正して正常に映るようになった。もう少しやりたいことはあるが、一応完成。
Spartan-3A
Starter KitでEDKを使ってカメラ表示23(LCD、Rotary EncoderカスタムIPの追加)
前
回、CMOSカメラの画像データをディスプレイに表示することができた。それでも、MicroBlazeプロセッサは何も仕事をしていない。ハードウェア
だけで表示している。これでは、MicroBlazeプロセッサがかわいそうなので、仕事を割り振ることにした。以前はSMMでやっていたのだが、LCD
に主要なCMOSカメラのパラメータを表示して、ロータリー・エンコーダでパラメータを設定して、LCDで表示するという機能をMicroBlazeに割
り振ることにした。
Spartan-3A
Starter KitでEDKを使ってカメラ表示24(LCD、Rotary EncoderカスタムIPの追加2)
今回は、lcd_controller
のVHDLファイルを追加し、user_logic.vhd, lcd_controller.vhd の修正を行った。
Spartan-3A
Starter KitでEDKを使ってカメラ表示25(LCD、Rotary EncoderカスタムIPの追加3)
入出力ピンを追加したのにXPSのトップファイルを再生成していないために悩んでしまった。イ
ンプリメントが終了した。
xps_timer
とxps_intcの使い方1(ソースコード・デバックができない)
xps_timer とxps_intcの使い方を探ってみた。Spartan-3A Starter KitのEDKでxps_timer,
xps_intcの割り込み動作がおかしかった。SP605で同じCコードでxps_timerのテストをしてみたのですが、問題なく動作した。独自のタ
イマーを組み込んでみることにした。
SDKでNo
source available for "" が出てソースコード・デバックできないときの対処方法
ソースコード・デバックをすることができなかった時の対処方法をK林さんから教えていただいた
ので、備忘録として書いておこうと思う。K林さん、教えて頂いてありがとうございました。
xps_timer
とxps_intcの使い方2(APIを使用する)
xps_intcのControl/Status Register
0をMDMで見ると、LSBが1になっていて、割り込みは受け付けているみたいだ。その後、MicroBlazeに割り込みが入らないんだと思う。
Spartan-3A
Starter KitでEDKを使ってカメラ表示26(独自にタイマーのカスタムIPを作る1)
xps_timerの割り込みがどうしてもSpartan-3A Starter
Kitでうまく動かないので、timerのカスタムIPを作ろうと思った。
Simple MicroBlazeにtimer.vhdがあるので、これを接続してみることにする。
一般的なスレーブ・カスタムIPの作成手順を箇条書きにして示した。
Spartan-3A
Starter KitでEDKを使ってカメラ表示27(独自にタイマーのカスタムIPを作る2)
今回はSDKを使ってソフトウェアを作る。SDKでのソフトウェアの作り方を手順を追って書い
た。
smm_timer_testプロジェクトを作成して、smm_timer_test.c
を書いた。コンパイルして実行したら、今度はうまく動いた。LEDが順番に点灯していくのが見えた。成功!!!やった~。
Spartan-3A
Starter KitでEDKを使ってカメラ表示28(ソフトでカメラを制御)
Simple
MicroBlaze用のタイマーを組み込んだら、うまく動作したので、SDKを立ち上げて、camera_controlプロジェクトを作成して、
camera_control.cを作成した。
LCDの表示は問題なかった(つまり、smm_timerは正常動作)のだが、ロータリー・エンコーダを回しても表示が動かなかった。
Spartan-3A
Starter KitでEDKを使ってカメラ表示29(ソフトでカメラを制御2)
XPSでChipScope ProをIPとして追加して、rot_a, rot_b,
rot_centerの様子を観察したら、rot_a,
rot_bがPULLUPされているはずなのに、値が0になっていた。ロータリー・エンコーダが動作しない原因はこれだった。
XPS
のUCFでプルアップ制約をしても、どうしてもプルアップされない。ISE12.4でインプリメントした回路は問題ないが、ISE13.2だとXPSの
UCFでプルアップ制約は無視される。そこでISEでEDKのIPを使っているので、ISEの制約にプルアップ制約を追加したらうまく行った。
EDK13.3
のXPSが変わった
ISE13.3が出た時から使っている。ISEはあまり変化が無いようだなと思っていが、
EDKを使ってみてびっくり。
13.3でXPSが変更されたようだ。まずアイコンが変わっている。
EDK13.3
のXPS(2)
Spartan-6を使用したSP605ボードのEDKサンプルプロジェクトをISE13.3
で試して見ることにした。
Xilinx
Platform Studio 13.3(KC705プラットフォーム)
ISE Design Suite 13 : リリース ノート
ガイドを見ると、Xilinx Platform
Studio(XPS)に”PlanAheadと同様のWelcomeウィンドウとナビゲーションペインを使用したデザインフロー”と書いてあったので、
XPS単体で立ち上げて見ることにした。
Xilinx
Platform Studio 13.3(KC705プラットフォーム2)
Simulation Flowを確かめてみることにした。
シミュレーション・スクリプトの途中で”ERROR:Simulator:754 - Signal EXCEPTION_ACCESS_VIOLATION
received”で止まってしまった。Windows7 64ビット版でないとだめかもしれない。
Xilinx
Platform Studio 13.3(KC705プラットフォーム3)
インプリメントして、SDKを立ち上げ、hello
worldプロジェクトを作ってコンパイルしてみた。コンパイルは成功した。
SDKで
stdio.h の関数を使う手順
AXI Performance Monitor
を使ったアプリをSDKで作っているが、printf() とscanf() かgetc() が使いたかった。getc() を使う手順を示した。
XPSで使用す
るIPの制御用関数の情報
EDKのXPSを起動して、IPを追加していって回路を構成するが、それらのIPの制御用関数
の情報がXilinx\14.2\ISE_DS\EDK\sw\XilinxProcessorIPLib\drivers にある。
LinuxでのISEや
PlanAheadにXPSプロジェクトを入れた時のエラー
現在、Linux上で、Digilent社のZedBoardのLinuxサンプル、
ZedBoard_OOB_Design.zip
をダウンロードして展開し、ISEのプロジェクトを作成して、ZedBoard_OOB_Design\hw\xps_proj
ディレクトリのsystem.xmp をISEのプロジェクトに入れてインプリメントを行った。(LinuxはUbuntu12.10、ISE14.4)
そうしたら論理合成時にエラーが発生した。
LinuxのSDK14.4
でコンパイルエラー1
”LinuxでのISEやPlanAheadにXPSプロジェクトを入れた時のエラー”で、
/usr/bin/make を/usr/bin/gmake にリンクして、ISEプロジェクト内のXPSプロジェクトをインプリメントすることができた。
しかし、今回はSDKでエラーが発生した。エラーの内容は、arm-xilinx-eabi-gcc が見つからないというものだった。
LinuxのSDK14.4
でコンパイルエラー2(解決編)
Xilinx_ISE_DS_Lin_14.4_P.49d.3.0/CodeSourcery
/lin ディレクトリの xilinx-2012.03-79-arm-xilinx-linux-gnueabi.bin
をインストールし、xilinx-2012.03-83-arm-xilinx-eabi.bin もインストールした。
ターミナルから、xsdk を入力して、SDKを立ち上げ、プロジェクトをクリーンしたら、コンパイルが通った。
Linux上のSDKで
ZedBoard_OOB_Desgin のLinuxソフトウェアをコンパイル
ZedBoard_OOB_Desgin
のLinuxソフトウェアをコンパイルできるかどうかを確かめたが、エラーでコンパイルすることが出来なかった。Xilinx ARM GNU/Linux
Toolchain を選択したところ、コンパイルができるようになった。
Linux上のSDKで
ZedBoardのLinuxへリモートデバック
Ubuntu12.10上で動作するSDK14.4から、ZedBoard上で動作する
Linuxにリモートデバックすることができた。
プロセッサなしでEDKで
AXI IPコアを使う方法
Qsysと同じように、EDKでもプロセッサ抜きでXPSプロジェクトでAXI
IPを接続できるようです。
XPSのカスタムIPにおけ
るMPDファイルの書き方1
XPSプロジェクトのカスタムIPのMPDファイルの書き方を書いておこうと思う。MPDファ
イルはXPSプロジェクトのカスタムIPのパラメータやIOポートの情報などを書いておくファイルだ。
XPSのカスタムIPにおけ
るMPDファイルの書き方2
XPSのカスタムIPにおけ
るMPDファイルの書き方3
XPSのカスタムIPにおけ
るMPDファイルの書き方4
XPSのカスタムIPにおけ
るMUIファイルの書き方
custom_vtc IPコアを例にMUIファイルの書き方を書いておく。
なお、MPDファイルの書き方は、”XPSのカスタムIPにおけるMPDファイルの書き方1”からのシリーズを参照のこと。
XPSプロジェクトでの入出力信号の処理
XPSプロジェクトでMIG(Memory Interface Generator) で
DDR3 SDRAMをインスタンスしていますが、その時に DQ, DQS_P, DQS_N 等の 入出力信号 (inout)
は、Net名とExtarnal Ports名を同じ名前にしておかないと Design Rule Check
でエラーが出るようです。覚書として書いておきます。
ある constant
の値で、他の constant の値を切り替える3(VHDL編2、XPSプロジェクト)
VHDLの達人 hiyuh
さんのVHDLコードのおかげで、"SVGA"と入力したら、800x600 に設定することができた。今度は、XPSプロジェクトに置いてAdd
IPのダイアログの中で、VGA, SVGAなどの解像度を設定したら、640x480, 800x600 に設定することを目指す。
SDKの
Workspace Launcher が表示されなくなった時の対処方法
SDKの Workspace Launcher
が何らかの原因で表示されなくなった時の対処方法を備忘録として書いておく。
2つの AXI4
Master ポートを持つ XPS 用 IP の書き方(ISE14.7 の XPS)
ISE14.7 の XPS で2つのAXI4 Master ポートを持つ XPS 用
IP の書き方の覚書です。