ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

今日FPGAで学んだこと(11)波形シミュレーターSignal TapⅡ

2013-10-17 17:18:04 | トピックス
今日じゃなくって、ずっと前だけど、ModelSimに入っていたような波形シミュレーター
が、QuartusⅡには、入っているらしい(Signal TapⅡ)ってことを教わったので
ここここ)その内容を、メモメモ




【どの機能?】

Tools→Signal TapⅡLogic Analyzerを起動する



な画面が出る。こいつのこと




【これが、出せない場合】

・Signal TapⅡは、本来有償のもので、無償版では、トークバックの
 設定をしないと使えないといううわさがある。
 トークバックをすると、コンパイル結果などが通知されるという
 うわさもある。

 ちなみに、トークバックの設定は、
 tools→option

その後、こんなダイアログが出るので、

のように選択、ボタンクリックすると

な画面が出るので、チェックしてOK




【手順】

1.Tools→Signal TapⅡLogic Analyzerを起動して、ダイアログを出す


2.観測信号の選択
左中あたり

をダブルクリックすると

な画面が出るので、
(1)Filterを「pre-synthesis」(論理合成前)にして、
(2)Listボタンをクリックすると
(3)左側のNodes Found:欄に、いっぱい出るので、
   観測したい信号をクリックして選択
(4)まんなかの一番上のボタン>をクリックすると、
   左側のSelected Nodesに入る
(5)観測対象を全部入れたら、OKボタンをクリック
 そうすると、真ん中のところに、選択したものが入ってきている

3.トリガー対象信号と、トリガー値の指定
 「2.観測信号の選択」で選らんだ観測信号は、そのままだと、ドントケアになっているので、立ち上がりで観測するとか条件があれば、トリガー値を設定する

 対象となる信号のTrigger Conditionsを右ボタンクリックすると、図のように、

条件が出るので、それを選択する

4.クロック、サンプル数を指定する
クロック指定のところ

をクリックすると

のようにダイアログが出るので、クロックを、観測信号のときと同じように選ぶ

その後、サンプル数を適当に選ぶ。
サンプル数が小さいと、それだけ領域をとるので注意


5.設定保存・再コンパイル

以下のように設定を保存したら


QuartusⅡに戻って、再度コンパイル

なお、今回はNIOSⅡを使っていないのでしていないけど、
使っているようならNIOSⅡEDSでの再コンパイルも必要になってくるかも


6.コンフィグレーション
 Signal TapⅡ上で行う(programmerではない)
 FPGAをUSBにつないで、動かす。

 その後、SetUpボタンをクリック。programmerみたいなダイアログが出る

 USB-Blasterを選択、closeボタンをクリックすると、自動的に検索し、
 たぶん、hardwareのところがUSB-Blasterになる(ならなかったら選択する)

 次に、sofを選択するボタンをクリックする。
 コンパイルまで終わっていれば、sofファイルができているはずなので、
それを選択

 全部が揃ったら、プログラムボタンをクリックする


7.波形データ収集、観測
プログラムを送ったら、左上の虫眼鏡みたいなのをクリック

すると、下のところがDataタブに変わって、波形が出てくる




こんなかんじ。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ブラウザ上に、いろんな複雑なグラフを書きたい・・・やっぱ、SVG?

2013-10-17 12:35:35 | JavaとWeb
ブラウザで、いろんな複雑なグラフを書きたいという話
をしていたんだけど・・・

やっぱ、SVGじゃねかな~って話になった。

どうも、IE8でも、プラグインが有るみたいだし・・・

IE8でSVGファイルを表示する方法
http://uujiron.net/archives/504


プラグイン

svgweb
http://code.google.com/p/svgweb/


曲線があるんだけど、ベジエスプラインも対応しているみたいだし・・・

http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/envinfo/svg_basic.html#line


編集したかったら、フリーソフトの「Inkscape」があるし・・・

Illustratorのようにベクター画像を扱うフリーソフト「Inkscape」
http://gigazine.net/news/20060705_inkscape/


