JP3763695B2 - CAD system for electronic circuit board design and recording medium storing program used therefor - Google Patents

CAD system for electronic circuit board design and recording medium storing program used therefor Download PDF

Info

Publication number
JP3763695B2
JP3763695B2 JP08250799A JP8250799A JP3763695B2 JP 3763695 B2 JP3763695 B2 JP 3763695B2 JP 08250799 A JP08250799 A JP 08250799A JP 8250799 A JP8250799 A JP 8250799A JP 3763695 B2 JP3763695 B2 JP 3763695B2
Authority
JP
Japan
Prior art keywords
arithmetic expression
wiring
wiring pattern
connection
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP08250799A
Other languages
Japanese (ja)
Other versions
JP2000276506A (en
Inventor
秀雄 佐藤
友重 尾野
良一 新堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NGK Spark Plug Co Ltd
Zuken Inc
Original Assignee
NGK Spark Plug Co Ltd
Zuken Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NGK Spark Plug Co Ltd, Zuken Inc filed Critical NGK Spark Plug Co Ltd
Priority to JP08250799A priority Critical patent/JP3763695B2/en
Publication of JP2000276506A publication Critical patent/JP2000276506A/en
Application granted granted Critical
Publication of JP3763695B2 publication Critical patent/JP3763695B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Testing Of Short-Circuits, Discontinuities, Leakage, Or Incorrect Line Connections (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子回路基板設計用CADシステム及びそれに使用するプログラムを記憶した記録媒体に関するものである。
【0002】
【従来の技術】
ICやマイクロプロセッサ等の半導体チップは、近年高集積化が急速に進んでいることから、チップの入出力部の端子数も大幅に増大しつつある。これを受けて、そのようなチップを接続するための電子回路基板も配線部の数が急増しており、高分子材料やセラミック等の絶縁層を介して多層の配線部を作り込んだ積層型のパッケージ基板が増えてきている。このような電子回路基板には、チップとの接続をとるためのパッド(あるいはランド)や、自身をマザーボード等の別の配線基板に接続するためのパッドなど、接続端子の役割を果たす導通部が表面に多数露出して形成されるのが常である。例えば図1に示す電子回路基板Bでは、樹脂あるいはセラミック製の絶縁層200中に配線部201が作り込まれており、その配線部201の末端部は、チップ側の端子と接続するためのボンディングパッド203を形成する一方、該配線部201の中間部は、ビア207を介して基板裏面側に形成されたピンパッド202(接続ピン206を接続するためのものである)に接続している。
【0003】
最近では、このような電子回路基板の設計を効率よく行うために、コンピュータ作図処理を用いた設計システム、いわゆるCAD(Computer Aided Designing)システムが使用されている。これは、表示装置上に作図画面を開き、配線部やパッドあるいは異なる配線層間の接続をとるためのビア等の図形を、マウス等の入力装置を用いて作図画面上に描くことにより基板設計図を得るものである。
【0004】
ところで、上記のような基板においてパッドやランド等には、接続を確実にするためにメッキが施されるのが常である。このようなメッキを行うために、一般には、配線部201にメッキ線部204を形成し、基板側面に形成されたメッキ通電用のメタライズ層205にこれを接続し、該メタライズ層205から配線部201を経て通電を行う方式が採用されている。従って、各パッド等に接続する配線部については、メッキ線が確実にメタライズ層と接続するものとなるようにしておくことが設計上は重要である。例えば、ある配線部についてメッキ線が抜けていたりすると、その配線部が接続するパッド等にメッキ落ちやメッキムラといった不良が発生することにつながる。
【0005】
そして、1つの基板中に作り込まれる配線部の数が増大し、それらが複数層に渡って複雑に交錯した形になると、CADシステムを用いた設計図の作図中においても、1つ1つの配線部に対するメッキ線の形成状況を正確に把握することは非常に難しくなり、メッキ線抜けの見落としによる上記のような不良の発生を余儀なくされる。そこで、例えば特開昭63−188267号公報をはじめとして、配線部の導通状況を把握できるようにしたCAD上での検査方式が各種提案されている。
【0006】
【発明が解決しようとする課題】
ここで、実際の電子回路基板では、品種により通電メタライズ層の形状、形成位置あるいは形成数が異なる場合が多い。これは、作図画面上では、接続判定対象領域の設定内容(例えば領域数や位置、形状)が品種により異なることを意味する。また、メッキ通電方式も品種によって異なる場合があり、これはメッキ線の接続状況の判定条件等の相違をもたらす。しかしながら、従来の検査方式では、検査設定内容の変更ができなかったり、あるいは設定内容の変更作業が非常に面倒であるなど、検査目的や基板品種の違い等に応じた柔軟な対応ができないものが多かった。
【0007】
本発明の課題は、メッキ線と側面メタライズ層との接合など、配線部の導通状況の把握あるいはチェックを簡単な処理により正確に行うことができ、しかも検査目的や基板品種の違い等に応じてその設定内容を柔軟かつ簡単に変更できる機能を有した電子回路基板設計用CADシステムと、それに使用するプログラムを記憶した記録媒体とを提供することにある。
【0008】
【課題を解決するための手段及び作用・効果】
本発明は、複数の配線層が絶縁層を介して積層されるとともに、その配線層に作り込まれた配線部が導通する被メッキ部位が基板表面に露出して形成される一方、該配線部が接続する通電用メタライズ層が側面に形成された電子回路基板を設計するためのCADシステムに関するものであって、
配線部や被メッキ部位の図形である配線パターン図形を作図画面上にて入力する配線パターン図形入力手段と、
基板の主面外形に対応する基準領域と、通電用メタライズ層に対応する通電接続領域を含んだ形で基準領域の外側に形成される接続判定対象領域とを作図画面に対して設定する領域設定手段と、
接続判定対象領域に対し、1又は複数の通電接続領域を含む複数の要素領域を設定する要素領域設定手段と、
各要素領域に対応して、その要素領域に接続する配線パターン図形の集合を表す変数(以下、パターン集合変数という)を設定するパターン集合変数設定手段と、
該パターン集合変数と、これに組み合わされる1種又は2種以上の演算子とを用いて記述された演算式を記憶する演算式記憶手段と、
各演算子に対応して用意され、それぞれその演算子に対して予め定義された集合演算内容を実行させるための演算プログラムモジュールを記憶した演算プログラムモジュール記憶部と、
演算式を演算式記憶手段から読み出す演算式読み出し手段と、
その読み出された演算式に含まれるパターン集合変数を検出するとともに、配線パターン図形のうち、そのパターン集合変数に対応する要素領域に接続しているものを抽出して、当該パターン集合変数に対応した配線パターン図形の集合を生成するパターン集合生成手段と、
演算式の記述内容に従い、各パターン集合変数が示す配線パターン図形の集合に対して、各演算子が規定する集合演算を対応する演算プログラムモジュールを用いて実行する演算実行手段と、
その演算結果に基づいて、該配線パターン図形と通電接続領域との接続状態に関する情報を生成する配線パターン接続情報生成手段と、
生成された配線パターン接続情報を出力する配線パターン接続情報出力手段と、 を備えたことを特徴とする。
【0009】
上記CADシステムにおいては、接続判定対象領域を通電接続領域を含む複数の要素領域に細分化し、接続判定の対象となる要素領域毎に、これに接続する配線ネット図形の集合を生成する。そして、それら集合間に所定の演算式に従う集合演算を施し、その演算結果に基づいて配線ネット接続情報を生成するようにしている。これにより、判別の目的や基板品種に応じて判別条件が異なる場合等においても、演算式を用いることで所望の判別条件を的確に設定することができるようになり、ひいては各種ニーズに柔軟に対応できる。
【0010】
また、本発明の記録媒体は、上記本発明のCADシステムを構成する各手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とする。これにより、該記録媒体に記憶されたプログラムをコンピュータにインストールすることで、上記本発明のCADシステムを簡単に実現することができる。
【0011】
演算子は、2つの配線パターン図形の集合の和集合を求める和演算の演算子と、同じく差集合を求める差演算の演算子と、同じく共通集合を求める積演算の演算子と、登録された全ての配線パターン図形からなる母集合に対し、ある配線パターン図形の集合の否定集合を求める否定演算の演算子と、の少なくともいずれかを含むものとすることができる。これにより、特殊な基板を除けば、メッキ線の接続状態に関して設計上要求される判別条件のほとんどのものをカバーすることができるようになる。これについては、発明の実施の形態の項において詳細に説明するが、例えば演算式として、設定された全ての通電接続領域に対応するパターン集合変数を和演算により直列に結び付け、その結果に否定演算を施す内容のものを記憶しておけば、いずれの通電接続領域に接続していない配線パターン図形(すなわちメッキ線が抜けた配線パターン図形)の存在に関する情報を得ることができる。
【0012】
上記構成においては、演算式を入力する演算式入力手段を設けることができる。この場合、演算式記憶手段には、その入力された演算式を登録・記憶する演算式登録部を設けておくことができる。このようにすれば、目的に応じた判別条件設定のために、演算式を自由に作成・登録しておくことができるようになるので便利である。この場合、演算式は、演算式記憶部に対して複数記憶可能とすることができる。そして、それら記憶された演算式から所期のものを選択する演算式選択手段を設けておき、演算実行手段は、その選択された演算式に係る演算のみを実行するものとして構成することができる。こうすれば、各種判別条件の内容を記述した演算式を複数用意しておき、目的に応じて自由に選択して使用できるのでさらに便利である。
【0013】
なお、上記本発明のCADシステムには、
基板中に形成すべき配線層に対応する複数の作図レイヤを、作図画面に対して設定する作図レイヤ設定手段と、
配線パターン図形の作図単位であるオブジェクトを作図レイヤに入力するオブジェクト入力手段と、
異配線層間の配線部同士を接続するビアの図形を、それら配線層に対応する作図レイヤに入力するビア入力手段と、
同一作図レイヤ上にて互いに接続された状態で連なって位置する複数のオブジェクト同士、又は異なる作図レイヤ間にてビアの図形を介して互いに接続されるオブジェクト同士を、一体の配線ネット図形として登録する配線ネット図形登録手段と、
を設けることができる。この場合、配線パターン接続情報生成手段は、その登録された配線ネット図形と接続判定対象領域との位置関係に基づいて、該配線ネット図形と通電接続領域との接続状態に関する情報を生成するものとされる。
【0014】
上記構成においては、配線パターン図形をオブジェクト単位で入力するとともに、同一レイヤ上でのオブジェクトの接続あるいは、ビアを介したイレイヤ間のオブジェクトの接続によりオブジェクトを統合して、これを一まとまりの配線ネット図形として登録し、その配線ネット図形が、通電用メタライズ層を表す通電接続領域を含んで設定される接続判定対象領域に接続しているか否かを判定するようにしている。すなわち、互いに接続したオブジェクト同士、すなわち配線ネット図形は、断線することなくつながっている配線ネットを意味するから、これと例えば通電用メタライズ層を表す通電接続領域との接続関係を判定するのみで、メッキ線抜け等のチェックを簡単にかつ確実に行うことができる。
【0015】
【発明の実施の形態】
以下、本発明の実施の形態を、図面に示す実施例を参照して説明する。
図2は本発明の電子回路基板設計用CADシステム1(以下、単にCADシステムともいう)の一実施例の全体構成を示すブロック図である。CADシステム1は、I/Oポート2とこれに接続されたCPU3、ROM4及びRAM5等からなるコンピュータ本体12を備え、これに周辺機器として、キーボード6あるいはマウス7等の入力手段、CD−ROMドライブ8あるいはフロッピーディスクドライブ9等の記録媒体読取手段、ハードディスクドライブ(以下、HDDと記す)10、モニタ制御部11を介して接続されるモニタ13、プリンタ14等が接続されたコンピュータシステムとして、全体が構築されている。
【0016】
なお、CPU3は、領域設定手段、配線パターン接続情報生成手段、要素領域設定手段、演算式読み出し手段、パターン集合生成手段、演算実行手段、演算式入力手段等の主体をなすものである。また、作図画面表示手段、配線パターン図形入力手段、配線パターン接続情報出力手段、要素領域設定データ記憶手段、演算式記憶手段、演算プログラムモジュール記憶部、演算式入力手段、演算式登録部、演算式選択手段等の制御主体としても機能する。キーボード6あるいはマウス7は、配線パターン図形入力手段、演算式入力手段、演算式選択手段の主体をなすものである。HDD10及びRAM5は、要素領域設定データ記憶手段、演算式記憶手段、演算プログラムモジュール記憶部、演算式登録部の要部をなすものである。モニタ13は作図画面表示手段及び配線パターン接続情報出力手段等として機能する。プリンタ14は、作図が終了した電子回路基板の設計図面を印刷出力する図面出力手段の他、配線パターン接続情報出力手段等として機能する。
【0017】
HDD10には、オペレーティングシステムプログラム(以下、OSという)61及びアプリケーションプログラム(以下、アプリケーションという)62が格納されている。アプリケーション62は、CADシステム1の機能を実現するための基本プログラムでありOS61上で作動するものである。これは、例えばCD−ROM20等にコンピュータ読取り可能な状態で記憶され、例えば専用のインストーラプログラムを用いてインストールされるものである。また、HDD10には、作成済の図面のデータファイル63が記憶されている。一方、RAM5には、OS61のワークメモリ51、及びアプリケーションのワークメモリ52がそれぞれ形成される。
【0018】
図3に示すように、アプリケーションプログラム62は、制御プログラム71、描画ツールプログラム72、チェック言語システムプログラム73、演算式データ74、要素領域設定データ75、表示/出力プログラム76等を含んでいる。このうち、制御プログラム71は、コンピュータをCADシステム1として機能させるための基本的な処理を行うプログラムである。他のプログラムは、この制御プログラム71の機能を補完するものであるが、それぞれの役割については後述する。また、ROM4には、コンピュータシステムのハードウエア制御のための基本的な各種プログラムが格納されている。そして、アプリケーションプログラム62を立ち上げると、制御プログラム71はアプリケーションワークメモリ52内に形成される制御プログラム常駐メモリ52aに、描画ツールプログラム72は同じく描画ツール常駐メモリ52bに、チェック言語システムプログラム73は同じくチェック言語システム常駐メモリ52cに、表示/出力プログラム76は同じく表示/出力プログラム常駐メモリ52dにロードされる。これらの常駐メモリは、対応するプログラムのワークエリアとして機能する。また、演算式データ74は演算式メモリ52eにロードされる。
【0019】
また、アプリケーションのワークメモリ52には、作画中の図面の画像データである図面データを格納するための図面データメモリ52fが形成されており、後述する要素領域を描画するための要素領域設定データ75は、その要素領域設定データメモリ52gにロードされる。さらに、RAM5には、配線ネットデータ登録メモリ52iが形成されている。図5は、その内容を示すものであるが、詳細は後述する。
【0020】
また、図4に示すように、チェック言語システムプログラム73は、和演算モジュール73a、差演算モジュール73b、積演算モジュール73c、否定演算モジュール73d及び斜め接続ネット検出モジュール73eを含んでいる。
【0021】
以下、CADシステム1の作動について詳細に説明する。
図3のアプリケーションプログラム62を起動させると、その制御プログラム71により、モニタ13(図2)には、図10(a)に示すように、作図画面40が表示される。本実施例のアプリケーションプログラム62は、公知のCADシステムと同様にドロー系グラフィックソフトウェアとして構築されており、作図画面40上にて、マウス7の操作により配線部や被メッキ部位の図形である配線パターン図形をオブジェクト単位で入力しながら作画作業を進めるものである。なお、本実施例では、新規図面の作図画面40を立ち上げると、別途HDD10等に記憶された表示データに基づき、該作図画面40内には、設計・作図すべき基板の主面外形線に対応した四辺形状の基準領域51と、デフォルトオブジェクト図形として、基板表面に形成される被メッキ部の図形、例えば特定のピンパッドの図形53とボンディングパッドの図形55とが表示されるようになっている。この場合、デフォルトオブジェクトデータを品番と対応付けて記憶するデフォルトオブジェクトデータ記憶部を例えばHDD10に設けておき、品番をキーボード6(あるいはマウス7による画面上のソフトボタンクリック)により入力することで、対応するデフォルトオブジェクトデータを読み出し、これを作図画面に表示するようにしておけば便利である。
【0022】
ここで、設計の対象となる基板は、複数の配線層が絶縁層を介して積層されるパッケージ基板等である。そして、制御プログラム71の作動により、形成すべき配線層に対応する複数の作図レイヤが作図画面40に対して設定される。これら作図レイヤ(以下、単にレイヤともいう)は、図10(a)においては重なっているため視覚的には判別できない。また、各レイヤに書き込まれた図形は作図画面40上では重ね表示されるが、特定のレイヤ上の図形のみを表示させたり、あるいは色彩、明るさ、濃淡、塗りつぶしパターンの変更等により、他のレイヤ上の図形とは表示状態を異ならせることが可能である。
【0023】
図6は、作図処理の流れを示すフローチャートである。まずS1では、オブジェクトを書き込みたいレイヤを選択する。このレイヤ選択は、例えばマウス7(図2)により、画面上に表示されたレイヤ選択のためのソフトボタン(図示せず)をクリックすることで行うことができる。そして、図形として入力できるのは上記したオブジェクトと、異レイヤ間のオブジェクト同士を接続するためのビアの図形であり、S2及びS8では、そのどちらを選択するかがコマンド入力により決定される。このコマンド入力も、オブジェクト入力あるいはビア入力を選択するソフトボタン(図示せず)のマウスクリックにより行うことができる。
【0024】
オブジェクト入力が選択されたらS2からS3に進み、オブジェクト描画を行う。オブジェクトの描画に際しては、公知のCADシステムソフトウェアと同様に、配線描画、パッドの描画など、描きたいオブジェクトの種別毎に描画ツールプログラム72(図3)が用意されている。描画ツールも、画面上にソフトボタンとして形成された描画ツール選択ボタン(図示せず)のマウスクリックにより選択できる。そして、所望の描画ツールを選択したら、図10(b)に示すように、作図位置を示すポインタPをマウス操作により移動させつつ、マウスクリックあるいはドラッグ(マウスボタンを押したままマウスを移動させること)等の操作を組み合せながらオブジェクトを描いてゆく。図では、各ピンパッドの図形53とボンディングパッド55の図形とをつなぐ配線部の図形をオブジェクトとして描き終わった状態を示している。
【0025】
図12(b)に示すように、オブジェクトは1つ描き終わる毎に、その図形データであるオブジェクト記述データが、オブジェクト特定データ(例えばオブジェクトコード)及びレイヤ特定データ(例えばレイヤ番号)と対応付けた形で、図3の図面データメモリ52gに記憶されてゆく。オブジェクト記述データは、例えば図12(a)に示すように、オブジェクトOB11,OB12,OB13等の形状、大きさ及び描画位置を、画面40上に設定される座標平面上で規定するためのベクトルデータ、関数式データあるいは特定の基準点の座標及び半径や長さ等の寸法規定データの組として表される。例えば、オブジェクトOB11は、基準点A11(x0,y0)を起点として所定の向き(例えば右回り)に周回しながら、A11(x1,y1)、A11(x2,y2)、A11(x3,y3)、A11(x0,y0)の順でベクトルを連ねることによりオブジェクトの外形輪郭を描いた場合の、各ベクトルの終点位置の座標のデータ組として表わされている。オブジェクトOB12も同じである。また、パッド等を表す円形のオブジェクトOB13は、その中心座標C13と半径r13とのデータ組として表わされている。さらに、図示はしていないが、例えば幅が一定した配線部の図形などは、その起点位置及び終点位置の座標と線幅のデータ組みとして表すことができる。なお、図12では、3つのオブジェクトOB11,OB12,OB13が全て同じレイヤ(No.1)に描かれている。
【0026】
一方、図6においてビア入力が選択された場合には、S9に進んでビア入力処理となる。図13(a)に示すように、ビアVは、異配線層の配線部W1,W2同士を接続するものであるが、本実施例ではそのビアVの図形の入力は、例えば画面上でポインタをビア入力したい位置に位置合わせし、ビア起点となるレイヤと同じく終点となるレイヤとを指定することにより行うことができる。そして、このビア図形のデータは、図13(b)に示すように、ビア位置データと、ビア起点及び終点となるレイヤのレイヤ特定情報との組として、ビア特定データ(例えばビアコード)と対応付けた形で図面データメモリ52fに記憶される。
【0027】
図6に戻り、オブジェクトの描画を行った場合はS4に進み、図14(a)に示すように、同一レイヤ内にその入力したオブジェクトOB12に部分的に重なる(すなわち、接続されている)入力済のオブジェクトOB11が存在するか否かを判定する。NoであればさらにS5に進み、図15に示すように、ビアVA11を介した異レイヤ間接続により別のオブジェクトOB31に接続していないかどうかを判定する。これもNoであれば、そのオブジェクトOB12を配線ネット図形として、例えばオブジェクト特定情報のみを図3の配線ネットデータ登録メモリ52iに、ネット特定情報(例えばネット番号)を付与してネットデータとして書き込み、これを登録する。
【0028】
また、図6のS4あるいはS5においてYesの場合はともにS7へ進み、そのオブジェクトの接続先となるオブジェクトが属する登録済の配線ネット図形に組み込む処理、すなわち新たに描いたオブジェクトのオブジェクト特定データを、配線ネットデータ登録メモリ52i内の対応するネットデータに付加する処理を行う。また、ビアによる接続の場合は、そのビア特定データもネット特定情報に付加する。こうして図5に示すように、配線ネットデータ登録メモリ52i内には、各ネット特定情報net1,net2,‥‥と、その配線ネットに属するオブジェクトの特定データOB11,OB12,‥‥あるいはビアの特定データVA11,VA12,‥‥とが互いに対応付けられたネットデータが記憶されてゆくこととなる。
【0029】
他方、図14(b)に示すように、異レイヤ間で重なるオブジェクトが発生した場合は、それらオブジェクト特定データの重なり先のネットデータへの付加は行われない。しかしながら、図6のS10において、新たに入力されたビア図形により互いに接続される配線ネット図形が発生した場合はS11に進み、それらの配線ネット図形のネットデータ同士を統合(マージ)して、それを1つの配線ネット図形のネットデータとして再登録する処理が行われる。この場合、ネット特定情報は、統合前の配線ネット図形の一方に対応するものを残し、他方を削除してこれを欠番として扱うようにしてもよいし、両方のネット特定情報を消して新たなネット特定情報を付与するようにしてもよい。
【0030】
上記のようなオブジェクトやビアの入力の作図入力を繰り返した後、作図作業を終了する場合は、S12からS13へ進み、図面データメモリ52g内に蓄積されている図形のデータ、すなわち図面データを、配線ネットデータ登録メモリ52i内のネットデータとともにファイル名を付与して、HDD10(図2)の図面データファイル63に書き込み、保存する。図11に示す例では、作成した図面中に、都合13個の配線ネット図形N1〜N13が形成されている。
【0031】
なお、この図面データに基づいて、作成した図面をプリンタ14から印刷出力させることができる。
【0032】
次に、図7は、要素領域の設定とチェック処理の流れを示すフローチャートである。まずS101では、作図画面上にて要素領域の設定を行う。この要素領域の設定は作図の途中で行っても、作図が全て終了した後に行ってもいずれでもよい。図11においては、設計対象たる基板を展開表示した様子を模して、基板主面の外形線を表す基準領域51の各辺に対応して、基板側面の通電用メタライズ層を表す4つの長方形状の通電接続領域T,L,B,Rが要素領域として設定され、それら領域を表す図形が画面上に表示されている。この要素領域の設定は、予め用意された標準的な要素領域の設定データ(例えば図3に示すように、アプリケーションプログラム62に組み込まれているもの)を用いて行ってもよいし、オペレータが描画ツールを用いて画面上に作図して行うようにしてもよい。いずれの場合も要素領域設定データは、オブジェクトの図形データと同じ形式で記述されるものを用いることができる。該要素領域設定データは、図面データの一部をなすものとして、図3に示すように、図面データメモリ52f内に形成された要素領域設定データメモリ52gに、要素領域名(要素領域特定データ)と対応付けた形で記憶される。
【0033】
図7では、続いてS102に進み、行うべきチェックの種類を選択する。これは、例えば図16(b)のようなチェック種別選択ウィンドウ41を画面40上に開いて行うことができる。該ウィンドウ41には、実施可能なチェック名称と、そのチェック内容を与える演算式、及びそのチェックの実行の有無を選択するためのチェック選択ボタン42が形成されている。そして、これに対応して、HDD10のアプリケーション62の記憶領域内には、図3に示すように演算式データ74が記憶されており、RAMのワークメモリ52の演算式メモリ52eにロードされるようになっている。図16(a)に示すように、この演算式データ74は、各演算式がチェック名称(演算式特定データ)と対応付けられた形で記憶されており、それぞれ実行フラグが付随している。ウィンドウ41内のチェック選択ボタン42は、マウスクリックによりオン・オフの表示が切り替わるようになっており、これに伴い、対応する実行フラグのオン・オフ(例えば「1」がオン、「0」がオフ)が切り替わるようになっている。そして、この実行フラグがオンとなっている演算式のみが実行されることとなる(図7:S103)。
【0034】
例えば図11に示すように、作図作業からすぐチェック確認に移ることができるよう、例えば作図画面40中にチェック実行ボタン43を形成しておき、これをマウスクリックするとチェックが実行されるようにしておくと便利である。こうして図7のS104からS105に進み、チェック処理となる。なお、チェックの内容を変更したい場合には、S104からS108を経てS102に戻り、チェック種別を再度選択しなおす。
【0035】
図8は、そのチェック処理の詳細を示すフローチャートである。以下、演算式を用いたチェック方式の原理について概略を説明する。図17は、作図画面上に描かれた図面の例をいくぶん簡略化して描いたもので、基準領域51の各辺に接する形で4つの要素領域(通電接続領域)T,L,B,Rが形成されている。また、配線ネット図形はa〜gの都合7つが登録されているものとする。これら配線ネット図形がある要素領域に接続しているか否かは、各要素領域をオブジェクトとみなすことで、作図処理(図6)におけるオブジェクト同士の接続判別を行う場合と全く同様の方法により判別することができる。そして、ある要素領域を指定した場合、その要素領域に接続する配線ネット図形を上記判別処理に基づいて全て検索することで、該要素領域への接続ネットの集合が得られる。該検索は、図3のチェック検索/判定メモリ52hを利用して行われる。こうして得られる配線ネット図形の集合に接続先の要素領域名(要素領域特定情報)を対応させれば、その要素領域名は1つの集合変数を表していると考えることができる。以下、これをネット集合変数と呼ぶことにする。
【0036】
図17の場合は、各要素領域T,L,B,Rに対応して、次の4つの集合変数が定義されうる。
T={b,a}、L={a,f}、B={e,d}、R={d,c}‥‥(1)
また、設定した要素領域のいずれにも接続しない配線ネット図形はgであり、登録された全ての配線ネット図形からなる集合、すなわち母集合Gを考えることもでき、これは次のように表すことができる(ただし、Gは特定の要素領域を表すものではない)。
G={a,b,c,d,e,f,g}‥‥(2)
これを見てもわかるように、配線ネット図形gは、どの通電メタライズ層にも導通しない配線ネット、すなわちメッキ線の抜けた配線ネットを表しており、図面上では、要素領域T,L,B,Rのいずれにも接続しない配線ネット図形としてとらえることができる。このようなメッキ線抜けのネットの集合をZとしたとき、これを一般の集合代数の記号を用いて表すと、次のように表現することができる(ただし、「’」は、補集合(否定集合)を表す否定演算子である)。
Z=(T∪L∪B∪R)’‥‥(3)
また、集合Aと集合Bとの差集合を求める差演算を、例えば次のように定義しておく(ただし、同じ結果が得られるのであれば、演算内容はこれに限定されるものではない)。
A−B≡(A∪B)∩B’‥‥(4)
【0037】
以上を前提として、本実施例で使用する演算式の意味と記述方法について説明する。まず、この演算式は、上記のようなネット集合変数(集合要素は、処理上は配線ネット図形特定情報を用いるものとする)間に施される集合代数の演算式である。そして、本実施例においては、一般の集合代数における演算を、次のような逆ポーランド表記法、すなわち演算子を演算数の後に置く表記法により記述する。
A∪B⇔AB|(∪⇔|)‥‥(5)
A∩B⇔AB&(∩⇔&)‥‥(6)
A−B⇔AB^(−⇔^)‥‥(7)
A’⇔A!(’⇔!)‥‥(8)
【0038】
また、集合代数においても和演算及び積演算については結合法則が成り立つが、本表記法では次のように表すことができる。
(A∪B)∪C=A∪(B∪C)⇔AB|C|=ABC||‥‥(9)
(A∩B)∩C=A∩(B∩C)⇔AB&C&=ABC&&‥‥(10)
これを用いれば、例えば(3)式は、次のいずれで表記しても同じ結果が得られることがわかる。
Z=TL|B|R|!‥‥(11)
Z=TLB|R||!‥‥(12)
Z=TLBR|||!‥‥(13)
【0039】
次に、記憶された演算式を読み取って内容を解析し、その演算を実行するためのプログラムは、図4に示すチェック言語システムプログラム73である。このプログラム73は、配線ネット図形特定情報の集合が与えられたときに、該集合の和演算、積演算、差演算及び否定演算をそれぞれ行うためのプログラムモジュール73a〜73dを含んでいる。また、後述する斜め接続ネットの検出を行うためのモジュール73eも設けられている。また、演算式の入力の制御も司る。演算式の入力は、例えばキーボード6(図2)等を用いて行うことができ、演算式データ74(図3)として記憶される。
【0040】
チェック言語システムプログラム73による演算式実行処理としては、例えば次のような方式のものを採用できる。まず、チェック検索/判定メモリ52h(図3)内に、図19に示すような構造のメモリエリアを設定する。これは、複数の入力メモリIM1,IM2,IM3,‥‥と、演算結果を格納する演算結果メモリRM1 と、演算子を格納する演算子メモリOMとを含んでいる。以下、図8のフローチャートを参照しつつ処理の流れを説明する。
【0041】
まずS201で、実行指定された演算式を読み出す。演算式はネット集合変数と演算子とにより記述されているが、以下、これらを総称する場合は構文要素と呼ぶことにする。まず、演算式は、前述の逆ポーランド表記法が使用されているから、先頭にある構文要素は必ずネット集合変数(すなわち、要素領域名)となる。S202においてはまずこれを読み出し、その要素領域名で特定される要素領域に接続するネットを検索する処理(ネット検索処理)に移る(S203)。
【0042】
図9は、ネット検索処理の詳細を示すものである。まず、S301で読み出した要素領域名に対応する要素領域を指定し、次いでその要素領域に接続するオブジェクトがあるかないかを調べる(S305)。接続するオブジェクトがあれば、そのオブジェクトの属する配線ネット図形のネット特定情報を全て抽出し(S306)、図19の入力メモリIM1,IM2,IM3‥‥に対し先頭のもの(この場合、IM1)に格納する。すなわち、入力メモリIM1に格納されるのは、要素領域名が示すネット集合変数に属するネット特定情報の集合となる。
【0043】
他方、演算式においては、ネット集合変数に対して、斜め接続ネットを検出するための補助演算子(以下、斜め接続演算子という)を付属させることができる。この斜め接続演算子は、本実施例の表記法では「〜」で表され、対象となる演算子の前に置かれる。例えば、要素領域Aに斜め接続する配線ネット図形の集合は、「〜A」で表される。そして、S304にてこの斜め接続演算子が検出された場合はS307に進み、対応する要素領域に斜めに接続している配線等のオブジェクトがあるかを調べ、あればS306に進んでそのオブジェクトの属する配線ネット図形のネット特定情報を抽出する。例えば、図20に示すように起点K1と終点とK2とを指定する形で特定される配線部のオブジェクトの場合、基準領域51の要素領域への対応縁(この場合、辺部)に平行に設定された基準ベクトルB0B1を設定しておき、ベクトルK1K2と基準ベクトルB0B1とのスカラー積を演算して、その結果がゼロ(あるいはゼロを中心とする一定の数値範囲内)であれば正常接続、そうでなければ斜め接続であると判定する。
【0044】
図8に戻り、S204に進んで、次の構文要素がネット集合変数であった場合はS206に進み、その変数を読み出して同様のネット検索処理となる(S206、S207)。生成されたネット特定情報の集合は、入力メモリIM1,IM2,IM3‥‥に対し、先に集合(あるいは演算子)が格納されているメモリがあれば、それに続く形で前詰めで格納される。他方、読み出された構文要素がネット集合変数でも演算子でもない場合(例えば、定義されていないコードであった場合)はS211に進んでエラーを通知する。
【0045】
また、読み出された構文要素が演算子であった場合はこれを演算子メモリOM(図19)に格納し、S212に進む。そして、そしてその演算子が和(|)、差(^)あるいは積(&)等の二項演算子であった場合は、入力メモリIM1,IM2,IM3‥‥の末尾の2つに格納されたネット特定情報の集合に対し、格納された演算子が示す内容の集合演算を行って、結果の集合を演算結果メモリRM1に格納する(S212)。他方、演算子が否定(!)等の単項演算子であった場合は、入力メモリIM1,IM2,IM3‥‥の末尾の1つに格納されたネット特定情報の集合に対し、格納された演算子が示す内容の集合演算を行って、結果の集合を演算結果メモリRM1に格納する(S212)。いずれの場合も、演算が終了すれば、演算済のネット特定情報の集合を入力メモリからクリアし、代わって演算結果の集合を前詰めで書き込む(S213)。
【0046】
そして、S208で、次の構文要素が残っている場合にはS204に戻って以下同様の処理を、全ての構文要素に対する処理が終了するまで繰り返す。全ての構文要素についての処理が終了した段階で(S209)、もし入力メモリ内に未演算の集合(変数)が残っている場合は、正しく演算行われなかったことを意味するので、S211に進んでエラー通知を行う。他方、未演算の集合(変数)が残っていなければ、演算結果メモリRM1には最終的な演算結果を示す集合が記憶されているはずであるから、これをチェック結果として出力する(S210)。
【0047】
逆ポーランド表記法で記述された演算式は、通常の代数表記のように括弧を用いなくとも演算子の位置のみで演算順序が定まるので、途中で中間演算結果を退避させることなく、構文要素を先頭から順にシーケンシャルに処理することが可能となる。その結果、演算メモリの構造が簡単になり、処理速度も向上する。図21は、A={a,b,c}、B={b,c,d}、C={c,d,e}としたときの、AB&C&及びABC&&の演算例である。AB&C&の場合、まず(a)に示すように、AとBをIM1及びIM2に格納し、最初の&をOMに格納してAB&の演算を行い、演算結果{b,c}(=R)をRM1に格納する。次に、(b)に示すように、IM1及びIM2をクリアし、演算結果R={b,c}をIM1に格納する。そして、CをIM2に格納し、2番目の&をOMに格納してRC&の演算を行う。結果は、{c}である。
【0048】
一方、ABC&&の場合は、(c)に示すように、A、B、CをIM1、IM2、IM3に格納し、最初の&をOMに格納する。この場合、末尾の2変数に対する&演算、すなわちBC&の演算が先に行われ、演算結果{c,d}(=R)をRM1に格納する。次に、(b)に示すように、演算済のIM2及びIM3がクリアされ、演算結果R={c,d}は、IM1には未演算のAが残っているから、前詰めでIM2に格納される。そして、2番目の&をOMに格納し、AR&の演算が行われる。結果は、先と同じ{c}である。すなわち、AB&C&=ABC&&であり、結合法則に従った演算が可能であることがわかる。
【0049】
図22は、図17の図面において、メッキ線抜けのチェックを行うために、前述の(13)(Z=TLBR|||!)で表される演算式を実行した場合の演算処理の内容を示す。これによれば、次の順序で演算が行われることとなる。
U1=BR|={c,d,e}‥‥(14)
U2=LU1|={a,c,d,e,f}‥‥(15)
U3=TU2|={a,b,c,d,e,f}‥‥(16)
Z=U3!={g}‥‥(17)
(母集号がG={a,b,c,d,e,f,g}であることに注意せよ)
正しい結果が得られていることがわかる。
【0050】
次に、一方の通電用メタライズ層の対は他方の対とは絶縁されており、同じ対に属する通電用メタライズ層同士はそれらにまたがる配線ネットにより電気的に接続されている状態、すなわち対角接続状態が実現されているか否かも、上記のような演算式をいくつか組合せることにより、容易にチェックすることが可能である。例えば、図17において、
▲1▼通電接続領域の対T,L(第一接続領域対)及びB,R(第二接続領域対)がそれぞれ、これらにまたがる配線ネット図形(前者ではa(第一対角接続ネット図形)、後者ではd(第二対角接続ネット図形))で結ばれており、
▲2▼L,B及びR,Tは結ばれていない(すなわち、補対角接続ネットが存在しない)、
場合について考える。
【0051】
まず▲1▼のチェックは、
Q1=BL|TR|&‥‥(17)
の演算により行うことができる。図23は、その演算例を示している。
これによれば、次の順序で演算が行われることとなる。
V1=BL|={a,d,e,f}‥‥(18)
V2=RT|={a,b,c,d}‥‥(19)
Q=V1V2&={a,d}‥‥(20)
すなわち、正しい結果が得られていることがわかる。また、▲2▼をチェックするためには、L,B及びR,Tが補対角接続ネットを有していないことを個別に示す必要がある。従って、別の2つの演算式:
Q2=BL&‥‥(21)
Q3=TR&‥‥(22)
の結果が、いずれも空集合となることをチェックすればよい。
【0052】
また、全ての隣接する辺同士の通電用メタライズ層が、各々それらにまたがる配線ネットにより各々電気的に接続されている状態、すなわち四辺接続状態)が実現されているか否かは、図17の場合は次の4つの演算式:
P1=TL&‥‥(23)
P2=LB&‥‥(24)
P3=BR&‥‥(25)
P4=RT&‥‥(26)
の結果が、それぞれ空集合とならないことを確認すればよい。例えば図17において、新たな配線ネット図形h,iを考慮した場合、上記4式の結果がそれぞれ、{a}、{i}、{d}、{h}となっていれば正常であり、どれか1つでも空集合となれば異常となる。なお、この演算式は、対角接続状態のチェックに使用することもできる。すなわち、図17をもう一度配線ネット図形h,iが存在しない状態に戻して考えた場合、上記4式の結果がそれぞれ、{a}、{}、{d}、{}となっていれば正常である。
【0053】
また、斜め接続ネットが存在していないことをチェックするには、次の演算式:
W=〜T〜L〜B〜R|||‥‥(27)
の結果が空集合となっていることを確認すればよい。図17において、もし要素領域T〜Rのどれかに斜めに接続する配線ネット図形(例えばk)が存在していれば、上記演算によりその全てが抽出されることとなる。
【0054】
以下、上記のような演算結果、すなわち、チェック結果の出力方法について説明する。この表示/出力処理を司るのは、図3の表示制御プログラム76である。例えば図24(a)では、作図画面上において、メッキ線抜けとして抽出された配線ネット図形N6を、その色彩を他のもの異ならせることにより表示した例である。この場合、その配線ネット名を、別途チェック結果表示ウィンドウ45を設けてこれに表示させることも可能である。他方、図24(b)に示す例では、抽出された配線ネット図形N6の近傍に配線ネット名表示領域46を形成し、ここにその配線ネット名を表示させた例である。いずれの場合も、オペレータはこの結果を見て、直ちにメッキ線抜け状態を解消するための図面修正作業に入ることができる。また、図25に示すように、作図画面とは別に、チェック結果表示画面47を表示させ、ここにチェック結果たる配線ネット名を表示させるようにしてもよい。
【0055】
一方、対角接続状態のチェックにおいて、本来存在すべき対角接続ネット図形が検出されなかった場合は、対角接続ネット図形の存在が要求される要素領域(図26では領域B,R)を、例えば色彩等の変更により通知することができる。
【0056】
なお、要素領域は、図17のような通電接続領域以外にも、各種形態で設定することが可能である。図27においては、基板を製品として仕上げる際に、通電用メタライズ層が形成された縁部を切断することを前提として、基板の基準領域51をその切断後の外形線に対応するものとして設定し、その外側に切断前の外形線に対応する境界線51aを設定するとともに、基準領域51と境界線51aとの間に位置する領域を、要素領域Jとして設定している。また、境界線51aの外側には、さらに限界線51bが設定され、その限界線51bと境界線51aとの間に挟まれる領域のうち、通電接続領域T,L,B,Rを除いた領域を、要素領域Hとして設定している。なお、図27には、配線ネット図形a〜eが形成されているときの、いくつかの演算式の実行結果の例も合わせて示している。
【図面の簡単な説明】
【図1】電子回路基板の一例を示す部分斜視図。
【図2】本発明の電子回路基板設計用CADシステムの電気的構成を示すブロック図。
【図3】そのアプリケーションプログラム及びアプリケーションワークメモリの内容を示すマップ。
【図4】チェック言語システムプログラムの内容を示すマップ。
【図5】配線ネットデータ登録メモリの内容を示すマップ。
【図6】作図処理の流れを示すフローチャート。
【図7】要素領域設定/チェック処理の流れを示すフローチャート。
【図8】そのチェック処理の詳細を示すフローチャート。
【図9】ネット検索処理の流れを示すフローチャート。
【図10】本発明の電子回路基板設計用CADシステムにおける作図画面上での操作過程の説明図。
【図11】図10に続く説明図。
【図12】オブジェクト及びその図形データの概念図。
【図13】ビア図形とその図形データの概念図。
【図14】オブジェクトの重なり接続状態の説明図。
【図15】オブジェクトのビア接続状態の説明図。
【図16】演算式データ及びチェック種別選択ウィンドウの説明図。
【図17】配線ネット図形を要素とする集合変数の概念を説明する図。
【図18】演算子及びそれを用いた演算式の例を示す説明図。
【図19】チェック検索/判定メモリの内容を示す説明図。
【図20】斜め接続ネットの判定演算方法を示す説明図。
【図21】積演算の結合法則が成立することを示す説明図。
【図22】メッキ線抜けチェックの演算例を示す説明図。
【図23】対角接続チェックの演算例を示す説明図。
【図24】チェック結果のいくつかの出力例を示す説明図。
【図25】同じく別の出力例を示す説明図。
【図26】同じくさらに別の出力例を示す説明図。
【図27】要素領域の別の設定例を示す説明図。
【符号の説明】
1 電子回路基板設計用CADシステム
3 CPU(領域設定手段、配線パターン接続情報生成手段、要素領域設定手段、演算式読み出し手段、パターン集合生成手段、演算実行手段、演算式入力手段)
5 RAM(ネット特定情報記憶手段、ネット画像データ記憶手段、要素領域設定データ記憶手段、演算式記憶手段、演算プログラムモジュール記憶部、演算式登録部)
6 キーボード
7 マウス(配線パターン図形入力手段、演算式入力手段、演算式選択手段)
8 CD−ROMドライブ
10 ハードディスクドライブ(要素領域設定データ記憶手段、演算式記憶手段、演算プログラムモジュール記憶部、演算式登録部)
12 コンピュータ本体
13 モニタ(作図画面表示手段、配線パターン接続情報出力手段)
14 プリンタ(配線パターン接続情報出力手段)
20 CD−ROM(記録媒体)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a CAD system for designing an electronic circuit board and a recording medium storing a program used therefor.
[0002]
[Prior art]
Semiconductor chips such as ICs and microprocessors have been rapidly integrated in recent years, so that the number of terminals at the input / output section of the chip is also increasing significantly. As a result, the number of wiring parts in electronic circuit boards for connecting such chips has also increased rapidly, and a multilayer type in which a multilayer wiring part is formed through an insulating layer such as a polymer material or ceramic. The number of package substrates is increasing. Such an electronic circuit board has a conductive portion serving as a connection terminal, such as a pad (or land) for connecting to a chip and a pad for connecting itself to another wiring board such as a motherboard. It is usually formed by exposing many on the surface. For example, in the electronic circuit board B shown in FIG. 1, a wiring part 201 is formed in an insulating layer 200 made of resin or ceramic, and the terminal part of the wiring part 201 is bonded for connection to a terminal on the chip side. While the pad 203 is formed, the intermediate part of the wiring part 201 is connected to a pin pad 202 (for connecting the connection pin 206) formed on the back side of the substrate through a via 207.
[0003]
Recently, in order to efficiently design such an electronic circuit board, a so-called CAD (Computer Aided Designing) system using a computer drawing process has been used. This is done by opening a drawing screen on the display device and drawing a figure such as a wiring part, pad, or via for connecting between different wiring layers on the drawing screen using an input device such as a mouse. Is what you get.
[0004]
By the way, in the substrate as described above, the pads, lands, etc. are usually plated to ensure the connection. In order to perform such plating, generally, a plated wire portion 204 is formed in the wiring portion 201, and this is connected to a metallization layer 205 for energizing plating formed on the side surface of the substrate. A method of energizing through 201 is adopted. Therefore, it is important in design that the wiring portion connected to each pad or the like is such that the plated wire is surely connected to the metallized layer. For example, if a plated wire is missing from a certain wiring portion, it may lead to a defect such as a plating drop or uneven plating on a pad or the like to which the wiring portion is connected.
[0005]
And if the number of wiring parts built in one board increases and they are complicatedly crossed over multiple layers, one by one even during drawing of a design drawing using a CAD system It is very difficult to accurately grasp the formation state of the plated wire on the wiring portion, and the above-mentioned defect is inevitably generated due to oversight of the plated wire missing. In view of this, various inspection methods on CAD have been proposed, such as Japanese Patent Application Laid-Open No. 63-188267.
[0006]
[Problems to be solved by the invention]
Here, in an actual electronic circuit board, the shape, the formation position, or the number of formation of the energized metallized layer is often different depending on the type. This means that the setting contents (for example, the number of areas, positions, and shapes) of the connection determination target areas differ depending on the product type on the drawing screen. Also, the plating energization method may differ depending on the product type, which causes a difference in the determination condition of the connection state of the plated wire. However, the conventional inspection methods cannot change the inspection settings, or the setting changes are very troublesome, and cannot be flexibly handled according to the inspection purpose and the board type. There were many.
[0007]
The object of the present invention is to accurately grasp or check the continuity of the wiring part, such as the bonding between the plated wire and the side metallized layer, with simple processing, and according to the purpose of inspection and the difference in the substrate type. An object of the present invention is to provide an electronic circuit board design CAD system having a function capable of changing the setting contents flexibly and easily, and a recording medium storing a program used for the CAD system.
[0008]
[Means for solving the problems and actions / effects]
In the present invention, a plurality of wiring layers are laminated via an insulating layer, and a portion to be plated is formed on the surface of the substrate where a wiring portion formed in the wiring layer is electrically conductive. The present invention relates to a CAD system for designing an electronic circuit board in which a metallization layer for energization to be connected is formed on a side surface,
A wiring pattern figure input means for inputting a wiring pattern figure which is a figure of a wiring part or a plated part on a drawing screen;
Area setting for setting the reference area corresponding to the main surface outline of the board and the connection determination target area formed outside the reference area in a form including the energization connection area corresponding to the metallization layer for energization on the drawing screen Means,
Element region setting means for setting a plurality of element regions including one or a plurality of energized connection regions for the connection determination target region;
A pattern set variable setting means for setting a variable (hereinafter referred to as a pattern set variable) representing a set of wiring pattern figures connected to the element area corresponding to each element area;
Arithmetic expression storage means for storing an arithmetic expression described using the pattern set variable and one or more operators combined therewith;
An operation program module storage unit that stores an operation program module that is prepared for each operator and that executes a set operation content predefined for each operator;
An arithmetic expression reading means for reading the arithmetic expression from the arithmetic expression storage means;
The pattern set variable included in the read arithmetic expression is detected, and among the wiring pattern figures, the one connected to the element area corresponding to the pattern set variable is extracted to correspond to the pattern set variable. Pattern set generation means for generating a set of interconnected pattern figures,
According to the description content of the arithmetic expression, an arithmetic execution means for executing a set operation defined by each operator on a set of wiring pattern figures indicated by each pattern set variable using a corresponding arithmetic program module;
Wiring pattern connection information generating means for generating information related to the connection state between the wiring pattern figure and the energized connection region based on the calculation result;
Wiring pattern connection information output means for outputting the generated wiring pattern connection information; and
[0009]
In the CAD system, the connection determination target area is subdivided into a plurality of element areas including the energization connection area, and a set of wiring net figures connected to each element area that is a connection determination target is generated. A set operation according to a predetermined arithmetic expression is performed between the sets, and wiring net connection information is generated based on the calculation result. As a result, even when the discrimination conditions differ depending on the purpose of discrimination and the board type, it becomes possible to set the desired discrimination conditions accurately by using arithmetic expressions, and in response to various needs. it can.
[0010]
The recording medium of the present invention stores a program for causing a computer to function as each means constituting the CAD system of the present invention. Thus, the CAD system of the present invention can be easily realized by installing the program stored in the recording medium in the computer.
[0011]
Operators are registered as a sum operator for obtaining the union of two wiring pattern figures, a difference operator for obtaining a difference set, and a product operation operator for obtaining a common set. It is possible to include at least one of a negation operator for obtaining a negative set of a set of wiring pattern figures for a set of all wiring pattern figures. As a result, except for a special substrate, it is possible to cover most of the determination conditions required for the design regarding the connection state of the plated wires. This will be described in detail in the section of the embodiment of the invention. For example, as an arithmetic expression, pattern set variables corresponding to all the energized connection regions set are connected in series by a sum operation, and the result is a negative operation. If the contents to be applied are stored, it is possible to obtain information on the existence of a wiring pattern figure that is not connected to any energization connection region (that is, a wiring pattern figure from which a plated wire has been removed).
[0012]
In the above configuration, arithmetic expression input means for inputting an arithmetic expression can be provided. In this case, the arithmetic expression storage means can be provided with an arithmetic expression registration unit for registering and storing the input arithmetic expression. This is convenient because an arithmetic expression can be freely created and registered in order to set a discrimination condition according to the purpose. In this case, a plurality of arithmetic expressions can be stored in the arithmetic expression storage unit. An arithmetic expression selecting means for selecting an expected one from the stored arithmetic expressions is provided, and the arithmetic executing means can be configured to execute only an operation related to the selected arithmetic expression. . This is more convenient because a plurality of arithmetic expressions describing the contents of various discrimination conditions are prepared and can be freely selected and used according to the purpose.
[0013]
In the CAD system of the present invention,
A drawing layer setting means for setting a plurality of drawing layers corresponding to the wiring layers to be formed in the substrate on the drawing screen;
An object input means for inputting an object as a drawing unit of the wiring pattern figure to the drawing layer;
Via input means for inputting via shapes connecting wiring portions between different wiring layers to a drawing layer corresponding to those wiring layers;
Register multiple objects that are located in a connected state on the same drawing layer, or objects that are connected to each other via via graphics between different drawing layers, as an integrated wiring net figure Wiring net figure registration means;
Can be provided. In this case, the wiring pattern connection information generating means generates information related to the connection state between the wiring net graphic and the energized connection area based on the positional relationship between the registered wiring net graphic and the connection determination target area. Is done.
[0014]
In the above configuration, the wiring pattern figure is input in units of objects, and the objects are integrated by connecting the objects on the same layer or by connecting the objects between the i-layers via the vias. It is registered as a graphic, and it is determined whether or not the wiring net graphic is connected to a connection determination target region that is set including an energization connection region representing the energization metallization layer. That is, since the objects connected to each other, that is, the wiring net figure means a wiring net that is connected without disconnection, it is only necessary to determine the connection relationship between this and the current-carrying connection region representing the current-carrying metallization layer, for example. It is possible to easily and reliably check for missing plated wires.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to examples shown in the drawings.
FIG. 2 is a block diagram showing the overall configuration of an embodiment of a CAD system 1 for designing an electronic circuit board (hereinafter also simply referred to as a CAD system) according to the present invention. The CAD system 1 includes a computer main body 12 including an I / O port 2 and a CPU 3, a ROM 4 and a RAM 5 connected to the I / O port 2, and input means such as a keyboard 6 or a mouse 7 as a peripheral device, a CD-ROM drive. 8 or a floppy disk drive 9 or the like, a recording medium reading means, a hard disk drive (hereinafter referred to as HDD) 10, a monitor 13 connected via a monitor control unit 11, a printer 14, etc. Has been built.
[0016]
The CPU 3 is a main component of area setting means, wiring pattern connection information generation means, element area setting means, arithmetic expression reading means, pattern set generation means, calculation execution means, arithmetic expression input means, and the like. Also, drawing screen display means, wiring pattern graphic input means, wiring pattern connection information output means, element area setting data storage means, arithmetic expression storage means, arithmetic program module storage section, arithmetic expression input means, arithmetic expression registration section, arithmetic expression It also functions as a control entity such as selection means. The keyboard 6 or mouse 7 is the main part of the wiring pattern graphic input means, arithmetic expression input means, and arithmetic expression selection means. The HDD 10 and the RAM 5 constitute the main parts of an element area setting data storage unit, an arithmetic expression storage unit, an arithmetic program module storage unit, and an arithmetic expression registration unit. The monitor 13 functions as a drawing screen display means and a wiring pattern connection information output means. The printer 14 functions as a wiring pattern connection information output unit and the like in addition to a drawing output unit that prints out a design drawing of an electronic circuit board that has been drawn.
[0017]
The HDD 10 stores an operating system program (hereinafter referred to as OS) 61 and an application program (hereinafter referred to as application) 62. The application 62 is a basic program for realizing the functions of the CAD system 1 and operates on the OS 61. This is stored in a computer-readable state on the CD-ROM 20 or the like, for example, and is installed using, for example, a dedicated installer program. The HDD 10 stores a data file 63 of a created drawing. On the other hand, the work memory 51 of the OS 61 and the work memory 52 of the application are formed in the RAM 5.
[0018]
As shown in FIG. 3, the application program 62 includes a control program 71, a drawing tool program 72, a check language system program 73, arithmetic expression data 74, element area setting data 75, a display / output program 76, and the like. Among these, the control program 71 is a program for performing basic processing for causing a computer to function as the CAD system 1. The other programs complement the functions of the control program 71, and their roles will be described later. The ROM 4 stores various basic programs for hardware control of the computer system. When the application program 62 is started, the control program 71 is stored in the control program resident memory 52a formed in the application work memory 52, the drawing tool program 72 is stored in the drawing tool resident memory 52b, and the check language system program 73 is stored in the same manner. In the check language system resident memory 52c, the display / output program 76 is also loaded into the display / output program resident memory 52d. These resident memories function as work areas for the corresponding programs. The arithmetic expression data 74 is loaded into the arithmetic expression memory 52e.
[0019]
The application work memory 52 is provided with a drawing data memory 52f for storing drawing data, which is image data of the drawing being drawn, and element region setting data 75 for drawing an element region to be described later. Is loaded into the element area setting data memory 52g. Further, a wiring net data registration memory 52 i is formed in the RAM 5. FIG. 5 shows the contents, details of which will be described later.
[0020]
As shown in FIG. 4, the check language system program 73 includes a sum operation module 73a, a difference operation module 73b, a product operation module 73c, a negative operation module 73d, and an oblique connection net detection module 73e.
[0021]
Hereinafter, the operation of the CAD system 1 will be described in detail.
When the application program 62 of FIG. 3 is activated, the control program 71 displays the drawing screen 40 on the monitor 13 (FIG. 2) as shown in FIG. The application program 62 of the present embodiment is constructed as a draw-type graphic software in the same manner as a known CAD system, and a wiring pattern that is a figure of a wiring part or a plated part by operating the mouse 7 on the drawing screen 40. The drawing work is advanced while inputting figures in units of objects. In this embodiment, when the drawing screen 40 for a new drawing is launched, the outline of the main surface of the board to be designed / drawn is displayed in the drawing screen 40 based on display data separately stored in the HDD 10 or the like. Corresponding quadrilateral reference areas 51, and as a default object graphic, a figure of a portion to be plated formed on the substrate surface, for example, a specific pin pad graphic 53 and a bonding pad graphic 55 are displayed. . In this case, a default object data storage unit that stores default object data in association with the product number is provided in the HDD 10, for example, and the product number is input by the keyboard 6 (or by clicking a soft button on the screen with the mouse 7). It is convenient if the default object data to be read is read and displayed on the drawing screen.
[0022]
Here, the substrate to be designed is a package substrate or the like in which a plurality of wiring layers are stacked via an insulating layer. Then, a plurality of drawing layers corresponding to the wiring layer to be formed are set on the drawing screen 40 by the operation of the control program 71. These drawing layers (hereinafter, also simply referred to as layers) cannot be visually discriminated because they overlap in FIG. In addition, the figure written in each layer is overlaid on the drawing screen 40, but other figures can be displayed by displaying only the figure on a specific layer or changing the color, brightness, shading, fill pattern, etc. The display state can be different from the figure on the layer.
[0023]
FIG. 6 is a flowchart showing the flow of the drawing process. First, in S1, a layer to which an object is to be written is selected. This layer selection can be performed, for example, by clicking a soft button (not shown) for layer selection displayed on the screen with the mouse 7 (FIG. 2). The figure that can be input is the above-described object and the via figure for connecting the objects between different layers. In S2 and S8, which one is selected is determined by command input. This command input can also be performed by a mouse click of a soft button (not shown) for selecting object input or via input.
[0024]
If the object input is selected, the process proceeds from S2 to S3 to perform object drawing. When drawing an object, a drawing tool program 72 (FIG. 3) is prepared for each type of object to be drawn, such as wiring drawing and pad drawing, as in the known CAD system software. A drawing tool can also be selected by a mouse click of a drawing tool selection button (not shown) formed as a soft button on the screen. When the desired drawing tool is selected, as shown in FIG. 10B, the pointer P indicating the drawing position is moved by the mouse operation, and the mouse is clicked or dragged (the mouse is moved while the mouse button is held down). ) Draw an object while combining operations such as. The figure shows a state in which the figure of the wiring portion connecting the figure 53 of each pin pad and the figure of the bonding pad 55 has been drawn as an object.
[0025]
As shown in FIG. 12B, each time an object is drawn, the object description data, which is graphic data, is associated with object specifying data (for example, object code) and layer specifying data (for example, layer number). In this manner, it is stored in the drawing data memory 52g of FIG. The object description data is vector data for defining the shape, size, and drawing position of the objects OB11, OB12, OB13 and the like on a coordinate plane set on the screen 40 as shown in FIG. It is expressed as a set of functional formula data or coordinates of specific reference points and dimension defining data such as radius and length. For example, the object OB11 circulates in a predetermined direction (for example, clockwise) starting from the reference point A11 (x0, y0), while A11 (x1, y1), A11 (x2, y2), A11 (x3, y3) , A11 (x0, y0) are represented as a data set of coordinates of the end point position of each vector when the outline of the object is drawn by connecting the vectors in the order. The same applies to the object OB12. A circular object OB13 representing a pad or the like is represented as a data set of its center coordinates C13 and radius r13. Further, although not shown, for example, a figure of a wiring portion having a constant width can be expressed as a data set of coordinates of the starting point position and the ending point position and a line width. In FIG. 12, all three objects OB11, OB12, and OB13 are drawn on the same layer (No. 1).
[0026]
On the other hand, when the via input is selected in FIG. 6, the process proceeds to S9 and the via input process is performed. As shown in FIG. 13A, the via V connects the wiring portions W1 and W2 of different wiring layers. In this embodiment, the input of the figure of the via V is, for example, a pointer on the screen. Can be positioned at a position where vias are to be input, and a layer that is the end point as well as a layer that is the starting point of the via can be designated. Then, as shown in FIG. 13B, the via graphic data is associated with via specifying data (for example, via code) as a set of via position data and layer specifying information of a layer serving as a via start point and end point. And stored in the drawing data memory 52f.
[0027]
Returning to FIG. 6, when the object is drawn, the process proceeds to S4, and as shown in FIG. 14A, the input partially overlaps (that is, is connected) with the input object OB12 in the same layer. It is determined whether or not the completed object OB11 exists. If it is No, it will progress to S5 further, and as shown in FIG. 15, it will be determined whether it is not connected to another object OB31 by the connection between different layers via via VA11. If this is also No, the object OB12 is set as a wiring net figure, for example, only the object specifying information is written in the wiring net data registration memory 52i of FIG. Register this.
[0028]
Further, in the case of Yes in S4 or S5 of FIG. 6, the process proceeds to S7, and the process of incorporating into the registered wiring net figure to which the object as the connection destination of the object belongs, that is, the object specifying data of the newly drawn object is A process of adding to the corresponding net data in the wiring net data registration memory 52i is performed. In the case of connection by via, the via specifying data is also added to the net specifying information. Thus, as shown in FIG. 5, in the wiring net data registration memory 52i, each net specifying information net1, net2,..., And object specifying data OB11, OB12,. Net data in which VA11, VA12,... Are associated with each other are stored.
[0029]
On the other hand, as shown in FIG. 14B, when objects that overlap between different layers occur, the object specifying data is not added to the overlapping net data. However, in S10 of FIG. 6, when a wiring net figure connected to each other by a newly input via graphic is generated, the process proceeds to S11, and the net data of those wiring net figures are merged. Is re-registered as net data of one wiring net figure. In this case, the net specific information may be left as one corresponding to one of the wiring net figures before integration, and the other may be deleted and treated as a missing number. You may make it provide net specific information.
[0030]
When the drawing operation is completed after repeating the drawing input of the object or via as described above, the process proceeds from S12 to S13, and the graphic data stored in the drawing data memory 52g, that is, the drawing data, A file name is given together with the net data in the wiring net data registration memory 52i, and the file name is written and saved in the drawing data file 63 of the HDD 10 (FIG. 2). In the example shown in FIG. 11, for convenience, 13 wiring net figures N1 to N13 are formed in the created drawing.
[0031]
The created drawing can be printed out from the printer 14 based on the drawing data.
[0032]
Next, FIG. 7 is a flowchart showing a flow of element area setting and check processing. First, in S101, an element area is set on the drawing screen. The setting of the element area may be performed in the middle of drawing or after the drawing is completed. In FIG. 11, four rectangles representing the metallization layer for energization on the side surface of the substrate corresponding to each side of the reference region 51 representing the outline of the main surface of the substrate are imitated in a manner in which the design target substrate is expanded and displayed. The current-carrying connection areas T, L, B, and R are set as element areas, and graphics representing these areas are displayed on the screen. The setting of the element area may be performed using standard element area setting data prepared in advance (for example, the data included in the application program 62 as shown in FIG. 3) or drawn by the operator. You may make it draw on a screen using a tool. In either case, the element area setting data can be described in the same format as the graphic data of the object. The element area setting data forms part of the drawing data, and as shown in FIG. 3, an element area name (element area specifying data) is stored in the element area setting data memory 52g formed in the drawing data memory 52f. Are stored in a form associated with.
[0033]
In FIG. 7, the process proceeds to S102, and the type of check to be performed is selected. This can be done, for example, by opening a check type selection window 41 as shown in FIG. The window 41 is formed with check names that can be executed, an arithmetic expression that gives the contents of the check, and a check selection button 42 for selecting whether or not to execute the check. Correspondingly, arithmetic expression data 74 is stored in the storage area of the application 62 of the HDD 10 as shown in FIG. 3, and is loaded into the arithmetic expression memory 52e of the work memory 52 of the RAM. It has become. As shown in FIG. 16A, the arithmetic expression data 74 is stored in such a manner that each arithmetic expression is associated with a check name (arithmetic expression specifying data), and an execution flag is attached to each arithmetic expression data 74. The check selection button 42 in the window 41 is turned on / off by a mouse click, and accordingly, the corresponding execution flag is turned on / off (for example, “1” is on and “0” is on). Off) is switched. Only the arithmetic expression whose execution flag is on is executed (FIG. 7: S103).
[0034]
For example, as shown in FIG. 11, for example, a check execution button 43 is formed in the drawing screen 40 so that the check can be executed when the mouse is clicked so that the check can be immediately started from the drawing work. It is convenient to leave. Thus, the process proceeds from S104 to S105 in FIG. If it is desired to change the contents of the check, the process returns from S104 to S102 through S108, and the check type is selected again.
[0035]
FIG. 8 is a flowchart showing details of the check process. Hereinafter, an outline of the principle of a check method using an arithmetic expression will be described. FIG. 17 is a somewhat simplified example of a drawing drawn on the drawing screen. Four element regions (energization connection regions) T, L, B, and R are in contact with each side of the reference region 51. Is formed. Also, it is assumed that seven conveniences a to g are registered for the wiring net figure. Whether or not these wiring net figures are connected to a certain element area is determined by considering each element area as an object by the same method as that for determining the connection between objects in the drawing process (FIG. 6). be able to. When a certain element area is designated, a set of connection nets to the element area can be obtained by searching all the wiring net figures connected to the element area based on the determination process. This search is performed using the check search / determination memory 52h of FIG. If a connection destination element area name (element area specifying information) is associated with a set of wiring net figures obtained in this way, it can be considered that the element area name represents one set variable. Hereinafter, this is called a net set variable.
[0036]
In the case of FIG. 17, the following four collective variables can be defined corresponding to each element region T, L, B, R.
T = {b, a}, L = {a, f}, B = {e, d}, R = {d, c} (1)
In addition, the wiring net figure that is not connected to any of the set element regions is g, and a set of all registered wiring net figures, that is, a mother set G can be considered, which is expressed as follows. (However, G does not represent a specific element region).
G = {a, b, c, d, e, f, g} (2)
As can be seen from this, the wiring net figure g represents a wiring net that does not conduct to any energizing metallization layer, that is, a wiring net with no plated wire, and in the drawing, the element regions T, L, B , R can be regarded as a wiring net figure that is not connected to any of R and R. When this set of nets with missing plated wires is Z, this can be expressed as follows using the symbol of a general set algebra (however, “′” is a complementary set ( Negation operator).
Z = (T∪L∪B∪R) '(3)
Further, for example, a difference operation for obtaining a difference set between the set A and the set B is defined as follows (however, if the same result is obtained, the content of the operation is not limited to this). .
A-B≡ (A∪B) ∩B '(4)
[0037]
Based on the above, the meaning and description method of the arithmetic expression used in this embodiment will be described. First, this arithmetic expression is an arithmetic expression of a set algebra applied between the net set variables as described above (the set element uses wiring net figure specifying information for processing). In this embodiment, an operation in a general set algebra is described by the following inverse Polish notation, that is, a notation in which an operator is placed after the operation number.
A∪B⇔AB | (∪⇔ |) (5)
A∩B⇔AB & (∩⇔ &) …… (6)
A-B ^ AB ^ (-⇔ ^) (7)
A'⇔A! ('⇔!) (8)
[0038]
In addition, in the set algebra, the combination rule is established for the sum operation and the product operation, but in this notation, it can be expressed as follows.
(A∪B) ∪C = A∪ (B∪C) ⇔AB | C | = ABC || (9)
(A ∩ B) ∩ C = A ∩ (B ∩ C) ⇔ AB & C & = ABC && (10)
Using this, for example, it can be seen that the same result can be obtained even if expression (3) is expressed by any of the following.
Z = TL | B | R |! (11)
Z = TLB | R ||! (12)
Z = TLBR |||! ‥‥(13)
[0039]
Next, a program for reading the stored arithmetic expression, analyzing the contents, and executing the arithmetic operation is a check language system program 73 shown in FIG. The program 73 includes program modules 73a to 73d for performing a sum operation, a product operation, a difference operation, and a negation operation of the set when the set of wiring net figure specifying information is given. Further, a module 73e for detecting an oblique connection net described later is also provided. It also controls the input of arithmetic expressions. An arithmetic expression can be input using, for example, the keyboard 6 (FIG. 2) or the like and stored as arithmetic expression data 74 (FIG. 3).
[0040]
As the arithmetic expression execution processing by the check language system program 73, for example, the following method can be adopted. First, a memory area having a structure as shown in FIG. 19 is set in the check search / determination memory 52h (FIG. 3). This includes a plurality of input memories IM1, IM2, IM3,..., An operation result memory RM1 for storing operation results, and an operator memory OM for storing operators. Hereinafter, the flow of processing will be described with reference to the flowchart of FIG.
[0041]
First, in S201, an arithmetic expression designated for execution is read. An arithmetic expression is described by a net set variable and an operator. Hereinafter, these are collectively referred to as a syntax element. First, since the reverse Polish notation described above is used for the arithmetic expression, the syntax element at the head is always a net set variable (that is, an element region name). In S202, this is first read out, and the process proceeds to a process of searching for a net connected to the element area specified by the element area name (net search process) (S203).
[0042]
FIG. 9 shows details of the net search process. First, an element area corresponding to the element area name read in S301 is designated, and then it is checked whether there is an object connected to the element area (S305). If there is an object to be connected, all the net specifying information of the wiring net figure to which the object belongs is extracted (S306), and the first one (in this case, IM1) with respect to the input memories IM1, IM2, IM3,. Store. That is, what is stored in the input memory IM1 is a set of net specifying information belonging to the net set variable indicated by the element region name.
[0043]
On the other hand, in the arithmetic expression, an auxiliary operator for detecting an oblique connection net (hereinafter referred to as an oblique connection operator) can be attached to the net set variable. This diagonal connection operator is represented by “˜” in the notation of this embodiment, and is placed before the target operator. For example, a set of wiring net figures obliquely connected to the element area A is represented by “˜A”. If this diagonal connection operator is detected in S304, the process proceeds to S307, where it is checked whether there is an object such as a wiring connected diagonally in the corresponding element area. Extract the net identification information of the wiring net figure to which it belongs. For example, as shown in FIG. 20, in the case of the wiring part object specified by designating the starting point K1, the ending point, and K2, it is parallel to the corresponding edge (in this case, the side part) of the reference area 51 to the element area. The set reference vector B0B1 is set, the scalar product of the vector K1K2 and the reference vector B0B1 is calculated, and if the result is zero (or within a certain numerical range centered on zero), normal connection is established. Otherwise, it is determined that the connection is diagonal.
[0044]
Returning to FIG. 8, the process proceeds to S204. If the next syntax element is a net set variable, the process proceeds to S206, where the variable is read and the same net search process is performed (S206, S207). The generated set of net specific information is stored in the left-justified form following the input memory IM1, IM2, IM3,... If there is a memory in which the set (or operator) is stored first. . On the other hand, if the read syntax element is neither a net set variable nor an operator (for example, if it is an undefined code), the process proceeds to S211 and an error is notified.
[0045]
If the read syntax element is an operator, it is stored in the operator memory OM (FIG. 19), and the process proceeds to S212. If the operator is a binary operator such as sum (|), difference (^) or product (&), it is stored in the last two of input memory IM1, IM2, IM3,. The set operation of the contents indicated by the stored operator is performed on the set of net specific information, and the result set is stored in the operation result memory RM1 (S212). On the other hand, if the operator is a unary operator such as negation (!), The stored operation is performed on the set of net specific information stored in the last one of the input memories IM1, IM2, IM3,. A set operation of the contents indicated by the child is performed, and the set of results is stored in the operation result memory RM1 (S212). In any case, when the calculation is completed, the set of calculated net specifying information is cleared from the input memory, and instead, the set of calculation results is written in a left-justified manner (S213).
[0046]
If the next syntax element remains in S208, the process returns to S204, and the same processing is repeated until the processing for all the syntax elements is completed. At the stage where processing for all the syntax elements has been completed (S209), if an uncalculated set (variable) remains in the input memory, it means that the calculation has not been performed correctly, and the process proceeds to S211. An error notification is made at. On the other hand, if an uncalculated set (variable) does not remain, a set indicating the final calculation result should be stored in the calculation result memory RM1, and this is output as a check result (S210).
[0047]
Arithmetic expressions written in reverse Polish notation are not limited to parentheses as in normal algebraic notation, so the order of operations is determined only by the position of the operator. It is possible to process sequentially from the top. As a result, the structure of the arithmetic memory is simplified and the processing speed is improved. FIG. 21 is a calculation example of AB & C & and ABC && when A = {a, b, c}, B = {b, c, d}, and C = {c, d, e}. In the case of AB & C &, first, as shown in (a), A and B are stored in IM1 and IM2, the first & is stored in OM, AB & is calculated, and the calculation result {b, c} (= R) Is stored in RM1. Next, as shown in (b), IM1 and IM2 are cleared, and the operation result R = {b, c} is stored in IM1. Then, C is stored in IM2, the second & is stored in OM, and RC & is calculated. The result is {c}.
[0048]
On the other hand, in the case of ABC &&, as shown in (c), A, B, and C are stored in IM1, IM2, and IM3, and the first & is stored in OM. In this case, the & operation on the last two variables, that is, the BC & operation is performed first, and the operation result {c, d} (= R) is stored in RM1. Next, as shown in (b), the calculated IM2 and IM3 are cleared, and the calculation result R = {c, d} has an uncalculated A remaining in IM1. Stored. Then, the second & is stored in the OM, and the calculation of AR & is performed. The result is the same {c} as before. That is, it can be seen that AB & C & = ABC &&, and that an operation in accordance with the coupling rule is possible.
[0049]
FIG. 22 shows the contents of the arithmetic processing in the case where the arithmetic expression represented by (13) (Z = TLBR |||!) Is executed in order to check for missing plated wires in the drawing of FIG. Show. According to this, the calculation is performed in the following order.
U1 = BR | = {c, d, e} (14)
U2 = LU1 | = {a, c, d, e, f} (15)
U3 = TU2 | = {a, b, c, d, e, f} (16)
Z = U3! = {G} (17)
(Note that the mother collection is G = {a, b, c, d, e, f, g})
It turns out that the correct result is obtained.
[0050]
Next, one energizing metallized layer pair is insulated from the other pair, and the energizing metallized layers belonging to the same pair are electrically connected by a wiring net across them, that is, diagonally. Whether or not the connection state is realized can be easily checked by combining several arithmetic expressions as described above. For example, in FIG.
(1) A pair of energized connection areas T, L (first connection area pair) and B, R (second connection area pair) each span a wiring net figure (in the former case, a (first diagonal connection net figure) ), The latter is connected by d (second diagonal connection net figure)),
(2) L, B and R, T are not connected (that is, there is no complementary diagonal connection net),
Think about the case.
[0051]
First, check (1)
Q1 = BL | TR | & …… (17)
It can be performed by the following calculation. FIG. 23 shows an example of the calculation.
According to this, the calculation is performed in the following order.
V1 = BL | = {a, d, e, f} (18)
V2 = RT | = {a, b, c, d} (19)
Q = V1V2 & = {a, d} (20)
That is, it can be seen that a correct result is obtained. In order to check (2), it is necessary to individually indicate that L, B and R, T do not have a complementary diagonal connection net. Therefore, another two arithmetic expressions:
Q2 = BL & ... (21)
Q3 = TR & …… (22)
It is sufficient to check that all of the results are empty sets.
[0052]
In addition, in the case of FIG. 17, it is determined whether or not a state in which the metallization layers for energization between all adjacent sides are electrically connected to each other by the wiring nets extending over them, that is, a four-side connection state). Is the following four arithmetic expressions:
P1 = TL & ... (23)
P2 = LB & ... (24)
P3 = BR & ... (25)
P4 = RT & …… (26)
It is sufficient to confirm that the results of are not empty sets. For example, in FIG. 17, when new wiring net figures h and i are considered, it is normal if the results of the above four formulas are {a}, {i}, {d}, and {h}, respectively. If any one becomes an empty set, it becomes abnormal. This arithmetic expression can also be used for checking the diagonal connection state. That is, when FIG. 17 is considered again in a state where the wiring net figures h and i do not exist, it is normal if the results of the above four formulas are {a}, {}, {d}, and {}, respectively. It is.
[0053]
You can also check that the diagonal connection net does not exist by using the following formula:
W = ~ T ~ L ~ B ~ R ||| (27)
It is sufficient to confirm that the result of is an empty set. In FIG. 17, if there is a wiring net figure (for example, k) that is obliquely connected to any one of the element regions T to R, all of them are extracted by the above calculation.
[0054]
Hereinafter, a method for outputting the above calculation result, that is, the check result will be described. The display control program 76 shown in FIG. 3 controls this display / output processing. For example, FIG. 24A shows an example in which a wiring net figure N6 extracted as a missing plating line is displayed on the drawing screen by changing its color. In this case, the wiring net name can be displayed on a separate check result display window 45. On the other hand, in the example shown in FIG. 24B, a wiring net name display area 46 is formed in the vicinity of the extracted wiring net figure N6, and the wiring net name is displayed here. In either case, the operator can see the result and immediately enter a drawing correction operation for eliminating the plated wire missing state. In addition, as shown in FIG. 25, a check result display screen 47 may be displayed separately from the drawing screen, and a wiring net name as a check result may be displayed here.
[0055]
On the other hand, when the diagonal connection net figure that should originally exist is not detected in the check of the diagonal connection state, element regions (areas B and R in FIG. 26) that require the existence of the diagonal connection net graphic are selected. For example, notification can be made by changing the color or the like.
[0056]
The element region can be set in various forms other than the energization connection region as shown in FIG. In FIG. 27, when finishing the substrate as a product, the reference region 51 of the substrate is set to correspond to the cut outline, on the premise that the edge portion where the metallization layer for energization is formed is cut. In addition, a boundary line 51a corresponding to the outline before cutting is set outside thereof, and an area located between the reference area 51 and the boundary line 51a is set as an element area J. Further, a limit line 51b is set outside the boundary line 51a, and a region excluding the energization connection regions T, L, B, and R among regions sandwiched between the limit line 51b and the boundary line 51a. Is set as the element region H. FIG. 27 also shows examples of execution results of some arithmetic expressions when the wiring net figures a to e are formed.
[Brief description of the drawings]
FIG. 1 is a partial perspective view showing an example of an electronic circuit board.
FIG. 2 is a block diagram showing an electrical configuration of a CAD system for designing an electronic circuit board according to the present invention.
FIG. 3 is a map showing the contents of the application program and application work memory.
FIG. 4 is a map showing the contents of a check language system program.
FIG. 5 is a map showing the contents of a wiring net data registration memory.
FIG. 6 is a flowchart showing a flow of drawing processing.
FIG. 7 is a flowchart showing a flow of element region setting / checking processing.
FIG. 8 is a flowchart showing details of the check processing.
FIG. 9 is a flowchart showing a flow of net search processing.
FIG. 10 is an explanatory diagram of an operation process on a drawing screen in a CAD system for designing an electronic circuit board according to the present invention.
FIG. 11 is an explanatory diagram following FIG. 10;
FIG. 12 is a conceptual diagram of an object and its graphic data.
FIG. 13 is a conceptual diagram of a via graphic and its graphic data.
FIG. 14 is an explanatory diagram of an overlapping connection state of objects.
FIG. 15 is an explanatory diagram of a via connection state of an object.
FIG. 16 is an explanatory diagram of calculation formula data and a check type selection window.
FIG. 17 is a diagram for explaining the concept of an aggregate variable whose elements are wiring net figures.
FIG. 18 is an explanatory diagram illustrating an example of an operator and an arithmetic expression using the operator.
FIG. 19 is an explanatory diagram showing the contents of a check search / determination memory.
FIG. 20 is an explanatory diagram illustrating a determination calculation method for an oblique connection net.
FIG. 21 is an explanatory diagram showing that a combination rule of product operation is established.
FIG. 22 is an explanatory diagram showing a calculation example of plating wire missing check.
FIG. 23 is an explanatory diagram showing a calculation example of diagonal connection check.
FIG. 24 is an explanatory diagram illustrating some output examples of check results.
FIG. 25 is an explanatory view showing another output example.
FIG. 26 is an explanatory view showing still another output example.
FIG. 27 is an explanatory diagram showing another setting example of an element region.
[Explanation of symbols]
1 CAD system for electronic circuit board design
3 CPU (area setting means, wiring pattern connection information generation means, element area setting means, arithmetic expression reading means, pattern set generation means, arithmetic execution means, arithmetic expression input means)
5 RAM (net specific information storage means, net image data storage means, element area setting data storage means, arithmetic expression storage means, arithmetic program module storage part, arithmetic expression registration part)
6 Keyboard
7 Mouse (wiring pattern graphic input means, arithmetic expression input means, arithmetic expression selection means)
8 CD-ROM drive
10 Hard disk drive (element area setting data storage means, arithmetic expression storage means, arithmetic program module storage section, arithmetic expression registration section)
12 Computer body
13 Monitor (drawing screen display means, wiring pattern connection information output means)
14 Printer (wiring pattern connection information output means)
20 CD-ROM (recording medium)

Claims (6)

複数の配線層が絶縁層を介して積層されるとともに、その配線層に作り込まれた配線部が導通する被メッキ部位が基板表面に露出して形成される一方、該配線部が接続する通電用メタライズ層が側面に形成された電子回路基板を設計するためのCADシステムであって、
配線部や被メッキ部位の図形である配線パターン図形を作図画面上にて入力する配線パターン図形入力手段と、
前記基板の主面外形に対応する基準領域と、前記通電用メタライズ層に対応する通電接続領域を含んだ形で前記基準領域の外側に形成される接続判定対象領域とを前記作図画面に対して設定する領域設定手段と、
前記接続判定対象領域に対し、1又は複数の前記通電接続領域を含む複数の要素領域を設定する要素領域設定手段と、
前記各要素領域に対応して、その要素領域に接続する配線パターン図形の集合を表す変数(以下、パターン集合変数という)を設定するパターン集合変数設定手段と、
該パターン集合変数と、これに組み合わされる1種又は2種以上の演算子とを用いて記述された演算式を記憶する演算式記憶手段と、
前記各演算子に対応して用意され、それぞれその演算子に対して予め定義された集合演算内容を実行させるための演算プログラムモジュールを記憶した演算プログラムモジュール記憶部と、
前記演算式を前記演算式記憶手段から読み出す演算式読み出し手段と、
その読み出された演算式に含まれるパターン集合変数を検出するとともに、前記配線パターン図形のうち、そのパターン集合変数に対応する要素領域に接続しているものを抽出して、当該パターン集合変数に対応した配線パターン図形の集合を生成するパターン集合生成手段と、
前記演算式の記述内容に従い、各パターン集合変数が示す配線パターン図形の集合に対して、前記各演算子が規定する集合演算を、対応する演算プログラムモジュールを用いて実行する演算実行手段と、
その演算結果に基づいて、該配線パターン図形と通電接続領域との接続状態に関する情報を生成する配線パターン接続情報生成手段と、
生成された配線パターン接続情報を出力する配線パターン接続情報出力手段と、
を備えたことを特徴とする電子回路基板設計用CADシステム。
A plurality of wiring layers are stacked via an insulating layer, and a portion to be plated is formed on the surface of the substrate where the wiring portion formed in the wiring layer is electrically connected. A CAD system for designing an electronic circuit board having a metallized layer for a side surface,
A wiring pattern figure input means for inputting a wiring pattern figure which is a figure of a wiring part or a plated part on a drawing screen;
A reference area corresponding to the main surface outline of the substrate and a connection determination target area formed outside the reference area in a form including an energization connection area corresponding to the metallization layer for energization with respect to the drawing screen Area setting means to be set;
Element region setting means for setting a plurality of element regions including one or a plurality of the energized connection regions with respect to the connection determination target region;
Corresponding to each element area, pattern set variable setting means for setting a variable representing a set of wiring pattern figures connected to the element area (hereinafter referred to as a pattern set variable);
Arithmetic expression storage means for storing an arithmetic expression described using the pattern set variable and one or more operators combined therewith;
An operation program module storage unit that stores an operation program module that is prepared corresponding to each of the operators and that executes a set operation content defined in advance for each operator;
Arithmetic expression reading means for reading the arithmetic expression from the arithmetic expression storage means;
A pattern set variable included in the read arithmetic expression is detected, and among the wiring pattern figures, one connected to an element region corresponding to the pattern set variable is extracted, and the pattern set variable is extracted. Pattern set generation means for generating a set of corresponding wiring pattern figures;
In accordance with the description content of the arithmetic expression, an arithmetic execution means for executing a set operation defined by each operator on a set of wiring pattern graphics indicated by each pattern set variable using a corresponding arithmetic program module;
Wiring pattern connection information generating means for generating information related to the connection state between the wiring pattern figure and the energized connection region based on the calculation result;
Wiring pattern connection information output means for outputting the generated wiring pattern connection information;
A CAD system for designing an electronic circuit board, comprising:
前記演算子は、2つの配線パターン図形の集合の和集合を求める和演算の演算子と、同じく差集合を求める差演算の演算子と、同じく共通集合を求める積演算の演算子と、登録された全ての配線パターン図形からなる母集合に対し、ある配線パターン図形の集合の否定集合を求める否定演算の演算子と、の少なくともいずれかを含む請求項1記載の電子回路基板設計用CADシステム。The operators are registered as a sum operator for obtaining a union of a set of two wiring pattern figures, a difference operator for obtaining a difference set, and a product operator for obtaining a common set. 2. The CAD system for designing an electronic circuit board according to claim 1, comprising at least one of a negation operator that obtains a negative set of a set of wiring pattern figures for a set of all wiring pattern figures. 前記演算式を入力する演算式入力手段が設けられ、
前記演算式記憶手段は、その入力された演算式を登録・記憶する演算式登録部を備える請求項1又は2に記載の電子回路基板設計用CADシステム。
An arithmetic expression input means for inputting the arithmetic expression is provided,
The CAD system for designing an electronic circuit board according to claim 1, wherein the arithmetic expression storage unit includes an arithmetic expression registration unit that registers and stores the input arithmetic expression.
前記演算式は、前記演算式記憶部に対して複数記憶可能となっており、
それら記憶された演算式から所期のものを選択する演算式選択手段が設けられ、
前記演算実行手段は、その選択された演算式に係る演算のみを実行するものである請求項1ないし3のいずれかに記載の電子回路基板設計用CADシステム。
A plurality of the arithmetic expressions can be stored in the arithmetic expression storage unit,
Arithmetic expression selecting means for selecting an expected one from the stored arithmetic expressions is provided,
The CAD system for designing an electronic circuit board according to any one of claims 1 to 3, wherein the calculation execution unit executes only a calculation related to the selected calculation formula.
前記配線パターン接続情報生成手段は、
前記演算式記憶部に前記演算式として、設定された全ての通電接続領域に対応するパターン集合変数を和演算により直列に結び付け、その結果に否定演算を施す内容のものが記憶されており、
前記演算実行手段の該演算式に基づく演算結果に基づいて、いずれの通電接続領域にも接続していない配線パターン図形の存在に関する情報を前記配線パターン接続情報として生成するものである請求項1ないし4のいずれかに記載の電子回路基板設計用CADシステム。
The wiring pattern connection information generating means
The arithmetic expression storage unit stores, as the arithmetic expression, a pattern set variable corresponding to all the energized connection areas set in series by a sum operation, and the result of performing a negative operation on the result is stored.
The information on the presence of a wiring pattern figure not connected to any energization connection region is generated as the wiring pattern connection information based on a calculation result based on the calculation formula of the calculation execution means. 5. A CAD system for designing an electronic circuit board according to any one of 4 above.
請求項1ないし5のいずれかに記載の電子回路基板設計用CADシステムを構成する各手段としてコンピュータを機能させるためのプログラムをコンピュータ読み取り可能な状態で記憶したことを特徴とする記録媒体。6. A recording medium storing a computer-readable program for causing a computer to function as each means constituting the CAD system for designing an electronic circuit board according to claim 1.
JP08250799A 1999-03-25 1999-03-25 CAD system for electronic circuit board design and recording medium storing program used therefor Expired - Lifetime JP3763695B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08250799A JP3763695B2 (en) 1999-03-25 1999-03-25 CAD system for electronic circuit board design and recording medium storing program used therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08250799A JP3763695B2 (en) 1999-03-25 1999-03-25 CAD system for electronic circuit board design and recording medium storing program used therefor

Publications (2)

Publication Number Publication Date
JP2000276506A JP2000276506A (en) 2000-10-06
JP3763695B2 true JP3763695B2 (en) 2006-04-05

Family

ID=13776434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08250799A Expired - Lifetime JP3763695B2 (en) 1999-03-25 1999-03-25 CAD system for electronic circuit board design and recording medium storing program used therefor

Country Status (1)

Country Link
JP (1) JP3763695B2 (en)

Also Published As

Publication number Publication date
JP2000276506A (en) 2000-10-06

Similar Documents

Publication Publication Date Title
US6889370B1 (en) Method and apparatus for selecting and aligning cells using a placement tool
JP4000198B2 (en) Interactive circuit design equipment
US5910899A (en) Method for performing floorplan timing analysis using multi-dimensional feedback in a spreadsheet with computed hyperlinks to physical layout graphics and integrated circuit made using same
US20080276213A1 (en) Method of shield line placement for semiconductor integrated circuit, design apparatus for semiconductor integrated circuit, and design program for semiconductor integrated circuit
JP5731837B2 (en) Design support apparatus and information processing method thereof
US7073142B2 (en) Wiring diagram verifying method, program, and apparatus
US5903472A (en) Method for performing floorplan timing analysis by selectively displaying signal paths based on slack time calculations and integrated circuit made using same
JP4528134B2 (en) Integrated circuit diagnostic method and program thereof
JP3763695B2 (en) CAD system for electronic circuit board design and recording medium storing program used therefor
CN108140059A (en) For the visualization of the analytic process parameter of the inspection based on layout
JP3769141B2 (en) CAD system for electronic circuit board design and recording medium storing program used therefor
JP2003167935A (en) Wiring passage determining device, group determining device, wiring passage determining program and group determining program
US6289493B1 (en) Layout editor and its text generating method
JP6349871B2 (en) Substrate design support program, substrate design support method, and substrate design support apparatus
JP2941033B2 (en) Circuit information display device
JP2001223273A (en) Method and apparatus for forming wiring pattern of semiconductor integrated circuit, recording medium and semiconductor integrated circuit device
JPH07192038A (en) Graphic display device for instruction and redivision of route of circuit in layout
US20060076547A1 (en) Three-dimensional viewing and editing of microcircuit design
JP4248925B2 (en) Automatic floor plan determination method
JP2621506B2 (en) Trim data generation method
JP3422645B2 (en) Circuit element placement device
Clary et al. SIDS (A Symbolic Interactive Design System)
JP3240170B2 (en) IC pattern design system
JP2980748B2 (en) Printed wiring board design support equipment
JP2004118852A (en) Cad system for design of electronic circuit board, recording medium recorded with program used therefor, and manufacturing method for electronic circuit board

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051215

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090127

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100127

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110127

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110127

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120127

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120127

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130127

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130127

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140127

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term