Verilogシミュレータ、Veritak 3.68Aの波形比較機能は、なんと、シミュレーションの波形とChipScope Proから出力したVCDファイルを同時に表示して、それを比較できるのだ。これは本当にすごいと思う。世界初かもしれない?
具体的には、下の図を見てほしい。これはVeritak作者のたっくさんからいただいたプロジェクトを一部変更したものだ。

表示されているWaveform Viewerには、青いChipScopeのVCDファイルの信号と対応するVeritakでシミュレーションした信号波形(黒またはオレンジ色)が縦に並べてある。上下の信号の異なっている部分が赤で表示されているわけだ。Waveform Viewerの右はじに’]’が表示されているのが、比較している信号となる。
VCD Timestart Shift Dialogを見てほしい。Set Time Offsetが、VCDをシミュレーション波形からどのくらいシフトするかを決めている。そのシフトする条件はOffset Byで決定されている。そして、ChipScopeはクロックでサンプリングされているので、クロックのスケールをかける必要がある。現在のDDR2 SDRAMコントローラの周期は6.6667ns なので、Scaleに6.6667が入っている。そして、Check by Red Makerにチェックを入れているので、波形を比較して異なっている部分が赤く表示されている。
詳しくは、
Veritakチュートリアルの”
2.4.1.4 VCD波形とVeritak波形を一緒に表示する”を参照のこと。
上の波形でDQS2intclk_RISE/wgray2 は赤くなっているが、これはDQSクロックで動作する非同期FIFOのWRITEポインタ用グレーコードカウンタをFPGA内部クロックで2度サンプルした後の信号だ。よって1クロック程度遅れるのは仕方がないと言えると思う。
ChipScopeでとった波形の全体像を下に示す。

真ん中や、右はじに赤いところがあるが、詳しくは調査してみないとわからないが、どうもバースト長がシミュレーションと実機で違っているようだ。ChipScopeの試用期間が終わる前に詳しく解析しようと思っている。このように違いが良くわかる。
後で、ダウンロードできるプロジェクトでのやり方を書こうと思っている。
- 2009年06月24日 20:40 |
- ChipScope、シミュレーション協調検証
-
| トラックバック:0
-
| コメント:0