設計自動化
Design Automation

Motorola 68000チップ写真

計算機の高速化・低価格化

近年、計算機の高速化・低価格化が進んでいます。 これは計算機を構成する部品の高集積化による処理速度の高速化と 大量生産によるコストダウンが進んでいるからです。

階層設計

計算機の中にはプリント配線板がありその上にVLSIと言われる CPUやメモリが集積回路素子が置かれ,それらの間は電気配線で 接続されています.また,これらのVLSIの中は,その機能を実現するための ゲート素子やフリップフロップ素子の多くの素子が随所に配置されそれらの間が 電線で接続されています.さらに,これらの素子はトランジスタや抵抗と言った 基本的なスイッチ素子で実現されており,やはりそれらの間を目に見えないくらい の細い電線で接続されています. このレベルになると1ミクロンより小さな寸法(サブミクロン)の素子が 現れはじめます.これらは微細加工技術の進歩により実現できるようになりました. さて,これまで見てきたように計算機の設計は階層的に行なわれていることが わかります.大きなものはそれより小さいものを適切な位置に置き(配置), それらの間を電線で接続する(配線)ことでできています. これを繰り返してより大規模な設計を実現しているのです. このような設計方法を階層設計と言います.

集積度の向上による大規模化

ここではCPUやメモリを扱うVLSIに注目してみましょう. CPUやメモリ単位の集積化だけでなく,システム全体も一つのチップ 上に構成しようという試みもなされています(システム・オン・シ リコン).今後、VLSI設計は大量のデータを扱っていかなければな らないでしょう。

ディープサブミクロン時代の到来

また,論理装置をできるだけ小さく作ろうとすると,いままで考え なくても良かった電気的影響まで考慮しなければ設計できない 時代(ディープ・サブミクロン時代)になりつつあります. 回路レイアウトから発生する寄生容量や寄生抵抗などを考慮した VLSI設計が要求されています。

手作業での設計はいまや不可能

このように,最近の計算機は,大量のデータと多くのパラメータを 考えて設計しなければならないので,もはや手作業での設計はでき なくなっています.

計算機を用いた設計

そこで,登場するのが計算機を使った設計です. 「計算機で計算機を作る」というのは何か変に思われるかもしれま せんが,高速な計算機の力と柔軟な人間の判断力をうまく利用して, より高速な計算機を開発しようとしています.

CAD

計算機を使った設計方法には主に2つの立場があります.ひとつは 計算機を人間の道具として使うCAD(Computer Aided Design:計 算機支援設計)です.これは単純で高速な処理が必要なところだけ 計算機に任せ,必要に応じて人間に判断を求めてくる計算機と人間 の対話設計です.もちろん人間が判断を誤る可能性があり,きちん と設計後のチェックをしなければなりません.

DA

もうひとつの立場は,DA(Design Automation:設計自動化)です. DAは人間の介在をいっさい必要とせず計算機にすべての設計を行 わせる設計方針です.現在はCADが主な設計手法になっています が,DA化が進めば,仕様書だけ与えれば計算機が全自動でできて しまう時代がきっとやって来ることでしょう.

難しい問題

ところで,論理装置の設計には,もともと最適解を得ようとするこ とが難しい(時間がかかる)問題があることが知られています. 設計の最終段階で行われる図形処理であるレイアウト設計では, 配置問題と配線問題がそれにあたります.

配置問題と配線問題

配置問題は部品(セル)をどこに置くか決める問題,配線問題は部品 (セル)間の電線をどこに敷設するかを決める問題です. 配置処理はその後に行われる配線がしやすいように,配線処理は置 かれている部品(セル)をうまく避けて経路を探さなければなりま せん.配置問題と配線問題はお互いに影響しあっているので難しい 問題なのです.

発見的手法の利用

だからといって解かずにそのまま放置するわけにはいきません. 現在は,計算機に発見的な手法(ヒューリスティック算法)を適 用することで最適解に近い解(近似解)を求めることが行われてい ます.もちろん得られた解のうち設計要求の満足していない部分 に関してはCADを使って修正します.

設計アルゴリズムの開発

問題の解を得るために適用する手法のことをアルゴリズムと呼びま す.同じ解を得るにしても,効率のアルゴリズムと悪いアルゴリズ ム方法があるのが通常です.計算機がいくら速くなったからと言っ て効率の悪いアルゴリズムを使えば処理が終わるのを待ちきれない ことでしょう.どのようなアルゴリズムが効率が良いのかを解析し たり,どの程度効率が良いのかを議論したりする必要もあります. そのような研究の結果として,効率の良い設計アルゴリズムを開発 することになるわけです.

設計自動化への期待

計算機の性能が向上するとともに,以前はできないと考えられてい た処理も今では実現できるようになってきました. これまでCADにより人間の誤りの混入を避けることのできなかっ た計算機設計ですが,今後の計算機の性能向上により設計自動化が 実現する日がやってくることでしょう.
1999.09.19.
fmiso@sccs.chukyo-u.ac.jp