KR20040051364A - Method for measuring path code coverage - Google Patents

Method for measuring path code coverage Download PDF

Info

Publication number
KR20040051364A
KR20040051364A KR1020020079285A KR20020079285A KR20040051364A KR 20040051364 A KR20040051364 A KR 20040051364A KR 1020020079285 A KR1020020079285 A KR 1020020079285A KR 20020079285 A KR20020079285 A KR 20020079285A KR 20040051364 A KR20040051364 A KR 20040051364A
Authority
KR
South Korea
Prior art keywords
code
path
coverage
source file
graph model
Prior art date
Application number
KR1020020079285A
Other languages
Korean (ko)
Inventor
김영수
김상필
조한진
Original Assignee
한국전자통신연구원
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020020079285A priority Critical patent/KR20040051364A/en
Publication of KR20040051364A publication Critical patent/KR20040051364A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: A method for measuring a path code coverage is provided to reduce a delay by inserting an additional code for a coefficient into each graph model after understanding a basic block, as reading a source code of a designed hardware, and converting the basic block into a graph model. CONSTITUTION: A source file of the designed hardware is inputted(101). A modified design source file is generated by inserting the additional code into the source file(103). The path coverage data is obtained through a logical simulation using the modified design source file(106).

Description

경로 코드 커버리지 측정 방법 {Method for measuring path code coverage}{Method for measuring path code coverage}

본 발명은 디자인된 하드웨어의 기능을 검증하기 위한 코드 커버리지 툴(Tool)에 관한 것으로, 더욱 상세하게는 경로 코드 커버리지를 측정하는 방법에 관한 것이다.The present invention relates to a code coverage tool for verifying the functionality of the designed hardware, and more particularly to a method for measuring path code coverage.

일반적으로 SOC(System-On-a-Chip)는 개념, 설계, 검증, 구현 등의 과정을 통해 설계되며, 하드웨어의 설계가 완료되면 설계자가 작성한 테스트 벡터를 이용하여 기능 검증을 수행하게 된다. 테스트 벡터는 설계된 하드웨어의 기능을 시험할 수 있도록 설계자가 작성한 일련의 코드로써 하드웨어의 기능이 설계 사양에 맞는 지를 검증하는 데 이용된다. 기능 검증은 설계자가 작성한 규격과 비교하는 방식으로 수행하며 검증 결과는 설계자의 테스트 벡터에 종속된다.In general, SOC (System-On-a-Chip) is designed through the process of concept, design, verification, implementation, etc. When the design of the hardware is completed, the functional verification is performed using the test vector created by the designer. A test vector is a series of codes written by the designer that can test the functionality of the designed hardware. It is used to verify that the functionality of the hardware meets the design specifications. Functional verification is performed in a way that compares to the specifications written by the designer and the verification results are dependent on the designer's test vector.

기능 검증을 위해 시뮬레이션을 수행한 후에는 측정된 코드 커버리지를 이용하여 테스트 벡터를 보강하고 다시 시뮬레이션을 수행하는데, 정해진 기준에 만족될 때까지 이러한 과정을 반복 실시하여 시험되지 않은 코드 부분이 없도록 한다.After the simulation is performed for functional verification, the test vector is augmented using the measured code coverage and the simulation is performed again. This process is repeated until the specified criteria are satisfied, so that there are no untested parts of the code.

코드 커버리지는 설계된 하드웨어의 전체 수행문 중에서 테스트 벡터에 의해 수행된 수행문이 얼마나 되는 지를 정량적으로 측정하는 기준이 된다. 즉, 코드 커버리지 항목을 통해 시험되지 않은 코드 부분을 파악하고, 수행되지 않은 경로에 대해 검증이 이루어질 수 있도록 테스트 벡터를 추가한다.Code coverage is a quantitative measure of how many statements performed by a test vector out of all statements of the designed hardware. In other words, the code coverage item identifies the untested portion of the code and adds a test vector to verify the untested path.

이와 같은 검증에 소요되는 시간은 전체 과정의 40% 정도를 차지한다고 보고된 바 있다. 점차적으로 SOC의 복잡도가 증가함에 따라 설계자가 미처 생각하지 못한 경우들이 발생될 경우 시뮬레이션에 소요되는 시간과 검증에 필요한 하드웨어 및 도구 등의 자원 낭비가 예상된다.It is reported that the time required for such verification takes about 40% of the whole process. Increasingly, the complexity of an SOC can lead to wasted resources such as the time it takes to simulate and the hardware and tools required for verification, in cases where designers do not think about it.

이러한 문제점들을 해결하기 위해 설계된 하드웨어의 소스 코드에 대한 코드 커버리지를 수행하면 시험되지 않은 설계 부분에 대해서도 테스트를 작성할 수 있다. 코드 커버리지 항목 중 가장 상위 개념인 경로 코드 커버리지는 해당하는 모든 블록의 경로 설계가 수행되었는 지를 확인할 수 있는 방법이다. 그러나 이를 완벽하게 측정하기 위해서는 새로운 측정 방법이 필요하며, 이에 따른 부가 코드의 생성이 요구된다.Code coverage of the source code of the hardware designed to solve these problems allows you to write tests for untested parts of the design. The path code coverage, which is the highest concept among the code coverage items, is a method to confirm whether the path design of all corresponding blocks has been performed. However, to measure this perfectly, a new measurement method is required, and additional code generation is required accordingly.

특정한 순서대로 실행되는 문들의 순서를 경로로 정의할 수 있으면 형성된 일련의 경로의 조합으로 볼 수 있다. 경로 커버리지는 다음과 같이 정의할 수 있다.If a path can be defined as a sequence of statements executed in a specific order, it can be regarded as a combination of a series of paths formed. Path coverage can be defined as follows:

경로 커버리지(%) = (수행된 경로의 수/전체의 가능한 경로의 수) ×100Path coverage (%) = (number of paths taken / number of possible paths in total) × 100

현재까지는 2개의 연속적인 if 블록, 2개의 연속적인 case 블록, 또는 2개의 연속적인 if 블록과 case 블록의 조합으로 형성되는 경로 커버리지가 제공되었다. 그러나 2개의 연속적인 if 블록 또는 2개의 연속적인 case 블럭으로 형성되는 경로 커버리지는 측정할 수 없었다. 이것은 현재 측정 가능한 경로 커버리지의 한계로서 다수개의 경로에 대해서는 확인하지 못한다.To date, path coverage has been provided that consists of two consecutive if blocks, two consecutive case blocks, or a combination of two consecutive if blocks and case blocks. However, the path coverage formed by two consecutive if blocks or two consecutive case blocks could not be measured. This is a limitation of current measurable path coverage and does not confirm for multiple paths.

이 분야의 대표적인 종래 기술로서 TransEDA사의 "Verification Navigator", Synopsys사의 "CoverMeter" 등의 툴이 존재하고 있다. 그러나 이들 툴은 경로 코드 커버리지의 측정에 있어 인접한 두 블록의 경로만을 대상으로 하고 있기 때문에 완전한 경로 코드 커버리지의 측정을 지원하고 있다고 할 수 없다.As a representative prior art in this field, tools such as "Verification Navigator" by TransEDA and "CoverMeter" by Synopsys exist. However, these tools do not support the measurement of complete path code coverage because they only target paths of two adjacent blocks in measuring path code coverage.

한편, 선행 논문들에 예시된 경로 프로파일에 대한 연구들은 주로 경로 커버리지의 측정에는 응용될 수는 있으나, 경로 프로파일의 경우에는 수행 시간의 문제로 귀결되는 바 경로 코드 커버리지와 같이 모든 경로에 대해 측정을 요구하는 문제에는 적용될 수 없다.On the other hand, studies on the path profile illustrated in the previous papers can be applied mainly to the measurement of the path coverage, but in the case of the path profile, the measurement is performed for all paths such as path code coverage, which results in a problem of execution time. It does not apply to the problem you require.

따라서 본 발명은 디자인된 하드웨어의 소스 코드를 읽어서 기본 블록을 파악하고 이를 그래프 모델로 변환한 다음 각 그래프 모델에 계수를 위한 부가 코드를 삽입함으로써 상기한 단점을 해소할 수 있는 경로 커버리지 측정 방법을 제공하는 데 그 목적이 있다.Accordingly, the present invention provides a path coverage measurement method that can solve the above disadvantages by reading the source code of the designed hardware, grasping the basic block, converting it to a graph model, and inserting additional code for coefficients into each graph model. Its purpose is to.

상기한 목적을 달성하기 위한 본 발명은 디자인된 하드웨어의 기능 검증을 위한 코드 커버리지 툴에 적용되는 경로 코드 커버리지 측정 방법에 있어서, 상기 디자인된 하드웨어의 소스 파일을 입력받는 단계와, 상기 소스 파일에 부가 코드를 삽입하여 변형된 디자인 소스 파일을 생성하는 단계와, 상기 변형된 디자인 소스 파일을 이용한 논리 시뮬레이션을 통해 경로 커버리지 데이터를 획득하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method for measuring a path code coverage applied to a code coverage tool for functional verification of a designed hardware, the method comprising: receiving a source file of the designed hardware and adding the source file to the source file; Generating a modified design source file by inserting code, and obtaining path coverage data through a logic simulation using the modified design source file.

상기 변형된 디자인 소스 파일을 생성하는 단계는 상기 디자인된 하드웨어의 소스 코드를 읽는 단계와, 상기 소스 코드를 기본 블록으로 나누는 단계와, 상기 각 기본 블록의 소스 코드를 그래프 모델로 변환하는 단계와, 각 그래프 모델에 계수를 위한 부가 코드를 삽입하는 단계와, 상기 부가 코드를 최소화시키기 위해 최적화하는 단계를 포함하는 것을 특징으로 한다.The generating of the modified design source file may include reading source code of the designed hardware, dividing the source code into basic blocks, converting the source code of each basic block into a graph model, And inserting additional codes for coefficients into each graph model, and optimizing to minimize the additional codes.

상기 그래프 모델로 변환하는 단계에서 상기 기본 블록은 가장자리로 모델링되며, 상기 부가 코드는 상기 각 그래프 모델의 엣지에 삽입되고, 상기 경로 커버리지 데이터는 시뮬레이션 접속도구를 통해 획득하는 것을 특징으로 한다.In the converting into the graph model, the basic block is modeled as an edge, the additional code is inserted at an edge of each graph model, and the path coverage data is obtained through a simulation access tool.

도 1은 본 발명에 따른 경로 코드 커버리지 측정 방법을 설명하기 위한 흐름도.1 is a flowchart illustrating a method for measuring path code coverage according to the present invention.

도 2는 도 1의 변형된 디자인 소스 파일 생성 과정을 설명하기 위한 흐름도.FIG. 2 is a flowchart illustrating a process of generating a modified design source file of FIG. 1. FIG.

도 3은 도 2의 그래프 모델 변환 과정을 설명하기 위한 흐름도.3 is a flowchart for explaining a process of converting a graph model of FIG. 2.

도 4는 도 2의 부가 코드 삽입 과정을 설명하기 위한 흐름도.4 is a flowchart illustrating a process of inserting an additional code of FIG. 2.

본 발명은 설계가 완료된 하드웨어의 기능 검증을 위한 코드 커버리지 툴에 적용되는 코드 커버리지 측정 방법에 관한 것으로, 특히, 설계된 하드웨어에 존재하는 모든 경로에 대해 경로 커버리지를 측정하는 방법을 제공한다. 본 발명은 그래프에 모델링하여 효율적으로 부가 코드를 생성시킬 수 있을 뿐만 아니라 완벽한 경로 코드의 측정을 실현할 수 있게 한다.The present invention relates to a code coverage measurement method applied to a code coverage tool for functional verification of hardware in which design is completed. In particular, the present invention provides a method for measuring path coverage for all paths existing in designed hardware. The present invention enables not only to efficiently generate additional codes by modeling on graphs, but also to realize measurement of perfect path codes.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 경로 코드 커버리지 측정 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a path code coverage measurement method according to the present invention.

디자인된 하드웨어의 소스 파일(101)을 입력받고, 상기 소스 파일에 경로 코드 커버리지 측정을 위한 부가 코드(102)를 삽입하여 변형된 디자인 소스 파일(103)을 생성한다. 변형된 디자인 소스 파일(103)은 디자인 소스 파일(101)과 기능상 동일하다. 변형된 디자인 소스 파일(103)을 이용하여 논리 시뮬레이션(104)을 수행한다. 이 과정에서 시뮬레이터 접속도구(105)를 통하여 최종 결과인 경로 커버리지 데이터(106)를 획득하게 된다.The source file 101 of the designed hardware is input and an additional code 102 for path code coverage measurement is inserted into the source file to generate a modified design source file 103. The modified design source file 103 is functionally identical to the design source file 101. Logic simulation 104 is performed using modified design source file 103. In this process, the path coverage data 106, which is the final result, is obtained through the simulator access tool 105.

경로 코드 커버리지의 측정을 위해서는 기본 블록들이 형성하고 있는 경로들이 얼마나 수행되었는지 측정해야 한다. 이것은 실행 횟수를 세는 부가 코드를 삽입함으로써 가능하게 된다. 모든 블록에 부가 코드를 삽입하는 방법은 간단하게 구현될 수 있지만 너무 많은 카운터 코드가 삽입되면 필요 이상의 수행시간이 소요된다. 따라서 앞서 언급한 종래 기술들에서는 인접한 두 블록만을 대상으로 경로 코드 커버리지를 측정하고 있다.In order to measure the path code coverage, it is necessary to measure how the paths formed by the basic blocks are performed. This is made possible by inserting additional code that counts the number of executions. The method of inserting additional code in every block can be implemented simply, but if too many counter codes are inserted, it takes more time than necessary. Therefore, the aforementioned prior arts measure the path code coverage for only two adjacent blocks.

도 2는 도 1의 변형된 디자인 소스 파일 생성 과정을 설명하기 위한 흐름도로서, 디자인된 하드웨어의 소스 코드를 읽는다(단계 10). 소스 코드를 기본 블록으로 나누고(단계 20), 각 기본 블록의 소스 코드를 콘트롤 플로우 그래프 모델로 변환한다(단계 30). 이때 각 기본 블록은 가장자리(edge)로 모델링된다. 모델링된그래프에 본 발명의 알고리즘에 따라 계수를 위한 부가 코드를 삽입하고(단계 40), 부가 코드의 최소화를 위해 최적화한다(단계 50). 부가 코드는 각 그래프 모델의 엣지에 삽입된다.FIG. 2 is a flow chart illustrating the modified design source file generation process of FIG. 1, in which source code of the designed hardware is read (step 10). The source code is divided into basic blocks (step 20), and the source code of each basic block is converted into a control flow graph model (step 30). At this time, each basic block is modeled as an edge. An additional code for coefficients is inserted in the modeled graph according to the algorithm of the present invention (step 40) and optimized for minimization of the additional code (step 50). Additional code is inserted at the edge of each graph model.

도 3은 도 2의 그래프 모델 변환 과정을 설명하기 위한 흐름도로서, 경로 코드 커버리지를 측정하기 위하여 디자인 소스 파일을 그래프 모델로 변환하는 과정을 도시한다.FIG. 3 is a flowchart illustrating a process of converting a graph model of FIG. 2, and illustrates a process of converting a design source file into a graph model to measure path code coverage.

도 4는 도 2의 부가 코드 삽입 과정을 설명하기 위한 흐름도로서, 대상 하드웨어의 소스 코드는 P, Q, R, S, T, U와 같은 기본 블록들로 존재하는데, 이들의 수행 경로를 계수하기 위해 부가 코드를 삽입한다. 도 4와 같이 변형된 그래프 모델의 가장자리(edge)에 부가 코드를 삽입하므로써 수행 경로를 계수할 수 있게 된다.FIG. 4 is a flowchart illustrating an additional code insertion process of FIG. 2, wherein source code of target hardware exists as basic blocks such as P, Q, R, S, T, and U. Insert additional code. As shown in FIG. 4, the execution path can be counted by inserting the additional code at the edge of the deformed graph model.

해당 그래프 G에서 가장자리에 놓인 부가 코드들의 가장자리 집합을 Etag라고 하면 E - Etag는 그래프 G의 스패닝 트리(spanning tree)로 계산된다. E의 각각의 가장자리를 e라 하고 각각 부가 코드가 삽입되어 실행의 횟수를 계산한다.If the set of edges of the additional codes placed at the edge of the graph G is Etag, E-Etag is calculated as the spanning tree of the graph G. Each edge of E is called e and additional code is inserted to count the number of executions.

