ご 参 考 ケース スタディ 米 国 大 手 半 導 体 における 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 : 3 rd パーティと 内 製 の 両 方 メモリー : 自 動 的 にいろいろなメモリーのサイズ 形 状 及 びパワーを 取 り 扱 います 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 2 3 日 STAR ECO 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 ]