-AI版

EDA(Electronic Design Automation)ツールは、ASIC(Application-Specific Integrated Circuit)開発において不可欠な存在ですが、ツール提供者であるEDAベンダーのアプリケーションエンジニアがそのツールの本来あるべき姿を理解していない場合が多々あります。本記事では、EDAベンダーさんと四半世紀以上付き合ってきて感じたことをすこし記載してみようと思います。

EDAベンダーの実情

EDAベンダーのアプリケーションエンジニア(AE)は、もちろん自分が担当するツールについての表面的な知識は有しています。しかし、ASIC開発全工程を実際に開発現場実施した経験がないため、設計フロー全体の理解が欠如している場合が多いのが現実です。このため、ユーザーが抱える問題点や、ツールの改善点を適切に把握することができないのも無理はないと感じてきました。加えて、同一ツールであっても複数のAEが存在し、各々が対処可能な会社のテリトリがあるため、ホントはもっと優秀な人がいたとしても、その方のサポートを受けることができるわけではありません。

EDAツールの限界とユーザーのフラストレーション

事例1:ツールのバグ 論理シミュレーターや論理合成ツールの使用中にツールのバグに直面すると、基本的にバグを再現するコードと環境一式の提供が必要になります。もちろん、自身が設計しただけのものであれば、権利関係等の調整が容易だが、NDAのもとに開発していることが多いため、多くの場合は丸ごと提供するわけにいきません。なので提供可能な範囲に小さなブロックにカットダウンする作業は忙しいなかでの余計な手間というだけでなく、小さなブロックにしたことツールのバグを回避してしまうこともあり、この無駄な作業にかかる労力はとてもフラストレーションを感じることになります。最終的にツールのバグを証明するまでのパッケージを作成して提出する段階的になると、なぜユーザーがここまでやってあげなければならないのかと理不尽な思いがあったとしても、AEの人は皆さんいい人ばかりなので、あからさまに嫌な対応もできません。特に新しくアサインされたばかりで私を知らない方だと、私の使い方を疑われているようなご対応であったり、あからさまにマニュアルにそった表面的な対処をなさる場合などもあり、もっと設計フロー全体を理解して対応してほしいと思うこともありました。

事例2:設計手法の理解不足 SRAMなどのハードマクロは設計プロセスに応じたマクロを構造記述によりインスタンスしなければならないが、RTL設計者としては、どんなプロセスにでも再利用可能なコードを記載したいので、プロセス固有のハードマクロに関しては、そのラッピング階層を作成することが常套手段です。ところが、場当たり的な設計しか知らない方もいらっしゃるので、そのような方だと、基本の”き”的なところから説明を差し上げることまであり、このケースでも、エンジニアがツールの表面的な知識しか持っていなかったため、ユーザーが直面する具体的な課題を理解できていませんでした。設計者が行わなければならない作業そのものをもっと理解していれば、ツールをどう使えば、実際の現場でより効率的に使うことができるのかを考えて提案できるはずと感じることがありました。

ユーザーの声:改善要望 EDAツールを使って設計フローを最適化することを期待していますが、ベンダーのエンジニアは私たちのニーズをあまり理解していないように感じます。ツールのインターフェースや機能に対するフィードバックを日本サイドのエンジニアに提供し、必要性を理解頂けたとしても、ベンダーの実際の開発者にダイレクトに響いて改善が進んだことを感じる機会が少ないのではないでしょうか。

解決策と提言

  1. ユーザーとのコミュニケーション強化
    • EDAベンダーは、ユーザーとの定期的なフィードバックセッションを設け、具体的な問題点や改善要望を直接収集するべきです。
    • ユーザーの設計フロー全体を理解するためのワークショップやトレーニングを実施し、エンジニアの知識を深めます。
  2. 実務経験のあるエンジニアの採用
    • EDAベンダーは、ASIC開発の実務経験を持つエンジニアを採用し、ユーザーサポートチームを強化するべきです。これにより、実際の設計フローに基づいた具体的なサポートを提供できます。
  3. ツールの改善プロセスの透明化
    • ツールの改善プロセスをユーザーに公開し、どのようなフィードバックがどのように反映されるかを明示します。これにより、ユーザーの信頼を獲得し、より良いツール開発が可能となります。

まとめ

EDAベンダーのアプリケーションエンジニアがツールの表面的な知識しか持たず、設計フロー全体の理解が不足している現状は、多くのユーザーにとってフラストレーションの原因となっています。実務経験を持つエンジニアの採用や、ユーザーとのコミュニケーション強化を通じて、これらの課題を解決し、より使いやすいEDAツールの開発を進めることが求められます。

リンク