JP6839395B2 - 半導体演算装置 - Google Patents

半導体演算装置 Download PDF

Info

Publication number
JP6839395B2
JP6839395B2 JP2018520820A JP2018520820A JP6839395B2 JP 6839395 B2 JP6839395 B2 JP 6839395B2 JP 2018520820 A JP2018520820 A JP 2018520820A JP 2018520820 A JP2018520820 A JP 2018520820A JP 6839395 B2 JP6839395 B2 JP 6839395B2
Authority
JP
Japan
Prior art keywords
wiring
layer
arithmetic unit
arithmetic
layers
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
JP2018520820A
Other languages
English (en)
Other versions
JPWO2017208901A1 (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Publication of JPWO2017208901A1 publication Critical patent/JPWO2017208901A1/ja
Application granted granted Critical
Publication of JP6839395B2 publication Critical patent/JP6839395B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/77Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
    • H01L21/78Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
    • H01L21/82Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/77Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
    • H01L21/78Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
    • H01L21/82Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
    • H01L21/822Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components the substrate being a semiconductor, using silicon technology
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Manufacturing & Machinery (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Internal Circuitry In Semiconductor Integrated Circuit Devices (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)

Description

本発明は半導体演算装置に係り、特に多数の演算器を三次元集積してこれらを並列に動作させて効率的な演算を実現する半導体演算装置に関する。
並列に動作させる多数の演算器が単一チップに集積された半導体演算装置はいわゆるメニーコアプロセッサを構成し、それを構成する演算器の数は半導体微細加工技術の進展によって年々増加してきた。近年では、このメニーコアプロセッサの構造は、汎用の画像処理演算装置(GPGPU:General Purpose Graphical Processing Unit)などに見られ、深層学習などの計算における畳み込み演算の高速化に貢献している。
しかし、同時に半導体微細加工技術の進展が困難な状況となれば、単一チップに集積される演算器数を増加させることが難しくなる。単一チップに集積される演算器数を増加させることは、半導体演算装置の演算性能の向上に欠かせない。
そこで、半導体微細加工の困難性を解決し、単一チップに集積可能な演算器の数を増加させる方法として、従来より半導体素子の三次元集積が検討されている。より具体的には主として二つの方法が知られている。第一の方法は、シリコン基板上に作製した集積回路を薄層化し張り合わせ、シリコン基板を貫通する縦穴(ビア)によって層間の配線を行うTSV(Through Silicon Via)方式である(例えば、非特許文献1参照)。第二の方法は、半導体基板上にトランジスタを形成後に続けて絶縁層、半導体薄膜を複数積層し、これらの層を二層目以降のトランジスタ形成層として利用するビルドアップ三次元集積、もしくはモノリシック三次元集積と呼ばれる方式である(例えば、非特許文献2参照)。
これらの方式のいずれかによれば、最小の配線ピッチが0.5μmをきるような0.15μmプロセス以細の半導体集積回路作製技術を使って、これと同等のピッチで素子形成層間の配線を行えることができるようになると期待される。
F.Furuta,et al.,"Scalable 3D-FPGA using wafer-to-wafer TSV interconnect of 15 Tbps/W,3.3 Tbps/mm2",Proceedings of 2013 Symposium on VLSI Circuits,pp.C24-C25 (2013) T.Irisawa,et al.,"Demonstration of ultimate CMOS based on 3D stacked InGaAs-OI/SGOI wire channel MOSFETs with independent back gate",Proceedings of 2014 Symposium on VLSI Technology,pp.1-2,(2014)
しかしながら、前述した三次元集積方法を使ってメニーコアプロセッサにおける演算器の数、もしくは単一チップに集積される演算器と第二乃至第三レベルキャッシュの数を増加させたとしても、層間貫通配線を有効に活用した演算器乃至キャッシュ間の通信路、すなわちネットワーク・オン・チップ(NoC:Network on Chip)が提供されなければ、結局層内に配置される通信路の帯域幅が半導体演算装置全体の性能を律速し、三次元集積の有効性は限定されてしまう。
本発明は以上の点に鑑みなされたもので、三次元集積回路の層間配線を複数の演算器間の通信路として用いて、広帯域なNoCを可能とした半導体演算装置を提供することを目的とする。
本発明の第1実施形態の半導体演算装置は、演算器が縦方向の寸法Lv、横方向の寸法Lhの方形領域内に配置され、かつ、2以上の前記演算器が同一層内で二次元アレイ状に配置された素子層が複数積層されており、前記複数の素子層の積層方向に相隣る素子層において、それぞれ配置位置が重なる前記演算器同士が、互いに前記演算器の一つの対角線方向に相対的にずれて配置されるように前記複数の素子層を積層するとともに、前記相隣る素子層においてそれぞれ配置位置が重なる前記演算器同士を配線により接続し、層間の前記配線を通信路として用いることを特徴とする。
本発明の第2実施形態の半導体演算装置は、第1実施形態において、複数の素子層が、少なくとも(m/4)層(ただし、mはメニーコアプロセッサにおいて、近接する演算器と1タイムスロットで同時通信可能な演算器の数)積層されており、積層方向に相隣る素子層それぞれに配置された演算器が、互いに素子層表面において縦方向にLv/(m/4)、横方向にLh/(m/4)の各寸法だけ相対的にずれて配置されていることを特徴とする。
本発明の第3実施形態の半導体演算装置は、第1又は第2の実施形態において、複数の素子層のうち、それぞれ3以上の異なる素子層の配置位置が重なる各演算器の、配線領域位置が重なる配線領域同士を直線状に貫通して接続する貫通配線を有し、前記貫通配線を通信路として使用することを特徴とする。
本発明の第4実施形態の半導体演算装置は、第1乃至第3の実施形態のいずれかの実施形態において、演算器を構成するロジックセルの中に、複数の素子層の中間配線層の配線ピッチのn倍(ただし、nは1以上の自然数)の幅の素子層貫通用配線領域が、横方向に帯状に形成されていることを特徴とする。
本発明の第5実施形態の半導体演算装置は、第4の実施形態において、素子層貫通用配線領域は、複数の素子層の互いに同じ位置に横方向に帯状に形成されていることを特徴とする。
本発明の第6実施形態の半導体演算装置は、第4又は第5の実施形態において、素子層貫通用配線領域が、ロジックセルの電源用配線領域に隣接して平行に形成されていることを特徴とする。
本発明の第7実施形態の半導体演算装置は、第1乃至第6の実施形態のいずれかの実施形態において、演算器は、各々縦方向の寸法が中間配線層の配線ピッチFのj倍、横方向の寸法が前記配線ピッチFのk倍の大きさのロジックセルが複数、縦方向の寸法Lv、横方向の寸法Lhの方形領域内に規則的に配置された構成であることを特徴とする。
本発明によれば、積層方向に相隣る素子層の層間配線を、素子層が異なる複数の演算器間の通信路として用いることができ、三次元集積回路における広帯域なNoCを可能とすることができる。その結果、本発明によれば、素子層が例えば2層積層の場合であれば、1対4の多対1結合をすべての演算器で対称に実現でき、更に層内の通信路も含めれば、1対8の多対1結合をすべての演算器で実現できる。
本発明に係る半導体演算装置の第1の実施形態の概略の平面図及び断面図である。 本発明に係る半導体演算装置の第1の実施形態の相隣る2つの素子層の演算器の位置関係の説明用平面図である。 本発明に係る半導体演算装置の第1の実施形態の層間配線の説明用断面図である。 (A)は本発明に係る半導体演算装置における演算器を構成する一つのロジックセルの第1の実施形態の平面図、(B)は(A)のI−I’線に沿う断面図である。 本発明に係る半導体演算装置の第1の実施形態における一つの演算器の一例の模式的平面図である。 ロジックセルによって構成される演算器の最適配置の一例の模式的平面図である。 本発明に係る半導体演算装置を用いたニューラルネットワークの畳み込み演算装置の一例の回路構成図である。 図7に示した畳み込み演算装置におけるニューラルネットワークの計算処理について説明する図である。
次に、本発明の実施形態について図面を参照して説明する。
(第1の実施形態)
図1(A)及び(B)は、本発明に係る半導体演算装置の第1の実施形態の概略の平面図及び断面図を示す。同図(A)、(B)において、本実施形態の半導体演算装置10は、各々異なる第1、第2、第3の素子層に実装される演算器111〜113の各々が縦方向の寸法Lv、横方向の寸法Lhの方形領域内に重なり配置され、かつ、2以上の演算器111〜113がそれぞれ第1、第2、第3の同一層内で二次元アレイ状に配置された素子層を有する。以上は、素子層数が3の場合であるが、更に、素子層数をAと拡張して演算器の対角線方向に沿った演算器の断面図を示せば、図1(B)に121〜12Aで模式的に示すように素子層はA層(ただし、Aは2以上の自然数)積層されている。なお、図示の便宜上、図1(A)は3つの素子層121〜123が積層された状態(A=3の場合)の平面図を模式的に示している。また、図1(A)は図示の便宜上、一例として同一素子層に9つの演算器が二次元アレイ状に配置された平面図を模式的に示しており、演算器111は素子層121に二次元アレイ状に配置された9つの演算器、演算器112は素子層122に二次元アレイ状に配置された9つの演算器、演算器113は素子層123に二次元アレイ状に配置された9つの演算器を示している。
次に、本実施形態の積層方向に相隣る2つの素子層の演算器の位置関係について更に詳細に説明する。図2は、本発明に係る半導体演算装置の第1の実施形態の相隣る2つの素子層の演算器の位置関係の説明用平面図を示す。本実施形態の半導体演算装置10では、積層された複数の素子層のうち、図2に示すように、積層方向に相隣る第1及び第2の素子層121及び122(図1(A)の121及び122、又は122及び123に相当)において、第1の素子層121の第1の演算器111の配置位置と第2の素子層122の第2の演算器112の配置位置同士が、互いに素子層の一つの演算器の対角線14方向に相対的にずれて配置されるように素子層121及び122が積層されている。
すなわち、図2に示すようにそれぞれ配置位置が重なる演算器111及び112は、それぞれ互いに素子層表面において縦方向にLv/(m/4)、横方向にLh/(m/4)の各寸法だけ相対的にずれて配置されている(ただし、mは近接する演算器と1タイムスロットで同時通信が可能な演算器数を示す)。ここで、演算器111、112の各々は縦方向の寸法Lv、横方向の寸法Lhの方形領域内に構成されているので、積層方向に相隣る素子層121及び122のそれぞれ配置位置が重なる演算器111及び112の配置位置同士は、図2に模式的に示すように互いに演算器の一つの対角線14上に相対的にずれて配置されていることとなる。
また、本実施形態の半導体演算装置10では、図1(B)に模式的に示すように素子層121〜12Aのそれぞれの演算器のうち積層方向に重なる演算器同士がB本(ただし、Bは任意の自然数)の層間配線131〜13Bにより接続されている。層間配線131〜13Bは素子層121〜12Aの各演算器間の通信路として用いられる。なお、層間配線131〜13Bは、2以上の異なる素子層121〜12Aの積層方向に重なる演算器の配線領域位置を直線状に貫通する貫通配線を示している。ただし、層間配線は後述するように、相隣る2つの素子層の積層方向に重なる演算器の、積層方向に重ならない各配線領域同士を接続することもある。
本実施形態における層間配線について更に詳細に説明する。図3は、本発明に係る半導体演算装置の第1の実施形態の層間配線の説明用断面図を示す。同図中、図2と同一構成部分には同一符号を付してある。図3は、積層された複数の素子層のうち、積層方向に相隣る3つの素子層121、122及び123(図1(A)の121、122、123に相当)の、1つの演算器の対角線(図2の14に相当)に沿った断面図を示す。図3において、配線201は、積層方向に重なる位置にある第2の素子層122の第2の演算器1121と、第3の素子層123の第3の演算器1131の各配線領域を接続する層間配線である。
また、配線202は、積層方向に重なる位置にある第1の素子層121の第1の演算器1112と、第2の素子層122の第2の演算器1122と、第3の素子層123の第3の演算器1131の各配線領域を接続する層間配線である。配線202は、第1の演算器1112と、第2の演算器1122と、第3の演算器1131の各配線領域が積層方向に重なっており、これらをそれぞれ貫通し、かつ接続する直線状の貫通配線である。配線201及び202は、図1(B)の層間配線131〜13Aのいずれかに相当し、異なる素子層の各演算器間の通信路として用いられる。なお、配線203は同一の素子層の演算器間を結ぶ配線を示している。
本実施形態の半導体演算装置10によれば、三次元集積回路において層間配線131〜13A、201及び202を複数の素子層の各演算器間の通信路として用いることで、広帯域のNoCを実現できる。例えば2つの素子層積層の場合は一方の素子層の1つの演算器がもう一方の素子層の隣接する4つの演算器との通信が可能で、1対4の多対1結合を実現できる。また、素子層内の通信路を含めると1対8の多対1結合を実現できる。図3の断面図に示す構成では、面内方向に関しては4回対称性を持ち、対角線方向には層間方向に(m/4)でサイクルをなすため、すべての層を貫きデータを共有することによって、ネットワークトポロジーで最も近接するm個の演算器は対称性をもって1タイムスロットで同時に通信を行うことが可能となる。すなわち、層内・層間を合わせて最大でm個の近接する他の演算器と1タイムスロットでデータ交換をどの演算器においても対称で、かつ、最短の配線長で実現できる。図3は、m=12の例を示す。
次に、本発明に係る半導体演算装置を構成する演算器とそれを構成するロジックセルについて説明する。図4(A)は、本発明に係る半導体演算装置における演算器を構成する一つのロジックセルの第1の実施形態の平面図、図4(B)は、同図(A)のI−I’線に沿う断面図を示す。本発明に係る半導体演算装置に用いられる演算器を構成するロジックセルは各種あるが、図4(A)、(B)に示すロジックセル30は一例として4トランジスタ論理回路であるNANDゲートを示す。
一つのロジックセル30は、図4(A)の平面図に示すように、下端部に横方向に帯状の素子層貫通用配線領域31が設けられている構成に特徴がある。素子層貫通用配線領域31の縦方向の寸法である配線幅は、例えば各素子層の第ニ配線層の配線ピッチ(以下、中距離配線層のハーフピッチともいう)と同等の幅で、例えば1層目の素子層の貫通ビアと同じ径の貫通ビアが2箇所の位置32a、32bに穿設される。なお、素子層貫通用配線領域31は、ロジックセル30の上下端部の両方あるいは上端部側に設けられていてもよい。
図4(A)において、素子層貫通用配線領域31は、ロジックセル30の電源用配線層33a、33bのうち電源用配線層33bに隣接して平行に形成されている。電源用配線層33aは高電圧側電源用配線層であり、電源用配線層33bは低電圧側電源用配線層であり、これらはいずれも第1層配線層である。また、ロジックセル30は、NANDゲートの2本の入力用配線と1本の出力用配線とを有する。ロジックセル30の素子層貫通用配線領域31以外のNANDゲートのレイアウト構成は公知であるので、その詳細な説明は省略し概略のみ説明する。図4(A)、(B)において、ゲート電極34aは直列に接続された2つのNチャネルトランジスタの一方のゲート電極と、並列に接続された2つのPチャネルトランジスタの一方のゲート電極とを示し、これらは2本の入力用配線の一方に接続される。また、図4(A)において、ゲート電極34bは、直列に接続された2つのNチャネルトランジスタの他方のゲート電極と、並列に接続された2つのPチャネルトランジスタの他方のゲート電極とを示し、これらは2本の入力用配線の他方に接続される。
また、図4(A)において、第1の不純物拡散層35は上記の2つのPチャネルトランジスタのドレイン又はソースを構成しており、第2の不純物拡散層36は上記の2つのNチャネルトランジスタのドレイン又はソースを構成している。また、第1の不純物拡散層35の2つのPチャネルトランジスタの共通ドレイン領域351と、2つのNチャネルトランジスタのうちゲート電極34bと共に他方のNチャネルトランジスタを構成する第2の不純物拡散層35のドレイン領域とが出力配線層37に接続されている。第1の不純物拡散層35の2つのPチャネルトランジスタの各ソース領域は電源用配線層33aに接続される。また、第2の不純物拡散層36のうち他方のNチャネルトランジスタのソース領域は電源用配線層33bに接続される。更に、図4(A)、(B)に示すように、素子層貫通用配線領域31を貫通する素子層貫通配線38が第2層配線層39を介してゲート電極34aの上方の第1層配線層40に接続されている。また、図4(B)に示すように、素子層12の基板上には素子分離領域41が形成されており、またゲート絶縁膜42の上にゲート電極34aが形成されている。
ここで、中距離配線として用いられる配線層で、演算器モジュール間の通信路を実装するとき、この中距離配線用配線層は2層目から5層目までの4層と仮定する。従来知られている65nm技術世代の典型的な寸法例として、通常の定義とは異なり中距離配線層のハーフピッチをFと定義し、典型的な4トランジスタ論理回路で換算すると、ロジックセルの寸法は素子層平面上の縦方向(南北)の寸法Hが18F、横方向(東西)の寸法Wが5Fとなり、配線トラック数は縦方向に4トラック(=2トラック×2層)、横方向に18トラック(=9トラック×2層)となる。
一方、演算器一つが約10000論理ゲート(NAND換算、約40000トランジスタ)からなると仮定する。従来技術では、約10000論理ゲートをほぼ正方に並べて実装したと仮定すると、演算器一つの縦横の等価的なセル数は約52セル(約95μm)×約190セル(約95μm)となり、周囲のうち約95μmの一辺から引き出されるポート数は、最大で約500[〜95μm/{(0.1μm/1F)×2F}×2層×50%]ポート程度となる。なお、1F=0.1μmで、配線の最大使用率は50%であるものとする。また、上記の2Fは配線ピッチである。
これに対し、図4(A)、(B)に示す本実施形態のロジックセル30は、素子層平面上の縦方向(南北)の寸法Hが20F、横方向(東西)の寸法Wが5Fの領域内に形成されており、上記の従来のロジックセルと比較して、横方向の寸法Wは従来と同じ5Fであるが、縦方向の寸法Hが、従来の18Fに比べて素子層貫通用配線領域31の配線幅である2F分大きな20Fの構成とされている。これは現在の論理合成技術で所望の演算器を効率的に構成するためである。よって、本実施形態のロジックセル30の面積の増加分は従来の1.11(=20F/18F)倍となり、11%の面積増加によって素子層貫通用配線領域31による貫通配線を2トラック、素子層の積層方向に配置可能となる。
したがって、素子層の積層方向に貫通・引き出されるポート数は、本実施形態では1つのロジックセル30の素子層貫通用配線領域31には2箇所の貫通ビアを穿設できるので、約10000論理ゲート(ロジックセル)からなる1つの演算器あたり最大で約10000(=2×0.5×10000)ポート程度となる(配線の最大使用率を従来と同じ50%とした場合)。すなわち、積層方向の貫通ポート数は層内一辺の約20倍程度となる。寄生容量は従来と同程度で、信号伝送速度と信号伝送に必要なエネルギーも従来と同等であるため、物理的に伝送帯域幅が本実施形態の方が従来に比べて20倍増えることとなる。
図5は、本発明に係る半導体演算装置の第1の実施形態における一つの演算器の一例の模式的平面図を示す。図5に示す一つの演算器50は、65nm技術世代の約10000ロジックセル(論理ゲート)で構成され、また、最近接の1タイムスロットで同時に通信可能な演算器数mを「36」とした場合の、9層(=m/4=36/4)積層される素子層のそれぞれに形成される複数の演算器の一つを示す。演算器50は、縦方向の寸法Lv、横方向の寸法Lhの方形領域内に配置される約10000個のロジックセル30から構成されている。すなわち、演算器50は、縦方向の寸法Lv内に54行分(=6行×9)配置されたロジックセルと、横方向の寸法Lh内に189列分(=21列×9)配置されたロジックセルの計10206個のロジックセルからなる。実寸では縦方向の寸法Lvは108μm(=20F×6行×9×0.1μm/F)、横方向の寸法Lhは94.5μm(=5F×21列×9×0.1μm/F)である。
演算器50は9層の素子層のそれぞれにおいて複数個、二次元アレイ状に配置され、そのうち、積層方向に相隣る2層の素子層に配置された演算器は、素子層表面上の縦方向に12(=Lv/(m/4)=108/9)μm、横方向に10.5(=Lh/(m/4)=94.5/9)μm相対的にずらして配置される。これは、図2に示した1つの演算器111又は112(いずれも図5の50に相当)の対角線14の方向にずらして配置されることに等しい。このように、演算器を配置、実装することによって各素子層の演算器の素子層貫通用配線領域(図4の31)を図6に示すように積層方向に重ねて配置することが可能となり、素子層貫通配線を積層方向に直線状に伸ばす効率的で最短の配線長の配線が可能となる。
図6は、ロジックセルによって構成される演算器の最適配置の一例の模式的平面図を示す。同図中、図2、図4と同一構成部分には同一符号を付してある。図6は、行方向のシフト量Lv/(m/4)をロジックセルの縦幅×2の場合として例示した2つの素子層の第1の演算器111と第2の演算器112の模式的平面図を示す。図6において、第1の演算器111は同じ行にロジックセル30、301、302等が配置されている。ロジックセル301、302は、それぞれ素子層貫通用配線領域311、312を有する。
本実施形態では、第1の演算器111を構成するすべてのロジックセル中の素子層貫通用配線領域が図6に401で模式的に示すように、同じ行のすべてのロジックセルの素子層貫通用配線領域の位置が一致して(すなわち、横方向に帯状に)配置されている。同様に、第2の演算器112を構成するすべてのロジックセル中の素子層貫通用配線領域が図6に402で模式的に示すように、同じ行のすべてのロジックセルの素子層貫通用配線領域の位置が一致して(すなわち、横方向に帯状に)配置されている。
更に、第1の演算器111の素子層貫通用配線領域401と、第2の演算器112の素子層貫通用配線領域402とは、図6に403で模式的に示すように積層方向に相隣る位置で重なって配置される。行方向のシフト量がロジックセルの縦幅で割り切れるように、演算器を実装することによって、素子層貫通用配線領域が403で模式的に示すように完全に重なるようになる。これにより、素子層間の通信路として用いる複数の素子層の間の層間配線を、複数の素子層を直線的に貫通する貫通配線とすることができ、効率的な配線ができる。
(第2の実施形態)
次に、本発明に係る半導体演算装置の第2の実施形態として、例えば深層学習における畳み込み演算に用いる例について説明する。
画像処理演算装置などにおける深層学習における畳み込み演算は、平面上に配置された画素について、例えば最近接のm画素(m=121=11×11、あるいはm=25=5×5)からデータを取り、それぞれのデータに適切な重み係数を乗算して積算する方法が公知の非特許文献(Alex Krizhevsky et al.,“ImageNet Classification with Deep Convolutional Neural Networks”,Proceedings of Neural Information Processing Systems(NIPS),pp.1-9,(2012))により知られている。
ここで、上記の画素数mを「36」(=6×6)とすると、上記の公知の深層学習における畳み込みの大きさは偶数となるが、5×5を包含する畳み込みが実現される。すなわち、本発明に係る半導体演算装置の演算器の配置方法を利用することにより、m/4(=36/4=9)層の素子層積層の実装によって1回ですべての素子層の演算器がデータの収集を終了することができる。
隣接する36個の演算器間でのデータ交換を例にとり、より正確に比較する。一平面上にすべての演算器が実装された場合、他の演算器と隣接する一辺を横切るデータは36演算器上にあるものを相互に通過させなければならない。したがって、すべての通信が終わるまでには、一つの演算器が送出すべきデータを相隣る演算器に対して送出する時間を1タイムスロットと定義すると36タイムスロットが必要となる。
これに対して、本発明に係る半導体演算装置の第2の実施形態では、同一平面上での通信を同一層内の相隣る4つの演算器とのみ交換するものとすると、残る32個の演算器に存在するデータを積層方向の32個の演算器間の層間通信により20倍の帯域幅を使って相互に通信することになる。したがって、1タイムスロットを上記の1.6倍(=32/20)に伸ばして相互の通信を行うことで、1タイムスロットで全通信を終了することとなる。結果として、本実施形態によれば、実時間で22.5倍(=1×36/(1.6×1))の高速化が達成されたことになる。すなわち、本実施形態では、図5に示したような構成の演算器が複数二次元アレイ状に配置された素子層を9(=m/4=36/4)層積層し、かつ、前述した層間配線を通信路とすることで、1タイムスロットで36(=m)個の最近接の演算器の間で同時に通信して畳み込み演算することができる。この傾向は中距離配線の配線幅が0.5μm程度の150nmプロセスでも同様となる。
より具体的には、図7に示すような、畳み込み演算をパイプライン処理により実行する演算器を多並列に動作させる本発明に係る半導体演算装置を用いて、図8に例示するようなニューラルネットワークを計算する。図7は、本発明に係る半導体演算装置を用いたニューラルネットワークの畳み込み演算装置の一例の回路構成図を示す。同図において、畳み込み演算装置500は、入力セレクタ501、演算器502、ネットワーク503、及び出力セレクタ504から構成され、演算器502を構成するN個の演算器5021〜502Nを多並列に動作させて畳み込み演算をパイプライン処理により実行する。なお、パイプライン処理を行う演算器5021〜502Nのそれぞれは、例えば図5に示す一つの演算器50の構成である。
入力セレクタ501は入力データDをN分割して各分割データを演算器5021〜502Nに別々に供給する。演算器5021〜502Nはそれぞれ同一の回路構成で、入力セレクタ511、重み係数格納用キャッシュメモリ5121〜5123、バッファメモリ5131〜5133、セレクタ5141〜5143、乗算器5151〜5153、入力層データ格納用レジスタ516、加算器5171〜5172、第1層計算用レジスタ5181、第2層計算用レジスタ5182、第1層計算結果格納用レジスタ5191〜第L層計算結果格納用レジスタ519L、出力セレクタ520から構成されている。ネットワーク503はN個の演算器5021〜502Nから出力されたデータをN個の演算器5021〜502Nに選択入力する。更に出力セレクタ504はN個の演算器5021〜502Nから出力されたデータを選択しM個の出力とする。
次に、畳み込み演算装置500の動作について詳細に説明する。以下、演算器5021〜502Nのうち一つの演算器5021の動作について説明するが、他の(N−1)個の演算器5022〜502Nも同様の動作を行う。まず、入力セレクタ501は入力データDをN分割し、N個の各分割データを演算器5021〜502Nの各入力層データ格納用レジスタファイル516にそれぞれ格納する。
続いて、乗算器5151が、セレクタ5141を通して入力される入力層データ格納用レジスタファイル516からの入力分割データと、重み係数格納用キャッシュメモリ5121から読み出された第1層重み係数W(1) ijとを乗算して加算器5171に供給する。加算器5171は第1層計算用レジスタ5181に蓄えられていた第1層のデータと乗算器5151からの乗算結果とを加算し、その加算結果を第1層計算用レジスタ5181に帰還入力する。また、乗算器5151は、他の演算器からネットワーク503を介して入力セレクタ511により選択されてバッファメモリ5131に保持されたデータも同様に、重み係数格納用キャッシュメモリ5121から読み出された第1層重み係数W(1) ijと乗算し、その乗算結果を加算器5171において第1層計算用レジスタ5181からの第1層のデータと加算させる。
第1層重み係数W(1) ijのすべてについて上記の乗算器5151による分割データ又は他の演算器からのデータとの乗算が行われ、それぞれの乗算結果の加算器5171の加算と第1層計算用レジスタ5181への格納が終了すると、入力層データ格納用レジスタファイル516が次の新たな分割データを格納すると共に、第1層計算用レジスタ5181の累積加算結果の格納データが第1層計算結果格納用レジスタ5191にコピーされる。入力層データ格納用レジスタファイル516に格納された次の新たな分割データに対しては、上記の最初に格納された分割データに対する処理と同様の処理が繰り返される。
一方、乗算器5152は、セレクタ5142を通して入力される第1層計算結果格納用レジスタ5191にコピーされた第1層の計算データと、重み係数格納用キャッシュメモリ5122から読み出された第2層重み係数W(2) ijとを乗算して加算器5172に供給する。加算器5172は第2層計算用レジスタ5182に蓄えられていた第2層のデータと乗算器5152からの乗算結果とを加算し、その加算結果を第2層計算用レジスタ5182に帰還入力する。また、乗算器5152は、他の演算器からネットワーク503を介して入力セレクタ511により選択されてバッファメモリ5132に保持されたデータも同様に、重み係数格納用キャッシュメモリ5122から読み出された第2層重み係数W(2) ijと乗算し、その乗算結果を加算器5172において第2層計算用レジスタ5182からの第2層のデータと加算する。
第2層重み係数W(1) ijのすべてについて上記の乗算器5152による分割データ又は他の演算器からのデータとの乗算が行われ、それぞれの乗算結果の加算器5172の加算と第2層計算用レジスタ5182への格納が終了すると、入力層データ格納用レジスタファイル516が更に次の新たな分割データを格納すると共に、第2層計算用レジスタ5182の累積加算結果の格納データが第2層計算結果格納用レジスタ5192にコピーされる。以下同様に、各層において入力層データ格納用レジスタファイル516に格納される新たな分割データに対して、上記と同様の処理が繰り返される。上記の図7の演算装置500による畳み込み演算の上記の処理はニューラルネットワークのパイプライン処理により実行されており、これについて更に説明する。
図8は、図7に示した畳み込み演算装置におけるニューラルネットワークの計算処理について説明する図である。図8において、図7と同一構成部分には同一符号を付してある。図8において、図7のN個の演算器5021〜502Nのそれぞれの演算処理を破線で囲んだ部分6021〜602Nで模式的に示す。また、図8において、x1〜xDはD個の入力データを示す。例えば、演算器5021においては、図8に破線で囲んだ部分6021内に模式的に示すように、入力データDをN分割して入力されて入力層データ格納用レジスタファイル516に格納された分割データx1、x2、x3、x4に対して、乗算器5151において第1層の重み係数W(1) 11、W(1) 21、W(1) 31、W(1) 41と乗算して、それらの乗算結果を加算器5171に供給する。また、乗算器5151はネットワーク503を介して他の演算器から入力されたデータx5と第1層の重み係数W(1) 51とを乗算して、その乗算結果を加算器5171に供給する。加算器5171は供給された上記の各乗算結果を加算して第1層の加算値y(1) 1を得て、それを第1層計算結果格納用レジスタ5191にコピーする。
続いて、第2層の乗算器5152は、第1層計算結果格納用レジスタ5191から入力された第1層の加算値y(1)と第2層の重み係数W(2) 11と乗算して得た乗算結果を得る。更に第2層の乗算器5152は、他の乗算器5152から入力された加算値y(1) 2と第2層の重み係数W(2) 21との乗算結果、及び他の乗算器5153から入力された加算値y(1) 3と第2層の重み係数W(2) 31との乗算結果をそれぞれ得る。加算器5172は第2層の乗算器5152により得られた上記の各乗算結果を加算して第2層の加算値y(2) 1を得る。ここで、第2層の乗算器5152では上記のように演算器5021〜5023との間で通信を行って得た加算値y(1) 2、y(1) 3と自演算器に格納されている第2層の重み係数との乗算を行う。他の演算器5022〜502Nにおいても乗算器5151と同様に他の演算器との通信を行って第1層の加算値を取得してその演算器内の第2層の重み係数との乗算を行う。以下、演算器5021〜502Nのそれぞれにおいて第3層以上についても他の演算器との通信を行って上記と同様の処理を行う。
図8の例では、N個の演算器5021〜502Nがm/4層の各素子層に分けて実装されているものとすると、各層のニューラルネットワークにおいて、m対1の通信がN組存在する。このように、演算器間でm対1の通信が必要となる場合には、平面上に実装されたN個の演算器からなる演算装置に対して、前述したように素子層がm層積層された本実施形態の演算装置によれば通信に必要なタイムスロットを1/mとすることができる。
10 半導体演算装置
111〜113、50、502、5021〜502N 演算器
12、121〜12A 素子層
13、131〜13A、201、202 層間配線
14 演算器の対角線
30、301、302 ロジックセル
31 素子層貫通用配線領域
33a 高電圧側電源用配線層
33b 低電圧側電源用配線層
34a、34b ゲート電極
35 第1の不純物拡散層
36 第2の不純物拡散層
37 出力配線層
38 素子層貫通配線
39 第2層配線層
40 第1層配線層
41 素子分離領域
42 ゲート絶縁膜
111 第1の演算器
112 第2の演算器
121 第1の素子層
122 第2の素子層
203 同一の素子層の演算器間を結ぶ配線
311、312、401、402 素子層貫通用配線領域
403 素子層111及び112の重なる位置にある素子層貫通用配線領域
500 畳み込み演算装置
501 入力セレクタ
503 ネットワーク
504 出力セレクタ
5121〜5123 重み係数格納用キャッシュメモリ
5131〜5133 バッファメモリ
5141〜5143 セレクタ
5151〜5153 乗算器
516 入力層データ格納用レジスタファイル
5171〜5173 加算器
5181 第1層計算用レジスタ
5182 第2層計算用レジスタ
5191 第1層計算結果格納用レジスタ
5192 第2層計算結果格納用レジスタ
520 出力セレクタ

Claims (6)

  1. 演算器が縦方向の寸法Lv、横方向の寸法Lhの方形領域内に配置され、かつ、2以上の前記演算器が同一層内で二次元アレイ状に配置された素子層が複数積層されており、
    前記複数の素子層の積層方向に相隣る素子層において、それぞれ配置位置が重なる前記演算器同士が、互いに前記演算器の一つの対角線方向に相対的にずれて配置されるように前記複数の素子層を積層するとともに、前記相隣る素子層においてそれぞれ配置位置が重なる前記演算器同士を配線により接続し、層間の前記配線を通信路として用いることを特徴とする半導体演算装置。
  2. 前記複数の素子層は、少なくとも(m/4)層(ただし、mはメニーコアプロセッサにおいて、近接する演算器と1タイムスロットで同時通信可能な演算器の数)積層されており、積層方向に相隣る素子層それぞれに配置された前記演算器は、互いに素子層表面において縦方向にLv/(m/4)、横方向にLh/(m/4)の各寸法だけ相対的にずれて配置されていることを特徴とする請求項1記載の半導体演算装置。
  3. 前記複数の素子層のうち、それぞれ3以上の異なる素子層の配置位置が重なる各演算器の、配線領域位置が重なる配線領域同士を直線状に貫通して接続する貫通配線を有し、前記貫通配線を通信路として使用することを特徴とする請求項1又は2記載の半導体演算装置。
  4. 前記演算器を構成するロジックセルの中に、前記複数の素子層の中間配線層の配線ピッチのn倍(ただし、nは1以上の自然数)の幅の素子層貫通用配線領域が、前記横方向に帯状に形成されていることを特徴とする請求項1乃至3のうちいずれか一項記載の半導体演算装置。
  5. 前記素子層貫通用配線領域は、前記複数の素子層の互いに同じ位置に前記横方向に帯状に形成されていることを特徴とする請求項4記載の半導体演算装置。
  6. 前記素子層貫通用配線領域は、前記ロジックセルの電源用配線領域に隣接して平行に形成されていることを特徴とする請求項4又は5記載の半導体演算装置。
JP2018520820A 2016-05-30 2017-05-23 半導体演算装置 Active JP6839395B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016107757 2016-05-30
JP2016107757 2016-05-30
PCT/JP2017/019176 WO2017208901A1 (ja) 2016-05-30 2017-05-23 半導体演算装置

Publications (2)

Publication Number Publication Date
JPWO2017208901A1 JPWO2017208901A1 (ja) 2019-03-28
JP6839395B2 true JP6839395B2 (ja) 2021-03-10

Family

ID=60477777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018520820A Active JP6839395B2 (ja) 2016-05-30 2017-05-23 半導体演算装置

Country Status (2)

Country Link
JP (1) JP6839395B2 (ja)
WO (1) WO2017208901A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344541B (zh) * 2018-10-31 2023-01-31 京微齐力(北京)科技有限公司 一种根据区域布线拥挤度判定布线方向的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5024530B2 (ja) * 2007-05-08 2012-09-12 大学共同利用機関法人情報・システム研究機構 三次元集積電気回路の配線構造及びそのレイアウト方法
US8399973B2 (en) * 2007-12-20 2013-03-19 Mosaid Technologies Incorporated Data storage and stackable configurations
US8258619B2 (en) * 2009-11-12 2012-09-04 International Business Machines Corporation Integrated circuit die stacks with translationally compatible vias
US9087846B2 (en) * 2013-03-13 2015-07-21 Apple Inc. Systems and methods for high-speed, low-profile memory packages and pinout designs
JP6680454B2 (ja) * 2014-03-17 2020-04-15 国立研究開発法人産業技術総合研究所 Lsiチップ積層システム

Also Published As

Publication number Publication date
JPWO2017208901A1 (ja) 2019-03-28
WO2017208901A1 (ja) 2017-12-07

Similar Documents

Publication Publication Date Title
US10747933B2 (en) Channel-less integrated circuit layout wiring for chips including a plurality of partitions
TWI570586B (zh) 用於包括奈米線及2d材料條之積體電路元件的設計工具
US20100140750A1 (en) Parallel Plane Memory and Processor Coupling in a 3-D Micro-Architectural System
US11201148B2 (en) Architecture for monolithic 3D integration of semiconductor devices
US7949984B2 (en) Method and apparatus for designing a three-dimensional integrated circuit
US6307222B1 (en) Power/ground metallization routing in a semiconductor device
KR102518811B1 (ko) 멀티-하이트 스탠다드 셀을 포함하는 집적 회로 및 그 설계 방법
US10002860B2 (en) Integrated circuit and standard cell library
US10812079B2 (en) Integrated circuit layout wiring for multi-core chips
WO2020051144A1 (en) Architecture design and processes for manufacturing monolithically integrated 3d cmos logic and memory
US20160259877A1 (en) Method and Apparatus of a Three Dimensional Integrated Circuit
JP5305806B2 (ja) 3次元集積回路の設計方法及び3次元集積回路の設計プログラム
Kung et al. Mapping systolic arrays onto 3d circuit structures: Accelerating convolutional neural network inference
TWI422009B (zh) 多晶片堆疊結構
JP6839395B2 (ja) 半導体演算装置
US11128303B2 (en) Three-dimensional memory (3D-M)-based configurable processor singlet
JP7270234B2 (ja) Aiチップ
Bobba et al. Layout technique for double-gate silicon nanowire fets with an efficient sea-of-tiles architecture
US9639649B2 (en) Semiconductor memory device, method for designing semiconductor memory device, and recording medium having designing method recorded therein
Jabbar et al. Impact of 3d ic on noc topologies: A wire delay consideration
US20240112004A1 (en) Method and apparatus with 3d in-memory computing
Ghorui et al. A deterministic multi-layered partitioning tool for wire-length reduction of monolithic 3D-IC
US20230230955A1 (en) Multi-chip stacking method
Roy et al. Genetic Algorithm Based 3D IC Partitioning Approach for TSV Minimization and Efficient Layer Assignment
CN109696942A (zh) 可编程计算阵列

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210127

R150 Certificate of patent or registration of utility model

Ref document number: 6839395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250