2010年11月7日日曜日

MULTIPORT I/F部の検討 4

少々早い気もするが、現状のtest benchでのcode coverageを見てみた。
code coverageの計測はcoveredを使用した。
coveredはTrevor Williams氏が開発し、GPLで公開している Verilog code coverage analysis toolだ。line coverage, toggle, condition (combinational logic)等の他にOVLによるAssertionにも対応している優れ物だ。
昨日までに作成したtest benchはmpifの粗動作を確認するため簡単なものだが、line coverageは回路(記述)の冗長な部分を見極めるのにも有効であり、その点において現時点で実行する意味はあると思う。


simulatorはicarus verilog (iverilog)を使用した。
←はcoveredやiverilogへの入力fileの内容と、実行の様子だ。












coveredは結果をGUIで見ることもでき、
covered report -view cdd_file でGUI modeで立ち上がる。
←で分かる通り左側のwindowがcoverageの結果表示で右側のwindowがsource表示用だ。
←からmpifのline coverageは98%であり、cover出来ていない部分があることがわかる。その部分をsource windowで確認すると、state machineのGRANT state部のif文の記述であることが判った。w_cmdは2bitでその前の部分で全ての場合について記述されているので問題の箇所はw_cmdの値が不定値でも無い限りは到達しない。冗長な回路記述だ。削除しよう。


2 件のコメント:

  1. covered良さそうですね。原稿書きが終わったら、私も試してみようと思います。

    返信削除
  2. 素晴らしいソフトウェアだと思います。
    ぜひ、使って見てください。

    返信削除

自作CPUで遊ぶ 25

まだ制御ソフトが完成していないので今まではスピンドルを移動するために一々簡単なプログラムを書いて移動させていたのだが、非常に面倒なのでCNCペンダント的なものを作ることにした。 右側の縦に2つ並んでいるスイッチ...