(57)【要約】【課題】非同期置換型機能回路の設計において設計効率の低下、回路規模の増大、消費電力の増大を抑えることを課題とする。【解決手段】ＲＴＬで機能回路が表現された第１の記述のうち、第２の記述をブロック化することにより、第１の記述を階層化された第３の記述に変換する階層化手段１０１と、第３の記述の論理合成を行う第１の論理合成手段１０２と、第１の配置配線を行う第１の配置配線手段１０３と、第２の記述を非同期の単位回路を示す第４の記述に置換する第１の置換手段１０４と、第４の記述の論理合成を行う第２の論理合成手段１０５と、第２の配置配線を行う第２の配置配線手段１０６と、第２の配置配線が行われた回路の計算を行う計算手段１０７と、第１の配置配線手段１０３により配置配線が行われた回路を選択的に第２の配置配線手段１０６により配置配線が行われた回路に置換する第２の置換手段１０８と、を有する。【選択図】図１
2010102700.tif 000002
【特許請求の範囲】
【請求項１】
レジスタトランスファレベルで機能回路が表現された第１の記述のうち、同期の単位回路を示す第２の記述をブロック化し、ブロック化された前記第２の記述を一つの階層として、前記第１の記述を階層化された第３の記述に変換する階層化手段と、
前記第３の記述の論理合成を行うことにより第１のネットリストを生成する第１の論理合成手段と、
前記第１のネットリストをもとに配置配線を行う第１の配置配線手段と、
前記ブロック化された前記第２の記述を非同期の前記単位回路を示す第４の記述に置換する第１の置換手段と、
前記第４の記述の論理合成を行うことにより第２のネットリストを生成する第２の論理合成手段と、
前記第２のネットリストをもとに配置配線を行う第２の配置配線手段と、
前記第２の配置配線手段により配置配線が行われた回路の計算を行う計算手段と、
前記計算手段での計算結果をもとに前記第１の配置配線手段により配置配線が行われた回路を選択的に前記第２の配置配線手段により配置配線が行われた回路に置換する第２の置換手段と、を有する機能回路の設計システム。
【請求項２】
請求項１において、
前記単位回路は、順序回路を有するカウンター回路である機能回路の設計システム。
【請求項３】
レジスタトランスファレベルで機能回路が表現された第１の記述のうち、同期の単位回路を示す第２の記述を抽出し、ブロック化することにより、ブロック化した第２の記述を一つの階層として、前記第１の記述を階層化した第３の記述に変換し、
前記第３の記述の論理合成を行うことにより第１のネットリストを生成し、
前記第１のネットリストをもとに第１の配置配線処理を行い、
前記ブロック化した前記第２の記述を非同期の前記単位回路を示す第４の記述に置換し、
前記第４の記述の論理合成処理を行うことにより第２のネットリストを生成し、
前記第２のネットリストをもとに第２の配置配線処理を行い、
前記第２の配置配線処理が行われた回路の計算処理を行い、
前記計算処理での計算結果をもとに前記第１の配置配線処理が行われた回路を選択的に前記第２の配置配線処理が行われた回路に置換する機能回路の設計方法。
【請求項４】
請求項３において、
前記単位回路は、順序回路を有するカウンター回路である機能回路の設計方法。
【請求項５】
請求項３または請求項４において、
前記第１の配置配線処理により前記第１の配置配線処理で配置配線が行われた回路のタイミング検証を行う機能回路の設計方法。
【請求項６】
請求項３乃至請求項５のいずれか一項において、
前記計算処理により前記第２の配置配線処理で配置配線が行われた回路のタイミング検証を行う機能回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
機能回路の設計システムに関する。また機能回路の設計方法に関する。
【背景技術】
【０００２】
近年、多結晶半導体などを用いたトランジスタを画素部のスイッチング素子や、画素の駆動回路に用いた半導体装置の研究開発が活発に行われている。
【０００３】
さらに、上記トランジスタを用いて作製された表示素子と機能回路が同一基板上に搭載された半導体装置の研究開発が行われている。上記機能回路としては、例えばＣＰＵ、画像処理回路、またはメモリなどが挙げられる。半導体装置の付加価値を高めるためには、機能回路において、例えば処理能力の向上、面積の縮小、及び消費電力の低減などが必要である。
【０００４】
機能回路は設計の効率を重視して同期設計により設計されることが一般的になっている。近年の同期設計はＩＥＥＥ規格のレジスタトランスファレベル（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）のハードウェア記述言語（Ｈａｒｄｗａｒｅ  ＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ）を用いて回路を表現し、論理合成ツールで機能回路を示すネットリストを生成し、生成されたネットリストを用いて自動配置配線ツールで動作タイミングを考慮しながらレイアウト設計を行っていくことが一般的になっている。このような設計手法によって作製された機能回路は、機能回路内部の各単位回路がクロック信号に同期した動作をする同期回路となる。なお、本書類において、レジスタトランスファレベルのハードウェア言語による記述をＲＴＬ記述ともいう。
【０００５】
一方、機能回路内部の各単位回路がクロック信号に同期しない動作をする機能回路を非同期回路という。
【０００６】
同期回路は非同期回路に比べて設計の効率はよいが回路規模や消費電力が大きいという特徴を有するのに対し、非同期回路は同期回路に比べて設計の効率が悪く、また、遅延が累積していくが回路規模や消費電力が小さいという特徴を有する。このことから、同期回路の利点を維持したまま、機能回路の一部を非同期化して非同期回路の利点を取り入れた機能回路（以下非同期置換型機能回路という）及び機能回路設計が望まれる。
【０００７】
設計する機能回路が上記非同期置換型機能回路である場合、手動で同期の単位回路を非同期の単位回路に置き換える設計方法（手設計ともいう）により設計が行われていた。しかしながら、上記手設計での回路設計は、設計の効率が悪く、信頼性が低いといった問題がある。その問題を解決するための方法の一つとして、回路が表現されたＲＴＬ記述のうち、特定の単位回路を示す記述（例えばバイナリーカウンター回路を示す記述）を抽出し、抽出した記述をこれに対応する非同期回路を示す記述（例えば非同期式バイナリーカウンター回路を示す記述）に自動的に置き換える設計支援装置が提案されている。（例えば特許文献１）
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−２３１２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１を含む従来の設計方法では、非同期回路は遅延が累積していくため、同期回路の記述を非同期回路の記述に置き換えることによって、レイアウト設計時のタイミング検証をパスすることが難しくなる場合がある。なお、上記パスするとは、レイアウト設計時のタイミング検証において検証結果が正しいことをいう。
【００１０】
ここで従来の非同期置換型機能回路の設計方法について、図１４及び図１５を用いて具体的に説明する。
【００１１】
図１４は同期回路設計のフローチャートである。図１４に示すように、従来の同期回路設計は、まず第１のステップ（図１４におけるｓ１）として回路が表現されたＲＴＬ記述を用いて論理合成を行い、その後第２のステップ（図１４におけるｓ２）として配置配線を行い、第３のステップ（図１４におけるｓ３）としてタイミング検証を行い、第４のステップ（図１４におけるｓ４）において、タイミング検証をパスした場合に設計完了となる。なお第２のステップにおける配置配線と第３のステップにおけるタイミング検証と、をまとめてレイアウト設計ともいう。また、設計完了とはマスク発注が可能な状態のことをいう。また、タイミング検証をパスできない場合は、第５のステップ（図１４におけるｓ５）としてＲＴＬ記述作成段階へ戻り、適切な修正をする。以上が従来の同期回路設計である。
【００１２】
上記同期回路設計に対して、図１５は特許文献１に記載の非同期置換型機能回路設計のフローチャートである。図１５に示すように、特許文献１に記載の非同期置換型機能回路設計は、まず第１のステップ（図１５におけるｓ０）として回路が表現されたＲＴＬ記述のうち、特定の単位回路を示す記述（同期式バイナリーカウンター回路を示す記述）を抽出し、抽出した特定の単位回路を示す記述を、対応する非同期回路の記述（非同期式バイナリーカウンター回路を示す記述）に自動的に置き換えることにより非同期置換型機能回路が表現されたＲＴＬ記述を作成する。その後、図１４におけるフローチャートと同様に第２のステップ（図１５におけるｓ１）として作成した非同期置換型機能回路が表現されたＲＴＬ記述を用いて論理合成を行い、第３のステップ（図１５におけるｓ２）として配置配線を行い、第４のステップ（図１５におけるｓ３）としてタイミング検証を行うことによりレイアウト設計をし、第５のステップ（図１５におけるｓ４）においてタイミング検証をパスした場合に設計完了となる。また、タイミング検証をパスできない場合は、第６のステップ（図１５におけるｓ５）としてＲＴＬ記述作成段階へ戻り、適切な修正がされる。以上が特許文献１に記載の非同期置換型機能回路設計である。
【００１３】
上記に述べたとおり、非同期置換型機能回路の設計において、置換処理により生成されたＲＴＬ記述は、非同期回路の遅延の累積により、元のＲＴＬ記述に比べてレイアウト設計時にタイミング検証をパスできない可能性が高い。ただし、デバイスの特性や回路構成によっては、遅延が累積していってもレイアウト設計時のタイミング検証をパスする場合もあり、パスするか否かは論理合成時には判断できない。つまり、レイアウト設計まで設計工程が進んでからＲＴＬ記述作成段階へ戻って適切な修正をしなければならない可能性が従来の同期回路設計よりも高くなり、設計時間のロスに繋がるといった問題がある。設計時間のロスは、市場の動向などからくる設計に対する要求によって、間接的に設計の効率の低下、回路規模や消費電力の増大につながる恐れがある。
【００１４】
上記問題を鑑み、本発明の一態様では、非同期置換型機能回路の設計において、設計時間のロスを抑えることで設計効率の低下を抑え、また回路規模が小さく、消費電力の少ない機能回路を設計することを課題の一つとする。
【課題を解決するための手段】
【００１５】
本発明の一態様は、レジスタトランスファレベルで機能回路が表現された第１の記述のうち、同期の単位回路を示す第２の記述をブロック化し、ブロック化された第２の記述を一つの階層として、第１の記述を階層化された第３の記述に変換する階層化手段と、第３の記述の論理合成を行うことにより第１のネットリストを生成する第１の論理合成手段と、第１のネットリストをもとに配置配線を行う第１の配置配線手段と、ブロック化された第２の記述を非同期の単位回路を示す第４の記述に置換する第１の置換手段と、第４の記述の論理合成を行うことにより第２のネットリストを生成する第２の論理合成手段と、第２のネットリストをもとに配置配線を行う第２の配置配線手段と、第２の配置配線手段により配置配線が行われた非同期の単位回路の計算を行う計算手段と、計算手段での計算結果をもとに第１の配置配線手段により配置配線が行われた同期の単位回路を選択的に第２の配置配線手段により配置配線が行われた非同期の単位回路に置換する第２の置換手段と、を有する機能回路の設計システムである。
【００１６】
また、本発明の一態様は、レジスタトランスファレベルで機能回路が表現された第１の記述のうち、同期の単位回路を示す第２の記述を抽出し、ブロック化することにより、ブロック化した第２の記述を一つの階層として、第１の記述を階層化した第３の記述に変換し、第３の記述の論理合成を行うことにより第１のネットリストを生成し、第１のネットリストをもとに第１の配置配線処理を行い、ブロック化した第２の記述を非同期の単位回路を示す第４の記述に置換し、第４の記述の論理合成処理を行うことにより第２のネットリストを生成し、第２のネットリストをもとに第２の配置配線処理を行い、第２の配置配線処理が行われた非同期の単位回路の計算処理を行い、計算処理での計算結果をもとに第１の配置配線処理が行われた同期の単位回路を選択的に第２の配置配線処理が行われた非同期の単位回路に置換する機能回路の設計方法である。
【００１７】
なお、本発明の一態様において、同期の単位回路と非同期の単位回路はそれぞれ順序回路を有するカウンター回路とすることもできる。
【００１８】
なお、本発明の一態様において、第１の配置配線処理により第１の配置配線処理で配置配線が行われた同期の単位回路のタイミング検証を行うこともできる。
【００１９】
また、本発明の一態様において、計算手段により第２の配置配線処理で配置配線が行われた非同期の単位回路のタイミング検証を行うこともできる。
【発明の効果】
【００２０】
本発明の一態様により、非同期置換型機能回路の設計において、配置配線後に同期回路のいずれかを自動的に非同期化することにより設計時間のロスを抑えることができ、設計効率の低下を抑えることができる。また本発明の一態様により回路規模が小さく、また消費電力の小さい非同期置換型機能回路を設計することができる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１における機能回路の設計システムの構成を示すブロック図である。
【図２】階層を説明するためのブロック図である。
【図３】実施の形態１における機能回路の設計方法を示すフローチャートである。
【図４】実施の形態１における第１の論理合成処理を示すフローチャートである。
【図５】実施の形態１における第１の配置配線処理を示すフローチャートである。
【図６】実施の形態１における第２の配置配線処理を示すフローチャートである。
【図７】実施の形態１における第２の置換処理を示すフローチャートである。
【図８】実施の形態２における本発明により設計可能な回路を備えた半導体装置の構成を示すブロック図である。
【図９】実施の形態２における半導体装置の使用例を示す図である。
【図１０】実施の形態２における本発明により設計可能な回路を備えた表示装置の構成を示すブロック図である。
【図１１】実施の形態２における表示装置の駆動回路の構成を示すブロック図である。
【図１２】実施の形態２における表示装置を表示部に備えた電子機器を示す図である。
【図１３】実施例１におけるカウンター回路の上面図である。
【図１４】従来における同期回路の設計方法を示すフローチャートである。
【図１５】従来における非同期置換型機能回路の設計方法を示すフローチャートである。
【発明を実施するための形態】
【００２２】
（実施の形態１）
本実施の形態では、本発明の一態様である機能回路の設計システムについて説明する。
【００２３】
まず本実施の形態における機能回路の設計システムについて図１を用いて説明する。図１は、本実施の形態における機能回路の設計システムの構成を示すブロック図である。
【００２４】
図１に示すように、本実施の形態における機能回路の設計システムは、階層化手段１０１と、第１の論理合成手段１０２と、第１の配置配線手段１０３と、第１の置換手段１０４と、第２の論理合成手段１０５と、第２の配置配線手段１０６と、計算手段１０７と、第２の置換手段１０８と、を有する。なお、それぞれの手段は、例えばプログラムにより構成することができる。
【００２５】
階層化手段１０１は、ＲＴＬ記述１０９（第１の記述ともいう）のうち、同期の単位回路を示す記述（第２の記述ともいう）をブロック化し、ブロック化した第２の記述を一つの階層としてＲＴＬ記述１０９を階層化されたＲＴＬ記述（第３の記述ともいう）に変換する手段である。なお階層化とは、ある回路を示す記述が複数の階層からなる記述に変換されることをいう。具体的には、ＲＴＬ記述１０９から指定回路情報１１０に相当する記述を検索し、指定回路情報１１０に相当するＲＴＬ記述をブロック化し、ブロック化された記述を一つの階層としてＲＴＬ記述１０９を階層化されたＲＴＬ記述に変換する。
【００２６】
なお、階層化されたＲＴＬ記述はＲＴＬ記述１０９と同一の回路機能を表現しており、さらに階層化されたＲＴＬ記述は、上位階層の記述と下位階層の記述に分類される。下位階層の記述はブロック化された第２の記述で構成され、上位階層の記述は下位階層の記述と、その他の回路を示す記述と、下位階層の記述とその他の回路を示す記述との接続関係の記述とで構成される。例えば図２に示すように、上位階層として機能回路２０１を示す記述がある場合、機能回路２０１を示す記述のうち、単位回路２０２１及び単位回路２０２２を示す記述がブロック化され、それぞれ回路ブロックとして表された単位回路２０２１及び単位回路２０２２を示す記述が下位階層の記述となる。なお、本実施の形態において上位階層の記述は、特に指定がなければ機能回路２０１を示す記述のことをいい、下位階層の記述は、特に指定がなければ単位回路２０２１及び単位回路２０２２を示す記述のことをいう。
【００２７】
ＲＴＬ記述１０９は、同期回路の設計手法に適したＩＥＥＥ規格のＲＴＬ記述によって回路を表現した記述である。またＲＴＬ記述１０９で表現された回路は、全回路がグローバル・クロックによって駆動するものである。ＲＴＬ記述１０９によって表現される回路としては、例えばＣＰＵ、画像処理回路、またはメモリなどがあり、これらの回路は一般的にカウンター回路やセレクター回路などの回路の集合体によって構成されている。本書類では、ＣＰＵ、画像処理回路、またはメモリを示す記述は上位階層の記述であり、カウンター回路またはセレクター回路を示す記述は下位階層の記述である。
【００２８】
指定回路情報１１０は、ＲＴＬ記述１０９から抽出される記述によって示される特定の単位回路（例えば同期式カウンター回路）と同じ回路を示す情報である。なお、指定回路情報１１０は、階層化手段１０１を用いてＲＴＬ記述１０９から、指定された回路に該当する箇所を抽出するためのものであるため、指定回路情報１１０のフォーマットは階層化手段１０１に対応して設定されることが好ましい。例えば、階層化手段１０１において、ＲＴＬ記述１０９における指定回路情報１１０の対応箇所をキーワードで検索する場合、指定回路情報１１０はキーワードにより特定の単位回路を表すというフォーマットになる。
【００２９】
第１の論理合成手段１０２は、階層化手段１０１により階層化されたＲＴＬ記述の論理合成を行い、ゲートレベルのネットリスト（第１のネットリストともいう）を生成する手段である。論理合成には、チップ面積若しくは遅延時間などの制約条件、または半導体製造技術のライブラリのセルなども用いられる。また、論理合成ツールとしては、例えばＣａｄｅｎｃｅ  Ｄｅｓｉｇｎ  Ｓｙｓｔｅｍｓ社製のＢｕｉｌｄ  Ｇａｔｅｓなどを用いることができる。
【００３０】
第１の配置配線手段１０３は、第１の論理合成手段１０２で生成されたネットリストをもとに配置配線を行い、ゲートレベルのネットリストを生成する手段である。なお、配置配線とは、ネットリストをもとに２次元平面上に回路の配置を行い、さらに２次元平面上で配線を行うことをいう。なお配置配線にはチップ面積、遅延時間などの制約条件や半導体製造技術のライブラリのセルなどを用いることがある。また、第１の配置配線手段１０３ではタイミング検証も併せて行われ、セットアップ時間やホールド時間などのタイミング情報が第２の置換手段１０８に出力される。タイミング検証は従来のタイミング検証だけではなく、例えば下位階層の記述に相当する単位回路を構成する回路の素子間に加え、下位階層の記述に相当する単位回路を１つの組み合わせ回路と見なしたタイミング検証も同時に行い、下位階層の記述に相当する単位回路の入出力端子のタイミング情報も第２の置換手段１０８に出力する。なお、下位階層の記述に相当する単位回路における入出力端子のタイミング情報とは、特に断りがない限りは、順序回路間の遅延情報及び、回路内に負荷されているゲート容量や配線に負荷される寄生容量などのことをいう。
【００３１】
第１の置換手段１０４は、階層化手段１０１で階層化された第２の記述を非同期の単位回路を示す記述（第４の記述ともいう）に置換する手段である。なお、第２の記述と第４の記述とは同期回路であるか非同期回路であるかが異なるだけであって表現された回路機能は同一である。
【００３２】
第２の論理合成手段１０５は、第４の記述の論理合成を行い、ゲートレベルのネットリスト（第２のネットリストともいう）を生成する手段である。論理合成には、チップ面積遅延時間などの制約条件、または半導体製造技術のライブラリのセルなども用いられる。論理合成ツールとしては、例えばＣａｄｅｎｃｅ  Ｄｅｓｉｇｎ  Ｓｙｓｔｅｍｓ社製のＢｕｉｌｄ  Ｇａｔｅｓなどを用いることができる。
【００３３】
第２の配置配線手段１０６は、第２の論理合成手段１０５により生成されたネットリストをもとに配置配線を行う手段である。なお配置配線には、チップ面積及び遅延時間などの制約条件や半導体製造技術のライブラリのセルなども用いることがある。また、第２の配置配線手段１０６では、配線接続情報やゲート容量や配線に負荷される寄生容量などの回路情報が生成され、計算手段１０７に出力される。
【００３４】
計算手段１０７は、シミュレーション手段ともいい、第２の配置配線手段１０６から入力された配線接続情報やゲート容量や配線に負荷される寄生容量などの回路情報と第２の配置配線手段１０６から入力されたネットリストを用いてｓｐｉｃｅなどの回路シミュレーターで計算（シミュレーションともいう）を行う手段である。その際の計算条件として、例えば入力信号の組み合わせ、入力信号の立ち上がりまたは立ち下がりの傾き、又は出力端の負荷容量を変えて計算を行う。例えば、入力信号の値の組み合わせを４条件、入力信号の立ち上がりまたは立ち下がりの傾きを５条件、出力端の負荷容量を５条件としたとき、計算は４×５×５、すなわち１００回行う。この計算により、入力されたネットリストに対する遅延情報が得られ、その結果をデータテーブルとしてファイルに出力する。また、計算手段１０７では第２の配置配線手段１０６で行わなかったタイミング検証の代わりにタイミング検証が行われる。タイミング検証とは、動的タイミング検証と静的タイミング検証とに大きく分けられる。
【００３５】
ここで動的タイミング検証と静的タイミング検証の違いについて説明する。動的タイミング検証とは、実際に回路にテストパターンを入力して計算し、その出力状況から回路の動作に異常がないかを確認し、異常がある場合は、適切な動作になるように修正する検証である。
【００３６】
一方、静的タイミング検証とは、配線接続情報やゲート容量や配線に負荷される寄生容量などの回路情報のみから基準となるクロック信号とデータの遅延関係に異常がないかを確認し、異常がある場合は、適切な遅延関係になるように修正する検証である。なお、本明細書中に記載されているタイミング検証とは、特に断りがなければ、静的タイミング検証のことを指す。同期回路の場合は、順序回路間のクリティカルパスの遅延値を計算して、その遅延値と基準となるクロック信号のタイミング（例えば、クロック信号の周期やクロック信号の遅延などを基にした時間）により検証が可能であるので、静的タイミング検証が可能である。しかしながら、非同期回路の場合は基準となるクロック信号が全ての順序回路に供給されていない場合があるので、順序回路間のクリティカルパスの遅延値を計算して、その遅延値と基準となるクロック信号のタイミングにより検証はできない。したがって、非同期回路には動的なタイミング検証が必要となり、計算手段１０７では、タイミング検証として動的タイミング検証が行われる。なお、計算手段１０７の一部として市販のセルキャラクタライズツールが用いられる。セルキャラクタライズツールとしては、例えばＳＩＬＶＡＣＯ社製のＡｃｃｕＣｅｌｌなどを用いることができる。
【００３７】
第２の置換手段１０８は、計算手段１０７での計算結果をもとに第１の配置配線手段１０３で配置された回路の一部、例えば下位階層の単位回路のいずれかを選択的に第２の配置配線手段１０６で配置された回路に置換する手段である。さらに、第２の置換手段１０８では、置換が完了したレイアウトで再度タイミング検証が行われる。
【００３８】
次に上記設計システムによる機能回路の設計方法について図３を用いて説明する。図３は、本実施の形態における設計システムによる設計方法を示すフローチャートである。
【００３９】
図３に示すように、まず第１のステップ（図３におけるＳ１）として階層化手段１０１により階層化処理が行われる。階層化処理では、ＲＴＬ記述１０９のうち、指定回路情報１１０に記載された特定の単位回路に相当する記述がブロック化され、ブロック化された記述を一つの階層として、ＲＴＬ記述１０９が階層化されたＲＴＬ記述に変換される。
【００４０】
階層化処理後、階層化されたＲＴＬ記述を用いた処理と、下位階層の記述であるブロック化された単位回路を示す記述を用いた処理との２通りの処理が行われる。それぞれの処理について以下に説明する。
【００４１】
階層化されたＲＴＬ記述を用いた処理については、階層化処理の次に第２のステップ（図３におけるＳ２）として、第１の論理合成手段１０２により論理合成処理が行われる。論理合成処理について図４を用いて具体的に説明する。
【００４２】
図４に示すように、まずステップ１（図４におけるＳ２−１）として論理回路が生成される。ここでは入力されたＲＴＬ記述１０９から、ステートマシンの状態コードの割り当て、フリップフロップの割り付け、及び組み合わせ論理の生成などが行われることによりゲートレベルの論理回路が生成される。
【００４３】
次にステップ２（図４におけるＳ２−２）として半導体製造プロセスに依存しない範囲で論理の最適化が行われる。具体的には指定した制約条件を満たすように論理ゲート数（チップ面積）と論理段数（遅延時間）などが調整される。例えば、ａ＋ａ×ｂ＝ａのようなブール代数の性質を用いた冗長論理の削除、ｆ＝（ａ＋ｂ）×（ｃ＋ｄ）のような論理をｆ＝ａ×ｃ＋ａ×ｄ＋ｂ×ｃ＋ｂ×ｄのように展開する論理の展開、またはｆ＝ａ×ｃ＋ａ×ｄ＋ｂ×ｃ＋ｂ×ｄのような論理をｆ＝（ａ＋ｂ）×（ｃ＋ｄ）のようにする論理の多段化などが行われる。なお、ａ、ｂ、ｃ、ｄ、及びｆはそれぞれ集合を表す。
【００４４】
さらにステップ３（図４におけるＳ２−３）として全体の論理機能を変えることなく論理の再構成が必要か否か判断される。論理の再構成とは、機能は同じだが構成の異なる論理へ置き換えることをいい、基準となるクロック信号とデータの遅延関係を表すパラメータを所定の値に収束させるためや、回路規模縮小のために行われる。必要であると判断された場合には、ステップ５（図４におけるＳ２−５）として論理の再構成が行われる。
【００４５】
最後に、ステップ４（図４におけるＳ２−４）として準備した半導体製造技術のライブラリのセルへのマッピングが行われる。すなわち、論理（ゲート）や順序回路が、準備した半導体製造技術のライブラリのマクロセルに置き換わる。以上の工程をもってゲートレベルのネットリストが生成される。なお、論理合成処理において階層化手段１０１により階層化されたＲＴＬ記述は階層を有したまま保持される。以上が論理合成処理である。
【００４６】
次に第３のステップ（図３におけるＳ３）として、第１の配置配線手段１０３により第１の配置配線処理が行われる。第１の配置配線処理について図５を用いて具体的に説明する。図５は本実施の形態における第１の配線処理を示すフローチャート図である。
【００４７】
図５に示すように、まずステップ１（図５におけるＳ３−１）として第１の論理合成手段１０２により生成されたゲートレベルのネットリスト、並びにチップ面積及び遅延時間などの制約条件や半導体製造技術のライブラリのセルなどを用いてレイアウトが作成され、ゲートレベルのネットリストが生成される。
【００４８】
次にステップ２（図５におけるＳ３−２）として、配線接続情報やゲート容量や配線に負荷される寄生容量などの回路データが第２の置換手段１０８に出力される。
【００４９】
次にステップ３（図５におけるＳ３−３）としてタイミング検証が行われ、ステップ４（図５におけるＳ３−４）として機能回路を構成するそれぞれの回路のセットアップ時間やホールド時間などのタイミング情報が第２の置換手段１０８に出力される。なお、第１の配置配線処理におけるタイミング検証は、従来のタイミング検証だけではなく、例えば下位階層の記述に相当する単位回路を構成する順序回路の素子間に加え、単位回路を１つの組み合わせ回路と見なしたタイミング検証も同時に行われ、単位回路における入出力端子のタイミング情報も第２の置換手段１０８に出力される。なお、タイミング情報は以下のように出力される。
【００５０】
まず生成されたネットリストを用いて各素子（論理ゲートまたはトランジスタ）の遅延時間情報と配線遅延時間情報をもとに対象回路に相当するグラフが作成される。そして、このグラフから最大遅延時間のパスや最小遅延時間のパスなどが抽出され、併せて当該パスの最大遅延時間や最小遅延時間からタイミング情報が生成される。ここでのグラフとはグラフ理論のグラフをいい、各素子（論理ゲートまたはトランジスタ）のつながり方に着目して抽象化された点とそれを結ぶ線を概念化したものをいう。
【００５１】
以上が第１の配置配線処理である。なお、第１の配置配線処理において、階層化手段による階層化は維持される。また、下位階層の単位回路内の素子同士は、できるだけ近い位置に配置されることが好ましい。
【００５２】
一方、階層化されたＲＴＬ記述のうち、下位階層の記述であるブロック化された単位回路を示す記述を用いる処理については、階層化処理の次に第２のステップ（図３におけるＳ４）として第１の置換処理が行われる。第１の置換処理について以下に説明する。
【００５３】
第１の置換処理では、ブロック化された単位回路を示す記述が、別途作成された非同期の単位回路を示す記述に置換される。このとき別途作成された非同期の単位回路を示す記述と、置換されるブロック化された単位回路を示す記述は同一機能を表す。なお、非同期の単位回路を示す記述は、第１の置換処理時に作成することもでき、また階層化処理の際に用いられる指定回路情報１１０に予め記載しておき、第１の置換処理時に用いることもできる。以上が第１の置換処理である。
【００５４】
次に第３のステップ（図３におけるＳ５）として第２の論理合成手段１０５により非同期の単位回路を示す記述の論理合成処理が行われ、ゲートレベルのネットリストが生成される。論理合成処理の具体的な説明については、上記第２のステップＳ２における論理合成処理と同じであるため、第２のステップＳ２における論理合成処理の説明を援用する。
【００５５】
次に第４のステップ（図３におけるＳ６）として第２の配置配線手段１０６により第２の配置配線処理が行われる。第２の配置配線処理について図６を用いて具体的に説明する。図６は、本実施の形態における第２の配置配線処理を示すフローチャートである。
【００５６】
図６に示すように、まずステップ１（図６におけるＳ６−１）として第２の論理合成手段１０５により生成されたネットリスト、チップ面積、遅延時間などの制約条件、及び半導体製造技術のライブラリのセルなどを用いてレイアウトが作成され、ゲートレベルのネットリストが生成される。
【００５７】
次にステップ２（図６におけるＳ６−２）として、配線接続情報やゲート容量や配線に負荷される寄生容量などの回路データが計算手段１０７に出力される。以上が第２の配置配線処理である。
【００５８】
次に第５のステップ（図３におけるＳ７）として、計算手段１０７により計算処理が行われる。計算処理では、第２の配置配線手段１０６から入力された配線接続情報やゲート容量や配線に負荷される寄生容量などの回路情報と第２の配置配線手段１０６から入力されたネットリストを使用して計算が行われる。この計算により、入力されたネットリストに対する遅延情報が得られ、その結果がデータテーブルとしてファイルに出力される。さらに計算手段１０７ではタイミング検証が行われる。
【００５９】
第１の配置配線処理及び計算処理が終了したら次のステップ（図３におけるＳ８）として第２の置換手段１０８により第２の置換処理が行われる。第２の置換処理について図７を用いて具体的に説明する。図７は本実施の形態における第２の置換手段を示すフローチャートである。
【００６０】
図７に示すように、まずステップ１（図７におけるＳ８−１）として、計算手段１０７で得られた出力遅延情報と、第１の配置配線手段１０３から入力された下位階層の単位回路の入出力端子のタイミング情報をもとに第１の配置配線手段１０３で配置された下位階層の記述に対応する回路いずれかが選択的に第２の配置配線手段１０６で配置された非同期の単位回路を示す記述に対応する回路にレイアウト上で置換される。
【００６１】
次にステップ２（図７におけるＳ８−２）として置換が完了したレイアウトで再度タイミング検証を行う。さらにステップ３（図７におけるＳ８−３）としてセットアップ時間やホールド時間などが所望のタイミング仕様に合致しているかどうかを調べ、合致しているようなら設計完了となる。なお、タイミング仕様は、タイミング検証の合否判定に使われる値になる。また、合致していない場合は、ステップ４（図７におけるＳ８−４）として適切に修正される。以上が第２の置換処理である。
【００６２】
上記のように、本発明の一態様である機能回路の設計システムでは、配置配線後に選択的に同期回路が自動的に非同期化されるため、タイミング検証をパスできない場合でも修正が容易であり、設計時間のロスを抑え、設計効率の低下を抑えることができる。また、同期回路を選択的に非同期化するという簡易な方法で回路規模が小さく、また消費電力の小さい機能回路を設計することができる。
【００６３】
（実施の形態２）
本実施の形態では、本発明の一態様である機能回路の設計システムまたは機能回路の設計方法により設計可能な回路を備えたデバイスの例として、半導体装置について説明する。
【００６４】
本実施の形態における半導体装置の構成について図８を用いて説明する。図８は、本実施の形態における半導体装置の構成を示すブロック図である。
【００６５】
図８に示すように、半導体装置５００は、ＲＦ回路５０１、クロック信号生成回路５０２、ロジック回路５０３、及びアンテナ部５１８におけるアンテナ５１７により構成されている。なお、図８には示していないが、半導体装置５００は、無線通信装置（リーダライタ、または質問器など、無線により通信が可能なもの）などの外部の回路とアンテナ５１７を介して無線信号の送受信を行っている。なお、データの伝送形式は、一対のコイルを対向配置して相互誘導によって交信を行う電磁結合方式、誘導電磁界によって交信する電磁誘導方式、電波を利用して交信する電波方式の３つに大別され、本実施の形態ではいずれの方式でも適用することができる。
【００６６】
次に各回路の構成について説明する。ＲＦ回路５０１は電源回路５０４と、復調回路５０５と、変調回路５０６と、を有する。また、クロック信号生成回路５０２は、分周回路５０７と、カウンター回路５０９と、基準クロック信号生成回路５１９と、を有する。また、ロジック回路５０３は、演算処理を行う機能を有し、コントローラ５１３と、ＣＰＵ（中央演算回路ともいう）５１０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５１２と、を有する。
【００６７】
また、コントローラ５１３は、ＣＰＵインターフェース５１４と、ＲＦインターフェース５１５と、メモリコントローラ５１６と、を有する。
【００６８】
また、ＲＦ回路５０１において、電源回路５０４は、整流回路と、保持容量と、を有し、受信した信号から電源電圧を生成し、その他の回路に供給する機能を有する。また復調回路５０５は、整流回路と、ＬＰＦ（ローパスフィルタ）と、を有し、通信信号からコマンドやデータを抽出する機能を有する。変調回路５０６は、送信データを変調する機能を有し、変調されたデータは、アンテナ５１７から送信信号として送信される。
【００６９】
次に本実施の形態における半導体装置の動作について説明する。まず、外部の通信装置から送信された信号が半導体装置で受信される。半導体装置に入力された受信信号は、復調回路５０５で復調された後、コントローラ５１３におけるＲＦインターフェース５１５に出力される。ＲＦインターフェース５１５に入力された受信信号は、ＣＰＵインターフェース５１４を介してＣＰＵ５１０で演算処理される。また、ＲＦインターフェース５１５に入力された受信信号により、メモリコントローラ５１６を介してＲＯＭ５１１、ＲＡＭ５１２に対するアクセスが行われる。
【００７０】
そして、ＣＰＵ５１０による演算処理、ＲＯＭ５１１、ＲＡＭ５１２におけるデータの入出力後に送信データが生成され、送信データは、信号として変調回路５０６で変調され、アンテナ５１７から外部の通信装置に送信される。
【００７１】
本発明の一態様である機能回路の設計システムまたは機能回路の設計方法は、上記半導体装置のロジック回路などの設計に好適である。本発明の一態様である機能回路の設計システムまたは機能回路の設計方法を用いることにより回路規模が小さく、消費電力の低いロジック回路を設計することができる。
【００７２】
さらに上記半導体装置は、様々な用途で使用される。上記半導体装置の使用例について図９を用いて説明する。図９は半導体装置の使用例を示す模式図である。
【００７３】
図９に示すように、半導体装置の用途は広範囲にわたるが、例えば、紙幣、硬貨、有価証券類、無記名債券類、証書類（運転免許証や住民票など、図９（Ａ）参照）、包装用容器類（包装紙やボトルなど、図９（Ｃ）参照）、記録媒体（ＤＶＤソフトやビデオテープなど、図９（Ｂ）参照）、乗り物類（自転車など、図９（Ｄ）参照）、身の回り品（鞄や眼鏡など）、食品類、植物類、動物類、人体、衣類、生活用品類、または電子機器（液晶表示装置、ＥＬ表示装置、テレビジョン装置、または携帯電話）などの物品、若しくは各物品に取り付ける荷札（図９（Ｅ）、図９（Ｆ）参照）などに設けて使用することができる。
【００７４】
半導体装置６００は、プリント基板に実装、表面に貼る、または埋め込むことにより、物品に固定される。例えば、本であれば紙に埋め込む、または有機樹脂からなるパッケージであれば当該有機樹脂に埋め込み、各物品に固定される。半導体装置６００は、小型、薄型、軽量を実現するため、物品に固定した後もその物品自体のデザイン性を損なうことがない。また、紙幣、硬貨、有価証券類、無記名債券類、または証書類などに半導体装置６００を設けることにより、認証機能を設けることができ、この認証機能を活用すれば、偽造を防止することができる。また、包装用容器類、記録媒体、身の回り品、食品類、衣類、生活用品類、または電子機器などに半導体装置を取り付けることにより、検品システムなどのシステムの効率化を図ることができる。また、乗り物類であっても、半導体装置を取り付けることにより、盗難などに対するセキュリティ性を高めることができる。
【００７５】
以上のように、本発明の一態様により設計した回路を備えた半導体装置は、消費電力を少なくでき、また回路面積を小さくできるため、上記のような硬貨などの小型のものから、電子機器などの大型のものまで、大きさに限定されずに各用途に用いることができる。また、各用途に用いることにより、情報のやりとりに用いられるデータを正確の値のまま維持することができるため、物品の認証性、またはセキュリティ性の信頼性を高めることができる。
【００７６】
なお、本実施の形態は、他の実施の形態と適宜組み合わせることができる。
【００７７】
（実施の形態３）
本実施の形態では、本発明の一態様である機能回路の設計システムまたは機能回路の設計方法により設計可能な回路を備えたデバイスの一例として、表示装置について説明する。
【００７８】
まず本実施の形態における表示装置の構成について図１０を用いて説明する。図１０は、本実施の形態における表示装置の構成を示すブロック図である。
【００７９】
図１０に示すように、本実施の形態における表示装置は、画素部７０１と、走査線駆動回路７０２と、信号線駆動回路７０３と、を有する。
【００８０】
画素部７０１は、複数の画素７０４を有し、複数の画素７０４が行列方向に複数存在する、いわゆるドットマトリクス構造である。それぞれの画素は走査線（図示せず）を介して走査線駆動回路７０２に電気的に接続され、信号線（図示せず）を介して信号線駆動回路７０３に電気的に接続される。
【００８１】
走査線駆動回路７０２は、データを書き込む画素７０４を選択する回路であり、走査線を介して選択信号を画素に出力する。
【００８２】
信号線駆動回路７０３は、画素７０４に書き込むデータを信号として出力する回路であり、信号線を介して走査線駆動回路７０２により選択された画素７０４にデータ信号を出力する。
【００８３】
次に本実施の形態における表示装置の走査線駆動回路及び信号線駆動回路の構成の一例について説明する。
【００８４】
まず走査線駆動回路の構成の一例について図１１（Ａ）を用いて説明する。図１１（Ａ）は、本実施の形態のおける表示装置の走査線駆動回路の構成の一例を示すブロック図である。
【００８５】
図１１（Ａ）に示すように図１０における走査線駆動回路７０２は、シフトレジスタ８００、レベルシフタ８０１、バッファ８０２と、を有する。
【００８６】
シフトレジスタ８００にはゲートスタートパルス（ＧＳＰ）、ゲートクロック信号（ＧＣＫ）などの信号が入力される。
【００８７】
次に信号線駆動回路の構成の一例について図１１（Ｂ）を用いて説明する。図１１（Ｂ）は本実施の形態における表示装置の信号線駆動回路の構成の一例を示す断面図である。
【００８８】
図１１（Ｂ）に示すように図１０における信号線駆動回路７０３は、シフトレジスタ８０３、第１のラッチ回路８０４、第２のラッチ回路８０５、レベルシフタ８０６、バッファ８０７と、を有する。
【００８９】
バッファ８０７は、信号を増幅させる機能を有し、オペアンプなどを有する。シフトレジスタ８０３には、スタートパルス（ＳＳＰ）などの信号が入力され、第１のラッチ回路８０４にはビデオ信号などのデータ（ＤＡＴＡ）が入力される。第２のラッチ回路８０５にはラッチ（ＬＡＴ）信号を一時保持することができ、保持されたラッチ信号を一斉に図１０における画素部７０１に出力させる。これを線順次駆動と呼ぶ。そのため、線順次駆動ではなく、点順次駆動を行う画素であれば、第２のラッチ回路８０５は不要とすることができる。
【００９０】
本発明の一態様は、上記シフトレジスタ８００などの設計に好適である。本発明の一態様を用いることにより設計が容易になる。
【００９１】
また、上記表示装置は様々な電子機器の表示部に用いることができる。上記表示装置を搭載した電子機器の具体例について図１２を用いて説明する。図１２は、本実施の形態における電子機器の構成を示す図である。
【００９２】
図１２（Ａ）はディスプレイ装置であり、筐体９０１、支持台９０２、表示部９０３、スピーカー部９０４、ビデオ入力端子９０５などを含む。上記表示装置は、表示部９０３に用いることができる。なお、ディスプレイ装置は、パーソナルコンピュータ用、ＴＶ放送受信用、広告表示用などの全てのディスプレイ装置が含まれる。
【００９３】
図１２（Ｂ）はデジタルスチルカメラであり、本体９１１、表示部９１２、受像部９１３、操作キー９１４、外部接続ポート９１５、シャッターボタン９１６などを含む。上記表示装置は、表示部９１２に用いることができる。
【００９４】
図１２（Ｃ）はノート型パーソナルコンピュータであり、本体９２１、筐体９２２、表示部９２３、キーボード９２４、外部接続ポート９２５、ポインティングデバイス９２６などを含む。上記表示装置は、表示部９２３に用いることができる。
【００９５】
図１２（Ｄ）はモバイルコンピュータであり、本体９３１、表示部９３２、スイッチ９３３、操作キー９３４、赤外線ポート９３５などを含む。上記表示装置は、表示部９３２に用いることができる。
【００９６】
図１２（Ｅ）は記録媒体を備えた携帯型の画像再生装置（具体的にはＤＶＤ再生装置）であり、本体９４１、筐体９４２、表示部Ａ９４３、表示部Ｂ９４４、記録媒体（ＤＶＤなど）読込部９４５、操作キー９４６、スピーカー部９４７などを含む。表示部Ａ９４３は主として画像情報を表示し、表示部Ｂ９４４は主として文字情報を表示するが、上記表示装置は、これら表示部Ａ９４３、表示部Ｂ９４４に用いることができる。なお、記録媒体を備えた画像再生装置には家庭用ゲーム機器なども含まれる。
【００９７】
図１２（Ｆ）はゴーグル型ディスプレイ（ヘッドマウントディスプレイ）であり、本体９５１、表示部９５２、アーム部９５３を含む。上記表示装置は、表示部９５２に用いることができる。
【００９８】
図１２（Ｇ）はビデオカメラであり、本体９６１、表示部９６２、筐体９６３、外部接続ポート９６４、リモコン受信部９６５、受像部９６６、バッテリー９６７、音声入力部９６８、操作キー９６９、及び接眼部９７０などを含む。上記表示装置は、表示部９６２に用いることができる。
【００９９】
図１２（Ｈ）は携帯電話であり、本体９７１、筐体９７２、表示部９７３、音声入力部９７４、音声出力部９７５、操作キー９７６、外部接続ポート９７７、アンテナ９７８などを含む。上記表示装置は、表示部９７３に用いることができる。なお、表示部９７３は黒色の背景に白色の文字を表示することにより携帯電話の消費電流を抑えることができる。
【０１００】
以上のように、上記表示装置は、上記のような様々な電子機器の表示部として適用することができる。本発明の一態様により設計した回路を備えた表示装置を表示部として用いることにより、回路面積が小さく、消費電力の小さい電子機器を提供することができる。
【０１０１】
なお、本実施の形態は、他の実施の形態と適宜組み合わせることができる。
【実施例１】
【０１０２】
本実施例では、本発明の一態様である機能回路の設計システムを用いた、カウンター回路を備えた機能回路の設計について説明する。
【０１０３】
本実施例におけるカウンター回路を備えた機能回路設計について説明する。なお説明には、図３乃至図７の説明を適宜援用する。
【０１０４】
まず階層化手段１０１を実行し、ＲＴＬ記述１０９及び指定回路情報１１０を用いて階層化処理を行う。このときＲＴＬ記述１０９は、第１の同期式２ｂｉｔカウンター回路を示す記述と、第２の同期式２ｂｉｔカウンター回路を示す記述と、その他同期式単位回路を示す記述と、を有し、指定回路情報１１０を同期式２ｂｉｔカウンター回路が選択される記載にする。階層化処理により、ＲＴＬ記述１０９は第１の同期式２ｂｉｔカウンター回路を示す記述と、第２の同期式２ｂｉｔカウンター回路を示す記述と、その他の同期式単位回路を示す記述とがブロック化され、ブロック化された第１の同期式２ｂｉｔカウンター回路を示す記述、ブロック化された第２の同期式２ｂｉｔカウンター回路を示す記述、及びブロック化されたその他の同期式単位回路を示す記述を一つの階層の記述としてＲＴＬ記述１０９が階層化されたＲＴＬ記述に変換される。なお、階層化されたＲＴＬ記述は、階層化される前のＲＴＬ記述１０９と階層の有無のみ異なり、同一の回路機能を表現している。なお、階層化には第１の同期式２ｂｉｔカウンター回路を示す記述及び第２の同期式２ｂｉｔカウンター回路を示す記述により示される下位階層の回路と上位階層の回路とのピン情報が必要になるが、ここではＲＴＬ記述１０９に指定回路情報１１０に該当する記述があるか検索するときに該ピン情報を取得する。
【０１０５】
次に階層化されたＲＴＬ記述と、チップ面積、遅延時間などの制約条件と、半導体製造技術のライブラリのセルなどを用いて第１の論理合成手段１０２を実行し、第１の論理合成処理を行う。第１の論理合成処理により、ＲＴＬ記述１０９と機能的に等価なゲートレベルのネットリストが生成され、第１の配置配線手段１０３に出力される。なお、出力されたネットリストでは、第１の同期式２ｂｉｔカウンター回路を示す記述と、第２の同期式２ｂｉｔカウンター回路を示す記述とが下位階層として存在し、階層構造が維持される。
【０１０６】
次に第１の論理合成手段１０２から入力されたネットリストと、チップ面積、遅延時間などの制約条件、及び半導体製造技術のライブラリのセルなどを用いて第１の配置配線手段１０３を実行し、第１の配置配線処理を行う。このとき第１の配置配線処理により、第１の同期式２ｂｉｔカウンター回路を構成する素子同士がレイアウト上でできる限り近くの位置になるように配置されることが好ましい。また、同様に、第２の同期式２ｂｉｔカウンター回路を構成する素子同士も、レイアウト上でできる限り近くの位置になるように配置されることが好ましい。その状態でレイアウトが作成され、さらにゲートレベルのネットリストが生成され、生成されたネットリストが第２の置換手段１０８に出力される。また、配線接続情報やゲート容量や配線に負荷される寄生容量などの回路情報や、下位階層における各単位回路の入出力端子のタイミング情報も第２の置換手段１０８に出力される。また、下位階層における各単位回路の入出力端子のタイミング情報には、下位階層における各単位回路の遅延状態と、下位階層における各単位回路の入出力端子に負荷されているゲート容量や配線に負荷される寄生容量などが記載されている。
【０１０７】
このとき本実施例では、下位階層における各単位回路の入出力端子のタイミング情報において、第１の同期式２ｂｉｔカウンター回路の入力端子に接続される前段の順序回路と、第１の同期式２ｂｉｔカウンター回路の出力端子に接続される後段の順序回路との間に所定の値のタイミングマージンがあるとする。所定の値のタイミングマージンがあるとは、前段の順序回路と後段の順序回路のクロック周期に対して、前段の順序回路から後段の順序回路へと接続されるデータ線の遅延が第２の置換処理において非同期回路に置換可能な範囲内にあることをいう。また、このとき下位階層における各単位回路の入出力端子のタイミング情報において、第２の同期式２ｂｉｔカウンター回路の入力端子に接続される前段の順序回路と、第２の同期式２ｂｉｔカウンター回路の出力端子に接続される後段の順序回路との間に所定の値のタイミングマージンはないとする。
【０１０８】
また、第１の配置配線手段１０３により出力された下位階層における各単位回路の入出力端子のタイミング情報に含まれる、下位階層における各単位回路の入出力端子に負荷されているゲート容量や配線に負荷される寄生容量などの出力遅延情報において、第１の同期式２ｂｉｔカウンター回路に該当する箇所では遅延値が一定の範囲内の値であり、第２の同期式２ｂｉｔカウンター回路に該当する箇所では遅延値が一定の範囲外の値とする。
【０１０９】
次に階層化処理後、ブロック化された１の同期式２ｂｉｔカウンター回路を示す記述、第２の同期式２ｂｉｔカウンター回路を示す記述、及びその他の同期式機能回路を示す記述を用いて第１の置換手段１０４を実行し、第１の置換処理を行う。第１の置換処理により、第１の同期式２ｂｉｔカウンター回路の記述と、第２の同期式２ｂｉｔカウンター回路の記述とが非同期式２ｂｉｔカウンター回路の記述に置換され、ファイルに出力される。
【０１１０】
次に第１の置換手段１０４で作成されたファイルと、チップ面積、遅延時間などの制約条件と、半導体製造技術のライブラリのセルなどを用いて第２の論理合成手段１０５を実行し、第２の論理合成処理を行う。第２の論理合成処理により、ゲートレベルのネットリストが生成され、生成されたネットリストが第２の配置配線手段１０６に出力される。
【０１１１】
次に第２の論理合成手段１０５から入力されたネットリストと、チップ面積、遅延時間などの制約条件、及び半導体製造技術のライブラリのセルなどを用いて第２の配置配線手段１０６を実行し、第２の配置配線処理を行う。第２の配置配線処理により、レイアウトが作成され、さらにゲートレベルのネットリストが生成され、生成されたネットリストが計算手段１０７に出力される。また、配線接続情報やゲート容量や配線に負荷される寄生容量などの回路情報も計算手段１０７に出力される。
【０１１２】
次に第２の配置配線手段１０６より出力された回路情報と、第２の配置配線手段１０６から入力されたネットリストとを使用してｓｐｉｃｅなどの回路シミュレーターで計算手段１０７を実行し、計算処理を行う。計算処理により、入力されたネットリストに対する出力遅延情報が得られ、その結果がデータテーブルとしてファイルに出力される。
【０１１３】
次に、第２の置換手段１０８を実行し、第２の置換処理を行う。第２の置換処理により計算手段１０７から入力されたファイルをもとに、第１の配置配線手段１０３で配置された回路のいずれかが選択的に第２の配置配線手段１０６で配置された非同期回路にレイアウト上で置換される。本実施例では、第１の同期式２ｂｉｔカウンター回路に該当する箇所では、第１の配置配線手段１０３から入力された第１の同期式２ｂｉｔカウンター回路の遅延状態と比べ、遅延値が小さくなっているため、第１の同期式２ｂｉｔカウンター回路が非同期式の２ｂｉｔカウンター回路に置換される。一方、第２の同期式２ｂｉｔカウンター回路に該当する箇所では、第１の配置配線手段１０３から入力された第２の同期式２ｂｉｔカウンター回路の遅延状態と比べ、遅延値が大きくなっているため、第２の同期式２ｂｉｔカウンター回路は非同期式２ｂｉｔカウンター回路に置換されない。
【０１１４】
さらに置換が完了したレイアウトで再度タイミング検証を行い、セットアップ時間やホールド時間などが所望のタイミング仕様に合致しているかどうかを調べ、合致しているようなら設計完了となる。
【０１１５】
さらに第２の置換処理後のカウンター回路の構成について図１３を用いて説明する。図１３はカウンター回路の構成を示す上面図である。なお図１３では、便宜のため、順序回路間の組み合わせ回路は省略する。
【０１１６】
図１３（Ａ）は同期式２ｂｉｔカウンター回路を示している。同期式カウンター回路１００１は、順序回路ＦＦ１及び順序回路ＦＦ２により構成され、順序回路ＦＦ２は、入力端子Ｄ２が配線を介して順序回路ＦＦ１の出力端子Ｑ１に電気的に接続され、クロック信号入力端子ＣＬＫ２が配線を介して順序回路ＦＦ１のクロック信号入力端子ＣＬＫ１に電気的に接続され、リセット信号入力端子ＸＲ２が配線を介して順序回路ＦＦ１のリセット信号入力端子ＸＲ１に電気的に接続される。
【０１１７】
図１３（Ｂ）は第２の置換処理後のカウンター回路を示している。カウンター回路１００２は、順序回路ＦＦ１及び順序回路ＦＦ２に構成され、順序回路ＦＦ２は、入力端子Ｄ２が順序回路ＦＦ１の出力端子Ｑ１に配線を介して電気的に接続され、クロック信号入力端子ＣＬＫ２が順序回路ＦＦ１の出力端子Ｄ１に配線を介して電気的に接続され、リセット信号入力端子ＸＲ２が順序回路ＦＦ１のリセット信号入力端子ＸＲ１に配線を介して電気的に接続される。
【０１１８】
上記のように図１３（Ａ）に示す同期式２ｂｉｔカウンター回路は、第２の置換処理により図１３（Ｂ）に示す２ｂｉｔカウンター回路に置換される。さらに図１３（Ｂ）に示す２ｂｉｔカウンター回路は非同期式カウンター回路である。
【０１１９】
上記のように、本発明の一態様である機能回路の設計システムを用いて非同期式カウンター回路を備えた機能回路を設計することができる。
【符号の説明】
【０１２０】
１０１    階層化手段
１０２    第１の論理合成手段
１０３    第１の配置配線手段
１０４    第１の置換手段
１０５    第２の論理合成手段
１０６    第２の配置配線手段
１０７    計算手段
１０８    第２の置換手段
１０９    ＲＴＬ記述
１１０    指定回路情報
【図１】
2010102700.tif 000003
【図２】
2010102700.tif 000004
【図３】
2010102700.tif 000005
【図４】
2010102700.tif 000006
【図５】
2010102700.tif 000007
【図６】
2010102700.tif 000008
【図７】
2010102700.tif 000009
【図８】
2010102700.tif 000010
【図９】
2010102700.tif 000011
【図１０】
2010102700.tif 000012
【図１１】
2010102700.tif 000013
【図１２】
2010102700.tif 000014
【図１３】
2010102700.tif 000015
【図１４】
2010102700.tif 000016
【図１５】
2010102700.tif 000017