20.Identifyを使ってみよう 20-1. Identifyを設定しよう簡単計算器を作成していて、ちょっと動作が変な箇所があり(結局クロック周波数を100MH->20MHzに下げたら解決したのですが)なんとかデバイスの動作状況を見られないかなとIdentifyを試してみました。IdentifyとはSynprifyで合成するときに、予めモニタする信号やブレークポイントを設定して合成すると、実行時にその状況がモニタできるという優れものです。 プロジェクト、RTLは簡易計算機のものを使います。 まず、LiberoIDEv9.1が立ち上がっている状態から、Project Flowの Synthesis synplify を選択します。 真中ペーンのProject Filesのツリーにsynthesisか(synthesis_1)があります。それを左クリック->右クリックして New Identify Imprementation を選択します。
そうすると Add Identify Implementation が開きます。
Implementations Resultsタブがこのようになっていること、 Deviceタブで指定のデバイスになっていること。(Actel SmartFusion,A2F200M3F,FBGA484,Std) ConstrainstsタブでFrequencyが100.0000MHzになっていること。 Verilogタブで Verilog 2001にチェックが入っていることを確認します。 再び synthesis_2を左クリックで選択し、右クリックでLaunch Identify Instrumentor を選択します。 Select available license or Exitが開きますので1つマウスでクリックして、Selectをします。 そうすると Identify Instrumentor が立ち上がり、リストが見えるはずです。 左のツリーから calc_rtl_0(calc_rtl)をクリックして選択します。真中ペーンがcalc_rtlになるはずです。 スクロールしていくとメガネのマークが出てきます。これでどの信号をモニタするか選択します。 青色のアンダーバーの付いている信号で右クリックするとSample and Triger,Sample only,Triger only,Not instrumented,sampleclockが選べます。 デフォルトはNot instrumeted(何もしない)になっているので、モニタする信号をまずはSample only に変えていきます。 今回は r_a,r_b,w_add,w_sub,w_mul,w_prdata,r_prdataを選択しました。
次にサンプリングクロックを指定します。これは必須です。忘れないようにしてください。 PCLKを選択して Sample Clock を選択すればOKです。 赤枠の時計マークが表示されます。
ブレークポイントを掛ける位置も指定できます。ずずーっと下にスクロールしていって、左に白丸のある箇所に設定できます。 今回は加算結果、減算結果、乗算結果 のところにしました。
次に下のタブで calc_top_synを選択します。 Device family:Smartfusion、 JTAG port: builtin、 Top level unit:calc_top になっていればOKです。
設定が終わったら、バイオリン?とフロッピのアイコンでSave and Instrument current Projectをします。 そして、その横の重なった紙に下向き矢印アイコンのCompile Cureent Project をします。 エラーや問題のあるワーニングが出なければOKです。 File->Exit で Identify Instrumentor を閉じます。 Synplify Pro に戻り Synthesis_2が選択されていることを確認して Run します。 しばらくすると合成が完了します。エラーや問題のあるワーニングが無いことを確認してFile->Exitで閉じます。 20-2. 配置配線と、書き込みを行おうこれはいままでと同じなので軽く説明します。配置配線とビットファイル作成をします。 ProjectManagerの真中ペーンで、Place&Route Designerを選択します。 ファイル、デバイスが正しいことを確認して、Comple -> Layout -> FlashPro Data File をします。 File->Exitで閉じます。 メガメガボードに書き込みします。 ProjectManagerの真中ペーンで、Programming FlashProを選択します Configure Deivice,View Programmersで正しく設定されていることを確認、Configuration Modify PDB でファイルが正しく選択されていることを確認します。 PROGRAMで書き込みます。 RUN PASSED になればOKです。 File->Exitで抜けます。 20-3. IdentifyでデバッグしようWindowsのスタート->すべてのプログラム->Actel Libero IDE v9.1->Synplify->Identify RTL Debugger Actel Edition E-2010.09A-1を選択します。ライセンス選択があるので1つ選択してSelectをクリックします。
デバッガが立ち上がります。少し時間がかかります。 立ち上がったものの何も表示されない場合はIdentify Debuggerのプロジェクトファイルを読み込む必要があります。 File->Open Project で C:\Actelprj\simplecalc\calc\synthesis の calc_top_syn.bsp を選択し開くをします。 Identify Debuggerの左ペーンにツリーが、真中ペーンにリストが表示されます。
下のタブでcalc_top_synを選択して、Cable type: をActel_BuiltinJTAG にして、Port settingsを autoにします。 そして、Run をクリックすると動作するはずなのですが、 INFO: run -iice IICE ERROR: Programmer Port Initialization failed for port(usb): No available Actel products found on USB port. INFO: 1 というエラーが出ます。 FlashProでは書き込みデバイスはFlashPro3と認識されていたのですが、Identifyではどうもうまく認識されないようです。 ちなみにここを demo としてみると、Port settig や Show JTAG chainは選択できなくなりますが、Runできます。 ただし、コメントとして、
デモ設定で動作するとこのような感じです。変数になにやら値が入っています。
また、Windows->Waveformで波形を見ることができます。
波形をズームしたりしていろいろ試してみます。 Identify単体としては動作する事はわかったのですが、ボード(FlashProのインターフェース)を認識してくれないようで、これでは折角のIdentifyも役に立ちません。 もし、設定等知っておられる方がおられましたら情報よろしくお願いします。 しばっちの方でも調べてみます。 20.Identifyを使ってみようはここまで。(2011/09/04) |
![]() |