JP7065794B2 - グラフベースの類似度検索を用いたfpga実装のインクリメンタル方式による生成 - Google Patents
グラフベースの類似度検索を用いたfpga実装のインクリメンタル方式による生成 Download PDFInfo
- Publication number
- JP7065794B2 JP7065794B2 JP2019001636A JP2019001636A JP7065794B2 JP 7065794 B2 JP7065794 B2 JP 7065794B2 JP 2019001636 A JP2019001636 A JP 2019001636A JP 2019001636 A JP2019001636 A JP 2019001636A JP 7065794 B2 JP7065794 B2 JP 7065794B2
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- graph
- implementation
- similarity
- similar
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 68
- 230000002194 synthesizing effect Effects 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 238000013459 approach Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007616 round robin method Methods 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/06—Spare resources, e.g. for permanent fault suppression
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
12 ネットリスト
14 FPGA実装
16 ビットストリーム
20 アーチファクト
22 データベース
24 モデルグラフ
26 参照
30 類似度グラフ、類似度線図
32 エッジ
34 ノード
36 重み
38 付加的なエッジ
40 点線矢印
Claims (16)
- FPGAモデルであるFPGAデザイン(10)および/またはハードウェア記述に基づき、FPGA実装(14)を生成する方法であって、前記方法は、
前記FPGAデザイン(10)からネットリスト(12)を合成するステップと、
前記FPGAデザイン(10)に基づきグラフベース表現を生成するステップと、
類似FPGA実装(14)を検索するステップと、
前記類似FPGA実装(14)を使用して、前記ネットリスト(12)から前記FPGA実装(14)を生成するステップと、
を含み、
類似FPGA実装(14)を検索する前記ステップは、前記FPGAデザイン(10)の前記グラフベース表現と、前記類似FPGA実装(14)のグラフベース表現と、を比較するステップを含む
ことを特徴とする方法。 - 前記FPGAデザイン(10)は、部分実装を含み、
類似FPGA実装(14)を検索する前記ステップは、類似部分実装の検索を含み、
前記類似部分実装を使用して、前記FPGA実装(14)を生成する前記ステップを行う、
請求項1記載の方法。 - 類似FPGA実装(14)を検索する前記ステップは、以前のFPGA実装(14)のデータベース(22)内の類似FPGA実装(14)の検索を含む、
請求項1または2記載の方法。 - 前記方法は、前記FPGAデザイン(10)の変更された部分領域を識別するステップをさらに含み、
前記ネットリスト(12)を合成する前記ステップは、前記FPGAデザイン(10)の前記変更された部分領域に対する前記ネットリスト(12)の合成を含み、
FPGA実装(14)を生成する前記ステップは、前記FPGAデザイン(10)の前記変更された部分領域の前記ネットリスト(12)に対する前記FPGA実装(14)の生成を含む、
請求項1から3までのいずれか1項記載の方法。 - 前記方法は、
前記FPGAデザイン(10)の前記グラフベース表現と、少なくとも1つの前記類似FPGA実装(14)の前記グラフベース表現と、の間の類似度の大きさを特定するステップと、
前記類似度の大きさが限界値を下回っているならば、類似FPGA実装(14)を使用せずに、前記ネットリスト(12)から前記FPGA実装(14)を生成するステップと、
をさらに含む、
請求項1から4までのいずれか1項記載の方法。 - 前記FPGAデザイン(10)の前記グラフベース表現と、前記類似FPGA実装(14)の前記グラフベース表現と、を比較する前記ステップは、線形最適化問題の解決を含み、前記解決にあたり、1つのノードを二重に割り当てることなく、一方のグラフ内の各ノードに対し他方のグラフ内の最類似ノードを識別する、
請求項1から5までのいずれか1項記載の方法。 - 前記方法は、前記FPGAデザイン(10)の前記グラフベース表現のノードと、少なくとも1つの前記類似FPGA実装(14)の前記グラフベース表現のノードと、の類似度を、細分化点の一致の検出によって特定するステップをさらに含む、
請求項1から6までのいずれか1項記載の方法。 - 細分化点の一致を検出する前記ステップは、前記細分化点の重み付けを含む、
請求項7記載の方法。 - 前記方法は、
データベース(22)内に含まれている複数のグラフ(24)の類似度分析を実施する付加的なステップと、
算出された類似度を類似度グラフ(30)または類似度マトリックスに記憶するステップと、
をさらに含む、
請求項1から8までのいずれか1項記載の方法。 - 前記方法は、前記データベース(22)内に含まれる前記複数のグラフ(24)間の関係性類似度を算出するステップをさらに含む、
請求項9記載の方法。 - 前記方法は、すでに特定された類似度に基づき、未特定の関係性について予期される高い類似度を事前に求めるステップをさらに含む、
請求項1から10までのいずれか1項記載の方法。 - 前記FPGAデザイン(10)の前記グラフベース表現と、前記類似FPGA実装(14)のグラフベース表現と、を比較する前記ステップは、近傍関係を考慮する近傍マッチングを含む、
請求項1から11までのいずれか1項記載の方法。 - 前記FPGAデザイン(10)に基づきグラフベース表現を生成する前記ステップは、仮想接続を考慮しながら前記FPGAデザイン(10)を非階層化するステップと、前記FPGAデザイン(10)の前記非階層化に基づき変換関数を適用するステップと、を含む、
請求項1から12までのいずれか1項記載の方法。 - 前記FPGAデザイン(10)から前記ネットリスト(12)を合成する前記ステップと、前記FPGAデザイン(10)に基づき前記グラフベース表現を生成する前記ステップと、を並列に実行する、
請求項1から13までのいずれか1項記載の方法。 - 前記FPGAデザイン(10)の前記グラフベース表現と、少なくとも1つの前記類似FPGA実装(14)のグラフベース表現と、を比較するステップは、グラフを類似度分析するアルゴリズムに基づき行われる、
請求項1から14までのいずれか1項記載の方法。 - FPGAモデルであるFPGAデザイン(10)および/またはハードウェア記述に基づきビットストリーム(16)を生成する方法であって、前記方法は、
請求項1から15までのいずれか1項に従い、FPGAモデルであるFPGAデザイン(10)および/またはハードウェア記述に基づきFPGA実装(14)を生成するステップと、
生成された前記FPGA実装(14)からビットストリーム(16)を生成するステップと、
を含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018100423.0 | 2018-01-10 | ||
DE102018100423.0A DE102018100423A1 (de) | 2018-01-10 | 2018-01-10 | Inkrementelles Generieren einer FPGA Implementierung mit Graphen-basierter Ähnlichkeitssuche |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019121404A JP2019121404A (ja) | 2019-07-22 |
JP2019121404A5 JP2019121404A5 (ja) | 2021-12-23 |
JP7065794B2 true JP7065794B2 (ja) | 2022-05-12 |
Family
ID=66995361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001636A Active JP7065794B2 (ja) | 2018-01-10 | 2019-01-09 | グラフベースの類似度検索を用いたfpga実装のインクリメンタル方式による生成 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10706196B2 (ja) |
JP (1) | JP7065794B2 (ja) |
CN (1) | CN110020456B (ja) |
DE (1) | DE102018100423A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353182B (zh) * | 2020-03-11 | 2023-05-05 | 电子科技大学 | 一种面向fpga芯片的网表环路识别方法 |
US20220321403A1 (en) * | 2021-04-02 | 2022-10-06 | Nokia Solutions And Networks Oy | Programmable network segmentation for multi-tenant fpgas in cloud infrastructures |
CN113836863B (zh) * | 2021-09-30 | 2024-05-28 | 安徽大学 | 一种Logisim电路图的查重方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001515247A (ja) | 1997-08-28 | 2001-09-18 | ザイリンクス, インコーポレイテッド | 動的再形態特定可能演算用のfpga設計方法 |
JP2017191556A (ja) | 2016-04-15 | 2017-10-19 | 富士通株式会社 | 類似度検索装置、類似度検索方法および類似度検索プログラム |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3196950B2 (ja) * | 1993-11-30 | 2001-08-06 | 日本電信電話株式会社 | 回路情報の検証システム |
JPH11219379A (ja) * | 1998-01-30 | 1999-08-10 | Nec Eng Ltd | Vhdlモデルの変更方法 |
US6453454B1 (en) | 1999-03-03 | 2002-09-17 | Oridus Inc. | Automatic engineering change order methodology |
US7017043B1 (en) * | 1999-03-19 | 2006-03-21 | The Regents Of The University Of California | Methods and systems for the identification of circuits and circuit designs |
US7055120B2 (en) * | 2000-12-06 | 2006-05-30 | Cadence Design Systems, Inc. | Method and apparatus for placing circuit modules |
US7237214B1 (en) * | 2003-03-04 | 2007-06-26 | Synplicity, Inc. | Method and apparatus for circuit partitioning and trace assignment in circuit design |
US7673164B1 (en) * | 2004-12-13 | 2010-03-02 | Massachusetts Institute Of Technology | Managing power in a parallel processing environment |
US7284228B1 (en) * | 2005-07-19 | 2007-10-16 | Xilinx, Inc. | Methods of using ant colony optimization to pack designs into programmable logic devices |
CA2661715A1 (en) * | 2006-08-31 | 2008-03-06 | Satish Bachina | Method and system for implementing a circuit design in a reconfigurable device |
CN101196945B (zh) * | 2006-12-04 | 2010-06-02 | 富士通株式会社 | 电路设计支持装置及方法、印刷电路板制造方法 |
US20080162777A1 (en) * | 2006-12-29 | 2008-07-03 | Sap Ag | Graph abstraction pattern for generic graph evaluation |
US8060355B2 (en) * | 2007-07-27 | 2011-11-15 | Synopsys, Inc. | Automatic, hierarchy-independent partitioning method for transistor-level circuit simulation |
CN101620643B (zh) * | 2009-07-03 | 2011-03-09 | 中国人民解放军国防科学技术大学 | 一种基于fpga的体系结构仿真系统设计方法 |
US8196081B1 (en) | 2010-03-31 | 2012-06-05 | Xilinx, Inc. | Incremental placement and routing |
US8533643B2 (en) * | 2010-12-17 | 2013-09-10 | Advanced Micro Devices, Inc. | Method and apparatus for performing template-based classification of a circuit design |
JP5763784B2 (ja) * | 2011-01-25 | 2015-08-12 | マイクロン テクノロジー, インク. | 要素利用のための状態のグループ化 |
CN102054110A (zh) * | 2011-01-27 | 2011-05-11 | 复旦大学 | Fpga可编程逻辑块通用装箱方法 |
US8904325B2 (en) * | 2012-01-31 | 2014-12-02 | Mentor Graphics Corporation | Verification test set and test bench map maintenance |
CN103366028B (zh) * | 2012-03-31 | 2016-03-16 | 中国科学院微电子研究所 | 一种现场可编程门阵列芯片布局方法 |
US8578311B1 (en) * | 2012-05-09 | 2013-11-05 | International Business Machines Corporation | Method and system for optimal diameter bounding of designs with complex feed-forward components |
US10152557B2 (en) * | 2014-01-31 | 2018-12-11 | Google Llc | Efficient similarity ranking for bipartite graphs |
US9449133B2 (en) | 2014-05-07 | 2016-09-20 | Lattice Semiconductor Corporation | Partition based design implementation for programmable logic devices |
US9444702B1 (en) * | 2015-02-06 | 2016-09-13 | Netspeed Systems | System and method for visualization of NoC performance based on simulation output |
US9875333B1 (en) * | 2016-01-19 | 2018-01-23 | Cadence Design Systems, Inc. | Comprehensive path based analysis process |
CN105843982B (zh) * | 2016-03-07 | 2019-04-12 | 深圳市紫光同创电子有限公司 | 用于可编程逻辑器件的位流生成方法、装置及设计系统 |
-
2018
- 2018-01-10 DE DE102018100423.0A patent/DE102018100423A1/de active Pending
- 2018-12-03 US US16/207,457 patent/US10706196B2/en active Active
- 2018-12-28 CN CN201811616236.2A patent/CN110020456B/zh active Active
-
2019
- 2019-01-09 JP JP2019001636A patent/JP7065794B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001515247A (ja) | 1997-08-28 | 2001-09-18 | ザイリンクス, インコーポレイテッド | 動的再形態特定可能演算用のfpga設計方法 |
JP2017191556A (ja) | 2016-04-15 | 2017-10-19 | 富士通株式会社 | 類似度検索装置、類似度検索方法および類似度検索プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN110020456A (zh) | 2019-07-16 |
DE102018100423A1 (de) | 2019-07-11 |
US10706196B2 (en) | 2020-07-07 |
US20190213294A1 (en) | 2019-07-11 |
JP2019121404A (ja) | 2019-07-22 |
CN110020456B (zh) | 2024-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7065794B2 (ja) | グラフベースの類似度検索を用いたfpga実装のインクリメンタル方式による生成 | |
JP6902112B2 (ja) | 人工知能および強化学習によるシステムオンチップ(SoC)回路の設計システムおよび方法 | |
JP2972540B2 (ja) | Lsi自動設計システム及びlsi自動設計方法 | |
US5483470A (en) | Timing verification by successive approximation | |
EP1550059B1 (en) | A system and method for reducing wire delay or congestion during synthesis of hardware solvers | |
US9881114B2 (en) | Virtual hierarchical layer propagation | |
US7065726B1 (en) | System and method for guiding and optimizing formal verification for a circuit design | |
EP0847022A2 (en) | Method for designing an architectural system | |
US20070233532A1 (en) | Business process analysis apparatus | |
US7490312B1 (en) | Partition-based incremental implementation flow for use with a programmable logic device | |
CN109885580A (zh) | 一种热点账户批量更新方法、装置、服务器和存储介质 | |
CN115796041A (zh) | 神经网络模型部署方法、系统、设备及存储介质 | |
Manoranjan et al. | Qualifying relative timing constraints for asynchronous circuits | |
JP6173644B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US10878150B1 (en) | Loop optimization in a circuit design netlist | |
US8595659B2 (en) | Verification and reachability using an organic approach | |
US6609234B2 (en) | Ordering binary decision diagrams used in the formal equivalence verification of digital designs | |
US10839118B1 (en) | Optimization-aware incremental synthesis | |
US8701062B2 (en) | Apparatus and method for generating a netlist using non-uniquified module during logic synthesis stage | |
Chatterjee et al. | A new incremental placement algorithm and its application to congestion-aware divisor extraction | |
JPH05197774A (ja) | 高位レベル合成における回路修正方式 | |
US20220277118A1 (en) | Multi-Component Simulation Method and System | |
JP2000150659A (ja) | 半導体集積回路装置のレイアウト設計方法 | |
Kosztyán et al. | Operations Research Perspectives | |
CN118709717A (zh) | 模型部署方式的确定方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211111 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211111 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20211111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220317 |
|
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: 20220328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7065794 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |