JP2005018258A - Printed circuit board design device, method and computer program, and recording medium with the program recorded - Google Patents

Printed circuit board design device, method and computer program, and recording medium with the program recorded Download PDF

Info

Publication number
JP2005018258A
JP2005018258A JP2003179925A JP2003179925A JP2005018258A JP 2005018258 A JP2005018258 A JP 2005018258A JP 2003179925 A JP2003179925 A JP 2003179925A JP 2003179925 A JP2003179925 A JP 2003179925A JP 2005018258 A JP2005018258 A JP 2005018258A
Authority
JP
Japan
Prior art keywords
printed circuit
circuit board
graph
functional blocks
board design
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.)
Withdrawn
Application number
JP2003179925A
Other languages
Japanese (ja)
Inventor
Masamichi Naka
政道 中
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2003179925A priority Critical patent/JP2005018258A/en
Publication of JP2005018258A publication Critical patent/JP2005018258A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/4805Shape
    • H01L2224/4809Loop shape
    • H01L2224/48091Arched
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/19Details of hybrid assemblies other than the semiconductor or other solid state devices to be connected
    • H01L2924/191Disposition
    • H01L2924/19101Disposition of discrete passive components
    • H01L2924/19105Disposition of discrete passive components in a side-by-side arrangement on a common die mounting substrate

Abstract

<P>PROBLEM TO BE SOLVED: To provide a printed circuit board design device that decides a layout order of printed circuit boards so as to minimize the number of connections between the printed circuit boards in printed circuit board design for stacking a plurality of printed circuit boards. <P>SOLUTION: A graph generation part 22 generates a graph wherein functional blocks including parts are vertices, connections between different functional blocks are branches and numbers of connections between functional blocks are branch weights. A graph search part 23 refers to the graph generated by the graph generation part 22 to sequentially search for unsearched vertices with the heaviest weight, starting with the vertex whose functional block is an external interface. A layout order decision part 24 then sets the search order by the graph search part 23 as a layer layout order in printed circuit board stacking. The layout order of printed circuit boards can be thus decided so as to minimize the number of connections between the printed circuit boards. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路を構成する半導体チップおよび受動部品を実装したプリント基板を積層構造に実装する技術に関し、特に、機能ブロックを各プリント基板に割付ける順序を自動的に決定するプリント基板設計装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
近年、携帯電話や携帯情報端末が急速に普及しているが、その理由の1つとして機器の飛躍的な小型化を挙げることができる。その背景として、従来複数のIC(Integrated Circuit)で構成されていたシステムや機能を1つの半導体素子に集約するSOC(System On Chip)化の技術の進歩がある。
【0003】
一方、必要な複数の半導体素子を組合わせ、プリント基板に直接搭載して1パッケージ化したSIP(System In Package)が注目を集めつつある。中でも、大規模な論理回路の実装面積を小さくする手法として、半導体素子を実装した複数のプリント基板を、はんだ電極を介して積層する手法を挙げることができる。
【0004】
図17は、はんだ電極を介してプリント基板を積層する手法を説明するための図である。図17に示すように、配線パターンを設けた回路基板131に電子部品を実装し、はんだ電極134を位置合わせして回路基板132を積層する。そして、はんだ電極134を介して回路基板132の上にさらに回路基板133を積層する。
【0005】
この手法によれば、実装面積を小さくするだけでなく、プリント基板を介して半導体チップを接続するため、アーキテクチャの変更の際に、半導体チップの設計変更が不要となり、開発期間が短くなるという効果がある。
【0006】
また、プリント基板を介さずに半導体チップを積層する方法として、半導体集積回路を分割して、複数チップ上にフリップチップ実装によって半導体集積回路を積層し、これら複数のチップをバンプによって配線する、チップオンチップの設計手法がある。この手法によれば、半導体チップ自身の設計を最適化するため、半導体チップの小型化が行なえるという効果がある。これに関連する技術として、特開2000−114386号公報に開示された発明がある。
【0007】
図18は、特開2000−114386号公報に開示された半導体集積回路におけるチップオンチップの構造を示す断面図である。この半導体集積回路は、ベースチップ141と、ベースチップ141上にフリップして実装される第2チップ142と、ベースチップ141と第2チップ142とを接続するバンプ143とを含む。ベースチップ141および第2チップ142を一括して配置配線することによって、ベースチップ141および第2チップ142への最適な回路分割と配線工程でバンプ143の最適な位置とを決定することで、集積度向上を可能にするものである。
【0008】
ベースチップ141と第2チップ142とを別々のプロセスで製造するため、たとえば、DRAM(Dynamic Random Access Memory)の専用プロセスで第2チップ142を製造し、ベースチップ141をCMOS(Complementary Metal Oxide Semiconductor)プロセスで製造することによって、DRAMとCMOSとの混在プロセスを使用することなく、低コストで高性能なDRAMを搭載したチップを設計することができる。したがって、異なる複数のプロセスを用いたシステムを、容易に設計することが可能となる。
【0009】
図19(a)は、特開2000−114386号公報に開示された半導体集積回路の設計手順を説明するためのフローチャートである。まず、論理回路設計が行なわれ(S161)、設計された回路の分割が行なわれる(S162)。分割された論理回路が搭載される基板のはんだ電極の位置決めが行なわれる(S163)。そして、ベース基板の配置配線が行なわれる(S174)と共に、第2基板の配置配線が行なわれる(S175)。ステップS174およびS175は、同時に行なうことが可能である。
【0010】
図19(b)は、特開2000−114386号公報に開示された半導体集積回路の他の設計手順を説明するためのフローチャートである。まず、論理回路設計が行なわれ(S161)、設計された回路の分割が行なわれる(S162)。次に、分割された論理回路が搭載される基板のうち、第2基板の配置配線が行なわれ(S165)、その第2基板のはんだ電極の位置決めが行なわれる(S163)。そして、はんだ電極の位置に合わせてベース基板の配置配線が行なわれる(S164)。
【0011】
【特許文献1】
特開2000−114386号公報
【0012】
【発明が解決しようとする課題】
上述した図19(a)および図19(b)に示す設計手順によれば、ベース回路をベース基板に実装し、それ以外の回路を第2基板に実装するという簡単な設計方法であるため、SIPが大規模化した場合には設計が不可能になるといった問題点がある。また、不適切な層割付けを行なうと基板間の信号線の数が増え、冗長配線が増えることになって、信号遅延やノイズの発生原因ともなる。さらには、はんだ電極に割付ける電源/グランド数が減少するため、動作が不安定になるといった問題点もある。
【0013】
また、プリント基板を介さずに半導体チップを積層するため、この技術をプリント基板を介して半導体チップを積層する手法に適用することはできない。
【0014】
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、複数のプリント基板を積層するプリント基板設計において、プリント基板間の接続本数が最小となるようにプリント基板の割付け順序を決定するプリント基板設計装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体を提供することである。
【0015】
第2の目的は、複数のプリント基板を積層するプリント基板設計において、プリント基板の小型化を図ることが可能なプリント基板設計装置を提供することである。
【0016】
【課題を解決するための手段】
本発明のある局面に従えば、部品を実装した基板をはんだ電極を介して積層するプリント基板の設計を行なうプリント基板設計装置であって、部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するためのグラフ生成手段と、グラフ生成手段によって生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するためのグラフ検索手段と、グラフ検索手段による検索順序を、プリント基板の積層時における層割付け順序とするための割付け順序決定手段とを含む。
【0017】
グラフ検索手段が、グラフ生成手段によって生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するので、プリント基板間の接続本数が最小となるようにプリント基板の割付け順序を決定することが可能となる。
【0018】
好ましくは、グラフ検索手段は、外部とのインタフェースとなる機能ブロックを検索開始の頂点とし、グラフ生成手段によって生成されたグラフを参照して未検索で最大の重みを持つ頂点を順次検索する。
【0019】
したがって、プリント基板の割付け順序を適切に決定することが可能となる。好ましくは、プリント基板設計装置はさらに、各機能ブロックに含まれる部品の実装面積の総和を求め、実装面積の総和が基準値以下となるように部品を移動して機能ブロックを変更するための機能ブロック変更手段を含む。
【0020】
したがって、プリント基板の小型化を図ることが可能となる。
本発明の別の局面に従えば、部品を実装した基板をはんだ電極を介して積層するプリント基板の設計方法であって、部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するステップと、生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するステップと、検索による検索順序を、プリント基板の積層時における層割付け順序とするステップとを含む。
【0021】
生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するので、プリント基板間の接続本数が最小となるようにプリント基板の割付け順序を決定することが可能となる。
【0022】
本発明のさらに別の局面に従えば、部品を実装した基板をはんだ電極を介して積層するプリント基板の設計方法をコンピュータに実行させるためのコンピュータ・プログラムであって、プリント基板設計方法は、部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するステップと、生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するステップと、検索による検索順序を、プリント基板の積層時における層割付け順序とするステップとを含む。
【0023】
生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するので、プリント基板間の接続本数が最小となるようにプリント基板の割付け順序を決定することが可能となる。
【0024】
本発明のさらに別の局面に従えば、部品を実装した基板をはんだ電極を介して積層するプリント基板の設計方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読取り可能な記録媒体であって、プリント基板設計方法は、部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するステップと、生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するステップと、検索による検索順序を、プリント基板の積層時における層割付け順序とするステップとを含む。
【0025】
生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するので、プリント基板間の接続本数が最小となるようにプリント基板の割付け順序を決定することが可能となる。
【0026】
【発明の実施の形態】
(第1の実施の形態)
図1は、本発明の第1の実施の形態におけるプリント基板の設計手順を説明するためのフローチャートである。まず、まず、論理回路設計が行なわれ(S161)、設計された回路の分割が行なわれる(S162)。次に、分割された論理回路の層割付を行ない(S10)、それぞれの論理回路が搭載される基板のはんだ電極の位置決めが行なわれる(S163)。そして、第1〜第n基板の配置配線が行なわれる(S11〜S13)。なお、ステップS11〜S13は、同時に行なうことが可能である。本発明の第1の実施の形態におけるプリント基板設計装置は、主としてステップS10に関するものである。
【0027】
図2は、本発明の第1の実施の形態におけるプリント基板設計装置の構成を示すブロック図である。このプリント基板設計装置は、コンピュータ本体1、ディスプレイ装置2、FD(Flexible Disk)4が装着されるFDドライブ3、キーボード5、マウス6、CD−ROM(Compact Disc−Read Only Memory)8が装着されるCD−ROM装置7、およびネットワーク通信装置9を含む。
【0028】
プリント基板設計プログラムは、FD4またはCD−ROM8等の記録媒体によって供給される。プリント基板設計プログラムがコンピュータ本体1によって実行されることによって、プリント基板の設計が行なわれる。また、プリント基板設計プログラムは他のコンピュータよりネットワーク通信装置9を経由し、コンピュータ本体1に供給されてもよい。
【0029】
図2に示すコンピュータ本体1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD−ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行う。
【0030】
FD4またはCD−ROM8に記録されたプリント基板設計プログラムは、CPU10によりFDドライブ3またはCD−ROM装置7を介してハードディスク13に格納される。CPU10は、ハードディスク13から適宜プリント基板設計プログラムをRAM12にロードして実行することによって、プリント基板の設計が行なわれる。
【0031】
図3は、本発明の第1の実施の形態におけるプリント基板設計装置の機能的構成を示すブロック図である。このプリント基板設計装置は、ネットリスト情報および各部品の機能ブロック情報を入力する情報入力部21と、機能ブロック名を頂点とするグラフを生成するグラフ生成部22と、グラフ生成部22によって生成されたグラフを検索するグラフ検索部23と、グラフ検索部23による検索結果に応じて、機能ブロックを積層構造のプリント基板の各層に割付ける順序を決定する割付け順序決定部24とを含む。
【0032】
図4は、本発明の第1の実施の形態におけるプリント基板設計装置の処理手順を説明するためのフローチャートである。最初に、処理手順を大まかに説明した後、具体例を挙げて処理手順を詳細に説明する。まず、情報入力部21は、回路図入力システムで入力されたネットリスト情報および各部品の機能ブロック情報を入力する(S101)。
【0033】
図5は、ネットリスト情報の一例を示す図である。ネットリスト情報とは、図5に示すように、ネット名称ごとに、信号線または電源/グランドを識別するための属性情報と、各ネットを構成している部品名称およびピン名称とをリスト上に記載したものである。
【0034】
図6は、機能ブロック情報の一例を示す図である。機能ブロック情報とは、図6に示すように、部品名称と、その部品が属する機能ブロック名称とをテーブル上に記載したものである。
【0035】
次に、グラフ生成部22は、情報入力部21に入力されたネットリスト情報と、機能ブロック情報とを参照して、ネットリストの各ネットを構成している部品を求め、その部品が属する機能ブロック名を求める。そして、同一ネット名称内に異なる機能ブロック名が存在する場合には、機能ブロック名を頂点とするグラフを生成し、その枝の重みを増加させる(S102)。
【0036】
次に、グラフ検索部23は、グラフ生成部22によって生成された重み付きグラフを検索するにあたり、検索する頂点の番号を格納するスタックポインタSPと、検索した頂点の個数を示すIをそれぞれ0に初期化する(S103)。
【0037】
次に、グラフ検索部23は、外部とのインタフェースとなる機能ブロックFUNC(0)を、配列STACK(SP)およびPATH(SP)のそれぞれに格納する(S104)。ここで、STACKは検索の状態を記憶する配列を示し、PATHは割付け状態を記憶する配列を示す。
【0038】
次に、グラフ検索部23は、頂点を表わす変数nodeに、STACK(SP)を代入する(S105)。そして、nodeによって表わされる頂点に接続する頂点で、未検索の頂点の中に、MAXADJ(node)が存在するか否かを判定する(S106)。ここで、MAXADJ(node)は、nodeによって表わされる頂点と接続関係がある頂点の中で、最大の重みを持つ頂点を求める関数を示している。
【0039】
MAXADJ(node)がない場合には(S106,No)、SPを1だけデクリメントし(S107)、ステップS105に戻って以降の処理を繰返す。
【0040】
また、MAXADJ(node)がある場合には(S106,Yes)、nodeにMAXADJ(node)の値を代入する(S108)。そして、スタックポインタSPと検索した頂点の個数Iとを、それぞれ1だけインクリメントする(S109)。
【0041】
次に、グラフ検索部23は、STACK(SP)およびPATH(I)に、nodeを代入する(S110)。割付け順序決定部24は、PATHに格納された順番に、機能ブロックを積層構造のプリント基板の各層に割付ける。
【0042】
次に、検索した頂点の個数Iと機能ブロック数とが等しいか否かを判定する(S111)。検索した頂点の個数Iと機能ブロック数とが等しければ(S111,Yes)、処理を終了する。また、検索した頂点の個数と機能ブロック数とが等しくなければ(S111,No)、ステップS106に戻って以降の処理を繰返す。
【0043】
このように、外部インタフェースを有する機能ブロックを、検索を開始する頂点とし、未検索の最大重みを持つ頂点を逐次検索することによって得られるPATHに格納された順番に、機能ブロックを積層構造のプリント基板の各層に割付けることで、積層構造のプリント基板間の接続数を最小化する。
【0044】
図7は、グラフ検索部23によって検索される機能ブロックのデータ構造の一例を示す図である。図7に示すように、ノード名称毎に、検索が行なわれたか否かを示す検索フラグと、隣接ノード名称と、そのノードとの接続数とが格納されている。
【0045】
図8は、部品の接続関係と、機能ブロック情報とを示す図である。図8において、機能ブロックFUNC0にピンなどの外部インタフェースP1が含まれる。機能ブロックFUNC1に半導体チップIC1と、受動部品R1〜R3およびC1とが含まれる。機能ブロックFUNC2に半導体チップIC2およびIC3が含まれる。機能ブロックFUNC3に半導体チップIC4と、受動部品L1およびL2とが含まれる。
【0046】
次に、図8に示す部品の接続関係および機能ブロック情報を参照しながら、図4に示すフローチャートの説明を行なう。まず、情報入力部21は、図8に示す回路図に対応するネットリスト情報と、機能ブロック情報とを入力する(S101)。グラフ生成部22は、情報入力部21に入力されたネットリスト情報および機能ブロック情報とを参照して、重み付きグラフを生成する(S102)。
【0047】
図9(a)は、図8に示す回路図に対応する重み付きグラフを示す図である。図9(a)に示すように、機能ブロック名称を頂点とし、機能ブロック間に接続される枝とそれに付される数字によって、機能ブロック間の接続とその接続本数とを示している。たとえば、FUNC0に接続しているのは、FUNC1とFUNC2とであり、それぞれの接続本数が4と1とであることを示している。
【0048】
次に、グラフ検索部23は、スタックポインタSPおよび検索した頂点の個数Iをそれぞれ0に初期化し(S103)、外部インタフェースP1を有する機能ブロックFUNC0を、配列STACK(SP)およびPATH(SP)のそれぞれに代入する(S104)。
【0049】
次に、グラフ検索部23は、node=FUNC0とし(S105)、FUNC0に接続し、未検索の重みが最大の頂点が存在するか否かを判定する(S106)。図9(a)に示すように、FUNC0に隣接し、未検索の頂点としてFUNC1とFUNC2とが存在するが、最大の重みを持つ頂点はFUNC1であるので、MAXADJ(node)=FUNC1となる。
【0050】
次に、node=FUNC1となり(S108)、I=1,SP=1となる(S109)。そして、STACK(1)=FUNC1,PATH(1)=FUNC1となる(S110)。
【0051】
(I=1)≠(機能ブロック数−1=3)であるので(S111,No)、ステップS106に戻ってFUNC1に隣接し、未検索の最大の重みを持つ頂点があるか否かが判定される。図9(b)に示すように、FUNC1に隣接し、未検索の頂点としてFUNC2とFUNC3とが存在するが、最大の重みを持つ頂点はFUNC2であるので、MAXADJ(node)=FUNC2となる。
【0052】
次に、node=FUNC2となり(S108)、I=2,SP=2となる(S109)。そして、STACK(2)=FUNC2,PATH(2)=FUNC2となる(S110)。
【0053】
(I=2)≠(機能ブロック数−1=3)であるので(S111,No)、ステップS106に戻ってFUNC2に隣接し、未検索の最大の重みを持つ頂点があるか否かが判定される。図9(c)に示すように、FUNC2に隣接し、未検索の頂点としてFUNC3が存在するので、MAXADJ(node)=FUNC3となる。
【0054】
次に、node=FUNC3となり(S108)、I=3,SP=3となる(S109)。そして、STACK(3)=FUNC3,PATH(3)=FUNC3となる(S110)。
【0055】
(I=3)≠(機能ブロック数−1=3)であるので(S111,Yes)、処理を終了する。すなわち、図9(d)に示すように、FUNC0とFUNC1との間の枝、FUNC1とFUNC2との間の枝およびFUNC2とFUNC3との間の枝が検索された後、処理を終了する。
【0056】
以上の処理によって、PATHの配列には、PATH(0)=FUNC0,PATH(1)=FUNC1,PATH(2)=FUNC2,PATH(3)=FUNC3が格納される。したがって、割付け順序決定部24は、機能ブロックの割付け順序を、FUNC0→FUNC1→FUNC2→FUNC3と決定する。
【0057】
図10は、機能ブロックの割付け順序によって決定されたプリント基板の積層構造を示す図である。外部インタフェース(FUNC0)の上に、半導体チップIC1と、受動部品R1〜R3およびC1とを実装した第1のプリント基板(FUNC1)が積層される。第1のプリント基板の上に、半導体チップIC2およびIC3が実装された第2のプリント基板が積層される。さらに、第2のプリント基板の上に、半導体チップIC4と、受動部品L1およびL2とを実装した第3のプリント基板が積層される。
【0058】
以上説明したように、本発明の第1の実施の形態におけるプリント基板設計装置によれば、グラフ検索部23が、重み付きグラフを参照して未検索で最大の重みを持つ頂点を順次検索し、その順番をプリント基板の割付け順序とするようにしたので、積層するプリント基板間の接続本数を最小とすることができる。したがって、冗長な配線がなくなり、信号遅延を最小限にすることが可能となる。
【0059】
また、はんだ電極の数を少なくできるので、空き端子をグランド端子に割り付けることができ、ノイズに強いプリント基板の設計が可能となる。
【0060】
(第2の実施の形態)
本発明の第2の実施の形態におけるプリント基板設計装置の構成は、図2に示す第1の実施の形態におけるプリント基板設計装置の構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0061】
図11は、本発明の第2の実施の形態におけるプリント基板設計装置の機能的構成を示すブロック図である。このプリント基板設計装置は、図3に示す第1の実施の形態におけるプリント基板設計装置と比較して、情報入力部21とグラフ生成部22との間に、部品実装面積に応じて機能ブロックに含まれる部品を移動する機能ブロック変更部25が追加された点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0062】
図12は、本発明の第2の実施の形態におけるプリント基板設計装置の処理手順を説明するためのフローチャートである。この処理手順は、図4に示すフローチャートのステップS101に置換される。最初に、処理手順を大まかに説明した後、具体例を挙げて処理手順を詳細に説明する。
【0063】
まず、情報入力部21は、回路図入力システムで入力されたネットリスト情報、機能ブロック情報、部品実装面積情報、実装面積基準値S0およびネットリストを無視した変更回数MAXを入力する(S201)。
【0064】
図13は、機能ブロック情報および部品実装面積情報の一例を示す図である。機能ブロック情報は、図6と同様に部品名称と、その部品が属する機能ブロック名称とをテーブル上に記載したものである。また、部品実装面積情報とは、パッドを含めた各部品の最大外形サイズをテーブル上に記載したものである。
【0065】
次に、機能ブロック変更部25は、図13に示すテーブルを参照して、機能ブロック毎に実装面積の総和SA(I)を求める(S202)。そして、機能ブロック毎の実装面積の総和SA(I)が、実装面積基準値S0以下であるか否かを判定する(S203)。機能ブロックの実装面積の総和SA(I)が、全て実装面積基準値S0以下であれば(S203,Yes)、処理を終了する。
【0066】
また、機能ブロックの実装面積の総和SA(I)の中で、実装面積基準値S0よりも大きいものがあれば(S203,No)、実装面積の総和が最大の機能ブロックV(I)を求める(S204)。そして、機能ブロックV(I)と隣接する機能ブロックV(j)に対応するネットから、機能ブロックV(I)およびV(j)の両方に接続される部品Pを移動対象の部品に選定する(S205)。
【0067】
次に、部品Pを機能ブロックV(j)に移動させた後の機能ブロックV(j)の実装面積の総和SA(j)が、実装面積基準値S0よりも大きいか否かが判定される(S206)。実装面積基準値S0よりも大きければ(S206,Yes)、部品Pの機能ブロック名称を最小面積機能ブロックに変更し(S207)、Countを1だけインクリメントし(S208)、ステップS210へ進む。
【0068】
また、部品Pを移動させた後の機能ブロックV(j)の実装面積の総和SA(j)が実装面積基準値S0以下であれば(S206,No)、部品Pの機能ブロック名称をV(j)に変更する(S209)。
【0069】
ステップS210おいて、機能ブロック変更部25は、機能ブロックの実装面積の総和SA(I)が全て実装面積基準値S0以下であるか、Countがネットリストを無視した変更回数MAXよりも大きい場合には(S210,Yes)、処理を終了する。また、機能ブロックの実装面積の総和SA(I)の中で実装面積基準値S0よりも大きいものがあり、かつCountがネットリストを無視した変更回数MAX以下であれば(S210,No)、ステップS204に戻って以降の処理を繰返す。
【0070】
次に、図8に示す部品の接続関係と、図13に示す機能ブロック情報および部品実装面積情報とを参照しながら、図12に示すフローチャートの説明を行なう。まず、情報入力部21は、図8に示す回路図に対応するネットリスト情報、機能ブロック情報、部品実装面積情報、実装面積基準値S0(100mm)および変更回数MAX(10回)を入力する(S201)。そして、機能ブロック変更部25は、機能ブロック毎の実装面積の総和SA(I)を求める。
【0071】
図14は、図8に示す機能ブロック毎の部品実装面積の総和を示す図である。図14(a)は、図8に示す回路図と同様である。また、図14(b)は、図14(a)に示す機能ブロック毎の部品実装面積の総和を示している。
【0072】
機能ブロック変更部25は、機能ブロックFUNC0〜FUNC3の実装面積の総和SA(I)と、実装面積基準値S0(100mm)とを比較し、機能ブロックFUNC1の実装面積の総和が実装面積基準値S0を超えているので(S203,No)、実装面積の総和が最大の機能ブロックFUNC1が求められる(S204)。
【0073】
次に、機能ブロックFUNC1に接続する機能ブロックはFUNC2とFUNC0とであり、実装面積が最小の機能ブロックがFUNC2であるので、機能ブロックV(j)=FUNC2となる。機能ブロック変更部25は、ネットリストを参照して、機能ブロックFUNC1に存在する部品の中で、そのネットに接続している部品の機能ブロック名称がFUNC2である部品を求めると、{R1,R2,R3}が候補となる。まず、機能ブロックを変更する部品として、R3が選択される(S205)。
【0074】
R3の実装面積とFUNC2の実装面積との和が85mmとなることから、R3の機能ブロックをFUNC2に変更する(S209)。
【0075】
図15は、R3を移動した後の機能ブロックと、そのときの部品実装面積の総和とを示す図である。図15(a)に示すように、受動部品R3が機能ブロックFUNC1からFUNC2へ移動される。また、図15(b)に示すように、FUNC1の部品実装面積の総和が105mmとなり、FUNC2の部品実装面積の総和が85mmとなる。
【0076】
FUNC1の実装面積の総和が105mmとなるので(S210,No)、ステップS204へ戻る。
【0077】
実装面積の総和が最大の機能ブロックFUNC1が求められる(S204)。機能ブロックFUNC1に接続する機能ブロックはFUNC2とFUNC0とであり、実装面積が最小の機能ブロックがFUNC2であるので、機能ブロックV(j)=FUNC2となる。
【0078】
機能ブロック変更部25は、ネットリストを参照して、機能ブロックFUNC1に存在する部品の中で、そのネットに接続している部品の機能ブロック名称がFUNC2である部品を求めると、{R1,R2}が候補となる。機能ブロックを変更する部品として、R2が選択される(S205)。
【0079】
R2の実装面積とFUNC2の実装面積との和が90mmとなることから、R2の機能ブロックをFUNC2に変更する(S209)。
【0080】
図16は、R2を移動した後の機能ブロックと、そのときの部品実装面積の総和とを示す図である。図16(a)に示すように、受動部品R2が機能ブロックFUNC1からFUNC2へ移動される。また、図16(b)に示すように、FUNC1の部品実装面積の総和が100mmとなり、FUNC2の部品実装面積の総和が90mmとなる。
【0081】
FUNC1の実装面積の総和が100mmとなるので(S210,Yes)、処理が終了する。
【0082】
以上説明したように、本実施の形態におけるプリント基板設計装置によれば、実装面積の総和が最大の機能ブロックに含まれる部品を、当該機能ブロックに接続する機能ブロック中の最小面積機能ブロックへ移動するようにしたので、各機能ブロックの面積を、指定した基準値以内の面積とすることができ、プリント基板の小型化を図ることが可能となった。
【0083】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0084】
【発明の効果】
本発明のある局面によれば、グラフ検索手段が、グラフ生成手段によって生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するので、プリント基板間の接続本数が最小となるようにプリント基板の割付け順序を決定することが可能となった。
【0085】
また、グラフ検索手段が、外部とのインタフェースとなる機能ブロックを検索開始の頂点とし、グラフ生成手段によって生成されたグラフを参照して未検索で最大の重みを持つ頂点を順次検索するので、プリント基板の割付け順序を適切に決定することが可能となった。
【0086】
また、機能ブロック変更手段が、各機能ブロックに含まれる部品の実装面積の総和を求め、実装面積の総和が基準値以下となるように部品を移動して機能ブロックを変更するので、プリント基板の小型化を図ることが可能となった。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるプリント基板の設計手順を説明するためのフローチャートである。
【図2】本発明の第1の実施の形態におけるプリント基板設計装置の構成を示すブロック図である。
【図3】本発明の第1の実施の形態におけるプリント基板設計装置の機能的構成を示すブロック図である。
【図4】本発明の第1の実施の形態におけるプリント基板設計装置の処理手順を説明するためのフローチャートである。
【図5】ネットリスト情報の一例を示す図である。
【図6】機能ブロック情報の一例を示す図である。
【図7】グラフ検索部23によって検索される機能ブロックのデータ構造の一例を示す図である。
【図8】部品の接続関係と、機能ブロック情報とを示す図である。
【図9】図8に示す回路図に対応する重み付きグラフを示す図である。
【図10】機能ブロックの割付け順序によって決定されたプリント基板の積層構造を示す図である。
【図11】本発明の第2の実施の形態におけるプリント基板設計装置の機能的構成を示すブロック図である。
【図12】本発明の第2の実施の形態におけるプリント基板設計装置の処理手順を説明するためのフローチャートである。
【図13】機能ブロック情報および部品実装面積情報の一例を示す図である。
【図14】図8に示す機能ブロック毎の部品実装面積の総和を示す図である。
【図15】R3を移動した後の機能ブロックと、そのときの部品実装面積の総和とを示す図である。
【図16】R2を移動した後の機能ブロックと、そのときの部品実装面積の総和とを示す図である。
【図17】はんだ電極を介してプリント基板を積層する手法を説明するための図である。
【図18】特開2000−114386号公報に開示された半導体集積回路におけるチップオンチップの構造を示す断面図である。
【図19】特開2000−114386号公報に開示された半導体集積回路の設計手順を説明するためのフローチャートである。
【符号の説明】
1 コンピュータ本体、2 ディスプレイ装置、3 FDドライブ、4 FD、5 キーボード、6 マウス、7 CD−ROM装置、8 CD−ROM、9ネットワーク通信装置、10 CPU、11 ROM、12 RAM、13 ハードディスク、21 情報入力部、22 グラフ生成部、23 グラフ検索部、24 割付け順序決定部、25 機能ブロック変更部。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technology for mounting a printed circuit board on which a semiconductor chip and a passive component constituting a semiconductor integrated circuit are mounted in a laminated structure, and more particularly, a printed circuit board design that automatically determines the order in which functional blocks are assigned to each printed circuit board. The present invention relates to an apparatus, a method thereof, a computer program thereof, and a recording medium on which the program is recorded.
[0002]
[Prior art]
In recent years, mobile phones and personal digital assistants are rapidly spreading, and one of the reasons is the dramatic downsizing of devices. As the background, there is an advance in SOC (System On Chip) technology that consolidates systems and functions that have conventionally been constituted by a plurality of ICs (Integrated Circuits) into one semiconductor element.
[0003]
On the other hand, SIP (System In Package), in which a plurality of necessary semiconductor elements are combined and directly mounted on a printed circuit board, is drawing attention. In particular, as a technique for reducing the mounting area of a large-scale logic circuit, a technique of stacking a plurality of printed circuit boards on which semiconductor elements are mounted via solder electrodes can be given.
[0004]
FIG. 17 is a diagram for explaining a method of stacking printed circuit boards via solder electrodes. As shown in FIG. 17, an electronic component is mounted on a circuit board 131 provided with a wiring pattern, and the circuit board 132 is laminated by aligning the solder electrodes 134. Then, a circuit board 133 is further laminated on the circuit board 132 via the solder electrodes 134.
[0005]
According to this method, not only the mounting area is reduced, but also the semiconductor chip is connected via the printed circuit board. Therefore, when the architecture is changed, the design change of the semiconductor chip is not required, and the development period is shortened. There is.
[0006]
Further, as a method of stacking semiconductor chips without using a printed circuit board, a semiconductor integrated circuit is divided, a semiconductor integrated circuit is stacked by flip chip mounting on a plurality of chips, and the plurality of chips are wired by bumps. There is an on-chip design method. According to this method, the semiconductor chip itself can be miniaturized in order to optimize the design of the semiconductor chip itself. As a technology related to this, there is an invention disclosed in Japanese Patent Laid-Open No. 2000-114386.
[0007]
FIG. 18 is a cross-sectional view showing the structure of a chip-on-chip in a semiconductor integrated circuit disclosed in Japanese Patent Application Laid-Open No. 2000-114386. This semiconductor integrated circuit includes a base chip 141, a second chip 142 flipped and mounted on the base chip 141, and a bump 143 that connects the base chip 141 and the second chip 142. By arranging and wiring the base chip 141 and the second chip 142 in a lump, the optimum circuit division to the base chip 141 and the second chip 142 and the optimum position of the bump 143 in the wiring process are determined, thereby integrating the chip. It is possible to improve the degree.
[0008]
In order to manufacture the base chip 141 and the second chip 142 by separate processes, for example, the second chip 142 is manufactured by a dedicated process of DRAM (Dynamic Random Access Memory), and the base chip 141 is manufactured by a CMOS (Complementary Metal Oxide Semiconductor). By manufacturing by a process, it is possible to design a chip mounted with a high-performance DRAM at low cost without using a mixed process of DRAM and CMOS. Therefore, a system using a plurality of different processes can be easily designed.
[0009]
FIG. 19A is a flowchart for explaining a design procedure of a semiconductor integrated circuit disclosed in Japanese Patent Laid-Open No. 2000-114386. First, logic circuit design is performed (S161), and the designed circuit is divided (S162). Positioning of the solder electrodes on the board on which the divided logic circuit is mounted is performed (S163). Then, the placement and wiring of the base substrate is performed (S174), and the placement and wiring of the second substrate is performed (S175). Steps S174 and S175 can be performed simultaneously.
[0010]
FIG. 19B is a flowchart for explaining another design procedure of the semiconductor integrated circuit disclosed in Japanese Unexamined Patent Publication No. 2000-114386. First, logic circuit design is performed (S161), and the designed circuit is divided (S162). Next, among the substrates on which the divided logic circuits are mounted, the placement and wiring of the second substrate is performed (S165), and the solder electrodes of the second substrate are positioned (S163). Then, the placement and wiring of the base substrate is performed in accordance with the position of the solder electrode (S164).
[0011]
[Patent Document 1]
JP 2000-114386 A
[0012]
[Problems to be solved by the invention]
According to the design procedure shown in FIG. 19A and FIG. 19B described above, it is a simple design method in which the base circuit is mounted on the base substrate and the other circuits are mounted on the second substrate. There is a problem that the design becomes impossible when the SIP is scaled up. In addition, improper layer assignment increases the number of signal lines between the substrates and increases the number of redundant wirings, which may cause signal delay and noise. Furthermore, since the number of power sources / grounds assigned to the solder electrodes is reduced, there is a problem that the operation becomes unstable.
[0013]
In addition, since semiconductor chips are stacked without using a printed circuit board, this technique cannot be applied to a technique for stacking semiconductor chips through a printed circuit board.
[0014]
The present invention has been made to solve the above-mentioned problems, and a first object is to design a printed circuit board so that the number of connections between printed circuit boards is minimized in a printed circuit board design in which a plurality of printed circuit boards are stacked. A printed circuit board design apparatus, a method thereof, a computer program thereof, and a recording medium on which the program is recorded are determined.
[0015]
The second object is to provide a printed circuit board design apparatus capable of downsizing the printed circuit board in the printed circuit board design in which a plurality of printed circuit boards are stacked.
[0016]
[Means for Solving the Problems]
According to an aspect of the present invention, there is provided a printed circuit board design apparatus for designing a printed circuit board in which a substrate on which a component is mounted is stacked via a solder electrode, and the functional block including the component is a vertex, and between different functional blocks. The graph generation means for generating a graph with the number of connections as the branch and the number of connections between the functional blocks as the weight of the branch, and the weight of the branch between the functional blocks in the graph generated by the graph generation means in accordance with a predetermined rule Accordingly, it includes a graph search means for sequentially searching, and an allocation order determination means for setting the search order by the graph search means to be a layer allocation order when the printed circuit boards are stacked.
[0017]
Since the graph search means sequentially searches the weights of the branches between the functional blocks in the graph generated by the graph generation means in accordance with a predetermined rule, the layout order of the printed circuit boards is set so that the number of connections between the printed circuit boards is minimized. It becomes possible to decide.
[0018]
Preferably, the graph search means sequentially searches for a vertex having the maximum weight without search with reference to the graph generated by the graph generation means with the function block serving as an interface with the outside as a vertex of search start.
[0019]
Therefore, it is possible to appropriately determine the order of assignment of the printed circuit boards. Preferably, the printed circuit board design apparatus further obtains the sum of the mounting areas of the components included in each functional block, and moves the components so that the sum of the mounting areas is equal to or less than a reference value to change the functional block. Includes block changing means.
[0020]
Therefore, the printed circuit board can be reduced in size.
According to another aspect of the present invention, there is provided a printed circuit board design method in which a board on which a component is mounted is laminated via a solder electrode, wherein a functional block including the part is a vertex and a connection between different functional blocks is branched. A step of generating a graph in which the number of connections between functional blocks is the weight of the branch, a step of sequentially searching the weight of the branch between the functional blocks in the generated graph according to a predetermined rule, and a search order by the search And a step of setting the layer allocation order when the printed circuit boards are stacked.
[0021]
Since the branch weights between the functional blocks in the generated graph are sequentially searched according to a predetermined rule, it is possible to determine the order of assignment of the printed circuit boards so that the number of connections between the printed circuit boards is minimized.
[0022]
According to still another aspect of the present invention, there is provided a computer program for causing a computer to execute a printed circuit board design method for laminating a substrate on which a component is mounted via a solder electrode. Generating a graph in which a function block including a vertex is used, a connection between different function blocks is a branch, and the number of connections between function blocks is a branch weight, and a branch weight between the function blocks in the generated graph Are sequentially searched according to a predetermined rule, and a search order by the search is set as a layer allocation order when the printed circuit boards are stacked.
[0023]
Since the branch weights between the functional blocks in the generated graph are sequentially searched according to a predetermined rule, it is possible to determine the order of assignment of the printed circuit boards so that the number of connections between the printed circuit boards is minimized.
[0024]
According to still another aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute a printed circuit board design method for laminating a board on which components are mounted via solder electrodes. The printed circuit board design method includes a step of generating a graph in which a functional block including a component is a vertex, a connection between different functional blocks is a branch, and the number of connections between the functional blocks is a weight of the branch, and the generated graph The step of sequentially searching for the weights of the branches between the functional blocks in accordance with a predetermined rule, and the step of setting the search order by the search as the layer allocation order when the printed circuit boards are stacked are included.
[0025]
Since the branch weights between the functional blocks in the generated graph are sequentially searched according to a predetermined rule, it is possible to determine the order of assignment of the printed circuit boards so that the number of connections between the printed circuit boards is minimized.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
FIG. 1 is a flowchart for explaining a printed circuit board design procedure according to the first embodiment of the present invention. First, logic circuit design is performed (S161), and the designed circuit is divided (S162). Next, layer assignment of the divided logic circuits is performed (S10), and the solder electrodes of the board on which the respective logic circuits are mounted are positioned (S163). Then, the placement and wiring of the first to nth substrates is performed (S11 to S13). Steps S11 to S13 can be performed simultaneously. The printed circuit board design apparatus according to the first embodiment of the present invention mainly relates to step S10.
[0027]
FIG. 2 is a block diagram showing the configuration of the printed circuit board design apparatus according to the first embodiment of the present invention. This printed circuit board design apparatus is equipped with a computer main body 1, a display device 2, an FD drive 3 on which an FD (Flexible Disk) 4 is mounted, a keyboard 5, a mouse 6, and a CD-ROM (Compact Disc-Read Only Memory) 8. CD-ROM device 7 and network communication device 9 are included.
[0028]
The printed circuit board design program is supplied by a recording medium such as FD4 or CD-ROM8. The printed circuit board design program is executed by the computer main body 1 to design the printed circuit board. Further, the printed circuit board design program may be supplied from the other computer to the computer main body 1 via the network communication device 9.
[0029]
A computer main body 1 shown in FIG. 2 includes a CPU (Central Processing Unit) 10, a ROM (Read Only Memory) 11, a RAM (Random Access Memory) 12, and a hard disk 13. The CPU 10 performs processing while inputting / outputting data to / from the display device 2, FD drive 3, keyboard 5, mouse 6, CD-ROM device 7, network communication device 9, ROM 11, RAM 12 or hard disk 13.
[0030]
The printed circuit board design program recorded on the FD 4 or the CD-ROM 8 is stored in the hard disk 13 by the CPU 10 via the FD drive 3 or the CD-ROM device 7. The CPU 10 loads the printed circuit board design program from the hard disk 13 to the RAM 12 and executes it, thereby designing the printed circuit board.
[0031]
FIG. 3 is a block diagram showing a functional configuration of the printed circuit board design apparatus according to the first embodiment of the present invention. The printed circuit board design apparatus is generated by an information input unit 21 that inputs netlist information and functional block information of each component, a graph generation unit 22 that generates a graph having the functional block name as a vertex, and a graph generation unit 22. A graph search unit 23 for searching the graph, and an allocation order determination unit 24 for determining the order in which the functional blocks are allocated to each layer of the printed circuit board having a laminated structure according to the search result by the graph search unit 23.
[0032]
FIG. 4 is a flowchart for explaining the processing procedure of the printed circuit board design apparatus according to the first embodiment of the present invention. First, the processing procedure is roughly described, and then the processing procedure is described in detail with a specific example. First, the information input unit 21 inputs netlist information and functional block information of each component input by the circuit diagram input system (S101).
[0033]
FIG. 5 is a diagram illustrating an example of netlist information. As shown in FIG. 5, the net list information includes attribute information for identifying a signal line or power supply / ground for each net name, and the names of parts and pins constituting each net on the list. It is described.
[0034]
FIG. 6 is a diagram illustrating an example of functional block information. As shown in FIG. 6, the functional block information is a name of a part and a name of a functional block to which the part belongs on a table.
[0035]
Next, the graph generation unit 22 refers to the net list information input to the information input unit 21 and the function block information, obtains components constituting each net of the net list, and functions to which the components belong. Find the block name. If different function block names exist in the same net name, a graph having the function block name as a vertex is generated, and the weight of the branch is increased (S102).
[0036]
Next, when searching for the weighted graph generated by the graph generation unit 22, the graph search unit 23 sets the stack pointer SP for storing the number of vertices to be searched and I indicating the number of searched vertices to 0, respectively. Initialization is performed (S103).
[0037]
Next, the graph search unit 23 stores the function block FUNC (0) serving as an interface with the outside in each of the arrays STACK (SP) and PATH (SP) (S104). Here, STACK indicates an array for storing a search state, and PATH indicates an array for storing an allocation state.
[0038]
Next, the graph search unit 23 substitutes STACK (SP) for the variable node representing the vertex (S105). Then, it is determined whether or not MAXADJ (node) is present among the unsearched vertices connected to the vertex represented by node (S106). Here, MAXADJ (node) indicates a function for obtaining a vertex having the maximum weight among the vertices connected to the vertex represented by node.
[0039]
When there is no MAXADJ (node) (S106, No), SP is decremented by 1 (S107), and the process returns to step S105 to repeat the subsequent processing.
[0040]
When there is MAXADJ (node) (S106, Yes), the value of MAXADJ (node) is substituted for node (S108). Then, the stack pointer SP and the number I of searched vertices are each incremented by 1 (S109).
[0041]
Next, the graph search unit 23 substitutes node for STACK (SP) and PATH (I) (S110). The allocation order determination unit 24 allocates functional blocks to each layer of the printed circuit board having a laminated structure in the order stored in the PATH.
[0042]
Next, it is determined whether or not the number I of searched vertices is equal to the number of functional blocks (S111). If the number I of searched vertices is equal to the number of functional blocks (S111, Yes), the process is terminated. If the number of retrieved vertices is not equal to the number of functional blocks (S111, No), the process returns to step S106 and the subsequent processing is repeated.
[0043]
As described above, the functional block having the external interface is set as a vertex for starting the search, and the functional blocks are printed in the order in which they are stored in the PATH obtained by sequentially searching the vertex having the unsearched maximum weight. By assigning to each layer of the board, the number of connections between printed boards having a laminated structure is minimized.
[0044]
FIG. 7 is a diagram illustrating an example of the data structure of the functional block searched by the graph search unit 23. As shown in FIG. 7, for each node name, a search flag indicating whether or not a search has been performed, an adjacent node name, and the number of connections with the node are stored.
[0045]
FIG. 8 is a diagram showing the connection relation of components and functional block information. In FIG. 8, the functional block FUNC0 includes an external interface P1 such as a pin. The functional block FUNC1 includes a semiconductor chip IC1 and passive components R1 to R3 and C1. The functional block FUNC2 includes semiconductor chips IC2 and IC3. The functional block FUNC3 includes a semiconductor chip IC4 and passive components L1 and L2.
[0046]
Next, the flowchart shown in FIG. 4 will be described with reference to the component connection relation and functional block information shown in FIG. First, the information input unit 21 inputs netlist information and functional block information corresponding to the circuit diagram shown in FIG. 8 (S101). The graph generation unit 22 generates a weighted graph with reference to the netlist information and functional block information input to the information input unit 21 (S102).
[0047]
FIG. 9A shows a weighted graph corresponding to the circuit diagram shown in FIG. As shown in FIG. 9A, the function block name is the apex, and the connections between the function blocks and the number of connections are indicated by the branches connected between the function blocks and the numbers attached thereto. For example, FUNC0 and FUNC2 are connected to FUNC0, and the numbers of connections are 4 and 1, respectively.
[0048]
Next, the graph search unit 23 initializes the stack pointer SP and the number I of searched vertices to 0 (S103), and sets the function block FUNC0 having the external interface P1 to the arrays STACK (SP) and PATH (SP). Substitute for each (S104).
[0049]
Next, the graph search unit 23 sets node = FUNC0 (S105), and determines whether there is a vertex that is connected to FUNC0 and has a maximum unsearched weight (S106). As shown in FIG. 9A, although FUNC1 and FUNC2 exist as vertices that are adjacent to FUNC0 and have not been searched, the vertex having the maximum weight is FUNC1, and therefore MAXADJ (node) = FUNC1.
[0050]
Next, node = FUNC1 (S108), and I = 1 and SP = 1 (S109). Then, STACK (1) = FUNC1, PATH (1) = FUNC1 (S110).
[0051]
Since (I = 1) ≠ (number of functional blocks−1 = 3) (S111, No), the process returns to step S106 to determine whether or not there is a vertex adjacent to FUNC1 and having an unsearched maximum weight. Is done. As shown in FIG. 9B, although FUNC2 and FUNC3 exist as vertices that are adjacent to FUNC1 and have not been searched yet, the vertex having the maximum weight is FUNC2, and therefore MAXADJ (node) = FUNC2.
[0052]
Next, node = FUNC2 (S108), and I = 2 and SP = 2 (S109). Then, STACK (2) = FUNC2 and PATH (2) = FUNC2 are satisfied (S110).
[0053]
Since (I = 2) ≠ (number of functional blocks−1 = 3) (S111, No), the process returns to step S106 to determine whether or not there is a vertex adjacent to FUNC2 and having the largest unsearched weight. Is done. As shown in FIG. 9C, since FUNC3 exists as an unsearched vertex adjacent to FUNC2, MAXADJ (node) = FUNC3.
[0054]
Next, node = FUNC3 (S108), and I = 3, SP = 3 (S109). Then, STACK (3) = FUNC3, PATH (3) = FUNC3 (S110).
[0055]
Since (I = 3) ≠ (number of functional blocks−1 = 3) (S111, Yes), the process is terminated. That is, as shown in FIG. 9 (d), after the branch between FUNC0 and FUNC1, the branch between FUNC1 and FUNC2, and the branch between FUNC2 and FUNC3 are searched, the process ends.
[0056]
By the above processing, PATH (0) = FUNC0, PATH (1) = FUNC1, PATH (2) = FUNC2, PATH (3) = FUNC3 is stored in the PATH array. Therefore, the allocation order determination unit 24 determines the allocation order of the functional blocks as FUNC0 → FUNC1 → FUNC2 → FUNC3.
[0057]
FIG. 10 is a diagram illustrating a stacked structure of printed circuit boards determined by the functional block allocation order. A first printed circuit board (FUNC1) on which the semiconductor chip IC1 and the passive components R1 to R3 and C1 are mounted is stacked on the external interface (FUNC0). A second printed circuit board on which the semiconductor chips IC2 and IC3 are mounted is stacked on the first printed circuit board. Further, a third printed circuit board on which the semiconductor chip IC4 and the passive components L1 and L2 are mounted is stacked on the second printed circuit board.
[0058]
As described above, according to the printed circuit board design device in the first exemplary embodiment of the present invention, the graph search unit 23 sequentially searches for vertices that have not been searched and have the maximum weight with reference to the weighted graph. Since the order is the layout order of the printed circuit boards, the number of connections between the printed circuit boards to be stacked can be minimized. Therefore, redundant wiring is eliminated and signal delay can be minimized.
[0059]
In addition, since the number of solder electrodes can be reduced, an empty terminal can be assigned to a ground terminal, and a printed circuit board that is resistant to noise can be designed.
[0060]
(Second Embodiment)
The configuration of the printed circuit board design apparatus in the second embodiment of the present invention is the same as the configuration of the printed circuit board design apparatus in the first embodiment shown in FIG. Therefore, detailed description of overlapping configurations and functions will not be repeated.
[0061]
FIG. 11 is a block diagram showing a functional configuration of the printed circuit board design apparatus according to the second embodiment of the present invention. Compared with the printed circuit board design apparatus in the first embodiment shown in FIG. 3, this printed circuit board design apparatus has a functional block between the information input unit 21 and the graph generation unit 22 according to the component mounting area. The only difference is that a functional block changing unit 25 for moving the included parts is added. Therefore, detailed description of overlapping configurations and functions will not be repeated.
[0062]
FIG. 12 is a flowchart for explaining the processing procedure of the printed circuit board design apparatus according to the second embodiment of the present invention. This processing procedure is replaced with step S101 in the flowchart shown in FIG. First, the processing procedure is roughly described, and then the processing procedure is described in detail with a specific example.
[0063]
First, the information input unit 21 inputs netlist information, functional block information, component mounting area information, mounting area reference value S0, and the number of changes MAX ignoring the netlist input by the circuit diagram input system (S201).
[0064]
FIG. 13 is a diagram illustrating an example of functional block information and component mounting area information. In the functional block information, the part name and the name of the functional block to which the part belongs are described on the table as in FIG. Further, the component mounting area information is a table in which the maximum external size of each component including the pad is described on a table.
[0065]
Next, the functional block changing unit 25 refers to the table shown in FIG. 13 to determine the total mounting area SA (I) for each functional block (S202). Then, it is determined whether or not the total SA (I) of the mounting areas for each functional block is equal to or smaller than the mounting area reference value S0 (S203). If the total SA (I) of the functional block mounting areas is all equal to or smaller than the mounting area reference value S0 (S203, Yes), the process ends.
[0066]
In addition, if there is a larger total mounting area reference value S0 among the total mounting area SA (I) of the functional blocks (S203, No), the functional block V (I) having the maximum total mounting area is obtained. (S204). Then, from the net corresponding to the functional block V (j) adjacent to the functional block V (I), the component P connected to both of the functional blocks V (I) and V (j) is selected as the component to be moved. (S205).
[0067]
Next, it is determined whether or not the total mounting area SA (j) of the functional block V (j) after the component P is moved to the functional block V (j) is larger than the mounting area reference value S0. (S206). If it is larger than the mounting area reference value S0 (S206, Yes), the function block name of the component P is changed to the minimum area function block (S207), Count is incremented by 1 (S208), and the process proceeds to step S210.
[0068]
If the total mounting area SA (j) of the functional block V (j) after moving the component P is equal to or smaller than the mounting area reference value S0 (No in S206), the functional block name of the component P is set to V ( j) (S209).
[0069]
In step S210, the functional block changing unit 25 determines that the total sum SA (I) of the functional block mounting areas is less than or equal to the mounting area reference value S0 or that the count is larger than the number of changes MAX ignoring the netlist. (S210, Yes), the process ends. Further, if there is a total SA (I) of the functional block mounting areas that is larger than the mounting area reference value S0, and Count is less than or equal to the number of changes MAX ignoring the netlist (S210, No), step Returning to S204, the subsequent processing is repeated.
[0070]
Next, the flowchart shown in FIG. 12 will be described with reference to the component connection relationship shown in FIG. 8 and the functional block information and component mounting area information shown in FIG. First, the information input unit 21 has netlist information, functional block information, component mounting area information, and mounting area reference value S0 (100 mm) corresponding to the circuit diagram shown in FIG. 2 ) And the number of changes MAX (10 times) are input (S201). Then, the functional block changing unit 25 obtains the total mounting area SA (I) for each functional block.
[0071]
FIG. 14 is a diagram showing the total of component mounting areas for each functional block shown in FIG. FIG. 14A is the same as the circuit diagram shown in FIG. FIG. 14B shows the sum of the component mounting areas for each functional block shown in FIG.
[0072]
The functional block changing unit 25 includes a total SA (I) of mounting areas of the functional blocks FUNC0 to FUNC3 and a mounting area reference value S0 (100 mm). 2 ) And the sum of the mounting areas of the functional block FUNC1 exceeds the mounting area reference value S0 (S203, No), the function block FUNC1 having the maximum mounting area is obtained (S204).
[0073]
Next, the functional blocks connected to the functional block FUNC1 are FUNC2 and FUNC0, and the functional block with the smallest mounting area is FUNC2. Therefore, the functional block V (j) = FUNC2. When the functional block changing unit 25 refers to the net list and finds a part whose functional block name is FUNC2 among the parts existing in the functional block FUNC1, {R1, R2 , R3} are candidates. First, R3 is selected as a component for changing the functional block (S205).
[0074]
The sum of the mounting area of R3 and the mounting area of FUNC2 is 85mm 2 Therefore, the functional block of R3 is changed to FUNC2 (S209).
[0075]
FIG. 15 is a diagram illustrating a functional block after moving R3 and a total of component mounting areas at that time. As shown in FIG. 15A, the passive component R3 is moved from the functional block FUNC1 to FUNC2. Further, as shown in FIG. 15B, the sum of the component mounting areas of FUNC1 is 105 mm. 2 The total component mounting area of FUNC2 is 85mm 2 It becomes.
[0076]
The total mounting area of FUNC1 is 105mm 2 (S210, No), the process returns to step S204.
[0077]
A functional block FUNC1 having the largest total mounting area is obtained (S204). The functional blocks connected to the functional block FUNC1 are FUNC2 and FUNC0, and the functional block with the smallest mounting area is FUNC2. Therefore, the functional block V (j) = FUNC2.
[0078]
When the functional block changing unit 25 refers to the net list and finds a part whose functional block name is FUNC2 among the parts existing in the functional block FUNC1, {R1, R2 } Is a candidate. R2 is selected as a part for changing the functional block (S205).
[0079]
The sum of the mounting area of R2 and the mounting area of FUNC2 is 90mm 2 Therefore, the functional block of R2 is changed to FUNC2 (S209).
[0080]
FIG. 16 is a diagram illustrating the functional block after moving R2 and the sum of the component mounting areas at that time. As shown in FIG. 16A, the passive component R2 is moved from the functional block FUNC1 to FUNC2. In addition, as shown in FIG. 16B, the total component mounting area of FUNC1 is 100 mm. 2 The total component mounting area of FUNC2 is 90mm 2 It becomes.
[0081]
The total mounting area of FUNC1 is 100mm 2 (S210, Yes), the process ends.
[0082]
As described above, according to the printed circuit board design apparatus of the present embodiment, the components included in the functional block having the largest total mounting area are moved to the smallest area functional block in the functional block connected to the functional block. As a result, the area of each functional block can be made within the specified reference value, and the printed circuit board can be miniaturized.
[0083]
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
[0084]
【The invention's effect】
According to an aspect of the present invention, the graph search unit sequentially searches the weights of the branches between the functional blocks in the graph generated by the graph generation unit according to a predetermined rule, so that the number of connections between the printed circuit boards is minimized. Thus, it is possible to determine the order in which the printed circuit boards are allocated.
[0085]
Also, the graph search means uses the function block that is the interface with the outside as the search start vertex, and sequentially searches for the vertex with the highest weight that has not been searched with reference to the graph generated by the graph generation means. It became possible to appropriately determine the order of board allocation.
[0086]
In addition, the function block changing means calculates the sum of the mounting areas of the parts included in each function block, and changes the function block by moving the parts so that the sum of the mounting areas is below the reference value. It became possible to reduce the size.
[Brief description of the drawings]
FIG. 1 is a flowchart for explaining a printed circuit board design procedure according to a first embodiment of the present invention;
FIG. 2 is a block diagram showing a configuration of the printed circuit board design apparatus according to the first embodiment of the present invention.
FIG. 3 is a block diagram showing a functional configuration of the printed circuit board design apparatus according to the first embodiment of the present invention.
FIG. 4 is a flowchart for explaining a processing procedure of the printed circuit board design apparatus according to the first embodiment of the present invention.
FIG. 5 is a diagram illustrating an example of netlist information.
FIG. 6 is a diagram illustrating an example of functional block information.
7 is a diagram illustrating an example of a data structure of a functional block searched by a graph search unit 23. FIG.
FIG. 8 is a diagram illustrating a connection relation of components and functional block information.
FIG. 9 is a diagram showing a weighted graph corresponding to the circuit diagram shown in FIG. 8;
FIG. 10 is a diagram illustrating a laminated structure of printed circuit boards determined by the functional block allocation order.
FIG. 11 is a block diagram showing a functional configuration of a printed circuit board design apparatus according to a second embodiment of the present invention.
FIG. 12 is a flowchart for explaining a processing procedure of the printed circuit board design apparatus according to the second embodiment of the present invention;
FIG. 13 is a diagram illustrating an example of functional block information and component mounting area information.
14 is a diagram showing a total of component mounting areas for each functional block shown in FIG.
FIG. 15 is a diagram showing a functional block after moving R3 and a total of component mounting areas at that time.
FIG. 16 is a diagram showing a functional block after moving R2 and a total of component mounting areas at that time;
FIG. 17 is a diagram for explaining a method of laminating a printed circuit board via solder electrodes.
18 is a cross-sectional view showing the structure of a chip-on-chip in a semiconductor integrated circuit disclosed in Japanese Patent Application Laid-Open No. 2000-114386.
FIG. 19 is a flowchart for explaining a design procedure of a semiconductor integrated circuit disclosed in Japanese Patent Application Laid-Open No. 2000-114386.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Computer main body, 2 Display apparatus, 3 FD drive, 4 FD, 5 Keyboard, 6 Mouse, 7 CD-ROM apparatus, 8 CD-ROM, 9 Network communication apparatus, 10 CPU, 11 ROM, 12 RAM, 13 Hard disk, 21 Information input unit, 22 graph generation unit, 23 graph search unit, 24 allocation order determination unit, 25 functional block change unit.

Claims (6)

部品を実装した基板をはんだ電極を介して積層するプリント基板の設計を行なうプリント基板設計装置であって、
部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するためのグラフ生成手段と、
前記グラフ生成手段によって生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するためのグラフ検索手段と、
前記グラフ検索手段による検索順序を、プリント基板の積層時における層割付け順序とするための割付け順序決定手段とを含む、プリント基板設計装置。
A printed circuit board design apparatus for designing a printed circuit board for laminating a board on which components are mounted via solder electrodes,
A graph generating means for generating a graph having a functional block including a component as a vertex, a connection between different functional blocks as a branch, and a connection number between the functional blocks as a weight of the branch;
Graph search means for sequentially searching the weights of branches between functional blocks in the graph generated by the graph generation means according to a predetermined rule;
A printed circuit board design apparatus comprising: an allocation order determination means for setting a search order by the graph search means to be a layer allocation order when the printed circuit boards are stacked.
前記グラフ検索手段は、外部とのインタフェースとなる機能ブロックを検索開始の頂点とし、前記グラフ生成手段によって生成されたグラフを参照して未検索で最大の重みを持つ頂点を順次検索する、請求項1記載のプリント基板設計装置。The graph search means uses a function block serving as an interface with the outside as a search start vertex, and sequentially searches for a vertex that has not been searched and has a maximum weight with reference to the graph generated by the graph generation means. 1. The printed circuit board design apparatus according to 1. 前記プリント基板設計装置はさらに、各機能ブロックに含まれる部品の実装面積の総和を求め、該実装面積の総和が基準値以下となるように部品を移動して機能ブロックを変更するための機能ブロック変更手段を含む、請求項1または2記載のプリント基板設計装置。The printed circuit board design apparatus further obtains a total of the mounting areas of the components included in each functional block, and moves the components so that the total of the mounting areas is equal to or less than a reference value to change the functional block. The printed circuit board design apparatus according to claim 1, further comprising a changing unit. 部品を実装した基板をはんだ電極を介して積層するプリント基板の設計方法であって、
部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するステップと、
前記生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するステップと、
前記検索による検索順序を、プリント基板の積層時における層割付け順序とするステップとを含む、プリント基板設計方法。
A printed circuit board design method for laminating a board on which components are mounted via solder electrodes,
Generating a graph in which a functional block including a component is a vertex, a connection between different functional blocks is a branch, and the number of connections between the functional blocks is a weight of the branch;
Sequentially searching for weights of branches between functional blocks in the generated graph according to a predetermined rule;
A method of designing a printed circuit board, wherein the retrieval order by the retrieval is a layer assignment order when the printed circuit boards are stacked.
部品を実装した基板をはんだ電極を介して積層するプリント基板の設計方法をコンピュータに実行させるためのコンピュータ・プログラムであって、
前記プリント基板設計方法は、部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するステップと、
前記生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するステップと、
前記検索による検索順序を、プリント基板の積層時における層割付け順序とするステップとを含む、コンピュータ・プログラム。
A computer program for causing a computer to execute a printed circuit board design method for laminating a board on which components are mounted via solder electrodes,
The printed circuit board design method includes generating a graph with functional blocks including parts as vertices, connections between different functional blocks as branches, and the number of connections between the functional blocks as branch weights;
Sequentially searching for weights of branches between functional blocks in the generated graph according to a predetermined rule;
And a step of setting the search order by the search as a layer assignment order when the printed circuit boards are stacked.
部品を実装した基板をはんだ電極を介して積層するプリント基板の設計方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読取り可能な記録媒体であって、
前記プリント基板設計方法は、部品を含んだ機能ブロックを頂点とし、異なる機能ブロック間の接続を枝とし、機能ブロック間の接続本数を枝の重みとするグラフを生成するステップと、
前記生成されたグラフにおける機能ブロック間の枝の重みを所定の規則にしたがって順次検索するステップと、
前記検索による検索順序を、プリント基板の積層時における層割付け順序とするステップとを含む、プログラムを記録した記録媒体。
A computer-readable recording medium storing a program for causing a computer to execute a printed circuit board design method for laminating a board on which components are mounted via solder electrodes,
The printed circuit board design method includes generating a graph with functional blocks including parts as vertices, connections between different functional blocks as branches, and the number of connections between the functional blocks as branch weights;
Sequentially searching for weights of branches between functional blocks in the generated graph according to a predetermined rule;
And a step of setting the search order by the search as a layer allocation order when the printed circuit boards are stacked.
JP2003179925A 2003-06-24 2003-06-24 Printed circuit board design device, method and computer program, and recording medium with the program recorded Withdrawn JP2005018258A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003179925A JP2005018258A (en) 2003-06-24 2003-06-24 Printed circuit board design device, method and computer program, and recording medium with the program recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003179925A JP2005018258A (en) 2003-06-24 2003-06-24 Printed circuit board design device, method and computer program, and recording medium with the program recorded

Publications (1)

Publication Number Publication Date
JP2005018258A true JP2005018258A (en) 2005-01-20

Family

ID=34181119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003179925A Withdrawn JP2005018258A (en) 2003-06-24 2003-06-24 Printed circuit board design device, method and computer program, and recording medium with the program recorded

Country Status (1)

Country Link
JP (1) JP2005018258A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172204A (en) * 2005-12-21 2007-07-05 Fukuoka Pref Gov Sangyo Kagaku Gijutsu Shinko Zaidan Semiconductor device design support device, semiconductor device design support method, program for executing its method by computer and recording medium with its program recorded
CN110881252A (en) * 2019-11-26 2020-03-13 南通深南电路有限公司 Control method of printed circuit board production equipment and printed circuit board production equipment
CN113204940A (en) * 2021-05-25 2021-08-03 研祥智能科技股份有限公司 Processing method and system for PCB design

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172204A (en) * 2005-12-21 2007-07-05 Fukuoka Pref Gov Sangyo Kagaku Gijutsu Shinko Zaidan Semiconductor device design support device, semiconductor device design support method, program for executing its method by computer and recording medium with its program recorded
JP4668057B2 (en) * 2005-12-21 2011-04-13 財団法人福岡県産業・科学技術振興財団 Semiconductor device design support apparatus, semiconductor device design support method, program capable of executing the method by computer, and recording medium recording the program
CN110881252A (en) * 2019-11-26 2020-03-13 南通深南电路有限公司 Control method of printed circuit board production equipment and printed circuit board production equipment
CN110881252B (en) * 2019-11-26 2021-02-19 南通深南电路有限公司 Control method of printed circuit board production equipment and printed circuit board production equipment
CN113204940A (en) * 2021-05-25 2021-08-03 研祥智能科技股份有限公司 Processing method and system for PCB design

Similar Documents

Publication Publication Date Title
US6240542B1 (en) Poly routing for chip interconnects with minimal impact on chip performance
US10418354B2 (en) Integrated circuit and computer-implemented method of manufacturing the same
US9098664B2 (en) Integrated circuit optimization
Pavlidis et al. Interconnect-based design methodologies for three-dimensional integrated circuits
CN101187957B (en) System and method for designing multiple latch unit layout of integrated circuit public clock domain clock aware placement
CN112507648B (en) Layout design method, integrated circuit, operation chip and computing equipment
US20090293023A1 (en) Generation of standard cell library components with increased signal routing resources
Prabhakaran et al. Simultaneous scheduling, binding and floorplanning in high-level synthesis
CN111797586A (en) Design method of semiconductor package and semiconductor package design system
JP2005018258A (en) Printed circuit board design device, method and computer program, and recording medium with the program recorded
JP6174488B2 (en) How to optimize and reduce cycle times for integrated circuits, package design and verification
KR20170094744A (en) Integrated circuit and computer-implemented method for manufacturing the same
JP3647686B2 (en) Semiconductor integrated circuit design method and semiconductor integrated circuit manufacturing method
US6985843B2 (en) Cell modeling in the design of an integrated circuit
US20150149977A1 (en) Partitioning method and system for 3d ic
US11092885B2 (en) Manufacturing methods of semiconductor devices
Banker et al. Physical design tradeoffs for ASIC technologies
Chiah et al. Hybrid III–V/Si-CMOS PDK for Monolithic Heterogeneously-Integrated III–V/Si Technology Platforms
US7992118B2 (en) Semiconductor integrated circuit and design method for semiconductor integrated circuit
US10162930B2 (en) Method of adjusting metal line pitch
JP2821419B2 (en) Logic simulator
JPH11251717A (en) Method for arranging components on printed circuit board
JP2002222229A (en) Automatic layout and wiring device and automatic layout and wiring method
US6536016B1 (en) Method and apparatus for locating constants in combinational circuits
JP2004341727A (en) Wiring route determination method, components placement method, and program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905