KR101962248B1 - 재구성 가능 프로세서의 검증 지원 장치 및 방법 - Google Patents
재구성 가능 프로세서의 검증 지원 장치 및 방법 Download PDFInfo
- Publication number
- KR101962248B1 KR101962248B1 KR1020120027401A KR20120027401A KR101962248B1 KR 101962248 B1 KR101962248 B1 KR 101962248B1 KR 1020120027401 A KR1020120027401 A KR 1020120027401A KR 20120027401 A KR20120027401 A KR 20120027401A KR 101962248 B1 KR101962248 B1 KR 101962248B1
- Authority
- KR
- South Korea
- Prior art keywords
- masking
- hint
- simulator
- verification
- invalid operation
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
-
- 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
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
- G06F8/4452—Software pipelining
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
도 2는 일 실시예에 따른 검증 지원 장치의 블록도이다.
도 3은 일 실시예에 따라 CGA에 매핑될 예제 C 코드이다.
도 4는 도 3의 예제 C 코드가 CGA에 스케쥴링된 결과이다.
도 5는 도 4의 스케쥴링 결과에 대한 힌트 파일의 예이다.
도 6은 일 실시예에 따른 검증 지원 방법의 흐름도이다.
120: 매스킹힌트생성부 121: 힌트
200: 컴파일러 201: 스케쥴링 결과
310: 기능시뮬레이터 320: RTL 시뮬레이터
400: 검증장치
Claims (12)
- 소스 코드 스케쥴링 결과에서 비유효 연산(invalid operation)을 판단하는 비유효연산판단부; 및
상기 판단된 비유효 연산에 대한 매스킹(masking) 힌트(hint)를 생성하는 매스킹힌트생성부;를 포함하고,
상기 비유효 연산은,
기능 시뮬레이터(functional simulator)에서는 수행되지 않고 레지스터 트랜스퍼 수준(Register Transfer Level, RTL) 시뮬레이터에서는 수행되는 연산이고,
상기 매스킹 힌트는,
상기 기능 시뮬레이터 및 상기 레지스터 트랜스퍼 수준 시뮬레이터의 시뮬레이션 결과 중 상기 비유효 연산에 대한 결과를 비교하는 것을 방지하기 위한 매스킹 정보를 생성하는, 재구성 가능 프로세서의 검증 지원 장치. - 제1항에 있어서, 상기 재구성 가능 프로세서는
CGA(coarse grained array) 기반의 프로세서인 재구성 가능 프로세서의 검증 지원 장치. - 제1항에 있어서, 상기 비유효 연산은
컴파일러의 모듈로 스케쥴링(modulo scheduling)에 따라 루프의 프롤로그 또는 에필로그에 매핑된 연산인 것인 재구성 가능 프로세서의 검증 지원 장치. - 제3항에 있어서, 상기 매스킹 힌트는
상기 프롤로그 또는 에필로그에서 비유효 연산이 존재하는 사이클 번호와 그 비유효 연산이 매핑된 기능 유닛의 아이디 정보를 포함하는 재구성 가능 프로세서의 검증 지원 장치. - 삭제
- 삭제
- 소스 코드 스케쥴링 결과에서 비유효 연산(invalid operation)을 판단하는 단계; 및
상기 판단된 비유효 연산에 대한 매스킹(masking) 힌트(hint)를 생성하는 단계;를 포함하고,
상기 비유효 연산은,
기능 시뮬레이터(functional simulator)에서는 수행되지 않고 레지스터 트랜스퍼 수준(Register Transfer Level, RTL) 시뮬레이터에서는 수행되는 연산이고,
상기 매스킹 힌트는,
상기 기능 시뮬레이터 및 상기 레지스터 트랜스퍼 수준 시뮬레이터의 시뮬레이션 결과 중 상기 비유효 연산에 대한 결과를 비교하는 것을 방지하기 위한 매스킹 정보를 생성하는, 재구성 가능 프로세서의 검증 지원 방법. - 제7항에 있어서, 상기 재구성 가능 프로세서는
CGA(coarse grained array) 기반의 프로세서인 재구성 가능 프로세서의 검증 지원 방법. - 제7항에 있어서, 상기 비유효 연산은
컴파일러의 모듈로 스케쥴링(modulo scheduling)에 따라 루프의 프롤로그 또는 에필로그에 매핑된 연산인 것인 재구성 가능 프로세서의 검증 지원 방법. - 제9항에 있어서, 상기 매스킹 힌트는
상기 프롤로그 또는 에필로그에서 비유효 연산이 존재하는 사이클 번호와 그 비유효 연산이 매핑된 기능 유닛의 아이디 정보를 포함하는 재구성 가능 프로세서의 검증 지원 방법. - 삭제
- 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120027401A KR101962248B1 (ko) | 2012-03-16 | 2012-03-16 | 재구성 가능 프로세서의 검증 지원 장치 및 방법 |
CN201310033915.8A CN103309803B (zh) | 2012-03-16 | 2013-01-29 | 用于支持可重构处理器的验证的设备和方法 |
US13/772,647 US9087152B2 (en) | 2012-03-16 | 2013-02-21 | Verification supporting apparatus and verification supporting method of reconfigurable processor |
JP2013053533A JP6245820B2 (ja) | 2012-03-16 | 2013-03-15 | 再構成可能プロセッサの検証支援装置及び方法並びに再構成可能プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120027401A KR101962248B1 (ko) | 2012-03-16 | 2012-03-16 | 재구성 가능 프로세서의 검증 지원 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130105183A KR20130105183A (ko) | 2013-09-25 |
KR101962248B1 true KR101962248B1 (ko) | 2019-03-27 |
Family
ID=49135050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120027401A Expired - Fee Related KR101962248B1 (ko) | 2012-03-16 | 2012-03-16 | 재구성 가능 프로세서의 검증 지원 장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9087152B2 (ko) |
JP (1) | JP6245820B2 (ko) |
KR (1) | KR101962248B1 (ko) |
CN (1) | CN103309803B (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099248A (ja) * | 2001-09-20 | 2003-04-04 | Matsushita Electric Ind Co Ltd | プロセッサ、コンパイル装置及びコンパイル方法 |
US20050177775A1 (en) | 2004-01-26 | 2005-08-11 | Microsoft Corporation | Data race detection using sequential program analysis |
US20090144705A1 (en) | 2007-11-29 | 2009-06-04 | Kabushiki Kaisha Toshiba | Debugging device and debugging method |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0363838A (ja) * | 1989-08-02 | 1991-03-19 | Nec Corp | ソフトウェアプログラムの検査方法 |
EP0933703B1 (en) * | 1998-01-28 | 2007-08-29 | Texas Instruments Incorporated | Method and apparatus for processing program loops |
WO2000043886A1 (en) | 1999-01-20 | 2000-07-27 | Applied Microsystems Corporation | Instrumentation of calls to routines for which source code is unavailable |
US6363522B1 (en) * | 1999-04-23 | 2002-03-26 | Sun Microsystems, Inc. | Method and apparatus for handling exceptions as normal control flow |
US6820250B2 (en) * | 1999-06-07 | 2004-11-16 | Intel Corporation | Mechanism for software pipelining loop nests |
US6754893B2 (en) * | 1999-12-29 | 2004-06-22 | Texas Instruments Incorporated | Method for collapsing the prolog and epilog of software pipelined loops |
US6918110B2 (en) | 2001-04-11 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code |
US20030154469A1 (en) * | 2001-12-20 | 2003-08-14 | Timothy Anderson | Apparatus and method for improved execution of a software pipeline loop procedure in a digital signal processor |
US7281242B2 (en) | 2002-01-18 | 2007-10-09 | Bea Systems, Inc. | Flexible and extensible Java bytecode instrumentation system |
US7149636B2 (en) * | 2002-04-04 | 2006-12-12 | Texas Instruments Incorporated | Method and apparatus for non-obtrusive power profiling |
US7440885B2 (en) * | 2002-06-03 | 2008-10-21 | Broadcom Corporation | Method and system for deterministic control of an emulation |
JP3847672B2 (ja) * | 2002-07-03 | 2006-11-22 | 松下電器産業株式会社 | コンパイラ装置及びコンパイル方法 |
JP3974063B2 (ja) * | 2003-03-24 | 2007-09-12 | 松下電器産業株式会社 | プロセッサおよびコンパイラ |
US7673294B2 (en) * | 2005-01-18 | 2010-03-02 | Texas Instruments Incorporated | Mechanism for pipelining loops with irregular loop control |
JP2007207119A (ja) * | 2006-02-03 | 2007-08-16 | Canon Inc | 表示装置及び表示方法 |
KR100813662B1 (ko) * | 2006-11-17 | 2008-03-14 | 삼성전자주식회사 | 프로세서 구조 및 응용의 최적화를 위한 프로파일러 |
KR101375171B1 (ko) | 2006-12-30 | 2014-03-18 | 삼성전자주식회사 | 시스템 온 칩 모델 검증 방법 및 장치 |
US8191057B2 (en) * | 2007-08-27 | 2012-05-29 | International Business Machines Corporation | Systems, methods, and computer products for compiler support for aggressive safe load speculation |
KR101418969B1 (ko) * | 2008-02-27 | 2014-08-13 | 삼성전자주식회사 | 프로세서 및 컴파일 방법 |
JP4950942B2 (ja) * | 2008-05-23 | 2012-06-13 | 株式会社東芝 | 半導体集積回路の検証装置 |
KR101738640B1 (ko) * | 2011-01-18 | 2017-05-24 | 삼성전자주식회사 | 트레이스 데이터 압축 장치 및 방법 |
US9038042B2 (en) * | 2012-06-29 | 2015-05-19 | Analog Devices, Inc. | Staged loop instructions |
-
2012
- 2012-03-16 KR KR1020120027401A patent/KR101962248B1/ko not_active Expired - Fee Related
-
2013
- 2013-01-29 CN CN201310033915.8A patent/CN103309803B/zh not_active Expired - Fee Related
- 2013-02-21 US US13/772,647 patent/US9087152B2/en not_active Expired - Fee Related
- 2013-03-15 JP JP2013053533A patent/JP6245820B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099248A (ja) * | 2001-09-20 | 2003-04-04 | Matsushita Electric Ind Co Ltd | プロセッサ、コンパイル装置及びコンパイル方法 |
US20050177775A1 (en) | 2004-01-26 | 2005-08-11 | Microsoft Corporation | Data race detection using sequential program analysis |
US20090144705A1 (en) | 2007-11-29 | 2009-06-04 | Kabushiki Kaisha Toshiba | Debugging device and debugging method |
JP2009134462A (ja) * | 2007-11-29 | 2009-06-18 | Toshiba Corp | デバッグ装置及びデバッグ方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2013196702A (ja) | 2013-09-30 |
CN103309803B (zh) | 2017-06-23 |
KR20130105183A (ko) | 2013-09-25 |
US9087152B2 (en) | 2015-07-21 |
US20130246856A1 (en) | 2013-09-19 |
JP6245820B2 (ja) | 2017-12-13 |
CN103309803A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8549468B2 (en) | Method, system and computer readable storage device for generating software transaction-level modeling (TLM) model | |
JP6342129B2 (ja) | 混合モードプログラムのソースコードエラー位置検出装置及び方法 | |
Meyerowitz et al. | Source-level timing annotation and simulation for a heterogeneous multiprocessor | |
US20100180263A1 (en) | Apparatus and method for detecting software error | |
US20110145799A1 (en) | Path-sensitive dataflow analysis including path refinement | |
KR20090092617A (ko) | 프로세서 및 컴파일 방법 | |
Wang et al. | Accurate source-level simulation of embedded software with respect to compiler optimizations | |
CN102902906A (zh) | 微处理器指令集验证方法 | |
JP3822044B2 (ja) | 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体 | |
Stattelmann et al. | Dominator homomorphism based code matching for source-level simulation of embedded software | |
Eisinger et al. | Automatic identification of timing anomalies for cycle-accurate worst-case execution time analysis | |
Wang et al. | An approach to improve accuracy of source-level TLMs of embedded software | |
MX2011001796A (es) | Ejecucion de procesador simulado utilizando supeditar ramificacion. | |
Brady et al. | Learning conditional abstractions | |
US7779393B1 (en) | System and method for efficient verification of memory consistency model compliance | |
CN105630680B (zh) | 一种随机测试程序生成方法 | |
KR101910934B1 (ko) | 루프의 프롤로그 또는 에필로그의 비유효 연산을 처리하는 장치 및 방법 | |
KR101962248B1 (ko) | 재구성 가능 프로세서의 검증 지원 장치 및 방법 | |
JP6352607B2 (ja) | アサーション生成装置及び方法並びにプロセッサ検証装置及び方法 | |
Védrine et al. | Runtime abstract interpretation for numerical accuracy and robustness | |
US20140013312A1 (en) | Source level debugging apparatus and method for a reconfigurable processor | |
Engblom | On hardware and hardware models for embedded real-time systems | |
Frid et al. | Elementary operations: a novel concept for source-level timing estimation | |
Zeng et al. | Automatic Generation of Cycle-Accurate Timing Models from RTL for Hardware Accelerators | |
Zheng et al. | Minimal Context-Switching Data Race Detection with Dataflow Tracking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20120316 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20161116 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20120316 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20180928 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190102 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190320 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20190321 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20221231 |