JP5797438B2 - シミュレーション装置、シミュレーション方法、シミュレーター及び記憶媒体 - Google Patents
シミュレーション装置、シミュレーション方法、シミュレーター及び記憶媒体 Download PDFInfo
- Publication number
- JP5797438B2 JP5797438B2 JP2011076608A JP2011076608A JP5797438B2 JP 5797438 B2 JP5797438 B2 JP 5797438B2 JP 2011076608 A JP2011076608 A JP 2011076608A JP 2011076608 A JP2011076608 A JP 2011076608A JP 5797438 B2 JP5797438 B2 JP 5797438B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- simulation
- stage
- functional unit
- information
- 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
- 238000004088 simulation Methods 0.000 title claims description 70
- 238000000034 method Methods 0.000 title claims description 36
- 230000004913 activation Effects 0.000 claims description 14
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 101000869690 Homo sapiens Protein S100-A8 Proteins 0.000 description 3
- 102100032442 Protein S100-A8 Human genes 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000000779 depleting effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000009466 transformation Effects 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/33—Design verification, e.g. functional simulation or model checking
-
- 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/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- 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
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Description
Claims (18)
- 機能ユニットの間のルーティングのディレーに関する情報と、スケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットとそのオペランドを消耗する機能ユニットの間のルーティング経路を表現するキューを有するプロセッサーモデルを生成するプロセッサーモデリング部と;
前記のプロセッサーモデリング部で生成されたプロセッサーモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行させた結果の値を出力するシミュレーション部;
を含む再構成可能なプロセッサーのシミュレーション装置。 - 請求項1において、
前記のプロセッサーモデリング部が定義するキューは該当ルーティング経路のディレーとステージの起動間隔の比に相当する数のスロットを持つ再構成可能なプロセッサーのシミュレーション装置。 - 請求項2において、前記シミュレーション部は各機能ユニットで生成されたオペランドを該当キューの最初のスロットに記録して、起動間隔毎に各スロットに記録された情報を隣接するスロットの間で遷移させる再構成可能なプロセッサーのシミュレーション装置。
- 請求項1において、コンパイラーから入力されるバイナリファイルは、構成ファイルと実行ファイルを含む再構成可能なプロセッサーのシミュレーション装置。
- 請求項1において、前記のシミュレーション装置は各ルーティングキューの動作についてのホスト向バイナリコードを保存するモデリングコードDBを含め、
前記シミュレーション部は、前記のモデリングコードDBから抽出したホスト向バイナリコードから各ルーティングキューの接続を再構成して、シミュレーションを行う再構成可能なプロセッサーのシミュレーション装置。 - 機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットと消耗する機能ユニットの間のルーティング経路を表現するキューを有するプロセッサーモデルを生成するプロセッサーのモデリングの段階と;
前記のプロセッサーのモデリングの段階で生成されたプロセッサーモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行した結果の値を出力するシミュレーションの段階を含む再構成可能なプロセッサーのシミュレーション方法。 - 請求項6において、
前記のプロセッサーのモデリングの段階が定義するキューは該当ルーティング経路のルーティングのディレーと、ステージの起動間隔の比に相当する数のスロットを持つ再構成可能なプロセッサーのシミュレーション方法。 - 請求項7において、前記のシミュレーションの段階は各機能ユニットで生成されたオペランドを該当キューの最初のスロットに記録して起動間隔毎に各スロットに記録された情報を隣接するスロットの間で遷移させる再構成可能なプロセッサーのシミュレーション方法。
- 請求項6において、前記のステージ情報は一循環のステージ分割の情報と、各ステージに関して割り当てられた機能ユニットと、オペランドを生成する機能ユニットとその生成されたオペランドを消耗する機能ユニットの間の関係についての特定の情報を含む再構成可能なプロセッサーのシミュレーション方法。
- 請求項6において、コンパイラーから入力されるバイナリファイルは構成ファイルと実行ファイルを含む再構成可能なプロセッサーのシミュレーション方法。
- 請求項6において、前記のバイナリファイルのシミュレーションの段階はバイナリファイルを読み込み各ルーティングキューの動作のホスト向バイナリコードを保存するためのモデリングコードDBから抽出された対応するホスト向バイナリコードを実行してシミュレーションを実行する再構成可能なプロセッサーのシミュレーション方法。
- プロセッサーが再構成可能なプロセッサーのシミュレーション方法を具現するようにするプログラムのコマンドが保存されたコンピュータで読み取られる記憶媒体において、前記の方法が;
機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットと消耗する機能ユニットの間のルーティング経路を表現するキューを有するプロセッサーモデルを生成するプロセッサーのモデリングの段階と;
前記のプロセッサーのモデリングの段階で生成されたプロセッサーモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行した結果の値を出力するシミュレーションの段階を含む再構成可能なプロセッサーのシミュレーション方法が保存されたコンピュータで読み取られる記憶媒体。 - 機能ユニットの間のルーティングのディレーに関する情報と、スケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットとそのオペランドを消耗する機能ユニットの間のルーティング経路を表現する抽象化された構造モデルを生成するプロセッサーモデリング部と;
前記のプロセッサーモデリング部で生成される抽象化された構造モデルをもとに、コンパイラーから入力されるバイナリファイルを模擬実行させた、結果の値を出力するシミュレーション部;
を含む再構成可能なプロセッサーのシミュレーター。 - 請求項13のシミュレーターにおいて、バイナリファイルは再構成可能なプロセッサーの機能ユニットが特定のアプリケーションを実行するためにどのようにマッピングされるかに関する情報を有する構成情報を含むシミュレーター。
- 請求項13のシミュレーターにおいて、バイナリファイルは所定の期間中に固定された構造を有する機能ユニットに基づいて再構成可能なプロセッサー内のそれぞれの機能ユニットによって実行されるコマンドを含む実行ファイルを有するシミュレーター。
- 請求項13のシミュレーターにおいては、抽象化された構造モデルはオペランドを生成する機能ユニットのオペランドを消耗する機能ユニットにマッピングするキューを含むシミュレーター。
- 請求項16のシミュレーターにおいて、一つの機能ユニットf1は時刻t1にオペランドを生成する時のキューは機能ユニットf1の目的地ポート(destination port)をそのオペランドを消耗する機能ユニットf2の出発地のポート(source port)にマッピングするシミュレーター。
- 請求項13のシミュレーターにおいて、プロセッサーのモデリング部はスケジューラーから受信されるスケジューリング情報をもとに抽象化された構造モデルを更新するシミュレーター。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100029379A KR101647817B1 (ko) | 2010-03-31 | 2010-03-31 | 재구성 가능한 프로세서의 시뮬레이션 장치 및 방법 |
KR10-2010-0029379 | 2010-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011216092A JP2011216092A (ja) | 2011-10-27 |
JP5797438B2 true JP5797438B2 (ja) | 2015-10-21 |
Family
ID=44121730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011076608A Active JP5797438B2 (ja) | 2010-03-31 | 2011-03-30 | シミュレーション装置、シミュレーション方法、シミュレーター及び記憶媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8725486B2 (ja) |
EP (1) | EP2372587B1 (ja) |
JP (1) | JP5797438B2 (ja) |
KR (1) | KR101647817B1 (ja) |
CN (1) | CN102207904B (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10983947B2 (en) * | 2011-11-21 | 2021-04-20 | Robert Keith Mykland | Method and dynamically reconfigurable processor adapted for management of persistence of information across multiple instruction cycles |
KR101926464B1 (ko) * | 2012-10-11 | 2018-12-07 | 삼성전자 주식회사 | 멀티코어 프로세서에서 수행되는 프로그램의 컴파일 방법, 멀티코어 프로세서의 태스크 매핑 방법 및 태스크 스케줄링 방법 |
KR101962250B1 (ko) * | 2013-03-05 | 2019-03-26 | 삼성전자주식회사 | 재구성가능 아키텍처를 위한 스케줄러 및 스케줄링 방법 |
KR20140126190A (ko) * | 2013-04-22 | 2014-10-30 | 삼성전자주식회사 | 프로세서의 긴 라우팅 처리를 지원하는 메모리 장치, 그 메모리 장치를 이용한 스케줄링 장치 및 방법 |
KR102204282B1 (ko) * | 2013-11-25 | 2021-01-18 | 삼성전자주식회사 | 다수의 기능 유닛을 가지는 프로세서를 위한 루프 스케쥴링 방법 |
US11010505B2 (en) | 2015-12-01 | 2021-05-18 | International Business Machines Corporation | Simulation of virtual processors |
US10996970B2 (en) * | 2017-12-14 | 2021-05-04 | Samsung Electronics Co., Ltd. | Method for data center storage evaluation framework simulation |
CN109471636B (zh) * | 2018-09-14 | 2020-07-14 | 上海交通大学 | 粗粒度可重构体系结构的算子映射方法及系统 |
US11237971B1 (en) * | 2020-09-16 | 2022-02-01 | SambaNova Systems, Inc. | Compile time logic for detecting streaming compatible and broadcast compatible data access patterns |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841967A (en) | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
US6766284B2 (en) | 1998-04-10 | 2004-07-20 | Peter Finch | Method and apparatus for generating co-simulation and production executables from a single source |
US6421808B1 (en) * | 1998-04-24 | 2002-07-16 | Cadance Design Systems, Inc. | Hardware design language for the design of integrated circuits |
US20010025363A1 (en) * | 2000-03-24 | 2001-09-27 | Cary Ussery | Designer configurable multi-processor system |
WO2001095161A2 (en) * | 2000-06-02 | 2001-12-13 | Virtio Corporation | Method and system for virtual prototyping |
US7054802B2 (en) | 2000-10-20 | 2006-05-30 | Quickturn Design Systems, Inc. | Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading |
US20020133325A1 (en) | 2001-02-09 | 2002-09-19 | Hoare Raymond R. | Discrete event simulator |
US20030149962A1 (en) | 2001-11-21 | 2003-08-07 | Willis John Christopher | Simulation of designs using programmable processors and electronically re-configurable logic arrays |
US7366651B1 (en) | 2003-03-14 | 2008-04-29 | Xilinx, Inc. | Co-simulation interface |
US7234125B1 (en) * | 2003-06-23 | 2007-06-19 | Altera Corporation | Timing analysis for programmable logic |
EP1530137A1 (en) | 2003-11-10 | 2005-05-11 | Robert Bosch Gmbh | Simulation system and computer-implemented method for simulation and verifying a control system |
US7698118B2 (en) * | 2004-04-15 | 2010-04-13 | Mentor Graphics Corporation | Logic design modeling and interconnection |
US20060277020A1 (en) | 2005-06-02 | 2006-12-07 | Tharas Systems | A reconfigurable system for verification of electronic circuits using high-speed serial links to connect asymmetrical evaluation and canvassing instruction processors |
US7380232B1 (en) * | 2006-03-10 | 2008-05-27 | Xilinx, Inc. | Method and apparatus for designing a system for implementation in a programmable logic device |
GB0605349D0 (en) * | 2006-03-17 | 2006-04-26 | Imec Inter Uni Micro Electr | Reconfigurable multi-processing coarse-grain array |
KR100813662B1 (ko) | 2006-11-17 | 2008-03-14 | 삼성전자주식회사 | 프로세서 구조 및 응용의 최적화를 위한 프로파일러 |
US8265917B1 (en) * | 2008-02-25 | 2012-09-11 | Xilinx, Inc. | Co-simulation synchronization interface for IC modeling |
US7979759B2 (en) * | 2009-01-08 | 2011-07-12 | International Business Machines Corporation | Test and bring-up of an enhanced cascade interconnect memory system |
KR101635397B1 (ko) * | 2010-03-03 | 2016-07-04 | 삼성전자주식회사 | 재구성 가능한 프로세서 코어를 사용하는 멀티코어 시스템의 시뮬레이터 및 시뮬레이션 방법 |
-
2010
- 2010-03-31 KR KR1020100029379A patent/KR101647817B1/ko active IP Right Grant
-
2011
- 2011-01-25 US US13/012,945 patent/US8725486B2/en active Active
- 2011-02-16 EP EP11154723.8A patent/EP2372587B1/en active Active
- 2011-03-30 JP JP2011076608A patent/JP5797438B2/ja active Active
- 2011-03-31 CN CN201110089956.XA patent/CN102207904B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20110246170A1 (en) | 2011-10-06 |
KR20110109590A (ko) | 2011-10-06 |
JP2011216092A (ja) | 2011-10-27 |
CN102207904B (zh) | 2019-03-29 |
CN102207904A (zh) | 2011-10-05 |
KR101647817B1 (ko) | 2016-08-24 |
US8725486B2 (en) | 2014-05-13 |
EP2372587B1 (en) | 2016-12-28 |
EP2372587A1 (en) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5797438B2 (ja) | シミュレーション装置、シミュレーション方法、シミュレーター及び記憶媒体 | |
TWI806550B (zh) | 處理器操作方法、相關電腦系統、及非暫時性電腦可存取儲存媒體 | |
US20100100704A1 (en) | Integrated circuit incorporating an array of interconnected processors executing a cycle-based program | |
US9619298B2 (en) | Scheduling computing tasks for multi-processor systems based on resource requirements | |
JP2014016894A (ja) | 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム | |
JP5985900B2 (ja) | 動作合成装置、動作合成装置を備えたデータ処理システム、及び、動作合成プログラム | |
US9471327B2 (en) | Verifying forwarding paths in pipelines | |
US20130339689A1 (en) | Later stage read port reduction | |
KR20150040662A (ko) | 모듈로 스케줄링 방법, 모듈로 스케줄링 장치, 모듈로 스케줄링에 따라서 동작하는 재구성 가능한 프로세서 및 재구성 가능한 프로세서의 동작 방법 | |
Ruschke et al. | Scheduler for inhomogeneous and irregular CGRAs with support for complex control flow | |
Yang et al. | An approach to build cycle accurate full system VLIW simulation platform | |
WO2023183137A1 (en) | Configure a coarse grained reconfigurable array to execute instructions of a program of data flows | |
KR102161055B1 (ko) | 소프트웨어 파이프라이닝을 이용한 명령어 스케줄링 방법 및 장치 | |
JP2004334429A (ja) | 論理回路及びその論理回路上で実行するプログラム | |
JP2013161484A (ja) | 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法 | |
JP5229716B2 (ja) | 動作合成システム、動作合成方法および動作合成用プログラム | |
Cohen et al. | Android Application Development for the Intel Platform | |
US12039335B2 (en) | Schedule instructions of a program of data flows for execution in tiles of a coarse grained reconfigurable array | |
US9141498B2 (en) | Method for verification of reconfigurable processor | |
US20240362024A1 (en) | Schedule Instructions of a Program of Data Flows for Execution in Tiles of a Coarse Grained Reconfigurable Array | |
Rutzig et al. | Dynamically adapted low power ASIPs | |
Jääskeläinen et al. | D4. 6–Integrated System Software Stack | |
Wu et al. | Reconfigurable Custom Functional Unit Generation and Exploitation for Multiple-Issue Processors. | |
US8751210B1 (en) | Suspending procedures in simulation of a circuit design | |
Kraemer | Design and analysis of efficient MPSoC simulation techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150707 |
|
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: 20150804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150819 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5797438 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |