2011年7月3日日曜日

CAN IPのDEBUG 4

今日は、OpenCoresのtest bench及び自分のtest bench用のvectorの結果を総合して、
coveredでline coverageを見てみた。
受信部(can_rxpp)はかなりの部分がcoverできているがまだ、error処理に関連する箇所でcover出来ていない箇所がある。



送信部(can_txpp)はまだ78%しかcover出来ていない。これもerror処理に関する箇所が残っている。



can_errはerror counterを保持しているmoduleだが、こちらも殆ど送信関係部が残っている。


line coverageはRTL記述がsimulationで実行されたか否かを見ている。冗長な記述やRTL simulationでは実行されないような箇所以外はcoverされるべきであるが、全てcoverされたからと言って、回路の正常動作が保証される訳ではない。記述していない部分はcoverしようが無いのであり、仕様解釈を間違ったりして実装漏れがあった場合には、検出しようがない。 そういった部分はOVL Assertion等でcheckして行きたいと考えているが、まだそのcodeは記述していない。(何やかんや言って面倒くさい) CAN I/Fの用途(自動車内部の通信や工作機械の通信I/F等に使われている)を考えると、 このIPの不具合は人命に関わる事故に繋がる可能性も否定できないので、商用として開発する場合には面倒でも徹底的に検証をするべきだろう。 私の場合は今のところ、CAN I/Fの勉強の為に作ってみているというスタンスであり、FPGAにprogramして実機動作確認までやるかどうかも今のところ未定だ。
何れにしろ、もう少し検証を継続しようと思う。

0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 22

今使用しているモータードライバはDM556Dというものだが、このドライバはMicro Stepが 800 [pulse/rev] 〜 40000 [pulse/rev]の範囲で設定できる。 Mi...