(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-22
(45)【発行日】2022-05-06
(54)【発明の名称】回路配線記憶方法、FPGAシステムおよび記憶媒体
(51)【国際特許分類】
G06F 30/347 20200101AFI20220425BHJP
H01L 21/82 20060101ALI20220425BHJP
【FI】
G06F30/347
H01L21/82 C
(21)【出願番号】P 2020566599
(86)(22)【出願日】2020-07-16
(86)【国際出願番号】 CN2020102440
(87)【国際公開番号】W WO2021013044
(87)【国際公開日】2021-01-28
【審査請求日】2020-11-27
(31)【優先権主張番号】201910662629.5
(32)【優先日】2019-07-22
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520412486
【氏名又は名称】深▲セン▼市紫光同創電子有限公司
(74)【代理人】
【識別番号】110002468
【氏名又は名称】特許業務法人後藤特許事務所
(72)【発明者】
【氏名】何 杰
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2008-033555(JP,A)
【文献】特開2006-085271(JP,A)
【文献】特開2005-346710(JP,A)
【文献】特開平03-088071(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
H01L 21/82
(57)【特許請求の範囲】
【請求項1】
プロセッサによって実行される回路配線記憶方法であって、
回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築するステップと、
前記回路配線モデルに基づいて、前記回路における回路配線を
メモリに記憶するステップと、を含み、
同じタイプの回路配線において、複数の回路配線の起点デバイス、終点デバイス、前記回路配線に接続される起点ポートおよび終点ポート
、及び、前記起点デバイスと前記終点デバイスとの相対位置は、いずれも同じであり、
前記回路配線モデルは、前記起点ポートの情報と、前記終点ポートの情報と、前記起点デバイスの情報と、前記終点デバイスの情報と、
前記起点デバイスに対する前記終点デバイスの位置オフセット情報と、対応するタイプに属する各回路配線の起点デバイス及び終点デバイスのいずれか一方の位置情報と、を含み、
前記起点デバイスは、前記回路配線の起点に接続されるデバイスであり、
前記終点デバイスは、前記回路配線の終点に接続されるデバイスである
ことを特徴とする回路配線記憶方法。
【請求項2】
請求項
1に記載の回路配線記憶方法であって、
いずれの回路配線における前記終点デバイスの情報は、当該回路配線における前記起点デバイスの情報、および当該回路配線における前記起点デバイスと前記終点デバイスとの相対位置により、取得される
ことを特徴とする回路配線記憶方法。
【請求項3】
請求項
1に記載の回路配線記憶方法であって、
いずれの回路配線における前記起点デバイスの情報は、当該回路配線における前記終点デバイスの情報、および当該回路配線における前記起点デバイスと前記終点デバイスとの相対位置により、取得される
ことを特徴とする回路配線記憶方法。
【請求項4】
請求項
1に記載の回路配線記憶方法であって、
前記回路配線モデルは、いずれのタイプの前記回路配線における前記起点ポートの情報と、前記終点ポートの情報と、前記起点デバイスと前記終点デバイスとの相対位置情報と、前記起点デバイスの情報と、を含む
ことを特徴とする回路配線記憶方法。
【請求項5】
請求項
1に記載の回路配線記憶方法であって、
前記回路配線モデルは、いずれのタイプの前記回路配線における前記起点ポートの情報と、前記終点ポートの情報と、前記起点デバイスと前記終点デバイスとの相対位置情報と、前記終点デバイスの情報と、を含む
ことを特徴とする回路配線記憶方法。
【請求項6】
請求項
1に記載の回路配線記憶方法であって、
前記回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築するステップを行う前に、
電子設計自動化ツールにおける前記回路のシミュレーションの具体レイアウトに基づいて、座標系を構築するステップをさらに含む
ことを特徴とする回路配線記憶方法。
【請求項7】
請求項
6に記載の回路配線記憶方法であって、
前記回路配線モデルは、前記起点デバイスの座標情報が含まれる前記起点デバイスの情報を有する
ことを特徴とする回路配線記憶方法。
【請求項8】
請求項
7に記載の回路配線記憶方法であって、
前記起点デバイスの情報は、所定の規則に基づいて前記起点デバイスの横座標と縦座標を処理することにより取得された前記起点デバイスの座標を表す整数を含む
ことを特徴とする回路配線記憶方法。
【請求項9】
請求項
6に記載の回路配線記憶方法であって、
前記回路配線モデルは、前記終点デバイスの座標情報が含まれる前記終点デバイスの情報を有する
ことを特徴とする回路配線記憶方法。
【請求項10】
請求項
9に記載の回路配線記憶方法であって、
前記起点デバイスの情報は、所定の規則に基づいて前記終点デバイスの横座標と縦座標を処理することにより取得された前記終点デバイスの座標を表す整数を含む
ことを特徴とする回路配線記憶方法。
【請求項11】
請求項
6から
10のいずれか一項に記載の回路配線記憶方法であって、
前記回路は、複数の回路モジュールを含み、
電子設計自動化ツールにおける前記回路のシミュレーションの具体レイアウトに基づいて、座標系を構築するステップは、
電子設計自動化ツールにおける前記回路のシミュレーションの具体レイアウトに基づいて、前記回路モジュールの配置に応じてグリッド座標系を構築するステップを含む
ことを特徴とする回路配線記憶方法。
【請求項12】
請求項
11に記載の回路配線記憶方法であって、
前記回路モジュールは、複数のデバイスを含み、
電子設計自動化ツールにおける前記回路のシミュレーションの具体レイアウトに基づいて、座標系を構築するステップは、
電子設計自動化ツールにおける前記回路のシミュレーションの具体レイアウトに基づいて、前記デバイスの配置に応じてデバイス座標系を構築するステップを含む
ことを特徴とする回路配線記憶方法。
【請求項13】
請求項1に記載の回路配線記憶方法であって、
各前記起点デバイスは、回路リードを介して少なくとも一つの前記終点デバイスに接続され、
各前記終点デバイスは、前記回路リードを介して一つの前記起点デバイスに接続される
ことを特徴とする回路配線記憶方法。
【請求項14】
請求項1に記載の回路配線記憶方法であって、
同じタイプの複数の前記回路配線は、前記起点デバイスの数が同じであり、
同じタイプの複数の前記回路配線は、前記終点デバイスの数が同じである
ことを特徴とする回路配線記憶方法。
【請求項15】
請求項1に記載の回路配線記憶方法であって、
前記回路配線モデルに基づいて、前記回路における回路配線を記憶するステップを行った後に、
前記デバイスに属する前記回路配線を構築する際に、前記回路配線モデルに基づいて前記デバイスの回路配線を構築するステップをさらに含む
ことを特徴とする回路配線記憶方法。
【請求項16】
請求項1に記載の回路配線記憶方法であって、
前記回路は、フィールドプログラマブルロジックアレイFPGAチップ回路である
ことを特徴とする回路配線記憶方法。
【請求項17】
FPGAシステムであって、
プロセッサと、メモリと、通信バスと、を含み、
前記通信バスは、前記プロセッサと前記メモリとの間の接続通信を可能にするものであり、
前記プロセッサは、請求項1から8のいずれか一項に記載の回路配線記憶方法のステップが行われるように前記メモリに記憶された一つまたは複数のコンピュータプログラムを実行する
ことを特徴とするFPGAシステム。
【請求項18】
一つまたは複数のコンピュータプログラムが記憶された記憶媒体であって、
請求項1から
16のいずれか一項に記載の回路配線記憶方法のステップが行われるように、一つまたは複数の前記コンピュータプログラムが一つまたは複数のプロセッサにより実行される
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、FPGA(Field-Programmable Gate Array、フィールド・プログラマブル・ゲート・アレイ)分野に関する。具体的には、回路配線記憶方法、FPGAシステムおよび記憶媒体に関するが、この限りではない。
【背景技術】
【0002】
FPGAは、プログラミングによりほぼすべてのタイプを実現できるデジタル回路またはデジタルシステムであり、大量のロジックブロック、メモリ、DSP(digital signal processor、デジタル信号プロセッサ)からなる。FPGAは、プログラマブル機能を有し、デジタル回路設計のプロセスを簡素化できる。
【0003】
EDA(Electronic Design Automation、電子設計自動化)ツールは、設計者がハードウェア記述言語または原理図によりソフトウェアプラットフォームで回路設計を実現するためのツールであり、最終的にビットストリームが生成され、プログラミングのダウンロードなどが実行されるまで、ロジックのコンパイル、包括的な最適化、レイアウト、ルーティング、およびシミュレーションを自動的に完了できる。また、EDAツールにより、設計者がプロセス全体の各段階の状況をより便利に確認し、タイムリーに調整し、最終的にツールにおいてFPGAチップ上の回路設計の配置および配線がシミュレートして表示される。EDAツールで設計することにより、回路設計の効率、信頼性、および操作性が大幅に向上し、設計者の労働強度が軽減され、回路設計の難度が低減する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明に係る態様により提供される回路配線記憶方法、FPGAシステムおよび記憶媒体は、主に記憶回路の回路配線を記憶する方法が大量のメモリリソースを消費するという従来の問題を解決することを目的とする。
【課題を解決するための手段】
【0005】
本発明のある態様によれば、回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築するステップと、前記回路配線モデルに基づいて、前記回路における回路配線を記憶するステップと、を含み、同じタイプの回路配線において、複数の回路配線の起点デバイス、終点デバイス、前記回路配線に接続される起点ポートおよび終点ポートは、いずれも同じであり、前記回路配線モデルは、前記起点ポートの情報と、前記終点ポートの情報と、前記起点デバイスの情報と、前記終点デバイスの情報と、を含み、前記起点デバイスは、前記回路配線の起点に接続されるデバイスであり、前記終点デバイスは、前記回路配線の終点に接続されるデバイスである回路配線記憶方法が提供される。
【0006】
本発明の他の態様によれば、プロセッサと、メモリと、通信バスと、を含み、前記通信バスは、前記プロセッサと前記メモリとの間の接続通信を可能にするものであり、前記プロセッサは、上述した回路配線記憶方法のステップが行われるように、前記メモリに記憶された一つまたは複数のコンピュータプログラムを実行するFPGAシステムが提供される。
【0007】
本発明のその他の態様によれば、一つまたは複数のコンピュータプログラムが記憶された記憶媒体であって、上述した回路配線記憶方法のステップが行われるように、一つまたは複数の前記コンピュータプログラムが一つまたは複数のプロセッサにより実行される記憶媒体が提供される。
【発明の効果】
【0008】
本発明の態様は、下記の有益な効果を奏する。
本発明の実施例に係る回路配線記憶方法、FPGAシステムおよび記憶媒体は、回路配線の記憶に数多くのメモリリソースが消費されるという従来問題を解決するために、回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築する。ここで、同じタイプの回路配線において、複数の回路配線の起点デバイス、終点デバイスおよび起点ポート、終点ポートは、いずれも同じであり、回路配線モデルは、あるタイプの回路配線に接続される起点ポートの情報、終点ポートの情報、起点デバイスの情報、および終点デバイスの情報を含む。つまり、本発明の態様において、一つの回路配線モデルは、一つのタイプの回路配線の関連情報を含み、回路配線モデルに基づいて回路における各回路配線を記憶する。これにより、従来の回路配線のすべての構造を記憶する方法に比べ、本態様では、回路配線のタイプに基づいて分類し、回路配線のタイプに基づいて回路配線を記憶することにより、数多くのメモリリソースが節約され、ユーザエクスペリエンスが向上する。
【0009】
本発明の他の特徴および対応する有益な効果は、後述する。少なくとも一部の有益な効果は明細書の説明から明らかになることを理解されたい。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施例1に係る回路配線記憶方法のフローチャートである。
【
図2】本発明の実施例1に係る回路配線の座標系における関連情報図である。
【
図3】本発明の実施例2に係る回路配線記憶方法のフローチャートである。
【
図4】本発明の実施例2に係る回路モジュールの座標系における関連情報図である。
【
図5】本発明の実施例2に係るデバイスの座標系における関連情報図である。
【
図6】本発明の実施例3に係るFPGAシステムのモジュール関連図。
【発明を実施するための形態】
【0011】
以下、本発明の目的、技術的解決策、及び利点をより明確に説明するために、図面を参照しながら、本発明の実施例をさらに詳しく説明する。ここで、記載される具体的な実施例は、本発明を説明するためのものに過ぎず、本発明を限定するものではない。
【0012】
回路設計の規模が大きくなるにつれて、回路に用いられる様々なレイアウトリソースや配線リソースも増加しており、特に配線リソースが爆発的に増加している。配線リソースの爆発的な増加により、EDAツールの数多くのメモリリソースが消費されるだけでなく、表現や運用する際にも数多くのメモリリソースが消費されるため、回路配線のモデリングが難しくなる。上述の事情に鑑み、本発明は、以下の対策案を提供する。
【0013】
実施例1
従来技術において、EDAツールが回路リソースの回路配線を記憶する際に、通常、回路内のすべての回路配線の1本ずつの構造を記憶する。回路設計の規模が大きくなるにつれて、回路に用いられる様々なレイアウトリソースや配線リソースも増加しており、特に配線リソースが爆発的に増加している。このため、従来の回路配線を記憶する方法を用いると、数多くのメモリリソースが占有される。当該問題を解決するために、本実施例によれば、EDAツールに適用される回路配線保護方法が提案される。
図1に示すように、回路配線記憶方法は、回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築するステップS101を含む。
【0014】
理解できるように、EDAツールにおいて、回路配線の起点は、起点と呼ばれ、回路配線の終点は、終点と呼ばれ、起点デバイスは、回路配線の起点に接続されるデバイスであり、終点デバイスは、回路配線の終点に接続されるデバイスであり、起点ポートは、回路配線の起点に接続される起点デバイスのポートであり、終点ポートは、回路配線の終点に接続される終点デバイスのポートである。
【0015】
一部の実施例において、同じタイプの回路配線は、起点デバイス、終点デバイス、および接続されるポートがいずれも同じである複数の回路配線であってもよい。つまり、回路には、起点デバイス、終点デバイス、起点ポート、および終点ポートがいずれも同じタイプである複数の回路配線があれば、複数の回路配線は同じタイプの回路配線である。すなわち、同じタイプの回路配線については、その起点に接続されるデバイスおよび当該デバイスのポート、終点に接続されるデバイスおよび当該デバイスのポートは、いずれも同じである。
【0016】
例えば、ある回路には、二つのDQS(Bi-directional Data Strobe、双方向性データストローブ信号)と二つのCIMがあり、二つのDQSおよび二つのCIMをそれぞれDQS1、DQS2およびCIM1、CIM2とする。また、当該回路には、回路配線1と回路配線2があり、二つの回路配線をそれぞれnet1、net2とする。net1の起点ポートは、DQS1のWL_OVポートであり、終点ポートは、CIM1のS_IY3ポートである。net2の起点ポートは、DQS2のWL_OVポートであり、終点ポートは、CIM2のS_IY3ポートであり、net1とnet2の起点デバイス、起点ポート、終点デバイス、終点ポートがいずれも同じであるため、net1とnet2は、同じタイプに属する回路配線である。
【0017】
長さが異なる回路配線については、伝送遅延などが異なるため、同じタイプの回路配線において、各回路配線の起点デバイス、終点デバイス、起点デバイスと終点デバイスとの相対位置、起点ポート、および終点ポートがいずれも同じであってもよい。つまり、回路には、起点デバイス、終点デバイス、起点デバイスと終点デバイスとの相対位置、起点ポート、および終点ポートがいずれも同じである回路配線があれば、これらの回路配線は同じタイプの回路配線である。
【0018】
例えば、ある回路には、二つのデバイスA(A1、A2とする)、二つのデバイスB(B1、B2とする)、二つの回路配線(net3、net4とする)がある。net3の起点ポートがA1のaポートであり、終点ポートがB1のbポートであり、net4の起点ポートがA2のaポートであり、終点ポートがB2のbポートである。A1がB1の右側に位置し、A1とB1との距離がdであり、A2もB2の右側に位置し、A2とB2との距離がdである。このように、net3およびnet4は、起点デバイス、起点ポート、終点デバイス、終点ポート、起点デバイスと終点デバイスとの相対位置がいずれも同じであるため、両者は、同じタイプに属する回路配線である。
【0019】
理解できるように、EDAツールには、特定機能を実現する回路、FPGAチップ回路のような数多くの回路が記憶されている。EDAツール内に記憶されている回路には、上記のような同じタイプに属する少なくとも2つの回路配線が存在する場合が多い。そこで、回路配線の記憶に消費されるメモリリソースを減少させるために、本実施例において、EDAツール内に記憶されている回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築することができる。すなわち、一つの回路配線モデルは、一つのタイプの回路配線に対応する。ここで、ある回路配線モデルは、当該ある回路におけるあるタイプのすべての回路配線の関連情報を含み、当該回路配線モデルに基づいて、当該タイプのすべての回路配線を復元することができる。回路配線モデルは、いずれのタイプの回路配線に接続される起点ポートの(関連)情報と終点ポートの(関連)情報、および回路における当該タイプに属する回路配線の各回路配線の起点デバイスの(関連)情報と終点デバイスの(関連)情報を含んでもよい。
【0020】
続いて、例えば、net1とnet2は、同じタイプに属する回路配線である。回路における当該タイプの回路配線がnet1とnet2しかない場合、net1とnet2に接続されるポートが同じであるため、これらに対応する回路配線モデルに含まれる情報は、起点デバイスDQS1と起点デバイスDQS2のWL_OVポートの関連情報、終点デバイスCIM1と終点デバイスCIM2のS_IY3ポートの関連情報、起点デバイスDQS1の関連情報、終点デバイスCIM1の関連情報、起点デバイスDQS2の関連情報、および終点デバイスCIM2の関連情報である。これにより、当該回路配線モデルは、回路におけるnet1、net2のようなタイプの回路配線の関連情報を記憶することができる。そして、当該回路配線モデルに基づいて、net1とnet2を復元することができる。
【0021】
或いは、回路配線モデルは、これに対応するあるタイプの回路配線モデルの起点デバイスタイプおよび終点デバイスタイプを含んでもよい。続いて、例えば、net1とnet2は、同じタイプに属する回路配線である。回路における当該タイプの回路配線がnet1とnet2しかない場合、net1とnet2に接続されるポートが同じであるため、これらに対応する回路配線モデルに含まれる情報は、起点デバイスDQS1と起点デバイスDQS2のWL_OVポートの関連情報、終点デバイスCIM1と終点デバイスCIM2のS_IY3ポートの関連情報、起点デバイスDQSのタイプ、終点デバイスCIMのタイプ、起点デバイスDQS1の関連情報、終点デバイスCIM1の関連情報、起点デバイスDQS2の関連情報、および終点デバイスCIM2の関連情報である。
【0022】
同じタイプの回路配線において、各回路配線の起点デバイス、終点デバイス、起点デバイスと終点デバイスとの相対位置、および接続されるポートがいずれも同じである場合、各回路配線の起点デバイスと終点デバイスとの相対位置がいずれも同じであるため、起点デバイスの関連情報および起点デバイスと終点デバイスとの相対位置に基づいて、終点デバイスの関連情報を取得することができ、或いは終点デバイスの関連情報および起点デバイスと終点デバイスとの相対位置に基づいて、起点デバイスの関連情報を取得することができる。このため、同じタイプの回路配線において、回路配線の起点デバイス、起点ポート、終点デバイス、終点ポート、起点デバイスと終点デバイスとの相対位置の5つの要素がいずれも同じである場合、回路配線を記憶するのに消費されるメモリリソースを低減させるために、回路配線モデルは、任意のタイプの回路配線の起点ポートの関連情報、終点ポートの関連情報、当該タイプの回路配線の起点デバイスと終点デバイスとの相対位置情報、回路における当該タイプに属する各回路配線の起点デバイスの関連情報を含み、或いは回路配線モデルは、任意のタイプの回路配線に接続される起点ポートの関連情報、終点ポートの関連情報、当該タイプに属する回路配線の起点デバイスと終点デバイスとの相対位置情報、回路中における当該タイプに属する各回路配線の終点デバイスの関連情報を含む。これにより、起点デバイスのポートの関連情報、終点デバイスのポートの関連情報、各回路配線の起点デバイスの関連情報(或いは終点デバイス関連情報)、および起点デバイスと終点デバイスとの相対位置情報に基づいて、各回路配線を復元することができる。
【0023】
続いて、例えば、回路においてnet3と同じタイプに属する回路配線がnet4しかない場合、これらに対応して構築される回路配線モデルは、net3の起点デバイスA1の関連情報、net4の起点デバイスA2の関連情報、起点ポートa、終点ポートb、および起点デバイスが終点デバイスの右側に位置し、両者の間の距離がdである起点デバイスと終点デバイスとの相対位置を含む。これにより、起点デバイスと終点デバイスとの相対位置および起点デバイスA1に基づいて、終点デバイスB1を検出することができ、起点ポートa、終点ポートb、起点デバイスA1、および終点デバイスB1に基づいて、net3を復元することができる。同様に、net4も復元することができる。
【0024】
ここで、起点デバイスと終点デバイスとの相対位置情報は、起点デバイスを基点とし、起点デバイスに対する終点デバイスの位置オフセット情報であってもよく、終点デバイスを基点とし、終点デバイスに対する起点デバイスの位置オフセット情報であってもよい。
【0025】
本実施例において、回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築する前に、電子設計自動化ツールにおける前記回路のシミュレーションの具体レイアウトに基づいて、座標系を構築することができる。これにより、回路における各デバイスが固有の座標を有し、座標に基づいて当該デバイスを検出することができる。ここで、回路の左下隅を原点とし、それぞれ右と上に(X,Y)座標系を構築することができる。もちろん、座標系は、他の方法によっても構築できるが、本発明では特に制限されない。これにより、回路配線モデルに含まれる各回路配線の起点デバイスの関連情報は、当該起点デバイスの座標情報であってもよい。回路配線モデルに含まれる各回路配線の終点デバイスの関連情報は、当該終点デバイスの座標情報であってもよい。起点デバイスと終点デバイスとの相対位置情報は、起点デバイスと終点デバイスとの座標オフセットであってもよい。
【0026】
例えば、
図2は、ある回路である。
図2に示すように、当該回路は、第1回路配線(net5)2011と、第2回路配線(net6)2012と、第3回路配線(net7)2013と、を含む。第1回路配線2011の起点デバイス(SRB1)2021の座標は、(1,1)であり、終点デバイス(CLMA1)2031の座標は、(4,5)であり、第2回路配線2012の起点デバイス(SRB2)2022の座標は、(8,1)であり、終点デバイス(SRB2)2032の座標は、(11,5)であり、第3回路配線2013の起点デバイス(SRB3)2023の座標は、(1,7)であり、終点デバイス(SRB3)2033の座標は、(4,11)である。第1回路配線2011、第2回路配線2012、および第3回路配線2013の終点ポートは、起点ポートに対して横方向において3、縦方向において4オフセットしたことが分かる。つまり、net5、net6、net7は、同じタイプに属する回路配線である。
【0027】
これを基に、起点デバイス(SRB1)2021、起点デバイス(SRB2)2022、および起点デバイス(SRB3)2023の起点ポートを、ポート1と総称し、終点デバイス(SRB1)2031、終点デバイス(SRB2)2032の終点ポートを、ポート2と総称する。上述したタイプの回路配線モデルにおける情報は、起点デバイスの関連情報および/または終点デバイスCLMAの関連情報、起点ポート1の関連情報、終点ポート2の関連情報、起点デバイスと終点起点との相対位置情報(3,4)(すなわち、横方向において3、縦方向において4オフセットしたことを意味する)、および起点座標(1,1)、(8,1)、(1,7)を含む。当該回路モデルに基づいて、net5、net6、net7を復元することができる。
【0028】
ここで、回路配線の記憶に占有されるリソースを低減させるために、回路配線モデルにおける各回路配線の起点デバイス関連情報は、所定の規則に基づいて当該起点デバイスの横座標と縦座標を処理することにより取得された起点デバイスの座標を表す整数であってもよい。各回路配線の終点デバイス関連情報は、所定の規則に基づいて当該終点デバイスの横座標と縦座標を処理することにより取得された終点デバイスの座標を表す整数であってもよい。ここで、所定の規則は、必要に応じて柔軟に設定することができる。例えば、所定の規則は、Z=(X<<16)+Yであってもよく、ここで、Xは、横座標であり、Yは、縦座標であり、Zは、処理された後の値であり、回路配線モデルに記憶されるためのものである。
【0029】
一部の実施例において、一つの回路配線モデルに対応する一つのタイプの回路配線の起点デバイス或いは終点デバイスの数は、必要に応じて柔軟に設定することができる。例えば、起点の唯一性を確保するために、回路配線モデルに対応するあるタイプの回路配線の起点デバイスの数は、1つであり、終点デバイスの数は、1つまたは少なくとも2つである。
【0030】
ステップS102において、回路配線モデルに基づいて、回路における回路配線を記憶する。
【0031】
本実施例において、回路配線モデルを構築した後に、回路配線モデルに基づいて回路における回路配線のすべての関連情報を記憶する。ここで、当該回路に対応するすべての回路配線モデルを中間ファイルに記憶することができる。
【0032】
回路配線モデルに基づいて回路における回路配線を記憶した後に、回路におけるあるデバイスの回路配線をロードする必要がある場合、回路配線モデルに基づいて回路における当該デバイスの各回路配線の関連情報をロードすることができる。
【0033】
本実施例により提供される回路配線記憶方法では、回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築する。ここで、同じタイプの回路配線において、複数の回路配線の起点デバイス、終点デバイス、起点ポートおよび終点ポートは、いずれも同じであり、回路配線モデルは、あるタイプの回路配線に接続される起点ポートの情報と、終点ポートの情報と、起点デバイスの情報と、終点デバイスの情報と、を含み、つまり、本実施例において、一つの回路配線モデルには、一つのタイプの回路配線の関連情報が含まれ、回路配線モデルに基づいて回路における各回路配線を記憶する。これにより、従来のすべての回路配線のすべての構造を記憶する方法に比べ、本実施例では、回路配線のタイプに基づいて分類し、回路配線のタイプに基づいて回路配線を記憶することにより、数多くのメモリリソースが節約され、ユーザエクスペリエンスが向上する。
【0034】
実施例2
本発明をよりよく理解するために、本実施例をより具体的な例と組み合わせて説明する。
図3に示すように、
図3は、本発明の実施例2に係る回路配線記憶方法のフローチャートである。当該回路配線記憶方法は、EDAツールにおけるFPGAチップ回路のシミュレーションの具体レイアウトに基づいて、座標系を構築するステップS301を含む。
【0035】
図4に示すように、
図4は、EDAツールにおけるFPGAチップ回路全体のシミュレーションの具体レイアウトである。FPGAチップ回路において、デバイスは、重複度が高い特性を有する。正方形で示される各ブロックには、複数のデバイスを有する回路モジュール401が含まれる。各回路モジュール401には、同じ回路モジュール401が含まれる可能性がある。各回路モジュール401の間に回路接続があることを理解されたい。本実施例において、すべての回路モジュール401の全体の左下隅で、座標原点(0,0)を構築し、それぞれ右と上に(X、Y)座標系を構築し、一つの回路モジュール401を一つのグリッドポイントとしてグリッド座標系を構築する。これにより、各グリッドポイントは、独自のグリッドポイント座標を有する。
【0036】
図5に示すように、
図5は、
図4に示したFPGAチップにおけるグリッドポイントの内部ネットリスト接続の構造を示す。同様に当該グリッドポイントの左下隅を原点(0,0)とし,右と上に(X、Y)座標系(ここでデバイス座標系と称する)を構築する。これにより、グリッドポイント内部の各小さいデバイス(device instance)も、独自の相対座標を有する。グリッドポイント座標とデバイス座標に基づいて、いずれのデバイスを識別することができる。複数の小さいデバイスは、起点デバイス11や終点デバイス12などであってもよい。
【0037】
ステップS302において、FPGAチップ回路における各種タイプの回路配線にそれぞれ回路配線モデルを構築する。
【0038】
本実施例において、同じタイプの回路配線は、起点デバイス11、終点デバイス12、起点ポート、終点ポート、および起点デバイスと終点デバイスとの相対位置がいずれも同じである回路配線である。一つの回路配線モデルは、一つのタイプの回路配線に対応する。一つの回路配線モデルは、あるタイプの回路配線の起点デバイスの関連情報、終点デバイスの関連情報、起点ポートの関連情報、終点ポートの関連情報、起点デバイスと終点デバイスとの相対位置、およびFPGAチップ回路における当該タイプに属する各回路配線の起点デバイスの座標情報を含む。ここで、起点デバイスと終点デバイスとの相対位置は、起点デバイスに対する終点デバイスの座標オフセットであり、各回路配線の起点デバイスの座標情報は、所定の規則に基づいて当該起点デバイスの横座標と縦座標を処理することにより取得された起点デバイスの座標を表す整数である。ここで、一つの回路配線モデルにおいて、一つの起点デバイスが回路リードを介して複数の終点デバイスに接続されてもよいが、複数の起点デバイスが回路リードを介して一つの終点デバイスに接続されてはならない。すなわち、各起点デバイスは、回路リードを介して少なくとも一つの終点デバイスに接続され、各終点デバイスは、回路リードを介して一つの起点デバイスに接続される。これにより、基点の唯一性が保証され、起点デバイスの座標と座標オフセットに基づいて終点デバイスの座標を検出することができる。つまり、一つの回路モデルが対応するいずれの回路配線の起点デバイスの数は、一つであり、任意の回路配線の終点デバイスの数は、一つまたは少なくとも二つである。なお、同じタイプに属する各回路配線の起点デバイスの数が同じであり、終点デバイスの数が同じである。
【0039】
ここで、回路配線モデルの記憶フォーマットは、以下である。
[NETVIEW BEGIN]
[DRIVERREF WL_OV (STRUCTUREREF (DEVICEREF DQS)) 0 0]
[LOADREF S_IY3 (STRUCTUREREF(DEVICEREF CIM)) 4 2]
[DEVICE BEGIN]
8060928 8061417 10420224 10420713 12779520 12780009 15138816 15139305 17498112 17498601 20119552 20120041 22478848 22479337 24838144 24838633 27197440 27197929 29556736 29557225 31916032 31916521 3342825 34275328 34275817 5701632 5702121
[DEVICE END]
[NETVIEW END]
【0040】
上述は、完全な回路配線モデルのデータストレージである。ここで、[DRIVERREF WL_OV (STRUCTUREREF (DEVICEREF DQS)) 0 0]における「WL_OV」は、当該タイプの回路配線の起点ポートであり、「DQS」は、当該タイプの回路配線の起点デバイスであり、「0 0」は、当該タイプの回路配線の基点に対する起点デバイスの座標オフセット(基点が起点デバイスであるため、「0 0」になる)であり、[LOADREF S_IY3 (STRUCTUREREF(DEVICEREF CIM)) 4 2]における「S_IY3」は、当該タイプの回路配線の終点ポートであり、「CIM」は、当該タイプの回路配線の終点デバイスであり、「4 2」は、当該タイプの回路配線の基点に対する終点デバイスの座標オフセット(基点が起点デバイスであるため、起点デバイスに対する終点デバイスの座標オフセットになる)であり、「8060928 8061417 10420224 10420713 12779520 12780009 15138816 15139305 17498112 17498601 20119552 20120041 22478848 22479337 24838144 24838633 27197440 27197929 29556736 29557225 31916032 31916521 3342825 34275328 34275817 5701632 5702121」における各整数は、当該タイプに属する各回路配線の起点デバイスの座標であり、ここで27つの起点座標がある。このため、27つの当該タイプに属する回路配線に相当する。上記の例は、当該回路配線モデルを用いる回路配線が27つあることを示す。回路配線モデルは、DQSリソースのWL_OVポートからCIMリソースのS_IY3ポートへ接続する回路配線である。これらの間の相対座標は、起点ポートWL_OVが位置するデバイスを基点とし、起点デバイスに対する終点ポートS_IY3が位置するデバイスの座標オフセットは、X座標オフセットが4であり、Y座標オフセットが2である。
【0041】
ステップS303において、回路配線モデルに基づいてFPGAチップ回路における回路配線を記憶する。
【0042】
すべてのタイプの回路配線に対応する回路配線モデルを中間ファイルに記憶することにより、当該ファイルがFPGAチップ全体のすべての回路接続関係を記述することができる。EDAツールに回路配線をロードする場合、中間ファイルから配線モデルをロードして構築するだけで、FPGAのすべての回路配線をEDAツールにロードできる。
【0043】
EDAツールで回路配線を用いる場合、いずれのデバイスのポートAを指定し、デバイスがグリッド座標系に位置するため、FPGAデバイス全体に相当する絶対座標を有する。また、ポートAが構築時に自身特性を持つ回路配線モデルが既に記憶されたため、ポートAに接続される回路配線を取得する必要がある場合、ポートAは、自身が位置するデバイスの絶対座標と、回路配線モデルにおける起点および終点が位置するデバイス間の座標オフセットとに基づいて、回路配線モデルにおける他のノードに位置するデバイスのデバイス情報を検出し、ノード名に応じて、ノード名に対応するポート情報を取得し、必要な回路配線(device net)を構築することができる。
【0044】
本実施例により提供される回路配線記憶方法では、回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築する。ここで、同じタイプの回路配線において、複数の回路配線の起点デバイス、終点デバイス、起点ポートおよび終点ポートは、いずれも同じであり、回路配線モデルは、あるタイプの回路配線に接続される起点ポートの情報と、終点ポートの情報と、起点デバイスの情報と、終点デバイスの情報と、を含む。つまり、本実施例において、一つの回路配線モデルには、一つのタイプの回路配線の関連情報が含まれ、回路配線モデルに基づいて回路における各回路配線を記憶する。これにより、従来のすべての回路配線のすべての構造を記憶する方法に比べ、本実施例では、回路配線のタイプに基づいて分類し、回路配線のタイプに基づいて回路配線を記憶することにより、数多くのメモリリソースが節約され、ユーザエクスペリエンスが向上する。
【0045】
実施例3
図6に示すように、本実施例により提供されるFPGAシステムは、プロセッサ601と、メモリ602と、通信バス603と、を含む。ここで、通信バス603は、プロセッサ601とメモリ602との間に接続通信を可能にするものである。プロセッサ601は、前記実施例1及び実施例2における回路配線記憶方法の少なくとも一つのステップが行われるように、メモリ602に記憶されている一つまたは複数のコンピュータプログラムを実行する。
【0046】
本実施例により提供される記憶媒体は、情報(例えば、コンピュータ可読命令、データ構造、コンピュータプログラムモジュール又はその他のデータ)を記憶するための任意の方法又は技術において実施される揮発性又は非揮発性、取り外し可能又は取り外し不可能な媒体を含む。記憶媒体は、RAM(Random Access Memory、ランダムアクセスメモリ)、ROM(Read-Only Memory、読み出し専用メモリ)、EEPROM(Electrically Erasable Programmable read only memory、電気的に消去、書き換え可能な読み取り専用メモリ)、フラッシュメモリ又はその他のメモリ技術、CD-ROM(Compact Disc Read-Only Memory、コンパクトディスク読み出し専用メモリ)、デジタル多機能ディスク(DVD)又はその他の光ディスクメモリ、磁気ボックス、磁気テープ、磁気ディスク記憶装置又はその他の磁気記憶システム、或いは必要な情報を記憶可能であるとともに、コンピュータからアクセス可能なその他の媒体を含むが、この限りではない。
【0047】
本実施例に係る記憶媒体は、一つまたは複数のコンピュータプログラムを記憶するために用いられる。上述した実施例1および実施例2における回路配線記憶方法にステップが行われるように、記憶される一つまたは複数のコンピュータプログラムは、プロセッサにより実行される。
【0048】
本実施例により提供されるFPGAシステムおよび記憶媒体では、記憶媒体により一つまたは複数のコンピュータプログラムを記憶し、一つまたは複数のコンピュータプログラムにより回路における各タイプの回路配線毎にそれぞれ回路配線モデルを構築する。ここで、同じタイプの回路配線において、複数の回路配線の起点デバイス、終点デバイス、起点ポートおよび終点ポートは、いずれも同じであり、回路配線モデルは、あるタイプの回路配線に接続される起点ポートの情報と、終点ポートの情報と、起点デバイスの情報と、終点デバイスの情報と、を含む。つまり、本実施例において、一つの回路配線モデルは、一つのタイプの回路配線の関連情報を含み、回路配線モデルに基づいて回路における各回路配線を記憶する。これにより、従来のすべての回路配線のすべての構造を記憶する方法に比べ、本発明では、回路配線のタイプに基づいて分類し、回路配線のタイプに基づいて回路配線を記憶することにより、数多くのメモリリソースが節約され、ユーザエクスペリエンスが向上する。
【0049】
当業者が理解できるように、上記に開示された方法における全部又は一部のステップ、装置における機能モジュール/ユニットは、ソフトウェア(コンピューティングシステムにより実行可能なコンピュータプログラムコードで実現される)、ファームウェア、ハードウェアおよびそれらの適切な組み合わせとして実施される。ハードウェアの実施様態において、上記の説明で説明した機能モジュール/ユニット間の分割は、必ずしも物理コンポーネントの分割に対応しているわけではない。例えば、一つの物理コンポーネントが複数の機能を持つことも、一つの機能又はステップが複数の物理コンポーネントによって連携して実行されることもある。一部又はすべての物理コンポーネントは、中央処理装置、デジタル信号プロセッサ、またはマイクロプロセッサなどのプロセッサによって実行されるソフトウェア、ハードウェア、又は特定用途向け集積回路などの集積回路として実行される。
【0050】
上記の内容は、具体的な実施様態に基づいて本発明の実施例をさらに詳しく説明したものであり、本発明の具体的な実施がこれらの説明に限定されると考えることはできない。当業者は、本発明の精神から逸脱しない限り、若干の改良及び修正を加えることができる。これらの改良及び修正も本発明の保護の範囲と見なされる。
【0051】
本願は、2019年07月22日に中国専利局に提出された、出願番号が201910662629.5であり、発明の名称が「回路配線記憶方法、装置および記憶媒体」である中国特許出願の優先権を主張するものであり、先願の内容をすべて組み込んでいる。