JP6089728B2 - 半導体装置の設計方法、プログラム及び設計装置 - Google Patents

半導体装置の設計方法、プログラム及び設計装置 Download PDF

Info

Publication number
JP6089728B2
JP6089728B2 JP2013015030A JP2013015030A JP6089728B2 JP 6089728 B2 JP6089728 B2 JP 6089728B2 JP 2013015030 A JP2013015030 A JP 2013015030A JP 2013015030 A JP2013015030 A JP 2013015030A JP 6089728 B2 JP6089728 B2 JP 6089728B2
Authority
JP
Japan
Prior art keywords
amount
jitter
back bias
clock
noise
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.)
Expired - Fee Related
Application number
JP2013015030A
Other languages
English (en)
Other versions
JP2014146220A (ja
JP2014146220A5 (ja
Inventor
宏昇 浅野
宏昇 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Priority to JP2013015030A priority Critical patent/JP6089728B2/ja
Priority to US14/132,428 priority patent/US9032351B2/en
Priority to KR1020130168641A priority patent/KR101577876B1/ko
Publication of JP2014146220A publication Critical patent/JP2014146220A/ja
Publication of JP2014146220A5 publication Critical patent/JP2014146220A5/ja
Application granted granted Critical
Publication of JP6089728B2 publication Critical patent/JP6089728B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/10Noise analysis or noise optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、半導体装置の設計方法、プログラム及び設計装置に関する。
SoC(System-on-a-Chip)は、様々な信号処理を1チップで行う。そのため、SoCは、たとえば、高速インタフェースI/O(Input/Output)、ADC(Analog to Digital Converter)/DAC(Digital to Analog Converter)など、様々なIP(Intellectual Property)マクロを有する。IPマクロを動作させる入力クロックの供給元として、PLL(Phase Locked Loop)が使用されるが、PLLから各IPマクロへのクロック配線は複雑となっており、それに伴い消費電力も増加している。
近年、低電圧で動作するDDC(Deeply Depleted Channel)トランジスタが注目されている。DDCトランジスタは、たとえば、チャージポンプ回路によりバックバイアスの制御が行われることで、リーク電流を抑えつつ低電圧動作が可能となる。
特開2006−277557号公報 特開2008−118098号公報
ところで、各IPマクロの入力クロックには、許容できるジッタの制約があり、この制約を満たすようにクロック経路が設けられる。しかしながら、クロック経路のクロックバッファに含まれるDDCトランジスタのバックバイアスの制御ノイズにより、ジッタ量が増加し、許容できるジッタの制約を満たさなくなってしまうことが懸念される。
発明の一観点によれば、回路部と、前記回路部にクロックを入力するクロック経路と、少なくとも前記クロック経路に含まれるトランジスタのバックバイアスを制御するバックバイアス制御部とを含む半導体装置の設計方法であって、前記トランジスタのバックバイアスを制御するバックバイアス制御部からの距離と、前記バックバイアス制御部から出力される制御信号のノイズ量との関係を求め、前記バックバイアス制御部からの距離と前記ノイズ量との関係に基づいて、前記回路部に接続されるクロック経路での、前記ノイズ量によるジッタの増加量を求め、前記ジッタの増加量と、前記回路部におけるジッタの許容値に基づき、前記回路部と前記クロック経路を配置する、半導体装置の設計方法が提供される。
また、発明の一観点によれば、回路部と、前記回路部にクロックを入力するクロック経路と、少なくとも前記クロック経路に含まれるトランジスタのバックバイアスを制御するバックバイアス制御部とを含む半導体装置の設計処理であって、前記トランジスタのバックバイアスを制御するバックバイアス制御部からの距離と、前記バックバイアス制御部から出力される制御信号のノイズ量との関係を求め、前記バックバイアス制御部と前記ノイズ量との関係に基づいて、前記回路部に接続されるクロック経路での、前記ノイズ量によるジッタの増加量を求め、前記ジッタの増加量と、前記回路部におけるジッタの許容値に基づき、前記回路部と前記クロック経路を配置する、処理をコンピュータに実行させるプログラムが提供される。
また、発明の一観点によれば、回路部と、前記回路部にクロックを入力するクロック経路と、少なくとも前記クロック経路に含まれるトランジスタのバックバイアスを制御するバックバイアス制御部とを含む半導体装置の設計処理を行う演算処理部を有し、前記演算処理部は、チップ内のトランジスタのバックバイアスを制御するバックバイアス制御部からの距離と、前記バックバイアス制御部から出力される制御信号のノイズ量との関係を求め、前記バックバイアス制御部と前記ノイズ量との関係に基づいて、前記回路部に接続されるクロック経路での、前記ノイズ量によるジッタの増加量を求め、前記ジッタの増加量と、前記回路部におけるジッタの許容値に基づき、前記回路部と前記クロック経路を配置する、設計装置が提供される。
開示の半導体装置の設計方法、プログラム及び設計装置によれば、ジッタ制約違反の発生を抑制できる。
第1の実施の形態の半導体装置の設計方法の一例を説明する図である。 第1の実施の形態の半導体装置の設計方法を実行する設計装置の一例を示す図である。 本実施の形態の半導体装置の設計方法を実行する設計装置(コンピュータ)のハードウェア例を示す図である。 第2の実施の形態の半導体装置の設計方法の一例の流れを示すフローチャートである。 ステップS10の処理の一例を説明する図である。 バックバイアスVbbの変動量のシミュレーション結果の一例を示す図である。 IPマクロの配置例を示す図である。 クロックバッファに供給するノイズを含むバックバイアスの例を示す図である。 クロックバッファの段数を変化させる例を説明する図である。 ジッタ解析処理のシミュレーション結果の一例を示す図である。 IPマクロの種類ごとのジッタ許容値の一例を示す図である。 入力許容ジッタの算出結果を示すテーブル例を示す図である。 PLLの一例を示す図である。 判定結果がOKになるように最適化されたチップ内の配置例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の半導体装置の設計方法の一例を説明する図である。
また、図2は、第1の実施の形態の半導体装置の設計方法を実行する設計装置の一例を示す図である。
設計装置10は、演算処理部11、記憶部12を有する。演算処理部11は、記憶部12に格納されているプログラムやデータをもとに、図1に示すような半導体装置(たとえば、SoC)の設計方法を実行する。演算処理部11は、たとえば、後述するようなプロセッサである。
まず、チップ内のトランジスタ(前述したDDCトランジスタ)のバックバイアスを制御するバックバイアス制御部1からの距離と、バックバイアス制御部1から出力される制御信号のノイズ量との関係が見積もられる(ステップS1)。バックバイアス制御部1から出力される制御信号を、以下バックバイアス制御信号と呼ぶ。なお、バックバイアス制御部1は、チップ内の全てのDDCトランジスタに対してではなく、一部のDDCトランジスタに対してバックバイアス制御信号を供給するものであってもよい。
バックバイアス制御信号のノイズは、バックバイアスの変動量となり、バックバイアス制御部1からの距離が離れるほど小さくなる。図1に示すように、たとえば、距離L1では、ノイズ量(noise)はN1であり、距離L2(>L1)では、noise=N2(<N1)であり、距離L3(>L2)では、noise=N3(<N2)である。ノイズ量の見積もりは、配線抵抗とトランジスタの寄生容量をもとにしたシミュレーションモデルを用いて行われる(詳細は後述する)。
次に、演算処理部11は、所望の機能を実現するための処理を実行する回路部(以下IPマクロという)に接続されるクロック経路での、ステップS1の処理で得られたノイズ量によるジッタの増加量を見積もる(ステップS2)。クロック経路には、バックバイアスが制御されるトランジスタを有するクロックバッファが設けられている。クロックバッファは、クロックの振幅を所定の大きさに保つために設けられる。
ステップS2の処理では、たとえば、上記の距離L1〜L3に対応したノイズ量であるN1〜N3によるジッタの増加量が求められる。このとき、クロック経路による遅延(またはクロックバッファの段数)によるジッタの増加量を含めるようにしてもよい(詳細は後述する)。
そして、演算処理部11は、ジッタの増加量と、IPマクロにおけるジッタの許容値に基づき、IPマクロとクロック経路の配置を行う(ステップS3)。
図1には、バックバイアス制御部1、IPマクロ2、トランジスタTrを有するクロックバッファ3とクロック供給部(たとえば、PLL)4の配置例が示されている。
トランジスタTrは、DDCトランジスタである。DDCトランジスタは、たとえば、3つの領域を有したチャネル構造を有している。3つの領域とは、不純物がほとんど含まれない領域と、閾値を設定するオフセット領域と、電荷を遮蔽するスクリーニング領域である。トランジスタTrでは、バックバイアス制御部1からのバックバイアス制御信号により、閾値が設定される。
図1の例では、バックバイアス制御部1に近い位置(たとえば、距離L1の位置)にクロックバッファ3が配置され、それに応じた位置にIPマクロ2が配置されているときの、トータルのジッタ量がjt1+Δjtaであることが示されている。jt1は、クロック供給部4によるジッタ量、Δjtaは、バックバイアス制御信号のノイズによるクロック経路でのジッタ増加量を示している。なお、クロック供給部4によるジッタ量は、バックバイアス制御部1とクロック供給部4との距離によって変わるが、その点に関しては後述する。
演算処理部11は、図1のようにジッタ量jt1+Δjtaが、IP2マクロのジッタの許容値以上である(または許容値より大きい)場合、ジッタ量が許容値より小さくなる(または許容値以下となる)位置にIPマクロ2とクロックバッファ3を配置する。
図1の例では、バックバイアス制御部1からより離れた位置(たとえば、距離L3の位置)にクロックバッファ3が配置され、それに応じた位置にIPマクロ2が配置されているとき、トータルのジッタ量がjt1+Δjtbとなり、許容値より小さくなっている。
上記の半導体装置の設計方法のように、バックバイアス制御部1からの距離に応じて異なるバックバイアス制御信号のノイズ量を考慮して回路とクロック経路の配置を行うことで、バックバイアス制御信号のノイズに起因したジッタ制約違反の発生を抑制できる。
また、従来の設計方法では、各IPマクロの配置は製品の使用方法によってSoC内の配置が決まっていたが、クロック経路や各IPマクロへの入力クロックのジッタについて検証しておらず、問題が発覚するのは設計後のSoCの実機確認の際となっていた。そのため、問題が発覚した場合、手戻りが大きくなってしまっていたが、本実施の形態の半導体装置の設計方法では、ジッタを考慮しながら回路とクロック経路の配置を行うために、手戻りが少なく、設計期間の増大を抑制できる。
(第2の実施の形態)
以下、半導体装置の設計方法をより詳細に説明する。
図3は、本実施の形態の半導体装置の設計方法を実行する設計装置(コンピュータ)のハードウェア例を示す図である。
コンピュータ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の実施の形態に示した設計装置10(図2参照)も、図3に示したコンピュータ20と同様のハードウェアにより実現することができる。
コンピュータ20は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ20に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、コンピュータ20に実行させるプログラムをHDD23に格納しておくことができる。プロセッサ21は、HDD23内のプログラムの少なくとも一部をRAM22にロードし、プログラムを実行する。またコンピュータ20に実行させるプログラムを、光ディスク26a、メモリ装置27a、メモリカード27cなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ21からの制御により、HDD23にインストールされた後、実行可能となる。またプロセッサ21が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
図4は、第2の実施の形態の半導体装置の設計方法の一例の流れを示すフローチャートである。
以下に示す各ステップは、たとえば、図3に示したコンピュータ20において、プロセッサ21が、HDD23内に格納されている半導体装置の設計プログラムを読み出して実行することによって行われる。
ステップS10,S11の処理では、バックバイアス制御信号のノイズ量の見積もりが行われる。まず、ステップS10の処理では、抵抗容量算出処理が行われる。抵抗容量算出処理では、使用予定のクロックバッファのトランジスタの寄生容量(ウェル容量)と、そのトランジスタとバックバイアス制御信号を生成するチャージポンプとの距離に応じた配線抵抗が算出される。チャージポンプは、図1に示したバックバイアス制御部1の機能を実行する回路であり、図1に示したバックバイアス制御部1の一例である。
図5は、ステップS10の処理の一例を説明する図である。
チップ30内に、チャージポンプ31が配置され、チャージポンプ31からの距離が異なる、抵抗R1,R2,R3と容量C1を有するモデルM1,M2,M3が求められた例が示されている。容量C1は、使用予定のクロックバッファのトランジスタのウェル容量である。トランジスタがpチャネル型である場合には、容量C1は、Nウェルの容量であり、nチャネル型である場合には、容量C1は、Pウェルの容量である。
抵抗R1〜R3は、チャージポンプ31からの距離に応じた配線抵抗であり、R1<R2<R3である。
プロセッサ21は、たとえば、HDD23に格納されている素子情報や配線情報をもとに、上記のような距離に応じた、容量と抵抗を算出し、たとえば、HDD23またはRAM22に格納する。
次のステップS11の処理では、電圧解析処理が行われる。電圧解析処理では、チップ内において、チャージポンプからの距離に応じたバックバイアス制御信号のノイズ量が求められる。
図6は、バックバイアスVbbの変動量のシミュレーション結果の一例を示す図である。図6では、図5に示したモデルM1〜M3を用いたときの、バックバイアスVbbの様子が示されている。横軸は、時間t(ms)であり、縦軸は、バックバイアスVbbの電圧(単位はVまたはmV)である。
バックバイアスVbbは、DDCトランジスタがnチャネル型である場合には、負の電圧となり、DDCトランジスタがpチャネル型である場合には、電源電圧VDDよりも大きい電圧となる。
VNW_M1(単位はV)は、モデルM1において、容量C1をNウェルのウェル容量とした場合の、バックバイアスVbbである。VPW_M1(単位はmV)は、モデルM1において、容量C1をPウェルのウェル容量とした場合の、バックバイアスVbbである。
VNW_M2(単位はV)は、モデルM2において、容量C1をNウェルのウェル容量とした場合の、バックバイアスVbbである。VPW_M2(単位はmV)は、モデルM2において、容量C1をPウェルのウェル容量とした場合の、バックバイアスVbbである。
VNW_M3(単位はV)は、モデルM3において、容量C1をNウェルのウェル容量とした場合の、バックバイアスVbbである。VPW_M3(単位はmV)は、モデルM3において、容量C1をPウェルのウェル容量とした場合の、バックバイアスVbbである。
なお、モデルM1は、チャージポンプ31との距離が0であり、モデルM2は、チャージポンプ31から1.4mm離れており、モデルM3は、チャージポンプ31から5.6mm離れているものとして、抵抗R1〜R3が求められている。なお、容量C1は、チップ30が、7×7mmの大きさであるものとして求められている。
モデルM1において、VNW_M1の変動量n1は、23mV程度であり、VPW_M1の変動量n2は、50mV程度であった。また、モデルM2において、VNW_M2の変動量n3は、8mV程度であり、VPW_M2の変動量n4は、12mV程度であった。また、モデルM3において、VNW_M3の変動量n5は、6mV程度であり、VPW_M3の変動量n6は、8mV程度であった。これらの変動量n1〜n6が、バックバイアス制御信号のノイズ量を表している。
プロセッサ21は、ステップS10の処理で求められたチャージポンプ31からの距離に応じた容量と抵抗の情報をもとに、シミュレーションを実施し、上記のようなチャージポンプ31からの距離とノイズ量との関係を見積もる。そして、プロセッサ21は、求めた情報を、たとえば、HDD23またはRAM22に格納する。
次に、ステップS12のジッタ解析処理が行われ、クロック経路におけるジッタ増加量が見積もられる。ジッタ解析処理では、使用予定のクロックバッファと、ステップS11の処理で求められたチャージポンプ31からの距離とノイズ量の関係の情報をもとに、IPマクロに接続されるクロック経路でのジッタの増加量の見積もりが行われる。
図7は、IPマクロの配置例を示す図である。
チップ40には、チャージポンプ31、PLL42、IPマクロ43,44,45,46が配置されている。なお、チャージポンプ31やPLL42もIPマクロの一つではあるが、本実施の形態の例では、クロック供給部であるPLL42からクロックを受ける回路部をIPマクロと表記している。
IPマクロ43〜46は、高速インタフェースI/O、ADC、DACなどである。IPマクロ43に接続されるクロック経路は、クロックバッファb1,b2,b3を含む。IPマクロ43には、クロックバッファb1〜b3を介してPLL42からクロックが入力される。IPマクロ44に接続されるクロック経路は、クロックバッファb4,b5,b6を含む。IPマクロ44には、クロックバッファb4〜b6を介してPLL42からクロックが入力される。IPマクロ45に接続されるクロック経路は、クロックバッファb7,b8,b9を含む。IPマクロ45には、クロックバッファb7〜b9を介してPLL42からクロックが入力される。IPマクロ46に接続されるクロック経路は、クロックバッファb10,b11,b12を含む。IPマクロ46には、クロックバッファb10〜b12を介してPLL42からクロックが入力される。
プロセッサ21は、ステップS11の処理で求められた、チャージポンプ31からの距離とノイズ量の関係情報から、当該ノイズ量によるクロック経路でのジッタの増加量をシミュレーションで求める。
プロセッサ21は、IPマクロ43に接続されるクロック経路での、ノイズ量によるジッタの増加量を求める際には、たとえば、クロックバッファb1〜b3のうち、チャージポンプ31との距離が最短であるクロックバッファb2と、チャージポンプ31の距離d1を用いる。そして、プロセッサ21は、距離d1でのノイズ量を各クロックバッファb1〜b3内の図示しないトランジスタに適用して、IPマクロ43に接続されるクロック経路でのジッタの増加量を求める。プロセッサ21は、各クロックバッファb1〜b3のチャージポンプ31との距離に応じてジッタの増加量を求めるのではなく、バックバイアス制御信号のノイズ量が最も大きくなる最短の距離d1を用いてジッタの増加量を求めることで、計算量を減らすことができる。
図8は、クロックバッファに供給するノイズを含むバックバイアスの例を示す図である。縦軸はバックバイアスVbbの大きさを示し、横軸は時間tを示している。
プロセッサ21は、ステップS11の処理で求めた情報をもとに、距離d1に応じたノイズ量n(変動量)をもつバックバイアスVbbを生成して、クロックバッファb1〜b3内の図示しないトランジスタに印加する。プロセッサ21は、これによって、増加するジッタ量を求める。
プロセッサ21は、他のIPマクロ44〜46に接続されるクロック経路においても同様の処理を行う。
さらに、プロセッサ21は、クロックバッファの段数を変化させて、それによるジッタ増加量を求める。
図9は、クロックバッファの段数を変化させる例を説明する図である。
直列に接続されたクロックバッファb1,b2,…,bn−1,bnに、チャージポンプ31が接続されている様子が示されている。クロックバッファb1〜bnの数が多いほど、ジッタが増加する。プロセッサ21は、クロックバッファb1〜bnの数を変化させてシミュレーションを行う。
図10は、ジッタ解析処理のシミュレーション結果の一例を示す図である。横軸はクロックバッファによる遅延[ps]、縦軸はジッタ[ps]である。
特性50は、バックバイアスVbbの変動量を60mVとした場合の、クロックバッファによる遅延とジッタの関係を示している。特性51は、バックバイアスVbbの変動量を30mVとした場合の、クロックバッファによる遅延とジッタの関係を示している。特性52は、バックバイアスVbbの変動量を15mVとした場合の、クロックバッファによる遅延とジッタの関係を示している。
図10に示されているように、バックバイアスVbbの変動量が大きいほどジッタが大きくなり、クロックバッファによる遅延が大きいほど(クロックバッファの段数が多いほど)ジッタが大きくなる。クロックバッファによる遅延を考慮してジッタ増加量を求めることで、IPマクロの入力クロックのジッタ量をより正確に見積もることができ、ジッタ制約違反の発生を防げる。
プロセッサ21は、上記処理結果をもとに、チャージポンプとクロックバッファ間の距離(たとえば、図7に示した距離d1)とクロックバッファによる遅延とジッタの関係を、HDD23またはRAM22に格納する。
次に、図4に示したフローチャートにおいて、ステップS13の入力許容ジッタ算出処理が行われる。
本実施の形態では、入力許容ジッタは、各IPマクロにおいて予め決められている入力クロックにおけるジッタの許容値(ジッタ制約)から、PLLから出力されるクロックがIPマクロに到達したときに生じているジッタ量を引いた値を示すものとする。
プロセッサ21は、たとえば、HDD23に記憶してあるPLLの回路情報や、各IPマクロの入力クロックにおけるジッタ許容値と、ステップS11,S12で生成された情報などをもとにシミュレーションを行い、入力許容ジッタを求める。
図11は、IPマクロの種類ごとのジッタ許容値の一例を示す図である。
図11では、IPマクロIP1,IP2,…,IP6におけるジッタ許容値の一例が示されている。図11の例では、IPマクロIP1のジッタ許容値は50ps、IPマクロIP2のジッタ許容値は156ps、IPマクロIP6のジッタ許容値は2000psとなっている。
IPマクロIP1〜IP6の例としては、HDMI(High Definition Multimedia Interface)、USB(Universal Serial Bus)2.0、DAC、DDR3 SDRAM(Double-Data-Rate3 Synchronous Dynamic Random Access Memory)などがある。
図12は、入力許容ジッタの算出結果を示すテーブル例を示す図である。
このようなテーブルは、プロセッサ21によって作成され、たとえば、HDD23またはRAM22に格納される。以下では、前述の図7と、図12を用いて、IPマクロ43における入力許容ジッタを求める例を説明する。
入力許容ジッタは、たとえば、チャージポンプ31とPLL42間の距離と、PLL42とIPマクロ43間の距離ごとに算出される。
チャージポンプ31とPLL42間の距離が長くなるとジッタ量が減るのは、距離が長くなるほど、PLL42に含まれるトランジスタへ供給されるバックバイアス制御信号のノイズ量が小さくなるからである。クロック供給部であるPLL42において、上記ノイズ量に応じて生じるジッタ量を、クロック経路でのジッタ増加量に加えることで、より精度よく、図12に示したような入力クロックのジッタ量を求めることができる。
図13は、PLLの一例を示す図である。
PLL42は、位相比較器60、ループフィルタ61、電圧制御発振器62、分周器63を有する。
入力端子INから入力された基準クロックは、位相比較器60に入力され、分周器63から出力されるフィードバッククロックと位相が比較される。位相比較結果(電圧値)はループフィルタ61を介して電圧制御発振器62に供給され、電圧制御発振器62にて端子OUTから出力されるクロックの発振周波数が制御される。
このようなPLL42において、位相比較器60、ループフィルタ61、電圧制御発振器62、分周器63に含まれる図示しないトランジスタには、チャージポンプ31からのバックバイアス制御信号が供給される。そして、バックバイアス制御信号には、前述したように、チャージポンプ31からの距離に応じた量のノイズが含まれる。
また、図12において、PLL42とIPマクロ43間の距離が長くなるとジッタ量が増えるのは、距離が長くなるほど、クロックバッファb1〜b3の段数が増え、遅延が大きくなるため図10に示したようにジッタが大きくなるからである。なお、ここでは、クロックバッファb1〜b3とチャージポンプ31の距離(図7に示した距離d1)は、ある一定の値として、ジッタ量が算出される。
図12の例では、IPマクロ43のジッタ許容値は200psとなっている。チャージポンプ31とPLL42間距離が2mmで、PLL42とIPマクロ43間の距離が1mmであった場合には、シミュレーションの結果、ジッタ量は100psであったことが示されている。このとき、入力許容ジッタは200ps−100ps=100psとなる。このように、入力許容ジッタが正の値、すなわち、ジッタ量がジッタ許容値よりも小さい場合には、IPマクロ43の入力クロックがジッタ制約を満たす可能性が高いので、プロセッサ21は判定結果をOKとして、図12に示すようなテーブルに書き込む。
また、図12には、チャージポンプ31とPLL42間距離が2mmで、PLL42とIPマクロ43間の距離が2mmであった場合には、シミュレーションの結果、ジッタ量は150psであったことが示されている。このとき、入力許容ジッタは200ps−150ps=50psとなる。入力許容ジッタが正の値であるので、プロセッサ21は判定結果をOKとして、図12に示すようなテーブルに書き込む。
また、図12には、チャージポンプ31とPLL42間距離が1mmで、PLL42とIPマクロ43間の距離が1mmであった場合には、シミュレーションの結果、ジッタ量は200psであったことが示されている。このとき、入力許容ジッタは200ps−200ps=0psとなる。入力許容ジッタが0であるので、シミュレーションで考慮しなかった要因などにより、IPマクロ43の入力クロックがジッタ制約を満たさなくなる可能性がある。そのため、プロセッサ21は判定結果をエラーとして、図12に示すようなテーブルに書き込む。
また、図12には、チャージポンプ31とPLL42間距離が1mmで、PLL42とIPマクロ43間の距離が2mmであった場合には、シミュレーションの結果、ジッタ量は250psであったことが示されている。このとき、入力許容ジッタは200ps−250ps=−50psとなる。入力許容ジッタが負の値であるので、IPマクロ43の入力クロックがジッタ制約を満たさない。そのため、プロセッサ21は判定結果をエラーとして、図12に示すようなテーブルに書き込む。
ステップS14のIPマクロの配置決定処理と、ステップS15のクロックバッファ配置配線決定処理では、ステップS13の処理で求められたテーブルに基づいて、IPマクロの配置とクロックバッファの配置配線が決定される。
プロセッサ21は、図7に示したようなIPマクロ43を配置するときは、図12に示したようなテーブルに基づき、たとえば、チャージポンプ31とPLL42間距離が2mmの場合、PLL42とIPマクロ間距離が1mmまたは2mmになるようにする。
また、図12に示したテーブルで、判定結果がエラーとなる配置であっても、クロックバッファとチャージポンプ31間距離を、ステップS13の処理で使用した距離よりも長くすることで、トータルのジッタ量が減り、入力許容ジッタが正の値となる場合がある。
そのため、プロセッサ21は、IPマクロや、チャージポンプ、PLLの配置に制約があるが、判定結果がエラーとなる場合には、ステップS15の処理で、クロックバッファの配置を変更する。そして、プロセッサ21は、ステップS16の処理で、入力許容ジッタを求め、判定結果がエラーとなるかOKとなるか検証する。
判定結果がエラーの場合には、ステップS13からの処理に戻り、たとえば、PLLをバックバイアス制御信号のノイズによるジッタ量の増加が少ないものに変更したり、クロックバッファの段数を減らしたりして、判定結果がOKになるような変更を行う。
図14は、判定結果がOKになるように最適化されたチップ内の配置例を示す図である。
図7に示したチップ40内の配置例と比べると、図14では、IPマクロ44,45が図7に示した例よりもチャージポンプ31から離れている。また、IPマクロ44とPLL42の間に設けられているクロックバッファb4〜b6、IPマクロ45とPLL42の間に設けられているクロックバッファb7〜b9も、図7に示した例よりもチャージポンプ31から離れて配置されている。
ステップS16の処理で判定結果がOKとなると、プロセッサ21は、クロック配線(ステップS17)や自動配置配線(ステップS18)を行う。そして、プロセッサ21は、論理検証など各種検証(ステップS19)を行って許容できる検証結果が得られた場合(OKの場合)には設計処理を終了する。許容できる検証結果が得られなかった場合(エラーの場合)、プロセッサ21は、たとえば、ステップS17の処理(またはステップS18の処理)に戻り、適宜配線や配置の変更を行う。
以上のような半導体装置の設計方法によれば、チャージポンプからの距離に応じて異なるバックバイアス制御信号のノイズ量を考慮して各回路部やクロック経路の配置を行うことで、バックバイアス制御信号のノイズに起因したジッタ制約違反の発生を抑制できる。
また、本実施の形態の半導体装置の設計方法では、ジッタを考慮しながら回路とクロック経路の配置を行うために、SoCの設計時に問題を検出することが可能となり、SoCの実機確認前にジッタの影響による問題を解決できる。そのため、SoC開発の手戻りが少なく、設計期間の増大を抑制できる。
以上、実施の形態に基づき、本発明の半導体装置の設計方法、プログラム、設計装置の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
たとえば、IPマクロに供給されるバックバイアス制御信号のノイズ量によるジッタ量を考慮して、IPマクロやクロック経路の配置を決めるようにしてもよい。
1 バックバイアス制御部
2 回路部(IPマクロ)
3 クロックバッファ
4 クロック供給部
Tr トランジスタ
10 設計装置
11 演算処理部
12 記憶部

Claims (8)

  1. 回路部と、前記回路部にクロックを入力するクロック経路と、少なくとも前記クロック経路に含まれるトランジスタのバックバイアスを制御するバックバイアス制御部とを含む半導体装置の設計方法であって、
    プロセッサが、前記トランジスタのバックバイアスを制御するバックバイアス制御部からの距離と、前記バックバイアス制御部から出力される制御信号のノイズ量との関係を求め、前記バックバイアス制御部からの距離と前記ノイズ量との関係を示す第1の情報を、前記プロセッサがアクセス可能な記憶装置に格納し、
    前記プロセッサが、前記第1の情報に基づいて、前記回路部に接続されるクロック経路での、前記ノイズ量によるジッタの増加量を求め、前記ジッタの増加量を示す第2の情報を前記記憶装置に格納し、
    前記プロセッサが、前記第2の情報と、前記回路部におけるジッタの許容値を示す情報に基づき、前記回路部と前記クロック経路を配置する、
    ことを特徴とする半導体装置の設計方法。
  2. 前記プロセッサが、前記第1の情報を用いて、前記クロック経路に含まれるクロックバッファでのクロックの遅延量と、前記ノイズ量に基づいて、前記ジッタの増加量を求めることを特徴とする請求項1に記載の半導体装置の設計方法。
  3. 前記プロセッサが、前記第1の情報を用いて、前記クロック経路に含まれる複数のクロックバッファの段数と、前記ノイズ量に基づいて、前記ジッタの増加量を求めることを特徴とする請求項1に記載の半導体装置の設計方法。
  4. 前記プロセッサが、前記第1の情報を用いて、前記回路部に接続される前記クロック経路に含まれる複数のクロックバッファのうち、前記バックバイアス制御部からの距離が最短のものに含まれるトランジスタに対する前記制御信号のノイズ量に基づき、前記クロック経路での前記ジッタの増加量を求めることを特徴とする請求項1乃至3の何れか一項に記載の半導体装置の設計方法。
  5. 前記ジッタの増加量には、前記バックバイアス制御部によってバックバイアスが制御されるトランジスタを含み、前記クロック経路にクロックを供給するクロック供給部において、前記バックバイアス制御部との距離に応じた前記ノイズ量に応じて発生するジッタ量が加算される、ことを特徴とする請求項1乃至4の何れか一項に記載の半導体装置の設計方法。
  6. 前記回路部及び前記クロック経路の配置は、前記ジッタの増加量に基づいて求められる、前記回路部への入力クロックのジッタ量が前記ジッタの許容値を超えないように、行われることを特徴とする請求項1乃至5の何れか一項に記載の半導体装置の設計方法。
  7. 回路部と、前記回路部にクロックを入力するクロック経路と、少なくとも前記クロック経路に含まれるトランジスタのバックバイアスを制御するバックバイアス制御部とを含む半導体装置の設計処理であって、
    前記トランジスタのバックバイアスを制御するバックバイアス制御部からの距離と、前記バックバイアス制御部から出力される制御信号のノイズ量との関係を求め、
    前記バックバイアス制御部からの距離と前記ノイズ量との関係に基づいて、前記回路部に接続されるクロック経路での、前記ノイズ量によるジッタの増加量を求め、
    前記ジッタの増加量と、前記回路部におけるジッタの許容値に基づき、前記回路部と前記クロック経路を配置する、
    処理をコンピュータに実行させるプログラム。
  8. 回路部と、前記回路部にクロックを入力するクロック経路と、少なくとも前記クロック経路に含まれるトランジスタのバックバイアスを制御するバックバイアス制御部とを含む半導体装置の設計処理を行う演算処理部を有し、
    前記演算処理部は、
    チップ内のトランジスタのバックバイアスを制御するバックバイアス制御部からの距離と、前記バックバイアス制御部から出力される制御信号のノイズ量との関係を求め、
    前記バックバイアス制御部からの距離と前記ノイズ量との関係に基づいて、前記回路部に接続されるクロック経路での、前記ノイズ量によるジッタの増加量を求め、
    前記ジッタの増加量と、前記回路部におけるジッタの許容値に基づき、前記回路部と前記クロック経路を配置する、
    ことを特徴とする設計装置。
JP2013015030A 2013-01-30 2013-01-30 半導体装置の設計方法、プログラム及び設計装置 Expired - Fee Related JP6089728B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013015030A JP6089728B2 (ja) 2013-01-30 2013-01-30 半導体装置の設計方法、プログラム及び設計装置
US14/132,428 US9032351B2 (en) 2013-01-30 2013-12-18 Semiconductor device design method and design apparatus
KR1020130168641A KR101577876B1 (ko) 2013-01-30 2013-12-31 반도체 장치의 설계 방법, 기록 매체 및 설계 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013015030A JP6089728B2 (ja) 2013-01-30 2013-01-30 半導体装置の設計方法、プログラム及び設計装置

Publications (3)

Publication Number Publication Date
JP2014146220A JP2014146220A (ja) 2014-08-14
JP2014146220A5 JP2014146220A5 (ja) 2015-11-19
JP6089728B2 true JP6089728B2 (ja) 2017-03-08

Family

ID=51224487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013015030A Expired - Fee Related JP6089728B2 (ja) 2013-01-30 2013-01-30 半導体装置の設計方法、プログラム及び設計装置

Country Status (3)

Country Link
US (1) US9032351B2 (ja)
JP (1) JP6089728B2 (ja)
KR (1) KR101577876B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569577B2 (en) * 2014-10-15 2017-02-14 Freescale Semiconductor, Inc. Identifying noise couplings in integrated circuit
CN113030752B (zh) * 2021-04-12 2024-03-29 安徽理工大学 一种基于变遗忘因子在线参数辨识和soc联合估计方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3587841B2 (ja) 2002-12-05 2004-11-10 沖電気工業株式会社 半導体集積回路
JP4049764B2 (ja) * 2004-07-02 2008-02-20 富士通株式会社 Dll回路を内蔵する集積回路装置
JP4528659B2 (ja) 2005-03-30 2010-08-18 パナソニック株式会社 クロックジッタ算出装置、クロックジッタ算出方法、およびクロックジッタ算出プログラム
JP2007164345A (ja) 2005-12-12 2007-06-28 Kawasaki Microelectronics Kk 半導体集積回路の設計方法および半導体集積回路
WO2008012899A1 (fr) * 2006-07-27 2008-01-31 Fujitsu Limited Dispositif de circuit à semi-conducteurs, système de dispositif de circuit à semi-conducteurs et procédé de fabrication pour le dispositif de circuit à semi-conducteurs
JP2008118098A (ja) 2006-10-11 2008-05-22 Matsushita Electric Ind Co Ltd 半導体集積回路の動作解析方法
US7603639B2 (en) * 2007-04-03 2009-10-13 International Business Machines Corporation Method, apparatus and computer program product for controlling jitter or the effects of jitter in integrated circuitry
JP2009282916A (ja) 2008-05-26 2009-12-03 Fujitsu Microelectronics Ltd クロックジッタ見積もり方法及び半導体装置の設計方法
JP2010191644A (ja) 2009-02-18 2010-09-02 Fujitsu Ltd 半導体設計支援プログラム、半導体設計支援装置、および半導体設計支援方法
JP2011151100A (ja) * 2010-01-20 2011-08-04 Fujitsu Ltd クロックジッタ抑制方法及びプログラム
US8779823B2 (en) * 2012-06-29 2014-07-15 Intel Corporation Apparatus and method for extending bandwidth and suppressing phase errors in multi-phase signals

Also Published As

Publication number Publication date
US20140215423A1 (en) 2014-07-31
KR101577876B1 (ko) 2015-12-15
JP2014146220A (ja) 2014-08-14
KR20140097966A (ko) 2014-08-07
US9032351B2 (en) 2015-05-12

Similar Documents

Publication Publication Date Title
US7299438B2 (en) Method and apparatus for verifying semiconductor integrated circuits
JP4946573B2 (ja) デカップリングセル配置方法及びデカップリングセル配置装置
US20080034263A1 (en) Semiconductor integrated circuit device and internal power control system including the same
KR20160032529A (ko) 시스템 온 칩과 이의 dvfs 검증 방법
JP2013145550A (ja) システムオンチップの設計方法、設計システム、及びシステムオンチップ
US20140139262A1 (en) Multiple threshold voltage standard cells
JP2017523383A (ja) 電源モニタを用いた電源の較正
CN114424144A (zh) 自适应片上数字功率估计器
US8621407B2 (en) Apparatus and method for supporting circuit design, and semiconductor integrated circuit
JP6089728B2 (ja) 半導体装置の設計方法、プログラム及び設計装置
US10366188B2 (en) Designing apparatus for designing a programmable logic device, method of designing a programmable logic device and recording medium for storing a program for designing a programmable logic device
US20180137225A1 (en) Method and system for building a cell library with segmented timing arc delay model
JP5217418B2 (ja) 半導体装置、容量値算出方法
JP2005141434A (ja) 集積回路のタイミング検証システム、タイミング検証プログラム
JP5799645B2 (ja) 電源電圧設定方法及び電源電圧設定プログラム
JP5332972B2 (ja) デカップリング容量決定方法、デカップリング容量決定装置およびプログラム
US20140337812A1 (en) Circuit verification method and circuit verification apparatus
US20150205898A1 (en) Design method and design apparatus
JP2014146220A5 (ja)
JP4651023B2 (ja) 回路シミュレーション装置
JP2011077426A (ja) 半導体装置の製造方法及び半導体装置
JP2010033250A (ja) 電圧変動量見積方法、装置、半導体装置動作検証装置、半導体装置設計方法、プリント板設計方法、及びプログラム
JP6645114B2 (ja) 設計支援プログラム、情報処理装置、および設計支援方法
JP2009130191A (ja) 半導体集積回路の設計方法
JP2016110490A (ja) 設計方法、設計装置及びプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R150 Certificate of patent or registration of utility model

Ref document number: 6089728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees