特集
» 2008年07月01日 00時00分 UPDATE

ICプロトタイピング導入のススメ (1/4)

ICの設計が複雑さを増すに連れ、開発フローの早い段階でプロトタイピングを導入する必要性が高まってきた。しかし、ICプロトタイピングに割くことのできる時間は限られており、製品化の際に致命的となりかねない潜在的な問題を効率良く確実に検出するのは、実際には困難なことである。本稿では、こうした問題を解決するために、ICプロトタイピングツールにはどのような機能が要求されるのか、そうしたツールを使いこなすにはどうすればよいのかといったことを明らかにする。

[Neeraj Kaul, Steve Kister(米Synopsys社),EDN]

IC開発にも「プロトタイピング」

 トランジスタの微細化がナノメートル単位のレベルまで進んだ結果、ICの設計はますます複雑なものとなった。設計要件はこれまで以上に厳しくなってきており、その上、市場投入までの期間はよりタイトになってきている。こうした制約が背景となって、ICの設計フローの初期段階で、プロトタイピングを行うことが重要になってきている。

 複雑化するICには多くの問題が潜んでいる。設計フローの早い段階でそれらの問題を検出できなければ、最終的に開発プロジェクトそのものが立ち行かなくなる恐れがある。ICの開発にもプロトタイピングを導入することによって、こうした問題を解決することが可能になる。

 ただ、そのアプローチの方法はさまざまであり、その実行方法にも複数の選択肢が考えられる。そこで、本稿では、最新のIC設計におけるプロトタイピングに焦点を当て、実際にそれを実施する際の要件や有効な手法について解説する。

プロタイピング導入のメリット

 設計フローの終盤になってから、その設計が仕様を満たしていないことに気付いたのでは、無駄な開発コストがかかってしまう。少なくとも開発スケジュールに狂いが生じ、問題点を解消するための作業時間が増え、最終的にIC製品を市場に投入するのが遅くなってしまう。最悪の場合、開発プロジェクトそのものが中断され、何カ月も費やしてきた作業が無駄となり、製品化の機会そのものが失われてしまうことにもなり得る。ICプロトタイピングは、このようなリスクを回避することを目的としたものである。

 ICプロトタイピングでは配置/配線/解析/最適化などを行うので、実際の製品開発時に行う実装(インプリメンテーション)の作業とよく似ている。ただし、プロトタイピングは設計仕様の範囲内に回路を配置することが可能かどうかを見定めることを目的としている。開発フローの初期段階においては、さまざまな配置方法が考えられる。プロトタイピングを行うことによって、選択した配置方法が実現可能であるか否かを確認するのである。致命的となり得る問題を前もってプロトタイピングによって検出することで、開発フローの早い段階で仕様を再検討することができ、プロジェクトが失敗に終わらないよう、構造、機能、チップサイズなどを変更することが可能になる。

 チップの設計仕様の各種項目は、機能/タイミング/消費電力/サイズなどに分類することができる。これらのうち、機能は回路の動作を定義するものである。タイミングは、クロックサイクル数などの仕様や、回路が機能を実行するために要する時間の許容条件を表す。消費電力は、アイドル状態やフル動作の状態など、さまざまな動作モードにおけるチップの消費電力を定義する。サイズは、チップのサイズを定義する。このチップサイズが大きくなると製造コストが高くなり、製品の価格に影響を与える。

 物理的な実装(マスクレイアウト)においては、サイズ/タイミング/消費電力などが直接影響する。これらの仕様の1つでも要件を満たしていないときは、物理的または論理的に配置を変更するか、回路の機能全体を変更することが必要になる。

 ICプロトタイピングにおいて重要となるのは、最終的な実装とは異なり、時間や労力をあまりかけずに必要十分な問題を検出することである。決められた時間内に設計を完了する必要があるため、プロトタイピングに費やせる時間も限られている。設計情報を基に実装する方法は多数存在するわけだが、プロトタイピングにおいて迅速に配置/ 配線/解析/最適化などを行うことで、多くの実装方法について早期に調査することができる。以下では、プロトタイピングにおけるプロセス要件、ネットリストと制約の処理、配置、電源/信号の配線、解析などについて、その目的や利点を説明する。

ツールが満たすべき要件

 ICプロトタイピングをプロジェクトの成功に結び付けるには、開発フローのできるだけ早い段階で設計の実現可能性を評価できるように、迅速に完了することが必要である。ここで言う実現可能性の評価とは、誤りのない実装を完成させることではなく、設計の詳細実装を実施する際に直面するであろう問題の数や難易度を明確にすることである。その際には、できるだけ早い段階で評価を行うために、不完全だったり不正確だったりする設計初期のデータを使用せざるを得ない。従って、プロトタイピングツールには、そのようなデータを扱うことができ、それを基に問題を特定する機能を備えることが求められる。

 ICプロトタイピングにどれだけの時間を費やすかは、開発の全体スケジュールに依存する。実装に費やせる期間が数週間であるならば、プロトタイピングの作業は数日で終えなければならない。実装に数カ月の時間を割けるのなら、プロトタイピングの時間は数週間ほど確保できるだろう。プロトタイピングの時間を短縮するには、完全性と正確性のトレードオフが必要となる。そのためには、プロトタイプの予測可能性をモニタリングする解析ツールを使用する必要がある。

 スクリプト機能のサポートも重要である。設計者が結果の解析や次の作業の決定に集中できるように、レイアウトの試行を短時間で行えなければならない。ICプロトタイピングの工程が効率的であれば、レイアウトの試行を複数回行える。設計者は解析結果に基づいて、どのレイアウトを採用するのか、それとも新たに別のレイアウトを作成するのかといった判断をする。有望な試行レイアウトを見つけることができれば、設計者は直ちにそれを段階的に改良して、「what if」解析を実施することが可能になる。

 表1図1は、スクリプトプロトタイピング手法の結果を示したものである。スクリプトを1回実行すると、1つの設計に対して複数の配置プランが作成され、同時に表も生成される(例えば、HTMLで生成)。表の各列は、それぞれの配置プランにおける実行方針とその結果を表している。この表の各列を見比べることによって、どの配置プランを最終的な実装のベースとして使用すればよいのかといったことを容易に判断することができる。図1には、3つの配置プランにおける配線の混雑度(congestion)の分布が示されている。これらの分布から、図の右側にいくほど結果が悪くなっており、特に図1(c)は最終的な配置プランには適していないということが確認できる。

表1スクリプトプロトタイピングの結果 表1 スクリプトプロトタイピングの結果 
図1 スクリプトプロトタイピングの結果 図1 スクリプトプロトタイピングの結果 この結果から、混雑度分布の情報が得られる。良い実装例(a)、それより少し劣る実装例(b)、悪い実装例(c)といった判断が行える。
       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.