Comments
Description
Transcript
Read more on Deep Chip
ご参考 ケース・スタディ 米国大手半導体における DEFACTO社 RTL&Gate Editing, Coding, ECOツール の採用事例 *本レポートの詳細はDeepChipのウェブサイトで公開されております。 http://www.deepchip.com/items/0530‐02.html 1 米国大手半導体メーカーにおける DEFACTO社 RTL & Gate Editing, Coding, ECOツールの採用事例 当社は DEFACTO STAR RTLプラットフォームの評価を3ヶ月間行った後、約3年前に導入し、現在使用してます。 STAR RTLプラットフォームは“設計者の為のツールボックス”として使用されてます。RTLの作成、IPの接続、トレース、 マニピュレーションやRTLの変更等に役立つ多くのユーティリティがあり、検証にも役立っています。 STARの導入以前は、設計者はテキスト・エディタ(emac/vi)と内製のスクリプトを使用し、上記の諸作業をすべて マニュアルで行っていました。 RTLレベルで最大の設計効率(できるだけ早期に問題点を見つけるために)を高めるようにグループを組織しました。 導入されたSTARによる自動化機能は、RTLコードの開発にとても効率的です。 STAR“ツールボックス”はAPIを持ち、自分たちの必要とするユーティリティ群を作成する為にTclまたはPerlを使用する ことができます。さらにDEFACTOのTclと非Tclによる追加機能も持っています。 ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ STARの主要機能:RTL及びゲート・レベルの編集とRTLコードの生成機能: 1. SoC/IPの統合とVerilog/VHDLコードの生成 STARは必要とされる接続を自動的に行い、異なるIPをインスタンス化する為のRTL生成をします。 その入力は、 ‐ RTL又はゲート・レベル・ネットリスト ‐ ライブラリ ‐ 接続をしたい周辺のIPの数行のコード IPが変更されるたびに、STARは自動的に正しく接続を行います。IPの多くには、標準のポートに加えて、周辺 にラッパーが存在します。SATARの自動接続機能はIPが変更された場合、設計者がより容易にIPの統合を行 うことに役立ちます。 当社の設計において100~個のIPブロックをしばしば統合します。手書きによるそれぞれのRTLラッパーの作成 とそれらの検証作業には数日要してしまいます。その作業時間の問題だけでなく、それらに付随する問題が発生 します。マニュアル作業のエラーによるプロジェクト遅延の問題です。STARはラッパーのRTLコードを自動生成する だけでなく、修正が正しくない場合にも直ちにフラッグを立てます。例えば、出力から出力に接続された場合や異 なる長さでバス接続された場合などです。 当社ではVerilog, System Verilog及びVHDLを使用してます。DEFACTOはそれらの両言語をサポートしてますが、 これまでに問題は見当たりません。DEFACTOは言語の混在もサポートしていますが、当社では、その機能を必要 としたり、試みたことはありません。 STARを使用し、接続を生成するIPの種類: ‐ デザインIP : 3rdパーティと内製の両方 ‐ メモリー : 自動的にいろいろなメモリーのサイズ、形状及びパワーを取り扱います ‐ DFTロジック: JTAGタップ・コントローラーのようなDFT用IPの自動インスタンス化と接続に有効です 図1. DEFACTO STARで自動生成された接続ラッパーのコード DEFACTOは、そのRTLが正しく、合成可能である事を保証するために独自の基本チェック機能を内部に持って います。一度それが完了すると、新しいRTLネットリストをCADENCE NC‐VerilogかVCSか ModelSimでシミュレー ションを行います。また、 DFTに関連した接続を生成する為にSTARを使用した場合、DFTロジックの追加によっ てチップの機能が変化していない事を確認する為にフォーマル検証(Conformal LECもしくはFormality)を実行し ます。 当社独自の追加ルールを作成するためにDEFACTO APIの使用することができます。また、DEFACTOの追加 のストラクチャー検証用のアプリケーションも使用することができます。それについては後で述べます。 2. デザイン・エクスプロレーション(設計の検討) “デザイン・エクスプロレーション”はSTARの不可欠な基本部です。当社では、Synopsys DCでゲート・レベルの検討 するのと同様にSTARでRTLの検討を行います。 ‐ ポートとインスタンスを見つけるために基本のクエリ・コマンドの実行ができます。そのサーチ速度は非常 に早く、通常1秒くらいです ‐ ファンイン、ファンアウトやパスのような高度のフル・デザインの階層のクエリをサポートしてます 当社では、この機能を適時使用してます。RTLの検討、アクセス、クエリなどができることは、非常に便利です。 3. ユーザー定義のデザイン・ルール・チェック(DRC) 当社ではRTLとゲート・レベルのパワーのチェックの為にSynopsys MVRCとCadence CLPのロー・パワー設計 ツールを使用します。しかし、その適用が、いつも早すぎて、EDAベンダーがまだサポートしていないチェック 作業を行います。 1.関心がある設計要素のトレースと定義を行うためにSTARを使用します 2.設計要素に適用するカスタム・デザイン・ルール・チェックを記述するためにTclとPerlを使用します 例: ‐ ロー・パワーのルール:ロー・パワー検証の為に、パワー・スイッチの接続の為のDRCを実行します。 それで、いつも問題を見つけることができました。 ‐ DFTルール :DFTの独自ルールを書くためにSTARを使用しますが、高度なDFTルール・チェックに は、DEFACTO Sign‐offのDFTルール・チェッカーを使用します。 ‐ メモリーの接続チェック:すべてのメモリーが正しく接続されている事を保証する目的で、特にロー・パワー とDFTに関係したすべてのポートについてチェックを行います。 4. Pin‐to‐Pinのトレース 当社では、長時間のシミュレーションを実行することなく、クロックやI/Oマルチプレクサ・ロジックの構造上の接続 チェックのために広範囲にSTARを使用してます。主な目的は、ある制約を適用した後、2つのノードが構造的に 接続されている事を保証するためです。 例: ‐ ある指定のブロックの出力が、特定のピンのマルチプレクサ・モードで指定のチップI/Oに直接接続されている事 ‐ DFTのように、特定のクロックが、定義されたモードでPLLから特定のブロックの入力に伝播されている事 これらpin‐to‐pinのトレース・チェック(制約下で)機能により多くの時間と労力を節約することができました。 特にブロッケージの位置を正確に示すことができるGUIがあります。当社では、その次のRTLが接続の意図を満た すことを保証するためのリグレッションとしてDEFACTOのチェックを使用します。 ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ STARの追加アプリ DEFACTO STARプラットフォームは、iPhoneのようにユーザーによる機能拡張が可能です。“モジュール”もしくは “アプリ”を追加します。当社で追加使用しているアプリのいくつかは以下のとおりです。 1.STAR‐ECO:フルECOツール STARは自動化されたECO機能を持ち、主に接続の変更を行います。IP自体のECOよりも、接続の追加と削除に 利用されます。 STAR‐ECOはRTLとゲート・レベルの両方で動作しますが、当社ではゲート・レベルのECOに使用してます。 例えば、インバータのような、あるゲートのセットを追加を行いたい場合は、特定のネットのサーチとインバータ の追加のためにSTARを使用します。新しいネットリストを加えるために階層間でECOを行う場合、マニュアル作業 と比較 して、わずか1行(or数行)のコマンド・ラインでECOを行なうことができます。 また、ゲート・レベルで、より複雑なECOを自動的に行うためにSTARを適用してます: ‐ バッファをインバータに変更 ‐ バッファのセットをインバータのセットに変更 ‐ ANDゲートをNORゲートに変更 ‐ スキャン・チェーンのスティチィング;フロップの定義、スキャン・チェーンの挿入、クロックの接続 ファンクショナルECOの多くは、論理合成とLECを通します。時々、論理合成の実行もしくは論理の等価性チェック の実行をすることなく、必要とするゲート・レベルの変更を自動的に行うためにSTARを使用します。 例えば、私たちがロー・パワーの調整を行う場合(パワー・スイッチの接続、ISOセルの接続、レベル・シフターの 接続とアナログIP やメモリーへのロー・パワー接続)、フォーマル検証ツールは、機能に影響を及ぼさないので、 その変更を見ることができません。 DFTのECOについても同様です。その変更はデバイスの機能には影響しませ んが、テスタビリティには影響を与えます。その為、ECOを実装するためにフォーマルの方法は適用できません。 その代わりにSTARを使用します。 STARに代わる唯一の方法は、マニュアル作業によるECOです。 5階層の深さのノードがある場合、マニュアル作業による全てのポートの接続は苦痛な作業です。 ‐ 手作業によるECO:モジュールA、モジュールCなどを修正し、さらにインターフェースを変更し、ポートの追加 をしければなりません ‐ STARによるECO :1行だけの記述が必要です STARによる処理は早いです。平均な時間節約の参考として、当社の代表的なECOの例を示します。 タスク ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ マニュアルECO STAR ECO 時間 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 2‐3 日 2‐3 時間 2. STAR‐BUILDER—Verilog/VHDL RTLの構造検証 RTLシミュレーションの実行前に、いくつかの問題が見つかります。STARを使用することにより、ネットリスト全体 をシミュレーションすることなく、IPが正しく接続された構造である事を検証することにより、多くの時間が節約さ れます。 以下に、その手順を示します: 1. 設計者は、接続に関して検証されるべきRTLネットリスト、IPのストラクチャの仕様をSTARに入力します。 ‐ IPのストラクチャの例:クロック、ロー・パワー、パッドリング 2. STARは、そのストラクチャーのスタートとエンド・ポイントを自動的に定義します。 3. 設計者は制約を指定し、STARに入力します。 ‐ 例えば、ストラクチャーの入力か出力に制約を持ちます。(適当な伝播の為の特定のバリューをセット するコンフィギュレーション・レジスタ等) 4. STARは、設計の階層とストラクチャーにより制約を静的に伝播させることによって、ストラクチャーの接続 性の検証を行います。 ‐ 例:パワー・モードかテスト・モードようにI/Oの制約がどこでブロックされているかどうかを見ます 5. STARは、どのパスがブロックされ、何故そのブロックが発生したかをユーザーに示すためのGUIと検証レポ ート機能があります。 ‐ 例:マルチプレクサの設定ミス、そして、それをパスさせるために信号を切り替える必要があります STARなしでデバッグする場合、徹底的にテストを書く必要があります。度々1000~の徹底的なシミュレーション よる検証を必要とします。 タスク ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ STARによるストラクチャーの検証 シミュレーションによるストラクチャーの検証 時間 ‐‐‐‐‐‐‐‐ 数日 数週 図2.クロックのストラクチャー検証の為のSTARのGUI 赤のラインはブロックされたパスのロジック部をピンポイントで示します。 下の画面の”0”と”1”は何がミスしているかを示します。 3. STAR‐CK—クロックのテストベンチの生成 STARは、接続性チェックだけでなく、詳細な解析・シミュレーションの為のテスト・ベンチの生成ができます。 例えば、STARはクロックが正しいスピードで動作する事を検証するテスト・ベンチを生成することができます。 当社では、検証する100~のクロックがあるので、いろいろのDFTモードでこれらのクロックの検証をするために STAR‐CKを使用します。 図3.STARが生成したテストベンチはシミュレーションの前に解析をすることができます この利点は、通常ゲートで長時間のシミュレーションを実行する為のDFTの工程まで待つことなしに早期にRTL で検証ができる事です。 4. STAR‐PADRING – I/Oパッドリングの生成 最新のSTARの追加アプリはパッドリングの生成機能です。パッドリングは、I/O部にパワー・ドメインの設定を行 なう事により、さらに問題は複雑化します。STAR‐Padringにより、数分で複雑なチップの完全なパッドリングを生 成することができます。それは、いつも「コレクト・バイ・コンストラクション」方式によります。 図4.パッドリングのRTLコード生成の為のSTARのGUI ルールに従って再配置するために、自動デザイン・チェックとあわせてパッドをドラッグ&ドロップできます STARは多様なパッドをサポートし、いろいろなパワー・セグメントに基づく関連のUPFを自動生成します。 設計者がチップのレイアウトの基づきパッドを正しく配置すること支援するGUIを持ちます。今後さらにテストを 行い、将来のデバイス開発に適用の拡張を期待してます。 ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ ‐‐‐‐ 要望事項 DEFACTO STARに対する改善要望事項: 1.Sign‐off のRTL DFTルール・チェッカーをSTARに統合することを要望します。 2.DEFACTOがまだサポートしてない事の一つは、‘attributes’の概念です。(例.設計者のためのPost‐its) IPのattribute/pointer/key wordを掲示を行い、その後、attributeのサーチを行い、 IPにリンクできました。 3.STARのアプリ・ライブラリーに、さらりアプリケーションを追加すること。 当社では、これまで多くの内製スクリプトを使用してました。それらは今やSTARと追加のユーティリティにリプレ ースされました。 開発時間の短縮に加えて、設計者が退社したり職務変更したような場合でも、DEFACTOによる設計工程は、 よりセキュアな環境になりました。DEFACTOの導入前は、大きな課題を抱えていました。新しいエンジニアを 採用した場合には、STARのクイック・トレーニングにより、他のチームメンバーと同じコーディング方法で、その 新人はコーディングをすることができます。 当社の方針は、設計に集中できるようにDEFACTOのようなEDA開発会社にファンド提供することです。 当社では、適所にSTARを所有し、チームは毎日使用してます。単一のプラットフォームとして使用することを好 みます。コマンド群を1セット学ぶだけで、ワン・ショットで作業することができます。時間の節約(IPの接続の為の 日数と検証のための週数の合計)もできます。さらに、私にとっての心配事を減らします。何か問題があった場 合に、その解決の為の適当なツールが入ったツール・ボックスを自分のガレージに持っているような感じです。 STARはホームデポのように、ユーザーが自分で必要とするアプリケーションを作成することができます。 ‐ [ Asterix the Gaul ]