ってなことで、「いいね!」感満載となっている・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

struts2のstruts.xmlを書かない方式で「はまった」こと・・・あれこれ

2013-10-17 09:04:52 | JavaとWeb
ゼロコンフィグレーションって言うんでしょうか・・・
struts2のstruts.xmlを書かない方式で、はまったことあれこれ




■一般的には、こうしろ!と書いてある

やることは、4つ

1.サーバー側のstruts2から呼び出されるものを
  ~Action(~の1文字目は大文字)にして、

2.アノテーションとして、executeのところに、
   @Action("~" ) 
 (~の1文字目、大文字を小文字に変える)

3.一番上に、

@Results({
@Result(name="success", location="/index.jsp")
})

のようにResultで、returnしたときの行き先を書く

4.web.xmlのフィルターのところ
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>struts2.s2down</param-value>
</init-param>
</filter>

 のように、init-paramを指定せよ
(< >は、本当は半角。ただ、これをコピペしないように。理由は後述)


●そうすれば、
http://localhost:8080/アプリ名/~.action
(~の1文字目は小文字)でアクセスすると,Acion実行後、Resultで指定したJSPが動くはず!

※くわしくは、ここ

@いう間にWebアプリを作れる「Struts 2」入門
http://www.atmarkit.co.jp/fjava/special/struts2/struts2_1.html

注意:このソースをダウンロードして実行しようとしても、
   ライブラリが無いので動かない。
   そこで、最新のライブラリを入れても・・・動かない。後述




■はまった点1:eclipseで、アノテーションのところのエラーが消えない

・現象
  コレを行うためには、
    @Results
    @Action
  のアノテーションの指定が必要だが、ここでエラーになる

・理由
 struts2-convention-plugin-2.3.15.1.jar を見ていなかった。

・対応
(1)struts2-convention-plugin-2.3.15.1.jarを、javaのクラスパスに足す
  (WEB-INFのlibにも入れておくこと)

(2)ソースファイルで
   import org.apache.struts2.convention.annotation.*;
  を入れる




■はまった点2:500エラー、ぬるぽで落ちる

・現象

struts2.3いくつかをいれ、上記サイトからサンプルを落としてきて
実行すると、

HTTPステータス 500 -

type 例外レポート

メッセージ

説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

java.lang.NullPointerException
org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)


・理由
 最新のものは、フィルターが変わっている。

・対策

web.xmlを開くと、
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
となっている。

このフィルタークラスを
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

に変える




■はまった点3:見えない(404エラー)

・現象

上記のようにフィルタークラスを変えると、今度は

HTTPステータス 404 - There is no Action mapped for namespace [/] and action name [index] associated with context path

・理由
 どうやら、param-valueに指定する値、すなわち、パッケージは、1単語ではだめで、
  ○○○.XXXのように、.がはいるものでないといけないようだ。


・対策
(1)param-valueをstruts2.s2downのように、○○○.XXXの形にする
(2)ということは、プログラムのパッケージもstruts2.s2downのように
   ○○○フォルダの下にXXXがあるようにして、そこにクラスファイルを置く
(3)ということは、ソースコードのpackageも修正する




■はまった点4:404エラー WEB-INF/content/を見に行こうとする

・現象
@Result(name="success", location="index.jsp")
と指定すると、
WEB-INF/content/index.jspを見に行こうとする。
(そこにファイルを作ると、うまく表示される)

・理由
 相対パスになっている。

・対策
 ゼッタイパス指定する
@Result(name="success", location="/index.jsp")
と、index.jspの前に/をつけると、サーブレットのフォルダの下のindex.jspを
見に行く。




■このほか

うちは、はまらなかったけど・・・

AbcEfgActionのように、大文字が2回出る場合、問題があるらしい。


Struts2のアクション名指定ではまった話
http://scarmitt.sakura.ne.jp/programs/struts2_no_action_mapped.html

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする