説明

アサーションベース検証装置、およびアサーションベース検証方法

【課題】大規模で複雑化した半導体集積回路に対する機能検証を効率よく実行しつつ、検証対象の半導体集積回路の品質を向上させる技術を提供する。
【解決手段】論理シミュレーション実行部(15)(17)の機能によって、制御可アサーション記述ファイル(25)の、処理対象アサーション記述と処理非対象アサーション記述とを特定する。処理対象アサーション記述を用いてDUT(22)に対するアサーションベース検証を実行しつつ、発火条件を満足したか否かを判定した結果に基づいて発火情報レジスタ(28)を書き換える。発火情報レジスタ(28)のデータに基づいてアサーション制御情報(27)を更新して新たなアサーション制御情報(27)とし、新たなアサーション制御情報(27)を用いてアサーションベース検証を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アサーションベース検証装置、およびアサーションベース検証方法に関する。
【背景技術】
【0002】
情報処理技術の進歩に伴って、情報処理装置(コンピュータ)に搭載される半導体集積回路の大規模化が進んできている。また、情報処理装置に対する高性能化や高機能化の要求に伴って、半導体集積回路の内部の構成が、非常に複雑になってきている。
【0003】
大規模で複雑化した半導体集積回路を適切に設計し、品質の高い製品を得るために、半導体集積回路の設計においては、機能検証などを行う検証工程に多くの時間や工数を費やしている。例えば、近年の回路設計の現場においては、機能検証にかかるTAT(Time Around Time)が、全体の7割近くかかるといわれている。検証工程に費やす時間や工程数の増加は、製品のコストの増大に繋がる。そのため、大規模で複雑化した半導体集積回路に対する機能検証を効率よく実行しつつ、検証対象の半導体集積回路の品質を向上させることが好ましい。大規模で複雑化した半導体集積回路の検証工程に適用される技術の一つとして、アサーションベース検証(Assertion Based Verification)が知られている。
【0004】
アサーションベース検証は、設計仕様に従って適切に設計されたときの回路の動作を、アサーションベース検証専用の言語(アサーション言語)で記述したアサーション記述を用いた検証である。アサーション言語には、例えば、System Verilog Assertionや、PSLなどがある。アサーションベース検証では、回路シミュレーションを実行しているときに、DUT(Design Under Test、または、Device Under Test)の動作を、アサーション記述に基づいて常時監視し、違反したアサーション記述とその違反が発生時間を特定して通知している。
【0005】
機能検証にアサーションベース検証を適用した場合、論理シミュレーションにかかる負荷が大きくなり、アサーションベース検証を適用していない場合に比較して、シミュレーション時間が大きくなる。そして、論理シミュレーションを行った際に発見された不具合は、その都度修正される。修正による新たな不具合が発生しているか否かを確認するために、リグレッションテスト(全テストパターンのシミュレーションを行い、不具合修正が悪い影響を与えていないことを確認する検証)が行われる。即ち、アサーションベース検証は、リグレッションテストが行われるたびに、繰り返し実行される。そのため、アサーションベース検証を適用していない場合に比較して、TATが長くなる。アサーションベース検証を機能検証に適用した場合に、TATを増大させないようにする技術が知られている(例えば、特許文献1、2参照。)。
【0006】
特許文献1には、インライン付加したアサーション記述を個々に制御できる仕組みを組み込むことで、シミュレーション速度の劣化を防ぐアサーション記述言語生成方法が記載されている。そのアサーション記述言語生成方法では、対象回路の検証機能等ごとにグループ化し、アサーション記述の各行先頭部に識別子を付加する。識別子が付加された入力ファイルを読込み、シミュレーションにより動作検証する機能等のグループを指示し、この指示に基づいて入力ファイルの対応する機能等のアサーション記述を検索する。その検索により検証対象とされた機能等のアサーション記述の各行識別子を削除し、検索により検証対象外とされたアサーション記述の各行の識別子をコメント行に変更する。または、各行の記述全体を削除する。最終的に、削除または変更により変換されたアサーション記述と回路記述とで記述された出力ファイルを生成する。
【0007】
特許文献2には、アサーションベース検証を採用した場合、DUTの誤りを見逃す可能性を警告し、検証精度の低下を防止し、無駄な検証の実施を防止する論理検証装置が開示されている。その論理検証装置は、論理システムの設計データ(RTL)を有限状態機械(FSM)に変換する。また、設計データの検証に用いるアサーションをアサーション記述毎に内部表現に変換する。そして、有限状態機械の状態遷移を辿り、内部表現が成立する条件に含まれる有限状態機械の状態を、内部表現毎に求め、第1の集合の元とする。また、変換された有限状態機械の動的検証をテストに従って実施し、動的検証した有限状態機械の状態をテスト毎に求め、第2の集合の元とする。その第1及び第2の集合の元として求めた状態の包含関係を判定し、その判定結果に応じて、検証を実施可能なアサーションとテストの組み合わせに分類する。
【0008】
特許文献2に記載の論理検証装置は、第1の集合の元が空集合と判定された場合、当該アサーションを冗長なアサーションに分類し、第2の集合の元が空集合と判定された場合、当該テストに従ったシミュレーションの実施を抑止する組み合わせに分類する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2009−175930号公報
【特許文献2】特開2008−033690号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
特許文献1に記載の技術では、検証機能、機能検証ブロック単位で、ユーザーがアサーション識別子を埋め込む必要がある。新規に設計された半導体集積回路であれば、アサーション作成の際に、アサーション識別子を埋め込むことで、特許文献1に記載の技術に対応することができる。
【0011】
しかしながら、以前に設計した回路を流用した回路設計を行うときや、IPコアに付随するアサーションのときには、ユーザーがアサーション識別子を埋め込むことが困難な場合がある。そのため、アサーション識別子の埋め込に時間を費やしてしまうことがある。また、1チップ検証のような大規模DUTや複雑化したDUTに特許文献1に記載の技術を適用する場合、ユーザーがアサーション有効に指定した機能ブロック以外のブロックに不具合があったとしても、その不具合を発見できないことがある。
【0012】
特許文献1に記載の技術では、アサーションベース検証を有効とする範囲や、不具合を発見することが可能な範囲は、ユーザーによってアサーション有効に指定された機能ブロックに制限されてしまう。そのため、不具合修正の後に実行されるリグレッションテストの際に、ユーザーによってアサーション有効に指定されていない機能ブロックに不具合修正に起因する新たな不具合が生じた場合、その機能ブロック(アサーション有効に指定されていない機能ブロック)に生じた新たな不具合を見つけられないことがある。
【0013】
アサーション有効に指定されていない機能ブロックの不具合を見つけるには、ユーザーによって、改めてその機能ブロックがアサーション有効に指定されなければならず、アサーションベース検証にかかるTATが増大してしまうことがある。
【0014】
特許文献2に記載の技術では、DUTのRTLより、有限状態機械を生成し、各アサーションから変換された内部表現条件(アサーションの発火条件)を作っている。その後、その有限状態機械の動的検証を、全テストにおいて行い、各テストで通過した有限状態機械の集合を求めること必要となる。この有限状態機械の動的検証は、DUTのRTLを入力とした通常の論理シミュレーションとは別に行う必要がある。そのため、アサーションベース検証にかかるTATが増大してしまうことがある。
【0015】
また、特許文献2に記載の技術には、全テストにおいて、有限状態機械の値を入力とした論理シミュレーションを行い、各テストで通過した有限状態機械の集合を求める方法が開示されている。その方法の場合、RTLから有限状態機械を生成する際に、変換不具合が混入する可能性がある。また、RTLを入力とした通常の論理シミュレーションの代替とすることができないため、有限状態機械の集合を求めるための論理シミュレーションと、通常のRTLを入力とした論理シミュレーションとを別々に実施する必要がある。そのため、アサーションベース検証にかかるTATが増大してしまうことがある。
【0016】
本発明が解決しようとする課題は、大規模で複雑化した半導体集積回路に対する機能検証を効率よく実行しつつ、検証対象の半導体集積回路の品質を向上させる技術を提供することにある。
【課題を解決するための手段】
【0017】
以下に、[発明を実施するための形態]で使用される番号を用いて、[課題を解決するための手段]を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0018】
上記の課題を解決するために、アサーションベース検証用の情報を記憶する記憶部(8)と、アサーションベース検証に対応した論理シミュレーションを実行する論理シミュレーション実行部(15)(17)としての機能を提供する演算処理部(5)とを具備するアサーションベース検証装置を構成する。ここで、前記記憶部(8)は、前記論理シミュレーションの対象であるDUT(22)と、前記アサーションベース検証で使用されるアサーション記述に含まれる発火条件と、前記発火条件を満足したか否かに関する情報とを関連付けて記憶する発火情報レジスタ(28)と、アサーション記述を処理対象とするか否かの設定が可能な制御可アサーション記述ファイル(25)と、前記制御可アサーション記述ファイル(25)の前記設定を制御するためのアサーション制御情報(27)とを記憶することが好ましい。また、前記演算処理部(5)は、前記論理シミュレーション実行部(15)(17)の機能によって、前記制御可アサーション記述ファイル(25)のアサーション記述のうち、前記アサーション制御情報(27)によって処理対象に指定されたアサーション記述を、処理対象アサーション記述とし、前記アサーション制御情報(27)によって処理対象に指定されていないアサーション記述を、処理非対象アサーション記述として特定し、前記処理対象アサーション記述を用いて前記DUT(22)に対するアサーションベース検証を実行した結果を実行ログ(32)に記録し、前記発火条件を満足したか否かを判定した結果に基づいて前記発火情報レジスタ(28)を書き換え、前記発火情報レジスタ(28)のデータに基づいて発火結果ログ(31)を生成し、前記発火結果ログ(31)に基づいて前記アサーション制御情報(27)を更新して新たなアサーション制御情報(27)とし、前記新たなアサーション制御情報(27)を用いて前記アサーションベース検証を実行する。
【発明の効果】
【0019】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、大規模で複雑化した半導体集積回路に対する機能検証を効率よく実行しつつ、検証対象の半導体集積回路の品質を向上させることが可能である。
具体的には、本願のアサーションベース検証を実行することで、リグレッションテスト時は、各テストパターンにおいて、発火することが判明しているアサーション記述だけを有効にする。そのため、シミュレーションの実行TATを短縮させることができる。
【図面の簡単な説明】
【0020】
【図1】図1は、本実施形態のアサーションベース検証装置1の構成を例示するブロック図である。
【図2A】図2Aは、アサーション記述ファイル21の構成を例示する図である。
【図2B】図2Bは、本実施形態の発火情報レジスタ28の構成を例示する図である。
【図3A】図3Aは、アサーション記述ファイル21の他の構成を例示する図である。
【図3B】図3Bは、図3Aに例示されるプロパティ記述に対応した発火情報レジスタ28の構成を例示する図である。
【図4】図4は、本実施形態のアサーション制御情報27の構成を例示する図である。
【図5】図5は、本実施形態の制御可アサーション記述ファイル25の構成を例示する図である。
【図6】図6は、本実施形態のアサーションベース検証装置1における前処置の動作を概念的に例示するブロック図である。
【図7】図7は、本実施形態のアサーションベース検証装置1におけるアサーションベース検証の動作を概念的に例示するブロック図である。
【図8】図8は、第2実施形態の制御可アサーション記述ファイル25の構成を例示する図である。
【図9】図9は、第2実施形態のアサーションベース検証装置1におけるアサーションベース検証の動作を概念的に例示するブロック図である。
【発明を実施するための形態】
【0021】
[第1実施形態]
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0022】
図1は、本実施形態のアサーションベース検証装置1の構成を例示するブロック図である。本実施形態において、アサーションベース検証装置1は、アサーションベース検証装置の機能を提供するためのプログラムを実行するコンピュータによって実現される。図1を参照すると、アサーションベース検証装置1は、情報処理装置2と、入力装置3と、出力装置4とを備えている。
【0023】
情報処理装置2は、アサーションベース検証装置1の本体部分に相当する演算処理装置であり、プログラムに示される手順に従って情報処理を高速に実行する。本実施形態の情報処理装置2は、入力、出力、記憶、演算、制御などの基本機能を有し、アサーションベース検証装置1として機能することができる。入力装置3は、ユーザーが情報処理装置2へデータを入力するためのマンマシンインターフェースである。例えば、キーボードやマウスなどが入力装置3として例示される。出力装置4は、情報処理装置2の処理結果を外部に出力するためのマンマシンインターフェースである。例えば、ディスプレイ装置やプリンターなどが、出力装置4として例示される。
【0024】
図1に示されているように、情報処理装置2は、CPU5と、メモリ6と、入出力インターフェース7と、大容量記憶装置8とを備え、それらはバス9を介して情報通信可能に接続されている。CPU5は、情報処理装置2に備えられた各種装置の制御や、データの処理を行う装置である。CPU5は、入力装置3などを介して受け取ったデータを解釈して演算し、その演算結果を出力装置4などで出力する。本実施形態のCPU5は、大容量記憶装置8に格納された各種プログラムやデータを読み出して処理することで、情報処理装置2をアサーションベース検証装置1として機能させる。メモリ6は、データの読み出しと書き込みとが可能な記憶装置であり、情報処理装置2がソフトウェアを実行する際のメインメモリとして使用される。入出力インターフェース7は、各種装置の間のデータ通信を制御する。大容量記憶装置8は、磁気ディスクや不揮発性半導体記憶装置に代表される記憶装置である。
【0025】
図1を参照すると、大容量記憶装置8は、前処理用プログラム11を備えている。その前処理用プログラム11は、本実施形態のアサーションベース検証を実行する前段階において、予備的に実行される処理(以下、前処理と記載する)の手順を示している。その前処理は、アサーションベース検証を実行する前の予備動作であり、前処理用プログラム11を実行することで、初期状態のアサーション制御情報27と、発火情報レジスタ28と、制御可アサーション記述ファイル25とを生成する。
【0026】
前処理用プログラム11は、アサーション制御情報生成部12と、発火情報レジスタ生成部13と、アサーション記述抽出部14とを含んでいる。アサーション制御情報生成部12は、その前処理において、初期状態のアサーション制御情報27を生成するための手順を示している。発火情報レジスタ生成部13は、その前処理において、発火情報レジスタ28を生成するための手順を示している。アサーション記述抽出部14は、予めアサーション記述ファイル21が備えられていないときや、DUT(RTL)22内にアサーション記述が含まれるときに、そのアサーション記述ファイル21をDUT(RTL)22から抽出するための手順を示している。
【0027】
また、大容量記憶装置8はアサーションベース検証プログラム15を備えている。そのアサーションベース検証プログラム15は、本実施形態におけるアサーションベース検証を実現するための手順を示している。アサーションベース検証プログラム15は、コメント制御アサーション生成部16と、論理シミュレーション実行部17と、差分ログ生成部18とを含んでいる。
【0028】
コメント制御アサーション生成部16は、コメント制御アサーション記述ファイル29を生成するための手順を示している。論理シミュレーション実行部17は、論理シミュレーションを行うための手順を示している。差分ログ生成部18は、差分ログ33を生成するための手順を示している。
【0029】
また、大容量記憶装置8は、アサーション記述ファイル21と、DUT(RTL)22と、テストベンチ23と、テストパターン24と、制御可アサーション記述ファイル25と、アサーション制御情報27と、発火情報レジスタ28と、コメント制御アサーション記述ファイル29と、発火結果ログ31と、実行ログ32と、差分ログ33とを格納可能に構成されている。
【0030】
アサーション記述ファイル21は、設計仕様に従って適切に設計されたときの回路の動作を、アサーションベース検証専用の言語(アサーション言語)で記述したアサーション記述を有するファイルである。本実施形態において、アサーション記述ファイル21は、DUT(RTL)22の記述の内部に注釈行として埋め込まれたアサーション記述を、前処理の段階で抽出されることで生成される。なお、アサーション記述ファイル21は、独立したファイルとして予め定義されていても良い。DUT(RTL)22は、検証対象の装置を表している。テストベンチ23は、Verilog(ヴェリログ)などのハードウェア記述言語を用いて構成され、設計が正確・妥当であるかどうかを検証するための環境を提供している。テストパターン24は、Verilog(ヴェリログ)などのハードウェア記述言語を用いて構成され、DUTの入力を制御する情報を含んでいる。テストパターン24は、検証対象の装置が、要求された仕様にしたがって動作するか否かを検証するために用いられる。
【0031】
制御可アサーション記述ファイル25は、アサーション記述に対し、有効/無効を制御することができるような機能を備えている。アサーション制御情報27は、制御可アサーション記述ファイル25に対する有効/無効の設定を制御するために用いられる制御情報を備えている。アサーション制御情報27の制御情報は、アサーションベース検証を実行することによって、有効/無効の設定を変更することができる。アサーション制御情報27は、複数のテストパターン24の各々に対応して用意され、様々なテストパターン24に応じた動作に適したアサーション制御情報27が使用される。
【0032】
発火情報レジスタ28は、アサーション記述の条件と、その条件の成立/不成立との対応関係に関する情報を備えている。発火情報レジスタ28は、アサーション記述ファイル21に含まれる全ての発火条件に対し、その条件の成立/不成立に関する情報を記憶する。コメント制御アサーション記述ファイル29は、制御可アサーション記述ファイル25に含まれる所定のアサーション記述に対し、有効/無効の設定が施されたリストを含んでいる。
【0033】
発火結果ログ31は、アサーション記述の条件の成立/不成立を記録している。実行ログ32は、シミュレーションの実行結果を記録している。差分ログ33は、発火結果ログ31と、アサーション制御情報27との差分を記録している。
【0034】
図2Aは、アサーション記述ファイル21の構成を例示する図である。アサーション記述ファイル21は、アサーション記述言語で構成されている。図2Aに示されているように、アサーション記述は、設計仕様に従って適切に設計されたときの回路の動作を記述したプロパティ記述と、そのプロパティをインスタンスするassertステートメントから構成されている。具体的には、
“property”と“endproperty”
とで囲まれた文字列
“@(posedge clk)disable iff(!rst_n)a&b |=>c##1
d;”
(以下、プロパティ記述と記載する)によって、検証を行うための条件と監視する検証動作とが定義されている。図2Aに例示されているプロパティ記述は、
“@(posedge clk) disable iff (!rst_n)a&b”
のように表された発火条件と、
“|=>c##1 d;”
のように表された検証動作とを含んでいる。
アサーションとは、上記の説明のように、プロパティ記述とそれをインスタンスするassertステートメント記述の2段構成となっている。このようなアサーションは、一般的に、コンカレント・アサーションと呼ばれることもある。本実施形態において、コンカレント・アサーションの記述方法に特別な制限は無い。例えば、コンカレント・アサーションの記述方法として、
assert property()
の()内部に直接、プロパティ記述を書く記述方法が例示される。図2Aの記述を、上述の直接記述に直すと、
assert property(@(posedge clk) disable
iff(!rst_n)a&b |=>c##1 d);
のように表される。
【0035】
図2Aに例示されているプロパティ記述は、クロックのエッジが立ち上がったときに、リセット信号によるリセットがかっているか否を評価し、リセットがかかっていない場合に、信号aと信号bの両方が論理1(Highレベル)となっている場合を、発火条件の成立状態としている。リセットがかかっている場合には、その処理は終了する。その発火条件の成立に応答して、
“|=>c##1 d;”
の検証を行う。図2Aに例示されているプロパティ記述では、『信号aと信号bの両方が論理1になったタイミングから、1クロック後に、信号cが論理1になって、更にその1クロック後に、信号dが論理1になるか否か』を検証する。
【0036】
図2Bは、本実施形態の発火情報レジスタ28の構成を例示する図である。発火情報レジスタ28は、Verilog(ヴェリログ)などのハードウェア記述言語を用いて構成されている。発火情報レジスタ28は、アサーション記述ファイル21のプロパティ記述の発火条件と、その条件の成立/不成立示す情報とを関連付けて記憶する。本実施形態の発火情報レジスタ28は、アサーションベース検証を含む論理シミュレーションを実行しているときに、与えられた条件を満足した発火条件に対し、レジスタ値を“1”として記憶する。
【0037】
また、発火情報レジスタ28は、複数のアサーション記述の数と同数の記憶領域を備えている。発火情報レジスタ28は、その複数のアサーション記述の発火条件の各々に対し、一対一に対応する1ビットの情報を記憶する機能を備えている。図2Bは、クロックのエッジが立ち上がったときに、リセットがかっていない、かつ、信号aと信号bの両方が論理1のときに、論理1の1ビットの情報を記憶するレジスタを表している。
【0038】
図3Aは、アサーション記述ファイル21の他の構成を例示する図である。図3Aに例示されているプロパティ記述は、クロックのエッジが立ち上がったとき、かつ、リセット信号によるリセットがかっていないときに、信号xが論理1になった1クロック後に信号yが論理1になった場合を、発火条件の成立状態としている。また、図3Aに例示されているプロパティ記述は、その発火条件の成立に応答して、『発火条件の成立の1クロック後に、信号zが“1”になるか否か』を検証する。
【0039】
図3Bは、図3Aに例示されるプロパティ記述に対応した発火情報レジスタ28の構成を例示する図である。図3Bは、リセット信号を1クロック遅延させた信号(遅延させたリセット信号)と、信号xを1クロック遅延させた信号(遅延させた信号x)をラッチし、クロックのエッジが立ち上がったとき、リセットがかっていない、かつ、遅延させたリセット信号と、遅延させた信号xと、信号yとが全て論理1のときに、論理1の1ビットの情報を記憶するレジスタを表している。
【0040】
図4は、本実施形態のアサーション制御情報27の構成を例示する図である。アサーション制御情報27は、アサーションベース検証を実行するときに、検証の対象としないアサーション記述を特定するための制御情報を含んでいる。図4に示されているように、アサーション制御情報27は、複数のレコードを備えている。複数のレコードの各々は、“value”を表すフィールドと、“mem addr”を表すフィールドと、“assertion(property)name”を表すフィールドとを含んでいる。
【0041】
“value”を表すフィールドに記載される“1”は、アサーション記述が有効とされた状態であることを示す。“value”を表すフィールドに記載される“0”は、アサーション記述が無効とされた状態であることを示す。
【0042】
また、本実施形態のアサーションベース検証装置1は、アサーションベース検証の予備的な処理において、“value”を表すフィールドを全て“1”の状態にしたアサーション制御情報27(初期アサーション制御情報)を生成する。アサーション制御情報27は、複数のテストパターン24の各々に対応して用意され、論理シミュレーション時に使用される。
【0043】
図5は、本実施形態の制御可アサーション記述ファイル25の構成を例示する図である。図5に示されているように、制御可アサーション記述ファイル25は、制御用文字列
“//ast_cont_reg[0]//”
が記載されている。その制御用文字列は、assert文の上の行に記載されている。本実施形態の制御可アサーション記述ファイル25において、そのassert文は、“:”の前にアサーション識別子を備えている。制御可アサーション記述ファイル25のassert文を、コメント行として処理することで、アサーションベース検証を実行する際に、そのアサーション記述に関連する処理をスキップすることができる。
【0044】
図6は、本実施形態のアサーションベース検証装置1における前処置(アサーションベース検証を行う前の段階において実行される処理)の動作を概念的に例示するブロック図である。本実施形態のアサーションベース検証装置1において、情報処理装置2のCPU5は、前処理用プログラム11を読み出し、その前処理用プログラム11に示される手順に従って前処理を実行することで、制御可アサーション記述ファイル25と、アサーション制御情報27と、発火情報レジスタ28とを予め生成する。
【0045】
図6に示されているように、その前処理において、アサーションベース検証装置1はアサーション記述抽出部14によって、DUT(RTL)22からアサーション記述ファイル21を抽出する。なお、アサーション記述ファイル21が別ファイルとして用意されている場合には、アサーション記述抽出部14による抽出処理を省略しても良い。アサーション制御情報生成部12は、そのアサーション記述ファイル21を参照して、制御可アサーション記述ファイル25と、アサーション制御情報27を生成する。また、発火情報レジスタ生成部13は、アサーション記述ファイル21を参照して発火情報レジスタ28を生成する。
【0046】
本実施形態のアサーションベース検証装置1は、検証に初期段階で、前処理によって制御可アサーション記述ファイル25と、アサーション制御情報27と、発火情報レジスタ28とを行っている。その後、アサーションベース検証を実行したときに、DUT不具合により、RTLの修正が行われた場合でであっても、従来技術のようにRTLから有限状態機械を再作成する処理を行う必要が無い。本実施形態のアサーションベース検証装置1は、アサーション記述ファイル21に変更が無い限り、上述の前処理を再実行する必要が無い。
【0047】
図7は、本実施形態のアサーションベース検証装置1におけるアサーションベース検証(アサーション記述に対応した論理シミュレーション)の動作を概念的に例示するブロック図である。本実施形態のアサーションベース検証装置1において、情報処理装置2のCPU5が、アサーションベース検証プログラム15を読み出し、アサーションベース検証プログラム15に示される手順に従って動作することで、アサーションベース検証装置としての機能を提供する。なお、以下の説明において、上述の前処理は、既に実行されたものとする。
【0048】
アサーションベース検証を実行する場合、図7に示されているように、アサーションベース検証装置1は、コメント制御アサーション生成部16として機能し、予め備えられたアサーション制御情報27と、制御可アサーション記述ファイル25と読み出す。コメント制御アサーション生成部16は、アサーション制御情報27の“value”に対応するフィールドのデータに基づいて、コメント制御アサーション記述ファイル29を生成する。
【0049】
コメント制御アサーション記述ファイル29は、上述の図5に例示された制御可アサーション記述ファイル25の制御用文字列
“//ast_cont_reg[0]//”
の、下の行をコメント行にすることによって生成される。コメント制御アサーション生成部16は、アサーション制御情報27の“value”の値を参照して、“0”が記載されていれば、制御可アサーション記述ファイル25の対応するassert文を無効にし、“1”が記載されていれば、制御可アサーション記述ファイル25の対応するassert文を有効にしてコメント制御アサーション記述ファイル29とする。初回のアサーションベース検証の場合、読み出されたアサーション制御情報27(初期アサーション制御情報)の各レコードの“value”に対応したフィールドは、全て“1”が記載されている。コメント制御アサーション生成部16は、その初期アサーション制御情報に基づいて、制御可アサーション記述ファイル25のassert文を全て有効状態にして、最初のアサーションベース検証用のコメント制御アサーション記述ファイル29を生成する。
【0050】
その後、アサーションベース検証装置1は、論理シミュレーション実行部17として機能し、シミュレーションに用いるテストパターン24を特定し、コメント制御アサーション記述ファイル29に対応した論理シミュレーションを行う。このとき、論理シミュレーション実行部17は、DUT(RTL)22、テストベンチ23、テストパターン24、および発火情報レジスタ28を読み出す。また、論理シミュレーション実行部17は、コメント制御アサーション記述ファイル29を読み出す。
【0051】
論理シミュレーション実行部17は、論理シミュレーションを実行しているときに、コメント制御アサーション記述ファイル29に含まれるアサーション記述の発火条件と同等な論理である発火情報レジスタ28のif節を満足するか否かを判断する。このとき、論理シミュレーション実行部17は、コメント制御アサーション記述ファイル29に含まれるアサーション記述が、有効か無効かに依存することなく、全ての記述の発火条件と同等な論理である発火情報レジスタ28のif節を満足するか否かを判断する。論理シミュレーション実行部17は、その判断の結果に基づいて、条件を満足したif節に対応する発火情報レジスタ28のレジスタ値を“1”にする。また、論理シミュレーション実行部17は、与えられた条件を満足しなかった発火条件に対応する発火情報レジスタ28に対しては何も処理をしないため、初期値“x(不定)”のままである。発火情報レジスタ28が、Verilog(ヴェリログ)などのハードウェア記述言語を用いて構成されているため、論理シミュレーション実行部17は、発火情報レジスタ28のif節の成立/不成立を高速に判定することが可能である。
【0052】
論理シミュレーション実行部17は、論理シミュレーションを実行した実行結果を、実行ログ32として出力する。また、論理シミュレーション実行部17は、論理シミュレーションが終了した後、発火情報レジスタ28の値に基づいて、アサーション制御情報27と同じファイルフォーマットの発火結果ログ31を生成する。このとき、発火情報レジスタ28の値が、“x(不定)”である場合は、“0”に置き換えて発火結果ログ31を生成する。論理シミュレーション実行部17は、発火結果ログ31をそのまま、アサーション制御情報27として更新する。更新されたアサーション制御情報27は、次回のアサーションベース検証に使用される。
【0053】
実行ログ32にアサーションエラー情報が含まれるとき、DUT(RTL)22は、そのアサーションエラー情報に対応して、DUT(RTL)22の解析や不具合修正が施される。アサーションベース検証装置1は、上述の発火結果ログ31を新たなアサーション制御情報27として用いて、修正されたDUT(RTL)22に対応するアサーションベース検証を実行する。
【0054】
2回目(若しくはそれ以降)のアサーションベース検証を実行する場合、“value”に対応したフィールドに、“0”が記載されているレコードを含むアサーション制御情報27が用いられる。コメント制御アサーション生成部16は、そのアサーション制御情報27に基づいて、新たなコメント制御アサーション記述ファイル29を生成する。論理シミュレーション実行部17は、2回目の以降のアサーションベース検証において、検証の対象外とされたアサーション記述をスキップして、アサーションベース検証に対応した論理シミュレーションを実行する。
【0055】
このとき、論理シミュレーション実行部17は、発火情報レジスタ28によって、全ての発火条件に対し、その条件の成立/不成立に関する情報を記憶する。発火情報レジスタ28が、全ての発火条件に関する情報を記憶しているので、修正されたDUT(RTL)22に対する検証の結果、前回の論理シミュレーションでは、条件が成立しなかった発火条件が、今回の論理シミュレーションで成立した場合、その情報は、今回出力される発火情報レジスタ28に記憶される。
【0056】
アサーションベース検証装置1は、論理シミュレーション実行部17による論理シミュレーションが終了した後、差分ログ生成部18として機能する。差分ログ生成部18は、発火結果ログ31と、アサーション制御情報27とを読み出し、それらの差分を抽出する処理を行う。差分ログ生成部18によって、発火結果ログ31とアサーション制御情報27との差分を抽出し、差分ログ33を生成することで、ユーザーは、不具合を修正したことによって、新たな動作の変化を迅速に把握することができる。
【0057】
例えば、2回目の論理シミュレーションで発火情報レジスタ28が更新された場合、その発火情報レジスタ28に対応した発火結果ログ31が出力される。その発火結果ログ31と、入力に用いたアサーション制御情報27とを比較することで、無効にされていたアサーションが、実際には有効にすべきであるか否かの判断を行うことが可能となる。
【0058】
また、発火結果ログ31とアサーション制御情報27とに差分がない場合や、無効であったアサーション記述に対し、ユーザーが手動で有効にした箇所のみが差分として記録される場合には、アサーションエラー情報に対応した不具合の修正後においても、新たに有効にすべきアサーションはなかった、つまり十分なアサーション記述を用いて論理シミュレーションを行ったと判断することが可能である。
【0059】
しかし、それ以外の差分が生じている場合には、アサーションエラー情報に対応して不具合を修正したことにより、修正箇所以外の動作が変化していたり、同じテストパタンでも、前回と異なるタイミングで動作していたりする可能性がある。ユーザーは、差分ログ33を参照することによって、そのような状況を迅速に発見することが可能となる。
【0060】
本実施形態のアサーションベース検証装置1において、アサーション制御情報27は、複数のテストパターン24の各々に対応して用意されていることが好ましい。アサーション制御情報27は、上述の前処理によって、各テストパターン分のアサーション制御情報27が生成される。1回目のアサーションベース検証を行う場合には、使用するテストパターンに対応した初期状態のアサーション制御情報27を特定して使用する。2回目以降のアサーションベース検証では、発火結果ログ31に基づいた新たなアサーション制御情報27を使用することで、発火条件が成立するアサーション記述のみを検証の対象とし、検証の対象外のアサーション記述をスキップすることができる。
【0061】
なお、アサーション制御情報27は、ユーザーが手動で有効/無効の情報を変更することが可能である。例えば、機能単位で有効にしたい場合や、特定のアサーション記述を常時有効に設定しておきたい場合などに、対応するアサーション記述に対し、アサーション制御情報27の“value”の設定を個別に変更・修正してもよい。
【0062】
また、複数のテストパターン24の全ての発火結果ログ31の総和を取ることで、一度も条件の成立がなかった発火条件を含むアサーション記述を見つけることができる。ユーザーは、一度も条件の成立がなかった発火条件を含むアサーション記述が見つかった場合、そのアサーション記述が、不要なアサーション記述であるのか、記述に間違いがあるアサーション記述なのかなどの判断を行うことができる。その判断の結果、不要なアサーション記述ならば削除し、記述の間違いであるならば修正することで、TATを短縮しつつ品質の向上に務めることができる。
【0063】
本実施形態のアサーションベース検証装置1による実行TATの削減は、大規模回路やチップ全体のシミュレーションなどで、対象となるアサーション記述が多い場合に、より大きな効果を奏することができる。また、テストパターンに依存して、動作していない回路部分が大きい場合にも、より大きな効果を奏することができる。
【0064】
[第2実施形態]
以下に、図面を参照して本願発明のアサーションベース検証装置1の第2実施形態について説明を行う。第2実施形態のアサーションベース検証装置1は、論理シミュレーションを実行する前に、制御可アサーション記述ファイル25を生成する。その制御可アサーション記述ファイル25は、アサーション記述ファイル21のプロパティ記述のdisable iff節の条件文に対して、評価無効とするための条件を追加する処理をすることで生成される。それによって、第2実施形態のアサーションベース検証装置1は、コメント制御アサーション生成部16によって生成されるコメント制御アサーション記述ファイル29を用いることなく、アサーション記述の有効/無効を制御する。
【0065】
図8は、第2実施形態の制御可アサーション記述ファイル25の構成を例示する図である。第2実施形態の制御可アサーション記述ファイル25は、アサーション制御情報生成部12によって、アサーション記述ファイル21の
“property”

“endproperty”
とで囲まれたプロパティ記述のdisable iff節の条件に、アサーション制御情報27の“value”の値を格納したレジスタast_cont_reg[0:AST_NUM-1]の対応する1ビットを追加した形で生成される。また、同時に、ast_cont_reg[0:AST_NUM-1]というレジスタ、及び、論理シミュレーション開始時にアサーション制御情報27の“value”の値をこのレジスタにロードするテストベンチ記述が生成される。これによって、論理シミュレーション実行時に、アサーション制御情報27の値を格納するレジスタ
ast_cont_reg[0:AST_NUM-1]
にアサーション制御情報27をロードするだけで、制御可アサーション記述ファイル25のアサーション記述の有効/無効を制御することができる。図8に示されているように、制御可アサーション記述ファイル25の、disable iff節の“(!rst_n|!ast_cont_reg[0])”の内部が真であれば、処理は終了する。具体的には、ast_cont_reg[0]の値が0であるならば処理は終了する。
【0066】
図9は、第2実施形態のアサーションベース検証装置1におけるアサーションベース検証(アサーション記述に対応した論理シミュレーション)の動作を概念的に例示するブロック図である。第2実施形態のアサーションベース検証装置1は、コメント制御アサーション生成部16として機能することなく処理を行う。図9に示されているように、アサーションベース検証装置1は、論理シミュレーション実行部17として機能し、制御可アサーション記述ファイル25と、アサーション制御情報27と、テストベンチ23と、テストパターン24と、DUT(RTL)22と、発火情報レジスタ28とを読み出す。
【0067】
第2実施形態のアサーションベース検証装置1における論理シミュレーション実行部17は、シミュレーションに用いるテストパターン24を特定し、disable iff節に条件が追加された制御可アサーション記述ファイル25に対応した論理シミュレーションを行う。このとき、論理シミュレーション実行部17は、DUT(RTL)22、テストベンチ23、テストパターン24、および発火情報レジスタ28を読み出す。また、論理シミュレーション実行部17は、アサーション制御情報27と制御可アサーション記述ファイル25を読み出す。このとき、論理シミュレーション実行部17は、そのアサーション制御情報27の値を用いて、制御可アサーション記述ファイル25のdisable iff節の、“(!rst_n|!ast_cont_reg[0])”の内部が真となるアサーション記述を評価無効として、アサーション記述に対応した論理シミュレーションを実行する。これによって、第1実施形態のような、無効にされたassert文を含むコメント制御アサーション記述ファイル29を使用した場合と同様に、アサーションベース検証を実行する際に、評価無効のアサーション記述に関連する処理をスキップすることができる。その後、アサーション記述に対応した論理シミュレーションを実行した結果として、発火結果ログ31、実行ログ32、差分ログ33を生成する。
【0068】
第2実施形態のアサーションベース検証装置1は、コメント制御アサーション記述ファイル29を生成するための処理を行うことなく、アサーションベース検証を実現している。これによって、品質を低下させることなくシミュレーションの実行TATを短縮することが可能である。
【0069】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。また、上述の複数の実施形態は、その構成・動作に矛盾が生じない範囲において組み合わせて実施することが可能である。
【符号の説明】
【0070】
1…アサーションベース検証装置
2…情報処理装置
3…入力装置
4…出力装置
5…CPU
6…メモリ
7…入出力インターフェース
8…大容量記憶装置
9…バス
11…前処理用プログラム
12…アサーション制御情報生成部
13…発火情報レジスタ生成部
14…アサーション記述抽出部
15…アサーションベース検証プログラム
16…コメント制御アサーション生成部
17…論理シミュレーション実行部
18…差分ログ生成部
21…アサーション記述ファイル
22…DUT(RTL)
23…テストベンチ
24…テストパターン
25…制御可アサーション記述ファイル
27…アサーション制御情報
28…発火情報レジスタ
29…コメント制御アサーション記述ファイル
31…発火結果ログ
32…実行ログ
33…差分ログ

【特許請求の範囲】
【請求項1】
アサーションベース検証用の情報を記憶する記憶部と、
アサーションベース検証に対応した論理シミュレーションを実行する論理シミュレーション実行部としての機能を提供する演算処理部と、
を具備し、
前記記憶部は、
前記論理シミュレーションの対象であるDUTと、
前記アサーションベース検証で使用されるアサーション記述に含まれる発火条件と、前記発火条件を満足したか否かに関する情報とを関連付けて記憶する発火情報レジスタと、
アサーション記述を処理対象とするか否かの設定が可能な制御可アサーション記述ファイルと、
前記制御可アサーション記述ファイルの前記設定を制御するためのアサーション制御情報と
を記憶し、
前記演算処理部は、
前記論理シミュレーション実行部の機能によって、
前記制御可アサーション記述ファイルのアサーション記述のうち、前記アサーション制御情報によって処理対象に指定されたアサーション記述を、処理対象アサーション記述とし、前記アサーション制御情報によって処理対象に指定されていないアサーション記述を、処理非対象アサーション記述として特定し、
前記処理対象アサーション記述を用いて前記DUTに対するアサーションベース検証を実行した結果を実行ログに記録し、
前記発火条件を満足したか否かを判定した結果に基づいて前記発火情報レジスタを書き換え、前記発火情報レジスタのデータに基づいて発火結果ログを生成し、
前記発火結果ログに基づいて前記アサーション制御情報を更新して新たなアサーション制御情報とし、前記新たなアサーション制御情報を用いて前記アサーションベース検証を実行する
アサーションベース検証装置。
【請求項2】
請求項1に記載のアサーションベース検証装置において、
前記実行ログに含まれるエラー情報に応じて前記DUTが修正されて新たなDUTとして供給されたとき、
前記論理シミュレーション実行部は、
前記新たなアサーション制御情報を用いて前記新たなDUTに対する前記アサーションベース検証を実行する
アサーションベース検証装置。
【請求項3】
請求項1または2に記載のアサーションベース検証装置において、さらに、
差分ログ生成部を具備し、
前記差分ログ生成部は、
前記発火結果ログと、前記アサーション制御情報とを読み出し、
前記アサーション制御情報によって処理対象とされたアサーション記述と、前記発火結果ログに条件を満足していることが記録されている発火条件に対応するアサーション記述との比較に基づいて差分ログを生成する
アサーションベース検証装置。
【請求項4】
請求項1から3のいずれか1項に記載のアサーションベース検証装置において、
前記記憶部は、
全てのアサーション記述を有効に設定した初期状態のアサーション制御情報を予め記憶し、
前記論理シミュレーション実行部は、
アサーションベース検証の開始に応じて、前記初期状態のアサーション制御情報に基づいて、前記制御可アサーション記述ファイルの全てのアサーション記述を処理対象アサーション記述として初回のアサーションベース検証を実行し、
前記初回のアサーションベース検証の終了時に、初回実行ログと初回発火結果ログとを生成し、
前記初回実行ログと前記初回発火結果ログと基づいて次回のアサーションベース検証を実行する
アサーションベース検証装置。
【請求項5】
請求項1から4のいずれか1項に記載のアサーションベース検証装置において、
前記発火情報レジスタは、
ハードウェア記述言語を用いて表現され、
複数の発火条件と、前記複数の発火条件の各々を満足したか否かに関する情報とを一対一に関連付けて記憶する
アサーションベース検証装置。
【請求項6】
請求項1から5のいずれか1項に記載のアサーションベース検証装置において、さらに、
コメント制御アサーション生成部を具備し、
前記制御可アサーション記述ファイルは、
アサーション命令の前に追加された制御文字を有し、
前記コメント制御アサーション生成部は、
前記制御文字に基づいて、前記処理対象アサーション記述と、前記処理非対象アサーション記述とを有するコメント制御アサーション記述ファイルを生成し、
前記論理シミュレーション実行部は、
前記コメント制御アサーション記述ファイルで処理対象とされたアサーション記述を用いてアサーションベース検証を実行する
アサーションベース検証装置。
【請求項7】
請求項1から5のいずれか1項に記載のアサーションベース検証装置において、
前記制御可アサーション記述ファイルは、
アサーション記述の内部に記述された評価有効/無効判定節の条件文を有し、
前記論理シミュレーション実行部は、
前記評価有効/無効判定節の条件文に基づいて、前記アサーション制御情報によって処理対象に指定されたアサーション記述を処理対象アサーション記述とし、前記アサーション制御情報によって処理対象に指定されていないアサーション記述を、処理非対象アサーション記述と同等なものとして特定する
アサーションベース検証装置。
【請求項8】
請求項1から7のいずれか1項に記載のアサーションベース検証装置において、さらに、
前記アサーションベース検証の準備として実行される前処理を行う前処理部を具備し、
前記前処理部は、
初期状態のアサーション制御情報を生成するアサーション制御情報生成部と、
初期状態の発火情報レジスタを生成する発火情報レジスタ生成部と
を備え、
前記アサーション制御情報生成部は、
複数のアサーション記述の各々を特定するためのアサーション名と、前記アサーション名に対応するアサーション記述の有効/無効を示す情報とを対応付けて前記アサーション制御情報を生成し、
前記発火情報レジスタ生成部は、
前記複数のアサーション記述の各々の発火条件と、前記発火条件の成立/不成立を示す情報とを対応付けて前記発火情報レジスタを生成する
アサーションベース検証装置。
【請求項9】
請求項8に記載のアサーションベース検証装置において、
前記前処理部は、さらに、
アサーション記述抽出部を備え、
前記アサーション記述抽出部は、
前記DUTに含まれるアサーション記述を抽出して前記アサーション記述ファイルを生成する
アサーションベース検証装置。
【請求項10】
(a)アサーションベース検証用の情報を読み出すステップと、
(b)前記アサーションベース検証用の情報に基づいてアサーションベース検証に対応した論理シミュレーションを実行するステップと
を具備し、
前記(a)ステップは、
論理シミュレーションの対象であるDUTを読み出すステップと、
前記アサーションベース検証で使用されるアサーション記述に含まれる発火条件と、前記発火条件を満足したか否かに関する情報とを関連付けて記憶する発火情報レジスタを読み出すステップと、
アサーション記述を処理対象とするか否かの設定が可能な制御可アサーション記述ファイルを読み出すステップと、
前記制御可アサーション記述ファイルの前記設定を制御するためのアサーション制御情報を読み出すステップと
を備え、
前記(b)ステップは、
前記制御可アサーション記述ファイルのアサーション記述のうち、前記アサーション制御情報によって処理対象に指定されたアサーション記述を、処理対象アサーション記述とし、前記アサーション制御情報によって処理対象に指定されていないアサーション記述を、処理非対象アサーション記述として特定する有効記述特定ステップと、
前記処理対象アサーション記述を用いて前記DUTに対するアサーションベース検証を実行した結果を実行ログに記録する実行ログ生成ステップと、
前記発火条件を満足したか否かを判定した結果に基づいて前記発火情報レジスタを書き換え、前記発火情報レジスタのデータに基づいて発火結果ログを生成する発火結果ログ生成ステップと、
前記発火結果ログに基づいて前記アサーション制御情報を更新して新たなアサーション制御情報とし、前記新たなアサーション制御情報を用いて前記アサーションベース検証を実行するアサーションベース検証ステップと
を備える
アサーションベース検証方法。
【請求項11】
請求項10に記載のアサーションベース検証方法において、
前記実行ログに含まれるエラー情報に応じて前記DUTが修正されて新たなDUTとして供給されたとき、
前記(b)ステップは、
前記新たなアサーション制御情報を用いて前記新たなDUTに対する前記アサーションベース検証を実行するステップ
を具備する
アサーションベース検証方法。
【請求項12】
請求項10または11に記載のアサーションベース検証方法において、
前記(b)ステップは、
前記発火結果ログと、前記アサーション制御情報とを読み出し、前記アサーション制御情報によって処理対象とされたアサーション記述と、前記発火結果ログに条件を満足していることが記録されている発火条件に対応するアサーション記述との比較に基づいて差分ログを生成するステップ
を備える
アサーションベース検証方法。
【請求項13】
請求項10から12のいずれか1項に記載のアサーションベース検証方法において、
前記(a)ステップは、
予め記憶された、全てのアサーション記述を有効に設定した初期状態のアサーション制御情報を読み出すステップを含み、
前記(b)ステップは、
アサーションベース検証の開始に応じて、前記初期状態のアサーション制御情報に基づいて、前記制御可アサーション記述ファイルの全てのアサーション記述を処理対象アサーション記述として初回のアサーションベース検証を実行するステップと、
前記初回のアサーションベース検証の終了時に、初回実行ログと初回発火結果ログとを生成するステップと、
前記初回実行ログと前記初回発火結果ログと基づいて次回のアサーションベース検証を実行するステップと
を備える
アサーションベース検証方法。
【請求項14】
請求項10から13のいずれか1項に記載のアサーションベース検証方法において、
前記発火情報レジスタは、ハードウェア記述言語を用いて表現され、
複数の発火条件と、前記複数の発火条件の各々を満足したか否かに関する情報とを一対一に関連付けて記憶する
アサーションベース検証方法。
【請求項15】
請求項10から14のいずれか1項に記載のアサーションベース検証方法において、
前記制御可アサーション記述ファイルは、
アサーション命令の前に追加された制御文字を有し、
前記(b)ステップは、
前記制御文字に基づいて、前記処理対象アサーション記述と、前記処理非対象アサーション記述とを有するコメント制御アサーション記述ファイルを生成するステップと、
前記コメント制御アサーション記述ファイルで処理対象とされたアサーション記述を用いてアサーションベース検証を実行するステップと
を備える
アサーションベース検証方法。
【請求項16】
請求項10から14のいずれか1項に記載のアサーションベース検証方法において、
前記制御可アサーション記述ファイルは、
アサーション記述の内部に記述された評価有効/無効判定節の条件文を有し、
前記(b)ステップは、
前記評価有効/無効判定節の条件文に基づいて、前記アサーション制御情報によって処理対象に指定されたアサーション記述を処理対象アサーション記述とし、前記アサーション制御情報によって処理対象に指定されていないアサーション記述を、処理非対象アサーション記述と同等なものとして特定するステップ
を備える
アサーションベース検証方法。
【請求項17】
請求項10から16のいずれか1項に記載のアサーションベース検証方法において、さらに、
(c)前記アサーションベース検証の準備として前処理を行うステップを具備し、
前記(c)ステップは、
複数のアサーション記述の各々を特定するためのアサーション名と、前記アサーション名に対応するアサーション記述の有効/無効を示す情報とを対応付けて前記アサーション制御情報を生成するステップと、
前記複数のアサーション記述の各々の発火条件と、前記発火条件の成立/不成立を示す情報とを対応付けて前記発火情報レジスタを生成するステップと
を備える
アサーションベース検証方法。
【請求項18】
請求項17に記載のアサーションベース検証方法において、
前記(c)ステップは、
前記DUTに含まれるアサーション記述を抽出して前記アサーション記述ファイルを生成するステップを備える
アサーションベース検証方法。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−253313(P2011−253313A)
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2010−126188(P2010−126188)
【出願日】平成22年6月1日(2010.6.1)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】