JP6163978B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP6163978B2
JP6163978B2 JP2013180056A JP2013180056A JP6163978B2 JP 6163978 B2 JP6163978 B2 JP 6163978B2 JP 2013180056 A JP2013180056 A JP 2013180056A JP 2013180056 A JP2013180056 A JP 2013180056A JP 6163978 B2 JP6163978 B2 JP 6163978B2
Authority
JP
Japan
Prior art keywords
wiring
charge
signal
circuit
switch
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.)
Active
Application number
JP2013180056A
Other languages
English (en)
Other versions
JP2015050271A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013180056A priority Critical patent/JP6163978B2/ja
Priority to US14/339,509 priority patent/US9742405B2/en
Publication of JP2015050271A publication Critical patent/JP2015050271A/ja
Application granted granted Critical
Publication of JP6163978B2 publication Critical patent/JP6163978B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • H03K19/0019Arrangements for reducing power consumption by energy recovery or adiabatic operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Electronic Switches (AREA)

Description

本発明は、半導体集積回路に関する。
FPGA(Field-Programmable Gate Array)のような再構成可能な半導体集積回路では、回路の構成情報を半導体集積回路に書き込むことによって任意の機能を実現することが可能である。
再構成可能な半導体集積回路は、複数の基本論理エレメントを備えたCLB(Configurable Logic Block)と、SB(Switch Block)、CB(Connection Block)とそれらの間を接続する配線部を有している。このような要素を有する半導体集積回路は、プログラマブルに、CLBを接続可能となっているため、ASIC(Application Specific Integrated Circuit)と比べて配線長が長くなり、配線容量が大きくなっている。そのため、配線部の消費電力が大きい。
ところで、ASICの分野に適用される省電力技術として電荷再利用技術がある。
論理回路において、信号の値が“1”から“0”に変化する際、配線容量に充電された電荷は全て放電され、配線容量の値をC、電源電圧をVDDとすると、CVDD 2/2の電力が消費される。これに対して電荷再利用技術では、充電された電荷が放電される際に、その電荷の一部を別のキャパシタに保存しておき、次に信号の値が“0”から“1”に変化する際に再利用することで、消費電力を削減するという技術である。
また、電荷再利用技術の一種として、クロック共振手法がある。クロック共振手法では、クロック配線網にインダクタを追加し、そのインダクタのインダクタンスとクロック配線のキャパシタンスによりLC共振回路を実現して共振させる。これにより、インダクタとクロック配線のキャパシタとの間で電荷が再利用されクロック配線網の電力が削減される。
特開2001−195163号公報 特開2011−250107号公報
S. Chan, K. Shepard, and P. Restle, "Uniform-phase uniform-amplitude resonant-load global clock distributions, "Solid-State Circuits, IEEE Journal of, vol. 40, no. 1, pp. 102 - 109, Jan. 2005. L. McMurchie and C. Ebeling, "Pathfinder: A negotiation-based performance-driven router for fpgas," in ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Monterey, CA, USA, 1995, pp.111 - 117.
しかし、上記のような従来の電荷再利用技術を半導体集積回路に適用すると、回路面積が大きくなってしまう。たとえば、充電された電荷が放電される際に、その電荷の一部を別のキャパシタに保存しておく手法では、そのキャパシタを追加することによる面積増加が発生し、クロック共振手法では、インダクタの追加による面積増加が生じる。
発明の一観点によれば、信号が伝搬される第1の配線と、信号の伝搬に使用されない第2の配線と、前記第1の配線と前記第2の配線とを電気的に接続または切断するスイッチと、前記第1の配線に伝搬される前記信号の電位に基づいて前記スイッチを制御して、前記第1の配線の第1配線容量に充電された電荷の一部を前記第2の配線の第2配線容量に移動して保存し、前記第1配線容量の充電のときに、保存した前記電荷を前記第1配線容量に引き込む電荷再利用制御回路と、を備えた半導体集積回路が提供される。
開示の半導体集積回路によれば、小面積で消費電力を抑えることができる。
第1の実施の形態の半導体集積回路の一例を示す図である。 本実施の形態の半導体集積回路による電荷再利用について説明する図である(その1)。 本実施の形態の半導体集積回路による電荷再利用について説明する図である(その2)。 本実施の形態の半導体集積回路による電荷再利用について説明する図である(その3)。 信号VINが、“1”から“0”に変化するときの配線L1の電圧波形の一例を示す図である。 信号VINが、“0”から“1”に変化するときの配線L1の電圧波形の一例を示す図である。 第2の実施の形態の半導体集積回路(FPGA)の一例を示す図である。 CLBの基本論理エレメントの一例を示す図である。 SBの一例を示す図である。 電荷再利用バッファ回路の一例を示す図である。 遅延回路の一例を示す図である。 電荷再利用回路の一例を示す図である。 半導体集積回路の動作の一例を示すタイミングチャートである。 SBの他の例を示す図である。 任意の1本の空き配線を使用した場合のスイッチの設定例を示す図である。 1本の配線の電荷の保存用に、複数の空き配線を用いる場合のスイッチの設定例を示す図である。 半導体集積回路の設計方法の一例の流れを示す図である。 設計装置のハードウェア例を示す図である。 配線処理を行う機能ブロック図の一例である。 FPGAの配線構造の一部の例を示す図である。 図20の配線構造に対応する有効グラフの一例を示す図である。 配線処理の一例の流れを示すフローチャートである。 電荷保存用として用いる配線を固定した場合の、ノードmに隣接するノードnに関するコスト計算及び、コストの優先度付キューPQへの追加処理の例を示すフローチャートである。 電荷保存用として用いる配線を任意に変更できる場合の、ノードmに隣接するノードnに関するコスト計算及び、コストの優先度付キューPQへの追加処理の例を示すフローチャートである。 電荷再利用モード選択処理を行う機能ブロック図の一例である。 タイミンググラフで表す論理回路の一例を示す図である。 生成されたタイミンググラフの一例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の半導体集積回路の一例を示す図である。
半導体集積回路1は、FPGAのような再構成可能な半導体集積回路であり、複数の配線L1,L2を有している。図1の例では、配線L1には信号VINが伝搬されるが、配線L2には信号が伝搬されず、空き配線(未使用の配線)となっている。再構成可能な半導体集積回路には、たとえば、機能設計段階で、このような空き配線が生じる。
半導体集積回路1は、さらに、配線L1と未使用の配線L2とを電気的に接続または切断するスイッチ2と、スイッチ2を制御する電荷再利用制御回路3を有する。
電荷再利用制御回路3は、配線L1に伝搬される信号VINの電位に基づいて、スイッチ2を制御して、配線L1の配線容量C1に充電(チャージ)された電荷の一部を、未使用の配線L2の配線容量C2に移動して保存する。また、電荷再利用制御回路3は、配線容量C1のチャージのときに、保存した電荷を配線容量C1に引き込んで、配線容量C1のチャージに再利用する。また、電荷再利用制御回路3は、バッファ回路の機能も有しており、信号VINを保持して出力する。なお、配線容量C1,C2は寄生容量であるため、図1では点線で図示されている。
たとえば、信号VINが“1”(電位レベルがH(High)レベル)から、“0”(電位レベルがL(Low)レベル)に変化するとき、電荷再利用制御回路3は、スイッチ2を一定期間オンする。これにより、配線L1の配線容量C1にチャージされている電荷の一部が、図1中の矢印a1に示すような流れで未使用の配線L2の配線容量C2に移動して保存される。
信号VINが“0”から、“1”に変化するときも、電荷再利用制御回路3は、スイッチ2を一定期間オンする。これにより、空き配線L2の配線容量C2に保存された電荷の一部が、図1中の矢印a2に示すような流れで配線L1の配線容量C1に引き込まれ、チャージされる。
以下、第1の実施の形態の半導体集積回路1の動作の一例を説明する。
図2、図3、図4は、本実施の形態の半導体集積回路による電荷再利用について説明する図である。
図2〜図4では、スイッチSW1,SW2と、図1に示したスイッチ2及び配線L1,L2の配線容量C1,C2が示されている。スイッチSW1,SW2は、電荷再利用制御回路3によって実現され、配線L1を電源(電源電圧VDDを供給している)またはGND(基準電源)に接続(接地)、または配線L1を電源またはGNDから切り離す機能を有する。
スイッチSW1の一方の端子には電源電圧VDDが印加され、他方の端子にはスイッチSW2の一方の端子が接続されている。スイッチSW2の他方の端子は接地されている。スイッチSW1とスイッチSW2の間のノードには、配線容量C1の一方の端子とスイッチ2の一方の端子が接続されている。スイッチ2の他方の端子は配線容量C2の一方の端子に接続されている。配線容量C1,C2の他方の端子は接地されている。
図2では、信号VINが“1”のときの半導体集積回路1の状態が模式的に示されている。スイッチSW1がオン、スイッチSW2,2がオフになっており、電源電圧VDDによって配線容量C1に電荷がチャージされる。
図3では、信号VINが“1”から“0”に変化した直後の半導体集積回路1の状態が模式的に示されている。スイッチSW1,SW2がオフ、スイッチ2がオンし、配線容量C1にチャージされた電荷が一部、配線容量C2に移動し、配線L1の電圧はある値(以下この値を電圧VINT_HIGHと表記する)になった時点で安定する。
図4では、信号VINが“0”に変化し、その後、配線L1の電圧が安定した後の半導体集積回路1の状態が模式的に示されている。スイッチSW1,2がオフ、スイッチSW2がオンになっており、配線容量C1にチャージされていた電荷が放電される。
図5は、信号VINが、“1”から“0”に変化するときの配線L1の電圧波形の一例を示す図である。横軸が時間、縦軸が電圧を示している。
信号VINが、“1”から“0”に変化するとき、配線L1の電圧VOUTは、タイミングt1から下がり始めている。このとき、電荷再利用制御回路3の制御のもとスイッチ2がオンし、図3の状態となる。電圧VOUTが前述の電圧VINT_HIGHとなるタイミングt2で、電荷再利用制御回路3の制御のもとスイッチ2がオフし、放電が行われる図4の状態となる。
このように、信号VINが、“1”から“0”に変化するときには、配線容量C1にチャージされていた一部の電荷が配線容量C2に保存され、配線容量C1の放電時に放電される電荷量が削減されるため、消費電力を削減できる。
一方、信号VINが“0”から“1”に変化する際、図4に示した状態から、図3に示した状態になる。これにより、配線容量C2に保存されていた電荷の一部が、配線容量C1に移動し、配線L1の電圧はある値(以下この値を電圧VINT_LOWと表記する)になった時点で安定する。
その後、図2に示した状態となり、配線容量C1に残りの電荷がチャージされる。
図6は、信号VINが、“0”から“1”に変化するときの配線L1の電圧波形の一例を示す図である。横軸が時間、縦軸が電圧を示している。
配線L1の電圧VOUTは、タイミングt3から上がり始めている。このとき、電荷再利用制御回路3の制御のもとスイッチ2がオンし、図3の状態となる。電圧VOUTが前述の電圧VINT_LOWとなるタイミングt4で、電荷再利用制御回路3の制御のもとスイッチ2がオフされ、チャージが行われる図1の状態となる。
このように、信号VINが、“0”から“1”に変化するときには、配線容量C2に保存されていた一部の電荷が配線容量C1に移動し、配線容量C1が再チャージされる際の電荷量が削減されるため、消費電力を削減できる。
入力変化前と、配線容量C1,C2間での電荷移動状態(信号VINの“1”から“0”への変化時の電荷保存状態または信号VINの“0”から“1”への変化時の電荷再利用状態)における電圧と電荷の関係から、以下の式(1),(2)が成り立つ。
Figure 0006163978
Figure 0006163978
式(1),(2)において、CLは、配線容量C1の容量値、CRは、配線容量C2の容量値を示している。
式(1),(2)から、電圧VINT_LOWと電圧VINT_HIGHは、以下の式(3),(4)で表せる。
Figure 0006163978
Figure 0006163978
また、電荷再利用を用いないときと、電荷再利用を用い信号VINが、“1”から“0”に変化するとき、及び電荷再利用を用い信号VINが、“0”から“1”に変化するときに消費されるエネルギーEは以下のようになる。
(電荷再利用を用いないときのエネルギー)
Figure 0006163978
(電荷再利用を用い信号VINが、“1”から“0”に変化するときのエネルギー)
Figure 0006163978
(電荷再利用を用い信号VINが、“0”から“1”に変化するときのエネルギー)
Figure 0006163978
DD>VINT_HIGH、VDD>(VDD−VINT_LOW)であるので、式(6),(7)から、電荷再利用を用いる本実施の形態の半導体集積回路1によれば、信号VINの値が変化するときに消費されるエネルギーを少なくすることができ、消費電力を抑制できる。
また、図1に示したように、電荷再利用制御回路3が、スイッチ2を制御して、空き配線L2の配線容量C2を用いることにより、電荷再利用のために余分な容量を追加せずに済み、小面積の回路で消費電力を抑制することが可能となる。
(第2の実施の形態)
図7は、第2の実施の形態の半導体集積回路(FPGA)の一例を示す図である。
FPGA10は、CLB11−1,11−2,11−3,11−4、SB12、CB13−1,13−2,13−3,13−4を有している。
CLB11−1〜11−4は、複数の基本論理エレメントを備えた論理回路ブロックである。SB12は、縦横の配線接続の切り替えを行う。CB13−1〜13−4は、CLB11−1〜11−4と上記縦または横の配線とを接続する。
(CLB11−1〜11−4の基本論理エレメントの一例)
図8は、CLBの基本論理エレメントの一例を示す図である。
基本論理エレメント20は、ルックアップテーブル(LUT)21、D型のフリップフロップ(DFF)22、マルチプレクサ(MUX)23を有している。
LUT21は、たとえば、SRAM(Static Random Access Memory)によって実現される。LUT21は、4つの入力端子IN[0],IN[1],IN[2],IN[3]から4ビットのアドレスを入力し、そのアドレスに基づき、格納しているデータの中から1ビットのデータを出力する。
DFF22は、クロック端子CLKから入力されるクロックを、自身のクロック端子CKで受信し、クロックに同期したタイミングでLUT21の出力を取り込み、端子Qから出力する。
MUX23は、LUT21の出力と、DFF22の出力の一方を選択して、出力端子OUTから出力する。
(SB12の一例)
図9は、SBの一例を示す図である。
第2の実施の形態のFPGA10において、SB12は、MUX30−1,30−2,30−3,30−4、電荷再利用バッファ回路31−1,31−2,31−3,31−4、電荷再利用回路32−1,32−2,32−3,32−4を有している。なお、図9では、各配線の一部において、その配線で伝達される信号の信号名の一例が併記されている。
MUX30−1〜30−4は、4つの入力信号IN1,IN2,IN3,IN4の何れか1つを選択して信号VIN1,VIN2,VIN3,VIN4として出力する。MUX30−1〜30−4の制御信号は、たとえば、コンフィギュレーション用SRAMセル(図示せず)から供給される。
電荷再利用バッファ回路31−1〜31−4は、前述した図1の電荷再利用制御回路3の一部の機能を行う。電荷再利用バッファ回路31−1〜31−4は、信号VIN1〜VIN4を保持し、配線L10,L11,L12,L13に信号VOUT1,VOUT2,VOUT3,VOUT4として出力する。また、電荷再利用バッファ回路31−1〜31−4は、信号VIN1〜VIN4から信号VIN_D1,VIN_D2,VIN_D3,VIN_D4を生成し、図1に示したスイッチ2としての機能を有する電荷再利用回路32−1〜32−4に供給する。信号VIN_D1〜VIN_D4は、電荷保存動作と電荷再利用動作の期間(図3の状態でスイッチ2をオンにしておく期間)を決める信号である。
電荷再利用回路32−1〜32−4は、図1に示したスイッチ2の機能を有するとともに、電荷再利用制御回路3の一部の機能を行う。すなわち、電荷再利用回路32−1〜32−4は、信号VIN1〜VIN4と、信号VIN_D1〜VIN_D4に基づいて、配線L10と配線L11、配線L11と配線L12、配線L12と配線L13または配線L13と配線L10を電気的に接続または切断する。
図9のSB12の例では、信号が伝達される配線1本に対して、1本の配線(空き配線)が電荷保存用として使用され、ある配線に対して電荷保存用として使用される配線は固定されている。たとえば、配線L10〜L13のうちで、たとえば、配線L11,L13が、信号が伝搬されない空き配線である場合、配線L10の電荷保存用には配線L11が用いられ、配線12の電荷保存用には配線L13が用いられる。
なお、上記の例では、電荷保存用として隣接した配線を用いるようにしているが、これに限定されない。たとえば、配線L10,L12の間に電荷再利用回路32−1が接続されている場合、配線L12が配線L10の電荷保存用として用いられる。また、3次元実装技術を用いて複数のダイの配線間で電荷再利用を行うことも可能である。
以下、SB12の電荷再利用バッファ回路31−1〜31−4の一例を説明する。
(電荷再利用バッファ回路31−1〜31−4の一例)
図10は、電荷再利用バッファ回路の一例を示す図である。
以下では、図9に示した電荷再利用バッファ回路31−1の例を示すが、他の電荷再利用バッファ回路31−2〜31−4についても同様の回路で実現できる。
電荷再利用バッファ回路31−1は、インバータ回路40、遅延回路41、トランジスタM1,M2,M3,M4,M5,M6を有している。
インバータ回路40は、信号VIN1を入力し、信号VIN1の論理レベルを反転した信号/VIN1を出力する。遅延回路41は、信号VIN1を入力し、信号VIN1を遅延させた信号VIN_D1を出力する。
トランジスタM1〜M6のうち、トランジスタM1,M4,M6は、nチャネル型MOSFET(Metal-Oxide Semiconductor Field Effect Transistor)であり、トランジスタM2,M3,M5は、pチャネル型MOSFETである。
トランジスタM5,M6は、インバータ回路として機能しており、トランジスタM1〜M4は、そのインバータを制御するゲーティング回路として機能している。
トランジスタM1,M2のゲートには、遅延回路41から出力される信号VIN_D1が入力され、トランジスタM3,M4のゲートには、信号VIN1が入力される。トランジスタM1,M2のソースとトランジスタM3,M4のドレインには、インバータ回路40から出力される信号/VIN1が入力される。また、トランジスタM1のドレインとトランジスタM3のソースは、トランジスタM5のゲートに接続されている。トランジスタM2のドレインとトランジスタM4のソースは、トランジスタM6のゲートに接続されている。
インバータ回路として機能するトランジスタM5,M6において、トランジスタM5のソースには、電源電圧VDDが印加され、ドレインは、トランジスタM6のドレインに接続されている。トランジスタM6のソースは接地されている。トランジスタM5のドレインとトランジスタM6のドレイン間のノードの電位が、信号VOUT1として出力される。
トランジスタM1〜M4によるゲーティング回路は、遅延回路41との組み合わせにより、電荷保存状態及び電荷再利用状態において、電荷が移動する間、トランジスタM5,M6をオフ状態にして、配線L10を、電源及びGNDから切り離す制御を行う。
次に、電荷再利用バッファ回路31−1の遅延回路41の一例を説明する。
(遅延回路41の一例)
図11は、遅延回路の一例を示す図である。
遅延回路41は、信号VIN1を、電荷保存状態及び電荷再利用状態において電荷が移動する時間分、遅らせる機能を有する。図11に示される遅延回路41の例は、Current−starved inverterを適用した例を示している。
遅延回路41は、トランジスタMD1,MD2,MD3,MD4,MD5,MD6,MD7,MD8を有する。トランジスタMD1〜MD8のうち、トランジスタMD1,MD2,MD3,MD7がpチャネル型MOSFETであり、トランジスタMD4,MD5,MD6,MD8がnチャネル型MOSFETである。
トランジスタMD1のゲートにはバイアス電圧VPBが印加され、トランジスタMD2のゲートには信号CRが入力されている。トランジスタMD1,MD2のソースには電源電圧VDDが印加され、ドレインはトランジスタMD3のソースに接続されている。トランジスタMD3のドレインは、トランジスタMD4のドレインに接続されるとともに、トランジスタMD7,MD8のゲートに接続されている。トランジスタMD3,MD4のゲートには信号VIN1が入力され、トランジスタMD4のソースは、トランジスタMD5,MD6のドレインに接続されている。トランジスタMD5のゲートにはバイアス電圧VNBが印加され、トランジスタMD2のゲートには信号CRの論理レベルを反転させた信号/CRが入力されている。トランジスタMD5,MD6のソースは接地されている。
トランジスタMD7,MD8はインバータ回路として機能しており、トランジスタMD7のソースには電源電圧VDDが印加され、ドレインはトランジスタMD8のドレインに接続されている。トランジスタMD8のソースは接地されている。トランジスタMD7のドレインとトランジスタMD8のドレイン間のノードの電位が、信号VIN_D1として出力される。
このような遅延回路41では、クランプ電流の値を調整することにより遅延を調整できるため、上記電荷の移動時間に合致するように遅延時間を調整することが可能である。遅延時間は、信号VIN1の立ち下がり時の変化開始から、信号VOUT1が電圧VINT_HIGHに達するまでの時間であるとともに、信号VIN1の立ち上がり時の変化開始から、信号VOUT1が電圧VINT_LOWに達するまでの時間とすることが好ましい。そのため、予めシミュレーションにより、その時間を求めておき、遅延時間ができるだけ短くなるように設定することが、タイミング制約を満たすようにするためには好ましい。なお、仮に信号VOUT1が電圧VINT_HIGHや電圧VINT_LOWに達するより、短い遅延時間が設定されたとしても、削減される電力が減るだけで、論理的な動作自体には影響を与えない。
また、遅延回路41では、信号CRにより遅延の有無を設定できる。電荷再利用を有効とするときの信号CRの値を“1”とすると、トランジスタMD2,MD6がオフする。このとき、トランジスタMD1,MD5がクランプ電流源として動作する。トランジスタMD1,MD5のゲートに印加されるバイアス電圧VPB,VNBにより、トランジスタMD1,MD5の電流が制限され、それにより遅延が発生する。
信号CRが“0”のときは、トランジスタMD2,MD6がオンし、トランジスタMD1,MD5によるクランプ電流源により遅延が発生することはなくなり、その結果電荷再利用動作が行われなくなる。
このように、遅延回路41では、設定信号(信号CR)によって、遅延機能が有効または無効となり、電荷再利用を有効にするか否かを設定できる。たとえば、動作率が高い信号が伝搬する配線に対しては消費電力が大きくなるため、電荷再利用を有効にして消費電力を削減するようにする。遅延が大きくなるとタイミング制約を満たさなくなるような信号が伝搬する配線に対しては電荷再利用を無効にするなどの選択が可能となる。
なお、信号CRは、たとえば、コンフィギュレーション用のSRAMセル(図示せず)から出力される。コンフィギュレーション用のSRAMセルは、たとえば、後述する設計方法で得られる電荷再利用有効/無効設定値(図25参照)に基づいて、設定される。
また、バイアス電圧VPB,VNBは、たとえば、半導体集積回路10の外部で上記遅延時間を考慮して求められた電圧であり、専用の電源ピンを介してトランジスタMD1,MD5のゲートに印加されるようにしてもよい。また、バイアス電圧VPB,VNBは、半導体集積回路10内部の電源から生成されるようにしてもよい。
(電荷再利用回路32−1の一例)
図12は、電荷再利用回路の一例を示す図である。
以下では、図9に示した電荷再利用回路32−1の例を示すが、他の電荷再利用回路32−2〜32−4についても同様の回路で実現できる。
電荷再利用回路32−1は、電荷保存状態及び電荷再利用状態において、配線L10と配線L11とを接続させるスイッチの機能を有している。
電荷再利用回路32−1は、トランジスタM7,M8,M9,M10,M11,M12を有している。トランジスタM7〜M12のうち、トランジスタM7,M9,M11がpチャネル型MOSFETであり、トランジスタM8,M10,M12がnチャネル型MOSFETである。
トランジスタM7〜M10のゲートには、前述した遅延回路41から出力される信号VIN_D1が入力される。トランジスタM7のソースには電源電圧VDDが印加され、ドレインは、トランジスタM8のドレイン及びトランジスタM11のゲートに接続されている。トランジスタM8及びトランジスタM9のソースは互いに接続されており、信号VIN1が入力される。トランジスタM9のドレインは、トランジスタM10のドレイン及びトランジスタM12のゲートに接続されている。トランジスタM10のソースは接地されている。
トランジスタM11,M12は、パストランジスタとして機能している。トランジスタM11のドレインと、トランジスタM12のソースには、容量CR1が接続されている。容量CR1は、配線L11の配線容量である。トランジスタM11のソースとトランジスタM12のドレインには、配線L10を伝達する信号VOUT1が入力される。このようなパストランジスタM11,M12が、図1に示したスイッチ2の機能を行い、トランジスタM7〜M10が、図1に示した電荷再利用制御回路3の一部の機能を行う。
以下、第2の実施の形態の半導体集積回路10の動作の一例を説明する。
(半導体集積回路10の動作の一例)
図13は、半導体集積回路の動作の一例を示すタイミングチャートである。
なお、以下では図12における配線L10は信号が伝搬される配線であり、配線L11は信号が伝搬されない空き配線であるものとして、電荷再利用バッファ回路31−1、電荷再利用回路32−1の動作を中心に説明する。なお、遅延回路41に入力される前述した信号CRは、“1”になっており、電荷再利用が有効になっているものとする。
図13には、前述した各信号VIN1,/VIN1,VIN_D1,VOUT1の状態が示されている。さらに、電荷再利用バッファ回路31−1のトランジスタM5,M6のゲート電圧Gate_M5,Gate_M6、電荷再利用回路32−1のトランジスタM11,M12のゲート電圧Gate_M11,Gate_M12の状態が示されている。
信号VIN1,VIN_D1がHレベルのときは(タイミングt10)、図10の電荷再利用バッファ回路31−1において、トランジスタM1,M4がオン状態、トランジスタM2,M3がオフ状態となる。このとき信号/VIN1はLレベルであるので、トランジスタM5,M6のゲート電圧Gate_M5,Gate_M6はLレベルであり、トランジスタM5はオン状態、トランジスタM6はオフ状態である。そのため、信号VOUT1は、Hレベルとなっている。
一方、電荷再利用回路32−1では、信号VIN1,VIN_D1がHレベルのとき、トランジスタM7,M9がオフ状態となり、トランジスタM8,10がオン状態となる。そのため、ゲート電圧Gate_M11はHレベル、ゲート電圧Gate_M12はLレベルとなり、トランジスタM11,M12は両方ともオフ状態となり、配線L10,L11は電気的に切断されている。
信号VIN1がLレベルに立ち下がると(タイミングt11)、電荷再利用バッファ回路31−1において、遅延回路41による遅延時間により信号VIN_D1はHレベルのままであるため、トランジスタM1はオン状態、トランジスタM2はオフ状態を維持する。一方、トランジスタM3はオン状態、トランジスタM4はオフ状態となる。このとき信号/VIN1はHレベルであるので、トランジスタM5のゲート電圧Gate_M5はHレベルとなり、トランジスタM5はオフ状態となる。一方、トランジスタM6のゲート電圧Gate_M6はLレベルのままであり、トランジスタM6はオフ状態を維持する。
これにより、配線L10は、電源ともGNDとも切り離された状態となる。
一方、電荷再利用回路32−1では、タイミングt11では、信号VIN_D1はHレベルのままであるため、トランジスタM7〜M10はタイミングt10と同じ状態を維持する。しかし、信号VIN1がLレベルになるため、ゲート電圧Gate_M11がLレベルとなり、トランジスタM11がオンする。これにより、配線L10,L11が電気的に接続し、配線L10の配線容量にチャージされていた電荷の一部が、トランジスタM11を介して配線L11の配線容量(容量CR1)に保存される。この電荷の移動により、信号VOUT1の電位は下がり始める。
信号VOUT1が、電圧VINT_HIGHに達するタイミングt12(電荷の移動及び保存が終わるタイミング)で信号VIN_D1がLレベルになると、電荷再利用バッファ回路31−1において、トランジスタM1がオフ状態、トランジスタM2がオン状態となる。これにより、ゲート電圧Gate_M6がHレベルとなり、トランジスタM6がオン状態となる。そのため、配線L10は接地され(GNDに接続され)、配線L10の配線容量に残っている電荷が放電され、信号VOUT1は、さらに電位が下がっていき、タイミングt13で放電が完了する。
一方、電荷再利用回路32−1では、タイミングt12で信号VIN_D1がLレベルになると、トランジスタM7,M9がオン状態、トランジスタM8,M10がオフ状態となる。これにより、ゲート電圧Gate_M11がHレベルとなり、トランジスタM11がオフ状態となる。そのため、配線L10,L11は電気的に切断された状態となる。
その後、信号VIN1がHレベルに立ち上がると(タイミングt14)、電荷再利用バッファ回路31−1において、信号VIN_D1はLレベルのままであるため、トランジスタM1はオフ状態、トランジスタM2はオン状態を維持する。一方、トランジスタM3はオフ状態、トランジスタM4はオン状態となる。このとき信号/VIN1はLレベルであるので、トランジスタM5のゲート電圧Gate_M5はHレベルのままとなり、トランジスタM5はオフ状態を維持する。一方、トランジスタM6のゲート電圧Gate_M6はLレベルとなり、トランジスタM6はオフ状態となる。
これにより、配線L10は、電源ともGNDとも切り離された状態となる。
一方、電荷再利用回路32−1では、タイミングt14のとき、信号VIN_D1はLレベルのままであるため、トランジスタM7〜M10はタイミングt12と同じ状態を維持する。しかし、信号VIN1がHレベルになるため、ゲート電圧Gate_M12がHレベルとなり、トランジスタM12がオンする。これにより、配線L10,L11が電気的に接続し、配線L11の配線容量(容量CR1)に保存されていた電荷の一部が、トランジスタM12を介して配線L10の配線容量にチャージされ始め、電荷再利用動作が開始する。また、この電荷の移動により、信号VOUT1の電位は上がり始める。
信号VOUT1が、電圧VINT_LOWに達するタイミングt15で信号VIN_D1がHレベルになると、電荷再利用バッファ回路31−1において、トランジスタM1がオン状態、トランジスタM2がオフ状態となる。これにより、ゲート電圧Gate_M5がLレベルとなり、トランジスタM5がオン状態となる。そのため、配線L10には電源電圧VDDが印加され、配線L10の配線容量がさらにチャージされ、信号VOUT1は、さらに電位が上がっていき、タイミングt16でチャージが完了する。
一方、タイミングt15で信号VIN_D1がLレベルになると、電荷再利用回路32−1では、トランジスタM7,M9がオフ状態、トランジスタM8,M10がオン状態となる。これにより、ゲート電圧Gate_M12がLレベルとなり、トランジスタM12がオフ状態となる。そのため、配線L10,L11は電気的に切断された状態となる。
図13のように、信号VIN1がHレベルからLレベル(“1”から“0”)になるときには、タイミングt11〜t12の間、配線L10の配線容量にチャージされた電荷の一部が、空き配線である配線L11の配線容量に保存される。そのため、配線L10の放電時の電圧変化は、電圧VINT_HIGHから0Vへの変化となり、消費電力は削減される。
信号VIN1がLレベルからHレベル(“0”から“1”)になるときには、タイミングt14〜t15の間、配線L11の配線容量に保存された電荷の一部が、配線L10の配線容量にチャージされる。そのため、配線L10のチャージ時の電圧変化は、電圧VINT_LOWから電源電圧VDDへの変化となり、消費電力は削減される。
たとえば、配線L10,L11の配線長が同じとき、前述した式(3),(4)において、CL=CRとなる。
そのため、式(3),(4)は、以下の式(8),(9)のように表せる。
Figure 0006163978
Figure 0006163978
消費エネルギーは式(6),(7)で表せるため、信号VIN1が“1”から“0”に変化するときも、信号VIN1が“0”から“1”に変化するときも、消費エネルギーは、2CLDD 2/9、となる。電荷再利用を利用しない場合(放電またはチャージする際の電圧変化が0Vから電源電圧VDD)の消費エネルギーは、CLDD 2/2となるため、電荷再利用を行うことによる電力削減効果は、4/9(56%)程度となる。
また、本実施の形態の半導体集積回路10では、空き配線(上記の例では配線L11)の配線容量を用いて、電荷再利用を行うことで、小面積で消費電力を抑えることができる。
なお、上記では、図9に示したように、電荷保存用として用いる配線を固定した場合について説明したが、電荷保存用として用いる配線を変更したり、1本の配線の電荷の保存用に、複数の空き配線を用いるようにしてもよい。以下では、SBの他の例を説明する。
(SBの他の例)
図14は、SBの他の例を示す図である。
図9に示したSB12と同じ要素については同一符号が付されている。
SB12aは、電荷再利用回路32aを使用する配線を選択する選択部35−1と、電荷再利用回路32bを使用する配線を選択する選択部35−2を有しており、任意の配線の組み合わせで電荷再利用回路32a,32bを使用可能となっている。電荷再利用回路32a,32bは、図12に示した電荷再利用回路32−1と同様の回路となっている。
選択部35−1は、スイッチ(SW)50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65を有している。
スイッチ50〜61は、信号VIN1〜VIN4,VIN_D1〜VIN_D4,VOUT1〜VOUT4のうちで、電荷再利用回路32aに入力するものを選択する。スイッチ62〜65は、配線L10〜L13のうちで、電荷保存用の空き配線として使用するものを選択するスイッチである。
選択部35−2は、スイッチ70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85を有している。
スイッチ70〜81は、信号VIN1〜VIN4,VIN_D1〜VIN_D4,VOUT1〜VOUT4のうちで、電荷再利用回路32bに入力するものを選択する。スイッチ82〜85は、配線L10〜L13のうちで、電荷保存用の空き配線として使用するものを選択するスイッチである。
スイッチ50〜65,70〜85は、たとえば、コンフィギュレーション用のSRAM(図示せず)などに格納された設定値によって、オン/オフが制御される。
図15は、任意の1本の空き配線を使用した場合のスイッチの設定例を示す図である。
図15の例では、配線L10,L12が、信号が伝搬される配線であり、配線L11,L13が空き配線である場合のスイッチ50〜65,70〜85の設定例が示されている。黒く塗りつぶして図示されているスイッチ50〜52,63,76〜78,85が縦横の配線接続を行っているスイッチである。
このような設定により、信号VIN1が“1”から“0”に変化する際には、配線L10の配線容量にチャージされた電荷の一部が、スイッチ51、電荷再利用回路32a、スイッチ63を介して配線L11の配線容量に保存される。このとき、信号VOUT1が図13に示したように電圧VINT_HIGHに下がり、その後、放電により0Vに下がる。これにより、前述したように放電時の消費電力が削減される。
信号VIN1が“0”から“1”に変化する際には、配線L11の配線容量に保存された電荷の一部が、スイッチ63、電荷再利用回路32a、スイッチ51を介して配線L10の配線容量にチャージされる。このとき、信号VOUT1が図13に示したように電圧VINT_LOWに上がり、その後、配線L10の配線容量に残りの電荷がチャージされ、電源電圧VDDに上がる。これにより、前述したようにチャージ時の消費電力が削減される。
また、信号VIN3が“1”から“0”に変化する際には、配線L12の配線容量にチャージされた電荷の一部が、スイッチ77、電荷再利用回路32b、スイッチ85を介して配線L13の配線容量に保存される。このとき、信号VOUT3は、図13に示した信号VOUT1と同様に電圧VINT_HIGHに下がり、その後、放電により0Vに下がる。これにより、前述したように放電時の消費電力が削減される。
信号VIN3が“0”から“1”に変化する際には、配線L13の配線容量に保存された電荷の一部が、スイッチ85、電荷再利用回路32b、スイッチ77を介して配線L10の配線容量にチャージされる。このとき、信号VOUT1が図13に示したように電圧VINT_LOWに上がり、その後、配線L12の配線容量に残りの電荷がチャージされ、電源電圧VDDに上がる。これにより、前述したようにチャージ時の消費電力が削減される。
図16は、1本の配線の電荷の保存用に、複数の空き配線を用いる場合のスイッチの設定例を示す図である。
図16の例では、配線L11が、信号が伝搬される配線であり、その他の配線L10,L12,L13が空き配線である場合のスイッチ50〜65,70〜85の設定例が示されている。黒く塗りつぶして図示されているスイッチ53〜55,62,64,65が縦横の配線接続を行っているスイッチである。
このような設定により、信号VIN2が“1”から“0”に変化する際には、配線L11の配線容量にチャージされた電荷の一部が、スイッチ54、電荷再利用回路32a、スイッチ62,64,65を介して配線L10,L12,L13の配線容量に保存される。
このとき、信号VOUT2が電圧VINT_HIGHに下がり、その後、放電により0Vに下がる。
一方、信号VIN2が“0”から“1”に変化する際には、配線L10,L12,L13の配線容量にチャージされた電荷の一部が、スイッチ62,64,65、電荷再利用回路32a、スイッチ54を介して配線L11の配線容量に保存される。
このとき、信号VOUT2が電圧VINT_LOWに下がり、その後、配線L11に残りの電荷がチャージされ、電源電圧VDDに上がる。
1本の配線の電荷の保存用に、複数の空き配線を用いる場合、電荷保存用の配線容量は、1本の空き配線を用いる場合よりも大きくなる。つまり、前述の式(3),(4)の容量値CRは、複数の空き配線を用いる場合、1本の空き配線を用いる場合よりも大きくなる。たとえば、信号が伝搬される配線に対して、空き配線の割合が非常に大きい場合を考え、CR=∞とすると、式(3),(4)から電圧VINT_LOW及び電圧VINT_HIGHは、以下の式(10),(11)で表せる。
Figure 0006163978
Figure 0006163978
つまり、空き配線部分の配線容量が大きくなるにしたがい、電圧VINT_LOW及び電圧VINT_HIGHは、それぞれVDD/2に近づいていくことが分かる。前述した式(8),(9)のように1本の配線の電荷の保存用に、1本の空き配線を用いた場合の電圧VINT_LOW及び電圧VINT_HIGHは、VDD/3及び2VDD/3である。そのため、複数の空き配線を用いた場合、電圧VINT_LOWについては、1本の空き配線を用いた場合よりも大きくなり、電圧VINT_HIGHについては、小さくなる。
電圧VINT_HIGHが小さくなると、放電による電圧降下分が少なくて済むので、複数の空き配線を用いた場合、1本の空き配線を用いた場合よりも、消費電力をより削減することができる。
また、電圧VINT_LOWが大きくなると、チャージによる電圧上昇分が少なくて済むので、複数の空き配線を用いた場合、1本の空き配線を用いた場合よりも、消費電力をより削減することができる。
R=∞のとき、消費エネルギーは式(6),(7)で表せるため、信号VIN1が“1”から“0”に変化するときも、信号VIN1が“0”から“1”に変化するときも、消費エネルギーは、CLDD 2/8、となる。電荷再利用を利用しない場合(放電またはチャージする際の電圧変化が0Vから電源電圧VDD)の消費エネルギーは、CLDD 2/2となるため、電荷再利用を行うことによる電力削減効果は、1/4(75%)程度となる。
また、図14〜図16では、1つまたは複数の空き配線の配線容量を用いて、電荷再利用を行うことで、小面積で消費電力を抑えることができる。
また、図14〜図16のような選択部35−1,35−2を設けることで、たとえば、動作率が高い信号が伝搬する配線に対しては消費電力が大きくなるため、電荷再利用を行うようにして選択して、消費電力を削減させることができる。また、遅延が大きくなるとタイミング制約を満たさなくなるような信号が伝搬する配線に対しては電荷再利用を行わないように選択することができる。
次に、上記のような電荷再利用を行う半導体集積回路10の設計方法を説明する。
(半導体集積回路10の設計方法)
図17は、半導体集積回路の設計方法の一例の流れを示す図である。
まず、RTL(Register Transfer Level)デザインデータD1が論理合成によりネットリストに変換される(ステップS10)。RTLデザインデータD1は、Verilog−HDL(Hardware Description Language)やVHDL(Very high-speed integrated circuit HDL)などのハードウェア記述言語で記述される。なお、ステップS10の処理では、SystemC、CまたはC++記述を高位合成するようにしてもよい。
次に、テクノロジマッピング処理と、クラスタリング処理が行われる(ステップS11,S12)。テクノロジマッピング処理では、組み合わせ回路部分が基本論理エレメント(図8参照)内のLUTにマッピングされ、レジスタがフリップフロップにマッピングされる。クラスタリング処理では、複数の基本論理エレメントがまとめて、CLB(図7参照)にマッピングされる。
その後、配置処理が行われる(ステップS13)。配置処理では、FPGA上でのCLBの配置位置が決定される。
配置処理が終わると、電荷再利用を考慮した配線処理と、タイミング制約を考慮してどの配線に対して電荷再利用を有効にするか決定する電荷再利用モード選択処理が行われる(ステップS14,S15)。電荷再利用を有効にすると、無効の場合よりも遅延が発生するため、タイミング制約を満たす範囲で、できるだけ多くの配線で電荷再利用を有効にできるよう選択することで、消費電力をより多く削減できる。
その後、ビットストリーム生成処理が行われる(ステップS16)。ビットストリーム生成処理では、確定した配置配線情報から、FPGAのコンフィギュレーション用のビットストリーム(バイナリデータ)D2が生成される。
上記のような設計方法は、たとえば、以下のような設計装置にて実行される。
(設計装置の一例)
図18は、設計装置のハードウェア例を示す図である。
設計装置100は、たとえば、図18に示すようなコンピュータであり、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC、またはPLD(Programmable Logic Device)である。またプロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、設計装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107及びネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD103は、設計装置100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、プロセッサ101からの命令にしたがって、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をプロセッサ101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク106aに記録されたデータの読み取りを行う。光ディスク106aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク106aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、設計装置100に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース107には、メモリ装置107aやメモリリーダライタ107bを接続することができる。メモリ装置107aは、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ107bは、メモリカード107cへのデータの書き込み、またはメモリカード107cからのデータの読み出しを行う装置である。メモリカード107cは、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク108aに接続されている。ネットワークインタフェース108は、ネットワーク108aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、図17に示したような設計方法が実現される。
なお、設計装置100は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、上記の設計方法を実現する。設計装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、設計装置100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また設計装置100に実行させるプログラムを、光ディスク106a、メモリ装置107a、メモリカード107cなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
以下、図17に示したステップS14の配線処理の一例を説明する。
(配線処理の一例)
図19は、配線処理を行う機能ブロック図の一例である。
図19には、配線処理を行う配線処理部110と、記憶部111が示されている。配線処理部110は、記憶部111に格納されたネットリストD5、配置情報D6、信号動作率情報D7に基づき、後述するスラック率などを求めて配線処理を行い、配線情報D8を生成し、記憶部111に格納する。
なお、配線処理部110と記憶部111は、たとえば、図18に示した設計装置100のプロセッサ101、RAM102、HDD103などによって実現される。
配線処理の際、配線処理部110では、FPGAの内部配線構造を有効グラフで表す。
図20は、FPGAの配線構造の一部の例を示す図である。
また、図21は、図20の配線構造に対応する有効グラフの一例を示す図である。
図20の配線構造では、CLB121−1の出力端子out1は、CB123−1によって配線w1,w2,w3に接続されている。CLB121−1の出力端子out2は、CB123−1によって配線w2,w3,w4に接続されている。CLB121−2の入力端子in1は、CB123−2によって配線w5,w6,w7に接続されている。また、CLB121−3の入力端子in2は、CB123−3によって配線w9,w10,w11に接続され、入力端子in3は、CB123−3によって配線w10,w11,w12に接続されている。SB122−1は、配線w1〜w4と配線w5〜w8間の配線接続の切り替えを行う。SB122−2は、配線w5〜w8と配線w9〜w12間の配線接続の切り替えを行う。
なお、図20に示されているs1,s2は信号の始点を表し、t11,t12,t21は、信号の終点を表している。
図21に示されている有効グラフでは、信号の始点s1,s2から信号の終点t11,t12,t21までのパスが、出力端子out1,out2、入力端子in1〜in3、配線w1〜w12を頂点として表されている。
このような有効グラフでは、配線w1〜w12の遅延が頂点間を接続する辺の重みとして表される。後述するコスト関数を用いて求めたコストが最小となるような始点−終点間のパスを求めることにより、信号の配線への最適な割り当てを決定することができる。
図22は、配線処理の一例の流れを示すフローチャートである。
配線処理部110は、事前準備として、1本の配線への複数の信号の割り当てを許容し、遅延が最小となるような配線処理を行っておく。
まず、配線処理部110は、複数の信号で使用される配線があるか否かを判定する(ステップS20)。配線処理部110は、複数の信号で使用される配線があると判定したときには、ステップS21からの処理を行い、複数の信号で使用される配線がないと判定したときには、配線処理を終了する。
ステップS21の処理では、配線処理部110は、信号iが伝達されるパスを保持する配線ツリーRTiを初期化する。配線ツリーRTiの初期化後、配線処理部110は、信号iが伝達されるパスの始点siを配線ツリーRTiに追加する(ステップS22)。
その後、配線処理部110は、幅優先探索手法により、以下の手順で終点を探索していく。
配線処理部110は、優先度付キューPQを初期化し、配線ツリーRTiの葉ノード(端点)をコスト=0として優先度付キューPQに追加する(ステップS23)。次に、配線処理部110は、優先度付キューPQから、コストが最小となるノードmを取り出し(ステップS24)、ノードmが信号iの未到達の終点tijであるか否かを判定する(ステップS25)。
配線処理部110は、ノードmを未到達の終点tijでないと判定したとき、ノードmの隣接ノードnに関するコスト計算及びコストの優先度付キューPQへの追加処理を行う(ステップS26)。ステップS26の処理の例については後述する。ステップS26の処理後には、ステップS24からの処理が繰り返される。
一方、配線処理部110は、ノードmを未到達の終点tijと判定したとき、終点tijから始点siへと逆順で、経路内の1つのノードnを選択してコストを更新し(ステップS27)、配線ツリーRTiに選択したノードnを追加する(ステップS28)。
そして、配線処理部110は、終点tijから始点siへの経路内の全ノードnの処理が完了したか否かを判定し(ステップS29)、処理が完了していないと判定したときには、ステップS27からの処理を繰り返す。
配線処理部110が、終点tijから始点siへの経路内の全ノードnの処理が完了したと判定したときには、ある始点siからある終点tijへのパスが求められたことになる。そこで、配線処理部110は、信号iの全終点tijが探索済であるか否かを判定する(ステップS30)。終点tijが複数あり、未探索の終点tijがあるときには、配線処理部110は、ステップS23からの処理を繰り返す。
配線処理部110は、全終点tijを探索済と判定したとき、全信号の配線への割り当てが完了したか否かを判定する(ステップS31)。配線ツリーRTiは、信号iのパスを一時的に保存するものであるため、1つの信号の配線への割り当てが終わるごとに初期化される。そのため、配線処理部110は、全信号の配線への割り当てが完了していないと判定したときには、ステップS21からの処理を繰り返す。
配線処理部110は、全信号の配線への割り当てが完了したと判定したときには、ステップS20の判定を再び行う。ここで、複数の信号で使用される配線があると、配線処理部110は、再度全信号に対しての配線処理を実施する。ここで、前回の配線処理の結果に応じて、コスト関数の係数が変わるため、次の配線処理では、信号は、前回のパスとは異なるパスを通るため、全信号の配線への割り当てを繰り返していくことにより、最終的には、複数の信号で使用される配線がなくなる。これによって、配線処理が終了する。
次に、ステップS26の処理の例を、電荷保存用として用いる配線を固定した場合(図9参照)と、電荷保存用として用いる配線を任意に変更できる場合(図14参照)について説明する。
(電荷保存用として用いる配線を固定した場合)
図23は、電荷保存用として用いる配線を固定した場合の、ノードmに隣接するノードnに関するコスト計算及び、コストの優先度付キューPQへの追加処理の例を示すフローチャートである。
配線処理部110は、信号iの割り当て候補のノードmに隣接する1つのノードnを選択し(ステップS40)、ノードnの電荷保存用の配線が、他の信号jの割り当て候補として使用済であるか否か判定する(ステップS41)。
ノードnの電荷保存用の配線が使用済ではないとき、配線処理部110は、コスト関数Aを用いて、コストCostn+Pimを算出し、優先度付キューPQに追加する(ステップS42)。Costnは、ノードnでのコストであり、Pimは、始点siからノードmまでのコストである。
ステップS42の処理では、配線処理部110は、Pathfinder方式(非特許文献2参照)を用い、コスト関数Aとして、以下の式(12)でCostnを求める。
Figure 0006163978
式(12)において、Crit(i)は、以下の式(13)で表され、信号iのスラック率を表す。
Figure 0006163978
式(13)において、delayiは、信号iの遅延、delaymaxは、全信号の最大遅延である。そのため、0<Crit(i)≦1となる。Crit(i)は、信号iの遅延が最大遅延に近づくほど(タイミングに余裕がないほど)1に近づき、最大遅延より小さいほど(タイミングに余裕があるほど)0に近い値となる。
式(12)のcong_cost(n)は、ノードnの混雑度を示し、多くの信号の割り当て候補となっているほど大きな値となる。また、delay_cost(n)は、配線nの遅延を示している。
前述したように、図22のステップS24の処理では、コストが最小となるノードmが取り出される。式(12)のように、信号iのタイミングがクリティカルのとき(Crit(i)が1に近いとき)、delay_cost(n)がコストにおいて支配的となり、ノードnの遅延が小さいほどコストが小さくなる。そのため、ノードnが、ステップS24の処理で選ばれやすくなる。
また、タイミングに余裕があるほど(Crit(i)が0に近いほど)、cong_cost(n)が支配的となり、ノードnの混雑度が小さいほどコストが小さくなる。つまり、ノードnの混雑度が小さいほど、ステップS24の処理で選ばれやすくなる。
一方、ノードnの電荷保存用の配線が使用済のとき、配線処理部110は、コスト関数Bを用いて、コストCostn+Pimを算出し、優先度付キューPQに追加する(ステップS43)。
ステップS43の処理では、配線処理部110は、コスト関数Bとして、以下の式(14)でCostnを求める。
Figure 0006163978
式(14)において、αiは信号iの動作率、PFは調整用の定数、res_cost(n)は以下の式(15)で表される。
Figure 0006163978
式(15)において、jは信号iの割り当て候補であるノードnの電荷保存用の配線に割り当てられている信号のインデックスを示している。
式(14)のように、信号iのタイミングがクリティカルのとき(Crit(i)が1に近いとき)、delay_cost(n)がコストにおいて支配的となる。そのため、ノードnの遅延が大きいほどコストが大きくなり、ステップS24の処理で信号iのパスの候補として選ばれにくくなる。電荷再利用を行う配線は、前述した理由により遅延が大きくなるので、ノードnの元々の遅延(配線遅延)が大きい場合、この処理によりノードnは、信号iのパスの候補としては選択されにくくなる。これにより、遅延が大きいノードnに対する電荷再利用の実行が抑制され、タイミングの余裕がより小さくなることを抑制できる。
逆にノードnの遅延が小さいと、ノードnは、ステップS24の処理で信号iのパスの候補として選ばれやすくなる。そのため、ノードnに対する電荷再利用が行われることで、消費電力を削減できる。
信号iのタイミングに余裕があるとき(Crit(i)が0に近いとき)は、信号iの動作率αiが大きいほど、cong_cost(n)とαi・PFの値が支配的となる。cong_cost(n)が一定のとき、PFは、αi・PFの値が支配的なとき、コストが小さくなるように適切に調整されているため、ステップS24の処理ではノードnは信号iのパスの候補として選ばれやすくなる。つまり、ノードnは信号iのパスとして選択されやすくなり、ノードnに対する電荷再利用が行われることで、消費電力を削減できる。
信号iのタイミングに余裕があり、信号iの動作率が低いとき、cong_cost(n)とres_cost(n)の値が支配的となる。cong_cost(n)が一定で、信号jのタイミングに余裕があるとき(Crit(j)が0に近いとき)、電荷保存用の配線の使用に既に割り当てられている信号jの動作率が高いと、コストが大きくなる。
そのため、ノードnは、ステップS24の処理で信号iのパスの候補として選ばれにくくなる。これによりノードnの電荷保存用の配線が、信号jを伝搬するパスの一部として選択されやすくなり、信号jを伝達する配線で電荷再利用が行われやすくなる。このように、動作率の高い信号jが伝搬される配線に対して電荷再利用が行われることで、消費電力の削減効果が高まる。
ステップS42,S43の処理の後、配線処理部110は、ノードmの全隣接ノードnの処理が完了したか否かを判定する(ステップS44)。
配線処理部110は、ノードmの全隣接ノードnの処理が完了していないと判定したときには、ステップS40からの処理を繰り返す。配線処理部110は、ノードmの全隣接ノードnの処理が終了したと判定したときには、ノードmの隣接ノードnに関するコスト計算及び、コストの優先度付キューPQへの追加処理を終了する。
(電荷保存用として用いる配線を任意に変更できる場合)
図24は、電荷保存用として用いる配線を任意に変更できる場合の、ノードmに隣接するノードnに関するコスト計算及び、コストの優先度付キューPQへの追加処理の例を示すフローチャートである。
配線処理部110は、信号iの割り当て候補のノードmに隣接する1つのノードnを選択し(ステップS50)、ノードnの電荷保存用の配線から未処理の配線を1本選択する(ステップS51)。
そして、配線処理部110は、ノードnの電荷保存用の配線が、他の信号jの割り当て候補または他の信号jが伝搬する配線が使用する電荷保存用の配線の候補として使用済であるか否か判定する(ステップS52)。
ノードnの電荷保存用の配線が使用済ではないとき、配線処理部110は、前述の式(12),(13)で示されるコスト関数Aを用いて、コストCostn+Pimを算出する(ステップS53)。
ノードnの電荷保存用の配線が使用済のとき、配線処理部110は、前述の式(14),(15)で示されるコスト関数Bを用いて、コストCostn+Pimを算出する(ステップS54)。
ただし、図24の処理において、式(15)のjは、ステップS51の処理で選択された電荷保存用の配線に既に割り当てられている信号、またはその電荷保存用の配線を使用する他の配線を伝搬する信号のインデックスを示している。
信号iのタイミングがクリティカルのときと、信号iのタイミングに余裕があり、かつ信号iの動作率αiが大きいときには、前述した電荷保存用として用いる配線を固定した場合と同様の作用効果が得られる。
信号iのタイミングに余裕があり、信号iの動作率αiが小さいとき、cong_cost(n)とres_cost(n)の値が支配的となる。このとき、上記の信号jの動作率αiが大きいと、コストが大きくなる。そのため、ノードnは、ステップS24の処理で信号iのパスの候補として選ばれにくくなる。これによりノードnの電荷保存用の配線が、信号jを伝搬するパスの一部、または、信号jを伝搬する配線の電荷保存用の配線として選択されやすくなる。このように、動作率の高い信号jが伝搬される配線に対して電荷再利用を適用されやすくすることで、消費電力の削減効果が高まる。
ステップS53,S54の後、配線処理部110は、ノードnの電荷保存用の全配線に対してステップS51〜S54の処理が完了したか否かを判定する(ステップS55)。
配線処理部110は、ノードnの電荷保存用の全配線に対してステップS51〜S54の処理が完了していないと判定したとき、ステップS51からの処理を繰り返す。
配線処理部110は、ノードnの電荷保存用の全配線に対してステップS51〜S54の処理が完了したと判定したとき、全配線のうちコストが最小となる配線を選択して、求めたコストを優先度付キューPQに追加する(ステップS56)。
その後、配線処理部110は、ノードmの全隣接ノードnに対して、ステップS50〜S46の処理が完了したか否かを判定する(ステップS57)。
配線処理部110は、ノードmの全隣接ノードnに対して、ステップS50〜S56の処理が完了していないと判定したとき、ステップS50からの処理を繰り返す。
配線処理部110は、ノードmの全隣接ノードnに対して、ステップS50〜S56の処理が完了したと判定したとき、ノードmの隣接ノードnに関するコスト計算及び、コストの優先度付キューPQへの追加処理を終了する。
以下、図17に示したステップS15の電荷再利用モード選択処理の一例を説明する。
(電荷再利用モード選択処理の一例)
図25は、電荷再利用モード選択処理を行う機能ブロック図の一例である。
図25には、図19に示した記憶部111のほか、タイミンググラフ生成部130、目的関数生成部131、制約条件生成部132、電荷再利用有効/無効決定部133が示されている。
タイミンググラフ生成部130は、記憶部111に記憶されたネットリストD5、配置情報D6、配線情報D8に基づき、タイミンググラフD9を生成し、記憶部111に記憶する。
目的関数生成部131は、記憶部111に記憶された信号動作率情報D7とタイミンググラフD9に基づき、目的関数D10を生成する。
制約条件生成部132は、記憶部111に記憶されたタイミンググラフD9とタイミング制約D11に基づき、ノード単位で制約条件D12を生成し、記憶部111に記憶する。
電荷再利用有効/無効決定部133は、記憶部111に記憶された目的関数D10と制約条件D12に基づき、電荷再利用有効/無効設定値D13を生成し、記憶部111に記憶する。本実施の形態において、電荷再利用有効/無効決定部133は、混合線形計画法(MILP:Mixed Integer Linear Programming)を用いてどの配線の電荷再利用を有効にするか否かを決定するMILPソルバであるものとする。
タイミンググラフ生成部130、目的関数生成部131、制約条件生成部132、電荷再利用有効/無効決定部133及び記憶部111は、たとえば、図18に示した設計装置100のプロセッサ101、RAM102、HDD103などによって実現される。
以下、電荷再利用を有効にする配線を求める例を示す。
図26は、タイミンググラフで表す論理回路の一例を示す図である。
端子PI1,PI2から入力される信号l1,l2のAND論理をとって信号Oとして端子POに出力するAND回路140が示されている。
タイミンググラフ生成部130は、ネットリストD5、配置情報D6、配線情報D8に基づき、図26に示すような論理回路から、以下のようなタイミンググラフを生成する。
図27は、生成されたタイミンググラフの一例を示す図である。
タイミンググラフG(V,E)において、グラフの頂点は論理回路の配線及び端子、グラフの辺は配線のプログラマブルスイッチ及びLUTで表される組み合わせ回路を示している。
このとき、頂点の集合Vにおける、ある配線(頂点)vの遅延Dvは、以下の式(16)で表される。
Figure 0006163978
式(16)において、DIntrinsicvは、電荷再利用を行わない場合の遅延を示し、γvは、配線vが電荷再利用モードを使用するか否か(電荷再利用が有効か否か)を示す2値(0/1)の変数を示している。また、δvは、電荷再利用が有効のときに追加される遅延を示している。
入力からある頂点vまでのワーストケースの遅延は、以下の式(17)で表される。
Figure 0006163978
ワーストケースの遅延は、頂点vへの全入力遅延を、max関数を使って求めてもよいが、本実施の形態では、混合整数線形計画法を用いるため、上記の式(17)のような形で表される。なお、入力が1つの場合は不等号なしの形となる。
COを組み合わせ回路の終端(全体の出力端子、フリップフロップの入力端子など)となるような集合Vの部分集合とし、ユーザ定義のタイミング制約をTとすると、制約条件生成部132は、以下の式(18)で表される制約条件を生成する。
Figure 0006163978
また、CRを集合Vの部分集合である電荷再利用を適用可能な(空き配線をもつ)配線とすると、目的関数生成部131は、以下の式(19)で表される目的関数を生成する。
Figure 0006163978
式(19)において、αiは、頂点iの動作率で、最初の項は動作率で重み付けされた電荷再利用可能な配線の和を表し、後の項は遅延の和となる。
電荷再利用有効/無効決定部133は、式(16)〜(18)の条件と、式(19)を用いてΦを最大にするようなγを混合整数線形計画法で求めることにより最も多くの配線での電荷再利用を有効にすることができる。
たとえば、図27に示すようなタイミンググラフG(V,E)で、配線をA,B,C,D、各配線のDIntrinsicvを1nsとし、δvを0.5nsとすると、式(16),(17)から式(20)、式(21)が得られる。
Figure 0006163978
Figure 0006163978
タイミング制約Tを5nsとすると、式(18)より、制約条件として式(22)が得られる。
Figure 0006163978
また、目的関数は、以下の式(23)のようになる。
Figure 0006163978
電荷再利用有効/無効決定部133は、式(22)の制約条件と、式(23)の目的関数に基づき、混合整数線形計画法を用いて、最も多くの配線で電荷再利用を有効にする解を求める。
上記の例の場合、γA=1、γB=0、γC=0,γF=0が解となり、配線Aで電荷再利用を有効とし、配線B,C,Fで電荷再利用を無効とすることで、タイミング制約を満たしながら最も多くの配線で電荷再利用を有効にできる、という結果が得られる。
これにより、タイミング制約を満たしながら、電力をより多く削減することができる。
以上、実施の形態に基づき、本発明の半導体集積回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
1 半導体集積回路
2 スイッチ
3 電荷再利用制御回路
C1,C2 配線容量
L1,L2 配線
IN 信号

