フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2006-9-1 23:03 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3088 |
Veritakは意外にタイミング違反チェックが厳しい? 同じISEのPost-Fit Simulationモデルとライブラリを使ってタイミングシミュレーションをModelSimとVeritakでやって比較してみるとVeritakの方がかなり厳しくチェックしているような結果。
ModelSimでは最初のプリセット時の以下の3つしかでない。 # ** Error: C:/Xilinx/verilog/src/simprims/X_FF.v(94): $hold( posedge CLK:552500 ps, posedge I &&& (in_clk_enable1 == 1):554 ns, 3500 ps ); # Time: 554 ns Iteration: 7 Instance: /test/UUT/\DAY<5>.REG\ # ** Error: C:/Xilinx/verilog/src/simprims/X_FF.v(94): $hold( posedge CLK:752500 ps, posedge I &&& (in_clk_enable1 == 1):754 ns, 3500 ps ); # Time: 754 ns Iteration: 6 Instance: /test/UUT/\MINUTE<3>.REG\ # ** Error: C:/Xilinx/verilog/src/simprims/X_FF.v(95): $hold( posedge CLK:852500 ps, negedge I &&& (in_clk_enable1 == 1):854 ns, 3500 ps ); # Time: 854 ns Iteration: 6 Instance: /test/UUT/\MINUTE<3>.REG\ 実際に波形を見ると他のタイミングでもやばそうなヒゲが出ているのであるがレジスタ値が不定になってしまうためか以降は何もエラーが出ない。 Veritakはレジスタのクロックの立ち上がり前後の入力変化も微妙に検出してtiming check FAILSを表示している。 特にDAY[5]に関しては実際ModelSimでもやばいタイミングが2つ観測されるがModelSimでエラーになるのは最初の方だけ。Veritakは両方検出している。これもModelSimはレジスタ値が最初ので不定になるので以降はもうチェックしていないのかもしれないが。 SDF: timing check[0] HOLD[Spec.3500ps] FAILS at simtime 554000ps <- 1500ps: posedge test.UUT.DAY<5>.REG.CLK ==> posedge test.UUT.DAY<5>.REG.I SDF: timing check[0] HOLD[Spec.3500ps] FAILS at simtime 654000ps <- 1500ps: posedge test.UUT.DAY<5>.REG.CLK ==> negedge test.UUT.DAY<5>.REG.I それ以外のレジスタやカウンタレジスタに関しても確かにかなり入力にヒゲが出ているのでそれらがひっかかっている。 ある意味Veritakの方が厳密なのかも。でも波形だけ見てると気がつかないのが難点。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
Veritak Verilog HDLシミュレータを使ってみる | webadm | 2006-8-31 21:24 |
Post-Fit SimulationもVeritakでできた | webadm | 2006-9-1 10:28 |
むtiming simulationになってない | webadm | 2006-9-1 11:35 |
遅延シミュレーションはできた | webadm | 2006-9-1 21:00 |
Veritakでもhold time違反は表示されていた | webadm | 2006-9-1 21:52 |
» Veritakは意外にタイミング違反チェックが厳しい? | webadm | 2006-9-1 23:03 |
新たな謎が | webadm | 2006-9-2 0:42 |
Coolrunner-IIだとどちらも問題なし | webadm | 2006-9-2 3:51 |
投稿するにはまず登録を | |