特許第6435892号(P6435892)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラドキュメントソリューションズ株式会社の特許一覧

特許6435892回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント
<>
  • 特許6435892-回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント 図000002
  • 特許6435892-回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント 図000003
  • 特許6435892-回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント 図000004
  • 特許6435892-回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント 図000005
  • 特許6435892-回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6435892
(24)【登録日】2018年11月22日
(45)【発行日】2018年12月12日
(54)【発明の名称】回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント
(51)【国際特許分類】
   G06F 17/50 20060101AFI20181203BHJP
【FI】
   G06F17/50 654K
   G06F17/50 656B
   G06F17/50 654M
【請求項の数】3
【全頁数】9
(21)【出願番号】特願2015-19177(P2015-19177)
(22)【出願日】2015年2月3日
(65)【公開番号】特開2016-143263(P2016-143263A)
(43)【公開日】2016年8月8日
【審査請求日】2017年1月24日
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100167302
【弁理士】
【氏名又は名称】種村 一幸
(74)【代理人】
【識別番号】100135817
【弁理士】
【氏名又は名称】華山 浩伸
(72)【発明者】
【氏名】藤田 信人
【審査官】 松田 直也
(56)【参考文献】
【文献】 特開2009−116497(JP,A)
【文献】 特開平09−008143(JP,A)
【文献】 特開2010−102700(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/50
(57)【特許請求の範囲】
【請求項1】
予め定められたプログラムを実行する計算機である回路設計ツールが、ハードウェア記述言語によって記述された回路の情報を含む論理回路データに基づき設計対象回路に関するデータを生成する回路設計方法であって、
前記回路設計ツールが、動作検証済みのシンクロナイザ回路を前記ハードウェア記述言語によって表すデータから、前記回路設計ツールのセル・ライブラリの一部であり、前記動作検証済みのシンクロナイザ回路のコンポーネントであるシンクロナイザ・コンポーネントを生成する工程と、
前記回路設計ツールが、複数のクロックドメイン回路および前記クロックドメイン回路各々のクロック信号を同期化する前記シンクロナイザ回路を含む設計対象回路を表す前記論理回路データにおける前記シンクロナイザ回路の部分を前記シンクロナイザ・コンポーネントへマッピングする工程と、
前記回路設計ツールが、前記シンクロナイザ・コンポーネントへのマッピングが成された前記論理回路データから、予め設定される消費電力の条件を含む制約条件を満たすネットリストデータを生成する工程と、
前記回路設計ツールが、前記シンクロナイザ・コンポーネントを利用しつつ前記論理回路データおよび前記ネットリストデータから前記設計対象回路のモデルを生成した後、テスト信号データが入力された前記モデルの処理結果を出力する工程と、
を含む回路設計方法。
【請求項2】
前記回路設計ツールが、前記論理回路データおよび前記ネットリストデータから前記設計対象回路のレイアウトデータを生成する工程をさらに含む、請求項1に記載の回路設計方法。
【請求項3】
前記シンクロナイザ回路がデュアル・ランク・フリップフロップ型の回路である、請求項1または請求項2に記載の回路設計方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回路設計方法および回路設計ツール用セル・ライブラリのコンポーネントに関する。
【背景技術】
【0002】
一般に、ハードウェア記述言語(HDL)によって記述された回路の情報を含む論理回路データを回路設計ツールに適用する工程を経て回路を設計することが知られている。前記回路設計ツールとしては、論理合成ツール、レイアウトツールおよび回路検証ツールなどがある。
【0003】
前記回路設計ツールは、それぞれツールの種類に対応したセル・ライブラリを利用しつつ処理を実行する。前記セル・ライブラリは、それぞれ所定の機能を実現する複数のコンポーネントを含むデータベースである。なお、前記コンポーネントは、マクロセルなどとも称される。前記コンポーネントは、論理機能、電気的特性またはレイアウトなどの回路設計に必要なデータを含む。
【0004】
前記論理合成ツールは、前記論理回路データからネットリストデータを生成する処理を実行する。前記レイアウトツールは、前記ネットリストデータから回路のレイアウトデータを自動生成する。前記回路検証ツールは、前記論理回路データに基づく回路モデルにテスト信号データを適用し、適用結果を出力する。これにより、前記回路モデルが所望の機能を発揮するか否かを検証することができる。
【0005】
また、設計対象回路が、複数のクロックドメイン回路および前記クロックドメイン回路各々のクロック信号を同期化するシンクロナイザ回路を含む場合がある。この場合、同期回路設計用のHDLに非同期プロセス間通信を可能とするプリミティブが付加された非同期回路設計言語によって記述されたコードを、同期回路設計用のHDLに変換することなどが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−202262号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、一般的な回路設計においては、論理合成工程、レイアウト工程および回路検証工程がその順番で行われる。前記論理合成工程は、前記論理合成ツールによって前記論理回路データから前記ネットリストデータを生成する工程である。前記レイアウト工程は、前記レイアウトツールによって前記ネットリストデータから前記レイアウトデータを生成する工程である。
【0008】
前記回路検証工程は、前記ネットリストデータおよび前記レイアウトデータを前記回路検証ツールに適用することにより、前記論理合成ツールおよび前記レイアウトツールによる設計結果を検証する工程である。前記レイアウト工程の結果または前記回路検証工程の結果に不具合があれば、前記論理回路データの修正または前記論理合成ツールまたは前記レイアウトツールの一方または両方の条件の修正などが行われた上で、各工程が繰り返される。
【0009】
設計対象回路が前記シンクロナイザ回路を含む場合、前記シンクロナイザ回路のクロックドメインクロッシング(CDC)の部分において、複数のクロック信号相互のタイミングの微小なズレに起因する発見し難い不具合が生じやすい。そのため、前記設計対象回路が前記シンクロナイザ回路を含む場合、前記レイアウト工程および前記回路検証工程において、前記CDCの部分の検証に多大な手間および時間を要する。
【0010】
本発明の目的は、複数のクロックドメイン回路および前記クロックドメイン回路各々のクロック信号を同期化するシンクロナイザ回路を含む回路を設計する際に、クロックドメインクロッシングの検証のための負荷を軽減して設計工程を効率化できる回路設計方法および回路設計ツール用セル・ライブラリのコンポーネントを提供することにある。
【課題を解決するための手段】
【0011】
本発明の一の局面に係る回路設計方法は、ハードウェア記述言語によって記述された回路の情報を含む論理回路データを回路設計ツールに適用する工程を経て回路を設計する方法であり、以下の各工程を含む。第1の工程は、シンクロナイザ・コンポーネントを予め用意する工程である。前記シンクロナイザ・コンポーネントは、前記回路設計ツールのセル・ライブラリの一部であり、動作検証済みのシンクロナイザ回路のコンポーネントである。第2の工程は、設計対象回路を表す前記論理回路データにおける前記シンクロナイザ回路の部分を前記シンクロナイザ・コンポーネントへマッピングする工程である。前記設計対象回路は、複数のクロックドメイン回路および前記クロックドメイン回路各々のクロック信号を同期化する前記シンクロナイザ回路を含む回路である。第3の工程は、前記シンクロナイザ・コンポーネントへのマッピングが成された前記論理回路データを前記回路設計ツールに適用する工程である。
【0012】
本発明の他の局面に係る回路設計ツール用セル・ライブラリのコンポーネントは、回路設計ツールのセル・ライブラリの一部であって、複数の非同期のクロック信号を同期化する動作検証済みのシンクロナイザ回路のコンポーネントである。
【発明の効果】
【0013】
本発明によれば、複数のクロックドメイン回路および前記クロックドメイン回路各々のクロック信号を同期化するシンクロナイザ回路を含む回路を設計する際に、クロックドメインクロッシングの検証のための負荷を軽減して設計工程を効率化できる回路設計方法および回路設計ツール用セル・ライブラリのコンポーネントを提供することが可能になる。
【図面の簡単な説明】
【0014】
図1図1は、実施形態に係る回路設計方法の手順の一例を示すフローチャートである。
図2図2は、実施形態に係る回路設計におけるシンクロナイザ部分の抽出・マッピング工程の一例を表すフローチャートである。
図3図3は、デュアル・ランク・フリップフロップ型のシンクロナイザ回路に相当するハードウェア記述言語による記述内容を表す図である。
図4図4は、デュアル・ランク・フリップフロップ型のシンクロナイザ回路のブロック図である。
図5図5は、論理回路データにおけるシンクロナイザ・コンポーネントにマッピングされた部分のハードウェア記述言語による記述内容を表す図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。
【0016】
以下、実施形態に係る回路設計方法の手順の一例について説明する。前記回路設計方法は、前記HDLによって記述された回路の情報を含む論理回路データを回路設計ツールに適用する工程を経て回路を設計する方法である。
【0017】
前記回路設計ツールは、例えば、論理合成ツール、レイアウトツールおよび回路検証ツールなどである。前記回路設計ツールは、回路設計支援プログラムを実行する計算機である。前記回路設計支援プログラムは、論理合成プログラム、自動レイアウトプログラムおよび回路検証プログラムなどである。
【0018】
以下、実施形態に係る回路設計方法による設計対象のことを設計対象回路と称する。前記設計対象回路は、例えばデジタル回路である。本実施形態における前記設計対象回路は、複数のクロックドメイン回路およびシンクロナイザ回路を含む回路である。前記シンクロナイザ回路は、前記クロックドメイン回路各々のクロック信号を同期化する回路である。
【0019】
一般的な回路設計においては、論理合成工程、レイアウト工程および回路検証工程がその順番で行われる。前記論理合成工程は、前記論理合成ツールによって前記論理回路データから前記ネットリストデータを生成する工程である。前記レイアウト工程は、前記レイアウトツールによって前記ネットリストデータから前記レイアウトデータを生成する工程である。
【0020】
前記回路検証工程は、前記ネットリストデータおよび前記レイアウトデータを前記回路検証ツールに適用することにより、前記論理合成ツールおよび前記レイアウトツールによる設計結果を検証する工程である。前記レイアウト工程の結果または前記回路検証工程の結果に不具合があれば、前記論理回路データの修正または前記論理合成ツールまたは前記レイアウトツールの一方または両方の条件の修正などが行われた上で、各工程が繰り返される。
【0021】
前記設計対象回路が前記シンクロナイザ回路を含む場合、前記シンクロナイザ回路のクロックドメインクロッシング(CDC)の部分において、複数のクロック信号相互のタイミングの微小なズレに起因する発見し難い不具合が生じやすい。そのため、前記設計対象回路が前記シンクロナイザ回路を含む場合、前記レイアウト工程および前記回路検証工程において、前記CDCの部分の検証に多大な手間および時間を要する。
【0022】
一方、以下に示される実施形態によれば、複数の前記クロックドメイン回路および前記クロックドメイン回路各々のクロック信号を同期化する前記シンクロナイザ回路を含む回路を設計する際に、前記CDCの検証のための負荷を軽減して設計工程を効率化できる。
【0023】
以下、図1を参照しつつ、実施形態に係る回路設計方法の手順の一例について説明する。以下の説明において、S101,S102,…は、回路設計における各工程の識別符号を表す。
【0024】
<工程S101>
前記回路設計工程において、前記設計対象回路の設計が行われる前に、動作検証済みのシンクロナイザ回路のコンポーネントであるシンクロナイザ・コンポーネントを生成するためのシンクロナイザ回路データSDが作成される。
【0025】
シンクロナイザ回路データSDは、動作検証済みの前記シンクロナイザ回路を前記HDLで記述したデータである。
【0026】
図3は、シンクロナイザ回路データSDの一例であり、デュアル・ランク・フリップフロップ型の前記シンクロナイザ回路に相当する前記HDLによる記述内容を表す。また、図4は、図3に示される前記HDLの記述内容と等価なデュアル・ランク・フリップフロップ型のシンクロナイザ回路のブロック図である。図4において、曲線の矢印で指し示される部分が前記CDCの部分である。
【0027】
<工程S102>
次に、シンクロナイザ回路データSDからシンクロナイザ・コンポーネントSCを生成する工程が実行される。シンクロナイザ・コンポーネントSCは、前記回路設計ツールのセル・ライブラリの一部である。
【0028】
前記回路設計ツールは、ユーザーが作成した回路データからその回路データに相当するコンポーネントを生成し、そのコンポーネントをセル・ライブラリの1つとして追加するコンポーネント追加機能を備える。シンクロナイザ・コンポーネントSCは、前記回路設計ツールの前記コンポーネント追加機能によって生成される。
【0029】
工程S101,S102は、動作検証済みの前記シンクロナイザ回路のコンポーネントであるシンクロナイザ・コンポーネントSCを予め用意する工程の一例である。
【0030】
<工程S103>
シンクロナイザ・コンポーネントSCが用意された後、前記設計対象回路を表す論理回路データLC0が作成される。前記HDLによって記述された前記設計対象回路の情報を含むデータである。換言すれば、論理回路データLC0は、前記HDLによって前記設計対象回路を表すデータである。
【0031】
<工程S104>
次に、工程S103で作成された論理回路データLC0に基づいてシンクロナイザ部分抽出・マッピング工程が行われる。図2は、前記シンクロナイザ部分抽出・マッピング工程の一例を表すフローチャートである。
【0032】
<工程S201>
前記シンクロナイザ部分抽出・マッピング工程において、まず、前記設計対象回路を表す論理回路データLC0における前記シンクロナイザ回路の部分が抽出される。
【0033】
<工程S202>
さらに、論理回路データLC0における抽出部分である前記シンクロナイザ回路の部分が、前記論理合成ツール用のシンクロナイザ・コンポーネントSCへマッピングされる。以下、シンクロナイザ・コンポーネントSCへのマッピングが成された論理回路データのことを二次論理回路データLCと称する。
【0034】
図5は、二次論理回路データLCにおけるシンクロナイザ・コンポーネントSCにマッピングされた部分の前記HDLによる記述内容の一例を表す図である。
【0035】
工程S201,S202が行われることにより、これ以降の設計工程において、前記設計対象回路における前記シンクロナイザ回路の部分の回路接続およびレイアウトは、シンクロナイザ・コンポーネントSCに定義されている回路接続およびレイアウトから変更されない。換言すれば、シンクロナイザ・コンポーネントSCに定義されている回路接続およびレイアウトが、前記設計対象回路の設計における拘束条件となる。
【0036】
<工程S105>
二次論理回路データLCが得られると、二次論理回路データLCを前記論理合成ツールに適用する論理合成工程が行われる。
【0037】
前記論理合成ツールは、前記論理合成ツールの1つであり、二次論理回路データLCからネットリストデータNLを生成するツールである。ネットリストデータNLは、前記設計対象回路における端子間の接続情報のデータである。前記論理合成ツールは、当該論理合成ツール用に生成されたシンクロナイザ・コンポーネントSCを利用しつつネットリストデータNLを生成する処理を実行する。
【0038】
前記論理合成工程において、満足すべき制約条件であるチップ面積、遅延時間および消費電力などが前記論理合成ツールに設定される。前記論理合成ツールは、設定された前記制約条件を満たすようにネットリストデータNLを生成する処理を進める。
【0039】
<工程S106>
二次論理回路データLCおよびネットリストデータNLが得られると、それらのデータを前記レイアウトツールに適用するレイアウト工程が行われる。前記レイアウトツールは、二次論理回路データLCおよびネットリストデータNLから前記設計対象回路のレイアウトデータLOを自動生成するツールである。レイアウトデータLOは、回路の具体的な配置情報のデータである。
【0040】
前記レイアウト工程において、満足すべき制約条件であるタイミングの条件などが前記レイアウトツールに設定される。前記レイアウトツールは、設定された前記制約条件を満たすようにレイアウトデータLOを生成する処理を進める。前記レイアウトツールは、当該レイアウト御ツール用に生成されたシンクロナイザ・コンポーネントSCを利用しつつレイアウトデータLOを生成する処理を実行する。
【0041】
<工程S107>
さらに、レイアウトデータLOが表す回路配置の適否が判定され、その判定結果に応じて、前記論理合成ツールおよび前記レイアウトツールの設定条件の修正要否と、論理回路データLC0の修正要否とがさらに判定される。
【0042】
前記論理合成ツールの設定条件、前記レイアウトツールの設定条件または論理回路データLC0の修正が必要な場合、修正が必要な工程以降の工程が再び行われる。
【0043】
<工程S108>
レイアウトデータLOが表す回路配置が適切であると判定されると、二次論理回路データLCおよびネットリストデータNLを前記回路検証ツールに適用する工程が行われる。この工程S108は、工程S103〜S106までの設計により得られる回路の機能を検証する工程である。
【0044】
前記回路検証ツールは、二次論理回路データLCおよびネットリストデータNLから前記設計対象回路のモデルを生成するとともに、そのモデルにテスト信号データを適用するツールである。前記回路検証ツールは、前記テスト信号データが入力された前記モデルの処理結果を、前記設計対象回路の動作結果として出力する。
【0045】
前記回路検証ツールは、当該回路検証ツール用に生成されたシンクロナイザ・コンポーネントSCを利用しつつ前記モデルを生成する処理を実行する。
【0046】
<工程S109>
さらに、回路検証ツールの処理結果の適否が判定され、その判定結果に応じて、前記回路検証ツールおよび前記論理合成ツールなどの設定条件の修正要否と、論理回路データLC0の修正要否とがさらに判定される。
【0047】
前記回路検証ツールの設定条件、前記論理合成ツールの設定条件、前記論理合成ツールの設定条件または論理回路データLC0の修正が必要な場合、修正が必要な工程以降の工程が再び行われる。
【0048】
以上により、回路設計における論理合成、レイアウトおよび回路検証に関する工程が終了する。
【0049】
本実施形態によれば、前記論理合成工程、前記レイアウト工程および前記回路検証工程において、動作検証済みのシンクロナイザ・コンポーネントSCへのマッピングが成された二次論理回路データLCが用いられる。
【0050】
従って、従来の設計方法では非常に発見が難しい不具合が生じやすい前記シンクロナイザ回路の前記CDCの部分に関し、ネットリストデータNLおよびレイアウトデータLOにおける不具合が生じない。その結果、これまで多大な手間および時間を要していた前記CDCの部分の検証のための負荷を軽減することができ、設計工程を大幅に効率化できる。
【0051】
また、前記シンクロナイザ回路は、通常、不具合発生防止のために比較的狭い範囲に集中して配置されることが多い。そのため、シンクロナイザ・コンポーネントSCの定義内容が回路設計の拘束条件となっても、回路設計の自由度が従来に比べて大きく制限されることはない。また、シンクロナイザ・コンポーネントSCが、デュアル・ランク・フリップフロップ型のシンクロナイザ回路のコンポーネントであれば、汎用性が高い。
【0052】
なお、本発明に係る回路設計方法および回路設計ツール用セル・ライブラリのコンポーネントは、各請求項に記載された発明の範囲において、以上に示された実施形態及び応用例を自由に組み合わせること、或いは実施形態及び応用例を適宜、変形する又は一部を省略することによって構成されることも可能である。
【符号の説明】
【0053】
LC :二次論理回路データ
LC0 :論理回路データ
LO :レイアウトデータ
NL :ネットリストデータ
SC :シンクロナイザ・コンポーネント
SD :シンクロナイザ回路データ
図1
図2
図3
図4
図5