【Verilog】 記述言語で論理設計 Project9 【VHDL】
XilinxのISEの「View RTL Schematic」でRTL図を確認しているんですが、
たまに明らかに接続されているはずのところが繋がって描かれていないときがあります。
シミュレーションではちゃんと繋がっている動作をするので、実際は繋がっているはずなんですが・・・
省略表記?にしても、その基準が分かりません・・・
なぜこのようなことが起こるのでしょうか??
表示ソフトのバグだと思う。僕も最初は驚いた。
だいたい、点線だったり実践だったり、太かったり細かったり、
どういうつもりであの線種を変えているのか、サッパリ予想が付かない。
さらに、箱外からの線と箱内の線が、箱に入ったところでバッサリ切れてるわ、
ちょっとひどくないですかね。
さらに、信号線名の字の小さいこと、じゃってんで、F7,F8で画面拡大縮小をした日には
暴走したかと思うくらい固まってしまう。
RTLの下にあるもう一つの表示方法だと全線つながって見えると思う。
僕は、外部エディタを使っているんだけど、
ISE10以降?から、外部エディタをsaveしてISEの画面に移行すると、
じーーーっと、しばらく考えて、やっとシンセサイズのボタンが触れるようになる。
思わず画面に向かって「何やってんの?」と怒鳴ってしまったよ。
たぶん変更したソースの階層構造を調べ直しているんたろうけと、
だったら「調べてるから、待ってね」とダイアログを出せよ、って感じ。
何も言わずに止まってしまうのは、反則。
これほど重くて、動作がもっさりのソフト、はじめて。
ちなみに、CPUは Core2Duo 3GHz 4GB /3GB XP SP3, 250GB RAID0。
他のアプリ全て停止でね。
そんなISEだけど、いつかきっと「サクサク」動く日が来ると信じてる。
マウスの形は変わってるだろ
556 :
774ワット発電中さん:2010/08/27(金) 23:35:21 ID:3XoGZBtr
>>554 >そんなISEだけど、いつかきっと「サクサク」動く日が来ると信じてる。
いつかっていつだ? と3年前から胃が痛い人が聞いてみる。
ISEのModelSimサポートも終了らしいな
FPGAの部さんで知った。
>>556 遠くはない未来です。戸籍上は168才まで生きますから、それまでには。
日本の平均寿命ってどうなってんだろうね
560 :
553:2010/08/28(土) 20:16:20 ID:dvgnYEXX
>>554 レスありがとうございます。
やっぱり表示おかしいですよね^^;
自分も外部エディタ使ってます。
ISEにフォーカスを移すと、たしかに少し固まりますね。
固まりが解けるとソースの階層構造表示が更新されるので、
変更ソースの解析のためで間違いないと思います。
自分の場合はまだ我慢できるレベルの固まり時間ですが、最終的にモジュールを結合して
大きな回路になったときはかなり長くなるのかな・・・
ISE、昔よりはだいぶ良くなったと聞きますが、
さらなる改善を期待したいですね。
今日、PCがコケて、ISEを入れ直したんだけど、気がついたことがある。
Ver 11.4にするためには、いったん11.1を導入済みでないとインストールできないのね。
都合5GBぐらいのダウンロードになる。これはしんどい。
また、フルなんとかというバージョンは、
ダウンロードが5.3GBくらいあって、それはtarファイル。
デスクトップで解凍後、いざインストールを始めると、
「○○を解凍中・・・」と表示される。圧縮した物をさらに圧縮してるんだね。
なんという巨大、なんという時間のかかること。
ディスク容量が12GB以上余ってないとインストール出来ないのか
MicroBlazeに接続可能な(SDR-)SDRAMのIPってフリーか安い値段で市販されていないでしょうか?
open coreにあった気がする
うまく使えたら、教えて。俺も使いたいと思ってる。
ごめん、MicroBlazeか。じゃわからんわ。
少なくとも2年は放ったらかされてるな
教えてください。
VerilogでHDLを書くときの、考え方についてです。
例えば、
FPGA外部の発振器からメインクロックsysCLKを取り込み、HDL全体のクロックとして使います。
ところが下位層では、ローカル処理用に高速なclockが必要なので、sysCLKを逓倍して作成したCLK10があります。
下位層の状態信号など、top階層でモニタして使用したいと思うのですが、
下位層は高速のCLK10で動作しているため、sysCLKで刻んでいるtop階層では、見逃してしまいます。
こんなときは、どのように対処するのが「正しい」方法なのでしょうか?
僕の考えつくところでは、
1) ハンドシェイクをする方法
下位にFFを設けて、イベント発生をラッチ(記憶)して、上位に知らせ、
上位では、了解信号を下位に送り、下位はそのラッチをクリアする。
やりとりが面倒で、間違いも起きやすいと思います。
2) 全体をCLK10で駆動する
DCMの逓倍部分をtopに持ってきて、このCLK10をFPGA全体のclockにする。
わかりやすく確実だと思いますが、リソースがたくさん必要になると思います。
10nsを100万回数えて、10msを生成して・・・・と、FFが一杯要りそう。
例えばRS232の受信部のように16倍のclockで刻む必要がある場合、
ボーレートの変更により、CLK10が変化してしまい、調子が悪いとも思います。
こういうときは、どうすべきなのでしょうか。
宜しくお願いします。
逓倍したクロックと元のクロック間では位相は保障されないのが普通
高いクロックに合わせて動作させるのが常套手段だが、sirial入力を
オーバサンプリングでデータ取りする場合は、内部接続のパラレルビット幅を
増やし、受け側に対して十分低速にして受け渡す
あとはハンドシェイクするなり何なりだな
異クロックドメイン間の通信はFIFOとメールボックスを使うのが筋だな
>>568の例だと非同期メールボックス(要はハンドシェイク)を使えばいい
つーか、ハンドシェイクってやりとり面倒か?
確かにシミュレーションモデルでの検証は面倒かもしれないけどね
イベントを示すパルスの幅を充分に広げてやれば
めいよううぇんてい
私の場合1)の方法はやったことありますが、2)の方法はやった事は無いですね。
事足りるのであれば、下位から上位に伝えるパルスを
sysCLKで確実に1回以上拾えるように
CLK10の16cycle幅に伸ばすだけでいいと思います。
上位からのclr信号はいりません。
グリッドが出ないようにレジスタ出力で上位に渡しましょう。
心配性なので10cycleだと不安ですしどうせ2のべき乗のカウンタなので16にしました。