Xilinx ISE 12.1で気づいた点 のバックアップソース(No.8)

更新

[[公開メモ]]

#contents

* ModelSim XE が使えない?! [#fc0f4498]

http://japan.origin.xilinx.com/support/answers/35482.htm

にあるとおり、

 ERROR:ProjectMgmt:387 - TOE: ITclInterp::ExecuteCmd gave Tcl result 'can't read "value": no such variable'.

というエラーが出て、ISE から ModelSim XE を起動できません。

** ISim もうまく動かない? [#od674f72]

→ この件は私の使い方が悪いのではないかということです。
個人的にはまだ解決できてない(努力してない)のですが、
ISE 12.1 のせいではないということで。

Behavioral 以外のモデルで ISim を起動しようとすると、

 ERROR:Simulator:702 - Can not find design unit work.glbl in library work located at isim/work 

と出て、うまく動きません。

こちらはネット上で情報を見つけられなかったので、私の環境だけかもしれません・・・

ということで、まともなシミュレーション環境が無くなってしまいました(泣

* 細かい操作感 [#f1a8e6eb]

** コードエディターからフォーカスが失われなくなった [#sd477103]

11.5 では一旦他のアプリにフォーカスを写し、
ISE に戻ってきたときにエディターのフォーカスが
おかしな所に行ってしまって、マウスでクリックしないと編集を続けられなかったのが、
12.1 では治っています。

** Ctrl + → などでのキャレット移動がおかしい [#mcecd5a5]

11.5 まではコントロールキー+矢印キーで正しく単語毎に移動できていたのですが、
12.1 ではおかしな所にキャレットが移動します。

結構しょっちゅう使うので直して欲しいです。。。

** 検索文字列入力時に全選択されたり、されなかったり [#h34bbf13]

Ctrl + F で検索したり、Ctrl + R で置き換えたりするときに、
文字列入力の TextBox が全選択状態になってくれないと、
毎回前回の文字列を削除してから新しい文字列を入力しなければならず、面倒です。

11.5 ではほぼいつでもそんな状況だったのですが、
12.1 になって、テキストエディタや Design - Hierarchy などでは
ちゃんと全選択されるようになりました。

でもなぜか、Console ウィンドウでは全選択されないままのようです。

* コード中に全角文字が入ると ISE が落ちる [#s86b5381]

** 突然起動しなくなりました [#i4188a60]

コードの編集中に Ctrl+S で保存した瞬間、砂時計カーソルから戻ってこなくなってしまい、
ISE Project Navigator を強制終了せざるを得なくなりました。

その後、PC の再起動までしたのですが、ISE を起動できない状況が続きます。

ISE のアイコンをダブルクリックしても、ステータスバーの表示が "Loading Library" から、
"Opening Project: ??????.xise" に変わった後、
砂時計カーソルのまま、いつまで経っても画面が変化しません。

その間、_pn.exe が Core 2 duo の片方の CPU を100%使った状態です。

git でバージョン管理をしていたので、???.xise と ???.gise 
を正常に動作していた時点のものに戻したのですが、状況は改善されませんでした。

** なんとか起動する [#ia10c0bc]

regedit で HKEY_CURRENT_USER\Software\Xilinx\ISE\12.1\Project Navigator\Recent Project List1 
の値を空にしたところ、ISE Project Navigator を起動することができました。

でも、件の .xise ファイルを開こうとするとやはり固まってしまいます。

新しいプロジェクトを1から作って、そこにファイルを追加していったところ、
ちょうど始めて固まったときに編集していたソースファイルを追加した瞬間、
やはり Project Navigator が固まってしまいます。

どうやら、そのソースファイルが悪いらしい。

12.1 から、ソースファイルをコンパイルしなくても、
メッセージウィンドウにエラーを表示してくれるようになっています。
そのせいで、たまたまコンパイラのバグを突いてしまうとこういう状況に陥るようです。

** 全角スペースが入っていた [#a9cbd3e4]

で、原因は、コードのインデント部分に全角スペースが1つ紛れ込んでいたことでした。

コメント部分なら問題ないようですが、
コード部分に全角文字が紛れ込んだソースファイルが
プロジェクト中に1つでもあると ISE が固まるみたいです。

これは・・・日本では致命的なバグですね。

ModelSim XE が起動できない問題もあるので、
一旦 11.5 に戻して、12.2 が出るまで待った方が良いかもしれないと思い始めています。

* コメント [#o12b8765]

#article_kcaptcha
**全角スペースは(笑) [#z399d866]
>[アプロ] (2010-06-06 (日) 14:27:17)~
~
2byteコードの全角スペースは、コメントも含めて使用しない方がベターです~
半角カタカナもNGです~
~
英語圏のソフトなので、日本語などの2byteコードは理解してくれまへん(笑)~

//
- すみません。よく分からなかったのですが、コメント部分で他の全角文字と全角スペースとを区別する必要性があるということでしょうか?普通に ISE で編集していると、ソースコードは SJIS で保存されるようです。http://charset.7jp.net/sjis.html 文字コード的に全角スペースに特に注意が必要、という気がしなかったのですが・・・ -- [武内(管理人)] &new{2010-06-06 (日) 16:20:26};
- 全角スペース自体は悪くないのですが、解釈するほうで混乱するのです(笑) ですので、昔昔から全角スペースは全面禁止にしていますよ -- [アプロ] &new{2010-06-06 (日) 16:34:28};
- 「解釈するほう」というのは、コードを読む人、ということでしょうかか?それともコンパイラでしょうか?英語圏かどうかは関係なく、通常のコンパイラの作り方をしていれば不正な文字コードは語彙抽出段階ではじくことになるので、おかしな文字コードが出現したからと言ってハングアップするようなコンパイラの作り方は逆に想像するのが難しいのですですけれど、どうなってるのか不思議に感じています。 -- [武内(管理人)] &new{2010-06-06 (日) 16:39:07};
- あ、全角文字がコードに紛れ込んでコンパイルエラーになったときに、その原因を見つけられるかどうか、と言う話でしょうか?それでしたらそういう取り決めをする開発現場があっても不思議はないですね。 -- [武内(管理人)] &new{2010-06-06 (日) 16:41:46};
- 今回の場合は、全角スペースかどうかにかかわらず、全角文字が1つ入るだけでエディタがハングアップするという話なので、また違う問題なのですが。 -- [武内(管理人)] &new{2010-06-06 (日) 16:42:47};
- コンパイラの方です。昔から、全角スペースは鬼門なんですよ(笑) -- [アプロ] &new{2010-06-06 (日) 16:43:19};
- あら、私の勘違いだったみたいですね。全角スペースでコンパイラが混乱するというのは、ソフトウェアの開発環境ではあまり聞かなかったように思うので、もし良ければ詳しく教えていただけると勉強になります。 -- [武内(管理人)] &new{2010-06-06 (日) 16:46:19};
- ソフトも昔も今もあると思うけれど(笑) 英語圏のソフトは特に(^^ゞ シミュレータや論理合成ツールなどのEDAは特に敏感なので注意が必要と思います -- [アプロ] &new{2010-06-07 (月) 07:57:40};
- そうでしたか。EDA を使った開発現場ではコメントの記述で全角スペースを使用してはいけないというルールが一般的ということですね。コメント中で他の全角文字は問題なくて、全角スペースだけが不具合を起こすコンパイラの実装方法が思い浮かばないので、個人的にはちょっと納得できていないのですが勉強になりました。情報ありがとうございました。今のところ私のところではコメント中の全角スペースによる不具合は生じていないようなので、今後何か見つかったら報告します。 -- [武内(管理人)] &new{2010-06-07 (月) 08:24:14};

#comment_kcaptcha

**work.glbl はおまじないが足りないと思う [#y1340947]
>[アプロ] (2010-06-04 (金) 12:33:32)~
~
トップと、glbl を両方選択し、ロードしないと、エラーになるみたいですよ~
~
回路記述に、 Xilinx 特有のプリミティブを埋め込まないと、いけないんぢゃなかったけ?~

//
- いままでほとんどビヘイビャレベルのシミュレーションだけで何とかやってきてしまったので、Post-Translation 以上のシミュレーションについてはまだまだ勉強しなければならないことがたくさんありそうです。「トップと、glbl を両方選択し、ロード」というのもまだ理解できていないのですが、何とか調べてみようと思います。 -- [武内(管理人)] &new{2010-06-04 (金) 14:28:41};
- これは、こういうことですか?でもProject Navigatorからシミュレーションしたら、自動的につけてくれるはずだと思います。やはり、どこかおかしい?でしょうね? http://marsee101.blog19.fc2.com/blog-entry-392.html -- [marsee] &new{2010-06-04 (金) 15:03:04};

#comment_kcaptcha

**単体で起動すればいいんぢゃね(笑) [#k62749c7]
>[アプロ] (2010-06-04 (金) 12:29:06)~
~
ModelSim XE を単体で起動できませんか?~
~
でも、スターター版は、行数制限があるので、IPとか使うと動作しなくなりますが(笑)~
※テストベンチもカウントされるよん(^_^;)~

//
- これは動作しなくなるのではなく、極端に遅くなるだけではないでしょうか? -- [marsee] &new{2010-06-04 (金) 13:08:04};
- 単体起動を試そうかとも思ったのですが、何と何とを指定して vsim を起動したらいいか、パラメータが分からず頓挫しました。ISE の古いバージョンで .tdo を作って中を見れば単体起動で行けそうですね。 -- [武内(管理人)] &new{2010-06-04 (金) 14:21:56};
- スターター版のリミット、きついですね。Ethernet 経由でコマンドをやりとりする回路を作っているので、データをUDPパケットで渡して・・・なんてやっていると「動作しない」のと同じくらいの時間が掛かるようになってたり。どこかの時点で製品版が必要になるかもしれません。 -- [武内(管理人)] &new{2010-06-04 (金) 14:25:12};
- リミット越えると、100倍遅くなるし(笑) vlib work, vlog (コンパイルファイル), vsim だよ。 modelsimのインストールしたフォルダにサンプルがあるから試してみるといいですよ -- [アプロ] &new{2010-06-04 (金) 15:39:21};
- たっく さんのverilogシミュレータとかではダメですか? とりあえずベクターを参照してくらさい -- [アプロ] &new{2010-06-04 (金) 15:43:49};
- ザイリンクス版でもリミットがあるので、注意してください。メンターの本当の製品版は大丈夫ですが(^^ゞ -- [アプロ] &new{2010-06-05 (土) 10:24:56};
- はい Veritak も調べてみようと思います。一方で、内部にデバッグ用のロジアナっぽい回路を仕込み、Block RAM に記録した信号を Ethernet 経由で見るようなことを検討し始めています。デバッグ用に内部回路をつなぎ替えなければならない手間はありますが、LED や Push Button よりはずっと役立ちそうな気がしています(汗 -- [武内(管理人)] &new{2010-06-05 (土) 15:08:33};
- まあ、Block RAM だと一瞬しか記録できないですけどね。SDRAM が使えるようになれば、かなり長時間にわたって記録できるので、実用的なデバッグツールになりそうです。 -- [武内(管理人)] &new{2010-06-05 (土) 15:12:08};
- ロジアナもどき、やってみたところ結構良さそうですね。ただ、これは便利すぎるので・・・同じ考え方で、結果を PicoBlaze 経由のシリアル通信で読み出せるようなものがどこかで公開されていてもいいような。また車輪の再発明をしてしまったんじゃないかという気がしてきました。 -- [武内(管理人)] &new{2010-06-07 (月) 08:27:51};

#comment_kcaptcha

Counter: 17612 (from 2010/06/03), today: 1, yesterday: 2