スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2006-8-19 11:55 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
原因がわかった ModelSimの前出の波形を見てなぜかSELECT入力の変化タイミングがずれているのが気になった。
そしてカーソルを表示させてCLOCK1Mの周期を測ったら100nsだった。む、20MHzじゃない。 思い出した、ISE 8.1iの時にPost-Route Simulationでタイミング違反が出たようなのでクロックを下げようと半分の10MHzにしたのだが他の入力信号のタイミングは20MHzのままだった。 なら1つおきにしかCLOCK1Mの立ち上がりタイミングに遭遇しないわけだ。 がっくし、いろいろ試行錯誤してやるのもいいけどこういう墓穴を掘る危険も高くなる。 すべてはISEが悪いのだと責任転嫁。 |
webadm | 投稿日時: 2006-8-19 12:11 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
10MHzでのテストベンチならOK やはりISE 8.2iでもSpartan2Eだと20MHzではまともに動かないらしい$setup警告が随所で出てしまう。波形も最後の方は真っ赤だ。
CLOCK1Mを10MHzにしてnPRESETやVALUEのタイミングもそれに合わせて間延びさせてやると今度はPost-Route Simulationでも意図した通り動いてくれた。 Alteraの場合はBehavior Simulationに相当するのはFunctional SimulationだがこれはFunctional Netlistをベースにシミュレーションするだけで遅延とかの要素は一切考慮しない、その代わりシミュレーションはばか速い。タイミング以外の基本的な設計誤りはこちらで取り除いて最後タイミングに重点を置いたシミュレーションは時間をかけてやるという感じ。それでも規模とかの制約が無いので高速だったがXilinxは制限がかかっているのでとてつもなく時間がかかる。そういった点を狙ってAlteraはXilinxからの鞍替えを勧めているけどどうなのだろうか。 Post-Route Simulationをやらない限りは動くとは限らないのはこれでわかった。 |
webadm | 投稿日時: 2006-8-19 12:23 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
Re: 論理合成後のモデルを使えばいいのか marseeさんどうも初めまして。
一連の問題で無我夢中でレスされているの気が付きませんでした。無視したわけではありませんすいません。 なにぶん手近の資料がどれも古いので試行錯誤な状況です。 貴重なアドバイスありがとうございます。 FPGA日記密かに読まさせて頂いております。内容が高度なのでついて行けてませんが...orz 今後ともよろしくお願いします。 |
marsee101 | 投稿日時: 2006-8-19 15:29 |
Just popping in 登録日: 2006-8-16 居住地: 投稿: 3 |
Re: 10MHzでのテストベンチならOK ご存知かもしれませんが、Xilinxは動作周波数(周期)を制約ファイル(.UCF)に書いてやらないと、プレーサー&ルータが怠けるので注意が必要です。
|
webadm | 投稿日時: 2006-8-19 20:33 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
なるほど やはりそうだったのですね。論理合成のリポートとかどこ見てもFPGAの場合は最大動作周波数的な情報が見あたらないのでそうかなとは薄々思ってましたが。
Webで他の方のXilinxのデザインの仕方みても必ず論理合成前にやっとかないといけない作業として制約条件の設定というのがあるのでやはりお約束なのですね。 CPLDの場合は確か何もしなくても最大動作周波数とかがリポートに出てきたのですが、Xilinxの場合FPGAとCPLDとは根本的にアーキテクチャが違うので使い勝手が違っても仕方ないですね。 |
webadm | 投稿日時: 2006-8-22 5:08 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
20MHzでも余裕でうごくことが判明 以前20MHzのクロックでシミュレートした際にはPost-Route Simulationで不定が所々でてしまうということだったが原因が判明。
ふと20MHzクロックでのテストベンチウェーブを作成する際にセットアップとホールド時間をデフォルトの15nsから短くしてしまったのを思い出した。 年月日時分秒のプリセットシーケンスで既に不定が出ているのでそれが尾を引いていた感じだ。 クロック周期は50nsのままでセットアップとホールド時間を15nsに増やしてテストベンチウェーブを作成したらすんなり動いた。 やはりクロック信号に関する制約条件を与えていないから何らチェックもされていないとはいえ、なんか警告が出てくれてもよさそうな気がする。出力信号に不定が出るからそれでやっとわかる。 タイミング解析結果から見ると最大遅延でも50nsにかなり余裕があるので実際はCPLDと同じように50MHz超えても余裕なのかもしれない。 |
webadm | 投稿日時: 2006-8-22 17:54 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
インストールドライブがC決め打ちのソフト インストーラーがソフトをインストールするドライブをCに決め打ちしているソフトが結構あるらしい。
大抵はインストールする場所を任意に変えることが出来るようになっているので問題にはならない。気の利いたソフトは最初から起動ドライブのレターを使う。それでも最初はC:\xxxとか出て知らずに次ぎをクリックするとエラーが出て慌てるソフトも結構多い。 中にまれにインストール先がC:\xxxと出て変更できないソフトがあることを発見。たまたま先日Cドライブ用のコンパクトフラッシュを買って使い道が無かったのでそれを挿してそこにインストールさせて事なきを得たが、あれはひどい。Microchip社のUSB評価ボード用のソフトだけどね。ソフト作成者の手抜きに違いない。 |
webadm | 投稿日時: 2006-8-31 10:42 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
VerilogかVHDLか ModelSim Xilinx Editionをインストールする際だったかにVerilogかVHDLどちらか一方を選択しなければならない。
実はここでどちらかに決めたとしてもISE自体で選択した方で書かれたデザインしかまったくシミュレーションできないという意味ではないということが使ってみて判明した。 ModelSimでどちらか一方を選択したとしてもPost-Fit Simulationであればどんな言語でも可能である。シミュレーションする対象のネットリストやデバイスシミュレーションモデルとして選択した言語のものを使用するということだけである。 実際にPost-FitシミュレーションしてみるとISEはModelSimシミュレーション用にVerilogかVHDL形式でデザインのネットリストとテストベンチソースコードを吐き出してModelSimに渡す。なのでVerilogを選択したからといってまったくそれ以外の言語で書いたデザインや複数の言語が使用されているデザインとかのシミュレーションが出来ないわけではない。 できないのは選択した言語で書かれたデザインのソースコードレベルのデバッグをが伴うBehavioral Simulationだけである。 |
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |