CN113508384A - 布线布局设计方法、程序及记录媒体 - Google Patents
布线布局设计方法、程序及记录媒体 Download PDFInfo
- Publication number
- CN113508384A CN113508384A CN202080018248.4A CN202080018248A CN113508384A CN 113508384 A CN113508384 A CN 113508384A CN 202080018248 A CN202080018248 A CN 202080018248A CN 113508384 A CN113508384 A CN 113508384A
- Authority
- CN
- China
- Prior art keywords
- wiring
- layout
- potential
- current
- parasitic capacitance
- 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.)
- Pending
Links
- 238000013461 design Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000003071 parasitic effect Effects 0.000 claims abstract description 53
- 238000013528 artificial neural network Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 64
- 230000009471 action Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 abstract description 15
- 230000007423 decrease Effects 0.000 abstract description 5
- 210000004027 cell Anatomy 0.000 description 94
- 239000004065 semiconductor Substances 0.000 description 48
- 238000003860 storage Methods 0.000 description 30
- 210000002569 neuron Anatomy 0.000 description 27
- 238000004891 communication Methods 0.000 description 22
- 229910044991 metal oxide Inorganic materials 0.000 description 17
- 150000004706 metal oxides Chemical class 0.000 description 17
- 238000005457 optimization Methods 0.000 description 14
- 239000003990 capacitor Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 239000000470 constituent Substances 0.000 description 9
- 230000008878 coupling Effects 0.000 description 9
- 238000010168 coupling process Methods 0.000 description 9
- 238000005859 coupling reaction Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 8
- 239000004020 conductor Substances 0.000 description 6
- 230000002787 reinforcement Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 229910052738 indium Inorganic materials 0.000 description 5
- APFVFJFRJDLVQX-UHFFFAOYSA-N indium atom Chemical compound [In] APFVFJFRJDLVQX-UHFFFAOYSA-N 0.000 description 5
- 239000012212 insulator Substances 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- PXHVJJICTQNCMI-UHFFFAOYSA-N Nickel Chemical compound [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- GYHNNYVSQQEPJS-UHFFFAOYSA-N Gallium Chemical compound [Ga] GYHNNYVSQQEPJS-UHFFFAOYSA-N 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 2
- HCHKCACWOHOZIP-UHFFFAOYSA-N Zinc Chemical compound [Zn] HCHKCACWOHOZIP-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 229910052733 gallium Inorganic materials 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000002159 nanocrystal Substances 0.000 description 2
- 229910052760 oxygen Inorganic materials 0.000 description 2
- 239000001301 oxygen Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 229910052718 tin Inorganic materials 0.000 description 2
- 239000010936 titanium Substances 0.000 description 2
- 229910052725 zinc Inorganic materials 0.000 description 2
- 239000011701 zinc Substances 0.000 description 2
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910052684 Cerium Inorganic materials 0.000 description 1
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 1
- ZOKXTWBITQBERF-UHFFFAOYSA-N Molybdenum Chemical compound [Mo] ZOKXTWBITQBERF-UHFFFAOYSA-N 0.000 description 1
- 229910052779 Neodymium Inorganic materials 0.000 description 1
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- GWXLDORMOJMVQZ-UHFFFAOYSA-N cerium Chemical compound [Ce] GWXLDORMOJMVQZ-UHFFFAOYSA-N 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002425 crystallisation Methods 0.000 description 1
- 230000008025 crystallization Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- YZZNJYQZJKSEER-UHFFFAOYSA-N gallium tin Chemical compound [Ga].[Sn] YZZNJYQZJKSEER-UHFFFAOYSA-N 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 229910052735 hafnium Inorganic materials 0.000 description 1
- VBJZVLUMGGDVMO-UHFFFAOYSA-N hafnium atom Chemical compound [Hf] VBJZVLUMGGDVMO-UHFFFAOYSA-N 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 229910052746 lanthanum Inorganic materials 0.000 description 1
- FZLIPJUXYLNCLC-UHFFFAOYSA-N lanthanum atom Chemical compound [La] FZLIPJUXYLNCLC-UHFFFAOYSA-N 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052750 molybdenum Inorganic materials 0.000 description 1
- 239000011733 molybdenum Substances 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- QEFYFXOXNSNQGX-UHFFFAOYSA-N neodymium atom Chemical compound [Nd] QEFYFXOXNSNQGX-UHFFFAOYSA-N 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- KYKLWYKWCAYAJY-UHFFFAOYSA-N oxotin;zinc Chemical compound [Zn].[Sn]=O KYKLWYKWCAYAJY-UHFFFAOYSA-N 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- VSZWPYCFIRKVQL-UHFFFAOYSA-N selanylidenegallium;selenium Chemical compound [Se].[Se]=[Ga].[Se]=[Ga] VSZWPYCFIRKVQL-UHFFFAOYSA-N 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 229910052715 tantalum Inorganic materials 0.000 description 1
- GUVRBAGPIYLISA-UHFFFAOYSA-N tantalum atom Chemical compound [Ta] GUVRBAGPIYLISA-UHFFFAOYSA-N 0.000 description 1
- JBQYATWDVHIOAR-UHFFFAOYSA-N tellanylidenegermanium Chemical compound [Te]=[Ge] JBQYATWDVHIOAR-UHFFFAOYSA-N 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 229910001887 tin oxide Inorganic materials 0.000 description 1
- 229910052719 titanium Inorganic materials 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 1
- 229910052721 tungsten Inorganic materials 0.000 description 1
- 239000010937 tungsten Substances 0.000 description 1
- 229910052727 yttrium Inorganic materials 0.000 description 1
- VWQVUPCCIRVNHF-UHFFFAOYSA-N yttrium atom Chemical compound [Y] VWQVUPCCIRVNHF-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H01L21/82—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Memories (AREA)
Abstract
提供一种新颖的布线布局的设计方法。使用布局信息、网表生成电连接始点端子群与终点端子群的布线布局。在布线布局满足设计规则时,抽出布线布局的布线电阻和寄生电容。使用Q学习更新布局信息,生成新的布线布局。在Q学习中,当布线电阻值和寄生电容值减少时给予正奖励,根据奖励更新神经网络的权重。在新的布线布局满足设计规则时,抽出新的布线布局的布线电阻和寄生电容。在布线电阻和寄生电容的变化率较大时,使用Q学习更新布局信息。
Description
技术领域
本发明的一个方式涉及一种布线布局设计方法、程序及记录媒体等。
此外,本发明的一个方式不限定于上述技术领域。本说明书等所公开的发明的技术领域涉及一种物体、工作方法或制造方法。此外,本发明的一个方式涉及一种工序(process)、机器(machine)、产品(manufacture)或者组合物(composition of matter)。
注意,在本说明书等中,半导体装置是指能够通过利用半导体特性而工作的所有装置。晶体管和半导体电路为半导体装置的一个方式。另外,显示装置(液晶显示装置、发光显示装置等)、投影装置、照明装置、电光装置、蓄电装置、存储装置、成像装置及电子设备等有时可以说是半导体装置。或者,有时可以说是包括半导体装置。
背景技术
近年来,对集成电路的微型化及高密度化等的要求提高。一般而言,集成电路包括多个电路来构成。各电路通过布线电连接,通过布线进行信号的发送和接收。随着集成电路的微型化及高密度化等,被要求布线的寄生电容及布线电阻的减少。例如,在专利文献1中,提出了用来将寄生电容及布线电阻设定为允许值以下的布线布局的设计方法。
另外,在各种用途中,正在研究人工智能的应用。尤其是,被期待着通过应用人工神经网络的构成可以实现比现有的诺依曼型计算机更高性能的计算机,近年来,已开展对在电子电路上构建人工神经网络的各种研究工作。
例如,在专利文献2中,公开了如下发明:由使用在沟道形成区域中包含氧化物半导体的晶体管的存储装置保持利用人工神经网络的计算中需要的权重数据(weightdata)。
[先行技术文献]
[专利文献]
[专利文献1]日本专利申请公开第2003-50835号公报
[专利文献2]美国专利申请公开第2016/0343452号公报
发明内容
发明所要解决的技术问题
产生在布线中的寄生电容及布线电阻会导致通过布线传输的信号波形的劣化及衰减。因此,需要尽可能减少这些寄生电容及布线电阻。另一方面,用来减少寄生电容及布线电阻的布局需要满足设计规则。在专利文献1的方法中,因为在寄生电容及布线电阻到达允许值以下时布局设计结束,所以有时得不到最适合的布线布局。此外,由于需要满足设计规则,所以有时将寄生电容及布线电阻的允许值设定得高。
本发明的一个方式的目的之一是提供一种在满足设计规则的同时布线电阻及寄生电容得到减少的布线布局的设计系统。另外,本发明的一个方式的目的之一是提供一种在满足设计规则的同时布线电阻及寄生电容得到减少的布线布局的设计方法。另外,本发明的一个方式的目的之一是提供一种新颖的布线布局设计系统。另外,本发明的一个方式的目的之一是提供一种新颖的布线布局设计方法。
注意,这些目的的记载不妨碍其他目的的存在。注意,本发明的一个方式并不需要实现所有上述目的。除上述目的外的目的从说明书、附图、权利要求书等的描述中是显而易见的,并且可以从所述描述中抽出。
解决技术问题的手段
本发明的一个方式是一种布线布局设计方法,该布线布局设计方法包括取得第一布局信息的第一步骤、使用第一布局信息生成第一布线布局的第二步骤、取得作为第一布线布局的寄生电容值的第一寄生电容值的第三步骤、使用第一布局信息生成第二布线布局的第四步骤、对第二布线布局进行DRC的第五步骤、取得作为第二布线布局的寄生电容值的第二寄生电容值的第六步骤、使用DRC的结果、第一寄生电容值及第二寄生电容值进行学习的第七步骤以及根据学习的结果改变第一布局信息的第八步骤。
本发明的另一个方式是一种布线布局设计方法,该布线布局设计方法包括取得第一布局信息的第一步骤、使用第一布局信息生成第一布线布局的第二步骤、取得作为第一布线布局的寄生电容值的第一寄生电容值及作为第一布线布局的布线电阻值的第一布线电阻值的第三步骤、使用第一布局信息生成第二布线布局的第四步骤、对第二布线布局进行DRC的第五步骤、取得作为第二布线布局的寄生电容值的第二寄生电容值及作为第二布线布局的布线电阻值的第二布线电阻值的第六步骤、使用DRC的结果、第一寄生电容值、第二寄生电容值、第一布线电阻值及第二布线电阻值进行学习的第七步骤以及根据学习的结果改变第一布局信息的第八步骤。
本发明的另一个方式是一种布线布局设计方法,其中多次反复进行第四步骤至第八步骤。
学习优选为Q学习。学习也可以使用神经网络进行。神经网络具有推测动作值函数的功能。
本发明的另一个方式是一种用来使计算机执行上述布线布局设计方法的程序。
本发明的另一个方式是一种记录有该程序的计算机可读记录媒体。
发明效果
根据本发明的一个方式,可以提供一种在满足设计规则的同时布线电阻及寄生电容得到减少的布线布局的设计系统。另外,根据本发明的一个方式,可以提供一种在满足设计规则的同时布线电阻及寄生电容得到减少的布线布局的设计方法。另外,根据本发明的一个方式,可以提供一种新颖的布线布局设计系统。另外,根据本发明的一个方式,可以提供一种新颖的布线布局设计方法。
注意,这些效果的记载不妨碍其他效果的存在。注意,本发明的一个方式并不需要具有所有上述效果。除上述效果外的效果从说明书、附图、权利要求书等的描述中是显而易见的,并且可以从所述描述中抽出。
附图说明
图1是示出布线布局设计系统的结构例子的图。
图2是示出布线布局的设计方法例子的图。
图3是示出布线布局的设计方法例子的图。
图4A及图4B是示出神经网络的结构例子的图。
图5是示出半导体装置的结构例子的图。
图6是示出存储单元的结构例子的图。
图7是示出偏置电路的结构例子的图。
图8是时序图。
具体实施方式
参照附图对实施方式进行详细说明。但是,本发明不局限于以下说明,而所属技术领域的普通技术人员可以很容易地理解一个事实就是其方式及详细内容在不脱离本发明的宗旨及其范围的情况下可以被变换为各种各样的形式。因此,本发明不应该被解释为仅局限在以下所示的实施方式所记载的内容中。注意,在以下说明的发明的结构中,在不同的附图中共同使用相同的符号来表示相同的部分或具有相同功能的部分,而省略其重复说明。
此外,为了便于对发明的理解,附图等示出的各结构的位置、大小和范围等有时不表示实际上的位置、大小和范围等。因此,所公开的发明不一定局限于附图等所公开的位置、大小、范围等。例如,在实际的制造工序中,有时由于蚀刻等处理而抗蚀剂掩模等非意图性地被减薄,但是为了便于理解有时省略图示。
此外,尤其在俯视图(也称为平面图)或立体图等中,为了易于理解附图,有时省略部分构成要素的记载。
此外,在本说明书等中,“电极”或“布线”不在功能上限定其构成要素。例如,有时将“电极”用作“布线”的一部分,反之亦然。再者,“电极”或“布线”还包括多个“电极”或“布线”被形成为一体的情况等。
此外,在本说明书等中,电子电路中的“端子”是指进行电流的输入或输出、电压的输入或输出以及/或者信号的接收或发送的部分。因此,布线或电极的一部分有时被用作端子。
此外,在本说明书等中,“上”或“下”不局限于构成要素的位置关系为“正上”或“正下”且直接接触的情况。例如,“绝缘层A上的电极B”不需要在绝缘层A上直接接触地形成有电极B,也可以包括在绝缘层A与电极B之间包括其他构成要素的情况。
此外,由于“源极”及“漏极”的功能,例如在采用不同极性的晶体管时或在电路工作中电流的方向变化时等,根据工作条件等而相互调换,因此很难限定哪个是“源极”,哪个是“漏极”。因此,在本说明书中,“源极”及“漏极”可以互相调换。
在本说明书等中,“电连接”包括直接连接的情况及通过“具有某种电作用的元件”连接的情况。在此,“具有某种电作用的元件”只要可以进行连接对象间的电信号的授受,就对其没有特别的限制。因此,即便记载为“电连接”,在实际电路中有时存在没有物理连接的部分而只是布线延伸的情况。
此外,在本说明书中,“平行”例如是指在-10°以上且10°以下的角度的范围中配置两条直线的状态。因此,也包括角度为-5°以上且5°以下的情况。此外,“垂直”或“正交”例如是指在80°以上且100°以下的角度的范围中配置两条直线的状态。因此,也包括角度为85°以上且95°以下的情况。
此外,在本说明书等中,除非特别叙述,关于计数值或计量值提到“同一”、“相同”、“相等”或“均匀”等的情况下,包括±10%的变动作为误差。
此外,电压多指某个电位与标准电位(例如,接地电位或源电位等)之间的电位差。因此,有时也可以互换“电压”与“电位”的称谓。在本说明书等中,除非特别叙述,电压和电位是可以互换的。
注意,例如当导电性充分低时,即使表示为“半导体”也具有“绝缘体”的特性。因此,也可以使用“绝缘体”代替“半导体”。此时,“半导体”和“绝缘体”的境界模糊,因此难以精确地区别。由此,有时可以将本说明书所记载的“半导体”换称为“绝缘体”。
此外,例如当导电性充分高时,即使表示为“半导体”也具有“导电体”的特性。因此,也可以使用“导电体”代替“半导体”。此时,“半导体”和“导电体”的境界模糊,因此难以精确地区别。由此,有时可以将本说明书所记载的“半导体”换称为“导电体”。
本说明书等中的“第一”、“第二”等序数词是为了避免构成要素的混同而使用的,其并不表示工序顺序或者层叠顺序等的顺序或次序。此外,关于本说明书等中不附加序数词的用词,为了避免构成要素的混同在权利要求书中有时对该用词附加序数词。注意,关于本说明书等中附加序数词的用词,在权利要求书中有时对该用词附加其他序数词。注意,关于本说明书等中附加有序数词的用词,在权利要求书等中有时省略其序数词。
注意,在本说明书等中,晶体管的“开启状态”是指晶体管的源极和漏极电短路的状态(也称为“导通状态”)。此外,晶体管的“关闭状态”是指晶体管的源极和漏极电断开的状态(也称为“非导通状态”)。
此外,在本说明书等中,“通态电流(on-state current)”有时是指在晶体管处于开启状态时流过源极和漏极之间的电流。此外,“关态电流(off-state current)”有时是指在晶体管处于关闭状态时流过源极和漏极之间的电流。
此外,在本说明书等中,高电源电位VDD(也称为“VDD”或“H电位”)是指其电位比低电源电位VSS高的电源电位。此外,低电源电位VSS(也称为“VSS”或“L电位”)是指其电位比高电源电位VDD低的电源电位。此外,也可以将接地电位用作VDD或VSS。例如,在VDD是接地电位时,VSS是低于接地电位的电位,在VSS是接地电位时,VDD是高于接地电位的电位。
此外,在本说明书等中,栅极是指栅电极及栅极布线的一部分或全部。栅极布线是指用来电连接至少一个晶体管的栅电极与其他电极或其他布线的布线。
此外,在本说明书等中,源极是指源区域、源电极及源极布线的一部分或全部。源区域是指半导体层中的电阻率为一定值以下的区域。源电极是指导电层中的连接到源区域的部分。源极布线是指用来电连接至少一个晶体管的源电极与其他电极或其他布线的布线。
此外,在本说明书等中,漏极是指漏区域、漏电极及漏极布线的一部分或全部。漏区域是指半导体层中的电阻率为一定值以下的区域。漏电极是指导电层中的连接到漏区域的部分。漏极布线是指用来电连接至少一个晶体管的漏电极与其他电极或其他布线的布线。
(实施方式1)
参照附图说明本发明的一个方式的布线布局的设计系统(以下,也称为“设计系统”)。
<布线布局设计系统的结构例子>
图1是说明设计系统100的结构例子的方框图。
注意,图1的方框图将构成要素根据功能分类并图示为独立的方框,但是,实际的构成要素有时难以根据功能被清楚地划分。因此,一个构成要素有时涉及多个功能或者一个功能有时涉及多个构成要素。
此外,图1所示的设计系统100的结构是一个例子,并不需要包括所有构成要素。设计系统100只要包括图1所示的构成要素中的需要的构成要素即可。此外,也可以包括图1所示的构成要素以外的构成要素。
设计系统100作为构成要素包括控制部130(Controller)、运算部140、存储部160(Memory)、辅助存储部170(Storage)、外部输入/输出部180(Interface)及通信部190。此外,设计系统100优选包括AI150(AI:Artificial Intelligence,人工智能)。
这些构成要素通过传送通道101彼此电连接。构成要素间的信息的发送和接收可以通过传送通道101进行。
作为上述构成要素所包括的晶体管,优选使用在沟道形成区域中包含金属氧化物之一的氧化物半导体(Oxide Semiconductor)的晶体管(也称为“OS晶体管”)。由于OS晶体管的关态电流极低,所以可以降低设计系统的功耗。此外,在高温环境下也不容易增加关态电流,稳定地进行工作,由此可以提高设计系统100的可靠性。
此外,在本说明书等中,金属氧化物(metal oxide)是指广义上的金属的氧化物。金属氧化物被分类为氧化物绝缘体、氧化物导电体(包括透明氧化物导电体)和氧化物半导体(Oxide Semiconductor,也可以简称为OS)等。例如,在将金属氧化物用于晶体管的半导体层的情况下,有时将该金属氧化物称为氧化物半导体。换言之,在金属氧化物具有放大作用、整流作用和开关作用中的至少一个的情况下,可以将该金属氧化物称为金属氧化物半导体(metal oxide semiconductor),或者可以将其缩称为OS。
沟道形成区域所具有的金属氧化物优选包含铟(In)。在沟道形成区域所具有的金属氧化物包含铟的情况下,OS晶体管的载流子迁移率(电子迁移率)得到提高。另外,沟道形成区域所具有的金属氧化物优选为包含元素M的氧化物半导体。元素M优选是铝(Al)、镓(Ga)或锡(Sn)等。作为可用作元素M的其他元素,有硼(B)、硅(Si)、钛(Ti)、铁(Fe)、镍(Ni)、锗(Ge)、钇(Y)、锆(Zr)、钼(Mo)、镧(La)、铈(Ce)、钕(Nd)、铪(Hf)、钽(Ta)、钨(W)等。注意,作为元素M,有时也可以组合多个上述元素。元素M例如是与氧的键能高的元素。元素M例如是与氧的键能高于铟的元素。此外,沟道形成区域所具有的金属氧化物优选包含锌(Zn)。包含锌的金属氧化物有时容易晶化。
沟道形成区域所具有的金属氧化物不局限于包含铟的金属氧化物。半导体层例如也可以是锌锡氧化物或镓锡氧化物等不包含铟且包含锌、镓或锡的金属氧化物等。
注意,作为OS晶体管的半导体层,优选使用CAAC-OS、nc-OS等包括结晶部的氧化物半导体。CAAC-OS是c-axis-aligned crystalline oxide semiconductor的简称。CAAC-OS具有c轴取向性,其多个纳米晶在a-b面方向上连结而结晶结构具有畸变。注意,畸变是指在多个纳米晶连结的区域中晶格排列一致的区域与其他晶格排列一致的区域之间的晶格排列的方向变化的部分。nc-OS是nanocrystalline oxide semiconductor的简称。
〔控制部130〕
控制部130(Controller)具有控制运算部140、AI150、存储部160、辅助存储部170、外部输入/输出部180及通信部190等的工作的功能。
〔运算部140〕
运算部140具有进行关系到设计系统整体的工作的运算的功能,例如可以使用中央处理器(CPU:Central Processing Unit)等。
运算部140具有根据布局信息设定连接多个端子的布线布局(布线形状及布线路径等)的功能。
〔AI150〕
作为AI150优选使用人工神经网络(ANN:Artificial Neural Network,以下有时简称为神经网络(NN:Neural Network))。AI150也可以设置在运算部140中。此外,也可以由软件构成AI150。
此外,控制部130、运算部140或AI150也可以包括DSP(Digital SignalProcessor:数字信号处理器)、GPU(Graphics Processing Unit:图形处理器)等微处理器。微处理器也可以由FPGA(Field Programmable Gate Array:现场可编程门阵列)或FPAA(Field Programmable Analog Array:现场可编程模拟阵列)等PLD(Programmable LogicDevice:可编程逻辑器件)实现。
〔存储部160〕
存储部160具有储存关系到设计系统100的工作的程序及设定内容(参数)的功能,其中的至少一部分存储器优选是可改写的。例如,存储部160可以包括RAM(Random AccessMemory:随机存取存储器)等的易失性存储器或ROM(Read Only Memory:只读存储器)等的非易失性存储器。
作为设置在存储部160中的RAM,例如可以使用DRAM(Dynamic Random AccessMemory:动态随机存取存储器),并虚拟地分配并使用作为设计系统100的工作空间的存储空间。储存在辅助存储部170中的操作系统、应用程序、程序模块、程序数据等在执行时被加载于RAM中。
另一方面,可以在ROM中储存不需要改写的BIOS(Basic Input/Output System:基本输入/输出系统)或固件等。作为ROM,可以使用遮罩式ROM、OTPROM(One TimeProgrammable Read Only Memory:一次可编程只读存储器)、EPROM(ErasableProgrammable Read Only Memory:可擦除可编程只读存储器)等。作为EPROM,可以举出通过紫外线照射可以消除存储数据的UV-EPROM(Ultra-Violet Erasable ProgrammableRead Only Memory:紫外线-可擦除可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read Only Memory:电子式可抹除可编程只读存储器)以及快闪存储器等。
〔辅助存储部170〕
辅助存储部170是用来储存所算出的数据的存储装置。此外,储存有在AI150中使用的数据等。此外,如上所述,辅助存储部170可以储存操作系统、应用程序、程序模块及程序数据等。
作为辅助存储部170,例如也可以使用采用非易失性存储元件的存储装置诸如快闪存储器、MRAM(Magnetoresistive Random Access Memory:磁阻随机存取存储器)、PRAM(Phase change RAM:相变随机存取存储器)、ReRAM(Resistive RAM:电阻随机存取存储器)、FeRAM(Ferroelectric RAM:铁电随机存取存储器)等或者采用易失性存储元件的存储装置如DRAM(Dynamic RAM:动态随机存取存储器)、SRAM(Static RAM:静态随机存取存储器)等。另外,例如也可以使用硬盘驱动器(Hard Disc Drive:HDD)或固态驱动器(SolidState Drive:SSD)等记录媒体驱动器。
另外,例如,作为辅助存储部170,也可以使用通过外部输入/输出部180可装卸的HDD或SSD等存储装置、快闪存储器、蓝光光盘、DVD等记录媒体的媒体驱动器。此外,也可以将设置在设计系统100的外部的存储装置用作辅助存储部170,而不将辅助存储部170内置在设计系统100中。在此情况下,也可以具有通过外部输入/输出部180连接的结构或者通过通信部190以无线通信发送并接收数据的结构。
〔外部输入/输出部180〕
外部输入/输出部180具有控制外部设备与设计系统100间的信号的输入/输出的功能。此外,作为外部输入/输出部180所包括的外部端口,也可以使用HDMI(注册商标)端子、USB端子及LAN(Local Area Network:局域网)连接用端子等。此外,外部输入/输出部180也可以具有使用红外线、可见光、紫外线等的光通信用收发功能。
例如,可以将在设计系统100中生成的布局数据等通过外部输入/输出部180供应到外部。
〔通信部190〕
通信部190能够通过天线进行通信。例如,通信部190根据来自运算部140的指令控制用来使设计系统100连接到计算机网络的控制信号,而向计算机网络发出该信号。由此,可以将设计系统100连接于World Wide Web(WWW:环球网)的基础的因特网、内联网、外联网、PAN(Personal Area Network:个人网)、LAN(Local Area Network:局域网)、CAN(Campus Area Network:校园网)、MAN(Metropolitan Area Network:城域网)、WAN(WideArea Network:广域网)、GAN(Global Area Network:全球网)等计算机网络,来进行通信。另外,在作为通信方法使用多个方法的情况下,也可以根据该通信方法包括多个天线。
例如,可以在通信部190中设置高频电路(RF电路)进行RF信号的发送和接收。高频电路是用来将各国法制所规定的频带的电磁信号与电信号彼此变换且使用该电磁信号以无线与其他通信设备进行通信的电路。作为实用性的频带,一般使用几十kHz至几十GHz的频带。连接于天线的高频电路具有对应于多个频带的高频电路部,该高频电路部可以具有放大器、混频器、滤波器、DSP(Digital Signal Processor:数字信号处理器)、RF收发器等。当进行无线通信时,作为通信协议或通信技术可以使用:通信标准诸如LTE(Long TermEvolution:长期演进)、GSM(Global System for Mobile Communication:注册商标:全球移动通讯系统)、EDGE(Enhanced Data Rates for GSM Evolution:GSM增强数据率演进)、CDMA2000(Code Division Multiple Access2000:码分多址2000)、WCDMA(Wideband CodeDivision Multiple Access:注册商标:宽频码分多址);或者由IEEE(电气电子工程师学会)通信标准化的规格诸如Wi-Fi(Wireless Fidelity:注册商标:无线保真)、Bluetooth(注册商标:蓝牙)、ZigBee(注册商标)等。
例如,可以将计算机用作本发明的一个方式的设计系统100。此时,当启动本发明的一个方式的设计系统100的执行程序的信号通过外部输入/输出部180或通信部190被输入时,控制部130使存储部160读取辅助存储部170所储存的执行程序。通过使存储部160读取执行程序,可以将计算机用作设计系统100。
<布线布局设计系统的工作例子>
接着,说明设计系统100的工作例子。在本实施方式中,说明用来使多个端子电连接的布线布局的设计方法。图2及图3是说明布线布局的设计方法的流程图。
〔步骤S311〕
首先,取得布局信息111、网表(netlist)112及设计规则113等基本信息。布局信息111包含示出各端子的配置的信息。网表112包含示出端子间的连接关系的信息(也称为“连接信息”)。设计规则113包含示出布线宽度、布线间隔及连接孔径等的下限值、层数等的上限值、禁止规则等的信息。
布局信息111、网表112及设计规则113等既可以为辅助存储部170所储存的信息,又可以为通过外部输入/输出部180供应到设计系统100的信息。
〔步骤S312〕
接着,随机地生成电连接各端子的初始布线布局(布线形状及布线路径等)。当根据规定规则配置初始布线布局时,最优化处理的结果有时产生偏差。因此,优选随机地生成初始布线布局。对布局信息111追加被生成的布线布局。
注意,在本说明书等中,在通过布线电连接两个端子的情况下,有时将一个端子称为“始点端子”,将另一个端子称为“终点端子”。
一般而言,在很多情况下存在多个始点端子和多个终点端子。因此,在很多情况下生成电连接始点端子与终点端子的多个布线。在本说明书等中,有时将多个始点端子统称为“始点端子群”。此外,有时将多个终点端子统称为“终点端子群”。此外,有时将多个布线统称为“布线群”。
此外,始点端子的数量与终点端子的数量不一定相等。此外,一个始点端子不一定与只有一个终点端子电连接。例如,有时一个始点端子与多个终点端子电连接。与此相同,有时多个始点端子与一个终点端子电连接。基于网表112决定电连接哪个始点端子与哪个终点端子。
〔步骤S313〕
接着,调查随机地生成的布线群的布线布局是否满足设计规则113。将布局是否满足设计规则的确认称为DRC(Design Rule Check:设计规则检查)。
在布局不满足设计规则113时,回到步骤S312,随机地生成布线。
〔步骤S314〕
在布线布局满足设计规则113时,进行布局寄生参数抽出(LPE:Layout ParasiticExtraction)。在步骤S314中抽出的寄生电容值为后面进行的最优化处理的初始值。此外,此时的布线电阻值为后面进行的最优化处理的初始值。
注意,也可以将步骤S311至步骤S314统称为步骤S310。步骤S310为进行初始化或预处理的步骤。
在步骤S310中得到的布局信息也可以为用硬件描述语言(HDL:HardwareDescription Language)记载端子间的连接关系的网表。或者,也可以为用SPICE(Simulation Program with Integrated Circuit Emphasis:仿真电路模拟器)等记载端子间的连接关系的网表。
〔步骤S320〕
接着,使用AI150进行各种参数的最优化。作为进行最优化的参数,有布线长度、布线宽度、与相邻布线之间的距离,跨过其他布线的次数等。参照图3说明步骤S320的详细内容。
在各种参数的最优化中,作为初始信息使用在步骤S310中得到的布局信息、寄生电容及布线电阻。此外,以满足设计规则113为前提,以寄生电容及布线电阻最小的方式进行各种参数的最优化。
各种参数的最优化可以使用强化学习(Reinforcement Learning)进行。“强化学习”为机械学习之一,但是其与主要用于图像识别等的“监督学习”或主要用于聚类等的“无监督学习”不同。强化学习是在得到良好结果时给予奖励且在得到不好结果时给予惩罚的学习方法,主要在难以控制目标达成手段时使用。
作为强化学习,例如可以使用TD学习(Temporal Difference Learning:时间差分学习)、Q学习(Q-Learning)等。此外,优选在Q学习中使用利用深度学习的学习算法。
Q学习是在时刻t,环境为状态s1下智能体(agent)学习选择行动at的价值的方法。智能体是指行动的主体,环境是指被行动的对象。通过智能体的行动at,环境从状态st变为状态st+1,智能体接收奖励rt+1。在Q学习中,以使可以获得的奖励总量最终成为最大的方式学习行动at。可以由动作值函数Q(st,at)表示在状态st下选择行动at的价值。在本说明书等中,有时将动作值函数Q称为Q函数,将动作值函数Q(st,at)的值称为Q值。例如,动作值函数Q(st,at)的更新式可以由算式1表示。
[算式1]
这里,α表示学习率(α大于0且为1以下),γ表示折扣率(γ为0以上且1以下)。学习率α表示要重视的是现在的价值还是通过行动获得的结果。学习率α越接近1,越重视获得的结果,价值的变化越大。学习率α越接近0,越重视现在的价值,价值的变化越小。折扣率γ表示要重视的是现在的奖励还是未来的奖励。折扣率γ越接近0,越重视现在的奖励。折扣率γ越接近1,越重视未来的奖励。例如,可以将学习率α及折扣率γ分别设定为0.10及0.90。
可以在上述动作值函数Q(st,at)的估算中使用深度学习。有时将在动作值函数Q(st,at)的估算中使用深度学习的学习算法称为Deep Q-Learning(深度Q学习),将在DeepQ-Learning中使用的神经网络称为Deep Q-Network(DQN)(深度Q网络)。
在本发明的一个方式的设计系统中,特别优选的是,在参数最优化中使用Deep Q-Learning,并且Deep Q-Network具有卷积神经网络(CNN:Convolutional Neural Network)的结构。在本说明书等中,有时将Deep Q-Network简称为神经网络。
一般而言,在Q学习中,预先以查找表(LUT:Look Up Table)储存动作值函数Q(st,at)的状态st及行动at的组合的数据。然而,由于状态st和行动at的组合很多,有时需要大量的存储器。另一方面,在作为本发明的一个方式的设计系统中,通过在动作值函数Q(st,at)的估算中使用神经网络,可以减少所需的存储器的数量。
在本说明书等中,神经网络是指模拟生物的神经回路网,通过学习决定神经元之间的结合强度,由此获得问题解决能力的所有模型。神经网络包括输入层、输出层、输入层与输出层之间的一层以上的中间层(隐藏层)。
在本说明书等中,在说明神经网络时,有时将根据已经有的信息决定神经元之间的结合强度(也称为权重系数)称为“学习”。
另外,在本说明书等中,有时将使用通过学习得到的结合强度构成神经网络,从该结构导出新的结论称为“推论”。
神经网络使用庞大的积和运算执行。这些运算处理可以通过使用数字电路及模拟电路中的一个或两个而进行。在使用数字电路的情况下,所需要的晶体管数庞大,效率低功耗大。因此,上述积和运算优选使用模拟积和运算电路(以下,将其称为APS(AnalogProduct-Sum circuit))进行。另外,APS优选包括模拟存储器。通过将利用学习获得的权重系数储存于上述模拟存储器中,APS可以直接对模拟数据进行积和运算。其结果是,通过利用APS,可以以少量的晶体管高效地构建神经网络。
另外,在本说明书等中,模拟存储器是指能够储存模拟数据的存储装置。另外,在本说明书中,模拟数据是指具有3比特(8值)以上的分辨率的数据。有时将多值数据称为模拟数据。
作为上述模拟存储器,可以使用多值快闪存储器、ReRAM(Resistive RandomAccess Memory:电阻随机存取存储器)、MRAM(Magnetoresistive Random Access Memory:磁阻随机存取存储器)或者使用OS晶体管的存储器(也称为“OS存储器”)。
〔步骤S321〕
向AI150输入在步骤S310中决定的布局信息、寄生电容值及布线电阻值。
〔步骤S322〕
AI150根据动作值函数Q(st,at)的值改变各种参数的值,而生成新的布局信息。例如,可以将改变各参数的操作作为行动分配。AI150选择动作值函数Q的值最大的行动而改变参数。注意,优选有时随机地选择行动。
〔步骤S323〕
运算部140使用新的布局信息重新设定连接始点端子与终点端子的布线布局。
〔步骤S324〕
接着,对在步骤S323中生成的新的布线布局进行DRC。在新的布线布局不满足设计规则时,进行步骤S326而不进行步骤S325。在新的布线布局满足设计规则时,进行步骤S325。
〔步骤S325〕
在新的布线布局满足设计规则时,抽出布线电阻值和寄生电容值。
〔步骤S326〕
接着,决定给予AI150的奖励。例如,当在步骤S324中布线布局不满足设计规则时,给予负奖励。此外,在布线电阻值或寄生电容值增加时也给予负奖励。此外,在布线电阻值或寄生电容值减少时给予正奖励。
奖励值既可以为规定值,又可以根据布线电阻值及/或寄生电容值的增减量决定。
奖励也可以根据时间常数τ决定。时间常数τ为布线电阻值R与寄生电容值C之积。例如,在时间常数τ增加时给予负奖励,在时间常数τ减少时给予正奖励。
布线布局不满足设计规则时的负奖励优选大于布线电阻值、寄生电容值或时间常数τ增加时的负奖励。
〔步骤S327〕
接着,AI150根据所得到的奖励决定新的权重。
〔步骤S328〕
接着,判断最优化处理是否满足结束条件。例如,在布线电阻值、寄生电容值或时间常数τ的变化率到达规定值以下且被判断为会没有进一步下降时,最优化处理结束。在被判断为不满足结束条件时,回到步骤S321。在步骤S321中,向AI150输入在步骤S322中决定的布局信息等。
此外,考虑布线电阻值、寄生电容值或时间常数τ的变化不结束的情况,也可以在步骤S320的反复次数到达规定次数以上时使最优化处理结束。
〔步骤S330〕
在最优化处理结束后,将所生成的布局信息储存在辅助存储部170中。该布局信息优选被储存为GDS2(Graphic Data System 2)格式。此外,也可以将该布局信息通过外部输入/输出部180或通信部190供应到外部。
根据本发明的一个方式,能够自动进行为了最优化的反复工作,由此可以在短时间内实现最适合的布线布局。此外,减轻布局设计者的负担,而可以提高工作效率。此外,通过将机械学习之一的强化学习用于布线布局的最优化,可以探索到人探索不到的布线布局。
本实施方式可以与其他实施方式等适当地组合。
(实施方式2)
在本实施方式中,说明能够用于在上述实施方式中说明的神经网络的半导体装置的结构例子。
如图4A所示,神经网络NN可以由输入层IL、输出层OL及中间层(隐藏层)HL构成。输入层IL、输出层OL及中间层HL都包括一个或多个神经元(单元)。注意,中间层HL可以为一层或两层以上。包括两层以上的中间层HL的神经网络可以被称为DNN(深度神经网络),使用深度神经网络的学习可以被称为深度学习。
输入层IL的各神经元被输入输入数据,中间层HL的各神经元被输入前一层或后一层的神经元的输出信号,输出层OL的各神经元被输入前一层的神经元的输出信号。注意,各神经元既可以与前一层和后一层的所有神经元连结(全连结),又可以与部分神经元连结。
图4B示出利用神经元的运算的例子。在此,示出神经元N及向神经元N输出信号的前一层的两个神经元。神经元N被输入前一层的神经元的输出x1及前一层的神经元的输出x2。在神经元N中,算出输出x1与权重w1的乘法结果(x1w1)和输出x2与权重w2的乘法结果(x2w2)之总和x1w1+x2w2,然后根据需要对其加偏压b,从而得到值a=x1w1+x2w2+b。值a被激活函数h变换,输出信号y=h(a)从神经元N输出。
如此,利用神经元的运算包括对前一层的神经元的输出与权重之积进行加法的运算,即积和运算(上述x1w1+x2w2)。该积和运算既可以通过程序在软件上进行,又可以通过硬件进行。在通过硬件进行积和运算时,可以使用积和运算电路。作为该积和运算电路,既可以使用数字电路,又可以使用模拟电路。在作为积和运算电路使用模拟电路时,可以缩小积和运算电路的电路规模或因向存储器访问的次数的减少而实现处理速度的提高及功耗的降低。
积和运算电路既可以由在沟道形成区域中包含硅(单晶硅等)的晶体管(以下,也称为Si晶体管)构成,又可以由OS晶体管构成。尤其是,因为OS晶体管具有极小的关态电流,所以优选用作构成积和运算电路的模拟存储器的晶体管。注意,也可以由Si晶体管和OS晶体管的双方构成积和运算电路。下面,说明具有积和运算电路的功能的半导体装置的结构例子。
<半导体装置的结构例子>
图5示出具有进行神经网络的运算的功能的半导体装置MAC的结构例子。半导体装置MAC具有进行对应于神经元间的连结强度(权重)的第一数据与对应于输入数据的第二数据的积和运算的功能。注意,第一数据及第二数据分别可以为模拟数据或多值数据(分散数据)。此外,半导体装置MAC具有使用激活函数对利用积和运算得到的数据进行变换的功能。
半导体装置MAC包括单元阵列CA、电流源电路CS、电流镜电路CM、电路WDD、电路WLD、电路CLD、偏置电路OFST及激活函数电路ACTV。
单元阵列CA包括多个存储单元MC及多个存储单元MCref。图5示出单元阵列CA包括m行n列(m和n为1以上的整数)的存储单元MC(MC[1,1]至[m,n])及m个存储单元MCref(MCref[1]至[m])的结构例子。存储单元MC具有储存第一数据的功能。此外,存储单元MCref具有储存用于积和运算的参考数据的功能。注意,参考数据可以为模拟数据或多值数据。
存储单元MC[i,j](i为1以上且m以下的整数,j为1以上且n以下的整数)连接于布线WL[i]、布线RW[i]、布线WD[j]及布线BL[j]。此外,存储单元MCref[i]连接于布线WL[i]、布线RW[i]、布线WDref及布线BLref。在此,将流在存储单元MC[i,j]与布线BL[j]间的电流记载为IMC[i,j],将流在存储单元MCref[i]与布线BLref间的电流记载为IMCref[i]。
图6示出存储单元MC及存储单元MCref的具体结构例子。虽然在图6中作为典型例子示出存储单元MC[1,1]、MC[2,1]及存储单元MCref[1]、MCref[2],但是在其他存储单元MC及存储单元MCref中可以使用同样的结构。存储单元MC及存储单元MCref都包括晶体管Tr11、Tr12、电容器C11。在此,说明晶体管Tr11及晶体管Tr12为n沟道型晶体管的情况。
在存储单元MC中,晶体管Tr11的栅极连接于布线WL,源极和漏极中的一个连接于晶体管Tr12的栅极及电容器C11的第一电极,源极和漏极中的另一个连接于布线WD。晶体管Tr12的源极和漏极中的一个连接于布线BL,源极和漏极中的另一个连接于布线VR。电容器C11的第二电极连接于布线RW。布线VR具有供应预定电位的功能。在此,作为一个例子,说明从布线VR供应低电源电位(接地电位等)的情况。
将与晶体管Tr11的源极和漏极中的一个、晶体管Tr12的栅极以及电容器C11的第一电极连接的节点称为节点NM。此外,将存储单元MC[1,1]、MC[2,1]的节点NM分别称为节点NM[1,1]、[2,1]。
存储单元MCref也具有与存储单元MC同样的结构。但是,存储单元MCref连接于布线WDref代替布线WD并连接于布线BLref代替布线BL。此外,在存储单元MCref[1]、MCref[2]中,将连接于晶体管Tr11的源极和漏极中的一个、晶体管Tr12的栅极及电容器C11的第一电极的节点分别记载为节点NMref[1]、[2]。
节点NM和节点NMref分别被用作存储单元MC和存储单元MCref的保持节点。节点NM保持第一数据,节点NMref保持参考数据。另外,电流IMC[1,1]、IMC[2,1]分别从布线BL[1]流到存储单元MC[1,1]、MC[2,1]的晶体管Tr12。另外,电流IMCref[1]、IMCref[2]分别从布线BLref流到存储单元MCref[1]、MCref[2]的晶体管Tr12。
由于晶体管Tr11具有保持节点NM或节点NMref的电位的功能,所以晶体管Tr11的关态电流优选小。因此,作为晶体管Tr11,优选使用关态电流极小的OS晶体管。由此,可以抑制节点NM或节点NMref的电位变动而提高运算精度。此外,可以将刷新节点NM或节点NMref的电位的工作的频率抑制为低,由此可以降低功耗。
对晶体管Tr12没有特别的限制,例如可以使用Si晶体管或OS晶体管等。在作为晶体管Tr12使用OS晶体管的情况下,能够使用与晶体管Tr11相同的制造装置制造晶体管Tr12,从而可以抑制制造成本。注意,晶体管Tr12可以为n沟道型晶体管或p沟道型晶体管。
电流源电路CS连接于布线BL[1]至[n]及布线BLref。电流源电路CS具有向布线BL[1]至[n]及布线BLref供应电流的功能。注意,供应到布线BL[1]至[n]的电流值也可以与供应到布线BLref的电流值不同。在此,将从电流源电路CS供应到布线BL[1]至[n]的电流记载为IC,将从电流源电路CS供应到布线BLref的电流记载为ICref。
电流镜电路CM包括布线IL[1]至[n]及布线ILref。布线IL[1]至[n]分别连接于布线BL[1]至[n],布线ILref连接于布线BLref。在此,布线IL[1]至[n]与布线BL[1]至[n]的连接部分记载为节点NP[1]至[n]。此外,布线ILref与布线BLref的连接部分记载为节点NPref。
电流镜电路CM具有将对应于节点NPref的电位的电流ICM流到布线ILref的功能及还将该电流ICM流到布线IL[1]至[n]的功能。图5示出电流ICM从布线BLref排出到布线ILref且电流ICM从布线BL[1]至[n]排出到布线IL[1]至[n]的例子。将从电流镜电路CM通过布线BL[1]至[n]流到单元阵列CA的电流记载为IB[1]至[n]。此外,将从电流镜电路CM通过布线BLref流到单元阵列CA的电流记载为IBref。
电路WDD连接于布线WD[1]至[n]及布线WDref。电路WDD具有将对应于储存在存储单元MC中的第一数据的电位供应到布线WD[1]至[n]的功能。另外,电路WDD具有将对应于储存在存储单元MCref中的参考数据的电位供应到布线WDref的功能。电路WLD与布线WL[1]至[m]连接。电路WLD具有将选择写入数据的存储单元MC或存储单元MCref的信号供应到布线WL[1]至[m]的功能。电路CLD与布线RW[1]至[m]连接。电路CLD具有将对应于第二数据的电位供应到布线RW[1]至[m]的功能。
偏置电路OFST连接于布线BL[1]至[n]及布线OL[1]至[n]。偏置电路OFST具有检测出从布线BL[1]至[n]流到偏置电路OFST的电流量及/或从布线BL[1]至[n]流到偏置电路OFST的电流的变化量的功能。此外,偏置电路OFST具有将检测结果输出到布线OL[1]至[n]的功能。注意,偏置电路OFST既可以将对应于检测结果的电流输出到布线OL,又可以将对应于检测结果的电流变换为电压而将其输出到布线OL。将流在单元阵列CA与偏置电路OFST之间的电流记载为Iα[1]至[n]。
图7示出偏置电路OFST的结构例子。图7所示的偏置电路OFST包括电路OC[1]至[n]。电路OC[1]至[n]都包括晶体管Tr21、晶体管Tr22、晶体管Tr23、电容器C21及电阻元件R1。各元件的连接关系如图7所示。注意,将连接于电容器C21的第一电极及电阻元件R1的第一端子的节点称为节点Na。另外,将连接于电容器C21的第二电极、晶体管Tr21的源极和漏极中的一个及晶体管Tr22的栅极的节点称为节点Nb。
布线VrefL具有供应电位Vref的功能,布线VaL具有供应电位Va的功能,布线VbL具有供应电位Vb的功能。布线VDDL具有供应电位VDD的功能,布线VSSL具有供应电位VSS的功能。在此,说明电位VDD是高电源电位且电位VSS是低电源电位的情况。布线RST具有供应用来控制晶体管Tr21的导通状态的电位的功能。由晶体管Tr22、晶体管Tr23、布线VDDL、布线VSSL及布线VbL构成源极跟随电路。
接着,说明电路OC[1]至[n]的工作例子。注意,虽然在此作为典型例子说明电路OC[1]的工作例子,但是电路OC[2]至[n]也可以与此同样地工作。首先,当第一电流流到布线BL[1]时,节点Na的电位成为对应于第一电流与电阻元件R1的电阻值的电位。此时,晶体管Tr21处于开启状态,电位Va被供应到节点Nb。然后,晶体管Tr21成为关闭状态。
接着,当第二电流流到布线BL[1]时,节点Na的电位变为对应于第二电流与电阻元件R1的电阻值的电位。此时,晶体管Tr21处于关闭状态,节点Nb处于浮动状态,因此在节点Na的电位变化时节点Nb的电位由于电容耦合而变化。在此,在节点Na的电位变化为ΔVNa且电容耦合系数为1时,节点Nb的电位为Va+ΔVNa。在晶体管Tr22的阈值电压为Vth时,从布线OL[1]输出电位Va+ΔVNa-Vth。在此,通过满足Va=Vth,可以从布线OL[1]输出电位ΔVNa。
电位ΔVNa根据从第一电流到第二电流的变化量、电阻元件R1的电阻值及电位Vref决定。在此,已知电阻元件R1的电阻值和电位Vref,由此可以求得从电位ΔVNa流到布线BL的电流的变化量。
如上所述,对应于通过偏置电路OFST检测出的电流量及/或电流的变化量的信号通过布线OL[1]至[n]输入到激活函数电路ACTV。
激活函数电路ACTV连接于布线OL[1]至[n]和布线NIL[1]至[n]。激活函数电路ACTV具有进行运算以根据预定的激活函数变换从偏置电路OFST输入的信号的功能。作为激活函数,例如可以使用sigmoid函数、tanh函数、softmax函数、ReLU函数及阈值函数等。被激活函数电路ACTV变换的信号作为输出数据输出到布线NIL[1]至[n]。
<半导体装置的工作例子>
能够使用上述半导体装置MAC对第一数据和第二数据进行积和运算。下面,说明进行积和运算时的半导体装置MAC的工作例子。
图8示出半导体装置MAC的工作例子的时序图。图8示出图6中的布线WL[1]、布线WL[2]、布线WD[1]、布线WDref、节点NM[1,1]、节点NM[2,1]、节点NMref[1]、节点NMref[2]、布线RW[1]及布线RW[2]的电位推移、以及电流IB[1]-Iα[1]和电流IBref的值的推移。电流IB[1]-Iα[1]相当于从布线BL[1]流到存储单元MC[1,1]、MC[2,1]的电流之总和。
虽然在此着眼于在图6中作为典型例子示出的存储单元MC[1,1]、MC[2,1]及存储单元MCref[1]、MCref[2]而说明其工作,但是其他存储单元MC及存储单元MCref也可以进行同样的工作。
[第一数据的存储]
首先,在时刻T01-T02,布线WL[1]的电位成为高(High)电平,布线WD[1]的电位成为比接地电位(GND)大VPR-VW[1,1]的电位,布线WDref的电位成为比接地电位大VPR的电位。布线RW[1]及布线RW[2]的电位成为标准电位(REFP)。注意,电位VW[1,1]对应于储存在存储单元MC[1,1]中的第一数据。此外,电位VPR对应于参考数据。因此,存储单元MC[1,1]及存储单元MCref[1]所具有的晶体管Tr11成为开启状态,节点NM[1,1]的电位成为VPR-VW[1,1],节点NMref[1]的电位成为VPR。
此时,从布线BL[1]流到存储单元MC[1,1]的晶体管Tr12的电流IMC[1,1],0能够以如下算式表示。在此,k是取决于晶体管Tr12的沟道长度、沟道宽度、迁移率以及栅极绝缘膜的电容等的常数。此外,Vth为晶体管Tr12的阈值电压。
IMC[1,1],0=k(VPR-VW[1,1]-Vth)2 (E1)
此外,从布线BLref流到存储单元MCref[1]的晶体管Tr12的电流IMCref[1],0能够以如下算式表示。
IMCref[1],0=k(VPR-Vth)2 (E2)
接着,在时刻T02-T03,布线WL[1]的电位成为低(Low)电平。因此,存储单元MC[1,1]及存储单元MCref[1]所具有的晶体管Tr11成为关闭状态,节点NM[1,1]及节点NMref[1]的电位被保持。
如上所述,作为晶体管Tr11,优选使用OS晶体管。由此,可以抑制晶体管Tr11的泄漏电流而正确地保持节点NM[1,1]及节点NMref[1]的电位。
接着,在时刻T03-T04,布线WL[2]的电位成为高电平,布线WD[1]的电位成为比接地电位大VPR-VW[2,1]的电位,布线WDref的电位成为比接地电位大VPR的电位。注意,电位VW[2,1]对应于储存在存储单元MC[2,1]中的第一数据。因此,存储单元MC[2,1]及存储单元MCref[2]所具有的晶体管Tr11成为开启状态,节点NM[2,1]的电位成为VPR-VW[2,1],节点NMref[2]的电位成为VPR。
此时,从布线BL[1]流到存储单元MC[2,1]的晶体管Tr12的电流IMC[2,1],0能够以如下算式表示。
IMC[2,1],0=k(VPR-VW[2,1]-Vth)2 (E3)
此外,从布线BLref流到存储单元MCref[2]的晶体管Tr12的电流IMCref[2],0能够以如下算式表示。
IMCref[2],0=k(VPR-Vth)2 (E4)
接着,在时刻T04-T05,布线WL[2]的电位成为低电平。因此,存储单元MC[2,1]及存储单元MCref[2]所具有的晶体管Tr11成为关闭状态,节点NM[2,1]及节点NMref[2]的电位被保持。
通过上述工作,在存储单元MC[1,1]、MC[2,1]中储存第一数据,存储单元MCref[1]、MCref[2]中储存参考数据。
在此,在时刻T04-T05,考虑流到布线BL[1]和布线BLref的电流。向布线BLref从电流源电路CS供应电流。流过布线BLref的电流排出到电流镜电路CM及存储单元MCref[1]、MCref[2]。将从电流源电路CS供应到布线BLref的电流称为ICref,将从布线BLref排出到电流镜电路CM的电流称为ICM,0,此时满足下式。
ICref-ICM,0=IMCref[1],0+IMCref[2],0 (E5)
向布线BL[1]从电流源电路CS供应电流。流过布线BL[1]的电流排出到电流镜电路CM及存储单元MC[1,1]、MC[2,1]。另外,电流从布线BL[1]流到偏置电路OFST。将从电流源电路CS供应到布线BL[1]的电流称为IC,0,将从布线BL[1]流到偏置电路OFST的电流称为Iα,0,此时满足下式。
IC-ICM,0=IMC[1,1],0+IMC[2,1],0+Iα,0 (E6)
[第一数据和第二数据的积和运算]
接着,在时刻T05-T06,布线RW[1]的电位比标准电位大VX[1]。此时,电位VX[1]被供应到存储单元MC[1,1]及存储单元MCref[1]的各电容器C11,晶体管Tr12的栅极电位因电容耦合而上升。注意,电位VX[1]对应于供应到存储单元MC[1,1]及存储单元MCref[1]的第二数据。
晶体管Tr12的栅极的电位的变化量相当于布线RW的电位的变化乘以根据存储单元的结构决定的电容耦合系数的值。电容耦合系数根据电容器C11的电容、晶体管Tr12的栅极电容以及寄生电容等而算出。下面,为了方便起见,说明布线RW的电位的变化量与晶体管Tr12的栅极的电位的变化量相等的情况,即说明电容耦合系数为1的情况。实际上,考虑电容耦合系数决定电位VX,即可。
当电位VX[1]被供应到存储单元MC[1,1]及存储单元MCref[1]的电容器C11时,节点NM[1,1]及节点NMref[1]的电位都上升VX[1]。
在此,在时刻T05-T06,从布线BL[1]流到存储单元MC[1,1]的晶体管Tr12的电流IMC[1,1],1能够以如下算式表示。
IMC[1,1],1=k(VPR-VW[1,1]+VX[1]-Vth)2 (E7)
也就是说,通过向布线RW[1]供应电位VX[1],从布线BL[1]流到存储单元MC[1,1]的晶体管Tr12的电流增加ΔIMC[1,1]=IMC[1,1],1-IMC[1,1],0。
此外,在时刻T05-T06,从布线BLref流到存储单元MCref[1]的晶体管Tr12的电流IMCref[1],1能够以如下算式表示。
IMCref[1],1=k(VPR+VX[1]-Vth)2 (E8)
也就是说,通过向布线RW[1]供应电位VX[1],从布线BLref流到存储单元MCref[1]的晶体管Tr12的电流增加ΔIMCref[1]=IMCref[1],1-IMCref[1],0。
另外,考虑流到布线BL[1]和布线BLref的电流。向布线BLref从电流源电路CS供应电流ICref。流过布线BLref的电流排出到电流镜电路CM及存储单元MCref[1]、MCref[2]。将从布线BLref排出到电流镜电路CM的电流称为ICM,1,此时满足下式。
ICref-ICM,1=IMCref[1],1+IMCref[2],0 (E9)
向布线BL[1]从电流源电路CS供应电流IC。流过布线BL[1]的电流排出到电流镜电路CM及存储单元MC[1,1]、MC[2,1]。再者,电流从布线BL[1]流到偏置电路OFST。将从布线BL[1]流到偏置电路OFST的电流称为Iα,1,此时满足下式。
IC-ICM,1=IMC[1,1],1+IMC[2,1],1+Iα,1 (E10)
根据算式(E1)至算式(E10),能够以下式表示电流Iα,0与电流Iα,1之差(差异电流ΔIα)。
ΔIα=Iα,1-Iα,0=2kVW[1,1]VX[1] (E11)
如此,差异电流ΔIα表示对应于电位VW[1,1]与VX[1]之积的值。
然后,在时刻T06-T07,布线RW[1]的电位成为标准电位,节点NM[1,1]及节点NMref[1]的电位与时刻T04-T05同样。
接着,在时刻T07-T08,布线RW[1]的电位成为比标准电位大VX[1]的电位,布线RW[2]的电位成为比标准电位大VX[2]的电位。因此,电位VX[1]被供应到存储单元MC[1,1]及存储单元MCref[1]的电容器C11,因电容耦合而节点NM[1,1]及节点NMref[1]的电位都上升VX[1]。另外,电位VX[2]被供应到存储单元MC[2,1]及存储单元MCref[2]的电容器C11,因电容耦合而节点NM[2,1]及节点NMref[2]的电位都上升VX[2]。
在此,在时刻T07-T08,从布线BL[1]流到存储单元MC[2,1]的晶体管Tr12的电流IMC[2,1],1能够以如下算式表示。
IMC[2,1],1=k(VPR-VW[2,1]+VX[2]-Vth)2 (E12)
也就是说,通过向布线RW[2]供应电位VX[2],从布线BL[1]流到存储单元MC[2,1]的晶体管Tr12的电流增加ΔIMC[2,1]=IMC[2,1],1-IMC[2,1],0。
此外,在时刻T07-T08,从布线BLref流到存储单元MCref[2]的晶体管Tr12的电流IMCref[2],1能够以如下算式表示。
IMCref[2],1=k(VPR+VX[2]-Vth)2 (E13)
也就是说,通过向布线RW[2]供应电位VX[2],从布线BLref流到存储单元MCref[2]的晶体管Tr12的电流增加ΔIMCref[2]=IMCref[2],1-IMCref[2],0。
另外,考虑流到布线BL[1]和布线BLref的电流。向布线BLref从电流源电路CS供应电流ICref。流过布线BLref的电流排出到电流镜电路CM及存储单元MCref[1]、MCref[2]。将从布线BLref排出到电流镜电路CM的电流称为ICM,2,此时满足下式。
ICref-ICM,2=IMCref[1],1+IMCref[2],1 (E14)
向布线BL[1]从电流源电路CS供应电流IC。流过布线BL[1]的电流排出到电流镜电路CM及存储单元MC[1,1]、MC[2,1]。再者,电流从布线BL[1]流到偏置电路OFST。将从布线BL[1]流到偏置电路OFST的电流称为Iα,2,此时满足下式。
IC-ICM,2=IMC[1,1],1+IMC[2,1],1+Iα,2 (E15)
根据算式(E1)至算式(E8)及算式(E12)至算式(E15),能够以下式表示电流Iα,0与电流Iα,2之差(差异电流ΔIα)。
ΔIα=Iα,2-Iα,0=2k(VW[1,1]VX[1]+VW[2,1]VX[2]) (E16)
如此,差异电流ΔIα表示对应于对电位VW[1,1]与电位VX[1]之积和电位VW[2,1]与电位VX[2]之积进行加法的结果的值。
然后,在时刻T08-T09,布线RW[1]、[2]的电位成为标准电位,节点NM[1,1]、[2,1]及节点NMref[1]、[2]的电位与时刻T04-T05同样。
如算式(E11)和算式(E16)所示,输入到偏置电路OFST的差异电流ΔIα可以从包括对应于第一数据(权重)的电位VW与对应于第二数据(输入数据)的电位VX之乘积项的算式算出。也就是说,通过使用偏置电路OFST对差异电流ΔIα进行测量,可以获得第一数据与第二数据的积和运算的结果。
注意,虽然在上述说明中着眼于存储单元MC[1,1]、MC[2,1]及存储单元MCref[1]、MCref[2],但是可以任意设定存储单元MC及存储单元MCref的数量。在将存储单元MC及存储单元MCref的行数m设定为任意数量i的情况下,能够以下式表示差异电流ΔIα。
ΔIα=2kΣiVW[i,1]VX[i] (E17)
此外,通过使存储单元MC及存储单元MCref的列数n增加,可以使并行的积和运算的数量增加。
如上所述,通过使用半导体装置MAC,可以对第一数据和第二数据进行积和运算。另外,通过使用图6所示的存储单元MC及存储单元MCref的结构,可以使用以晶体管的数量较少的方式构成积和运算电路。由此,可以缩小半导体装置MAC的电路规模。
在将半导体装置MAC用于利用神经网络的运算时,可以使存储单元MC的行数m对应于供应到一个神经元的输入数据的数量并使存储单元MC的列数n对应于神经元的数量。例如,考虑在图4A所示的中间层HL中进行使用半导体装置MAC的积和运算的情况。此时,可以将存储单元MC的行数m设定为从输入层IL供应的输入数据的数量(输入层IL的神经元的数量)并将存储单元MC的列数n设定为中间层HL的神经元的数量。
注意,对使用半导体装置MAC的神经网络的结构没有特别的限制。例如,半导体装置MAC可以用于卷积神经网络(CNN)、递归神经网络(RNN)、自动编码器及玻尔兹曼机(包括限制玻尔兹曼机)等。
如上所述,通过使用半导体装置MAC,可以进行神经网络的积和运算。再者,通过将图6所示的存储单元MC及存储单元MCref用于单元阵列CA,可以提供运算精度高、功耗低或电路规模小的集成电路。
本实施方式可以与其他实施方式等适当地组合。
[符号说明]
100:设计系统、101:传送通道、111:布局信息、112:网表、113:设计规则、130:控制部、140:运算部、150:AI、160:存储部、170:辅助存储部、180:外部输入/输出部、190:通信部。
Claims (8)
1.一种布线布局设计方法,包括:
取得第一布局信息的第一步骤;
使用所述第一布局信息生成第一布线布局的第二步骤;
取得作为所述第一布线布局的寄生电容值的第一寄生电容值的第三步骤;
使用所述第一布局信息生成第二布线布局的第四步骤;
对所述第二布线布局进行DRC的第五步骤;
取得作为所述第二布线布局的寄生电容值的第二寄生电容值的第六步骤;
使用所述DRC的结果、所述第一寄生电容值及所述第二寄生电容值进行学习的第七步骤;以及
根据所述学习的结果改变所述第一布局信息的第八步骤。
2.一种布线布局设计方法,包括:
取得第一布局信息的第一步骤;
使用所述第一布局信息生成第一布线布局的第二步骤;
取得作为所述第一布线布局的寄生电容值的第一寄生电容值及作为所述第一布线布局的布线电阻值的第一布线电阻值的第三步骤;
使用所述第一布局信息生成第二布线布局的第四步骤;
对所述第二布线布局进行DRC的第五步骤;
取得作为所述第二布线布局的寄生电容值的第二寄生电容值及作为所述第二布线布局的布线电阻值的第二布线电阻值的第六步骤;
使用所述DRC的结果、所述第一寄生电容值、所述第二寄生电容值、所述第一布线电阻值及所述第二布线电阻值进行学习的第七步骤;以及
根据所述学习的结果改变所述第一布局信息的第八步骤。
3.根据权利要求1或2所述的布线布局设计方法,其中多次反复进行所述第四步骤至所述第八步骤。
4.根据权利要求1至3中任一项所述的布线布局设计方法,其中所述学习为Q学习。
5.根据权利要求1至4中任一项所述的布线布局设计方法,其中所述学习使用神经网络进行。
6.根据权利要求5所述的布线布局设计方法,其中所述神经网络推测动作值函数。
7.一种用来使计算机执行权利要求1至6中任一项所述的布线布局设计方法的程序。
8.一种记录有权利要求7所述的程序的计算机可读记录媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-052490 | 2019-03-20 | ||
JP2019052490 | 2019-03-20 | ||
PCT/IB2020/052002 WO2020188397A1 (ja) | 2019-03-20 | 2020-03-09 | 配線レイアウト設計方法、プログラム、および記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113508384A true CN113508384A (zh) | 2021-10-15 |
Family
ID=72519012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080018248.4A Pending CN113508384A (zh) | 2019-03-20 | 2020-03-09 | 布线布局设计方法、程序及记录媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US12118286B2 (zh) |
JP (1) | JP7413353B2 (zh) |
KR (2) | KR20210136027A (zh) |
CN (1) | CN113508384A (zh) |
WO (1) | WO2020188397A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114707462A (zh) * | 2022-04-18 | 2022-07-05 | 浪潮集团有限公司 | 一种超导量子比特芯片制备方法及设备 |
CN115249005A (zh) * | 2022-09-21 | 2022-10-28 | 深圳飞骧科技股份有限公司 | 射频前端模组自动版图布局的方法、系统及相关设备 |
CN115859906A (zh) * | 2023-03-01 | 2023-03-28 | 上海合见工业软件集团有限公司 | 一种芯片互连系统 |
WO2024093467A1 (zh) * | 2022-10-31 | 2024-05-10 | 深圳飞骧科技股份有限公司 | 声表滤波器的自动设计方法、相关系统和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023003918A2 (en) * | 2021-07-23 | 2023-01-26 | D2S, Inc. | Methods and systems to determine parasitics for semiconductor or flat panel display fabrication |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602753A (en) | 1994-04-19 | 1997-02-11 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for estimating power dissipation and method and apparatus of determining layout/routing |
JP2752597B2 (ja) * | 1994-04-19 | 1998-05-18 | 松下電器産業株式会社 | 消費電力の推定方法,消費電力の推定装置,配置配線の決定方法及び配置配線設計装置 |
JP2003050835A (ja) | 2001-08-07 | 2003-02-21 | Matsushita Electric Ind Co Ltd | 半導体集積回路設計方法 |
JP2003308351A (ja) | 2002-04-18 | 2003-10-31 | Matsushita Electric Ind Co Ltd | 半導体集積回路のレイアウト設計方法 |
JP2005129869A (ja) | 2003-10-27 | 2005-05-19 | Matsushita Electric Ind Co Ltd | 半導体集積回路設計方法 |
JP6269121B2 (ja) | 2014-02-06 | 2018-01-31 | 富士通株式会社 | 情報処理装置、評価関数学習方法およびプログラム |
JP6674838B2 (ja) | 2015-05-21 | 2020-04-01 | 株式会社半導体エネルギー研究所 | 電子装置 |
US11386322B1 (en) * | 2016-09-28 | 2022-07-12 | Cadence Design Systems, Inc. | System, method, and computer-program product for routing in an electronic design using deep learning |
US9792397B1 (en) * | 2017-01-08 | 2017-10-17 | Alphaics Corporation | System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning |
JP6502998B2 (ja) * | 2017-04-13 | 2019-04-17 | ファナック株式会社 | 回路構成最適化装置及び機械学習装置 |
US10268795B2 (en) * | 2017-04-20 | 2019-04-23 | Taiwan Semiconductor Manufacturing Company Ltd. | Method and system for timing optimization with detour prediction |
CN110998585B (zh) | 2017-06-22 | 2024-07-16 | 株式会社半导体能源研究所 | 布局设计系统及布局设计方法 |
US10437954B1 (en) * | 2017-06-30 | 2019-10-08 | Cadence Design Systems, Inc. | System and method for recommending integrated circuit placement and routing options |
US10755026B1 (en) * | 2017-11-14 | 2020-08-25 | Synopsys, Inc. | Circuit design including design rule violation correction utilizing patches based on deep reinforcement learning |
US10943049B2 (en) * | 2018-09-28 | 2021-03-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Rule check violation prediction systems and methods |
US11934759B2 (en) | 2019-02-15 | 2024-03-19 | Semiconductor Energy Laboratory Co., Ltd. | Parameter search method |
-
2020
- 2020-03-09 KR KR1020217028985A patent/KR20210136027A/ko active Application Filing
- 2020-03-09 JP JP2021506780A patent/JP7413353B2/ja active Active
- 2020-03-09 US US17/438,551 patent/US12118286B2/en active Active
- 2020-03-09 CN CN202080018248.4A patent/CN113508384A/zh active Pending
- 2020-03-09 KR KR1020247031805A patent/KR20240146099A/ko active Application Filing
- 2020-03-09 WO PCT/IB2020/052002 patent/WO2020188397A1/ja active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114707462A (zh) * | 2022-04-18 | 2022-07-05 | 浪潮集团有限公司 | 一种超导量子比特芯片制备方法及设备 |
CN115249005A (zh) * | 2022-09-21 | 2022-10-28 | 深圳飞骧科技股份有限公司 | 射频前端模组自动版图布局的方法、系统及相关设备 |
WO2024093467A1 (zh) * | 2022-10-31 | 2024-05-10 | 深圳飞骧科技股份有限公司 | 声表滤波器的自动设计方法、相关系统和存储介质 |
CN115859906A (zh) * | 2023-03-01 | 2023-03-28 | 上海合见工业软件集团有限公司 | 一种芯片互连系统 |
CN115859906B (zh) * | 2023-03-01 | 2023-04-28 | 上海合见工业软件集团有限公司 | 一种芯片互连系统 |
Also Published As
Publication number | Publication date |
---|---|
US20220147682A1 (en) | 2022-05-12 |
JPWO2020188397A1 (zh) | 2020-09-24 |
KR20210136027A (ko) | 2021-11-16 |
WO2020188397A1 (ja) | 2020-09-24 |
US12118286B2 (en) | 2024-10-15 |
KR20240146099A (ko) | 2024-10-07 |
JP7413353B2 (ja) | 2024-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7413353B2 (ja) | 配線レイアウト設計方法、プログラム、および記録媒体 | |
US10949595B2 (en) | Layout design system and layout design method | |
Yang et al. | Transiently chaotic simulated annealing based on intrinsic nonlinearity of memristors for efficient solution of optimization problems | |
Wang et al. | Learning to design circuits | |
CN107004441B (zh) | 基于磁性隧道结电阻比较的物理不可克隆功能 | |
Eshraghian et al. | Memristive device fundamentals and modeling: Applications to circuits and systems simulation | |
CN104737232B (zh) | 用以提供针对存储器装置的电力管理的设备及方法 | |
JP2018133016A (ja) | ニューラルネットワークシステム | |
JP2023018008A (ja) | 抵抗変化素子アレイにおける抵抗変化素子にアクセスするためのデバイスおよび方法 | |
US11817726B2 (en) | Power feeding device, electronic device, and operation method of power feeding device | |
CN104937665A (zh) | 具有读优选单元结构、写驱动器的静态随机存取存储器(sram)、相关系统和方法 | |
JP2020205106A (ja) | システム | |
CN113711205A (zh) | 文档检索系统及文档检索方法 | |
US20210167194A1 (en) | Semiconductor device and method for manufacturing semiconductor device | |
Singh et al. | Design and integration of vertical TFET and memristor for better realization of logical functions | |
Van Nguyen et al. | Quantization, training, parasitic resistance correction, and programming techniques of memristor-crossbar neural networks for edge intelligence | |
Ren et al. | Reference calibration of body-voltage sensing circuit for high-speed STT-RAMs | |
EP4092749A1 (en) | Cross array ferroelectric tunnel junction devices for artificial intelligence and machine learning accelerators | |
Ling et al. | An isolated symmetrical 2T2R cell enabling high precision and high density for RRAM-based in-memory computing | |
Nafea et al. | Memristor Overview up to 2015 | |
Shrivastava et al. | Improved dual sided doped memristor: modelling and applications | |
WO2021064511A1 (ja) | 半導体装置および判定システム | |
Abbasi et al. | Design and simulation of high-speed and low-power memcapacitor-based nonvolatile static cells using FinFET transistors | |
JP7463292B2 (ja) | トランジスタモデルの作成方法、プログラム、記録媒体およびシミュレーション装置 | |
US20230194594A1 (en) | Method of generating device model and computing device performing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |