2018年9月13日木曜日

イーサネット + DMACの評価でやってしまいました

2009年頃、筆者はとあるプリンターメーカー向けASICの実装機評価に参加して、イーサネットインタフェースの評価を担当しました。これは、既存のイーサネットインタフェースとDMA(Direct Memory Access)コントローラを1つの機能ブロックとしてまとめたもので、この製品のために開発されたカスタム機能ブロックでした。

内蔵CPUを動かすプログラムをC言語で書いて、ソフトウエアでイーサネットコントローラーを制御し、動作させる、というのが、実装機評価の内容です。

試作品が出て来た時点で、実装機を使った通信機能の機能評価をして、通信機能に問題が無いことは確認していました。しかしお客様のセット試作品評価において、とある動作条件のときのみ発生する動作不具合が見つかってしまいました。筆者が実施した内部評価で見つけることが出来なかったのは、筆者の力不足だったのはもちろんなのですが、イーサネットコントローラー単体評価がミッションだったのか、イーサネットコントローラー+DMAコントローラーの評価がミッションだったのか、今となっては定かではありません。

しかしまた、ここでも、筆者が実装機評価に参画して担当した機能ブロックにはバグが出る、というジンクス通りのことが起こりました。

本件、記事執筆時点で9年を経過した出来事なので、記憶が曖昧な点があります。可能な限り矛盾が生じないように、内容を吟味してはいますが、お許しを。