Claims (4)

  1. 信号が伝搬される第1の配線と、
    前記信号の伝搬に使用されない第2の配線と、
    前記第1の配線と前記第2の配線とを電気的に接続または切断するスイッチと、
    前記第1の配線に伝搬される前記信号の電位に基づいて前記スイッチを制御して、前記第1の配線の第1配線容量に充電された電荷の一部を前記第2の配線の第2配線容量に移動して保存し、前記第1配線容量の充電のときに、保存した前記電荷を前記第1配線容量に引き込む電荷再利用制御回路と、
    複数の配線の中から、前記第1の配線と前記第2の配線を選択し、選択した前記第1の配線を、前記スイッチを介して前記第2の配線に接続する選択部と、
    を有することを特徴とする半導体集積回路。
  2. 前記選択部は、1つの前記第1の配線に対して複数の前記第2の配線を、前記スイッチを介して接続することを特徴とする請求項1に記載の半導体集積回路。
  3. 前記電荷再利用制御回路は、前記1配線容量と前記第2配線容量との間での電荷の移動が完了するまでの時間に基づき、前記スイッチによる前記第1の配線と前記第2の配線との電気的接続が切断されることを遅延させる遅延回路、を有することを特徴とする請求項1または2に記載の半導体集積回路。
  4. 前記遅延回路は、設定信号によって遅延機能を有効または無効とし、電荷再利用を行うか否かを設定することを特徴とする請求項に記載の半導体集積回路。
JP2013180056A 2013-08-30 2013-08-30 半導体集積回路 Active JP6163978B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013180056A JP6163978B2 (ja) 2013-08-30 2013-08-30 半導体集積回路
US14/339,509 US9742405B2 (en) 2013-08-30 2014-07-24 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013180056A JP6163978B2 (ja) 2013-08-30 2013-08-30 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2015050271A JP2015050271A (ja) 2015-03-16
JP6163978B2 true JP6163978B2 (ja) 2017-07-19

Family

ID=52582202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013180056A Active JP6163978B2 (ja) 2013-08-30 2013-08-30 半導体集積回路

Country Status (2)

Country Link
US (1) US9742405B2 (ja)
JP (1) JP6163978B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6397811B2 (ja) * 2015-12-18 2018-09-26 株式会社東芝 半導体集積回路及び高周波アンテナスイッチ
WO2017139241A1 (en) 2016-02-08 2017-08-17 Chaologix, Inc. Side channel aware automatic place and route
US11146267B1 (en) * 2020-11-30 2021-10-12 Stmicroelectronics S.R.L. Charge recovery driver for MEMS mirror with reduced number of tank capacitors

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3561012B2 (ja) * 1994-11-07 2004-09-02 株式会社ルネサステクノロジ 半導体集積回路装置
JPH0926841A (ja) * 1995-07-10 1997-01-28 Toshiba Corp データ転送回路
US6242890B1 (en) * 1998-06-09 2001-06-05 Seiko Instruments Inc. Charge/discharge control circuit and chargeable electric power source apparatus
JP2001195163A (ja) * 2000-01-12 2001-07-19 Nec Corp 容量性負荷駆動回路及びその駆動方法並びにそれを用いた半導体集積回路装置
JP2002049447A (ja) * 2000-08-03 2002-02-15 Matsushita Electric Ind Co Ltd 信号伝送システム
JP2002313922A (ja) * 2001-04-09 2002-10-25 Matsushita Electric Ind Co Ltd 信号線駆動方法および信号線駆動装置
US6661410B2 (en) * 2001-09-07 2003-12-09 Microsoft Corporation Capacitive sensing and data input device power management
JP4037116B2 (ja) * 2002-01-28 2008-01-23 松下電器産業株式会社 遅延調整回路装置、これを用いた半導体集積回路装置および遅延調整方法
JP2011250107A (ja) 2010-05-26 2011-12-08 Renesas Electronics Corp 負荷容量の駆動回路
JP5880239B2 (ja) * 2012-04-13 2016-03-08 株式会社ソシオネクスト 電源装置及び電源の制御方法

