JP2016161956A - 設計支援プログラム、設計支援装置、および設計支援方法 - Google Patents

設計支援プログラム、設計支援装置、および設計支援方法 Download PDF

Info

Publication number
JP2016161956A
JP2016161956A JP2015036950A JP2015036950A JP2016161956A JP 2016161956 A JP2016161956 A JP 2016161956A JP 2015036950 A JP2015036950 A JP 2015036950A JP 2015036950 A JP2015036950 A JP 2015036950A JP 2016161956 A JP2016161956 A JP 2016161956A
Authority
JP
Japan
Prior art keywords
wiring
evaluation value
design support
arrangement
wirings
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.)
Granted
Application number
JP2015036950A
Other languages
English (en)
Other versions
JP6459628B2 (ja
Inventor
丸山 健一
Kenichi Maruyama
健一 丸山
由紀彦 大西
Yukihiko Onishi
由紀彦 大西
雄大 矢野
Takehiro Yano
雄大 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015036950A priority Critical patent/JP6459628B2/ja
Publication of JP2016161956A publication Critical patent/JP2016161956A/ja
Application granted granted Critical
Publication of JP6459628B2 publication Critical patent/JP6459628B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】プリント基板上の配線の引き易さを設計者が考慮することができるFPGAに対する論理回路の配置を提案できる。
【解決手段】設計支援装置100は、設計対象の回路基板に設けられる特定の回路110であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態102を決定する。設計支援装置100は、決定した複数通りの配置状態102の各々について、記憶部101に記憶された複数の論理回路と回路基板に設けられ特定の回路と異なる部品との接続関係を示す接続情報が示す接続関係に応じた複数の配線の各長さに基づく評価値を導出する。設計支援装置100は、複数通りの配置状態102の各々について、配置状態と導出した評価値とを関連付けて提示する。
【選択図】図1

Description

本発明は、設計支援プログラム、設計支援装置、および設計支援方法に関する。
従来、プリント基板の部品配置や配線などをコンピュータ上で行うことができるCAD(Computer Aided Design)が公知である(例えば、以下特許文献1参照。)。
また、近年、例えば、製品の多品種化や小ロット化のために、装置に用いる部品として、論理回路をプログラム可能なFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)が使用される(例えば、以下特許文献2参照。)。
特開2012−103866号公報 特開2008−165751号公報
しかしながら、従来、CADなどを用いて配線を引く作業に手間がかかるため、設計者はFPGAに論理回路を配置する際に、プリント基板上の配線の引き易さまでを考慮に入れた検討ができるような様々な配置を検討することは困難である。
1つの側面では、本発明は、プリント基板上の配線の引き易さを設計者が考慮することができるプログラム可能な回路における論理回路の配置を提案できる設計支援プログラム、設計支援装置、および設計支援方法を提供することを目的とする。
本発明の一側面によれば、設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態を決定し、決定した前記複数通りの配置状態の各々について、記憶部に記憶された前記複数の論理回路と前記回路基板に設けられ前記特定の回路と異なる部品との接続関係を示す接続情報が示す前記接続関係に応じた複数の配線の各長さに基づく評価値を導出し、前記複数通りの配置状態の各々について、前記配置状態と導出した前記評価値とを関連付けて提示する設計支援プログラム、設計支援装置、および設計支援方法が提案される。
本発明の一態様によれば、プリント基板上の配線の引き易さを設計者が考慮することができるプログラム可能な回路における論理回路の配置を提案できる。
図1は、設計支援装置による一動作例を示す説明図である。 図2は、設計支援装置のハードウェア構成例を示す説明図である。 図3は、設計支援装置の機能的構成例を示すブロック図である。 図4は、物理ピン情報例を示す説明図である。 図5は、論理ピン情報例を示す説明図である。 図6は、論理ピン接続情報例を示す説明図である。 図7は、バンクアサイン情報例を示す説明図である。 図8は、仮想的な配線例を示す説明図である。 図9は、配線を束ねた例を示す説明図である。 図10は、交差位置を示す説明図である。 図11は、交差数の導出結果例を示す説明図である。 図12は、重み付け例を示す説明図である。 図13は、評価値の導出結果例を示す説明図である。 図14Aは、設計支援装置による簡単な動作の流れを示す説明図(その1)である。 図14Bは、設計支援装置による簡単な動作の流れを示す説明図(その2)である。 図15は、表示例を示す説明図である。 図16は、設計支援装置による設計支援処理手順例を示すフローチャートである。
以下に添付図面を参照して、本発明にかかる設計支援プログラム、設計支援装置、および設計支援方法の実施の形態を詳細に説明する。
図1は、設計支援装置による一動作例を示す説明図である。設計支援装置100は、プリント基板に設けられるFPGA内のバンクに論理回路を配置するのを支援するコンピュータである。
従来、製品の多品種化や小ロット化のために、製品に用いる部品として、論理回路をプログラム可能なFPGAなどのPLDが使用される。CADなどを用いて配線を引く作業に手間がかかるため、FPGAに論理回路を配置する際に様々な配置を検討することは困難である。例えば、搭載される部品の多ピン化や高密度化によってプリント基板設計は複雑であり、手戻りが増加する。
本実施の形態では、FPGA内のバンクと論理回路との複数の配置状態の各々について、論理回路と周辺部品との接続関係に応じた配線長に基づく評価値を提示する。これにより、配線の引き易さを設計者が考慮することができる論理回路の配置を提案できる。
また、部品の端子と部品の端子とを配線によってつなぐ際に、配線間の交差や交差を回避するために発生する配線の長さ超過などが発生する場合がある。同じ面において配線が交差すると、ショートしてしまう。例えば、配線が交差しないようにいずれかの配線について迂回させるなどの処理を行うと、配線の長さがルールを満たさない場合などがある。このような場合に、FPGAへの論理回路の配置のやり直しや周辺部品の配置のやり直しなどが発生する場合がある。また、同じ面において交差がある場合に、異なる面を用いてねじれの位置となるように配線を設ける場合がある。しかし、このような場合、配線が複雑になり、配線の混雑によりすべての配線について交差を回避できない場合などがある。
そこで、本実施の形態では、複数通りの配置状態の各々について、論理回路と部品との接続関係に応じた複数の配線の交差に基づく評価値と配線状態とを関連付けて提示する。これにより、交差が少ないと推定される配線状態を提示できる。
まず、設計支援装置100は、設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態を決定する。特定の回路は、例えば、FPGA110などのPLDである。複数通りの配置状態は、例えば、2以上の配置状態である。また、複数通りの配置状態は、例えば、指定された2以上の数の配置状態であってもよいし、すべての配置状態であってもよい。
また、設計支援装置100は、複数通りの配置状態を回路基板に設けられるFPGA110の向きに応じて決定してもよい。例えば、バンクと論理回路との割当は同じであっても、後述する図14Bに示すように、FPGA110の向きが異なる場合には異なる複数の配置状態とする。設計支援装置100は、論理回路の各々について、論理回路のピンをバンクのピンに割り当てることによって、配置状態を決定する。図1の例では、配置状態102−1と配置状態102−2とを示す。
設計支援装置100は、決定した複数通りの配置状態102の各々について、接続情報111が示す複数の論理回路と回路基板に設けられ特定の回路と異なる部品との接続関係に応じた複数の配線の各長さに基づく評価値を導出する。接続情報111は、例えば、記憶部101に記憶される。接続情報111では、具体的に、周辺の部品と、論理回路と、の接続関係を示す。より具体的には、接続情報111は、例えば、周辺の部品のピンと、論理回路のピンと、の接続関係を示している。配線は、仮想的な配線であってもよいし、実際に引いた場合の配線であってもよい。仮想的な配線とは、例えば、部品のピンと、バンクのピンと、を直線で結んだ配線である。本実施の形態では、例えば、配線とは仮想的な配線であるとして説明する。
また、各配線の数は、論理回路のピンの数によって定まる。また、ここでは、設計対象の回路基板における、周辺の部品の位置、周辺の部品における各ピンの位置と、FPGA110の位置、FPGA110における各ピンの位置などは予め定められてある。
また、評価値は、例えば、複数の配線における交差に応じた値である。交差に応じた値とは、例えば、交差の数に応じた値や交差の有無に応じた値などが挙げられる。ここでは、例えば、交差の数の合計値を評価値とするが、特に限定しない。これにより、交差の少ない配置状態102を提案することができる。複数の配線における交差とは、異なる論理回路とバンクとを接続する配線間における交差である。
上述したように、各ピンの位置は定まっているため、配線の始点から配線の終点の位置は定まる。設計支援装置100は、配線の位置に基づいて複数の配線の交差を特定して交差の数を計数する。設計支援装置100は、例えば、交差の数の合計値に基づいて評価値を導出する。ここでは、合計値そのものを評価値とするが、これに限らず、例えば交差の数に基づく交差の少なさの度合いを評価値としてもよく、特に限定しない。また、後述するように、設計支援装置100は、交差の数だけでなく、迂回しない場合の配線の引き易さの指標を評価値に加えてもよい。
図1の例では、複数の配線の状態について論理回路ごとに複数の配線を1つの配線として表示してある。配置状態102−1について、配線G1_1は8本の配線を束ねた配線であり、配線G1_2は4本の配線を束ねた配線であり、配線G1_3は4本の配線を束ねた配線である。また、配置状態102−1について、配線G1_4は2本の配線を束ねた配線であり、配線G1_5は3本の配線を束ねた配線であり、配線G1_6は3本の配線を束ねた配線である。
配線G1_2と配線G1_3とが交差する。配線G1_4と配線G1_5とが交差する。配線G1_3と配線G1_6とが交差する。例えば、表104−1に示すように、設計支援装置100は、配線数が4の配線G1_2と、配線数が4の配線G1_3との交差数を4×4の16として導出する。設計支援装置100は、同様に他の交差についても導出する。設計支援装置100は、交差数の合計値を導出する。ここでは、表104−1によれば、配線状態103−1についての交差数の合計値は68である。設計支援装置100は、配置状態102−1についての評価値を68とする。
配置状態102−2について、配線G2_1は8本の配線を束ねた配線であり、配線G2_2は4本の配線を束ねた配線であり、配線G2_3は4本の配線を束ねた配線である。また、配置状態102−2について、配線G2_4は2本の配線を束ねた配線であり、配線G2_5は3本の配線を束ねた配線であり、配線G2_6は3本の配線を束ねた配線である。
配線G2_1と配線G2_2とが交差する。配線G2_2と配線G2_6とが交差する。配線G2_3と配線G2_6とが交差する。配線G2_4と配線G2_3とが交差する。配線G2_4と配線G2_6とが交差する。配線G2_5と配線G2_6とが交差する。配線G2_5と配線G2_3とが交差する。例えば、表104−2に示すように、設計支援装置100は、配線数が8の配線G2_1と、配線数が4の配線G2_2との交差数を8×4の32として導出する。設計支援装置100は、同様に他の交差についても導出する。設計支援装置100は、交差数の合計値を導出する。ここでは、表104−2によれば、配線状態103−2についての交差数の合計値は182である。設計支援装置100は、配置状態102−2についての評価値を182とする。
設計支援装置100は、複数の配置状態102の各々について、配置状態102と導出した評価値とを関連付けて提示する。これにより、配線の引き易さを設計者が考慮可能な論理回路の配置を提案できる。
また、設計支援装置100は、複数の配置状態102の各々について、配置状態102における複数の配線の状態と、評価値と、を関連付けて表示してもよい。設計支援装置100は、例えば、ディスプレイなどの出力装置に表示する。また、設計支援装置100は、複数の配線を論理回路に対応して1つの配線として表示してもよい。これにより、設計者は論理回路の配置を検討し易くなる。
(設計支援装置100のハードウェア構成例)
図2は、設計支援装置のハードウェア構成例を示す説明図である。設計支援装置100は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ディスクドライブ204と、ディスク205と、を有する。設計支援装置100は、I/F(Inter/Face)206と、キーボード207と、マウス208と、ディスプレイ209と、を有する。また、CPU201と、ROM202と、RAM203と、ディスクドライブ204と、I/F206と、キーボード207と、マウス208と、ディスプレイ209とは、バス200によってそれぞれ接続される。
ここで、CPU201は、設計支援装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。ディスクドライブ204は、CPU201の制御にしたがってディスク205に対するデータのリード/ライトを制御する。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する。ディスク205としては、磁気ディスク、光ディスクなどが挙げられる。
I/F206は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク210に接続され、このネットワーク210を介して他の装置に接続される。そして、I/F206は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F206には、例えばモデムやLANアダプタなどを採用することができる。
キーボード207やマウス208は、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ209は、CPU201の指示により、データを出力するインターフェースである。
また、図示を省略するが、設計支援装置100には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、設計支援装置100には、プリンタなどの出力装置が設けられていてもよい。
また、本実施の形態では、設計支援装置100のハードウェア構成として、パーソナル・コンピュータを例に挙げているが、これに限らず、サーバなどであってもよい。設計支援装置100がサーバである場合、設計支援装置100と利用者の操作可能な装置やディスプレイ209などがネットワーク210を介して接続されてもよい。
(設計支援装置100の機能的構成例)
図3は、設計支援装置の機能的構成例を示すブロック図である。設計支援装置100は、記憶部101と、決定部301と、導出部302と、提示部303と、を有する。記憶部101は、例えば、ROM202、RAM203、ディスク205などによって実現される。また、記憶部101は、ネットワーク210を介して設計支援装置100に接続されていてもよい。決定部301から提示部303までの制御部の処理は、例えば、図2に示すCPU201がアクセス可能な記憶部101に記憶されたプログラムにコーディングされている。そして、CPU201が記憶部101から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。
また、制御部の処理結果は、例えば、ROM202、RAM203、ディスク205などの記憶部101に記憶される。また、記憶部101には、物理ピン情報と、論理ピン情報と、論理ピン接続情報と、が記憶される。
図4は、物理ピン情報例を示す説明図である。物理ピン情報400は、例えば、FPGA110に設けられるピンの物理的な情報である。物理ピン情報400は、物理ピン名、X座標、Y座標、バンク名のフィールドを有する。各フィールドに情報が設定されることによりレコード(例えば、401−1〜401−9など)として登録される。物理ピン情報400は、例えば、記憶部101に記憶される。
物理ピン名のフィールドには、物理ピンを一意に特定可能な識別情報が設定される。X座標とY座標のフィールドには、物理ピンが設けられる位置を示す座標値が設定される。X座標とY座標とは、FPGA110における原点に対するX座標とY座標が設定される。バンク名のフィールドには、物理ピンを含むバンクを一意に特定可能な識別情報が設定される。
図4の例では、FPGA110は、バンクAからバンクHを含む。物理ピンは、例えば、物理ピン1から物理ピン9まである。レコード401−1を例に挙げると、物理ピン1は、X座標が1、Y座標が1の位置に設けられ、バンクBに含まれる。
図5は、論理ピン情報例を示す説明図である。論理ピン情報500は、例えば、FPGA110に設けられるピンの論理的な情報である。論理ピン情報500は、例えば、論理ピン名、論理カテゴリのフィールドを有する。各フィールドに情報が設定されることによりレコード(例えば、501−1〜501−9など)として登録される。論理ピン情報500は、例えば、記憶部101に記憶される。FPGA110で実現される機能ごとに分割された複数ピンごとのグループを論理カテゴリと呼ぶ。ここでは、論理カテゴリとは、バスやクロックなどの論理機能である。図5の例では、論理カテゴリがBUS_AとBUS_BとCLOCKとがある。
論理ピン名のフィールドには、論理ピンを一意に特定可能な識別情報が設定される。論理カテゴリのフィールドには、論理ピンを含む論理カテゴリを一意に特定可能な識別情報が設定される。
レコード501−1を例に挙げると、論理ピン名DataBUS_A_1は、論理カテゴリBUS_Aに含まれる。
図6は、論理ピン接続情報例を示す説明図である。論理ピン接続情報600は、FPGA110の論理ピンと、回路基板上に設けられるFPGA110と異なる周辺の部品の物理ピンとの論理的な接続情報111を示す。論理ピン接続情報600は、例えば、論理ピン名、接続先部品ピン名のフィールドを有する。各フィールドに情報が設定されることによりレコード(例えば、601−1〜601−9など)として登録される。論理ピン接続情報600は、例えば、記憶部101に記憶される。
図6の例では、周辺の部品は、部品P1から部品P4である。レコード601−1を例に挙げると、論理ピンDataBUS_A_1は部品P1の1番ピンに接続される。
また、図示省略するが、ここでは、回路基板における部品P1から部品P4の位置や部品P1から部品P4の各ピンの位置などは定められてある。
まず、決定部301は、設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態を決定する。特定の回路は、例えば、FPGA110である。複数通りの配置状態とは、例えば、2以上の配置状態である。例えば、複数通りの配置状態は、2以上の指定された数の配置状態であってもよいし、すべての配置状態であってもよい。また、後述する図14Bに示すように、決定部301は、複数通りの配置状態を、FPGA110が回路基板に配置される向きに基づき決定する。バンクと論理回路との対応関係が同じであってもFPGA110の配置の向きが異なる場合には異なる配置状態とする。
例えば、決定部301は、物理ピン情報400が示す物理ピンに対して、論理カテゴリごとの論理ピン情報500が示す論理ピンを割り当てることにより、物理ピンと、論理ピンとの複数通りの配置状態を決定する。この決定結果は、バンクアサイン情報として記憶部101に記憶させる。バンクアサイン情報は複数通りあるが、ここでは一通りの例を図7に示す。
図7は、バンクアサイン情報例を示す説明図である。バンクアサイン情報700は、物理ピンと、論理ピンと、の対応関係によって配置状態を示す。バンクアサイン情報700は、物理ピン名、X座標、Y座標、バンク名、論理ピン名、論理カテゴリ名のフィールドを有する。各フィールドに情報が設定されることによりレコード(例えば、701−1〜701−9など)として記憶される。
レコード701−1を例に挙げると、バンクBの物理ピン1に論理ピンDataBus_A_1が割り当てられる。レコード701−2を例に挙げると、バンクBの物理ピン2に論理ピンDataBus_A_2が割り当てられる。
図6に示す論理ピン接続情報600と、図7に示すバンクアサイン情報700と、によれば、物理ピンと、部品のピンと、の接続関係を判別可能である。例えば、物理ピン1と部品P1の1番ピンとが接続され、物理ピン2と部品P2の1番ピンとが接続されることを示す。
つぎに、導出部302は、複数通りの配置状態の各々について、接続情報111が示す複数の論理回路と回路基板に設けられ特定の回路と異なる部品との接続関係に応じた複数の配線長に基づく評価値を導出する。接続情報111とは、例えば、図6に示した論理ピン接続情報600である。
配線長は、例えば、仮想的な配線の長さであってもよいし、交差しない実際の配線の長さであってもよい。ここでは、仮想的な配線を例に挙げる。
図8は、仮想的な配線例を示す説明図である。本実施の形態では、仮想的な配線として、例えば、論理ピンに対応する部品ピンと、論理ピンが割り当てられた物理ピンと、の間を直線で結ぶ接続線を利用する。例えば、部品P1の8つのピンは、バンクBの8つの物理ピンに接続される。例えば、部品P2の4つのピンは、バンクGの4つの物理ピンに接続される。例えば、部品P3の3つのピンは、バンクEの3つの物理ピンに接続される。例えば、部品P3の2つのピンは、バンクFの2つの物理ピンに接続される。例えば、部品P4の3つのピンは、バンクHの3つの物理ピンに接続される。例えば、部品P4の4つのピンは、バンクCの4つの物理ピンに接続される。
図9は、配線を束ねた例を示す説明図である。ここでは、導出部302は、配線状態における論理カテゴリの各々について、部品のピンとバンクのピンとの間を接続するための複数の配線を1つの配線に束ねる。ここで、束ねるとは、論理カテゴリの各々についての部品のピンとバンクのピンとの間を接続するため配線を1つの配線によって表すことである。導出部302は、例えば、部品のピンのうち中心のピンと、バンクのピンのうち中心のピンと、の間を接続する複数の配線を1つの配線に束ねる。
図9の例では、論理カテゴリの各々について束ねた各配線の幅は、論理ピンの数に応じて設定される。
配線の長さに基づく評価値は、例えば、複数の配線における交差に応じた値である。交差に応じた値とは、例えば、交差の有無に応じた値であったり、交差の数に応じた値である。ここでは、導出部は、交差の数の合計値を評価値として導出する。ここでは、交差の数は省略して交差数とも呼ぶ。導出部302は、例えば、配線状態における論理カテゴリの各々について、部品のピンとバンクのピンとの間の配線の数を特定する。そして、導出部302は、複数の論理カテゴリの各々について、特定した配線の数に基づき交差数を導出する。
導出部302は、配線同士の交差数を導出する。そして、導出部302は、すべての接続線に対して交差数の合計値を加算することによって、交差合計値を算出する。
図10は、交差位置を示す説明図である。ここでは、束ねられた配線は、配線GRP_A〜GRP_Fである。交差の位置は、例えば、点線の丸印によって示す。例えば、配線GRP_Cと配線GRP_Fとが交差し、配線GRP_Cと配線GRP_Bとが交差し、配線GRP_Dと配線GRP_Eとが交差する。
例えば、太さが4の配線GRP_Cは太さ4の配線GRP_B、および太さ3の配線GRP_Fと交差する。したがって、導出部302は、配線GRP_Cについての交差合計値を「3+4=7」として導出する。導出部302は、太さ3の配線GRP_Eは太さ2のGRP_Dと交差する。配線GRP_Eについての交差数は2である。これにより、配線ねじれ交差を数値化することができ、配線の難易度を利用者に提示することができる。
図11は、交差数の導出結果例を示す説明図である。表1100は、交差数の導出結果を示す。表1100の配線名の( )には配線の数が記載されてある。例えば、配線GRP_Aについての交差数は0である。例えば、配線GRP_Bについての交差数は16である。例えば、配線GRP_Cについての交差数は28である。例えば、配線GRP_Dについての交差数は6である。例えば、配線GRP_Eについての交差数は6である。例えば、配線GRP_Fについての交差数は12である。
そして、導出部302は、交差数の合計値は68であるため、68を配線状態の評価値とする。
また、評価値は、複数の論理回路の各々について、配置状態における論理回路が配置されるバンクと、論理回路と接続される部品と、の位置関係に応じた値である。これにより、迂回せずに配線できた場合の配線の引き易さを考慮した評価値を導出できる。位置関係に応じた値は、例えば、複数の論理回路の各々について、複数のバンクのうちの複数の配線が通過するバンクの数に応じた値であってもよい。具体的に、導出部302は、例えば、論理カテゴリの各々について、部品のピンから束ねた配線が通過する、FPGA110上のバンクの数によって引き易さについての重み付けを行い、重み付け結果を評価値に反映させる。また、導出部302は、例えば、論理カテゴリの各々について、束ねた配線の各部品側の端点から見たFPGA110内のバンクへの配線の引き易さの指標を評価値に含める。
図12は、重み付け例を示す説明図である。例えば、導出部302は、論理カテゴリを順に重み付けの対象とする。導出部302は、対象とした論理カテゴリについて、束ねた配線の各部品側の端点から見た、FPGA110内のバンクへの配線の引き易さの指標をつぎの手順で数値化する。
まず、導出部302は、周辺部品の配線と着目するFPGA110のn個のバンクの中心点への直線距離を求める。導出部302は、直線距離が近いものから順に重みを「0,1/(n−1),2/(n−1),・・・・・(n−1)/(n−1)」とする。nはバンク数である。
そして、導出部302は、引き易さの指標を「重み×配線数(同一論理カテゴリのピン数)」とする。
図12の例では、論理カテゴリGRP_Cの重みが(8−1)/(8−1)である。そして、引き易さの指標が1×4=4である。
図13は、評価値の導出結果例を示す説明図である。表1300は、評価値の導出結果を示す。表1300の配線名の( )には配線の数が記載されてある。また、表1300には、引き易さの指標が記載される。導出部302は、論理カテゴリの各々について算出する。導出部302は、算出された配線の難しさの指標によって得られた値を評価値に加算する。これにより、評価値は76.5となる。
図14Aおよび図14Bは、設計支援装置による簡単な動作の流れを示す説明図である。図14Aの(1)に示すように、決定部301は、論理カテゴリをバンクにアサインすることによって配線状態を決定する。つぎに、図14Aの(2)に示すように、導出部302は、配線長に基づく評価値を、交差数と配線の引き易さに基づき導出する。
例えば、図14Bに示すように、設計対象の回路基板に設けられるFPGA110の向きに応じて複数通りの配線状態が決定されてもよい。
提示部303は、複数通りの配置状態の各々について、配置状態と、評価値と、を関連付けて提示する。提示部303は、例えば、配置状態と評価値とを関連付けて記憶部101に記憶させてもよい。提示部303は、例えば、配置状態と評価値とを関連付けてディスプレイ209に表示してもよい。
また、例えば、提示部303は、例えば、図11に示すように配置状態についての配線状態と評価値と関連付けてディスプレイ209に表示してもよい。
また、図14Bに示すように、提示部303は、複数通りの配置状態の各々について、配置状態における配線状態と評価値とを関連付けて表示する。また、提示部303は、例えば、配置状態について、FPGA110のピンを所属するバンクごとに色分けなどによって特徴付けてディスプレイ209に表示してもよい。
また、提示部303は、図11や図14Bに示すように、複数の配線を論理カテゴリごとに束ねて表示してもよい。
また、提示部303は、配置状態における複数の配線のうち、バンクと部品とを共通とする接続関係の配線を単一の配線に集約して表示する。単一の配線の幅は、複数の配線のうちの、バンクと部品とを共通とする接続関係の配線の数に応じた幅である。また、提示部303は、束ねた場合の配線の幅は論理カテゴリごとに配線の数に応じて配線の幅にしてもよい。具体的に、提示部303は、例えば、図9に示したように、論理カテゴリごとの配線の数が多いほど、配線の幅が太くなるように表示する。例えば、図9に示すように、8つの配線である配線GRP_Aは4つの配線であるGRP_Bよりも太く表示される。
また、評価値が複数の配線における交差に応じた値である場合に、提示部303は、複数通りの配置状態の各々について、評価値と、配置状態と、交差の位置と、を関連付けて表示する。また、提示部303は、評価値に基づく順序に基づいて、複数通りの配置状態の各々の評価値を提示してもよい。
図15は、表示例を示す説明図である。提示部303は、例えば、評価値に基づいて配置状態に順序を付しておき、順序に基づき配置状態と評価状態とをリスト化してディスプレイ209に表示する。そして、提示部303は、利用者の操作によって選択された配置状態に基づいて配置状態における配線状態と評価値とを関連付けてディスプレイ209に表示してもよい。
(設計支援装置100による設計支援処理手順例)
図16は、設計支援装置による設計支援処理手順例を示すフローチャートである。設計支援装置100は、例えば、論理カテゴリとバンクとの全組み合わせについて処理を終了したか否かを判断する(ステップS1601)。論理カテゴリとバンクとの全組み合わせについて処理を終了していないと判断された場合(ステップS1601:No)、設計支援装置100は、論理カテゴリとバンクとの組み合わせを決定する(ステップS1602)。
設計支援装置100は、FPGA110を配置可能なすべての向きについて処理を終了したか否かを判断する(ステップS1603)。終了していないと判断された場合(ステップS1603:No)、設計支援装置100は、組み合わせについて未対象の向きを対象の向きに決定する(ステップS1604)。
そして、設計支援装置100は、決定した組み合わせについて、論理カテゴリと周辺部品との接続関係によって論理カテゴリごとの配線を特定する(ステップS1605)。つぎに、設計支援装置100は、特定した配線間の交差数を導出する(ステップS1606)。設計支援装置100は、配線とバンクの位置関係によって配線の引き易さの指標を導出する(ステップS1607)。
設計支援装置100は、交差数と難易度とに基づき評価値を導出する(ステップS1608)。設計支援装置100は、組み合わせおよび向きについて、配線の状態と、評価値とを関連付けて記憶し(ステップS1609)、ステップS1603へ戻る。
ステップS1603において、終了したと判断された場合(ステップS1603:Yes)、設計支援装置100は、ステップS1601へ戻る。ステップS1601において、論理カテゴリとバンクとの全組み合わせについて処理を終了したと判断された場合(ステップS1601:Yes)、設計支援装置100は、評価値に基づき組み合わせおよび向きについて順序付けを行う(ステップS1610)。そして、設計支援装置100は、順序に基づき表示し(ステップS1611)、一連の処理を終了する。
以上説明したように、設計支援装置100は、FPGA内のバンクと論理回路との複数の配置状態の各々について、論理回路と周辺部品との接続関係に応じた配線長に基づく評価値を提示する。これにより、配線の引き易さを設計者が考慮可能な論理回路の配置を提案できる。
また、設計支援装置100は、複数の配線の状態と、評価値と、を関連付けて表示する。これにより、設計者が配置状態に対する配線の状態を容易に確認することができる。
また、設計支援装置100は、評価値に基づく複数の配置状態の順序によって、配置状態と、評価値と、を提示する。
また、設計支援装置100は、配置状態における複数の配線を複数の論理回路の各々に対応する単一の配線に集約して表示する。これにより、設計者が配置状態に対する配線の状態を見易くでき、設計者の作業の容易化を図ることができる。
単一の配線の幅は複数の配線の数に応じた幅である。これにより、配線の状態がより見易くなるため、設計者の作業の容易化を図ることができる。
評価値は、複数の配線における交差に応じた値である。これにより、交差の少ない配置状態を提案することができる。
また、設計支援装置100は、複数の配置状態の各々について、評価値と、配置状態と、交差の位置と、を関連付けて表示する。これにより、交差の少ない配置状態を設計者が選び易くなる。
評価値は、複数の論理回路の各々について、配置状態における論理回路が配置されるバンクと、論理回路と接続される周辺の部品と、の位置関係に応じた値である。これにより、交差を回避した場合の配線の引き易さを設計者が考慮可能な論理回路の配置を提案できる。
また、設計支援装置100は、配置状態における複数の配線を複数の論理回路の各々に対応する単一の配線に集約して表示する。これにより、配線の状態がより見易くなるため、設計者の作業の容易化を図ることができる。
また、設計支援装置100は、単一の配線に集約して表示する際に、単一の配線の幅を配線の数に応じて表示する。これにより、配線の状態がより見易くなるため、設計者の作業の容易化を図ることができる。
なお、本実施の形態で説明した設計支援方法は、予め用意された設計支援プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態を決定し、
決定した前記複数通りの配置状態の各々について、記憶部に記憶された前記複数の論理回路と前記回路基板に設けられ前記特定の回路と異なる部品との接続関係を示す接続情報が示す前記接続関係に応じた複数の配線の各長さに基づく評価値を導出し、
前記複数通りの配置状態の各々について、前記配置状態と導出した前記評価値とを関連付けて提示する、
処理を実行させることを特徴とする設計支援プログラム。
(付記2)前記提示する処理では、
前記複数通りの配置状態の各々について、前記配置状態における前記複数の配線の状態と、前記評価値と、を関連付けて表示する、
ことを特徴とする付記1に記載の設計支援プログラム。
(付記3)前記提示する処理では、
前記評価値に基づく前記複数通りの配置状態の順序によって、前記配置状態と、前記評価値と、を提示する、
ことを特徴とする付記1または2に記載の設計支援プログラム。
(付記4)前記提示する処理では、
前記配置状態における前記複数の配線のうち、前記バンクと前記部品とを共通とする接続関係の配線を単一の配線に集約して表示する、
ことを特徴とする付記2または3に記載の設計支援プログラム。
(付記5)前記複数の論理回路の各々についての前記単一の配線の幅は、前記複数の配線のうちの、前記論理回路と、前記配置状態に応じた前記バンクとを接続する配線の数に応じた幅であることを特徴とする付記4に記載の設計支援プログラム。
(付記6)前記評価値は、前記複数の配線における交差に応じた値であることを特徴とする付記1〜5のいずれか一つに記載の設計支援プログラム。
(付記7)前記提示する処理では、
前記複数通りの配置状態の各々について、前記評価値と、前記配置状態と、前記交差の位置と、を関連付けて表示する、
ことを特徴とする付記6に記載の設計支援プログラム。
(付記8)前記評価値は、前記複数の論理回路の各々について、前記配置状態における前記論理回路が配置される前記バンクと、前記論理回路と接続される前記部品と、の位置関係に応じた値であることを特徴とする付記6または7に記載の設計支援プログラム。
(付記9)前記決定する処理では、前記複数通りの配置状態を、前記特定の回路が前記回路基板に配置される向きに基づき決定することを特徴とする付記1〜8のいずれか一つに記載の設計支援プログラム。
(付記10)設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路と異なる前記回路基板に設けられる部品と、複数の論理回路と、の接続関係を示す接続情報を記憶する記憶部と、
前記特定の回路が有する複数のバンクに、前記複数の論理回路をプログラムした場合の複数通りの配置状態を決定し、決定した前記複数通りの配置状態の各々について、前記記憶部に記憶された前記接続情報が示す前記接続関係に応じた複数の配線の各長さに基づく評価値を導出し、前記複数通りの配置状態の各々について、前記配置状態と導出した前記評価値とを関連付けて提示する制御部と、
を有することを特徴とする設計支援装置。
(付記11)コンピュータが、
設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態を決定し、
決定した前記複数通りの配置状態の各々について、記憶部に記憶された前記複数の論理回路と前記回路基板に設けられ前記特定の回路と異なる部品との接続関係を示す接続情報が示す前記接続関係に応じた複数の配線の各長さに基づく評価値を導出し、
前記複数通りの配置状態の各々について、前記配置状態と導出した前記評価値とを関連付けて提示する、
処理を実行させることを特徴とする設計支援方法。
100 設計支援装置
101 記憶部
102−1,102−2 配置状態
103−1,103−2 配線状態
104−1,104−2 表
110 FPGA

Claims (10)

  1. コンピュータに、
    設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態を決定し、
    決定した前記複数通りの配置状態の各々について、記憶部に記憶された前記複数の論理回路と前記回路基板に設けられ前記特定の回路と異なる部品との接続関係を示す接続情報が示す前記接続関係に応じた複数の配線の各長さに基づく評価値を導出し、
    前記複数通りの配置状態の各々について、前記配置状態と導出した前記評価値とを関連付けて提示する、
    処理を実行させることを特徴とする設計支援プログラム。
  2. 前記提示する処理では、
    前記複数通りの配置状態の各々について、前記配置状態における前記複数の配線の状態と、前記評価値と、を関連付けて表示する、
    ことを特徴とする請求項1に記載の設計支援プログラム。
  3. 前記提示する処理では、
    前記評価値に基づく前記複数通りの配置状態の順序によって、前記配置状態と、前記評価値と、を提示する、
    ことを特徴とする請求項1または2に記載の設計支援プログラム。
  4. 前記提示する処理では、
    前記配置状態における前記複数の配線のうち、前記バンクと前記部品とを共通とする接続関係の配線を単一の配線に集約して表示する、
    ことを特徴とする請求項2または3に記載の設計支援プログラム。
  5. 前記評価値は、前記複数の配線における交差に応じた値であることを特徴とする請求項1〜4のいずれか一つに記載の設計支援プログラム。
  6. 前記提示する処理では、
    前記複数通りの配置状態の各々について、前記評価値と、前記配置状態と、前記交差の位置と、を関連付けて表示する、
    ことを特徴とする請求項5に記載の設計支援プログラム。
  7. 前記評価値は、前記複数の論理回路の各々について、前記配置状態における前記論理回路が配置される前記バンクと、前記論理回路と接続される前記部品と、の位置関係に応じた値であることを特徴とする請求項5または6に記載の設計支援プログラム。
  8. 前記決定する処理では、前記複数通りの配置状態を、前記特定の回路が前記回路基板に配置される向きに基づき決定することを特徴とする請求項1〜7のいずれか一つに記載の設計支援プログラム。
  9. 設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路と異なる前記回路基板に設けられる部品と、複数の論理回路と、の接続関係を示す接続情報を記憶する記憶部と、
    前記特定の回路が有する複数のバンクに、前記複数の論理回路をプログラムした場合の複数通りの配置状態を決定し、決定した前記複数通りの配置状態の各々について、前記記憶部に記憶された前記接続情報が示す前記接続関係に応じた複数の配線の各長さに基づく評価値を導出し、前記複数通りの配置状態の各々について、前記配置状態と導出した前記評価値とを関連付けて提示する制御部と、
    を有することを特徴とする設計支援装置。
  10. コンピュータが、
    設計対象の回路基板に設けられる特定の回路であって、論理回路をプログラム可能な特定の回路が有する複数のバンクに、複数の論理回路をプログラムした場合の複数通りの配置状態を決定し、
    決定した前記複数通りの配置状態の各々について、記憶部に記憶された前記複数の論理回路と前記回路基板に設けられ前記特定の回路と異なる部品との接続関係を示す接続情報が示す前記接続関係に応じた複数の配線の各長さに基づく評価値を導出し、
    前記複数通りの配置状態の各々について、前記配置状態と導出した前記評価値とを関連付けて提示する、
    処理を実行させることを特徴とする設計支援方法。
JP2015036950A 2015-02-26 2015-02-26 設計支援プログラム、設計支援装置、および設計支援方法 Expired - Fee Related JP6459628B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015036950A JP6459628B2 (ja) 2015-02-26 2015-02-26 設計支援プログラム、設計支援装置、および設計支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015036950A JP6459628B2 (ja) 2015-02-26 2015-02-26 設計支援プログラム、設計支援装置、および設計支援方法

Publications (2)

Publication Number Publication Date
JP2016161956A true JP2016161956A (ja) 2016-09-05
JP6459628B2 JP6459628B2 (ja) 2019-01-30

Family

ID=56845108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015036950A Expired - Fee Related JP6459628B2 (ja) 2015-02-26 2015-02-26 設計支援プログラム、設計支援装置、および設計支援方法

Country Status (1)

Country Link
JP (1) JP6459628B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318198A (ja) * 1987-06-19 1988-12-27 Matsushita Electric Ind Co Ltd ディジタル装置
JPH0382056A (ja) * 1989-08-24 1991-04-08 Kawasaki Steel Corp 最適割当配置決定装置
JP2003345844A (ja) * 2002-05-29 2003-12-05 Fujitsu Ltd 対話型フロアプランナ装置
WO2014111969A1 (ja) * 2013-01-16 2014-07-24 株式会社図研 設計方法、プログラム、メモリ媒体および設計装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318198A (ja) * 1987-06-19 1988-12-27 Matsushita Electric Ind Co Ltd ディジタル装置
JPH0382056A (ja) * 1989-08-24 1991-04-08 Kawasaki Steel Corp 最適割当配置決定装置
JP2003345844A (ja) * 2002-05-29 2003-12-05 Fujitsu Ltd 対話型フロアプランナ装置
WO2014111969A1 (ja) * 2013-01-16 2014-07-24 株式会社図研 設計方法、プログラム、メモリ媒体および設計装置

Also Published As

Publication number Publication date
JP6459628B2 (ja) 2019-01-30

Similar Documents

Publication Publication Date Title
TW564575B (en) Method and apparatus for considering diagonal wiring in placement
US20090326874A1 (en) Designing support method, designing support equipment, program and computer-readable storage medium
JP2014513358A (ja) トポロジ決定を伴う航空機の電気システム接続経路指定及び視覚化のシステム及び方法
JP4136495B2 (ja) 方向性結合器を含む回路の設計支援装置、その設計支援プログラム、及び回路の設計方法
JP2010198466A (ja) 配線基板の配線設計方法
JP6459628B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
US20090189899A1 (en) Image processing apparatus, image processing method, and storage medium storing a program for causing an image processing apparatus to execute an image processing method
JP2018067431A (ja) 製造支援方法及び製造支援プログラム
CN113705143B (zh) 一种自动化仿真系统和自动化仿真方法
JP5589783B2 (ja) 設計プログラム、設計装置及び設計方法
JP2015228078A (ja) 情報処理装置、方法及びプログラム
CN109522613B (zh) 一种装配方法及装置
JP5062254B2 (ja) 設計支援装置、方法及びプログラム
US9582632B2 (en) Wiring topology method and information processing device
WO2013146276A1 (ja) 電源系統ツリー設計支援システム及び電源系統ツリー設計方法
CN114036721A (zh) 微模块的三维温度云场的构建方法及装置
US9769036B1 (en) Port assignment of network devices reference and management
JP2989985B2 (ja) 配線基板の部品配置検討装置
JP5927690B2 (ja) 表示制御装置、その方法及びプログラム
JP2007299268A (ja) 基板レイアウトチェックシステムおよび方法
JP2019144705A (ja) バス配線探索プログラム、バス配線探索方法および情報処理装置
JP4624166B2 (ja) レイアウト適正確認装置及びプログラム
TWI651541B (zh) 板件元件檢核裝置、檢核裝置執行方法與檢核系統執行方法
CN110457720B (zh) 板件元件检核装置、检核装置与检核系统的执行方法
US10169807B2 (en) Manufacturing adaptive order load for complex configure to order products

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181217

R150 Certificate of patent or registration of utility model

Ref document number: 6459628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees