KR100767957B1 - Design Verification Method Using Mixed Emulation, Simulation, and Formal Verification - Google Patents
Design Verification Method Using Mixed Emulation, Simulation, and Formal Verification Download PDFInfo
- Publication number
- KR100767957B1 KR100767957B1 KR1020020052369A KR20020052369A KR100767957B1 KR 100767957 B1 KR100767957 B1 KR 100767957B1 KR 1020020052369 A KR1020020052369 A KR 1020020052369A KR 20020052369 A KR20020052369 A KR 20020052369A KR 100767957 B1 KR100767957 B1 KR 100767957B1
- Authority
- KR
- South Korea
- Prior art keywords
- design verification
- circuit
- probe
- input
- design
- Prior art date
Links
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02F—DREDGING; SOIL-SHIFTING
- E02F3/00—Dredgers; Soil-shifting machines
- E02F3/04—Dredgers; Soil-shifting machines mechanically-driven
- E02F3/28—Dredgers; Soil-shifting machines mechanically-driven with digging tools mounted on a dipper- or bucket-arm, i.e. there is either one arm or a pair of arms, e.g. dippers, buckets
- E02F3/36—Component parts
- E02F3/3604—Devices to connect tools to arms, booms or the like
- E02F3/3686—Devices to connect tools to arms, booms or the like using adapters, i.e. additional element to mount between the coupler and the tool
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Mining & Mineral Resources (AREA)
- Civil Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Structural Engineering (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 설계된 수백만 게이트급 이상의 디지탈 회로의 설계 검증을 위한 설계 검증 방법에 관한 것이다.The present invention relates to a design verification method for design verification of a designed multi-million-gate or more digital circuit.
본 발명에서는 임의의 서버용 컴퓨터에서 수행되어지는 본 발명의 설계검증 시스템소프트웨어로 하여금 설계검증 대상회로에 입력/출력/입출력 탐침을 가능하게 하는 탐침용 부가회로를 부가하여 입력/출력/입출력탐침이 가능한 확장된 회로를 자동화된 방식으로 생성하게 한다. 또한 필요 시에는 검사 혹은 모니터 모듈도 함께 부가한 회로를 자동화된 방식으로 생성하게 하여 하드웨어 기반에서 ABV-기반의 검증도 가능하게 한다. 아울러 본 발명의 설계검증 인터페이스 모듈(수단)은 상기 입력/출력/입출력탐침이 가능한 확장된 회로가 1이상의 프로그래밍가능 소자로 구현되어 여타 다른 하드웨어 컴포넌트들과 함께 장착되어 있는 하드웨어 보드와 상기 서버용 컴퓨터를 연결시키고 상기 하드웨어 보드의 수행을 제어하면서 특정 시점이나 특정 조건에서 상기 하드웨어 보드 상의 상기 1이상의 프로그래밍가능 소자에 대한 입력/출력/입출력탐침을 수행하여 상기 서버용 컴퓨터와 상기 1이상의 프로그래밍가능 소자에 상기 설계검증 대상 전체 회로나 부분적인 회로에 대한 수행결과 정보를 빠르게 교환할 수 있도록 한다. 아울러 상기 서버용 컴퓨터와 상기 설계검증 대상 전체 회로 혹은 부분 회로만을 시뮬레이션하는 임의의 1 이상의 시뮬레이션 컴퓨터들을 이용하여 에뮬레이션과 시뮬레이션을 1차례이상 자동적인 방법으로 빠르게 번갈아 가면서 수행하여 설계 검증을 통하여 설계검증 대상회로에 존재하는 1이상의 설계 오류를 신속하게 제거하는 것을 가능하게 한다.In the present invention, the input / output / input / output probe is possible by adding a probe additional circuit which enables the design verification system software of the present invention to be performed on an arbitrary server computer to enable the input / output / input / output probe to the design verification target circuit. Allows you to create extended circuits in an automated manner. It also allows for automated ABV-based verification on a hardware basis, allowing automated generation of additional circuitry with inspection or monitor modules as needed. In addition, the design verification interface module (means) of the present invention comprises a hardware board and the server computer in which the extended circuit capable of input / output / input / output probe is implemented with one or more programmable elements and is mounted together with other hardware components. Designing the server computer and the at least one programmable element by performing input / output / input / output probes for the at least one programmable element on the hardware board at a specific point in time or under certain conditions while controlling the execution of the hardware board. It enables to quickly exchange performance result information about the whole circuit or partial circuit to be verified. In addition, by using the server computer and any one or more simulation computers that simulate only the entire circuit or partial circuit to be designed and verified, emulation and simulation are alternately performed one or more times in an automatic method, and the design verification target circuit is verified through design verification. It is possible to quickly eliminate one or more design errors present in the.
Description
도1 은 본 발명의 설계 검증 방법을 위한 설계 검증 장치의 일 예를 개략적으로 도시하는 도면.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 schematically shows an example of a design verification apparatus for the design verification method of the present invention.
도2 는 출력탐침 부가회로를 설계검증 대상회로에 부가한 예를 개략적으로 도시하는 도면.Fig. 2 is a diagram schematically showing an example in which an output probe additional circuit is added to a design verification target circuit.
도3 은 입력탐침 부가회로를 설계검증 대상회로에 부가한 예를 개략적으로 도시하는 도면.3 is a diagram schematically showing an example of adding an input probe additional circuit to a design verification target circuit;
도4 는 입력탐침 부가회로에 검사기 혹은 모니터가 내장되어진 예를 개략적으로 도시하는 도면.4 is a diagram schematically showing an example in which a tester or a monitor is built in the input probe addition circuit;
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
12 : RFPD 20 : 서버용 컴퓨터12: RFPD 20: Computer for Server
26 : 인터페이스 모듈 28 : 인터페이스 케이블26: interface module 28: interface cable
30 : 임의의 프로토타이핑 보드 상의 설계검증 대상회로가 구현된 1이상의 RFPD 이외의 다른 컴퍼넌트30: Component other than one or more RFPD in which the design verification target circuit on any prototyping board is implemented.
32 : 설계검증 시스템소프트웨어 34 : 임의의 시뮬레이터32: Design verification system software 34: Arbitrary simulator
35 : 임의의 컴퓨터35: random computer
44 : 임의의 프로토타이핑 보드 74 : 멀티플렉서44: random prototyping board 74: multiplexer
73 : 비동기 셋/리셋과 동기식 인에이블이 있는 단일입력 플립플롭73: Single Input Flip-Flop with Asynchronous Set / Reset and Synchronous Enable
75 : 이중입력 D형 플립플롭 76 : 단일입력 D형 플립플롭75: dual input D flip flop 76: single input D flip flop
77 : 비동기 셋과 비동기 리셋이 있는 이중입력 플립플롭77: dual input flip-flop with asynchronous set and asynchronous reset
78 : 비동기 셋과 비동기 리셋이 있는 단일입력 플립플롭78: Single Input Flip-Flop with Asynchronous Set and Asynchronous Reset
79 : 트라이스테이트 버퍼(Tri-state buffer)79: Tri-state buffer
86 : 출력탐침 대상 신호선86: output probe target signal line
87 : 출력탐침용 부가회로의 쉬프트레지스터를 형성하는 플립플롭들87: flip-flops forming a shift register of an additional circuit for the output probe
88 : 입력탐침용 부가회로의 쉬프트레지스터를 형성하는 플립플롭들88: flip-flops forming the shift register of the additional circuit for the input probe
90 : 시뮬레이션되는 설계검증 대상회로90: simulation circuit for design verification
92 : 하드웨어적으로 구현된 검사기 또는 모니터92: Inspector or monitor implemented in hardware
본 발명은 설계된 수백만 게이트급 이상의 디지탈 회로를 설계 검증하는 기술에 관한 것으로, 설계된 수백만 게이트급 이상의 디지탈 회로를 프로그램 가능한 칩 혹은 주문형반도체 칩으로 실제 하드웨어적으로 구현하고 에뮬레이션 기법과 시뮬레이션, 그리고 정식검증 기법을 함께 사용하여 상기 수백만 게이트급 이상의 디지털 회로에 존재하는 1이상의 설계 오류를 신속하게 제거하는 설계 검증 방법에 관한 것이다.The present invention relates to a technology for design verification of millions of gate-class digital circuits designed and implemented by emulation, simulation, and formal verification techniques. The present invention relates to a design verification method for quickly eliminating one or more design errors present in the multi-million-gate or more digital circuit.
최근에 집적회로의 설계 및 반도체 공정기술이 급격하게 발달함에 따라 디지탈 회로 설계의 규모가 최소 수백만 게이트급에서 수천만 게이트급까지 커짐은 물론 그 구성이 극히 복잡해지고 있는 추세이고, 이와 같은 추세는 계속적으로 확대되고 있는 추세로 가까운 미래에 일억 게이트급 이상의 설계도 예상되고 있다. 그러나, 시장에서의 경쟁은 더욱 더 치열해지므로 빠른 시간 내에 우수한 제품을 개발하여야만 함으로 빠른 시간 내에 자동화된 방법으로 설계된 회로를 효율적으로 설계 검증하기 위한 효과적인 방법의 필요성이 더욱 커지고 있다.With the recent rapid development of integrated circuit design and semiconductor process technology, the scale of digital circuit design has grown from at least millions of gates to tens of millions of gates, and its composition has become extremely complicated. As the trend is expanding, more than 100 million gate designs are expected in the near future. However, competition in the market is getting fiercer, and therefore, a good product must be developed in a short time, and there is an increasing need for an effective method for efficiently designing and verifying a circuit designed in an automated manner in a short time.
지금까지는 설계된 디지탈 회로를 설계 검증하기 위하여서는 소프트웨어적 접근법인 시뮬레이터가 주로 사용되었으나, 시뮬레이터는 설계검증 대상회로를 소프트웨어적으로 모델링한 순차적인 인스트럭션 시퀀스로 구성된 소프트웨어 코드를 컴퓨터 상에서 순차적으로 수행하여야 함으로 상기 수백만 게이트급 이상의 설계를 위한 설계 검증 시간이 상상을 초월할 정도로 극히 오래 걸리게 되고 다른 주변 하드웨어 환경과 물리적으로 통합되어 시스템 전체를 검증(이를 ICE, In-Circuit Emulation이라 함)할 수 없는 한계가 있다. 뿐만 아니라 시뮬레이션을 이용하여 설계 검증을 수행하기 위해서는 설계검증 대상회로에 설계 검증을 가능하게 하는 입력패턴 시퀀스를 생성하여야 한다. 그러나 설계검증 대상회로의 규모가 커지게 되면 이에 지수함수적으로 비례하여 입력패턴 시퀀스의 크기가 커지게 될 뿐만 아니라 이를 대부분의 경우에 수작업으로 생성하여야만 함으로 이를 위하여 많은 시간과 비용이 투입되어야만 한다.Until now, the simulator, which is a software approach, has been mainly used to design and verify the designed digital circuit. However, the simulator has to sequentially execute the software code composed of sequential instruction sequences that model the circuit to be designed and verified on a computer. Design verification time for designs beyond millions of gates is extremely long, beyond the imagination, and physically integrated with other surrounding hardware environments to limit the entire system (called ICE, In-Circuit Emulation). . In addition, in order to perform design verification using simulation, an input pattern sequence for design verification should be generated in a design verification target circuit. However, as the size of the circuit for design verification increases, the size of the input pattern sequence increases in proportion to the exponential function, and in most cases, a large amount of time and cost must be invested.
이에 비하여 설계된 회로를 실제 칩으로 구현하여 이를 이용한 하드웨어 적인 에뮬레이션 기반의 설계 검증 방법은 설계된 디지탈 회로의 모든 구성요소들이 구현된 칩 상에서 실제 병렬적으로 동작되고 있는 상황에서 디지털 회로를 검증하는 것이기 때문에 시뮬레이션에 비하여 최대 일백만배 고속의 설계 검증이 가능하고 다른 주변 하드웨어 환경과도 ICE 환경을 물리적으로 구성하여 통합적으로 검증할 수 있다. 뿐만 아니라, 다른 주변 하드웨어 환경과 통합하여 ICE 방식으로 설계 검증을 수행하는 경우에는 설계검증 대상회로에 주변 하드웨어 환경에서 실제의 입력패턴 시퀀스가 공급됨으로 이를 수작업으로 생성시키는 과정을 완전히 생략할 수 있다. 그러나 에뮬레이션은 시뮬레이션에 비하여 디버깅을 수행하는 것이 매우 불편한 것이 단점인데, 이의 주된 원인은 프로그램 가능한 칩 또는 주문형반도체 칩들에 구현된 설계검증 대상회로에 존재하는 수많은 신호선들의 논리값을 알 수 있는 가시도(visibility)가 시뮬레이션에 비하여 턱없이 떨어지기 때문이다. 뿐만 아니라 프로그램 가능한 칩 또는 주문형반도체 칩들을 이용한 에뮬레이션을 이용하게 되면 수행 자체는 극히 고속으로 수행시키는 것이 가능하지만, 설계검증 대상회로에 1이상의 설계 오류가 존재하는 경우에 이들 설계 오류를 수정하게 되면 이를 반영하여 프로그램 가능한 칩을 재프로그래밍하거나 주문형반도체 칩을 다시 제조하여야만 하는데 이 과정에서 매우 긴 시간이 필요하고 경우에 따라서는 큰 비용의 지출도 수반하게 된다는 것인데 일반적으로 설계초기 단계에서는 설계가 전혀 검증되지 않았음으로 수 많은 설계 오류들이 존재하게 되며 이들 설계 오류들이 수 차례에서 수십 차례에 걸쳐서 수정되는 것이 일반적임으로 이와 같은 상황에서 에뮬레이션을 이용한 설계 검증은 매우 바람직스럽지 못하다.In contrast, a hardware emulation-based design verification method using a designed circuit as a real chip is to verify the digital circuit in a situation where all components of the designed digital circuit are actually operated in parallel on the implemented chip. Design verification can be up to one million times faster than that, and the ICE environment can be physically configured and integrated with other surrounding hardware environments. In addition, in the case of performing design verification using the ICE method by integrating with other peripheral hardware environments, the process of manually generating the input pattern sequence from the surrounding hardware environment is supplied to the design verification target circuit. However, emulation has a disadvantage that it is very inconvenient to perform debugging compared to simulation, and its main cause is the visibility that can know the logic value of numerous signal lines in the design verification circuit implemented in the programmable chip or the custom semiconductor chip. This is because visibility falls far short of the simulation. In addition, if emulation using programmable chips or custom semiconductor chips is used, the execution can be performed at extremely high speed. However, if one or more design errors exist in the circuit under design verification, these errors can be corrected. In this case, it is necessary to reprogram the programmable chip or to manufacture the custom semiconductor chip again. This process requires a very long time and sometimes a high cost. In general, the design is not verified at the initial stage of design. Many design errors exist, and these design errors are usually corrected from several times to tens of times. Therefore, design verification using emulation is not desirable in such a situation.
기 특허출원된 "신속한 입출력탐침 장치 및 이를 이용한 입출력탐침 방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션 방법"(특허출원번호: 10-2000-0034628)에서는 프로그램 가능한 칩들인 재사용 가능 프로그래밍 소자(Reusable Field Programmable Devices ; 이하 "RFPD"라 함)나 ASIC(Application Specific Inregrated Circuit)이나 ASSP(Application Specific Standard Product)와 같은 주문형반도체 소자를 이용한 임의의 에뮬레이션과 임의의 시뮬레이션을 함께 사용하여 디지털 시스템에 대한 설계 검증을 효과적으로 수행하는 방법을 제시하고 있다.The patent application "Rapid input / output probe device and input / output probe method using the same and a mixed emulation / simulation method based on the same" (Patent Application No. 10-2000-0034628) is a reusable field programmable device (programmable chips) Design validation for digital systems using any emulation and arbitrary simulation with custom semiconductor devices such as Devices (hereinafter referred to as "RFPD"), application specific integrated circuits (ASICs), or application specific standard products (ASSPs) It suggests how to do this effectively.
그러나 상기 기 출원된 특허뿐만 아니라 다른 어떠한 특허들에서도 임의의 에뮬레이션과 임의의 시뮬레이션뿐만 아니라, 임의의 정식검증(formal verification) 혹은 임의의 세미 정식검증(semi-formal verification)까지 함께 사용하여 디지털 시스템에 대한 설계 검증을 효과적으로 수행하는 방법을 제시하지는 못하였다. 정식검증 혹은 세미 정식검증은 주장(assertion)을 이용하여 화이트박스 검증(White-box Verification)이나 그레이박스 검증(Gray-box Verification)을 가능하게 함으로서 설계오류로 인한 회로 오동작의 결과가 설계검증 대상회로의 출력까지 전달되어지지 않아도 주장(assertion)들의 만족여부나 위반여부를 조사하는 검사기(checker)나 모니터(monitor)를 이용하여 설계오류의 자동적인 검출이 가능한데(즉, 검사기나 모니터가 검증 실행 과정에서 주장들의 만족여부나 위반여부를 조사하여서 특정 주장의 만족시점 또는 위반시점을 알아냄으로서 상기 특정 주장과 연관된 설계오류와 이의 발생시점을 자동화된 방식으로 알아낼 수 있는데), 이를 ABV(Assertion-based Verification) 방식이라 통칭한다. 그러나 이와 같은 정식검증 혹은 세미 정식검증의 단점은 검증대상의 규모가 큰 경우에 통상적인 시뮬레이션에 비해서도 검증 수행시간이 매우 느려진다는 것이다.However, in addition to any emulations and simulations, as well as any other patents, not only the previously filed patents, but also any formal verification or any semi-formal verification can be used in the digital system. It does not present a way to effectively perform design verification. Formal verification or semi-formal verification enables white-box verification or gray-box verification using assertions, resulting in circuit malfunction due to design errors. It is possible to automatically detect design errors by using a checker or monitor that checks whether the assertions are satisfied or violated even if the output of the test is not delivered. Investigating whether a claim is satisfied or violated by investigating whether the claim is satisfactory or violated, the design error associated with the particular claim and the time of occurrence thereof can be determined in an automated way, which is ABV (Assertion-based). Also called Verification method. However, the disadvantage of formal verification or semi formal verification is that the verification execution time is very slow compared to the normal simulation when the verification target is large.
따라서, 본 발명의 목적은 초대규모급 설계 검증을 위한 1이상의 RFPD를 이용하여 하드웨어 적으로 구현된 대규모 디지털 시스템의 임의의 에뮬레이션과 임의의 시뮬레이션, 그리고 임의의 정식검증(formal verification) 혹은 임의의 세미 정식검증(semi-formal verification)까지 함께 혼용하여 설계 검증에서 하드웨어적인 입출력 탐침 방법과 소프트웨어적인 입출력 탐침 방법을 함께 채용한 설계 검증을 통하여 설계 검증 대상에 존재하는 수많은 설계 오류들의 발견과 제거를 최소한의 시간과 비용을 투입하여 신속하게 수행할 수 있도록 하는 설계 검증 방법을 제공함에 있다. 구체적으로, 주장(assertion)을 이용하는 화이트박스 검증(White-box Verification)이나 그레이박스 검증(Gray-box Verification)을 에뮬레이션/시뮬레이션 혼용방식의 검증에서 가능하게 함으로서 에뮬레이션/시뮬레이션 혼용방식의 검증실행 과정에서 주장 구문(assertion statement)들로 구성되는 검사기나 모니터가 주장들의 만족여부나 위반여부를 실시간으로 조사하여서 특정 주장의 만족시점 또는 위반시점을 신속하게 알아내고, 이와 같은 특정 주장의 만족시점 또는 위반시점 근방에서 설계 검증 대상에 대한 높은 가시도를 시뮬레이션을 통하여 얻을 수 있도록 함으로서 상기 특정 주장과 연관된 설계오류와 이의 발생 시점 및 원인을 신속하게 알아낼 수 있는 설계 검증 방법을 제공함에 있다.Accordingly, it is an object of the present invention to provide an arbitrary emulation and any simulation of any large scale digital system implemented in hardware using one or more RFPDs for ultra-scale design verification and any formal verification or any semi- By using a combination of semi-formal verification and design verification using both hardware input / output probe method and software input / output probe method in design verification, it is possible to minimize the detection and elimination of numerous design errors in the design verification target. It is to provide a design verification method that can be performed quickly with time and cost. Specifically, white-box verification or gray-box verification using assertions can be enabled in the emulation / simulation hybrid method, thereby verifying the emulation / simulation hybrid process. A checker or monitor, consisting of assertion statements, examines claims in real time to see if they are satisfactory or violated, and quickly determine when a particular claim is satisfied or violated, and when that particular claim is satisfied or violated. By providing a high visibility of the design verification target in the vicinity through the simulation to provide a design verification method that can quickly determine the design error associated with the particular claim, and when and the cause of its occurrence.
상기 목적을 달성하기 위하여, 본 발명의 설계 검증 방법을 위한 설계 검증 장치는 설계검증 시스템소프트웨어와, 설계검증 인터페이스 모듈(수단)을 제공한다. 설계검증 인터페이스 모듈(수단)은 인터페이스 모듈(interrace module)(26)과 인터페이스 케이블(interrace cable)(28)로 구성될 수 있거나, 이와는 별도의 방법으로 설계검증 시스템소프트웨어가 수행되는 서버용 컴퓨터와 1이상의 RFPD들을 장착하고 있는 1이상의 임의의 하드웨어 보드 또는 프로토타이핑 하드웨어 플랫폼 또는 에뮬레이션 하드웨어플랫폼을 연결할 수도 있다. 설계검증 시스템소프트웨어는 서버용 컴퓨터에서 실행되며 서버용 컴퓨터는 임의의 시뮬레이터(예로 HDL 시뮬레이터나 로직 시뮬레이터, 또는 사이클기반 시뮬레이터)를 가지고 있거나, 또는 상기 임의의 시뮬레이터를 수행하는 다른 1 이상의 임의의 컴퓨터들과 컴퓨터 네트워크를 통하여 연결되어 있다 또한 필요시에는 상기 1 이상의 임의의 컴퓨터들은 임의의 정식검증 툴이나 세미 정식검증 툴을 가질 수도 있다. 설계검증 인터페이스 모듈(수단)은 설계검증 시스템소프트웨어가 있는 서버용 컴퓨터와 설계된 수백만 게이트급 이상의 디지털 회로가 구현된 1이상의 RFPD들을 장착하고 있는 1이상의 임의의 하드웨어 보드 또는 프로토타이핑 하드웨어 플랫폼 또는 에뮬레이션 하드웨어플랫폼(이를 앞으로는 임의의 프로토타이핑 보드나 임의의 PCB라 칭함)을 연결하게 되고, 설계검증 인터페이스 모듈(수단)의 또 다른 중요 기능으로는 설계검증 대상회로에 대한 입출력탐침을 위해서 필요한 시스템 클럭과 이 시스템 클럭으로부터 생성되는 탐침 클럭, 그리고 동작모드 제어신호, 탐침모드 제어신호, 탐침용메모리읽기쓰기 신호 등을 설계검증 시스템소프트웨어의 제어 하에서 생성하여 필요 시에 임의의 프로토타이핑 보드나 임의의 PCB에 공급함으로서 인-서킷 환경(in-circuit environment)에서 동작하는 임의의 프로토타이핑 보드나 임의의 PCB 동작을 제어한다. 이를 위하여 설계검증 인터페이스 모듈(수단)은 자체적으로 FPGA나 CPLD, 혹은 마이크로프로세서나 마이크로콘트롤러, 또는 전용 ASIC/ASSP 칩을 내장하고 있을 수 있다. 또는 설계검증 인터페이스 모듈(수단)에서 물리적 연결 수단을 제외한 나머지 부분들은 설계검증 대상회로 또는 설계검증 대상HDL코드와 같이 FPGA나 CPLD에 함께 구현될 수도 있다. 도1 은 서버용 컴퓨터에서 운영되는 설계검증 시스템소프트웨어와 설계검증 인터페이스 모듈(수단)과 서버용 컴퓨터와 컴퓨터 네트워크(예로 LAN, WAN, ATM 등)를 통하여 임의의 시뮬레이터를 가지고 있는 1이상의 임의의 컴퓨터들로 구성된 본 발명의 설계 검증 방법을 위한 설계검증 장치의 일 예를 개략적으로 도시한 도면이다. 구체적으로는 설계검증 인터페이스 모듈(수단)(26)은 서버용 컴퓨터의 PCI(Peripheral Computer Interface) 버스에 연결되어지도록 PCI 슬롯에 장착되어지거나 혹은 이와 같은 기능의 다른 이차 시스템버스(secondary system bus)(예로 SUN 워크스테이션의 S-bus등)에 연결되는 것이 일반적이나, 고속이 요구되는 경우에는 서버용 컴퓨터의 일차 시스템버스(primary system bus)인 메인버스(main bus)에 연결되어질 수도 있고, 저속으로도 가능하다면 USB(Universal Serial Bus)나 병렬포트 또는 시리얼포드 등으로 연결되어질 수 있으며 이를 통하여 임의의 서버용 컴퓨터와 임의의 프로토타이핑 보드나 임의의 PCB가 연결되어 진다.In order to achieve the above object, a design verification apparatus for a design verification method of the present invention provides a design verification system software and a design verification interface module (means). The design verification interface module (means) may be composed of an
설계검증 시스템소프트웨어는 설계검증 인터페이스 모듈(수단)을 통하여 설계검증과정 도중에 사용자가 원하는 임의의 시점이나 상황에서 임의의 프로토타이핑 보드나 임의의 PCB에 구현된 수백만 게이트급 이상의 설계검증 대상회로의 전체나 혹은 부분에 대한 완전 상태정보(complete state information)나 혹은 부분 상태정보(partial state information)를 상기 임의의 시점이나 상황에서 프로토타이핑 보드로부터 읽어 내거나 반대로 특정 상태정보 값으로 쓸 수 있어야 한다. 여기서 상태정보(state Information)란 디지털 회로의 메모리소자(플립플롭이나 래치)들의 값과 메모리(RAM이나 ROM)의 내용을 나타내는 용어로 완전 상태정보란 설계검증 대상회로의 모든 메모리소자들의 값과 모든 메모리의 내용을 의미하며, 부분 상태정보란 설계검증 대상회로의 일부분의 메모리소자들의 값과(또는) 일부분의 메모리의 내용을 의미한다. 또한 메모리소자와 메모리는 다른 것으로 메모리소자는 플립플롭(flipflop)이나 래치(latch)를 의미하며, 메모리는 SRAM, DRAM, SDRAM, Rambus DRAM 등과 같은 모든 종류의 RAH(Random Access Memory)이나 PROM, EPROM, EEPROM, Flash Memory와 같은 모든 종류의 ROM(Read Only Memory)을 의미하는 것으로 정의한다 반면에 논리값정보(logic information)는 디지털 회로의 존재하는 임의의 1이상의 신호선들에 나타나는 이진논리값 시퀀스를 의미하며, 논리값정보가 상태정보와 다른 것은 논리값정보는 메모리소자들의 값과 메모리의 내용만을 국한하지 않고 조합논리 게이트들의 출력 값들이나 입력 값들도 함께 포함할 수 있다는 것이다.The design verification system software uses the design verification interface module (means) to provide the total number of millions of gate-class design verification circuits implemented on any prototyping board or PCB at any point or situation desired by the user during the design verification process. Alternatively, the complete state information or the partial state information of the part may be read from the prototyping board at any time or situation, or vice versa. Here, state information refers to the values of the memory elements (flip-flops or latches) of the digital circuit and the contents of the memory (RAM or ROM). Complete state information refers to the values and all the values of all the memory elements of the circuit for design verification. The partial state information refers to the value of the memory elements of the portion of the design verification target circuit and / or the contents of the portion of the memory. In addition, the memory device is different from the memory, and the memory device means flip-flop or latch, and the memory refers to all kinds of random access memory (RAH), PROM, EPROM such as SRAM, DRAM, SDRAM, Rambus DRAM, etc. In other words, logical information refers to a binary logic sequence appearing on any one or more signal lines of a digital circuit. The logic value information is different from the state information, which means that the logic value information may include not only the values of the memory elements and the contents of the memory but also output values or input values of the combined logic gates.
설계검증 시스템소프트웨어는 설계검증 대상회로에 존재하는 특정 신호선들에 대한 입력탐침 또는 출력탐침 또는 입출력탐침을 가능하게끔 자동화된 방식으로 변환시키는 탐침 회로합성기를 포함하고 있는데, 이와 같은 탐침 회로합성기는 탐침용 부가회로를 설계검증 대상회로에 부가함으로서 완성되는 회로(이를 확장된 설계검증 대상회로라 칭함)를 자동화된 방식으로 생성하게 된다. 확장된 설계검증대상회로에 포함되는 탐침용 부가회로의 역할은 출력탐침의 경우에는 부가회로를 부가함으로서 형성되는 회로부분이 쉬프트레지스터 구조로 되어 탐침클럭에 동기화된 쉬프팅 동작을 이 쉬프팅 동작 직전에 쉬프트레지스터가 가지는 논리값들이 출력탐침 대상이 되는 회로내의 신호선들의 논리값들을 가지고서 하게 하며, 입력탐침의 경우에는 부가회로를 부가함으로서 형성되는 회로부분은 쉬프트레지스터 구조로 되어 쉬프팅 동작을 하며 이와 같은 쉬프팅 동작을 이용하여 입력탐침 대상이 되는 회로내의 신호선들에 쉬프팅 동작이 완료된 후에 원하는 특정 논리값들이 나타날 수 있도록 하며, 입출력탐침의 경우에는 상기 입력탐침과 출력탐침 각각이 원하는 시점에 수행될 수 있도록 하고, 정상동작이 필요한 때는 부가회로가 부가되더라도 설계검증 대상회로의 함수적 논리 성질(functional logical behavior)이 변형되지 않지 않는 회로로 동작할 수 있도록 하는 것이다. 또는 설계검증 대상이 하드웨어구술언어(이 후 HDL로 칭함) 코드로 구술된 경우에는 탐침용 부가회로의 행위(behavior)를 표현하는 HDL 부가코드가 설계검증 대상HDL코드에 부가됨으로서 완성되는 HDL코드가 출력탐침의 경우에는 부가 HDL코드를 부가함으로서 형성되는 HDL 부분이 쉬프트레지스터 행위를 표현하고 있어 탐침클럭에 동기화된 쉬프팅 동작을 이 쉬프팅 동작 직전에 쉬프트레지스터의 행위를 표현하는 HDL코드에서 레지스터 HDL코드의 신호선이 가지는 신호값들이 출력탐침 대상이 되는 HDL코드의 신호선들의 논리값들을 가지고서 하게 하며, 입력탐침의 경우에는 부가 HDL코드를 부가함으로서 형성되는 HDL코드 부분은 쉬프트레지스터 구조로 되어 탐침클럭에 동기화된 쉬프팅 동작을 하며 이와 같은 쉬프팅 동작을 이용하여 입력탐침 대상이 되는 HDL코드의 출력탐침 대상이되는 HDL코드내의 신호선들에 쉬프팅 동작이 완료된 후에 원하는 특정 논리값들이 나타날 수 있도록 하며, 입출력탐침의 경우에는 상기 입력탐침과 출력탐침 각각이 원하는 시점에 수행될 수 있도록 하고, 정상동작이 필요한 때는 부가회로가 부가되더라도 설계검증 HDL코드의 함수적 논리 성질(functional logical behavior)이 변형되지 않지 않도록 하는 것이다.The design verification system software includes a probe circuit synthesizer that converts input probes or output probes or input / output probes to specific signal lines present in the design verification circuit in an automated manner, such as a probe circuit synthesizer. By adding the additional circuit to the design verification target circuit, a completed circuit (which is called an extended design verification target circuit) is generated in an automated manner. The role of the probe additional circuit included in the extended design verification target circuit is that in the case of the output probe, the circuit part formed by adding the additional circuit has a shift register structure to shift the shifting operation synchronized with the probe clock just before the shifting operation. The logic values of the registers have the logic values of the signal lines in the circuit to be output probe.In the case of the input probe, the circuit part formed by adding an additional circuit has a shift register structure to perform the shifting operation. By using a specific logic value can be displayed after the shifting operation is completed on the signal lines in the circuit that is the input probe target, in the case of input and output probes, each of the input probe and the output probe can be performed at a desired time point, When normal operation is required, the additional circuit The even to to operate in functional properties logic circuit that (logical functional behavior) anji not a variation of the circuit design verification. Alternatively, if the design verification object is dictated by a hardware oral language (hereinafter referred to as HDL) code, the HDL code that is completed by adding the HDL code representing the behavior of the probe additional circuit to the HDL code to be verified by design is completed. In the case of the output probe, the HDL part formed by adding the additional HDL code expresses the shift register behavior. The signal values of the signal line have the logic values of the signal lines of the HDL code to be the output probe target, and in the case of the input probe, the HDL code part formed by adding the additional HDL code has a shift register structure and is synchronized with the probe clock. Shifting operation and using this shifting operation, H which is the target of input probe After the shifting operation is completed on the signal lines in the HDL code, which is the target of DL probe output probe, specific logic values can be displayed.In case of input / output probe, each of the input probe and output probe can be performed at the desired time. For example, when normal operation is required, the functional logical behavior of the design verification HDL code is not modified even if an additional circuit is added.
또한 탐침 대상이 되는 신호선들이 메모리소자의 출력인 경우에는 확장된 설계검증 대상회로에 포함되는 탐침용 부가회로의 역할은 출력탐침의 경우에는 부가회로를 부가함으로서 형성되는 회로부분이 쉬프트레지스터 구조로 되어 탐침클럭에 동기화된 쉬프팅 동작을 이 쉬프팅 동작 직전에 쉬프트레지스터가 가지는 논리값들이 출력탐침 대상이 되는 회로내의 모든 혹은 일부분의 메모리소자의 논리값들을 입력탐침 대상이 되는 HDL코드의 메모리소자들 행위를 표현하는 HDL코드의 시그널들에 대한 동기적(synchronous) 셋(set) 또는 리셋(reset) 동작, 혹은 비동기적(asynchronous) 셋 또는 리셋 동작에 이은 동기적 셋 또는 리셋, 또는 비동기적 셋 또는 리셋 동작에 이은 동기적 디스에이블(disable) 동작으로 입력탐침 대상이 되는 시그널들의 논리값을 입력탐침값으로 되게하며, 입출력탐침의 경우에는 상기 입력탐침과 출력탐침 각각이 원하는 시점에 수행될 수 있도록 하고, 정상동작이 필요한 때는 탐침용 부가회로가 부가되더라도 설계검증 대상HDL코드의 행위를 변형하지 않도록 한다.In addition, when the signal lines to be probed are the outputs of the memory device, the role of the probe additional circuit included in the extended design verification target circuit is that in the case of the output probe, the circuit portion formed by adding the additional circuit has a shift register structure. A shifting operation synchronized with the probe clock is performed. The logic values of the shift register immediately before the shifting operation are used to determine the logic values of all or a part of the memory elements in the circuit to which the output probe is targeted. A synchronous set or reset operation, or an asynchronous set or reset operation, followed by an asynchronous set or reset operation on the signals of the HDL code being represented. This is followed by a synchronous disable operation that inputs the logical value of the signals that are the target of the input probe. In the case of input / output probes, each of the input probe and the output probe can be performed at a desired time point, and when normal operation is required, the behavior of the design-proven target HDL code is not modified even if the probe additional circuit is added. .
이상과 같은 탐침을 위한 탐침용 부가회로에 대한 구체적 구현방법의 예들은 기 출원된 "신속한 입출력탐침 장치 및 이를 이용한 입출력탐침 방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션 방법"(PCT출원번호: PCT/KR01/01092)에 상당 부분이 이미 자세하게 언급되어 있음으로 본 특허에서는 추가적인 것들에 대한 몇몇 경우에 대해서만 언급하기로 한다.Examples of the specific implementation method for the additional circuit for the probe for the above-described probe is the "fast rapid input and output probe device and input and output probe method using the same and the mixed emulation / simulation method based on the same" (PCT application number: PCT / Since much of KR01 / 01092 is already mentioned in detail, this patent will only mention some cases of additional ones.
도2 는 설계검증 대상회로에 존재하는 임의의 신호선들에 대한 출력탐침을 수행하는 탐침용 부가회로의 일 구현 예를 개략적으로 도시한 도면이다.FIG. 2 is a diagram schematically showing an example of an implementation of a probe additional circuit that performs an output probe on arbitrary signal lines existing in a design verification target circuit.
도3 은 설계검증 대상회로에 존재하는 입력이나 조합회로의 출력이 되는 임의의 신호선들에 대한 입력탐침을 수행하는 탐침용 부가회로의 일 구현 예를 개략적으로 도시한 도면으로, 이 경우에는 메모리소자의 출력이 아닌 신호선들에 대하여 입력 탐침을 수행하여야 함으로 부가회로를 부가함으로서 형성되는 회로부분은 쉬프트레지스터 구조로 되어 쉬프팅 동작을 하며 이와 같은 쉬프팅 동작을 이용하여 입력탐침 데이터를 상기 쉬프트레지스터 구조를 이루는 플립플롭들에 저장시키고 난 후에 멀리플렉서(74)의 선택입력을 제어하여 상기 입력탐침 데이터가 해당 신호선들 각각에 나타나게 한다.FIG. 3 is a view schematically showing an example of an additional circuit for a probe that performs an input probe on an arbitrary signal line that is an input or an output of a combination circuit existing in a design verification target circuit; in this case, a memory device Since the input probe should be performed on the signal lines other than the output of the circuit, the circuit portion formed by adding the additional circuit has a shift register structure to perform the shifting operation, and the input probe data forms the shift register structure using the shifting operation. After storage in flip-flops, the select input of the
부가적으로 설계검증 대상회로에 RAM이나 ROM 등의 메모리가 포함되어 있으며 이와 같은 메모리들도 RFPD에 내장되어 제공되는 칩상 메모리(on-chip memory)(구체적인 예를 들면, Xilinx FPGA의 Distributed RAM 또는 BlockRAM, Altera FPGA의 Embedded Array Block 등)를 이용하여 구현하는 경우에는 상기 IOP-탐침용 부가회로에는 메모리 읽기/쓰기 부가회로가 추가적으로 포함되어 진다. 메모리 읽기/쓰기 부가회로는 설계검증 시스템소프트웨어의 제어를 받아서 출력탐침 모드에서는 RFPD 내부에 구현된 설계검증 대상회로에 존재하는 메모리의 모든 영역이나 특정 영역의 내용들을 정해진 순서에 따라 모두 읽어내어 출력탐침선을 통하여 인터페이스 모듈과 인터페이스 케이블을 거쳐서 설계검증 시스템소프트웨어로 자동화된 방식으로 읽혀질 수 있게 하고, 입력탐침모드에서는 설계검증 시스템소프트웨어가 가지고 있는 데이터를 인터페이스 케이블과 인터페이스 모듈을 거쳐서 RFPD의 입력탐침선을 통하여 RFPD 내부에 구현된 설계검증 대상회로에 존재하는 쓰기가능(writable) 메모리의 모든 영역이나 특정 영역에 정해진 순서에 따라 자동화된 방식으로 쓰기를 수행하게 된다. 이와 같은 메모리 읽기/쓰기 부가회로의 구체적인 구현 예도 기 출원된 "신속한 입출력탐침 장치 및 이를 이용한 입출력탐침 방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션 방법"(PCT출원번호: PCT/KR01/01092)에 이미 자세하게 언급되어 있음으로 본 특허에서는 생략하기로 한다.Additionally, the design verification target circuit includes memory such as RAM or ROM, and these memories are also provided on-chip memory (specifically, for example, distributed RAM or block RAM of Xilinx FPGA). In the case of using an embedded array block of Altera FPGA, a memory read / write additional circuit is additionally included in the IOP probe additional circuit. The memory read / write additional circuit is controlled by the design verification system software, and in the output probe mode, the output probe is read out by reading all the contents of the memory or the specific region in the design verification target circuit implemented in the RFPD in a predetermined order. It can be read through the interface module and the interface cable through the design verification system software in an automated manner.In the input probe mode, the data of the design verification system software is transferred to the RFPD input probe through the interface cable and the interface module. Through the RFPD, the write operation is performed in a predetermined order in all regions or specific regions of the writable memory in the design verification target circuit implemented in the RFPD. A specific example of the implementation of such a memory read / write additional circuit is already described in the "quick input / output probe apparatus and input / output probe method using the same and a mixed emulation / simulation method based on the same" (PCT application number: PCT / KR01 / 01092). Since it is mentioned in detail, it will be omitted in the present patent.
본 발명에서 출력탐침선과 입력탐침선은, 별개의 독립된 단방향 탐침선으로 존재할 수도 있고, 출력탐침선과 입력탐침선이 합쳐진 양방향 탐침선으로 존재할 수도 있다. 또한 본 발명에서 사용되는 탐침클럭은 설계검증 대상회로에 사용되는 사용자 클럭들과는 별도의 클럭을 시스템 클럭으로부터 생성하여 사용할 수도 있고, 사용자 클럭들 중의 하나(예로 제일 빠른 클럭)를 사용할 수도 있다.In the present invention, the output probe line and the input probe line may exist as separate independent unidirectional probes, or may exist as bidirectional probes in which the output probes and the input probes are combined. In addition, the probe clock used in the present invention may generate and use a clock separate from the user clocks used in the design verification target circuit from the system clock, or may use one of the user clocks (for example, the fastest clock).
상기 설계검증 시스템소프트웨어는 설계검증 대상회로에 존재하는 탐침대상신호선들 및 메모리, 또는 설계검증 대상HDL코드에 존재하는 탐침대상 시그널들 및 메모리 블럭을 설계자로부터 수동으로 입력받는 혹은 자동으로 결정하는 단계를 포함하며, 임의의 프로토타이핑 보드나 임의의 PCB 상에 장착된 1이상의 RFPD에 설계검증 대상회로를 구현하기 위하여 출력탐침대상 신호선들 또는 읽기대상 메모리 영역에서의 특정 시간대 혹은 특정 상황이 발생한 시점에서의 논리값들이 출력탐침선에 일정 시간 동안에만 순차적으로 나타나도록 하며, 입력탐침대상 신호선들 또는 쓰기대상 메모리 영역이 입력탐침선에 특정 시간대에 가해지는 논리값들을 가질 수 있도록 임의외 프로토타이핑 보드나 임의의 PCB 상에 장착된 1이상의 RFPD에 할당된 설계검증 대상회로에 탐침용 부가회로를 부가하여 확장된 설계검증 대상회로를 생성하는 단계를 더 포함한다. 또한, 출력탐침대상 신호선들과 읽기대상 메모리 영역에 대해서는 출력탐침대상 신호선들 상에서의 특정 시간대에서의 논리값들과 메모리 내용을 탐침용 부가회로를 이용하여 해당 RFPD의 출력탐침선에 나타나게 하고 출력탐침선에 나타난 값을 설계검증 인터페이스 모듈(수단)을 통하여 서버용 컴퓨터로 전송하며, 입력탐침대상 신호선들과 쓰기대상 메모리 영역에 대해서는 서버용 컴퓨터에서 얻어진 상태정보로부터 입력탐침용 데이터를 생성한 후, 이를 설계검증 인터페이스 모듈(수단)을 통하여 해당 RFPD의 입력탐침대상 신호선들에 탐침클럭과만 동기화하면서 인가하거나, 혹은 탐침클럭과 동기화하는 것과 더불어 탐침모드제어신호선을 통하여 탐침모드를 입력탐침모드와 출력탐침모드간으로 적절히 변화시켜가면서 인가하여 입력탐침대상 신호선들의 논리값과 쓰기대상 메모리 영역의 내용이 입력탐침선을 통하여 전송되어진 논리값들을 가지게 함으로서 RFPD에 구현된 설계검증대상회로의 상태정보가 상기 서버용 컴퓨터에서 얻어진 상태정보와 같게끔 설정하는 단계를 포함한다.The design verification system software may be configured to manually receive or automatically determine the signal phase signals and memory blocks present in the circuit to be verified, or the signal phase signals and memory blocks present in the HDL code to be verified. In order to implement the design verification circuit in one or more RFPDs mounted on any prototyping board or any PCB. Arbitrary and non-prototyping boards or arbitrary logic so that logic values appear sequentially on the output probe only for a certain period of time, and the signal lines on the input probe or the memory area to be written can have logic values applied to the input probe at specific times. Verification assignments assigned to one or more RFPDs mounted on the PCB Adding an additional circuit for the probe circuit further comprises the step of generating the extended design verification circuit. In addition, for the signal lines on the output probe and the memory area to be read, the logic values and the contents of the memory at specific time points on the signal lines on the output probe are displayed on the output probe of the corresponding RFPD using the probe additional circuit. The value shown in the line is transmitted to the server computer through the design verification interface module (means). For the signal lines on the input probe and the memory area to be written, the input probe data is generated from the state information obtained from the server computer. Through the verification interface module (means), the signal lines on the input probe of the corresponding RFPD are applied while being synchronized with the probe clock only, or synchronized with the probe clock, and the probe mode is input through the probe mode control signal line. By changing the liver appropriately Setting the status information of the design verification target circuit implemented in the RFPD to be the same as the status information obtained from the server computer by having the logical values of the wires and the contents of the memory area to be written have the logical values transmitted through the input probe line. Include.
이상과 같은 설계검증 방법을 이용하면 설계검증 대상회로에 탐침용 부가회로가 부가되어진 확장된 설계검증 대상회로가 구현된 1이상의 반도체 칩이 장착된 임의의 프로토타이핑 보드나 임의의 PCB와 임의의 시뮬레이터를 함께 이용하여 에뮬레이션과 시뮬레이션을 시간적이나(temporally) 혹은 공간적으로(spatially) 혼합한 설계검증을 수행할 수 있다. 즉, 이와 같은 에뮬레이션과 시뮬레이션 혼합 검증은 상기 설계검증 시스템소프트웨어는 설계검증 대상회로에 존재하는 탐침대상 신호선들 및 메모리, 또는 설계검증 대상HDL코드에 존재하는 탐침대상 시그널들 및 메모리 블럭을 설계자로부터 수동으로 입력받거나 자동으로 결정하는 단계를 포함하며, 임의의 프로토타이핑 보드나 임의의 PCB 상에 장착된 1이상의 RFPD에 구현된 설계검증 대상회로 전체나 혹은 설계검증 대상회로 부분에 존재하는 출력탐침대상 신호선들 또는 읽기대상 메모리 영역에서의 특정 시간대 혹은 특정 상황이 발생한 시점에서의 논리값들이 출력탐침선에 일정 시간 동안에만 순차적으로 나타나도록 하며, 입력탐침대상 신호선들 또는 쓰기대상 메모리 영역이 입력탐침선에 특정 시간대에 가해지는 논리값들을 가질 수 있도록 임의의 프로토타이핑 보드나 임의의 PCB 상에 장착된 1이상의 RFPD에 할당된 설계검증 대상회로 전체나 혹은 설계검증 대상회로 부분에 탐침용 부가회로를 부가하여 확장된 설계검증 대상회로 전체나 혹은 확장된 설계검증 대상회로 부분을 생성하는 단계를 더 포함한다. 또한, 출력탐침대상 신호선들과 읽기대상 메모리 영역에 대해서는 출력탐침대상 신호선들 상에서의 특정 시간대에서의 논리값들과 메모리 내용을 탐침용 부가회로를 이용하여 해당 RFPD의 출력탐침선에 나타나게 하고 출력탐침선에 나타난 값을 설계검증 인터페이스 모들을 통하여 서버용 컴퓨터로 전송하여 설계검증 대상회로 전체나 혹은 설계검증 대상회로 부분의 현재 상태정보나 현재 탐침신호선들의 논리정보를 시뮬레이터가 시뮬레이션을 위한 초기 상태값이나 초기 값으로 가질 수 있도록 하며, 입력탐침대상 신호선들과 쓰기대상 메모리 영역에 대해서는 임의의 컴퓨터에서 시물레이션을 통하여 얻어진 상태정보나 논리값정보로부터 입력탐침용 데이터를 생성한 후, 이를 인터페이스 모듈과 인터페이스 케이블을 통하여 해당 RFPD의 입력탐침대상 신호선들에 탐침클럭과만 동기화하면서 인가하거나, 혹은 탐침클럭과 동기화하는 것과 더불어 탐침모드제어신호선을 통하여 탐침모드를 입력탐침모드와 출력탐침모드간으로 적절히 변화시켜가면서 인가하여 입력탐침대상 신호선들의 논리값과 쓰기대상 메모리 영역의 내용이 입력탐침선을 통하여 전송되어진 논리값들을 가지게 함으로서 RFPD에 구현된 설계검증 대상회로 전체 또는 설계검증 대상회로 부분의 상태정보 혹은 논리값정보가 시뮬레이터에서 일정기간 동안 시뮬레이션을 통하여 생성된 상태정보 혹은 논리값정보와 같게끔 설정하는 단계를 포함한다. 이와 같은 임의의 프로토타이핑 보드나 임의의 PCB 상에 장착된 1이상의 RFPD와 임의의 시뮬레이터 간의 상태정보 혹은 논리값정보의 교환은 시뮬레이터에 마련되어진 FLI(Foreign Language Interface)나 PLI(Prograrnming Language Interface)를 이용한다면 API(Application Program Interface) 수준에서 이루어질 수 있음으로 오버헤드를 최소화하면서 가능하다.By using the above design verification method, any prototyping board or any PCB and any simulator equipped with one or more semiconductor chips in which an extended design verification target circuit in which a probe additional circuit is added to the design verification target circuit are implemented. Using together, you can perform design verification by temporally or spatially mixing emulation and simulation. In other words, such emulation and simulation mixed verification may be performed by the design verification system software. The design verification system software may manually designate the signal signals and memory blocks present in the design verification circuit, or the signals and memory blocks present in the design verification target HDL code from the designer. A signal line on the output probe on the entire design verification circuit or part of the design verification circuit implemented in one or more RFPDs mounted on any prototyping board or any PCB. The logic values at specific time zones or at specific times in the memory area to be read are sequentially displayed on the output probe only for a certain period of time. To have logical values applied at specific times Expanded design verification circuits or extended circuits by adding probe additional circuits to all the design verification circuits or to the design verification circuits assigned to one or more RFPDs mounted on any prototyping board or any PCB. The method may further include generating a design verification target circuit part. In addition, for the signal lines on the output probe and the memory area to be read, the logic values and the contents of the memory at specific time points on the signal lines on the output probe are displayed on the output probe of the corresponding RFPD using the probe additional circuit. The value displayed on the line is transmitted to the server computer through the design verification interface model so that the simulator can calculate the current status information or the logic information of the current probe signal lines of the entire design verification circuit or the part of the design verification circuit. For the signal lines on the input probe and the memory area to be written, the input probe data is generated from the state information or logic value information obtained through the simulation on any computer, and then the interface module and the interface cable are connected. Input probe of the corresponding RFPD Apply to the target signal lines while synchronizing only with the probe clock, or by synchronizing with the probe clock and changing the probe mode between the input probe mode and the output probe mode through the probe mode control signal line. By making the logic value and the contents of the memory area to be written have the logic values transmitted through the input probe line, the state information or logic value information of the entire design verification circuit or part of the design verification circuit implemented in the RFPD is stored for a certain period of time in the simulator. And setting the same as the state information or logic value information generated through the simulation. The exchange of state information or logic value information between any one or more RFPDs mounted on any prototyping board or any PCB and any simulator can be accomplished by using a foreign language interface (FLI) or a programming language interface (PLI) provided in the simulator. This can be done at the API (Application Program Interface) level, with minimal overhead.
또한 위에서 언급된 시뮬레이션 과정에서, 필요 시에 설계검증 대상회로에 검사기나 모니터들을 내장시켜서 AVB 방식을 채용할 수 있으며, 에뮬레이션 과정에서도 필요 시에 설계검증 대상회로를 1 이상의 프로그래밍가능소자에 구현할때에 검사기나 모니터들을 함께 프로그래밍소자에 구현하여 하드웨어 기반에서의 AVB 방식을 채용할 수 있다. 앞으로 언급되는 시뮬레이션/에뮬레이션 혼용 방식은 특별한 언급이 없어도 이와 같이 시뮬레이션쪽에서 AVB를 채용하거나 혹은 에뮬레이션쪽에서 AVB를 채용한 것으로 한다.In addition, in the above-mentioned simulation process, the AVB method can be adopted by incorporating a tester or monitors in the design verification target circuit if necessary, and in the emulation process, when the design verification target circuit is implemented in one or more programmable devices, A tester or monitor can be implemented together in a programming device to adopt a hardware-based AVB approach. The simulation / emulation hybrid method mentioned in the future is based on the use of AVB on the simulation side or AVB on the emulation side.
이상과 같이 본 발명의 설계검증 방법을 이용하여 에뮬레이션과 시뮬레이션 간의 자동화된 방식으로 혼합 검증을 하기 위해서는 에뮬레이션과 시뮬레이션 간의 수행 전환이 자동으로 이루어져야 하는데 이와 같은 것을 수행모드 스위칭(execution mode switching)이라고 칭하며 이와 같은 수행모드 스위칭은 매클럭마다 이루어지거나, 혹은 특정 조건이 만족되어질 때 (예를 든다면 회로내의 특정 레지스터에 특정 값이 두 번 쓰여지는 시점) 이루어질 수 있는데 이와 같은 조건을 수행모드 스위칭 조건이라 칭한다 이와 같은 수행모드 스위칭 조건은 전체 검증 과정에서 시간적으로 전후 관계가 있는 2이상 될 수 있는데 이와 같은 경우에는 시간적으로 맨 처음에 설정된 조건에서부터 나중에 설정된 조건 순으로 나열된 상태에서 조건이 만족하는 시점에서 에뮬레이션에서 시뮬레이션으로 혹은 시뮬레이션에서 로직에뮬레이션으로의 수행모드 스위칭이 일어나게 된다. 이를 위해서는 수행모드 스위칭 조건들을 큐(queue)에 저장시켜 놓을 필요가 있는데 이를 수행모드 스위칭 조건 큐라고 칭하며 설계검증 시스템소프트웨어 내부에서 이를 자료구조(data structure) 형태로 유지하게 된다.As described above, in order to perform mixed verification in an automated manner between emulation and simulation by using the design verification method of the present invention, performance switching between emulation and simulation should be automatically performed. Such a method is called execution mode switching. The same execution mode switching can be done every clock, or when a certain condition is satisfied (for example, when a specific value is written twice to a specific register in the circuit). This condition is called the execution mode switching condition. The execution mode switching condition may be two or more times temporally related to the entire verification process. In such a case, when the condition is satisfied, the condition is listed in the order of the first setting from the first to the later setting. Mode switching is performed in a logic emulation is to occur in the simulation in the simulation, or illustration. To do this, it is necessary to store the execution mode switching conditions in a queue, which is called the execution mode switching condition queue, and maintains it in the form of a data structure in the design verification system software.
이와 같은 입출력탐침을 통하여 임의의 프로토타이핑 보드나 임의의 PCB를 이용한 에뮬레이션과 서버용 컴퓨터에서 수행하는 시뮬레이션을 1회 이상 번갈아 가면서 수행할 수 있게 된다. 특히 설계검증 대상회로에 조합적 폐회로(combinational feedback loop)가 존재하지 않는 경우에는, 출력탐침 대상 신호선들이 설계검증 대상회로에 존재하는 모든 메모리소자(플립플롭이나 래치)들의 출력선들이거나(이때의 출력탐침된 모든 메모리소자의 값들을 완전상태정보라 칭함), 출력탐침 대상 신호선들이 설계검증 대상회로에 존재하는 부분 메모리소자들의 출력선들인 경우에도 이 부분 메모리소자들의 출력선 값들로부터 1이상의 클럭사이클을 진행하여 나머지 메모리소자들의 모든 값들을 결정해 낼 수 있다면(이때의 출력탐침된 부분 메모리소자의 값들을 완전가능부분상태정보라 칭함) 출력탐침된 신호선들의 논리값들을 컴퓨터에 있는 시뮬레이터로 전달하여 에뮬레이션에 이온 시뮬레이션을 연속되게 진행할 수 있다. 만일 설계검증 대상회로에 조합적 폐회로가 1 이상 포함되어 있는 경우에는 각 조합적 폐회로들 마다 이 폐회로를 끊을(cut) 수 있는 조합적 폐회로에 존재하는 조합적 신호선들 각각들도 출력탐침 대상 신호선들에 포함되어야만 한다. 이상과 같은 에뮬레이션과 시뮬레이션을 1회 이상,번갈아 가면서 수행할 수 있게 되면 임의의 프로토타이핑 보드나 임의의 PCB를 사용하여 설계검증을 수행하는 단계에서 아래와 같은 수많은 이점들이 있다.Through this I / O probe, it is possible to perform an emulation using an arbitrary prototyping board or an arbitrary PCB and a simulation performed by a server computer one or more times. In particular, when there is no combinatorial feedback loop in the circuit under design verification, the output probe signal lines are the output lines of all memory elements (flip-flops or latches) present in the circuit under design verification (output at this time). The values of all probed memory elements are referred to as complete state information.) Even when the output probe target signal lines are output lines of partial memory elements present in the design verification target circuit, one or more clock cycles are output from the output line values of these partial memory elements. If it is possible to determine all the values of the remaining memory devices (the values of the output probed partial memory devices at this time are called fully-capable partial state information), the logic values of the output probed signal lines are transferred to the simulator in the computer for emulation. The ion simulation can proceed continuously. If more than one combinational closed circuit is included in the design verification target circuit, each of the combinational signal lines present in the combined closed circuit that can cut the closed circuit in each combination closed circuit is also the output probe target signal line. Should be included in If the above emulation and simulation can be performed one or more times, alternately, there are numerous advantages in performing design verification using an arbitrary prototyping board or an arbitrary PCB.
우선, 현재의 SoC(System On a Chip) 환경에서의 설계 검증에서는 시뮬레이션을 위한 테스트 벤치의 생성에 많은 시간과 비용이 투입되어야만 한다 통상 설계프로젝트가 완료될 때까지 테스트 벤치를 구현하는 코드의 크기가 전체 설계 코드크기의 80%까지를 차지할 정도로 테스트 벤치를 설계자가 직접 생성하는 것은 매우 어려운 일이다. 뿐만 아니라, SoC 설계에서 실제 설계된 칩이 실제 환경에서 실제적으로 동작되어지는 수 많은 모든 경우를 다 고려하여 테스트 벤치를 설계자가 직접 생성하는 것도 매우 어려운 일이다. 이에 비하여 ICE 기반의 설계 검증 방법은 설계검증 대상회로를 프로토타이핑하여 실제 환경과 같이 연동시켜보는 것이 가능하여, 테스트 벤치를 작성할 필요가 없을 뿐만 아니라 실제 환경에서 실제적 동작에 의한 실제 상황들이 연출되는 것임으로 테스트 벤치를 이용한 것보다 휠씬 신뢰성이 높은 검증을 수행하는 것이 가능한데, 이와 같은 프로토타이핑에 의한 설계 검증을 위해서는 설계검증 대상회로가 1이상의 프로그래밍가능 소자(FPGA 또는 CPLD 또는 불리안프로세서)로 구현되어 있어야만 한다. 그러나 일반적으로 수많은 설계 오류들이 존재하게 되어 이와 같은 설계 오류들을 적게는 수 차례에서 많게는 수십 차례까지도 수정하여야만 하는 설계 검증 초기 단계에서는 프로토타이핑에 의한 설계 검증을 위해서는 설계 오류가 수정되도록 설계검증 대상회로가 구현된 상기 칩 또한 수정이 되어야만 하는데, 이를 위한 시간과 비용이 매우 커서 현실적으로 설계 초기 단계에서는 사용할 수가 없다 즉, 이 시간과 비용이 그 중 제일 낮은 프로그래밍가능 소자(예로 FPGA)를 사용하는 경우에도 설계 오류가 수정된 설계검증 대상회로를 다시 구현하기 위해서는 짧게는 수 시간에서 길게는 수십 시간까지의 재-컴파일(re-compile) 과정이 반드시 필요하여 설계 검증 전체 시간을 크게 증가시키게 된다.First, design validation in current system on a chip (SoC) environments requires a great deal of time and money to create test benches for simulation. It is very difficult for designers to create their own test benches, which account for up to 80% of the overall design code size. In addition, it is very difficult for designers to create their own test benches in all SoC designs, considering all the many cases in which the actual designed chip is actually operated in a real environment. On the other hand, the ICE-based design verification method is capable of prototyping the design verification target circuit and integrating it with the real environment, so that not only a test bench needs to be created but also actual situations are produced by the actual operation in the real environment. As a result, it is possible to perform verification that is much more reliable than using a test bench. In order to verify the design by prototyping, the design verification circuit is implemented by one or more programmable elements (FPGA or CPLD or Boolean processor). Must be present However, in general, many design errors exist, and these design errors must be corrected at least several times to several tens of times. At the initial stage of design verification, the design verification target circuit is designed to correct the design errors for the design verification by prototyping. The chip implemented must also be modified, which is very time-consuming and expensive, which cannot be used in the early stages of design, ie even when using the lowest programmable device (eg FPGA). To re-implement the error-corrected design verification target circuit, a re-compile process of several hours to several tens of hours is necessary, which greatly increases the overall design verification time.
그러나, 본 특허에서 제시되는 설계 검증 방법을 사용하게 되면 이와 같은 문제들을 효과적으로 해결하여 빠른 시간 내에 최소의 노력을 들여서 설계 검증을 수행하는 것이 가능하다. 즉, 이미 언급된 대로 설계검증 대상회로나 설계검증 대상HDL코드에 탐침용 부가회로나 탐침용 부가HDL코드를 부가한 확장된 설계검증 대상회로나 확장된 설계검증 대상HDL코드를 이용하여 에뮬레이션과 시뮬레이션을 시간적으로 그리고 공간적으로 체계적이며 자동화된 방식 하에서 빠르게 온라인과 오프라인 방식을 혼용하여 설계 검증을 수행하는 경우에는 설계 초기 단계에서부터 테스트 벤치를 설계자가 수작업으로 생성할 필요 없이 실제 환경인 ICE 환경에서 실제적으로 연출된 것들을 그대로 이용하는 것이 가능해져서 훨씬 적은 시간과 비용을 들이고도 훨씬 신뢰성이 높은 설계 검증이 가능해진다. 뿐만 아니라 다른 방법들과는 달리 본 특허에서 제시되는 에뮬레이션 방법은 탐침용 부가회로가 부가된 확장된 설계검증 대상회로를 이용함으로서 에뮬레이션 도중에서도 설계검증 대상회로에 존재하는 신호선들에 대한 완벽한 관측도(observability)와 제어도(controllability)를 가지고 있다는 것도 중요한 장점이다.However, by using the design verification method proposed in this patent, it is possible to effectively solve such problems and perform design verification with minimum effort in a short time. That is, as already mentioned, emulation and simulation are performed using an extended design verification circuit or an extended design verification circuit that adds a probe additional circuit or a probe additional HDL code to a design verification circuit or a design verification target HDL code. Time and space in a systematic and automated way, when design validation is performed quickly using a mix of online and offline methods, it is not necessary to manually create a test bench from the early stage of the design. It is possible to use the results as they are, allowing for much more reliable design verification with much less time and cost. In addition, unlike other methods, the emulation method proposed in this patent uses an extended design verification target circuit with a probe additional circuit, thereby providing perfect observability of signal lines present in the design verification circuit even during emulation. It is also important to have controllability.
이제부터는 이상과 같은 에뮬레이션 도중에 높은 관측도와 제어도를 가지는 방법을 좀 더 자세하게 설명하기로 하며, 이를 위하여 도4 를 이용하기로 한다. 도4 는 설계검증 대상회로 전체가 에뮬레이션으로 수행되는 상황의 일 예를 개략적으로 도시한 도면으로, 이미 언급한 대로 에뮬레이션을 위하여 설계검증 대상회로뿐만 아니라 검사기나 모니터들도 같이 프로그래밍가능소자에 하드웨어적으로 구현되어서 ABV 검증 방식을 하드웨어적으로 가능하게 한다.Now, a method of having a high degree of observation and control during emulation as described above will be described in more detail, and FIG. 4 will be used for this purpose. 4 is a view schematically showing an example of a situation in which the entire design verification target circuit is performed by emulation. As described above, not only the design verification target circuit but also an inspector or a monitor are emulated in a programmable device for emulation. It can be implemented in hardware to enable the ABV verification scheme.
또한 본 설계 검증 방법을 기 출원된 "신속한 입출력탐침 장치 및 이를 이용한 입출력탐침 방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션 방법"(PCT 출원번호: PCT/KR01/01092)과 마찬가지로 에뮬레이션 시에도 시뮬레이션을 통하여 임의의 프로토타이핑 보드나 임의의 PCB 상의 1 이상의 RFPD에 구현된 설계검증 대상회로에서 출력탐침을 통하여 탐침될 수 있는 신호선들 뿐만 아니라, 이외의 나머지 신호선들 모두에 대하여 RFPD의 재-컴파일(re-compile) 과정이 없이도 100% 탐침이 가능하게 된다. 이와 같은 재 컴파일 과정을 최대한으로 생략시키는 것이 디버깅 과정에서 극히 중요한 이유는 최근의 수백만 게이트급의 RFPD를 컴파일하는 시간이 짧게는 수십분에서 길게는 수시간까지 필요하기 때문이다. 따라서 RFPD에 구현된 회로에 대한 디버깅 과정에서 제일 중요한 것 중의 하나는 상기 RFPD에 대한 재 컴파일을 최대한도로 억제함으로서 신속한 디버깅이 가능하게 하는 것이다. 상기 시뮬레이션과 에뮬레이션을 같이 이용하여 설계검증을 수행하면 이와 같은 RFPD에 대한 재 컴파일 과정 없이도 디버깅 과정에서 반드시 필요한 설계검증 대상회로에 존재하는 신호선들에 대한 완벽한 관측도(observability)와 제어도(controllability)를 가지고 있다는 것도 중요한 장점이다.In addition, similar to the "fast input / output probe device and input / output probe method using the same and a mixed emulation / simulation method based on the same" (PCT application No. PCT / KR01 / 01092), which is previously applied for the design verification method, the simulation is performed through simulation. Re-compiling RFPD for all other signal lines, as well as signal lines that can be probed through the output probe in any design verification circuit implemented in one or more RFPDs on any prototyping board or any PCB. 100% probe is possible without compile process. The omission of this recompilation process is of utmost importance in the debugging process, since the time required to compile the latest multi-million-gate RFPD requires as little as tens of minutes to hours. Therefore, one of the most important things in the debugging process for the circuit implemented in the RFPD is to enable rapid debugging by maximally suppressing the recompilation of the RFPD. When design verification is performed using the above simulation and emulation, perfect observability and controllability of signal lines existing in the design verification target circuit necessary during debugging without recompiling the RFPD is required. It is also an important advantage.
또한 에뮬레이션 과정 중에 탐침과정을 통하여 설계검증 대상회로에 상태정보를 원하는 1이상의 시간틀(time frame)들(N개의 시간틀을 가정함)에서 구하고 이 N개의 시간틀 사이에서 설계검증 대상회로에 인-서킷 환경에서 인가되는 입력 시퀀스들 또한 탐침을 통하여 N개를 구하여 에뮬레이션에 이어지는 시뮬레이션 세션을 N개로 분할하여서 임의의 M(M은 N과 같거나 작음)개의 시뮬레이터들로써 병렬적으로 수행함으로서 시뮬레이션의 속도를 높일 수 있다. 뿐만 아니라 에뮬레이션 과정중에 탐침과정을 통하여 설계검증 대상회로에 상태정보를 원하는 1이상의 시간틀(time frame)들(N개의 시간틀을 가정함)에서 구하여 에뮬레이션에 이어지는 정식검증 세션을 N개로 분할하여서 임의의 M(M은 N과 같거나 작음)개의 정식검증 툴들로써 병렬적으로 수행함으로서 정식검증의 속도를 높일 수 있다.Also, during the emulation process, the probe is obtained from one or more timeframes (assuming N timeframes) for which state information is desired in the design verification target circuit, and between the N timeframes. The input sequence applied in the circuit environment also obtains N through the probe, divides the simulation session following N into N, and executes in parallel with any M (M equal or less than N) simulators in parallel to speed up the simulation. Can increase. In addition, the emulation process obtains one or more timeframes (assuming N timeframes) for which state information is desired in the design verification target circuit through the probe process, and randomly divides the formal verification session following the emulation into N. M (M is less than or equal to N) can be performed in parallel with the formal verification tools to speed up formal verification.
상기 목적 외에 본 발명의 다른 목적 및 이점들은 첨부한 도면을 참조한 실시 예에 대한 상세한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and advantages of the present invention in addition to the above object will be apparent from the detailed description of the embodiments with reference to the accompanying drawings.
이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
도1 은, 서버용 컴퓨터에서 운영되는 설계검증 시스템소프트웨어와 시뮬레이터를 갖는 1 이상의 임의의 컴퓨터와, 설계검증 인터페이스 모듈(수단)로 구성된 본 발명에서의 검증 방법을 위한 설계 검증 장치의 일 예를 개략적으로 도시한 도면이다.1 schematically shows an example of a design verification apparatus for a verification method according to the present invention composed of one or more arbitrary computers having a design verification system software and a simulator running on a server computer, and a design verification interface module (means). Figure is shown.
도2 는 출력탐침 부가회로를 설계검증 대상회로에 부가한 예를 개략적으로 도시하는 도면이며, 도3 은 입력탐침 부가회로를 설계검증 대상회로에 부가한 예를 개략적으로 도시하는 도면이다.2 is a diagram schematically showing an example in which an output probe addition circuit is added to a design verification target circuit, and FIG. 3 is a diagram schematically showing an example in which an input probe addition circuit is added to a design verification target circuit.
이와 같이 설계검증 대상회로에 탐침용 부가회로가 부가되어져서 생성된 확장된 설계검증 대상회로는 임의의 프로토타이핑 보드나 임의의 PCB 상의 1이상의 RFPD에 구현되고, 프로토타이핑 보드를 실행시켜 에뮬레이션 기반의 검증을 수행하는 과정에서 특정 시점이나 특정 상황이 발생한 시점에서 시뮬레이션으로의 전환이 필요한 경우에 설계검증 시스템소프트웨어가 이를 감지하여 에뮬레이션의 수행을 중지하고 설계검증 시스템소프트웨어의 제어 하에 해당 1이상의 RFPD가 정상모드에서 출력탐침 모드로 전환되어진 후 탐침클럭이 RFPD에 가해지면 1 이상의 쉬프트레지스터 어레이 구조 각각에 존재하는 하나의 플립플롭의 출력에 연결된 1이상의 출력탐침선을 통하여 탐침대상이 되는 신호선들에서의 논리값들이 설계검증 인터페이스 모듈(수단)을 통하여 서버용 컴퓨터로 전송된다 그런데, 입출력탐침 시점은 에뮬레이션 수행 전에 정적으로(statically) 결정될 수 있고, 에뮬레이션 수행 도중에 특정 상황이 발생한 시점과 같이 동적으로(dynamically) 결정될 수 있는데 특정 상황이 발생한 시점과 같은 에뮬레이션의 상황에 종속작인 입출력탐침 시점을 결정하기 위해서는 로직분석기(logic analyzer)와 같은 외부장비를 사용하여 이를 관측하고 입출력탐침 시점을 결정할 수 있으며, 또는 RFPD 내부에 동작 상황을 검출하는 입출력탐침시점 검출기(detector) 회로를 추가적으로 부가함으로써 입출력탐침 상황을 출력시키고 이를 설계검증 시스템소프트웨어가 감지하여 입출력탐침을 시작할 수도 있다. RFPD 내부에 상기 입출력탐침시점 검출기 회로를 탐침용 부가회로와 더불어 추가적으로 설계검증 대상회로에 부가하는 경우에는 이의 자동적인 생성과 부가도 또한 설계검증 시스템소프트웨어가 담당하게 된다.The extended design verification target circuit generated by adding the probe additional circuit to the design verification target circuit is implemented in one or more RFPDs on an arbitrary prototyping board or an arbitrary PCB. In the process of performing the verification, when the transition to simulation is necessary at a certain time or when a certain situation occurs, the design verification system software detects this and stops emulation and the one or more RFPDs under normal control of the design verification system software are normal. When the probe clock is applied to the RFPD after switching from mode to output probe mode, the logic on the signal lines that are probed through one or more output probes connected to the output of one flip-flop in each of the one or more shift register array structures Values are sent to the design verification interface module By the way, the input / output probe point can be statically determined before emulation and can be determined dynamically such as when a specific situation occurs during emulation. In order to determine the input / output probe point which is dependent on the situation, the external device such as a logic analyzer can be observed and the input / output probe point can be determined, or the input / output probe point detector that detects the operation state inside the RFPD ( By adding an additional detector circuit, the I / O probe status can be output and the design verification system software can detect and start the I / O probe. When the input / output probe point detector circuit is additionally added to the design verification circuit along with the probe additional circuit inside the RFPD, the automatic generation and addition of the input / output probe point detector circuit is also in charge of the design verification system software.
입력탐침의 경우에는 설계검증 시스템소프트웨어가 프로토타이핑 보드 상의 해당 1이상의 RFPD에 대한 입력탐침용 데이터를 생성한 다음, 설계검증 시스템소프트웨어의 제어 하에 동작모드를 입력탐침 모드로 전환하고 난 후, 탐침클럭이 RFPD에 가해지면서 1 이상의 쉬프트레지스터 어레이 구조 각각에 존재하는 하나의 플립플롭의 입력에 논리적으로 연결된 1 이상의 입력탐침선을 통하여 서버용 컴퓨터로부터 설계검증 인터페이스 모들을 통하여 전송된 입력탐침용 데이터가 1 이상의 쉬프트레지스터 어레이 구조 각각에 존재하는 플립플롭들에 저장되고 이렇게 저장된 입력탐침용 데이터로써 최종적으로 입력탐침 대상이 메모리소자의 출력인 경우(레치의 경우에는 이를 플립플롭과 멀티플렉서를 이용하여 등가회로로 변환시킨 후에 적용하며, 이에 대한 자세한 설명은 PCT출원번호: PCT/KR01/01092를 참조함)에는 입력탐침대상 플립플롭들을 동기적(syuchronous) 셋(set) 또는 리셋(reset) 동작, 혹은 비동기적(asynchronous) 셋 또는 리셋 동작에 이은 동기적 셋 또는 리셋, 또는 비동기적 셋 또는 리셋 동작에 이은 동기적 디스에이블(disable) 동작으로 임의의 프로토타이핑 보드나 임의의 PCB 상에 장착된 1이상의 RFPD에 입력탐침이 이루어 질 수 있게 하고, 입력탐침 대상 신호선들이 조합회로의 출력이나 입력인 경우에는 입력탐침용 데이터들이 저장된 상기 쉬프트레지스터 어레이 구조 각각에 존재하는 플립플롭들의 출력 각각이 해당 입력탐침 대상 신호선들에 연결되도록 상기 쉬프트레지스터 어레이 구조 각각에 존재하는 플립플롭들의 출력에 있는 멀티플렉서의 선택입력을 제어하는 동작으로 임의의 프로토타이핑 보드나 임의의 PCB 상에 장착된 1이상의 RFPD에 입력탐침이 이루어 질 수 있게 한다.In the case of input probes, the design verification system software generates input probe data for one or more RFPDs on the prototyping board, then switches the operation mode to the input probe mode under the control of the design verification system software, and then the probe clock One or more input probe data transmitted from the server computer through the design verification interface model through one or more input probes logically connected to the input of one flip-flop present in each of the one or more shift register array structures applied to the RFPD. The input probe data stored in the flip-flops existing in each shift register array structure, and thus the input probe object is the output of the memory device (in the case of a latch, it is converted into an equivalent circuit using a flip-flop and a multiplexer). After applying it, For further details, see PCT Application No .: PCT / KR01 / 01092). Following a synchronous set or reset, or asynchronous set or reset operation, a synchronous disable operation allows input probes to be made on one or more RFPDs mounted on any prototyping board or any PCB. If the input probe target signal lines are an output or an input of a combination circuit, the shift register array such that each of the outputs of the flip-flops existing in the shift register array structure in which the input probe data is stored is connected to the corresponding input probe target signal lines. An arbitrary prototype that controls the selection input of the multiplexer at the output of the flip-flops in each structure. Allows input probes to be made on one or more RFPDs mounted on an etching board or any PCB.
도4 는 설계검증 대상회로 또는 설계검증 대상HDL코드에 검사기나 모니터가 함께 내장된 상황의 일 예를 개략적으로 도시한 도면으로 이와 같이 설계검증 대상회로와 검사기나 모니터를 함께 하드웨어적으로 구현하면 에뮬레이션 시에 ABV 방식을 이용한 검증을 가능하게 한다. 구체적으로, 하드웨어적으로 구현된 주장(assertion)을 이용하는 화이트박스 검증(White-box Verification)이나 그레이박스 검증(Gray-box Verification)을 인-서킷 에뮬레이션 수행시에 가능하게 하여 인-서킷 에뮬레이션 실행 과정에서 검사기나 모니터가 주장들의 만족여부나 위반여부를 설계검증 대상회로 또는 설계검증 대상HDL코드가 고속으로 동작(설계검증 대상회로 또는 설계검증 대상HDL코드와 검사기나 모니터를 함께 하드웨어적으로 구현되었다는 것을 상기할 것)하는 과정에서 실시간으로 조사하여 특정 주장의 만족시점 또는 위반시점을 알아낸 후에, 상기 특정 주장의 만족시점 또는 위반시점 부근에서 실시간으로 수집된 설계검증 대상회로 또는 설계검증 대상HDL코드의 상태정보와 입력 시퀀스를 이용하는 시뮬레이션을 통하여 상기 특정 주장의 만족시점 또는 위반시점 부근에 대한 상기 설계검증 대상회로 또는 설계검증 대상HDL코드에 대한 100% 가시도를 신속하게 얻을 수 있게 함으로서 상기 특정 주장과 연관된 설계오류의 원인과 이의 정확한 발생시점을 신속하게 알아낼 수 있다.4 is a diagram schematically illustrating an example of a situation in which an inspector or a monitor is embedded in a design verification target circuit or a design verification target HDL code, and emulation is performed by implementing the design verification target circuit and an inspector or monitor together in hardware. Enables verification using the ABV method. Specifically, the process of executing in-circuit emulation by enabling white-box verification or gray-box verification using the hardware-implemented assertion when performing in-circuit emulation. In the tester or monitor, whether the assertion satisfies or violates the design verification circuit or the design verification target HDL code operates at high speed (the design verification circuit or the design verification target HDL code and the inspector or monitor are implemented in hardware. In the process of real-time investigation to find out the point of satisfaction or violation of a particular claim, and then the design verification target circuit or design verification target HDL code collected in real time near the point of satisfaction or violation of the specific claim. When the specific assertion is satisfied through a simulation using state information and an input sequence By quickly obtaining 100% visibility into the design verification target circuit or design verification target HDL code near a point or violation point, it is possible to quickly determine the cause of the design error associated with the particular claim and the exact time of occurrence thereof. have.
상술한 바와 같이, 본 발명에 따른 설계 검증 방법의 목적은 초대규모급 설계 검증을 위한 하드웨어 적으로 구현된 대규모 디지털 시스템의 에뮬레이션과 시뮬레이션, 그리고 정식검증을 혼용하는 설계검증을 수행하여 설계검증 대상회로의 규모가 시뮬레이션의 한계를 넘어가는 경우에도 상기 에뮬레이션과 시뮬레이션과 정식검증을 혼용한 설계검증 방법을 적용하여 신속하게 설계검증을 가능하도록 한다. 구체적으로는, 설계 오류들을 신속하게 발견하도록 하는 것을 가능하게 할뿐만 아니라, 이들 발견된 설계 오류들을 신속하게 수정하도록 하는 것도 가능하다.As described above, an object of the design verification method according to the present invention is to perform design verification using emulation, simulation, and formal verification of a large-scale digital system implemented in hardware for ultra-scale design verification. Even if the scale exceeds the limit of simulation, the design verification method using the emulation, the simulation and the formal verification is applied to enable the design verification quickly. Specifically, it is not only possible to quickly find design errors, but also to fix these found design errors quickly.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정하여져야만 한다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the technical spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
Claims (8)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010057742 | 2001-09-14 | ||
KR20010057742 | 2001-09-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030023485A KR20030023485A (en) | 2003-03-19 |
KR100767957B1 true KR100767957B1 (en) | 2007-10-17 |
Family
ID=27724590
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020038088A KR100794916B1 (en) | 2001-09-14 | 2002-06-26 | Design Verification Apparatus For Incremental Design Verification Using Mixed Emulation and Simulation, and Design Verification Method Using the Same |
KR1020020052369A KR100767957B1 (en) | 2001-09-14 | 2002-08-28 | Design Verification Method Using Mixed Emulation, Simulation, and Formal Verification |
KR1020040017476A KR20040063845A (en) | 2001-09-14 | 2004-03-09 | Simulation-based Verification Apparatus Achieving High Verification Performance, and the Simulation Method Using the Same |
KR1020040019066A KR20040063846A (en) | 2001-09-14 | 2004-03-16 | Verification Apparatus Supporting the Use of Unifying Different Verification Platforms, and the Verification Method Using the Same |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020038088A KR100794916B1 (en) | 2001-09-14 | 2002-06-26 | Design Verification Apparatus For Incremental Design Verification Using Mixed Emulation and Simulation, and Design Verification Method Using the Same |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040017476A KR20040063845A (en) | 2001-09-14 | 2004-03-09 | Simulation-based Verification Apparatus Achieving High Verification Performance, and the Simulation Method Using the Same |
KR1020040019066A KR20040063846A (en) | 2001-09-14 | 2004-03-16 | Verification Apparatus Supporting the Use of Unifying Different Verification Platforms, and the Verification Method Using the Same |
Country Status (1)
Country | Link |
---|---|
KR (4) | KR100794916B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7665046B2 (en) | 2002-08-09 | 2010-02-16 | Synopsys, Inc. | Method and system for debugging using replicated logic and trigger logic |
US7836416B2 (en) | 2000-11-28 | 2010-11-16 | Synopsys, Inc. | Hardware-based HDL code coverage and design analysis |
US7904859B2 (en) | 2007-05-09 | 2011-03-08 | Synopsys, Inc. | Method and apparatus for determining a phase relationship between asynchronous clock signals |
US7908574B2 (en) | 2007-05-09 | 2011-03-15 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US7962869B2 (en) | 2002-08-09 | 2011-06-14 | Synopsys, Inc. | Method and system for debug and test using replicated logic |
US7984400B2 (en) | 2007-05-09 | 2011-07-19 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US8756557B2 (en) | 2007-05-09 | 2014-06-17 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005078584A1 (en) * | 2003-12-16 | 2005-08-25 | Logic Mill Technology, Llc | Performance improvement apparatus for hardware-assisted verification using massive memory and compilation avoidance and its verification method using the same |
KR100800412B1 (en) * | 2005-10-10 | 2008-02-01 | 부산대학교 산학협력단 | Efficient Verification Apparatus in ESL Design Methodology, and the Verification Method Using the Same |
KR100916635B1 (en) * | 2009-02-27 | 2009-09-08 | 주식회사 지노스 | System and method for managing the standard design |
KR100930089B1 (en) * | 2009-02-27 | 2009-12-07 | 주식회사 지노스 | Apparatus and method for inspecting design |
KR100929551B1 (en) * | 2009-02-27 | 2009-12-03 | 주식회사 지노스 | Apparatus and method for inspecting design |
CN110632857B (en) * | 2019-09-25 | 2022-05-17 | 中国工程物理研究院计算机应用研究所 | Control performance verification method for large-scale hierarchical control system |
KR102545302B1 (en) * | 2022-10-07 | 2023-06-20 | 인하대학교 산학협력단 | Automation Framework for Digital Circuit Design and Verification |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980032933A (en) * | 1996-10-17 | 1998-07-25 | 레이몬드 케이. 오스트비 | Method and apparatus for design verification using emulation and simulation |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943490A (en) * | 1997-05-30 | 1999-08-24 | Quickturn Design Systems, Inc. | Distributed logic analyzer for use in a hardware logic emulation system |
-
2002
- 2002-06-26 KR KR1020020038088A patent/KR100794916B1/en not_active IP Right Cessation
- 2002-08-28 KR KR1020020052369A patent/KR100767957B1/en not_active IP Right Cessation
-
2004
- 2004-03-09 KR KR1020040017476A patent/KR20040063845A/en unknown
- 2004-03-16 KR KR1020040019066A patent/KR20040063846A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980032933A (en) * | 1996-10-17 | 1998-07-25 | 레이몬드 케이. 오스트비 | Method and apparatus for design verification using emulation and simulation |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836416B2 (en) | 2000-11-28 | 2010-11-16 | Synopsys, Inc. | Hardware-based HDL code coverage and design analysis |
US7665046B2 (en) | 2002-08-09 | 2010-02-16 | Synopsys, Inc. | Method and system for debugging using replicated logic and trigger logic |
US7962869B2 (en) | 2002-08-09 | 2011-06-14 | Synopsys, Inc. | Method and system for debug and test using replicated logic |
US8392859B2 (en) | 2002-08-09 | 2013-03-05 | Synopsys, Inc. | Method and system for debugging using replicated logic and trigger logic |
US7904859B2 (en) | 2007-05-09 | 2011-03-08 | Synopsys, Inc. | Method and apparatus for determining a phase relationship between asynchronous clock signals |
US7908574B2 (en) | 2007-05-09 | 2011-03-15 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US7984400B2 (en) | 2007-05-09 | 2011-07-19 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
US8756557B2 (en) | 2007-05-09 | 2014-06-17 | Synopsys, Inc. | Techniques for use with automated circuit design and simulations |
Also Published As
Publication number | Publication date |
---|---|
KR20040063846A (en) | 2004-07-14 |
KR20040063845A (en) | 2004-07-14 |
KR100794916B1 (en) | 2008-01-14 |
KR20030023485A (en) | 2003-03-19 |
KR20030023465A (en) | 2003-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6701491B1 (en) | Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it | |
Hsu et al. | Visibility enhancement for silicon debug | |
KR100921314B1 (en) | High Performance Design Verification Apparatus Using Verification Results Re-use Technique and Its Rapid Verification Method Using the Same | |
US7478346B2 (en) | Debugging system for gate level IC designs | |
Ganapathy et al. | Hardware emulation for functional verification of K5 | |
US20080127009A1 (en) | Method, system and computer program for automated hardware design debugging | |
KR100767957B1 (en) | Design Verification Method Using Mixed Emulation, Simulation, and Formal Verification | |
CN113255267B (en) | Reprogramming detection of timing violations in simulations using Field Programmable Gate Array (FPGA) | |
KR20040007463A (en) | Method and apparatus for design validation of complex ic without using logic simulation | |
US12015411B2 (en) | Testable time-to-digital converter | |
Bartley et al. | A comparison of three verification techniques: directed testing, pseudo-random testing and property checking | |
Abdelatty et al. | Fault: Open-source EDA’s missing DFT toolchain | |
KR100812938B1 (en) | Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design | |
KR100824503B1 (en) | Rapid Input/Output Probing Apparatus and Input/Output Probing Method Using the Same, and Mixed Emulation/Simulation Method Based on It | |
Bombieri et al. | Hybrid, incremental assertion-based verification for TLM design flows | |
Siripokarpirom et al. | Hardware-assisted simulation and evaluation of IP cores using FPGA-based rapid prototyping boards | |
Paruthi | Large-scale application of formal verification: From fiction to fact | |
KR20060066634A (en) | Dynamic-verification-based verification apparatus achieving high verification performance and verification efficiency, and the verification methodology using the same | |
Schirrmeister et al. | Hardware-assisted verification and software development | |
Ellervee et al. | Fault emulation on FPGA: a feasibility study | |
Harris | Hardware/software covalidation | |
Pennings | Analyzing Asynchronous Reset Glitches during Scan-Test | |
KR20050059985A (en) | Performance improvement apparatus for hardware-assisted verification using massive memory and compilation avoidance and its verification method using the same | |
Dahmoune et al. | An embedded reachability analyzer and invariant checker (eraic) | |
Tessier | Rethinking Your Verification Strategies for Multimillion-Gate FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20111011 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |