アナログのトップダウン設計が進まない理由、もしくは、信号を0,1化するメリット
近頃社内でこのような話をよく聞く。ボクの中では、5年前に結論が出ている問題ではあるのだけど、今一度考察してみようかな。
主に二つある。
- 機能設計に集中できるほどには、デバイスの影響を抽象化できていない。
- プログラム化して、抽象度を設けていくよりも、作ってしまった方が早い。
デバイスの一次効果
前者はトランジスタだけに限ることではないけど、要は常に物理的な配置イメージを頭に置いていないと回路設計はできないのが現状である。
有名なアナログ設計の八角形というものがある。
- 雑音
- 線形性
- 利得
- 電源電圧
- 電圧スイング
- スピード
- 入出力インピーダンス
- 消費電力
これらはお互い相互に影響しあっている。アナログ設計者は常に(かどうかはわからんけど)、この八角形全体の影響を考慮しながら設計している。
では、デジタル設計にはなぜ上記のようなトレードオフがないか? いや、ある。実際にセル設計している部隊。特に面積最小を狙っているようなところは、複数のトレードオフを考慮していかないと、最適な回路など到底生み出すことができないだろう。しかし、そこを超えてしまえば、遅延と電力と言う二つの特性だけにセルを抽象化できてしまう。
アナログセルの場合、オペアンプを作ったからと言っても、遅延と電力と言うように抽象化することはできない。それは結局連続量を扱わないといけない、と言うところに帰着するのだろうが、前後に挿入する回路によって、入出力特性が変わる可能性があったり、近くにおいた回路によるレイアウト的な影響で均一に作れなくなる、と言う可能性もある。
人間の頭でできることは、コンピュータにもできるだろう。しかし、コンピュータはあくまでスペックベースでしか答えを弾きだすことができない。上記のトレードオフを全て入れれたとしても、コンピュータが弾きだす最適だと思われる解と設計者が考える最適だと思われる解には、まだまだ差があるのが現状であろう。
汎用化の難しさ
そして、後者の方。
設計者のノウハウを全てプログラムに制約として入れてしまえば、最適値にたどり着く可能性はある。確かに、遺伝アルゴリズムタイプの最適化ではなく、数式ベースの最適化はそういう方向だろう。しかし、数式ベースの最適化ツールが成功することはなかった。これは、汎用性のなさ、と言う言葉に集約できると思う。
大学時代、S◯NYにインターンに行くチャンスがあった。プリント基板を設計・製造している事業所だ。今でもあると思う。ボクが学生の頃は、PS2の基板を製造していたと思う。S◯NYのような会社であれば、全てオートメーション化されているものだろうと思っていたら、実際に基板を作っているのは、南米の労働者たちであった。すなわち、機械ではない。
その時に聞いたことは、確かに自動化はできるが、バリエーションが多いので、汎用的なものを作るよりも人手で対処した方が早くて安く済む、と言うものだった。数式ベースの最適化ツールも同じ課題を抱えているように思える。全ての制約をプログラムにインプット出来れば、確かに最適解を得られないことはないだろう。しかし、費用対効果が成り立たない。展開製品が多いPLLのようなものであればPayするはずだ。確かにそうかもしれない。しかし、プロセスやスペックが異なれば、制約条件をイチから考える必要があり、結局のところベテランデザイナしかできない。それであれば、展開できるだけの技術力を持ったエンジニアを育成して、ベテランデザイナとタッグを組んで設計していく、今のスタイルの方が費用対効果的にはメリットがあるのだろう。
最後に
もう少し上手く書けるつもりだったけど、いまいち上手くまとまらなかった。自分の中でもまだモヤモヤしている部分がある。
このようにアナログの最適化・自動化と言うのは、やはり現実的ではない、と言うのが私の意見。美しさをコンピュータに判定させるのはどうしたらよいか、と言うのに似ている気もする。
それよりも、これからのアナログ回路は全てデジタルとの混載になるであろう。よく言われていることであるが、微細化のメリットを享受して、高速・低消費電力・小面積化を実現するためには、デジタル化出来る部分を増やしていった方がいい。とすると、今後アナログEDAに求められるのは、今まで以上のアナデジ混載回路の検証方法を確立することではないだろうか?
ということで、私はアサーションベースのアナログ回路検証に、今興味を持っているところだ。