도 4는 각각의 가장자리에서의 효율적인 삽입을 도시하였다. 점으로 표시된 것은 Etag를 표시하고 있다. E - Etag의 다른 가장자리들은 해당하는 그래프의 스패닝 트리를 구성하고 있고 가장 자리의 수행 횟수들이 표시되어 있다. 이 가장자리 중에서 점으로 표시된 가장자리들에만 부가 코드들이 삽입되어도 경로 코드 커버리지를 측정하는 데 충분하다. 여기서 P→Q와 Q→A로의 경로의 수행 횟수가 알려져 있으므로 Q→B로의 수행 횟수를 계산할 수 있다 (P→Q = Q→A + Q→B).4 shows efficient insertion at each edge. Dotted dots indicate Etag. The other edges of the E-Etag form the spanning tree of the corresponding graph and indicate the number of edge executions. Even if additional codes are inserted only at the edges indicated by dots among these edges, it is sufficient to measure the path code coverage. Since the number of executions of the paths from P to Q and Q to A is known, the number of executions from Q to B can be calculated (P → Q = Q → A + Q → B).

Q→B로의 수행 횟수가 알려지면 B→R로의 수행 횟수도 위와 같이 계산할 수 있다. 위와 같은 부가 코드의 삽입 과정에서 그래프 모델에서의 가장자리의 선택 알고리즘은 다음과 같이 정리할 수 있다.Once the number of executions from Q to B is known, the number of executions from B to R can also be calculated as above. The edge selection algorithm in the graph model can be summarized as follows.

G는 모델된 그래프G is a modeled graph

E는 G의 가장자리E is the edge of G

procedure instrument_edge(Etag)procedure instrument_edge (Etag)

beginbegin

for E - Etage의 각각의 e에 대해서 부가 코드의 카운터를 0으로 초기화for E-initialize the subcode counter to 0 for each e in the Etage

for E의 각각의 e'에 대해서for each e 'of for E

if ((e' !=e) and (e'이 E - Etag에 속하지 않는 경우))if ((e '! = e) and (e' does not belong to E-Etag))

해당하는 가장자리에 부가 코드를 삽입Insert additional code at the corresponding edge

endend

상술한 바와 같이 본 발명은 경로 코드 커버리지의 측정을 위하여 일관된 방법으로 필요한 부가 코드를 생성할 수 있으며, 종래의 인접한 두 블록간의 경로 코드 커버리지의 측정을 위한 부가 코드 생성뿐만 아니라 다수의 블록에 대해서도 경로 코드 커버리지를 위한 부가 코드 생성을 행할 수 있다. 이로 인하여 경로 코드 커버리지의 효율적인 측정이 가능하며, 이의 측정을 위한 부가 코드가 최소화된다. 이는 경로 코드 커버리지 측정 과정에서 반드시 거치게 되는 시뮬레이션 과정에서의 오버헤드 감소로 이어져 보다 빠른 설계 검증에 크게 기여한다.As described above, the present invention can generate additional codes necessary for the measurement of path code coverage in a consistent manner, and can generate paths for a plurality of blocks as well as additional code generation for measuring path code coverage between two conventional adjacent blocks. Additional code generation for code coverage can be performed. This enables efficient measurement of path code coverage and minimizes additional code for its measurement. This leads to a reduction in overhead in the simulation process that must pass through the path code coverage measurement process, which greatly contributes to faster design verification.

Claims (5)

디자인된 하드웨어의 기능 검증을 위한 코드 커버리지 툴에 적용되는 경로 코드 커버리지 측정 방법에 있어서,In the path code coverage measurement method applied to the code coverage tool for functional verification of the designed hardware, a) 상기 디자인된 하드웨어의 소스 파일을 입력받는 단계와,a) receiving a source file of the designed hardware; b) 상기 소스 파일에 부가 코드를 삽입하여 변형된 디자인 소스 파일을 생성하는 단계와,b) inserting additional code into the source file to create a modified design source file; c) 상기 변형된 디자인 소스 파일을 이용한 논리 시뮬레이션을 통해 경로 커버리지 데이터를 획득하는 단계를 포함하는 것을 특징으로 하는 경로 코드 커버리지 측정 방법.c) obtaining path coverage data through logic simulation using the modified design source file. 제 1 항에 있어서, 상기 단계 b)는The method of claim 1, wherein step b) 상기 디자인된 하드웨어의 소스 코드를 읽는 단계와,Reading the source code of the designed hardware, 상기 소스 코드를 기본 블록으로 나누는 단계와,Dividing the source code into basic blocks; 상기 각 기본 블록의 소스 코드를 그래프 모델로 변환하는 단계와,Converting the source code of each basic block into a graph model; 각 그래프 모델에 계수를 위한 부가 코드를 삽입하는 단계와,Inserting additional code for coefficients into each graph model, 상기 부가 코드를 최소화시키기 위해 최적화하는 단계를 포함하는 것을 특징으로 하는 경로 코드 커버리지 측정 방법.And optimizing to minimize the additional code. 제 2 항에 있어서, 상기 그래프 모델로 변환하는 단계에서 상기 기본 블록은가장자리로 모델링되는 것을 특징으로 하는 경로 코드 커버리지 측정 방법.The method of claim 2, wherein the basic block is modeled as an edge in the conversion to the graph model. 제 2 항에 있어서, 상기 부가 코드는 상기 각 그래프 모델의 엣지에 삽입되는 것을 특징으로 하는 경로 코드 커버리지 측정 방법.3. The method of claim 2, wherein the additional code is inserted at an edge of each graph model. 제 1 항에 있어서, 상기 경로 커버리지 데이터는 시뮬레이션 접속도구를 통해 획득하는 것을 특징으로 하는 경로 코드 커버리지 측정 방법.The method of claim 1, wherein the path coverage data is obtained through a simulation access tool.
KR1020020079285A 2002-12-12 2002-12-12 Method for measuring path code coverage KR20040051364A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020079285A KR20040051364A (en) 2002-12-12 2002-12-12 Method for measuring path code coverage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020079285A KR20040051364A (en) 2002-12-12 2002-12-12 Method for measuring path code coverage

Publications (1)

Publication Number Publication Date
KR20040051364A true KR20040051364A (en) 2004-06-18

Family

ID=37345332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020079285A KR20040051364A (en) 2002-12-12 2002-12-12 Method for measuring path code coverage

Country Status (1)

Country Link
KR (1) KR20040051364A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016027992A1 (en) * 2014-08-18 2016-02-25 슈어소프트테크주식회사 Method for measuring code coverage and computer-readable recording medium having program for executing same recorded thereon

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016027992A1 (en) * 2014-08-18 2016-02-25 슈어소프트테크주식회사 Method for measuring code coverage and computer-readable recording medium having program for executing same recorded thereon

Similar Documents

Publication Publication Date Title
US7962869B2 (en) Method and system for debug and test using replicated logic
US8156457B2 (en) Concurrent simulation of hardware designs with behavioral characteristics
US7398445B2 (en) Method and system for debug and test using replicated logic
US8650513B2 (en) Reducing x-pessimism in gate-level simulation and verification
US6601024B1 (en) Code translation between hardware design languages
US7216318B1 (en) Method and system for false path analysis
JP5403835B2 (en) Method and apparatus for simulating motion constructs using intermediate values
Jou et al. Coverage analysis techniques for hdl design validation
US8346527B2 (en) Simulating an operation of a digital circuit
US7137087B1 (en) Integrated circuit verification scheme
US6725187B1 (en) Latch inference using dataflow analysis
US7111278B1 (en) Automated translation of a microprocessor opcode summary table to an architecture description language
Maurer The inversion algorithm for digital simulation
KR20040051364A (en) Method for measuring path code coverage
US7197445B1 (en) Atomic transaction processing for logic simulation
US6968523B2 (en) Design method of logic circuit using data flow graph
Kim et al. Automated formal verification of scheduling with speculative code motions
US7287235B1 (en) Method of simplifying a circuit for equivalence checking
Brand et al. Don't cares in synthesis: Theoretical pitfalls and practical solutions
US8132135B2 (en) Method and system for creating a boolean model of multi-path and multi-strength signals for verification
US7107201B2 (en) Simulating a logic design
KR102558036B1 (en) Automated RTL Design Verification Method and System by using Python
US7139929B2 (en) Generating a test environment for validating a network design
Geier et al. vRTLmod: An LLVM based Open-source Tool to Enable Fault Injection in Verilator RTL Simulations
GB2321118A (en) Development of integrated circuits

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application