Also Published As

Publication number Publication date
US20150061410A1 (en) 2015-03-05
JP2015050271A (ja) 2015-03-16
US9742405B2 (en) 2017-08-22

Similar Documents

Publication Publication Date Title
US7117457B2 (en) Current scheduling system and method for optimizing multi-threshold CMOS designs
JP2002500435A (ja) タイミング閉鎖方法
US20080244473A1 (en) Modifying Integrated Circuit Designs to Achieve Multiple Operating Frequency Targets
JP2007329920A (ja) Mtmos回路のモード遷移中に電荷を再利用して消費電力を削減する回路及び方法
JP6163978B2 (ja) 半導体集積回路
JP6307506B2 (ja) 共振クロッキングモードと通常のクロッキングモードとの間の遷移
KR20190070963A (ko) 전하 재활용 스위치드 커패시터 레귤레이터
JP6268426B2 (ja) 半導体集積回路の設計方法及びプログラム
US9053773B2 (en) Method and apparatus for clock power saving in multiport latch arrays
Ratkovic et al. Physical vs. physically-aware estimation flow: case study of design space exploration of adders
Herath et al. Communication-aware partitioning for energy optimization of large FPGA designs
Patil Flow based logic design partitioning
US20140082573A1 (en) Circuit design support apparatus, circuit design support method, and computer product
Chentouf et al. Power-aware hold optimization for ASIC physical synthesis
US7823112B1 (en) Method, software and system for ensuring timing between clocked components in a circuit
Honkote et al. Custom rotary clock router
JP2000029923A (ja) 自動配置配線装置及び半導体集積回路
Huda et al. Power optimization of FPGA interconnect via circuit and CAD techniques
US20240241571A1 (en) Scalable Power Delivery System
Roy et al. Skew bounded buffer tree resynthesis for clock power optimization
Lu et al. Register on MEsh (ROME): A novel approach for clock mesh network synthesis
JPH07253825A (ja) 半導体集積回路のクロック信号分配方法およびこの方法に用いられる周波数逓倍器
Koziel et al. Reducing average and peak temperatures of VLSI CMOS circuits by means of evolutionary algorithm applied to high level synthesis
KR101929440B1 (ko) 노화현상 및 전압변이를 고려한 클럭 트리 합성 방법
Guo et al. A novel performance driven power gating based on distributed sleep transistor network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170427

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: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6163978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150