JP2016139203A - 設計情報作成方法、設計情報作成装置及びプログラム - Google Patents
設計情報作成方法、設計情報作成装置及びプログラム Download PDFInfo
- Publication number
- JP2016139203A JP2016139203A JP2015012585A JP2015012585A JP2016139203A JP 2016139203 A JP2016139203 A JP 2016139203A JP 2015012585 A JP2015012585 A JP 2015012585A JP 2015012585 A JP2015012585 A JP 2015012585A JP 2016139203 A JP2016139203 A JP 2016139203A
- Authority
- JP
- Japan
- Prior art keywords
- design information
- name
- information
- cell
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】秘匿性を維持しつつ設計作業の精度を向上させる。【解決手段】プロセッサ2が、半導体装置に含まれる素子の接続状態を示す結線情報、その素子の素子名のほか、素子の機能名、素子の面積及び素子の遅延時間を含む設計情報5aを記憶部3から取得する。そして、プロセッサ2が、設計情報5aに含まれる素子名及び機能名を書き換え、設計情報5aに含まれる結線情報、面積及び遅延時間を維持した設計情報5bを生成し、出力する。【選択図】図1
Description
本発明は、設計情報作成方法、設計情報作成装置及びプログラムに関する。
半導体装置の設計の際、設計の早期の段階で物理的な設計情報を考慮した論理合成処理(物理考慮合成と呼ばれることもある)が行われることがある。物理的な設計情報を考慮した論理合成を行うことで、論理合成時とレイアウト時の遅延時間が近づき、タイミング制約を満たすことが容易になる。
物理的な設計情報には、半導体装置に含まれる素子(以下セルという)の結線情報や、セルの面積、遅延情報などが含まれる。
ところで、このような設計情報は、たとえば、半導体装置の物理的な設計をする者(物理設計者)から、顧客などの社外の論理的な設計を行う者(論理設計者)に対して渡されることがある。このとき、渡される設計情報において、社外秘扱いとする部分を秘匿することが行われている。たとえば、結線情報は維持しつつ、設計情報で表される組み合わせ論理が秘匿されるように、セルを、同等のピン構成(たとえば、2入力1出力)、同等の駆動能力をもつ他のセルに置き換えるような手法があった。
ところで、このような設計情報は、たとえば、半導体装置の物理的な設計をする者(物理設計者)から、顧客などの社外の論理的な設計を行う者(論理設計者)に対して渡されることがある。このとき、渡される設計情報において、社外秘扱いとする部分を秘匿することが行われている。たとえば、結線情報は維持しつつ、設計情報で表される組み合わせ論理が秘匿されるように、セルを、同等のピン構成(たとえば、2入力1出力)、同等の駆動能力をもつ他のセルに置き換えるような手法があった。
しかし、従来の設計情報を秘匿する技術では、同等のピン構成、駆動能力をもつ他のセルがない場合には、セルの置き換えができず、秘匿性が低下する。また、セルを置き換えるために、論理設計者に渡される設計情報に含まれる遅延情報やエリア情報がオリジナルのものと異なることから、設計作業の精度が悪化する可能性がある。
このように、従来の技術では、秘匿性を維持しつつ設計作業の精度を向上させることは困難であった。
発明の一観点によれば、プロセッサが、半導体装置に含まれる素子の接続状態を示す結線情報、前記素子の素子名、前記素子の機能名、前記素子の面積及び前記素子の遅延時間を含む第1の設計情報を記憶部から取得し、前記プロセッサが、前記素子名及び前記機能名を書き換え、前記結線情報、前記面積及び前記遅延時間を維持した第2の設計情報を生成し、出力する、設計情報作成方法が提供される。
また、発明の一観点によれば、半導体装置に含まれる素子の接続状態を示す結線情報、前記素子の素子名、前記素子の機能名、前記素子の面積及び前記素子の遅延時間を含む第1の設計情報を記憶部から取得する設計情報取得部と、前記素子名及び前記機能名を書き換え、前記結線情報、前記面積及び前記遅延時間を維持した第2の設計情報を生成し、出力する設計情報書き換え部と、を有する設計情報作成装置が提供される。
また、発明の一観点によれば、半導体装置に含まれる素子の接続状態を示す結線情報、前記素子の素子名、前記素子の機能名、前記素子の面積及び前記素子の遅延時間を含む第1の設計情報を記憶部から取得し、前記素子名及び前記機能名を書き換え、前記結線情報、前記面積及び前記遅延時間を維持した第2の設計情報を生成し、出力する、処理をコンピュータに実行させるプログラムが提供される。
開示の設計情報作成方法、設計情報作成装置及びプログラムによれば、秘匿性を維持しつつ設計作業の精度を向上させることができる。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の設計情報作成方法及び設計情報作成装置の一例を示す図である。
(第1の実施の形態)
図1は、第1の実施の形態の設計情報作成方法及び設計情報作成装置の一例を示す図である。
また、図2は、第1の実施の形態の設計情報作成装置の一例の機能ブロック図である。
設計情報作成装置1は、たとえば、顧客に渡す半導体装置の設計情報の一部を書き換えて秘匿化するものである。なお、顧客側では、RTL(Register Transfer Level)記述から、設計情報作成装置1が作成した設計情報に含まれるセルの面積、遅延時間、結線情報を考慮した論理合成(物理考慮合成)が行われる。
設計情報作成装置1は、たとえば、顧客に渡す半導体装置の設計情報の一部を書き換えて秘匿化するものである。なお、顧客側では、RTL(Register Transfer Level)記述から、設計情報作成装置1が作成した設計情報に含まれるセルの面積、遅延時間、結線情報を考慮した論理合成(物理考慮合成)が行われる。
設計情報作成装置1は、たとえば、コンピュータであり、プロセッサ2と記憶部3を有している。プロセッサ2は、記憶部3に記憶されているデータ及びプログラムに基づき、図2に示すような、設計情報取得部2a、設計情報書き換え部2bの機能を実現する。記憶部3は、プロセッサ2が実行するプログラムや、設計情報5aなどの各種データを記憶する。
設計情報5aには、ライブラリ6aやネットリスト7aが含まれている。ライブラリ6aには、設計対象の半導体装置に含まれる各セルの、素子名(セル名)、機能名(たとえば、“A^B”)の他、面積(area)と、遅延時間(timing)の情報が含まれている。また、ネットリスト7aには、半導体装置のセルの接続状態を示す結線情報が含まれている。
上記のような設計情報作成装置1を用いた設計方法の一例を、図1、図2を用いて説明する。
設計情報取得部2aは、上記のような設計情報5aを記憶部3から取得する(ステップS1)。その後、設計情報書き換え部2bは、設計情報5aに含まれる、セル名及び機能名を書き換え、結線情報、面積及び遅延時間を維持した設計情報5bを生成し、出力する(ステップS2)。出力された設計情報5bは記憶部3に格納され、その後、読み出されて、たとえば、ネットワーク経由または記録媒体などによって、顧客に提供される。
設計情報取得部2aは、上記のような設計情報5aを記憶部3から取得する(ステップS1)。その後、設計情報書き換え部2bは、設計情報5aに含まれる、セル名及び機能名を書き換え、結線情報、面積及び遅延時間を維持した設計情報5bを生成し、出力する(ステップS2)。出力された設計情報5bは記憶部3に格納され、その後、読み出されて、たとえば、ネットワーク経由または記録媒体などによって、顧客に提供される。
図1の例では、設計情報5aのライブラリ6aに含まれるセル名と機能名が、設計情報5bにおいては別の名前に書き換えられている。たとえば、ライブラリ6aに含まれるセル名“XOR1”と機能名“A^B”が、ライブラリ6bではセル名“CELL_XXX”と、機能名“A B”に書き換えられている。ただし、面積と、遅延時間については変更がなく、そのまま維持されている。
図3は、ネットリストの書き換え例を示す図である。図3では、ネットリスト7a,7bが、回路図で示されている。
ネットリスト7aには、レジスタ10,11,12、バッファ13、インバータ14、OR回路15、NAND回路16、XOR回路17、レジスタ18が含まれている。
ネットリスト7aには、レジスタ10,11,12、バッファ13、インバータ14、OR回路15、NAND回路16、XOR回路17、レジスタ18が含まれている。
レジスタ10の出力端子はバッファ13の入力端子に接続され、バッファ13の出力端子はOR回路15の一方の入力端子に接続されている。レジスタ11の出力端子はOR回路15の他方の入力端子及び、NAND回路16の一方の入力端子に接続されている。レジスタ12の出力端子はインバータ14の入力端子に接続されており、インバータ14の出力端子はNAND回路16の他方の入力端子に接続されている。
OR回路15の出力端子はXOR回路17の一方の入力端子に接続されており、NAND回路16の出力端子はXOR回路17の他方の入力端子に接続されている。XOR回路17の出力端子はレジスタ18の入力端子に接続されている。
このようなネットリスト7aにおいて、XOR回路17は、機能名が書き換えられることによって、ネットリスト7bにおいては、AND回路17aとなっている。また、同様にOR回路15、NAND回路16についても、機能名が書き換えられることによって、AND回路15a,16aとなっている。また、インバータ14については、機能名が書き換えられることによって、バッファ14aとなっている。
書き換えられる機能名は、たとえば、セルのピン構成によって決まる。図3の例では、1入力2出力のセルについては、機能名はAND論理を示す“A B”に書き換えられる。なお、機能名書き換えのより具体的な例については後述する。
さらに、セル名についても、ネットリスト7aのXOR回路17のセル名“XOR1”が、ネットリスト7bでは、“CELL_XXX”書き換えられている。ネットリスト7aのOR回路15、NAND回路16のセル名“OR1”、“NAND1”についても、ネットリスト7bでは、“CELL_YYY”、“CELL_ZZZ”と書き換えられている。
ただ、ネットリスト7a,7bにおいて、結線情報については変更がなく、そのまま維持されている。
このように、セル名と機能名を書き換えた設計情報5bを生成することで、オリジナルの設計情報5aが表している組み合わせ論理が顧客側で推測できなくなり、秘匿性が増す。また、単にセルを置き換えるのではなく、顧客が物理考慮造成などの設計作業に用いる面積、遅延時間、結線情報についてはオリジナルの設計情報5aの値を維持しているため、タイミング最適化や、チップ面積の算出処理の精度を上げることができる。つまり、秘匿性を維持しつつ顧客側での設計作業の精度を向上させることができる。
このように、セル名と機能名を書き換えた設計情報5bを生成することで、オリジナルの設計情報5aが表している組み合わせ論理が顧客側で推測できなくなり、秘匿性が増す。また、単にセルを置き換えるのではなく、顧客が物理考慮造成などの設計作業に用いる面積、遅延時間、結線情報についてはオリジナルの設計情報5aの値を維持しているため、タイミング最適化や、チップ面積の算出処理の精度を上げることができる。つまり、秘匿性を維持しつつ顧客側での設計作業の精度を向上させることができる。
(第2の実施の形態)
以下、第2の実施の形態の設計情報作成方法及び設計情報作成装置の一例を示す。
図4は、第2の実施の形態の設計情報作成装置の一例を示す図である。
以下、第2の実施の形態の設計情報作成方法及び設計情報作成装置の一例を示す。
図4は、第2の実施の形態の設計情報作成装置の一例を示す図である。
設計情報作成装置は、たとえば、コンピュータ20であり、プロセッサ21によって装置全体が制御されている。プロセッサ21には、バス29を介してRAM(Random Access Memory)22と複数の周辺機器が接続されている。プロセッサ21は、マルチプロセッサであってもよい。プロセッサ21は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ21は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM22は、コンピュータ20の主記憶装置として使用される。RAM22には、プロセッサ21に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM22には、プロセッサ21による処理に必要な各種データが格納される。
バス29に接続されている周辺機器としては、HDD(Hard Disk Drive)23、グラフィック処理装置24、入力インタフェース25、光学ドライブ装置26、機器接続インタフェース27及びネットワークインタフェース28がある。
HDD23は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD23は、コンピュータ20の補助記憶装置として使用される。HDD23には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置24には、モニタ24aが接続されている。グラフィック処理装置24は、プロセッサ21からの命令にしたがって、画像をモニタ24aの画面に表示させる。モニタ24aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース25には、キーボード25aとマウス25bとが接続されている。入力インタフェース25は、キーボード25aやマウス25bから送られてくる信号をプロセッサ21に送信する。なお、マウス25bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置26は、レーザ光などを利用して、光ディスク26aに記録されたデータの読み取りを行う。光ディスク26aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク26aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース27は、コンピュータ20に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース27には、メモリ装置27aやメモリリーダライタ27bを接続することができる。メモリ装置27aは、機器接続インタフェース27との通信機能を搭載した記録媒体である。メモリリーダライタ27bは、メモリカード27cへのデータの書き込み、またはメモリカード27cからのデータの読み出しを行う装置である。メモリカード27cは、カード型の記録媒体である。
ネットワークインタフェース28は、ネットワーク28aに接続されている。ネットワークインタフェース28は、ネットワーク28aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、図1に示した第1の実施の形態の設計情報作成装置1も、図4に示したコンピュータ20と同様のハードウェアにより実現することができる。
コンピュータ20は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ20に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、コンピュータ20に実行させるプログラムをHDD23に格納しておくことができる。プロセッサ21は、HDD23内のプログラムの少なくとも一部をRAM22にロードし、プログラムを実行する。またコンピュータ20に実行させるプログラムを、光ディスク26a、メモリ装置27a、メモリカード27cなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ21からの制御により、HDD23にインストールされた後、実行可能となる。またプロセッサ21が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
(設計情報作成方法の一例)
図5は、第2の実施の形態の設計情報作成方法の一例の処理の流れを示すフローチャートである。
図5は、第2の実施の形態の設計情報作成方法の一例の処理の流れを示すフローチャートである。
コンピュータ20において、プロセッサ21は、HDD23に格納されたプログラムを読み出してRAM22上に展開して、たとえば、図5に示すような各ステップの処理を実行する。
プロセッサ21は、たとえば、HDD23に格納された論理ライブラリ30、変換機能決定用テーブル31に基づき、セル情報テーブル32やモデル用論理ライブラリ33を生成する(ステップS10)。論理ライブラリ30はオリジナルの設計情報であり、プロセッサ21は、セル名と機能名を置き換えることで、顧客に渡すための設計情報である、モデル用論理ライブラリ33を生成する。変換機能決定用テーブル31、セル情報テーブル32を用いたステップS10の処理例については後述する。
さらにプロセッサ21は、HDD23に格納された物理ライブラリ34、ネットリスト36と、セル情報テーブル32に基づき、顧客に渡すための設計情報であるモデル用物理ライブラリ35、機能ブロックモデル37を生成する(ステップS20,S30)。
以下、図5の各処理ステップの例を説明する。
(モデル用論理ライブラリの生成)
図6は、モデル用論理ライブラリの生成処理の一例の流れを示すフローチャートである。
(モデル用論理ライブラリの生成)
図6は、モデル用論理ライブラリの生成処理の一例の流れを示すフローチャートである。
まず、プロセッサ21は、HDD23から、オリジナルの論理ライブラリ30を読み出して取得する(ステップS11)。
図7は、論理ライブラリの一例を示す図である。
図7は、論理ライブラリの一例を示す図である。
論理ライブラリ30には、セル名“FJOR001”のセルの面積情報(area)と、ピン情報(pin(Y)、pin(A)、pin(B))が含まれている。“derection”はピン方向を示している。図7の例では、pin(A)、pin(B)については、ピン方向は“input”であることから、ピンA,Bは入力ピンであることを示している。また、pin(Y)については、ピン方向は“output”であることから、ピンYは出力ピンであることを示している。
さらに、pin(Y)では、機能名として“A^B”が表記されている。これは、ピンYからは、ピンA,Bの値のXOR演算結果が出力されることを示している。さらに、pin(Y)では、遅延時間情報として、“yyyy”が表記されている。これは、このセルで生じる遅延時間が“yyyy”であることを示している。
次に、プロセッサ21は、取得した論理ライブラリ30から、セル名、ピン情報を、それぞれ抽出する(ステップS12,S13)。
そして、プロセッサ21は、抽出したセル名、ピン情報に基づき、セル情報テーブル32を作成する(ステップS14)。
そして、プロセッサ21は、抽出したセル名、ピン情報に基づき、セル情報テーブル32を作成する(ステップS14)。
図8は、セル情報テーブルの一例を示す図である。
セル情報テーブル32には、論理ライブラリ30から抽出された、セルごとの情報が含まれている。
セル情報テーブル32には、論理ライブラリ30から抽出された、セルごとの情報が含まれている。
図8の例では、セル情報テーブル32には、セル名“FJOR001”と、そのセル名をもつセルのピンのリスト、ピン方向、入力ピン数、出力ピン数が含まれている。
その後、プロセッサ21は、変換機能決定用テーブル31に基づき、セル情報テーブル32に、オリジナルの機能名と入れ替える変換機能名を追加する(ステップS15)。
その後、プロセッサ21は、変換機能決定用テーブル31に基づき、セル情報テーブル32に、オリジナルの機能名と入れ替える変換機能名を追加する(ステップS15)。
図9は、変換機能決定用テーブルの一例を示す図である。
変換機能決定用テーブル31には、セルの入力ピン及び出力ピンの数に対応付けられて、機能名の書き換え後の名前(変換機能名)が記述されている。図9には、各機能名に対応した回路例についても表記されている。
変換機能決定用テーブル31には、セルの入力ピン及び出力ピンの数に対応付けられて、機能名の書き換え後の名前(変換機能名)が記述されている。図9には、各機能名に対応した回路例についても表記されている。
入力・出力ピン数の条件が、0入力1出力(入力ピン数が0、出力ピン数が1)の場合、変換機能名は“1”となる。これは、出力を1で固定(Tie high)することを意味し、回路としては1出力のレジスタに相当する。
入力・出力ピン数の条件が、1入力1出力(入力ピン数が1、出力ピン数が1)の場合、変換機能名は“A”となる。これは、バッファ機能を意味し、回路としてはバッファに相当する。
入力・出力ピン数の条件が、2入力以上1出力(入力ピン数が2、出力ピン数が1)の場合、変換機能名は“(A B)”となる。これは、AND演算機能を意味し、回路としてはAND回路に相当する。
入力・出力ピン数の条件が、2出力以上(出力ピン数が2以上)の場合、変換機能名は“(((A B)+(B CIN))+(CIN A))”となる。これは、加算演算機能を意味し、回路としては4入力2出力の加算回路に相当する。
このような変換機能決定用テーブル31を用いることで、入力ピン及び出力ピンの数が同じ複数のセルの各機能名は、後述の処理で、同一名に書き換えられる。
ステップS15の処理後、さらに、プロセッサ21は、セル情報テーブル32に、オリジナルのセル名と入れ替える変換セル名を追加する(ステップS16)。プロセッサ21は、各セルのセル情報ごとに、オリジナルのセルの機能が推測できないような名前(たとえば、番号)を、変換セル名として追加する。
ステップS15の処理後、さらに、プロセッサ21は、セル情報テーブル32に、オリジナルのセル名と入れ替える変換セル名を追加する(ステップS16)。プロセッサ21は、各セルのセル情報ごとに、オリジナルのセルの機能が推測できないような名前(たとえば、番号)を、変換セル名として追加する。
図10は、変換機能名と変換セル名を追加したセル情報テーブルの一例を示す図である。
図10のセル情報テーブル32aでは、セルの入力ピン数が2、出力ピン数が1であるため、図9に示した変換機能決定用テーブル31から、変換機能名として、“(A B)”が追加されている。さらに、変換セル名として、“CELL_3927”というオリジナルのセルの機能が推測できないような名前が追加されている。
図10のセル情報テーブル32aでは、セルの入力ピン数が2、出力ピン数が1であるため、図9に示した変換機能決定用テーブル31から、変換機能名として、“(A B)”が追加されている。さらに、変換セル名として、“CELL_3927”というオリジナルのセルの機能が推測できないような名前が追加されている。
ステップS16の処理後、プロセッサ21は、論理ライブラリ30の複製を作成し(ステップS17)、セル名と機能名とを、セル情報テーブル32aの変換セル名と変換機能名とに変換する(ステップS18,S19)。これによって、モデル用論理ライブラリ33が作成される。
図11は、モデル用論理ライブラリの一例を示す図である。
図11のモデル用論理ライブラリ33では、図7に示した論理ライブラリ30の、セル名“FJOR001”が、“CELL_3927”に書き換えられており、機能名“(A^B)”が、“(A B)”に書き換えられている。一方、面積情報と遅延時間情報については、変更されておらず、論理ライブラリ30での値が、モデル用論理ライブラリ33でも維持されている。
図11のモデル用論理ライブラリ33では、図7に示した論理ライブラリ30の、セル名“FJOR001”が、“CELL_3927”に書き換えられており、機能名“(A^B)”が、“(A B)”に書き換えられている。一方、面積情報と遅延時間情報については、変更されておらず、論理ライブラリ30での値が、モデル用論理ライブラリ33でも維持されている。
なお、上記の各処理ステップは一例であり、適宜入れ替えてもよい。
次に、モデル用物理ライブラリの生成処理の例を説明する。
(モデル用物理ライブラリの生成)
図12は、モデル用物理ライブラリの生成処理の一例の流れを示すフローチャートである。
次に、モデル用物理ライブラリの生成処理の例を説明する。
(モデル用物理ライブラリの生成)
図12は、モデル用物理ライブラリの生成処理の一例の流れを示すフローチャートである。
まず、プロセッサ21は、HDD23から、オリジナルの物理ライブラリ34を読み出して取得する(ステップS21)。
図13は、物理ライブラリの一例を示す図である。
図13は、物理ライブラリの一例を示す図である。
物理ライブラリ34には、各セルがどこに配置されているのかを示す情報が含まれている。たとえば、“FOREIGN FJOR001 0 0”は、セル名“FJOR001”のセルが“0 0”という座標に配置されることを意味している。
ステップS21の処理後、プロセッサ21は、物理ライブラリ34の複製を作成し(ステップS22)、物理ライブラリ34に含まれているセル名を、セル情報テーブル32aの変換セル名に変換する(ステップS23)。これによって、モデル用物理ライブラリ35が作成される。
図14は、モデル用物理ライブラリの一例を示す図である。
図14のモデル用物理ライブラリ35では、図13に示した物理ライブラリ34の、セル名“FJOR001”が、“CELL_3927”に書き換えられている。
図14のモデル用物理ライブラリ35では、図13に示した物理ライブラリ34の、セル名“FJOR001”が、“CELL_3927”に書き換えられている。
次に、機能ブロックモデル37の生成処理の例を説明する。
(機能ブロックモデルの生成)
図15は、機能ブロックモデルの生成処理の一例の流れを示すフローチャートである。
(機能ブロックモデルの生成)
図15は、機能ブロックモデルの生成処理の一例の流れを示すフローチャートである。
まず、プロセッサ21は、HDD23から、オリジナルのネットリスト36を読み出して取得する(ステップS31)。
図16は、ネットリストの一例を示す図である。
図16は、ネットリストの一例を示す図である。
ネットリスト36には、各セルのセル名と、結線情報のインスタンス名、セルの各ピンに接続されるネット(配線)の名前(ネット名)などが含まれている。
たとえば、図16のネットリスト36には、セル名“FJOR001”、インスタンス名“u_ccd_bm_u_write_U719”が記載されている。さらに、ピンA,B,Yに接続されているネットのネット名(“u_ccd_bm_u__awaddr_wb_31_”など)が記載されている。
たとえば、図16のネットリスト36には、セル名“FJOR001”、インスタンス名“u_ccd_bm_u_write_U719”が記載されている。さらに、ピンA,B,Yに接続されているネットのネット名(“u_ccd_bm_u__awaddr_wb_31_”など)が記載されている。
ステップS31の処理後、プロセッサ21は、ネットリスト36の複製を作成し(ステップS32)、ネットリスト36に含まれているセル名を、セル情報テーブル32aの変換セル名に変換する(ステップS33)。さらに、プロセッサ21は、インスタンス名やネット名についても別の名前に変換する(ステップS34,S35)。これによって、機能ブロックモデル37が作成される。
図17は、機能ブロックモデルの一例を示す図である。
図17の機能ブロックモデル37では、図16に示したネットリスト36の、セル名“FJOR001”が、“CELL_3927”に書き換えられている。さらに、インスタンス名やネット名についても書き換えられている。
図17の機能ブロックモデル37では、図16に示したネットリスト36の、セル名“FJOR001”が、“CELL_3927”に書き換えられている。さらに、インスタンス名やネット名についても書き換えられている。
上記の各処理ステップは一例であり、適宜入れ替えてもよい。
以上のような処理で生成されたモデル用論理ライブラリ33、モデル用物理ライブラリ35、機能ブロックモデル37を含む設計情報は、たとえば、一旦HDD23に格納された後、読み出され、ネットワーク経由または記憶媒体を用いて、顧客側に提供される。顧客側では、物理考慮合成ツールを用いて、提供された設計情報を考慮した論理合成が行われ、タイミング検証やチップ面積の算出など、各種の設計作業が行われる。
以上のような処理で生成されたモデル用論理ライブラリ33、モデル用物理ライブラリ35、機能ブロックモデル37を含む設計情報は、たとえば、一旦HDD23に格納された後、読み出され、ネットワーク経由または記憶媒体を用いて、顧客側に提供される。顧客側では、物理考慮合成ツールを用いて、提供された設計情報を考慮した論理合成が行われ、タイミング検証やチップ面積の算出など、各種の設計作業が行われる。
上記の処理により、モデル用論理ライブラリ33、モデル用物理ライブラリ35、機能ブロックモデル37に含まれるセル名と機能名は、オリジナルのものと異なるため、オリジナルの設計情報が表している組み合わせ論理は、顧客側で推測されない。つまり、オリジナルの設計情報の秘匿性が保たれる。また、単にセルを置き換えるのではなく、顧客が設計作業に用いる面積情報、遅延時間情報、結線情報についてはオリジナルの設計情報の値を維持しているため、タイミング最適化や、チップ面積の算出処理の精度を上げることができる。つまり、顧客側での設計作業の精度を向上できる。
また、プロセッサ21は、図9に示したような変換機能決定用テーブル31を用いて、同じピン構成のセルの機能名については、一律同じ機能名に書き換えることで、可逆性がなくなり、秘匿性がより向上する。また、図9に示したような変換機能決定用テーブル31を用いて、オリジナルの機能名を、各ピン構成に対応付けられた機能名に書き換えることで、全てのセルの機能名をピン構成に応じた機能名に置き換えられ、秘匿性が増す。
以上、実施の形態に基づき、本発明の設計情報作成方法、設計情報作成装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
1 設計情報作成装置(コンピュータ)
2 プロセッサ
3 記憶部
5a,5b 設計情報
6a,6b ライブラリ
7a,7b ネットリスト
2 プロセッサ
3 記憶部
5a,5b 設計情報
6a,6b ライブラリ
7a,7b ネットリスト
Claims (5)
- プロセッサが、半導体装置に含まれる素子の接続状態を示す結線情報、前記素子の素子名、前記素子の機能名、前記素子の面積及び前記素子の遅延時間を含む第1の設計情報を記憶部から取得し、
前記プロセッサが、前記素子名及び前記機能名を書き換え、前記結線情報、前記面積及び前記遅延時間を維持した第2の設計情報を生成し、出力する、
ことを特徴とする設計情報作成方法。 - 前記プロセッサは、入力ピン及び出力ピンの数が同じ複数の素子のそれぞれの前記機能名を、同一名となるように書き換える、ことを特徴とする請求項1に記載の設計情報作成方法。
- 前記プロセッサは、前記入力ピン及び前記出力ピンの数に対応付けられて、前記機能名の書き換え後の名前が記述された変換機能決定用情報に基づき、前記素子の前記機能名を書き換える、ことを特徴とする請求項2に記載の設計情報作成方法。
- 半導体装置に含まれる素子の接続状態を示す結線情報、前記素子の素子名、前記素子の機能名、前記素子の面積及び前記素子の遅延時間を含む第1の設計情報を記憶部から取得する設計情報取得部と、
前記素子名及び前記機能名を書き換え、前記結線情報、前記面積及び前記遅延時間を維持した第2の設計情報を生成し、出力する設計情報書き換え部と、
を有することを特徴とする設計情報作成装置。 - 半導体装置に含まれる素子の接続状態を示す結線情報、前記素子の素子名、前記素子の機能名、前記素子の面積及び前記素子の遅延時間を含む第1の設計情報を記憶部から取得し、
前記素子名及び前記機能名を書き換え、前記結線情報、前記面積及び前記遅延時間を維持した第2の設計情報を生成し、出力する、
処理をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015012585A JP2016139203A (ja) | 2015-01-26 | 2015-01-26 | 設計情報作成方法、設計情報作成装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015012585A JP2016139203A (ja) | 2015-01-26 | 2015-01-26 | 設計情報作成方法、設計情報作成装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016139203A true JP2016139203A (ja) | 2016-08-04 |
Family
ID=56560199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015012585A Pending JP2016139203A (ja) | 2015-01-26 | 2015-01-26 | 設計情報作成方法、設計情報作成装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016139203A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023195057A1 (ja) * | 2022-04-04 | 2023-10-12 | 三菱電機株式会社 | 情報提供システム、情報提供方法、及び情報提供プログラム |
-
2015
- 2015-01-26 JP JP2015012585A patent/JP2016139203A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023195057A1 (ja) * | 2022-04-04 | 2023-10-12 | 三菱電機株式会社 | 情報提供システム、情報提供方法、及び情報提供プログラム |
JP7479582B2 (ja) | 2022-04-04 | 2024-05-08 | 三菱電機株式会社 | 情報提供システム、情報提供方法、及び情報提供プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106415496A (zh) | 统一中间表示 | |
US10289785B1 (en) | Platform architecture creation for a system-on-chip | |
US20160162628A1 (en) | Generic design rule checking (drc) test case extraction | |
JP6995451B2 (ja) | 回路適正化装置及び回路適正化方法 | |
JP2007193529A (ja) | 半導体集積回路の高位合成方法 | |
JP2007034584A (ja) | 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法 | |
JP6801460B2 (ja) | 情報処理装置、プログラム、および情報処理方法 | |
US9536030B2 (en) | Optimization of integrated circuit physical design | |
JP6255880B2 (ja) | 高位合成用データ生成装置、高位合成装置、高位合成用データ生成方法及びプログラム | |
US10747516B1 (en) | Applications for hardware accelerators in computing systems | |
US9824173B1 (en) | Software development-based compilation flow for hardware implementation | |
JP2016139203A (ja) | 設計情報作成方法、設計情報作成装置及びプログラム | |
JP2009517759A (ja) | Ic設計方法およびic設計ツール | |
JP2004070457A (ja) | シミュレーション用カバレッジ算出装置及びシミュレーション用カバレッジ算出方法 | |
JP5668404B2 (ja) | 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置 | |
US9852259B2 (en) | Area and/or power optimization through post-layout modification of integrated circuit (IC) design blocks | |
JP6091140B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP6818568B2 (ja) | 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム | |
JP2009093491A (ja) | 検証シナリオ作成プログラム、該プログラムを記録した記録媒体、検証シナリオ作成装置、および検証シナリオ作成方法 | |
JP6482362B2 (ja) | ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム | |
JP2016046358A (ja) | 半導体装置の設計方法、半導体装置及びプログラム | |
JP7351189B2 (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
JP5262678B2 (ja) | 動作合成システム、動作合成方法、及び動作合成用プログラム | |
JP2011145880A (ja) | 半導体集積回路の論理検証にて使用するテストタスクの生成方法 | |
JP5791797B2 (ja) | Lsi設計装置及びlsi設計方法及びプログラム |