CN103309803A - 用于支持可重构处理器的验证的设备和方法 - Google Patents
用于支持可重构处理器的验证的设备和方法 Download PDFInfo
- Publication number
- CN103309803A CN103309803A CN2013100339158A CN201310033915A CN103309803A CN 103309803 A CN103309803 A CN 103309803A CN 2013100339158 A CN2013100339158 A CN 2013100339158A CN 201310033915 A CN201310033915 A CN 201310033915A CN 103309803 A CN103309803 A CN 103309803A
- Authority
- CN
- China
- Prior art keywords
- invalid operation
- simulator
- prompting
- checking support
- shelter
- 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
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—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis 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—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Abstract
提供了一种用于支持可重构处理器的验证的设备和方法。所述验证支持设备包括:无效操作确定器,被配置为从对源代码的调度的结果检测任何无效操作;掩蔽提示产生器,被配置为针对检测到的无效操作产生掩蔽提示。根据示例,通过执行预处理来防止验证设备将无效操作的模拟结果相互比较,可提高验证设备的验证精度和性能。
Description
本申请要求于2012年3月16日提交的第10-2012-0027401号韩国专利申请的利益,该申请的整个公开通过引用包含于此用于所有目的。
技术领域
以下描述涉及一种用于支持基于粗粒度阵列(CGA)的可重构处理器的验证的设备和方法。
背景技术
基于粗粒度阵列(CGA)的可重构处理器具有非常复杂的结构,该结构包括多个功能单元(FU)、全局寄存器文件、局部寄存器文件等。因此,当CGA执行错误的计算时,很难并且需要长时间来检测执行了错误的计算的位置和时间点。
为此,已经开发出错误验证设备以找到执行了错误的计算的位置和时间点。基于CGA的可重构处理器使用模调度(moduloscheduling),从而循环的序言(prolog)、主体和结语(epilog)具有相同配置,并且因此可在循环的序言和结语中执行无效操作(即,不对计算的结果产生坏影响的操作)。然而,由于无效操作的执行,错误验证设备可能会输出错误的验证结果。
发明内容
在一个总体方面,提供了一种用于可重构处理器的验证支持设备,所述验证支持设备包括:无效操作确定器,被配置为从对源代码的调度的结果检测任何无效操作;掩蔽提示产生器,被配置为针对检测到的无效操作产生掩蔽提示。
可重构处理器可以是基于粗粒度阵列(CGA)的处理器。
所述无效操作可以是根据编译器的模调度被映射到循环的序言或结语的操作。
所述掩蔽信息可包括关于周期的序号和关于映射了无效操作的功能单元(FU)的ID的信息,其中,在所述周期中所述无效操作存在于循环的序言或结语中。
在寄存器传输级(RTL)模拟器中执行无效操作的同时可以不在功能模拟器中执行所述无效操作。
所述掩蔽提示可用于产生掩蔽信息,所述掩蔽信息用于防止可重构处理器的验证设备将功能模拟器和RTL模拟器获得的模拟结果中的无效操作的模拟结果相互比较。
在另一总体方面,提供了一种用于可重构处理器的验证支持方法,所述验证支持方法包括:从对源代码的调度的结果检测任何无效操作;针对检测到的无效操作产生掩蔽提示。
可重构处理器可以是基于粗粒度阵列CGA的处理器。
所述无效操作可以是根据编译器的模调度被映射到循环的序言或结语的操作。
所述掩蔽信息可包括关于周期的序号和关于映射了无效操作的功能单元(FU)的ID的信息,其中,在所述周期中所述无效操作存在于循环的序言或结语中。
在寄存器传输级(RTL)模拟器中执行无效操作的同时可以不在功能模拟器中执行所述无效操作。
所述掩蔽提示可用于产生掩蔽信息,所述掩蔽信息用于防止可重构处理器的验证设备将功能模拟器和RTL模拟器获得的模拟结果中的无效操作的模拟结果相互比较。
从以下详细描述、附图和权利要求,其它特征和方面将变得清楚。
附图说明
图1是示出用于可重构处理器的验证环境的配置示例的示图。
图2是示出验证支持设备的示例的示图。
图3示出将被映射到粗粒度阵列(CGA)的用C语言编写的示例代码。
图4示出映射到CGA的图3的示例代码的调度结果。
图5示出关于图4的调度结果的提示(hint)文件的示例。
图6是示出验证支持方法的示例的流程图。
贯穿附图和详细描述,除非另外描述,否则相同附图标号将被理解为表示相同元件、特征和结构。为了清楚、说明和方便,可夸大这些元件的相对大小和描绘。
具体实施方式
提供以下描述来帮助读者获得对这里描述的方法、设备和/或系统的充分理解。因此,这里描述的方法、设备和/或系统的各种改变、修改和等同物将被建议给本领域的普通技术人员。此外,为了增加清楚和简洁,可省略对公知功能和结构的描述。
图1是示出可重构处理器的验证环境的配置示例的示图。
参照图1,验证设备400将功能模拟器310的模拟结果与寄存器传输级(RTL)模拟器320的模拟结果进行比较,从而根据比较的结果检测产生了错误的时间点和位置。也就是说,验证设备400从功能模拟器310和RTL模拟器320接收模拟结果,并将所述模拟结果相互比较。然后,如果功能模拟器310的模拟结果与RTL模拟器320的模拟结果不匹配,则验证设备400确定产生了错误,并且检测产生了错误的时间点和位置。
验证设备400可以是用于在超长指令字(VLIW)模式下验证程序计数器(PC)和指令的设备,或者是用于在粗粒度阵列(CGA)模式下验证功能单元(FU)的src/dst操作数的设备。
功能模拟器310从编译器200接收调度信息,模拟与目标机(即,处理器核的FU)相应的操作,并产生表示模拟处理的轨迹。
在CGA模式下,通过编译器200的模调度产生的循环的序言、主体和结语使用相同配置信息。结果,根据模调度映射到序言或结语的无效操作可被RTL模拟器320执行。也就是说,由于在RTL模拟器320中模拟无效操作,因此功能模拟器310和RTL模拟器320的模拟结果彼此不匹配,其中,所述无效操作基本上不在功能模拟器310中被执行。验证设备400将这样的无效操作检测为错误,这会导致验证设备400的性能和精度的劣化。
为了解决这个问题,已经引入了一种将功能模拟器310设计为RTL模拟器水平的方法,从而功能模拟器310可执行无效操作以使模拟器310和模拟器320的模拟结果彼此相同。然而,所述方法会降低功能模拟器310的模拟速度,并且必须需要改变功能模拟器310的设计。
为此,根据当前示例,提供一种用于支持验证设备400的验证支持设备100。验证支持设备100可被用于支持可重构处理器(例如,基于CGA的处理器)的验证设备(例如,图1的400)。验证支持设备100可被配置为用于支持验证设备400的软件。同时,根据其他示例,验证支持设备100可被配置为包括在验证设备400中的软件模块,或被配置为包括在编译和调度源代码的编译器200中的模块。
图2是示出验证支持设备100的示例的示图。参照图2,验证支持设备100可包括无效操作确定器110和掩蔽提示产生器(masking hintgenerator)120。
无效操作确定器110从编译器200调度的结果201检测无效操作。具体地说,无效操作确定器110可从编译器200接收调度结果201,将调度结果201存储在存储器中,并从存储器读取调度结果201。然后,无效操作确定器110可针对每个周期在映射到循环的序言和结语的操作中检测没有被实际执行的任何无效操作。
掩蔽提示产生器120可针对由无效操作确定器110检测到的无效操作产生掩蔽提示121。掩蔽提示121可以以文件或表的形式或者以其他任意格式被产生。掩蔽提示121可包括关于周期的序号以及关于映射了无效操作的FU的ID的信息,其中,在所述周期中无效操作存在于序言或结语中。掩蔽提示121被输入到验证设备400,并可将用于产生掩蔽信息的提示提供给验证设备400。掩蔽提示121被用于产生掩蔽信息,所述掩蔽信息用于防止验证设备400将模拟器310和模拟器320的模拟结果中的与无效操作有关的模拟结果进行比较。
验证设备400验证每个周期的输入操作数和输出操作数,从而检测错误。然而,在一些种类的操作中,存在输入操作数的数量不等于输出操作数的数量的情况。在这种情况下,验证设备400可产生用于特定操作的掩蔽比特,以省略对输入操作数和输出操作数的比较。例如,如果验证设备400将比较将被省略的操作的掩蔽比特设置为“1”,则将不执行该操作的比较。
这样,验证设备400从验证支持设备100接收掩蔽提示121,并使用掩蔽提示121来产生比较将被省略的无效操作的掩蔽信息。也就是说,针对每个周期,当执行循环的序言或结语时,通过将用于相应无效操作的掩蔽比特设置为“1”,来省略针对无效操作的模拟器310和模拟器320的模拟结果的比较。
图3示出将被映射到粗粒度阵列(CGA)的使用C语言编写的示例代码,图4示出图3的示例代码被映射到CGA的调度结果201,图5示出关于图4的调度结果201的提示文件121的示例。
示例代码是这样的源代码:用于在将整数i从0递增1至N-1的同时将整数i乘以10,将(当前i值的)结果×10与(前一i值的)结果×10相加,然后将相加的结果存储在存储器中。源代码是重复所述处理N次的循环。在图4中示出当编译器200(见图1)针对CGA处理器对示例代码进行模调度时获得的调度结果201。
参照图4,根据当前示例的CGA处理器包括10个FU:Fu00至Fu09,编译器200可通过模调度将源代码映射到CGA处理器的各个FU(Fu00至Fu09)。在图4中,周期0至周期6与序言对应,周期7至周期14与循环主体对应,周期15至周期18与结语对应。
在图4中示出的调度结果201中,在序言(周期0至周期6)和结语(周期15至周期18)中的用斜体字写的操作是无效操作。也就是说,在序言中的9个操作和在结语中的5个操作是无效操作。
无效操作确定器110从编译器200接收调度结果201,并从调度结果201检测任何无效操作。也就是说,无效操作确定器110针对序言和结语的每个周期,从调度结果201检查(用斜体字写的)无效操作的周期的序号以及映射了无效操作的FU的ID。
然后,掩蔽提示产生器120可以以文件或表的形式创建关于无效操作的信息,从而产生掩蔽提示121。
图5示出掩蔽提示121的示例,其中,由掩蔽提示产生器120使用图4的调度结果201产生掩蔽提示121。如图5中所示,掩蔽提示121包括关于验证设备400必须产生掩蔽信息的周期的序号以及关于映射了无效操作的FU的ID的信息。在当前示例中,掩蔽提示121将要掩蔽序言的9个操作和结语的5个操作。
验证设备400接收掩蔽提示121并将用于相应无效操作的掩蔽比特设置为“1”,从而产生掩蔽信息。例如,验证设备400将序言周期0中的映射到第一FU(即,Fu01)的操作“add”的掩蔽比特设置为“1”。在这种情况下,由于功能模拟器310(见图1)在RTL模拟器320执行操作“add”的同时不执行所述操作“add”,因此模拟器310和模拟器320的模拟结果变得彼此不同。然而,由于操作“add”的掩蔽比特已经被设为置“1”,因此验证设备400不将模拟器310和模拟器320的模拟结果相互比较。
图6是示出验证支持方法的示例的流程图。
参照图1和图6,无效操作确定器110从编译器200的调度的结果201检测任何无效操作(510)。也就是说,无效操作确定器110可从编译器200接收调度结果201,并且可基于调度结果201针对每个周期在被映射到循环的序言和结语的操作中检测没有被实际执行的任何无效操作。
然后,掩蔽提示产生器120可针对无效操作确定器110检测到的无效操作产生掩蔽提示121(520)。掩蔽提示121可包含关于周期的序号和关于映射了无效操作的FU的ID的信息,其中,针对所述周期相应无效操作被包括在循环的序言和结语中。此外,掩蔽提示121可用于产生掩蔽信息,所述掩蔽信息用于防止验证设备400将模拟器310和模拟器320的模拟结果中的与无效操作有关的模拟结果相互比较。
验证设备400可从验证支持设备100接收如图5中所示的掩蔽提示121。然后,验证设备400可使用掩蔽提示121来产生与模拟结果将不被彼此比较的无效操作有关的掩蔽信息。掩蔽信息被验证设备400使用以确定是否将相应无效操作的模拟结果相互比较,并且验证设备400基于掩蔽信息产生无效操作的掩蔽比特以设置比较的执行或不执行。
例如,如果掩蔽比特被设置为“0”,则验证设备400将相应操作的模拟结果相互比较,如果掩蔽比特被设置为“1”,则验证设备400不将相应操作的模拟结果相互比较。这样,当执行循环的序言和结语时,针对每个周期,验证设备400可使用掩蔽提示121来将写入掩蔽提示121的文件中的无效操作的掩蔽比特设置为“1”。然后,验证设备400不将针对无效操作的模拟器310和模拟器320的模拟结果相互比较。
根据上述示例,通过在不需要改变功能模拟器310或RTL模拟器320的设计的情况下,省略对无效操作的不必要的验证,可提高验证速度和性能。
本发明可被实施为计算机可读记录介质中的计算机可读代码。计算机可读记录介质包括存储计算机可读数据的所有类型的记录介质。计算机可读记录介质的示例包括ROM、RAM、CD-ROM、磁带、软盘和光学数据存储器。此外,记录介质可被实施为诸如互联网传输的载波的形式。此外,计算机可读记录介质可被分布到网络上的计算机系统,其中,计算机可读代码可以以分布方式被存储和执行。
以上已经描述了多个示例。然而,将理解可进行各种改变。例如,如果以不同顺序执行上述技术,和/或如果上述系统、构架、装置或电路中的组件以不同方式被组合和/或被其它组件或其等同物代替或补充,则可实现合适的结果。因此,其它实施方式在权利要求的范围内。
Claims (12)
1.一种用于可重构处理器的验证支持设备,包括:
无效操作确定器,被配置为从对源代码的调度的结果检测任何无效操作;
掩蔽提示产生器,被配置为针对检测到的无效操作产生掩蔽提示。
2.如权利要求1所述的验证支持设备,其中,可重构处理器是基于粗粒度阵列CGA的处理器。
3.如权利要求1所述的验证支持设备,其中,所述无效操作是根据编译器的模调度被映射到循环的序言或结语的操作。
4.如权利要求3所述的验证支持设备,其中,所述掩蔽信息包括关于周期的序号和关于映射了无效操作的功能单元FU的ID的信息,其中,在所述周期中所述无效操作存在于循环的序言或结语中。
5.如权利要求1所述的验证支持设备,其中,在寄存器传输级RTL模拟器中执行无效操作的同时不在功能模拟器中执行所述无效操作。
6.如权利要求5所述的验证支持设备,其中,所述掩蔽提示用于产生掩蔽信息,所述掩蔽信息用于防止可重构处理器的验证设备将功能模拟器和RTL模拟器获得的模拟结果中的无效操作的模拟结果相互比较。
7.一种用于可重构处理器的验证支持方法,包括:
从对源代码的调度的结果检测任何无效操作;
针对检测到的无效操作产生掩蔽提示。
8.如权利要求7所述的验证支持方法,其中,可重构处理器是基于粗粒度阵列CGA的处理器。
9.如权利要求7所述的验证支持方法,其中,所述无效操作是根据编译器的模调度被映射到循环的序言或结语的操作。
10.如权利要求9所述的验证支持方法,所述掩蔽信息包括关于周期的序号和关于映射了无效操作的功能单元FU的ID的信息,其中,在所述周期中所述无效操作存在于循环的序言或结语中。
11.如权利要求7所述的验证支持方法,其中,在寄存器传输级RTL模拟器中执行无效操作的同时不在功能模拟器中执行所述无效操作。
12.如权利要求11所述的验证支持方法,其中,所述掩蔽提示用于产生掩蔽信息,所述掩蔽信息用于防止可重构处理器的验证设备将功能模拟器和RTL模拟器获得的模拟结果中的无效操作的模拟结果相互比较。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120027401A KR101962248B1 (ko) | 2012-03-16 | 2012-03-16 | 재구성 가능 프로세서의 검증 지원 장치 및 방법 |
KR10-2012-0027401 | 2012-03-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103309803A true CN103309803A (zh) | 2013-09-18 |
CN103309803B CN103309803B (zh) | 2017-06-23 |
Family
ID=49135050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310033915.8A Expired - Fee Related CN103309803B (zh) | 2012-03-16 | 2013-01-29 | 用于支持可重构处理器的验证的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9087152B2 (zh) |
JP (1) | JP6245820B2 (zh) |
KR (1) | KR101962248B1 (zh) |
CN (1) | CN103309803B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409210A (zh) * | 2001-09-20 | 2003-04-09 | 松下电器产业株式会社 | 处理器、编译装置与编译方法、存储介质 |
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 |
CN1197003C (zh) * | 1999-04-23 | 2005-04-13 | 太阳微系统有限公司 | 将异常作为正常控制流进行处理的方法和装置 |
US20050177775A1 (en) * | 2004-01-26 | 2005-08-11 | Microsoft Corporation | Data race detection using sequential program analysis |
CN1302380C (zh) * | 2003-03-24 | 2007-02-28 | 松下电器产业株式会社 | 处理器和编译器 |
US20090144705A1 (en) * | 2007-11-29 | 2009-06-04 | Kabushiki Kaisha Toshiba | Debugging device and debugging method |
CN101520737A (zh) * | 2008-02-27 | 2009-09-02 | 三星电子株式会社 | 编译方法和使用该编译方法的处理器 |
US7673294B2 (en) * | 2005-01-18 | 2010-03-02 | Texas Instruments Incorporated | Mechanism for pipelining loops with irregular loop control |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0363838A (ja) * | 1989-08-02 | 1991-03-19 | Nec Corp | ソフトウェアプログラムの検査方法 |
US6289443B1 (en) * | 1998-01-28 | 2001-09-11 | Texas Instruments Incorporated | Self-priming loop execution for loop prolog instruction |
AU2614100A (en) | 1999-01-20 | 2000-08-07 | Applied Microsystems Corporation | Instrumentation of calls to routines for which source code is unavailable |
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 |
US20030145309A1 (en) | 2002-01-18 | 2003-07-31 | Rajendra Inamdar | Probe description language |
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 | 松下電器産業株式会社 | コンパイラ装置及びコンパイル方法 |
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 |
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 active IP Right Grant
-
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 (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1197003C (zh) * | 1999-04-23 | 2005-04-13 | 太阳微系统有限公司 | 将异常作为正常控制流进行处理的方法和装置 |
CN1409210A (zh) * | 2001-09-20 | 2003-04-09 | 松下电器产业株式会社 | 处理器、编译装置与编译方法、存储介质 |
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 |
CN1302380C (zh) * | 2003-03-24 | 2007-02-28 | 松下电器产业株式会社 | 处理器和编译器 |
US20050177775A1 (en) * | 2004-01-26 | 2005-08-11 | Microsoft Corporation | Data race detection using sequential program analysis |
US7673294B2 (en) * | 2005-01-18 | 2010-03-02 | Texas Instruments Incorporated | Mechanism for pipelining loops with irregular loop control |
US20090144705A1 (en) * | 2007-11-29 | 2009-06-04 | Kabushiki Kaisha Toshiba | Debugging device and debugging method |
CN101520737A (zh) * | 2008-02-27 | 2009-09-02 | 三星电子株式会社 | 编译方法和使用该编译方法的处理器 |
Also Published As
Publication number | Publication date |
---|---|
JP2013196702A (ja) | 2013-09-30 |
US9087152B2 (en) | 2015-07-21 |
KR101962248B1 (ko) | 2019-03-27 |
JP6245820B2 (ja) | 2017-12-13 |
US20130246856A1 (en) | 2013-09-19 |
CN103309803B (zh) | 2017-06-23 |
KR20130105183A (ko) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101652746B (zh) | 浮点操作的改善以及相关的改善 | |
CN106796522A (zh) | 用于更新源代码文件的系统和方法 | |
WO2012032890A1 (ja) | ソースコード変換方法およびソースコード変換プログラム | |
US20100180263A1 (en) | Apparatus and method for detecting software error | |
KR20090092617A (ko) | 프로세서 및 컴파일 방법 | |
CN108139891A (zh) | 针对外部文件的缺失包括建议 | |
EP2706459B1 (en) | Apparatus and method for validating a compiler for a reconfigurable processor | |
CN109634869B (zh) | 二进制翻译中间表示正确性测试方法及装置 | |
CN106294148A (zh) | 基于扩展符号变迁系统的c语言程序软件验证方法及装置 | |
CN102902906A (zh) | 微处理器指令集验证方法 | |
CN101876939A (zh) | 系统测试方法及装置 | |
CN113360157A (zh) | 一种程序编译方法、设备以及计算机可读介质 | |
CN107665169B (zh) | 处理器程序的测试方法和装置 | |
CN106502707B (zh) | 代码生成方法及装置 | |
Baesens et al. | Beginning Java programming: the object-oriented approach | |
CN105630680B (zh) | 一种随机测试程序生成方法 | |
Murawski et al. | A contextual equivalence checker for IMJ | |
US9117023B2 (en) | Dynamic generation of test segments | |
CN103309803A (zh) | 用于支持可重构处理器的验证的设备和方法 | |
CN112232003B (zh) | 对设计进行仿真的方法、电子设备及存储介质 | |
CN103530214A (zh) | 用于可重构处理器的源码级调试设备与方法 | |
CN114817047A (zh) | 编译器测试方法、用例生成方法及装置、指令存储结构 | |
Li et al. | Bitwise identical compiling setup: prospective for reproducibility and reliability of Earth system modeling | |
Liang et al. | Semantics-recovering decompilation through neural machine translation | |
CN113260976A (zh) | 用于在编译源代码中调度指令技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170623 Termination date: 20190129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |