KR100812938B1 - Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design - Google Patents

Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design Download PDF

Info

Publication number
KR100812938B1
KR100812938B1 KR1020010048417A KR20010048417A KR100812938B1 KR 100812938 B1 KR100812938 B1 KR 100812938B1 KR 1020010048417 A KR1020010048417 A KR 1020010048417A KR 20010048417 A KR20010048417 A KR 20010048417A KR 100812938 B1 KR100812938 B1 KR 100812938B1
Authority
KR
South Korea
Prior art keywords
circuit
design verification
chip
probe
hdl code
Prior art date
Application number
KR1020010048417A
Other languages
Korean (ko)
Other versions
KR20020069468A (en
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
Priority to KR1020000019740A priority Critical patent/KR20010006983A/en
Priority to KR1020010011587 priority
Priority to KR20010011587 priority
Application filed by 양세양 filed Critical 양세양
Publication of KR20020069468A publication Critical patent/KR20020069468A/en
Application granted granted Critical
Publication of KR100812938B1 publication Critical patent/KR100812938B1/en

Links

Images

Abstract

본 발명은 설계된 수백만 게이트급 이상의 디지탈 회로의 설계검증 및 검사를 위한 효과적인 디버깅 방법에 관한 것이다. The present invention relates to an effective method for debugging the design verification and test of more than millions of gate-level digital circuit design.
본 발명에서는 임의의 서버용 컴퓨터에서 수행되어지는 본 발명의 입출력탐침 시스템 수단(혹은 모듈)로 하여금 설계검증 및 검사 대상회로에 입출력 탐침을 가능하게 하는 탐침용 부가회로를 부가하여 탐침이 가능한 확장된 회로를 자동화된 방식으로 생성하게 한다. In the present invention, the circuit of the probe is an expandable portion of additional circuitry for the probe to enable the input and output probes on any server computer is the input-output probe systems device of the invention which is performed in the design verification causes (or module) and the inspective circuit to be generated in an automated manner. 아울러 본 발명의 입출력탐침 인터페이스 모듈은 상기 입출력탐침이 가능한 확장된 회로가 하드웨어 칩으로 구현되어져서 있는 하드웨어 보드와 상기 서버용 컴퓨터를 연결시키고 상기 하드웨어 보드의 수행을 제어하면서 특정 시점이나 특정 조건에서 상기 하드웨어 보드 상의 상기 하드웨어 칩에 대한 출력탐침 또는 입출력탐침을 수행하여 상기 서버용 컴퓨터와 상기 하드웨어 칩간에 상기 설계검증 및 검사 대상 전체 회로의 부분회로에 대한 수행결과 정보를 빠르게 교환할 수 있도록 한다. In addition, while input-output probe interface module of the present invention to connect a hardware board and the server computer, which so that the expanded circuit is the input-output probe can be implemented in hardware chips and control the performance of the hardware board, the hardware at a particular point in time or a specific condition with the output probe or probe for the input and output hardware chip on a board and makes it possible to quickly exchange the execution result information of a portion of the circuit design verification and test object the overall circuit between the server computer and the hardware chip. 아울러 상기 서버용 컴퓨터와 상기 설계검증 및 검사 대상 회로의 부분회로를 시뮬레이션하는 임의의 시뮬레이션 서버용 컴퓨터를 이용하여 에뮬레이션과 시뮬레이션을 1차례이상 자동적인 방법으로 빠르게 번갈아 가면서 수행하게 하여 매우 효과적인 디버깅을 가능하게 한다. In addition, to enable a very efficient debugging to be carried out quickly and emulation and simulation in one turn or more automatic method alternately using any of the simulation server computer simulating a part circuit of the server computer and the design verification and test the circuit .

Description

초대규모급 설계 검증을 위한 하드웨어적으로 구현된 대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅 장치 및 이를 이용한 디버깅 방법 { Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design } Debugging unit and debugging method using the same which makes use of the large digital systems Simulation implemented in hardware for very large class design verification {Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design }

도1 은 본 발명의 디버깅 장치의 일 예를 개략적으로 도시하는 도면. 1 is a view schematically showing an example of the debugging apparatus of the present invention.
도2(a) 는 메모리탐침용 부가회로의 구현을 메모리탐침용 유한상태기로써 구현한 일 예를 개략적으로 도시하는 도면. 2 (a) is a view schematically showing an example of an implementation of the implementation of additional circuitry for a memory probe as a finite state machine for memory probe.
도2(b) 는 메모리탐침용 부가회로의 구현을 메모리탐침용 유한상태기로써 구현한 또 다른 일 예를 개략적으로 도시하는 도면. Figure 2 (b) is a view schematically showing an example in another one embodiment the implementation of additional circuitry for a memory probe as a finite state machine for memory probe.
도3 은 에뮬레이션과 시뮬레이션 복합 검증 환경의 일 예를 개략적으로 도시하는 도면. Figure 3 is a view schematically showing an example of the emulation and simulation complex verification environment.
도4 는 한꺼번에 시뮬레이션을 수행하는 것에 문제가 있는 설계검증 대상회로를 부분회로들로 분할한 모습의 일 예를 개략적으로 도시한 도면. Figure 4 is a diagram illustrating an example of a shape dividing a target circuit design verification, which is a problem at the same time performing a simulation with a circuit portion schematically.
도5 는 도4 의 분할된 각 부분회로들에 IOP-입출력 탐침용 부가회로를 부가하여 iPOD 방법을 이용한 에뮬레이션과 시뮬레이션 혼용 검증 시에 시뮬레이션을 각 부분회로별로 가능하도록 한 상황의 일 예를 개략적으로 도시한 도면. Figure 5 is a schematic of an example of a situation to be simulated at the time of addition of each of the divided portions IOP- the circuit portion for input and output probes circuit emulation and simulation method using an iPOD mixed verification of Figure 4 for each partial circuit the illustrated diagram.
도6 은 도4 의 분할된 각 부분회로들에 IOP-출력탐침용 부가회로를 부가하여 일반적인 에뮬레이션과 시뮬레이션 혼용 검증 시에 시뮬레이션을 각 부분회로별로 가능하도록 한 상황의 일 예를 개략적으로 도시한 도면. Figure 6 is a view schematically showing an example of the addition to the divided parts to the circuit portion for IOP- probe output circuit in the simulation at the time of general emulation and simulation mixed verifiable by each part circuit situation of Figure 4 .
도7 은 설계검증 대상회로의 부분회로들에 IOP-출력탐침용 부가회로를 부가하여 에뮬레이션과 시뮬레이션 혼용 검증 시에 에뮬레이션을 통하여 시뮬레이션을 위한 테스트벤치를 자동적으로 생성할 수 있도록 한 상황의 일 예를 개략적으로 도시한 도면. Figure 7 is an example of a situation to be able to generate automatically a test bench for a simulation via the emulation when the emulation and simulation mixed verified by adding additional circuitry for IOP- output probe into the partial circuit of the circuit design verification a schematic view.
도 8 은 회로 내부에 존재하는 임의의 신호선들에 대한 IOP-출력탐침용 부가회로를 부가한 상황의 일 예를 개략적으로 도시한 도면. Figure 8 is showing an example of a circuit for adding additional IOP- output probes for any of the signal lines present in the internal circuit situation schematically drawings.
<도면의 주요부분에 대한 부호의 설명> <Description of the Related Art>
12 : RFPD 20 : 서버용 컴퓨터 12: RFPD 20: Computer Servers
26 : 입출력탐침 인터페이스 모듈 27 : 인터페이스 모듈 26: input and output interface module 27, probe: Interface Module
28 : 인터페이스 케이블 30 : 클라이언트 컴퓨터 28: 30 Interface Cable: a client computer
32 : 입출력탐침 시스템소프트웨어 34 : 임의의 시뮬레이터 32: input and output probe system software 34: any simulator
35 : 시뮬레이션 서버 컴퓨터 36 : 근·원거리 네트워크 35: 36 server computer simulation: the near-distance network
37 : 인터네트워크 38 : 게이트웨이 37: 38 Internetwork Gateway
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: double-type D-type flip-flop 76: a single input D flip-flop
77 : 비동기 셋과 비동기 리셋이 있는 이중입력 플립플롭 77: Dual input flip-flop with asynchronous set and reset the asynchronous
78 : 비동기 셋과 비동기 리셋이 있는 단일입력 플립플롭 78: single-input flip-flop with asynchronous set and reset the asynchronous
79 : 트라이스테이트 버퍼(Tri-state buffer) 79: tri-state buffer (Tri-state buffer)
80 : 래치 80: Latch
81 : 메모리에 대한 읽기/쓰기 제어 신호 81: read / write control signal for the memory
82 : 어드레스 신호 82: an address signal
83 : 메모리입력단 멀티플렉서1 84 : 선택입력 신호 83: memory input multiplexer 184: select input signal
85 : 메모리 클럭신호 86 : 메모리 출력단 85: Memory Clock signal 86: the output memory
87 : 메모리 출력단의 플립플롭들 87: flip-flop output of the memory
88 : 데이터입력단의 쉬프트레지스터 88: shift of the data input register
89 : 메모리입력단 멀티플렉서2 90 : 메모리탐침용 유한상태기 89: memory input multiplexers 290: Finite state machine for memory probe
100 : 탐침데이터저장 메모리 출력 100: the probe data storage memory outputs
102 : 탐침대상 메모리 104 : 탐침데이터저장 메모리 102: the probe-target memory 104: the probe data storage memory

본 발명은 설계된 수백만 게이트급 이상의 디지탈 회로를 설계검증 및 검사하는 기술에 관한 것으로, 설계된 수백만 게이트급 이상의 디지탈 회로를 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)으로 실제 하드웨어적으로 구현하고 에뮬레이션 기반으로 설계검증 및 검사하는 과정을 신속하게 가능하도록 하는 효과적인 디버깅 장치 및 이를 이용한 디버깅 방법에 관한 것이다. The invention proven design a digital circuit millions or more gate-level design and the present invention relates to the inspection technology, implementing the digital circuit millions or more gate-level design into a semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) with a real hardware and it relates to a debugging method and the debugging unit effective to enable them to expedite the process of design verification and test-based emulation.

최근에 집적회로의 설계 및 반도체 공정기술이 급격하게 발달함에 따라 디지탈 회로 설계의 규모가 최소 수백만 게이트급에서 수천만 게이트급까지 커짐은 물론 그 구성이 극히 복잡해지고 있는 추세이고, 이와 같은 추세는 계속적으로 확대되고 있는 추세로 가까운 미래에 일억 게이트급 이상의 설계도 예상되고 있다. And as the last integrated circuit design and is rapidly developed semiconductor process technology to a digital circuits increases the size of the design to tens of millions of gate-level at least millions of gate-level as well as a trend that its configuration becomes extremely complicated, with this trend continues as a trend that is expanding in the near future is expected more than one hundred million gate design level. 이와 더불어, 시장에서의 경쟁은 더욱 더 치열해지므로 빠른 시간 내에 우수한 제품을 개발하여야만 한다. In addition, we should be developed into an excellent product because it is more and more fierce competition in the market shortly. 따라서 빠른 시간 내에 설계된 회로를 효율적으로 검증 및 검사하기 위한 효과적인 방법의 필요성이 더욱 커지고 있다. Therefore, there is a need for a more effective method for increasing the efficient verification and inspection of the circuit is designed in a short time.

지금까지는 설계된 디지탈 회로를 설계검증하기 위하여는 소프트웨어적 접근법인 시뮬레이터(예로 이벤트-구동 HDL 시뮬레이터 또는 사이클-기반 HDL 시뮬레이터 등)(HDL은 Hardware Description Language의 약자로, 현재 사용 중인 HDL의 예로서는 Verilog, VHDL, SystemVerilog, SystemC 등이 있음)를 사용한 시뮬레이션(simulation)을 수행하였다. Until now, in order to design verification to design digital circuits software approach simulator (eg event-driven HDL simulator or cycle-based HDL Simulator, etc.) (HDL are examples of the abbreviation of Hardware Description Language, HDL are currently using Verilog, VHDL , that SystemVerilog, SystemC, etc.) to perform a simulation (simulation) using a. 반도체 설계 검증에서 시뮬레이션이란 소프트웨어적으로 DUV(Design Under Verification) 또는 DUV내의 1 이상의 설계객체(DUV내의 1 이상의 설계객체란 DUV 내의 1 이상의 부분회로(partial circuit) 또는 부분HDL코드(partial HDL code)를 말함)와 이를 구동하는 테스트벤치를 컴퓨터로 실행가능한 모델(computer-executable model)로서 구성하고, 이와 같은 컴퓨터로 실행가능한 모델을 시뮬레이션 컴파일 과정을 통하여 컴퓨터의 기계언어(machine instruction)들의 시퀀스로 바꾸어서 컴퓨터를 이용하여서 실행시키는 과정이다. In the semiconductor design verification simulation is by software DUV (Design Under Verification) or one or more design objects (one or more design objects is at least one portion of the circuit (partial circuit) or a part of HDL code (partial HDL code in the DUV in the DUV in the DUV) speaking) and run a test bench to drive them to a computer which models (computer-executable configured as a model), and this machine language of the computer executable models to your PC through the simulation compilation of (computer by changing the sequence of machine instruction) is the process of using accomplished by issuing. 따라서, 시뮬레이션의 실행은 기본적으로 컴퓨터의 기계언어들의 순차적인 수행(sequential execution)을 통하여 이루어지게 되는데, 현재 다양한 시뮬레이션 기술(이벤트-구동 시뮬레이션(event-driven simulation), 사이클-기반 시뮬레이션(cycle-based simulation), 컴파일방식 시뮬레이션(compiled simulation), 해석방식 시뮬레이션(interpreted simulation), 동시-시뮬레이션(co-simulation) 등)들이 존재하고 있다. Thus, the execution of the simulation is basically there is be achieved through the sequential performed (sequential execution) of the machine language of a computer, present various simulation techniques (Event-driven simulation (event-driven simulation), cycle-driven simulation (cycle-based simulation), compiled simulation (compiled simulation), the simulation analysis method (interpreted simulation), co-simulation, and (co-simulation), and so on) are present. 즉 시뮬레이션이란 설계대상 또는 구현대상이 되는 설계객체를 적정한 추상화 수준(abstraction level, 반도체 설계에서는 게이트-수준, 레지스터전송-수준, 트란젝션-수준, 아키텍춰-수준, 행위-수준, 알고리즘-수준 등의 다양한 추상화 수준 등이 존재함)에서의 모델링 과정(modeling process)을 통하여 컴퓨터를 이용하여 소프트웨어적으로 수행시켜서 해당 설계객체의 동작기능 또는 동작특성 등을 모의적으로 컴퓨터 상에서 실현시키는 다양한 과정들을 모두 통칭하는 것이다. That is simulated is the design object that is designed target or implement subject appropriate levels of abstraction (abstraction level, in semiconductor design, the gate-like level-level, the register transfer-level, Tran projection-level, ahkitekchwo-level behavior-level algorithm collectively, all of the various processes to achieve the various levels of abstraction, such as is present also) modeling process (modeling process) for using the computer by performing a software operation function or operating characteristic of the design object through in a simulated on a computer to. 그러나, 시뮬레이터는 설계검증 회로를 소프트웨어적으로 모델링한 순차적인 인스트럭션 시퀀스로 구성된 소프트웨어 코드를 컴퓨터 상에서 순차적으로 수행하여야 함으로 상기 수백만 게이트급 이상의 설계를 위한 검증 시간이 상상을 초월할 정도로 극히 오래 걸리게 되고, 또한 다른 주변 하드웨어 환경과 통합되어 시스템 전체를 검증(이를 ICE, In-Circuit Emulation이라 함)할 수 없는 치명적인 한계가 있다. However, the simulator and takes design verification circuit for software software code consisting of a sequence of instruction sequence modeling enough to the verification time for the millions of gate-level or more designs by be carried out sequentially on a computer unimaginable extremely long, the also integrated with other peripheral hardware environment verifies the entire system there is a critical threshold (hereinafter referred to as ICE, In-Circuit Emulation) can not. 이에 비하여 설계된 회로를 실제 칩으로 구현하여 이를 이용한 하드웨어적인 에뮬레이션 기반의 프로토타이핑(prototyping)을 이용한 설계 검증 방법은 설계된 디지탈 회로의 모든 구성요소들이 구현된 칩 상에서 실제 병렬적으로 동작되고 있는 상황에서 디지털 회로를 검증하는 것이기 때문에 시뮬레이션에 비하여 최대 일백만배 고속의 설계 검증이 가능하고 다른 주변 하드웨어 환경과도 ICE 환경을 구성하여 통합적으로 검증할 수 있다. In contrast, by implementing the designed circuit with the actual chip design verification method using a hardware emulation-based prototyping (prototyping) using the same digital in situations that are actually operating in parallel on all the components of the digital circuit implemented chip designed since verifying the circuit as compared to simulate possible design verification up to one million times high speed and also configure the ICE environment, and other peripheral hardware environment can be verified in an integrated manner. 그러나 에뮬레이션은 시뮬레이션에 비하여 디버깅을 수행하는 것이 매우 불편한 것이 단점인데, 이의 주된 원인은 프로그램 가능한 칩 또는 주문형반도체 칩 등으로 프로토타이핑하여서 구현된 회로에 존재하는 수많은 신호선들의 논리값을 알 수 있는 가시도(visibility)가 시뮬레이션에 비하여 턱없이 떨어지기 때문이다 (본 특허에서 에뮬레이션이라함은 임의의 프로토타이핑 보드 또는 임의의 PCB 또는 임의의 로직 에뮬레이터를 이용한 인-서킷 에뮬레이션으로 검증을 수행하는 것을 말함. 즉 인-서킷 에뮬레이션이란 소프트웨어 모델인 테스트벤치를 이용하지 않고 동작 주변환경을 하드웨어적으로 실제 구성하고, 이들 주변환경에서 상기 임의의 프로토타이핑 보드 또는 임의의 로직 에뮬레이터에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코 However, emulation is inde, it is very inconvenient to disadvantages for performing debug than the simulation, the main cause of the compound are also visible, which can be seen the logical value of a number of signal lines that exist in the circuit implementation hayeoseo prototyping in such a programmable chip or application specific integrated circuit chip is because (visibility) is dropped unreasonably compared with the simulation (referred to as the emulation in this patent is the using any prototyping board or any PCB or any logic emulator-telling that performs a verification circuit emulation that is. in-circuit emulation is the software model of the operation environment without using a test bench by hardware physical configuration, and wherein any of the prototyping board or the design verification target circuit or design verification implemented in any logic emulator in these surroundings target HDL nose 드를 소프트웨어적으로 제어하여 중간중간에 멈추게 하는 것 없이 동작시키는 것을 말함. 따라서 본 특허에서는 인-서킷 에뮬레이션과 에뮬레이션은 동일한 용어임. 본 특허에서는 로직 에뮬레이터와 프로토타이핑 보드의 차이점은 로직 에뮬레이터는 Cadence의 Palladium/Extreme 시리즈, Mentor의 VStation/Veloce 시리즈, EVE ZeBu 시리즈, Forte Link사의 Gemini 시리즈 등과 같이 상용 시스템을 통칭하며, 프로토타이핑 보드는 프로토타이핑 시스템을 직접 꾸미는 것에 사용되는 커스텀 보드(custom board)를 통칭함). It refers to that controls the de-in software operation without having to stop in the middle of the middle In this patent the - circuit emulation and emulation being the same term differences between the present Patent logic emulator and prototyping board logic emulator Cadence of Palladium / Extreme series, known as the commercial system, such as the Mentor VStation / Veloce series, EVE zeBu series, Forte Link's Gemini series and Prototyping board is a custom board (custom board) used to decorate the prototyping system directly collectively).

기 특허출원된 "신속한 입출력탐침 장치 및 이를 이용한 입출력탐침 방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션 방법"(특허출원번호:10-2000-0034628)에서는 프로그램 가능한 칩들인 재사용 가능 프로그래밍 소자(Reusable Field Programmable Devices ; 이하 "RFPD"라 함. RFPD는 FPGA 또는 CPLD를 말함)를 이용한 에뮬레이션과 시뮬레이션을 함께 사용하여 디지털 시스템에 대한 설계검증을 매우 효과적으로 수행하는 방법을 제시하고 있다. Group patent application "rapid input and output probes and the input and output method using the same probe and this mixture emulation based on / simulation method" (Patent Application Number: 10-2000-0034628), in which are reusable, programmable chip programming devices (Field Programmable Reusable Devices;. hereinafter referred to as "RFPD" RFPD are used with the emulation and simulation using the speaking the FPGA or CPLD) present a method to perform design verification of the digital system is very effective.

그러나 상기 기 출원된 특허뿐만 아니라 다른 어떠한 특허들에서도 상기에서 언급된 최소 수백만급 규모 이상의 설계에 대한 에뮬레이션과 시뮬레이션을 함께 이용한 효과적인 방법은 제시하지 못하였다. However, the group filed patents, as well as an effective method with emulation and simulation for the design of at least millions of size class mentioned above in any other patent was not present. 즉 설계검증 대상이 되는 설계가 수백만급 이상일 때는 에뮬레이션과 시뮬레이션 혼합검증 과정에서 신호 가시도를 확보하기 위하여 필요한 시뮬레이션 수행이 필요한 기간이 비록 짧을지라도 회로의 크기 때문에 시뮬레이션의 수행 시간뿐만 아니라 시뮬레이션을 위한 컴파일 시간이 극히 커지거나, 회로의 크기가 극히 큰 경우에는 시뮬레이션 자체가 아예 불가능할 수도 있다. That is compiled for execution time of a simulation as well as the simulation even though the shorter the time necessary the required simulation performed because of the size of the circuit in order to ensure the signal visibility in the emulation and simulation mixed validation When Design millions grade than that design verification target If the time is extremely increased or, the extremely large size of the circuit, it may not be possible at all the simulation itself. 뿐만 아니라 이와 같은 최소 수백만 게이트급 이상의 설계검증을 인-서킷(In-Circuit) 환경에서 에뮬레이션과 시뮬레이션을 혼용하여 수행하기 위해서는 시뮬레이션 과정에서는 인-서킷에서의 다른 주변 하드웨어 환경이 소프트웨어적으로 모델링(이를 테스트벤치라함)되어 있어서 이를 이용하여 올바른 입력 패턴들이 시뮬레이션을 통하여 생성되어 소프트웨어적으로 모델링된 DUV에 인가되는 것이 필요하다 (즉, 테스트벤치의 제일 중요한 핵심 기능은 시뮬레이션이 진행되어질 수 있도록 DUV에 입력 패턴들을 인가시킬 수 있어야 한다). In addition, this is a minimum of millions or more gate-level design verification as-circuit (In-Circuit) to the environment to perform the mix the emulation and simulation, the simulation process, in-this modeling by software other peripheral hardware environment of the circuit (this in the test bench Abraham) correct the input pattern by using this, have been produced by simulation, it is necessary to be applied to the DUV modeling by software (i.e., the most important key feature of the test bench is input in the DUV to be simulated is in progress It must be applied to the pattern). 그러나 이와 같은 인-서킷에서의 다른 주변 하드웨어 환경을 소프트웨어적으로 올바르게 모델링하는 것은 극히 어려운 일로, 이와 같은 모델링 필요성이 인-서킷 환경에서의 에뮬레이션과, 시뮬레이션 혼용 검증 방법의 적용을 매우 어렵게 하고 있다. But this is - it is to correctly model the other peripheral hardware environment of the circuit by software extremely difficult days, such models need to have in-and the circuit is very difficult to apply to the emulation and simulation, mixed verification methods in the environment.

따라서, 본 발명의 목적은 초대규모급 설계 검증을 위한 하드웨어적으로 구현된 대규모 디지털 시스템의 에뮬레이션과, 시뮬레이션을 혼용하는 설계검증에서 설계검증 대상회로의 규모가 시뮬레이션의 한계를 넘어가는 경우에도 상기 에뮬레이션과 시뮬레이션을 혼용한 설계검증 방법을 적용 가능하게 하는 디버깅 장치 및 이를 이용한 디버깅 방법을 제공하는 것에 있다. It is therefore an object of the present invention is also the emulation case, beyond the very large class design verification the hardware emulated and, on the design verification to mix the simulation the size of the design verification target circuit simulation limit of large digital systems implemented for to provide a simulation and debugging apparatus that is applicable for intermixing a design verification method and a debugging method using the same. 뿐만 아니라, 인-서킷 환경에서 상기 에뮬레이션과 시뮬레이션을 혼용하기 위하여 시뮬레이션 과정에서 필요한 주변 타겟 하드웨어 환경의 모델 생성을 자동화된 방법으로 신속·정확하게 얻는 방법을 제공함에 있다. In addition, in-circuit may in the environment to provide a method for obtaining fast, accurate method of automated generation of the model close to the target hardware environment needed during the simulation in order to mix the emulation and simulation.

상기 목적을 달성하기 위하여, 본 발명에 따른 디버깅 장치는 입출력탐침 시스템 수단(혹은 모듈)(구체적 예로서는, 입출력탐침 시스템 소프트웨어)과 입출력탐침 인터페이스 모듈(26)을 제공한다. In order to achieve the above object, the debugging unit according to the present invention provides a probe system input and output means (or module) (specifically, examples thereof include a probe output system software) and input-output probe interface module 26. 입출력탐침 인터페이스 모듈(26)은 인터페이스 모듈(interface module)(27)과 인터페이스 케이블(interface cable)(28)로 구성될 수 있다. Output probe interface module 26 may be configured as an interface module (interface module) (27) and an interface cable (cable interface) (28). 입출력탐침 시스템 수단(혹은 모듈)은 서버용 컴퓨터에서 실행되며 서버용 컴퓨터는 임의의 시뮬레이터(예로 HDL 시뮬레이터나 로직 시뮬레이터, 또는 사이클-기반 시뮬레이터)를 가지고 있거나 임의의 시뮬레이터를 가지고 있는 다른 컴퓨터와 원·근거리 네트워크 혹은 인터네트워크를 통하여 연결되어져 있을 수 있다. Output probe system unit (or module) is run on the server computer, computer server, may be any Simulator - has (for example HDL simulator and the logic simulator, or cycle-based simulator), or a separate computer from the source with any simulator, a local area network or it can have been connected via the internetwork. 입출력탐침 인터페이스 모듈은 입출력탐침 시스템 수단(모듈)이 있는 서버용 컴퓨터와 설계된 수백만 게이트급 이상의 디지털 회로가 구현되는 1이상의 반도체 칩(예로 FPGA 칩, CPLD 칩, ASIC 칩, 또는 SOC 칩)들을 장착하고 있는 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터를 연결하게 되고, 입출력탐침 인터페이스 모듈의 또 다른 중요 기능으로는 상기 입출력탐침을 위해서 필요한 시스템 클럭을 입출력탐침 시스템 수단(혹은 모듈)의 제어 하에서 생성하고, 추가적으로 필요시에 이 시스템 클럭으로부터 생성되는 탐침 클럭, 그리고 동작모드 제어신호, 탐침모드 제어신호, 탐침용메모리읽기쓰기 신호 등도 입출력탐침 시스템 수단(혹은 모듈)의 제어 하에서 생성하여 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터에 공급함으로서 임의의 Output probe interface module that is equipped with the input and output probe system means (module) millions of gate-level or more digital circuits have at least one semiconductor chip is implemented, designed and server computer with a (for example FPGA chip, CPLD chip, ASIC chip, or SOC chip) It is connected to any prototyping boards or a random logic emulator, as another important feature of the input and output probe interface module generates a system clock required for the input and output probe under the control of the input and output probe system unit (or module), and additionally probe the clock generated from the system clock when required, and the operation mode control signal, the probe mode control signal, the probe memory read-write signal means output probe system also for (or module) any arbitrary prototyping board or to generate, under the control of by supplying to the logic emulator any of 로토타이핑 보드나 임의의 로직에뮬레이터의 출력탐침 동작 또는 입력탐침 동작을 제어할 수 있다. The probe output operation or an input operation of the probe Motor-type boards or a random logic emulator can be controlled. 이를 위하여 입출력탐침 인터페이스 모듈은 자체적으로 FPGA나 CPLD, 또는 마이크로프로세서나 마이크로콘트롤러, 또는 전용 ASIC 칩을 내장하고 있을 수도 있고, 또는 상기 입출력탐침 인터페이스 모듈은 설계검증 대상회로 또는 설계검증 대상HDL코드와 FPGA나 CPLD, 또는 ASIC 칩에 같이 구현될 수 있다. Output probe interface module to do this is by itself FPGA or CPLD, or a microprocessor or microcontroller, or may be a built-in dedicated ASIC chip, or the input and output probe interface module design verification target circuit or design verification target HDL code and FPGA or it may be implemented as a CPLD, or ASIC chip. 도1 은 서버용 컴퓨터에서 운영되는 입출력탐침 시스템 수단(혹은 모듈)과 입출력탐침 인터페이스 모듈로 구성된 본 발명에 관한 디버깅 장치의 일 예를 개략적으로 도시한 도면이다. 1 is a diagram illustrating an example of the debugging apparatus of the present invention configured as input and output probe system unit (or module) and the input-output probe interface module that runs from the server computer. 구체적으로는 입출력탐침 인터페이스 모듈(26)은 서버용 컴퓨터의 PCI(Peripheral Computer Interface) 버스에 연결되어지도록 PCI 슬롯에 장착되어지거나 또는 이와 같은 기능의 다른 이차 시스템버스(secondary system bus)(예로 SUN 워크스테이션의 S-bus등)에 연결되는 것이 일반적이나, 고속이 요구되는 경우에는 서버용 컴퓨터의 일차 시스템버스(primary system bus)인 메인버스(main bus)에 직접 연결되어질 수도 있고, 저속으로도 가능하다면 USB(Universal Serial Bus)나 병렬포트 또는 시리얼포드 등으로 연결되어질 수 있으며, 이를 통하여 상기 임의의 서버용 컴퓨터와 상기 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터가 연결되어 진다. Specifically, the input-output probe interface module 26 or is so connected to a PCI (Peripheral Computer Interface) bus of the server computer with a PCI slot or other secondary system bus for this function (secondary system bus) (for example SUN workstation it's connected to the S-bus, etc.) if the general or, in the case where high speed is required, may be directly connected to the main bus (main bus) primary system bus (primary system bus) of the server computer, also available as a low-speed USB (Universal serial Bus), or may be connected to a parallel port or a serial pod or the like, is a server computer and any of the above said random prototyping boards or a random logic emulator is connected through it.

상기 입출력탐침 시스템 수단(혹은 모듈)은 상기 입출력탐침 인터페이스 모듈을 통하여 설계 검증 과정 도중에 사용자가 원하는 임의의 시점이나 상황에서 상기 임의의 프로토타이핑 보드나 상기 임의의 로직에뮬레이터에 구현된 수백만 게이트급 이상의 설계검증 대상회로 또는 설계검증 대상HDL코드의 완전 상태정보(complete state information)나 또는 부분 상태정보(partial state information)를 상기 임의의 시점이나 상황에서 프로토타이핑 보드 또는 로직에뮬레이터로부터 읽어내거나, 필요에 따라서는 반대로 특정 상태정보 값으로 쓸 수 있어야 한다. The input and output probe system unit (or module) is designed a user during design verification process via the input and output probe interface module over millions implemented in the arbitrary prototyping board or the random logic emulator gate-level at any point in time, or how the desired naegeona read from the verification target circuit or design verification target HDL code for the full state information (complete state information) or or partial state information prototyping board or logic for (partial state information) from the arbitrary point in time, or how the emulator, if necessary, Conversely, it should be written in a certain state information value. 여기서 상태정보(state information)란 디지털 회로의 메모리소자(플립플롭이나 래치)들의 값과 메모리(RAM이나 ROM)의 내용을 나타내는 용어로 완전 상태정보란 설계검증 대상회로 또는 설계검증 대상HDL코드의 모든 메모리소자들의 값과 모든 메모리의 내용을 의미하며, 부분 상태정보란 설계검증 대상회로 또는 설계검증 대상HDL코드의 일부분의 메모리소자들의 값과(또는) 일부분의 메모리의 내용을 의미한다. The state information (state information) is all of the digital circuits of the memory element (a flip-flop or a latch) of the value and the memory (RAM or ROM) information complete state information is a design verification target circuit or design verification to the term for the target HDL code It means values ​​and the contents of all the memory of the memory device, and parts status information means the contents of the memory of a value and (or) a portion of the memory elements of a portion of the circuit design verification, or HDL design verification target code. 또한 메모리소자와 메모리는 다른 것으로 메모리소자는 플립플롭(flipflop)이나 래치(latch)를 의미하며, 메모리는 RAM(Random Access Memory)이나 ROM(Read Only Memory)을 의미하는 것으로 정의한다. In addition, the memory element and the memory to another memory element is a flip-flop means (flipflop) or the latch (latch), the memory is defined to mean a RAM (Random Access Memory) or ROM (Read Only Memory).

우선 수백만 게이트급 이상의 설계검증 대상회로 또는 설계검증 대상HDL코드에 메모리가 존재하지 않는 경우로 가정하여 본 발명에서의 입출력탐침 방법을 설명하기로 하고, 메모리가 존재하는 경우에 대해서는 추후에 설명하기로 한다. First it will be described the input and output probe method at present to assume a case that does not have a memory present in the millions of gate-level or more design verification target circuit or design verification target HDL code invention, and for the case where memory is present will be described later do. 입출력탐침 시스템 수단(혹은 모듈)은 설계검증 대상회로 또는 설계검증 대상HDL코드를 입출력 탐침 가능하게끔 자동화된 방식으로 변환시키는 입출력 탐침 회로합성기를 포함하고 있는데, 이와 같은 입출력탐침 회로합성기는 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 설계검증 대상회로 또는 설계검증 대상HDL코드에 부가함으로서 완성되는 회로 또는 HDL코드(이를 "확장된 설계검증 대상회로" 또는 "확장된 설계검증 대상HDL코드"라 칭함)를 자동화된 방식으로 생성하게 된다. Output probe system unit (or module) there includes a probe output circuit synthesizer for converting the circuit design verification, or HDL design verification target code in an automated way possible hagekkeum input probe, this probe output circuit is a synthesizer, such as for probe IOP- the additional circuitry or IOP- probe adding circuit is completed by adding in the circuit design verification, or HDL design verification target code HDL code or HDL code (this "extended design verification target circuit" or for "extended design verification target HDL code" the quot;) is generated in an automated manner. 확장된 설계검증 대상회로에 포함되는 IOP-탐침용 부가회로의 역할은 출력탐침모드에서는 부가회로를 부가함으로서 형성되는 회로부분이 쉬프트레지스터 구조로 되어 탐침클럭에 동기화된 쉬프팅 동작을 이 쉬프팅 동작 직전에 쉬프트레지스터가 가지는 논리값들이 출력탐침 대상이 되는 회로내의 전부 또는 일부의 메모리소자의 논리값 또는 시뮬레이션 대상이 되는 설계검증 대상회로의 특정 부분회로의 모든 단방향 입력과 모든 양방향 입출력 신호선값들을 가지고서 하며, 입력탐침모드에서는 부가회로를 부가함으로서 형성되는 회로부분은 쉬프트레지스터 구조로 되어 쉬프팅 동작을 하며 이와 같은 쉬프팅 동작을 이용하여 입력탐침 대상이 되는 회로내의 전부 또는 일부의 메모리소자들에 대한 동기적(synchronous) 셋(set) 또는 리셋(reset) 동작, The role of the additional circuit for IOP- probe output mode, the probe is in the shift register circuit portion structure formed by adding an additional circuit the shifting operation clock synchronized to a probe included in an expanded design verification the circuit immediately prior to the shifting operation shift and the register is a logic values ​​gajigoseo the whole or any one-way input and all two-way input and output signal values ​​of a specific part of a circuit design verification target circuit which is a logical value or a simulated target in a part of the memory element in the circuit in which the output probe target having, the input probe mode, adding circuit formed by adding a circuit portion of the shift is in register structure shifting operation, and this in synchronism for using the same shifting operation on all or some of the memory elements in the circuit in which the input probe target (synchronous ) set (set) or a reset (reset) operation, 은 비동기적(asynchronous) 셋 또는 리셋 동작에 이은 동기적 셋 또는 리셋 또는 비동기적 셋 또는 리셋 동작에 이은 동기적 디스에이블(disable) 동작으로 입력탐침 대상이 되는 메모리소자들의 논리값을 입력탐침값으로 되게하며, 정상모드에서는 부가회로가 부가되더라도 설계검증 대상회로의 함수적 논리 성질(functional logical behavior)이 변형되지 않지 않는 회로를 만들어 내는 것이다. Is asynchronously (asynchronous) copper three or following the reset operation term set or reset, or asynchronously, such three or following the reset operation term disabling (disable) operations to input the logic value of the memory element an input probe target probe value presented, and normal mode, additional circuitry is added that is made even if the functional logic properties (functional logical behavior) does not deform anji circuit design verification circuit. 또는 설계검증 대상이 하드웨어구술언어(이 후 HDL로 칭함) 코드로 구술된 경우에는 IOP-탐침용 부가회로의 행위(behavior)를 표현하는 부가HDL코드(이를 앞으로 IOP-탐침용 부가HDL코드라 칭함)가 설계검증 대상HDL코드에 부가됨으로서 완성되는 HDL 코드가 출력탐침모드에서는 부가HDL코드를 부가함으로서 형성되는 HDL 부분이 쉬프트레지스터 행위를 표현하고 있어 탐침클럭에 동기화된 쉬프팅 동작을 이 쉬프팅 동작 직전에 쉬프트레지스터의 행위를 표현하는 HDL 코드에서 레지스터 HDL 코드의 신호선이 가지는 신호값들이 출력탐침 대상이 되는 메모리소자의 전부 또는 일부의 출력 신호값들 또는 시뮬레이션 대상이 되는 설계검증 대상HDL코드의 특정 부분HDL코드의 모든 단방향 입력과 모든 양방향 입출력 시그널값들을 가지고서 하며, 입력탐침모드에서는 Or the target hardware design verification oral language (after referred to as HDL) referred the case to the verbal code is added to represent the behavior (behavior) of the additional circuit IOP- probe HDL code (HDL codes for additional IOP- probe referred to it in the future ) is the shifting operation synchronized to the probe clock's and the HDL portion representing the shift register action is formed by adding an additional HDL code by being in the HDL code is output probe mode is completed in addition to the design verification target HDL code immediately before the shifting operation this has the signal value of the signal line of the register HDL code in HDL code representing the behavior of the shift register to a particular part of the whole or design verification target HDL code some output signal values ​​or that simulate target of the memory device in which the output probe target HDL and gajigoseo all one-way input and all two-way input and output signal values ​​of the code, enter the probe mode 가HDL코드를 부가함으로서 형성되는 HDL 코드 부분은 쉬프트레지스터 구조로 되어 탐침클럭에 동기화된 쉬프팅 동작을 하며 이와 같은 쉬프팅 동작을 이용하여 입력탐침 대상이 되는 HDL 코드의 메모리소자들 행위를 표현하는 HDL 코드의 시그널들에 대한 동기적(synchronous) 셋(set) 또는 리셋(reset) 동작, 혹은 비동기적(asynchronous) 셋 또는 리셋 동작에 이은 동기적 셋 또는 리셋 또는 비동기적 셋 또는 리셋 동작에 이은 동기적 디스에이블(disable) 동작으로 입력탐침 대상이 되는 시그널들의 논리값을 입력탐침값으로 되게 하며, 정상모드에서는 IOP-탐침용 부가회로가 부가되더라도 설계검증 대상HDL코드의 행위(behavior)를 변형하지 않는 HDL 코드도 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드라 한다. The HDL code representing the HDL code section is in a shift register structure, the shifting operation synchronized to the probe clock, and this shifting operation the type of HDL code to probe the target memory device using a behavior that is formed by adding the HDL code East of the signal miracle (synchronous) three (set) or a reset (reset) operation, or asynchronously (asynchronous) synchronously display followed by three or synchronous set or reset or asynchronous set or reset operation following the reset operation enable (disable) and so the value of the logical operation signal that is input to the input probe target probe value, the normal mode, the addition circuit IOP- probe that does not deform even if the addition the behavior (behavior) of the target HDL design verification code for HDL It is referred to the added code HDL code for IOP- probe or IOP- adding circuit for the probe. 이에 대한 구체적 구현방법의 예들은 기 출원된 "신속한 입출력탐침 장치 및 이를 이용한 입출력탐침 방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션 방법"(특허출원번호:10-2000-0034628)에 이미 자세하게 언급되어 있음으로 본 특허에서는 생략하기로 한다. Thus for an example of how specific implementations group pending "fast input and output probes and the input and output method using the same probe and this mixture emulation based on / simulation": that is already mentioned in detail in (Patent Application No. 10-2000-0034628) in the present patent it will be omitted. 단, 상기의 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드는 용도에 따라서 입력탐침 모드와 출력탐침 모드 모두를 포함하여 입력탐침과 출력탐침이 모두 가능하게 구성되어서 부가되어 질 수 있으며(이와 같은 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 특별히 IOP-입출력탐침용 부가회로 또는 IOP-입출력탐침용 부가HDL코드라 칭함), 다른 용도에 따라서는 입력탐침 모드는 생략하여서 탐침은 출력탐침 만이 가능하도록 구성되어서 부가되어질 수도 있다(이와 같은 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 특별히 IOP-출력탐침용 부가회로 또는 IOP-출력탐침용 부가HDL코드라 칭함). However, the additional circuit or the additional probe for IOP- for IOP- probe HDL code depending on the application, including both input mode and output probe probe mode can be input and output probe, the probe is all possible to be configured and added ( the adding circuit la as IOP- probe or probe portion IOP- addition circuit for adding or IOP- output probe for specifically IOP- output probe HDL code for HDL code for quot;), therefore the probe is the probe input mode is omitted for other purposes hayeoseo may be additional be configured to enable only the output probe (LA such additional circuitry IOP- probe or probe portion IOP- addition circuit for adding or IOP- output probe for specifically IOP- output probe HDL code for HDL code hereinafter) .

부가적으로 설계검증 대상회로 또는 설계검증 대상HDL코드에 RAM이나 ROM 등의 메모리가 포함되어 있으며 이와 같은 메모리들도 RFPD에 내장되어 제공되는 칩상 메모리(on-chip memory)(구체적인 예를 들면, Xilinx FPGA의 Distributed RAM 또는 BlockRAM, Altera FPGA의 Embedded Array Block 등)를 이용하여 구현하는 경우에는 상기 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드에는 메모리 읽기/쓰기 부가회로가 추가적으로 포함되어 질 수도 있다. Additionally includes the design verification target circuit or design verification target HDL code memory such as a RAM or ROM to which In the same memory, (for a specific example a chip memory (on-chip memory) that is provided embedded in the RFPD, Xilinx when implemented using the Embedded Array Block, etc.) or the Distributed RAM BlockRAM, Altera FPGA of the FPGA is added for the adding circuit IOP- probe or probe IOP- for HDL code, memory read / write circuit portion is included in addition may be have. 메모리 읽기/쓰기 부가회로는 입출력탐침 시스템 수단(혹은 모듈)의 제어를 받아서 출력탐침모드에서는 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩) 내부에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 메모리의 모든 영역이나 특정 영역의 내용들을 정해진 순서에 따라 모두 읽어내어 출력탐침선을 통하여 인터페이스 모듈과 인터페이스 케이블을 거쳐서 입출력탐침 시스템 수단(혹은 모듈)으로 읽혀질 수 있게 하고, 입력탐침모드에서는 입출력탐침 시스템 수단(혹은 모듈)이 가지고 있는 데이터를 인터페이스 케이블과 인터페이스 모듈을 거쳐서 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)의 입력탐침선을 통하여 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩) 내부에 구현된 설계검증 대상회로 또는 설계 Memory read / write additional circuit output probe system means receives the control of (or module) output probe mode, the semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip), the design verification target circuit or design verification object implemented within read out all along the content of any area or specific area of ​​the memory present in the HDL code for a specific order through the interface module and an interface cable through the output probe line and able to read the input-output probe system unit (or module), an input probe mode, the input and output probe system unit (or module) to have data via an interface cable and interface module in a semiconductor chip semiconductor chip via the input probe line (FPGA chip or CPLD chip or ASIC chip or SOC chip) (FPGA chip or a CPLD the design verification, or the circuit design implemented within the chip or ASIC chip or chip SOC) 증 대상HDL코드에 존재하는 쓰기가능(writable) 메모리의 모든 영역이나 특정 영역에 정해진 순서에 따라 자동화된 방식으로 쓰기를 수행하게 된다. The authentication target writable (writable) present in HDL code memory and performs writing in an automated manner according to any area or a predetermined sequence in a specific region.

이와 같은 메모리 읽기/쓰기 부가회로의 구체적인 구현 예들은 기 출원된 "신속한 입출력탐침 장치 및 이를 이용한 입출력탐침 방법과 이를 기반으로 하는 혼합에뮬레이션/시뮬레이션 방법"(특허출원번호: 10-2000-0034628)에 이미 자세하게 언급되어 있음으로 본 특허에서는 생략하기로 한다. Such a memory read / write specific embodiment of the adding circuit are filed group "rapid input and output probes and the input and output method using the same probe and this mixture emulation based on / simulation method": in (Patent Application No. 10-2000-0034628) in this there is the already mentioned patent in detail will be omitted.

이상과 같은 칩상 메모리에 대한 읽기/쓰기는 설계검증 대상회로 또는 설계검증 대상HDL코드와 타겟 환경에 인가되는 1 이상의 사용자 클럭(user clock)들을 임의적으로 제어(정지하거나 진행을 자유자재로) 할 수 없는 ICE 환경에서는 상기 사용자 클럭들이 최소 수십배 느려지지 않고는 적용할 수가 없다. Over the chip memory R / W is at least one user clock to be applied to the design verification target circuit or design verification target HDL code and the target environment for the same (user clock), optionally controlled by a (stop or to proceed freely) can be in no ICE environment, the user can not be applied to the clock does not slow down at least several orders of magnitude. 이 중에서도 칩상 메모리에 대한 읽기 과정이 상기 사용자 클럭들을 느리게 하지 않고 수행될 수 있는 것이 매우 강력한 디버깅 기능을 제공하는 iPOD(후에 설명함) 기반의 검증에서 필요한 경우가 있다. Among them, there is a case that the reading process for the memory chip that can be performed without having to slow down the clock required by the user based on the verification iPOD (also described later), which provides a very powerful debugging features. 따라서 다음에는 칩상 메모리에 대한 읽기 과정이 상기 사용자 클럭들을 느리게 하지 않고 수행될 수 있는 방법을 도2(b)를 이용하여 설명하기로 한다(이를 이후부터는 탐침데이터 저장 메모리를 이용한 태깅 기법이라 칭함). Thus, Next, the reading process for the chip memory will be described with reference to the 2 (b) the method also can be performed without having to slow said user clock (hereinafter referred to as tagging method using the probe data storage memory, hereafter) .

이를 위해서는 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 메모리를 구현하기 위하여 사용된 칩상 메모리 OM1(102)과 같은 용량을 갖고 추가적으로 별도의 태그(tag) 비트를 구현하는 칩상 메모리 OM2(104)가 필요하다. A has a capacity such as a chip memory OM1 (102) further chip memory OM2 (104) to implement a separate tag (tag) bits used to implement the present memory for the design verification target circuit or design verification target HDL code to it it is needed. 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 메모리를 구현한 칩상 메모리 OM1(102)에 대한 출력탐침을 수행하는 과정에서의 어려운 점은 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 플립플롭들에 대한 출력탐침은 별도의 상기 플립플롭들의 내용을 별도의 출력탐침용 플립플롭들을 사용하여 병렬적으로 로딩을 수행하고 나면 설계검증 대상회로 또는 설계검증 대상HDL코드의 동작 수행과 함께 별도의 출력탐침용 플립플롭들의 내용을 순차적 쉬프팅을 통하여 읽어내는 동작을 동시에 진행할 수 있는데 반하여, 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 메모리를 구현한 칩상 메모리 OM1(102)의 모든 어드레스에 있는 모든 내용을 한번에 읽어내는 것이 불가능하다는 것이다. The difficulty in the process of performing output probe on chip memory OM1 (102) that implements the memory present in the design verification target circuit or design verification target HDL code flip present in the design verification target circuit or design verification target HDL code output probe for flops are separate with the behavior of performing the load in parallel the contents of the separate of the flip-flop by using a separate output probe for the flip-flop and design verification target circuit or design verification Once the target HDL code the contents of the output probe flip-flop for may proceed with the operation to read through the sequentially shifting at the same time, whereas, in all the address of the chip memory OM1 (102) that implements the memory present in the design verification target circuit or design verification target HDL code that it is impossible to read everything at once. 이에 대한 해결책은 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 메모리를 구현한 칩상 메모리 OM1(102)의 내용을 메모리탐침용 유한상태기(90)의 제어 하에 순차적으로 읽어내는 출력탐침 과정을 사용자 회로의 동작과 함께 병렬적으로 수행하는 과정 도중에서 설계검증 대상회로 또는 설계검증 대상HDL코드의 동작이 현재까지 읽어내지 못한 해당 칩상 메모리 OM1(102)의 특정번지 A에 대한 쓰기를 시도하는 경우에 해당 특정번지 A의 탐침데이터저장메모리 OM2(104)의 해당 태그출력이 0임을 메모리탐침용 유한상태기(90)가 감지하고 제어신호들을 생성하여 해당 특정번지 A에 있는 내용을 우선 읽어내어 같은 번지의 상기 칩상 메모리 OM2(104)로 먼저 저장한 후에 해당 태그를 1로 바꾸고 나서, 상기 칩상 메모리 OM1(102)의 특정번지 A에 대한 설계검 The solution is the output probe process to read sequentially under control of the chip memory OM1 (102) information to the memory probe finite state machine 90 for the implementation of the memory present in the design verification target circuit or design verification target HDL code when the operation of the design verification target circuit or design verification target HDL code during the process of trying to write to a particular address a of the failure to read to the covered chip memory OM1 (102) that run in parallel with the operation of the user circuit to a specific address probe data storage memory, the tag output is that the group 90 of memory probe Co. for state 0 of OM2 (104) of a is detected that the generated control signal, such read out first to the information on that particular address a after storing in the first memory chip OM2 (104) after the address change to the tag 1, designed for a particular address a of the memory chip OM1 (102) gum 대상회로 또는 설계검증 대상HDL코드에 의한 쓰기를 진행시키는 것이다. It is to proceed with a letter or by the circuit design verification target HDL code. 이 이외의 경우들인, 첫째로 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 메모리를 구현한 칩상 메모리 OM1(102)의 내용을 순차적으로 읽어내는 출력탐침 과정을 설계검증 대상회로 또는 설계검증 대상HDL코드의 동작과 함께 병렬적으로 수행하는 과정에서 설계검증 대상회로 또는 설계검증 대상HDL코드의 동작이 앞서서 이미 읽어내어 OM2(104)의 해당 번지에 저장된 칩상 메모리 OM1(102)의 특정번지에 대한 쓰기를 반복하여 시도하는 경우나(OM2로부터의 태그출력을 보고 태그출력이 1이면 특정 시점에서 메모리탐침을 시작한 이후의 최초의 쓰기가 아님을 알 수 있음), 둘째로 해당 칩상 메모리 OM1(102)의 특정번지에 대한 읽기를 시도하는 경우에는 설계검증 대상회로 또는 설계검증 대상HDL코드에서 발생되는 정상 어드레스와는 별도로 OM1(102)에 , Which are the case of the other, first design verification target circuit or design verification target HDL implementation of the memory present in the code-chip memory OM1 (102) information for reading the output probe design verification target circuit or design verification the process of sequentially subjected to before the operation of the process of design verification target circuit or design verification target HDL code to run in parallel with the operation of the HDL code out already read for a specific address of the chip memory OM1 (102) stored in the corresponding address of OM2 (104) If you try to repeat the writing or (if the tag output reporting the tag output from the OM2 1 can be determined by the first is not writing since the start of the memory probe at a particular point in time), the chip memory is second OM1 (102) for attempting to read for a given address it is separate from the normal address generated by the circuit design verification, or HDL design verification target code to the OM1 (102) 하여는 메모리탐침용 유한상태기(90)에 내장되어있는 어드레스 발생기에서 미리 정해진 어드레스 순서로 생성되는 어드레스를 가지고 읽기를 수행하여 읽어진 내용을 OM2(104)로 저장하고 해당 태그를 1로 하고 나서, 설계검증 대상회로 또는 설계검증 대상HDL코드가 의도하는 탐침대상 메모리 OM1(102)에 대한 쓰기 또는 읽기 메모리 동작을 수행한다. To store the information binary to perform read has an address that is generated in a predetermined address sequence to read from an address generator incorporated in the memory probe finite state machine 90 for a OM2 (104) and then the tag 1 and it performs the memory write or read operation for the probe-target memory OM1 (102) is designed to verify the circuit design verification, or HDL code intended destination. 이를 위해서 사용자 클럭보다 두배 빠른 시스템 클럭을 사용하여 특정 시점에서 메모리탐침이 일어나게 되면 시스템 클럭의 첫째 주기에서는 OM1(102)의 특정 번지 데이터를 OM2(104)의 같은 번지에 저장시키고 동시에 해당 태그를 1로 설정하며 시스템 클럭의 둘째 주기에서는 OM1(102)에 대한 설계검증 대상회로 또는 설계검증 대상HDL코드의 메모리 오퍼레이션을 수행한다. If the order it using the double fast system clock than the user clock memory probe occurs at a point in time in the first period of the system clock store specific address data of OM1 (102) the address of the OM2 (104) and at the same time the tag 1 set and performs a memory operation of the circuit design verification, or HDL design verification target code for OM1 (102) in the second period of the system clock by. 이를 위하여 OM2(104)의 모든 태그를 맨 처음에 모든 어드레스에 대하여 0으로 초기화시키고, 특정 시점에서의 메모리 출력탐침에서 특정 번지의 내용이 OM1(102)으로부터 읽혀져서 OM2(104)로 최초로 저장되면 해당 번지의 태그를 1로 설정한다. To this end, and initializes the tag on OM2 (104) at the start to zero with respect to all of the address, when a particular address in memory, output probe at a point in time information, the so read from OM1 (102) initially stored in OM2 (104) set the tag of the address 1. 이와 같은 태그를 1로 설정하는 횟수가 탐침대상 메모리의 모든 번지수 만큼 수행되고나면 탐침대상 메모리 OM1(102)의 모든 내용이 탐침데이터 저장 메모리 OM2(104)에 모두 복사가 설계검증 대상회로 또는 설계검증 대상HDL코드의 수행을 멈추지 않고서도 된 것이다. Thus once the number of times to set the same tag 1 is performed by the number of all the address of the probe-target memory probe-target memory OM1 (102) all the content is copied design verification all the probe data storage memory OM2 (104) of the circuit or design It will cost even without stopping the execution of the subject HDL code. 이와 같은 복사가 일어난 후에 탐침데이터 저장 메모리 OM2(104)의 내용을 읽어내서 메모리에 대한 출력탐침을 완료하고(결과적으로, 해당 온칩 메모리 OM1(102)에 대한 출력탐침이 완료된 후에는) 미래에 있을 추가적인 출력탐침을 위하여 태그를 0으로 초기화한다. Thus, after such copying is caused Guide to read the contents of the probe data storage memory OM2 (104) to complete the output probe for the memory, and (as a result, after this output probe for the on-chip memory OM1 (102) is completed) in the future in order to further probe the output initializes the tag to zero. 이와 같은 과정들도 설계검증 대상회로 또는 설계검증 대상HDL코드의 수행을 멈추지 않고 병렬적으로 진행하는 것이 가능하다. The above process also, it is possible to proceed in parallel without stopping the execution of the circuit design verification, or HDL design verification target code. 결론적으로 이와 같은 방법을 통하여 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 메모리를 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩) 내부의 온칩 메모리를 사용하여 구현한 경우에도 사용자 클럭을 느리게 하지 않고서도 실시간 출력탐침을 수행하는 것이 가능하며, 이는 ICE 환경에서 매우 요긴하게 사용된다. When a conclusion, the memory present in this design verification target circuit or design verification target HDL code through the same method, implemented using an internal on-chip memory semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) to the user clock the possible not to also perform a real-time output probe without slow, which is used very come in handy in ICE environment.

또한 온칩 메모리 OM2(104)는 설계검증 대상회로 또는 설계검증 대상HDL코드와 함께 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상의 1 이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현될 수 있는데, 이와 같이 하면 인터페이스 모듈(26)로의 탐침데이터 전송 대역폭(bandwidth)을 최소화시키는 것(설계검증 대상회로 또는 설계검증 대상HDL코드를 멈추게하지 않고서도 최소 1 비트만으로 탐침데이터 전송 가능)이 가능하지만 상기 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)의 자원(resource)을 사용하게 된다. Also implemented on-chip memory OM2 (104) is design verification target circuit or design verification target HDL any prototyping boards or a random logic emulator on the one or more semiconductor chips with the code (FPGA chip or CPLD chip or ASIC chip or SOC chip) may be, so when the interface module 26, a probe data transmission bandwidth (bandwidth) to minimize the (design verification target circuit or design verification target probe data transfer possible with only a minimum of 1 bit, without stop the HDL code) to the possible, but it will use the resources (resource) of the semiconductor chip (FPGA chip or chip CPLD or ASIC chip or chip SOC). 이를 위해서는 탐침데이터 저장메모리 OM2(104)의 출력(100)들에 도2(a)의 탐침대상메모리(101)의 데이터출력부에 부가된 것과 같은 출력탐침 플립플롭들(87)을 부가하고 메모리탐침용 유한상태기(90)로부터 해당 제어신호를 생성하여 공급하면 된다. Added to the probe data storage memory OM2 (104) of the output 100 of the Figure the output probe flip-flop, such as those added to the data output unit. 2 (a) probe-target memory (101) of the (87) it to the memory probe from the finite state machine 90 is for when the supply to generate the control signal. 다른 방법으로는 온칩 메모리 OM2(104)를 인터페이스 모듈(26)에서 구현할 수가 있는데, 이와 같이 되기 위해서는 설계검증 대상회로 또는 설계검증 대상HDL코드가 구현되는 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상의 1 이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)와 인터페이스 모듈(26) 간에 상기 설계검증 대상회로 또는 설계검증 대상HDL코드에서 사용된 메모리의 데이터 버스 만큼의 전송 대역폭이 확보되어 있어야 한다. Alternatively, on-chip memory OM2 (104) an interface module (26) there can be implemented on, this order for such design verification target circuit or design verification target HDL code is 1 on any prototyping boards or a random logic emulator to be implemented. or more between the semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) and the interface module 26, the transmission bandwidth as much as the data bus of the memory used in the design verification target circuit or design verification target HDL code must be secured .

본 발명에서 출력탐침선과 입력탐침선은, 별개의 독립된 단방향 탐침선으로 존재할 수도 있고, 출력탐침선과 입력탐침선이 합쳐진 양방향 탐침선으로 존재할 수도 있다. In the present invention, the probe output line and input line probe, may be present as a separate independent unidirectional probe line, there may be a bi-directional probe line combined the probe output lines and input lines probe. 또한 본 발명에서 사용되는 탐침클럭으로는 설계검증 대상회로 또는 설계검증 대상HDL코드에 사용되는 사용자 클럭들과는 별도의 클럭을 시스템 클럭으로부터 생성하여 사용할 수도 있고, 사용자 클럭들 중의 하나(예로 제일 빠른 클럭)를 사용할 수도 있다. In addition to probe the clock used in the present invention may be used to generate a separate clock from those user clock used for design verification target circuit or design verification target HDL code from the system clock, one of the user clock (for example the fastest clock) the can also be used.

상기 입출력탐침 시스템 수단(혹은 모듈)은 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 탐침대상 신호선들 및 메모리, 또는 설계검증 대상HDL코드에 존재하는 탐침대상 시그널들 및 메모리 블럭을 설계자로부터 수동으로 입력받는 또는 자동으로 결정하는 단계를 포함하며, 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에 장착된 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 설계검증 대상회로 또는 설계검증 대상HDL코드를 구현하고 출력탐침대상 신호선들 또는 읽기대상 메모리 영역에서의 특정 시간대 또는 특정 상황이 발생한 시점에서의 논리값들이 출력탐침선에 일정 시간 동안에만 순차적으로 나타나도록 하며, 입력탐침대상 신호선들 또는 쓰기대상 메모리 영역이 입력탐침선에 특정 시간대에 가해지 The input and output probe system unit (or module) is a passive probe target signal and a memory block existing in the probe target signal lines and the memory, or the design verification target HDL code present in the design verification target circuit or design verification target HDL code from designers by comprising the step of receiving, or automatically determined by the input, a random prototyping boards or a random logic design verification to the emulator onto the at least one semiconductor chip mounted on (FPGA chip or CPLD chip or ASIC chip or SOC chip), the circuit or implement the design verification target HDL code, and that only appear in sequence during a predetermined time at a particular time or to output probe line logic value at the time of the specific conditions at the output probe target signal or reading the target memory area, the input probe target the signal lines or write target memory area applied at certain times in the input probe line 논리값들을 가질 수 있도록 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에 장착된 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 할당된 설계검증 대상회로 또는 설계검증 대상HDL코드에 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 부가하여 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드를 생성하는 단계를 더 포함할 수 있다. So that you have the logical value any prototyping boards or a random logic of at least one semiconductor chip mounted on the emulator (FPGA chip or CPLD chip or ASIC chip or SOC chip), the design verification target circuit or design verification target HDL code assigned to in addition IOP- probe for additional circuitry or for IOP- probe it may further comprise the step of generating the verified design the circuit or the expanded design verification target HDL code extended by adding the HDL code. 또한, 출력탐침대상 신호선들과 읽기대상 메모리 영역에 대해서는 출력탐침대상 신호선들 상에서의 특정 시간대에서의 논리값들과 메모리 내용을 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 이용하여 해당 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)의 출력탐침선에 나타나게 하고 출력탐침선에 나타난 값을 입출력탐침 인터페이스 모듈을 통하여 서버용 컴퓨터로 전송하며, 입력탐침대상 신호선들과 쓰기대상 메모리 영역에 대해서는 서버용 컴퓨터에서 얻어진 상태정보로부터 입력탐침용 데이터를 생성한 후, 이를 입출력탐침 인터페이스 모듈을 통하여 해당 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)의 입력탐침대상 신호선들에 탐침클럭과만 동기화하면서 인가하거나, 또는 탐침클럭과 동기화하는 것과 더불어 탐침모드 In addition, add-on, an output signal line of the target probe and the target memory area to read the probe outputs, or additional circuitry for IOP- IOP- probe to the value of the memory contents in a given time zone on the target for the probe signal using a code HDL a semiconductor chip to appear in the output probe line (FPGA chip or CPLD chip or ASIC chip or SOC chips) and transfer the values ​​on output probe line to the computer server through the output probe interface module, and writing the input probe target signal subject memory for the region by creating a data for input probe from the state information obtained from the server computer, this probe to the input probe target signal line of the semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) via the input probe interface module while applying only the synchronization with the clock, or probe mode In addition to probe and a clock to synchronize 제어신호선을 통하여 탐침모드를 입력탐침모드와 출력탐침모드간으로 적절히 변화시켜가면서 인가하여 입력탐침대상 신호선들의 논리값과 쓰기대상 메모리 영역의 내용이 입력탐침선을 통하여 전송되어진 논리값들을 가지게 함으로서 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드의 상태정보가 상기 서버용 컴퓨터에서 얻어진 상태정보와 같게끔 설정하는 단계를 포함할 수 있다. By to have the logical value been transmitted through the probe mode, the input probe mode and the output probe mode for appropriately changed by going applied to the input probe, the target signal of the logical value and the content type probe line of the write destination memory area to each other via the control signal line semiconductor It may comprise the chip status information of the design verification target circuit or design verification target HDL code implemented (FPGA chip or CPLD chip or ASIC chip or SOC chip) is set gekkeum equal to the state information obtained from the server computer.

이상과 같은 입출력탐침 장치 및 입출력탐침 방법을 이용하면 설계검증 대상회로 또는 설계검증 대상HDL코드에 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드가 부가되어진 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드가 구현된 1이상의 반도체 칩(예로 FPGA 칩, CPLD 칩, ASIC 칩, 또는 SOC 칩)이 장착된 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터와 임의의 시뮬레이터를 이용하여 에뮬레이션과 시뮬레이션을 혼합한 설계검증을 수행할 수 있다. The above and using the input-output unit and an input and output probe probe method enables the circuit design verification, or HDL design verification target additional code has been added an extension or extensions for the circuit design verification adding circuit or IOP- probe for a probe IOP- HDL code: design verification target HDL code is implemented at least one semiconductor chip (for example FPGA chip, CPLD chip, ASIC chip, or SOC chip) emulation and simulation using any prototyping board or any of the logic emulator with any simulator is mounted the design verification can be performed by mixing. 즉, 이와 같은 에뮬레이션과 시뮬레이션 혼합 검증은 상기 입출력탐침 시스템 수단(혹은 모듈)은 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 탐침대상 신호선들 및 메모리, 또는 설계검증 대상HDL코드에 존재하는 탐침대상 시그널들 및 메모리 블럭을 설계자로부터 수동으로 입력받거나 자동으로 결정하는 단계를 포함하며, 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에 장착된 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 설계검증 대상회로 또는 설계검증 대상HDL코드를 구현하기 위하여 출력탐침대상 신호선들 또는 읽기대상 메모리 영역에서의 특정 시간대 또는 특정 상황이 발생한 시점에서의 논리값들이 출력탐침선에 일정 시간 동안에만 순차적으로 나타나도록 하며, 입력탐침대상 신호선들 또는 쓰기 That is, this emulation and simulation mixed verification means for the input and output probe system (or module) is a probe present in the probe, the target signal and a memory, or the design verification target HDL code present in the design verification target circuit or design verification target HDL code the target signal and and the memory blocks receive manual input from the designer comprising the step of automatically determining, any prototyping boards or a random logic emulator onto the at least one semiconductor chip mounted on (FPGA chip or CPLD chip or ASIC chip, or SOC chip) on during a certain period of time at a particular time or a logical value at the time of the particular situation are output probe line at the design verification target circuit or design verification target in order to implement the HDL code output probe target signal or reading the target memory area, in only, and to appear in sequence, the input signal line or a write target probe 대상 메모리 영역이 입력탐침선에 특정 시간대에 가해지는 논리값들을 가질 수 있도록 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에 장착된 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 할당된 설계검증 대상회로 또는 설계검증 대상HDL코드에 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 부가하여 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드를 생성하는 단계를 더 포함할 수 있다. Destination memory area is to have the logic value applied to the specific time to enter the probe line any prototyping board or any of the one or more semiconductor chips mounted on a logic emulator (FPGA chip or CPLD chip or ASIC chip or SOC chip) a design step of generating verifying the circuit design verification, or HDL target code adding circuit IOP- probe or probe portion IOP- adding the HDL code is the design verification target circuit or extended to expand the design verification target HDL code for the assigned there can be further included. 또한, 출력탐침대상 신호선들과 읽기대상 메모리 영역에 대해서는 출력탐침대상 신호선들 상에서의 특정 시간대에서의 논리값들과 메모리 내용을 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 이용하여 해당 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)의 출력탐침선에 나타나게 하고 출력탐침선에 나타난 값을 입출력탐침 인터페이스 모듈을 통하여 서버용 컴퓨터로 전송하여 설계검증 대상회로 또는 설계검증 대상HDL코드의 현재 상태정보를 시뮬레이터가 시뮬레이션을 위한 초기상태로 가질 수 있도록 하며, 입력탐침대상 신호선들과 쓰기대상 메모리 영역에 대해서는 서버용 컴퓨터에서 시뮬레이션을 통하여 얻어진 상태정보로부터 입력탐침용 데이터를 생성한 후, 이를 인터페이스 모듈과 인터페이스 케이블을 통하여 해당 반도체칩 In addition, add-on, an output signal line of the target probe and the target memory area to read the probe outputs, or additional circuitry for IOP- IOP- probe to the value of the memory contents in a given time zone on the target for the probe signal using a code HDL a semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) output probe lines appear and to transfer the values ​​on output probe line to the computer server through the output probe interface module design verification target circuit or design verification target HDL code in the current, and the state information so that the simulator is to have the initial state for the simulation, and then generates data for input probe from the obtained status information through a simulation on server computer for the writing target memory area and the input probe target signal, this the semiconductor chip through the interface module and an interface cable (FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)의 입력탐침대상 신호선들에 탐침클럭과만 동기화하면서 인가하거나, 또는 탐침클럭과 동기화하는 것과 더불어 탐침모드제어신호선을 통하여 탐침모드를 입력탐침모드와 출력탐침모드간으로 적절히 변화시켜가면서 인가하여 입력탐침대상 신호선들의 논리값과 쓰기 대상 메모리 영역의 내용이 입력탐침선을 통하여 전송되어진 논리값들을 가지게 함으로서 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드의 상태정보가 시뮬레이터에서 일정기간 동안 시뮬레이션을 통하여 생성된 상태정보와 같게끔 설정하는 단계를 포함할 수 있다. Applied while only sync with the input probe probe to the target signal clock (FPGA chip or CPLD chip or ASIC chip or SOC chip), or probes clock and the probe mode through the probe mode control signal In addition to the synchronization input probe mode and output going to the probe mode appropriately changed between the applied type probe target signal of logical value as the write target memory area of ​​the content is input probe line a by have the logic value been transmitted semiconductor chip (FPGA chip or CPLD chip or ASIC chip, or via SOC chip), the design verification or the circuit design verification status information of the target HDL code implemented in the may include a step of setting gekkeum equal to the generated status information through the simulation for a period of time in the simulator. 이와 같은 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에 장착된 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)과 임의의 시뮬레이터 간의 상태정보의 교환은 시뮬레이터에 마련되어진 FLI(Foreign Language Interface)나 PLI(Programming Language Interface)를 이용한다면 API(Application Program Interface) 수준에서 이루어질 수 있음으로 오버헤드를 최소화하면서 가능하다. Such random prototyping boards or a random logic emulator onto the at least one semiconductor chip mounted on (FPGA chip or CPLD chip or ASIC chip or SOC chip) and the exchange of status information between any simulator FLI (Foreign been provided to the simulator If you use a Language Interface) and Programming Language Interface (PLI) is possible, while minimizing the overhead it can be made in the Application Program Interface (API) level.

이상과 같이 본 발명의 입출력탐침 장치 및 입출력탐침 방법을 이용하여 에뮬레이션과 시뮬레이션 간의 자동화된 방식으로 혼합 검증을 하기 위해서는 에뮬레이션과 시뮬레이션 간의 수행 전환이 자동으로 이루어져야 하는데 이와 같은 것을 수행모드 스위칭(execution mode switching)이라고 칭하며 이와 같은 수행모드 스위칭은 특정 조건이 만족되어질 때 (예를 든다면 회로내의 특정 레지스터에 특정 값이 두 번 쓰여지는 시점) 이루어질 수 있으며 이와 같은 조건을 수행모드 스위칭 조건이라 칭한다. In order to use the input and output probes and the input and output probe, the method of the present invention as described above to a mixture verified in an automated manner between the emulation and simulation carried out that performs conversion between the emulation and simulation such as this to be in the automatic mode switching (execution mode switching ) as referred to this is carried out, such as mode switching can be made when a specific condition to be satisfied (for example, the costs surface bared time a particular value twice a particular register in the circuit), and this is referred to as performing the same conditions, the mode switching condition. 이와 같은 수행모드 스위칭 조건은 전체 검증 과정에서 시간적으로 전후 관계가 있는 2이상 될 수 있는데 이와 같은 경우에는 시간적으로 맨 처음에 설정된 조건에서부터 나중에 설정된 조건 순으로 나열된 상태에서 조건이 만족하는 시점에서 에뮬레이션에서 시뮬레이션으로, 또는 시뮬레이션에서 로직에뮬레이션으로의 수행모드 스위칭이 일어날 수 있다. This execution mode switching condition is the emulation at the time of this time as there can be more than two in the context this way, the condition in terms of time listed in the first, from the conditions set in the set later condition net state when: the whole verification process satisfies simulation, or may take place in a simulation mode to perform switching of a logic emulation. 이를 위해서는 수행모드 스위칭 조건들을 큐(queue)에 저장시켜 놓을 필요가 있는데 이를 수행모드 스위칭 조건 큐라고 칭하며 입출력탐침 시스템 수단(혹은 모듈) 내부에서 이를 자료구조(data structure) 형태로 유지하게 된다. For this purpose, it is necessary to put to store execution mode switching condition in the queue (queue) that it refers to perform mode switching conditions queue is held there in the form data structure (data structure) inside the input-output probe system unit (or module).

이와 같은 입출력탐침을 통하여 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터를 이용한 에뮬레이션과 서버용 컴퓨터에서 수행하는 시뮬레이션을 1회 이상 번갈아 가면서 수행할 수 있게 된다. In going through the same input-output probe alternately performing the simulation at any prototyping board or any using a logic emulator emulates the server computer at least once it is possible to perform. 특히 설계검증 대상회로 또는 설계검증 대상HDL코드에 조합적 폐회로(combinational feedback loop)가 존재하지 않는 경우에는, 출력탐침 대상 신호선들이 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 모든 메모리소자(플립플롭이나 래치)들의 출력선들이거나(이때의 출력탐침된 모든 메모리소자의 값들을 완전상태정보라 칭함), 출력탐침 대상 신호선들이 설계검증 대상회로에 존재하는 부분 메모리소자들의 출력선들인 경우에도 이 부분 메모리소자들의 출력선 값들로부터 1이상의 클럭사이클을 진행하여 나머지 메모리소자들의 모든 값들을 결정해 낼 수 있다면(이때의 출력탐침된 부분 메모리소자의 값들을 완전가능부분상태정보라 칭함) 출력탐침된 신호선들의 논리값들을 서버용 컴퓨터에 있는 시뮬레이터로 전달하여 에뮬레이션에 이은 In particular design when verifying the circuit, or that there is no combinatorial closed circuit (combinational feedback loop) the design verification target HDL code, output probe target signal line to all the memory elements (flip-existing design verification target circuit or design verification target HDL code output lines or (the values ​​of all memory elements of the output probe at this time complete state information hereinafter), and the output probe target signal lines are a portion even when the output lines of sub-memory element present in the design verification target circuit of flop or latch) If the process proceeds to at least one clock cycle from the output line the values ​​of the memory element can determine all of the values ​​of the other memory elements (full output probe the value of the portion of the memory element at this time can be part of the status information referred to) the output probe signal line passing the logic value of the simulator in the server computer by following the emulation 뮬레이션(에뮬레이션에 이은 시뮬레이션이란, 에뮬레이션 실행 결과를 이용하는 에뮬레이션 후에 진행되는 시뮬레이션 방법을 말함)을 연속되게 진행할 수 있다. The simulation (simulation following the emulation means, refers to the simulation method to be conducted after the emulation using the emulation execution result) may be carried out to be consecutive. 만일 설계검증 대상회로 또는 설계검증 대상HDL코드에 조합적 폐회로가 1이상 포함되어 있는 경우에는 각 조합적 폐회로들 마다 이 폐회로를 끊을(cut) 수 있는 조합적 폐회로에 존재하는 조합적 신호선들 각각들도 출력탐침 대상 신호선들에 포함되어야만 한다. If included design verification target circuit or design verification target over a combinatorial closed circuit 1 in the HDL code of each of the combinatorial signal line present in combinatorial closed circuit that (cut) to separate the closed circuit for each respective combinatorial closed circuit also it is included in the probe output target signal. 이상과 같은 에뮬레이션과 시뮬레이션을 1회 이상 번갈아 가면서 수행할 수 있게 되면 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터를 사용하여 설계검증을 수행하는 단계에서 아래와 같은 수많은 이점들이 있다. When you are able to over and alternately performed more than once, such as emulation and simulation using any prototype boards or a random logic emulator, there are a number of advantages: in the step of performing design verification.

우선, 시뮬레이션을 통하여 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상의 1이상의 RFPD에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드에서 출력탐침을 통하여 탐침될 수 있는 신호선들 뿐만 아니라, 이외의 나머지 신호선들 모두에 대하여 RFPD의 재 컴파일(re-compile) 과정이 없이도 100% 가시도 확보가 가능하게 된다. First, any prototyping by simulation board or any logic emulator on, as well as signal lines, which may be the probe through the output probe from the design verification target circuit or design verification target HDL code embodied in at least one RFPD, remainder other than the signal line for both the 100% without the need for recompilation (re-compile) the process of RFPD visibility is secured is possible. 이와 같은 재 컴파일 과정을 최대한으로 생략시키는 것이 디버깅 과정에서 극히 중요한 이유는 최근의 수백만 게이트급의 RFPD를 컴파일하는 시간이 짧게는 수십분에서 길게는 수시간까지 필요하기 때문이다. The reason it is extremely important in the debugging process to omit such a re-compilation process as much as possible is the time to compile the latest RFPD millions gates level of need in short is that as long as tens of minutes to several hours. 따라서 RFPD에 구현된 회로 또는 HFL코드에 대한 디버깅 과정에서 제일 중요한 것 중의 하나는 상기 RFPD에 대한 재 컴파일을 최대한도로 억제함으로서 신속한 디버깅이 가능하게 하는 것이다. Thus in a circuit or a debugging process for the HFL RFPD code implemented in one of the most important thing is to enable rapid debugging recompilation for the RFPD by the maximum extent suppressed. 상기 시뮬레이션과 에뮬레이션을 같이 이용하여 설계검증을 수행하면 이와 같은 RFPD에 대한 재 컴파일 과정 없이도 디버깅 과정에서 반드시 필요한 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 모든 신호선들에 대한 100% 가시도(visibility)가 에뮬레이션 도중에서도 완벽하게 마련되어 진다. 100% visible for all the signal lines present in the simulation, and when performing design verification by using as the emulation such material required design verification target circuit or design verification target HDL code during debugging without the need for compilation process for RFPD ( visibility) that is fully equipped even during emulation. 이와 같은 100% 가시도뿐만 아니라 디버깅 과정에서 불필요한 추측을 통한 탐침을 할 필요 없이 상기 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상의 1 이상의 RFPD에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드를 우선 상기 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에서 수행시키면서 규칙적 간격(예로 1,000,000 클럭사이클마다 한번씩)에서나 불규칙적 간격으로(예로 특정한 조건이 만족되는 1 이상의 시점에서) 사용자 요구와는 무관한 1 이상의 출력탐침을 수행하여 상기 사용자 요구와는 무관한 각 출력탐침 시점들(이들 각각의 시점을 "되돌아갈수있는시점"(Roll-back Point)들이라 칭함)에서 출력탐침된 신호선값들을 가지고 시뮬레이션을 에뮬레이션에 이어서 수행할 수 있도록 한다. The 100% visibility as the design verification target circuit or design verification target HDL code embodied in at least one on the random prototyping boards or a random logic emulator RFPD without the probe through the unnecessary speculation in the debugging process, first as such the random prototyping board or any regular while performed on the logic emulator intervals in irregular intervals eseona (for example 1 million clocks once per cycle) (e. g. certain conditions at the time when one or more are to be satisfied), the user needs and the more independent first output probe to carry out the user request and is independent of each of the output probe point to (wandering called "time that go back" (Roll-back point) the respective contents of these) to emulate the simulation with the output probe signal values ​​in the subsequently performed so can. 이와 같은 과정을 이용하면 디버깅을 위하여 사용자가 원하는 가시도를 사용자가 원하는 일정시점동안(이의 시작을 t s 라 하고 이의 끝을 t e 라 함)에 희망하는 신호선들에 대하여 미리 예측할 필요 없이도 가시도를 원하는 순간에 즉각적인 탐침(이를 Instant Probing On Demand, iPOD라함)이 가능하게 되는데, 이와 같은 iPOD는 에뮬레이션이 처음 시작된 시점에서부터 마지막 시점까지에서 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 모든 신호선들에 대하여 가능하다. Thus by using the same procedure, the visibility of the user wants to debug the user is visible, without any constant need for time predicted in advance with respect to the signal line wishing to (D Start thereof, t s, and also to its end t e d) immediate probe, the desired moment there is the possible (this instant probing on Demand, iPOD Abraham), such an iPOD, all signal lines that emulate exists in the design verification target circuit or design verification target HDL code from the first time began the last time it is possible with respect to the. 이는 사용자가 설계검증 대상회로 또는 설계검증 대상HDL코드가 구현된 상기 1 이상의 RFPD에 대하여 상기에서 언급된 입력탐침을 통하여 원하는 출력탐침 시점에 제일 가까우며 시간적으로 앞선 특정 되돌아갈수있는시점으로 상기 1 이상의 RFPD에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드의 상태를 되돌려 놓고 이 시점부터 t s 까지 에뮬레이션을 수행(이를 "에뮬레이션의 재현"이라고 칭함. 이 에뮬레이션의 재현은 인-서킷으로 수행되지 않음을 주목할 것)한 후에 t s 에서 출력탐침을 수행하여 출력탐침된 데이터를 서버용 컴퓨터에서 수행되는 시뮬레이터로 전달하여 t s 부터 t e 까지 시뮬레이션을 수행하여 사용자가 이 기간 동안에 가시도가 필요한 모든 신호선들에 대한 가시도확보가 가능하게 한다 (단, 상기 t s 시점이 특정 되돌아갈수 This user design verification target circuit or design verification target HDL code has been implemented to a point in time in an output probe go first time back to the earlier particular close to the point in time through the input probe above mentioned with respect to said at least 1 RFPD or more of the 1 RFPD the referred to as design verification target circuit or design verification target place to return the state of the HDL code performing emulation from this point until t s (this "reproduction of emulation" implemented in the reproduction of the emulation is of - the not performed in the circuit and after that note) with the output probe from t s to perform the simulation from passing the simulator t s is performed for the output probe data from the server computer to t e for all signal lines user needs visibility during this period for securing the visibility allows (where t s is the time go back to a specific 있는시점과 일치하는 경우에는 에뮬레이션의 재현 과정 없이 시뮬레이션이 수행됨). If there is a match point, the simulation performed without the reproduction process of emulation) in. 이와 같은 에뮬레이션의 재현(replayed emulation) 또는 시뮬레이션을 위해서는 출력탐침을 통하여 상태정보에 대한 저장뿐만 아니라 입력패턴에 대한 저장도 필요한데 입력패턴이 서버용 컴퓨터에 미리 저장되어 있는 경우에는 이미 저장되어 있음으로 문제가 되지 않지만, 인-서킷 상황인 경우에는 주변 하드웨어에서 입력패턴이 실시간으로 생성되어 인가됨으로 이 입력패턴에 대한 저장이 출력탐침을 통하여 실시간으로 이루어져야 한다. When this representation of the same emulation storage for (replayed emulation) or a simulation status information in order through the output probe for not only requires also stored for the input pattern is the input pattern is previously stored in the server computer, is a problem that has already been stored It does not, in-circuit when the conditions are to be made in real-time is stored for the input pattern is applied doemeuro generate a real-time input pattern around the hardware via the probe output. 따라서 메모리(예로 FPGA내의 온-칩 메모리)를 이용하여서 이를 저장하는 방법이 마련되어 있어야 한다. Therefore, the memory-hayeoseo used (e.g. on-chip memory in the FPGA) should be provided a method of storing it. 이와 같은 메모리를 이용하여서 상기 입력패턴에 대한 저장을 수행하는 구체적 방법의 예로서는, 트리거 로직(trigger logic) 또는 합성가능한 주장구문(assertion statements)을 합성하여서 구현한 주장 로직(assertion logic)을 이용하여서 인-서킷 에뮬레이션의 전체 실행 구간 내에서의 일정한 시간구간 동안에서만(예로, 인-서킷 에뮬레이션 전체 실행 구간이 0 사이클에서부터 100,000,000,000,000,000 사이클에 걸쳐있는 경우에 99,000,000,000,101,999 사이클에서부터 99,000,000,000,118,383 사이클 동안에서만) 상기 저장이 일어나도록 하는 것이다. The hayeoseo using the same memory Examples of the specific method for performing the storage for the input pattern, the hayeoseo using the trigger logic (trigger logic) or synthesizable claim syntax one claims logic implementation hayeoseo synthesized (assertion statements) (assertion logic) - only for a certain time interval in the entire running range of the circuit emulation (eg, in-the case that the circuit emulation a complete run interval is from zero cycle across 100000000000000000 cycle only in from 99000000000101999 cycle during 99000000000118383 cycle) in which the storage to take place will be.

한편 이와 같은 시뮬레이션은 HDL 시뮬레이터를 사용하는 대신에 별도의 평가과정(evaluation process)으로 대체되어 서버용 컴퓨터에서 수행 될 수도 있는데(이와 같이 별도의 평가과정으로 대체되어 서버용 컴퓨터에서 수행되는 것도 컴퓨터에서 소프트웨어적으로 수행되는 것임으로 본 특허에서의 시뮬레이션 정의에 포함됨), 설계검증 대상회로 또는 설계검증 대상HDL코드의 크기가 수백만 게이트를 초과하게 되는 경우에는 상기 시뮬레이션 과정이 에뮬레이션 과정에 비하여 비록 짧다고 하더라도 실제 시간으로 극히 긴 시뮬레이션 실행 시간과 시뮬레이션 컴파일 시간을 요구하게 되거나, 최악의 경우에는 시뮬레이션 실행 자체가 불가능해지는 심각한 상황에 직면하게 된다. In this simulation, there may be carried out in a server computer is replaced with a separate evaluation process (evaluation process) instead of using an HDL simulator (Thus software in it are replaced by separate evaluation process performed on the server computer, the computer ever If it will exceed a million gate size of the included in the simulation defined in the patent), the design verification target circuit or design verification target HDL code is performed as is, even if the simulation process, although shorter than the emulation process in real time or require extremely long simulation run time and compile-time simulations, in the worst case, is faced with a serious situation is becoming impossible to run the simulation itself. 이를 해결하기 위하여 본 발명에서는 설계검증 대상회로 또는 설계검증 대상HDL코드를 시뮬레이션이 가능한 적당한 크기의 2이상의 부분회로들로 분할하여 시뮬레이션 시에는 설계검증 대상회로 전체 또는 설계검증 대상HDL코드 전체를 시뮬레이션하는 대신에 상기 부분회로 또는 부분HDL코드들중의 하나를 신속하게 시뮬레이션하게 된다. To solve this problem, in the present invention, design verification target circuit or design verification target in the HDL code simulation is divided into appropriate size of two or more part circuits of available simulation when there simulating Total or design verification target HDL code, the circuit design verification instead it is to quickly simulate a portion of said circuit or part of HDL code. 이를 위하여 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터에 구현되는 설계검증 대상회로 또는 설계검증 대상HDL코드에서 가시도가 필요한 상기 각 부분회로 또는 부분HDL코드들 각각들에는 도 5에서와 같이 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드가 부가되는데 이 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드로서 상기 각 부분회로 또는 부분HDL코드에 존재하는 부분회로 또는 부분HDL코드의 모든 단방향 입력과 모든 양방향 입출력 신호선들은 출력탐침이 가능하게 하며, 전부 또는 일부의 메모리소자와 메모리에 대해서는 입출력탐침 또는 출력탐침이 가능하게 한다. It to a random prototyping boards or a random logic design verification emulator or the circuit design verification target HDL code visibility is required IOP- probe as in the circuit of each part or portion of code, HDL, respectively in FIG. 5 that is implemented in the addition circuit for adding or IOP- probe for HDL code is added there is any way of the adding circuit IOP- probe or probe IOP- addition circuit part or part of HDL code is present in the circuit parts or portions HDL HDL code as code for all input and output signal lines are bi-directional and allows the output probe, and to allow input and output all or a probe or probes for the output portion of the memory element and the memory. 또한 상기 각 부분회로 또는 부분HDL코드는 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터에 장착된 RFPD 칩들 각각에 구현되는 단위 별 일 수도 있고, 또는 설계 시에 존재하는 계층에서의 모듈 단위 일 수도 있다. It may also be a module unit in the layer, which may be in the each part circuit or part HDL code by the unit to be implemented in each of the RFPD chips mounted on any prototyping boards or a random logic emulator, or present on the design.

상기와 같은 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 상가 각 부분회로 또는 부분HDL코드들 각각에 부가하게 되면 시뮬레이션을 각 부분회로별로 가능하게 되어져서 설계검증 대상회로 또는 설계검증 대상HDL코드가 수백만 또는 수천만 또는 수억 게이트급 또는 그 이상이라도 신속한 시뮬레이션이 가능해진다. When the probe and IOP- additional circuit or an additional probe IOP- HDL code additive to add to each of the circuit parts or a part of HDL code for such a simulation so making it possible for each part of the circuit design verification, or the circuit design verification target the HDL code is millions or tens of millions or billions or gate-level simulation, rapid, even more is possible. 이와 같은 부분별 시뮬레이션이 가능하려면 이 시뮬레이션 과정에서 필요한 테스트벤치(test bench)를 에뮬레이션 과정 또는 에뮬레이션의 재현 과정에서 동적으로(dynamically) 생성시켜야 한다. In order to be a part of each simulation it should be created dynamically (dynamically) in the reproduction process of the simulation test bench (test bench) required during the process emulation or emulation.

이를 위해서 상기 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드가 구현된 상기 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터를 에뮬레이션의 재현에서 시뮬레이션 시작지점에서 제일 가까우며 시간적으로 앞선 특정 되돌아갈수있는시점으로 입력탐침을 통하여 되돌리고 여기서부터 시뮬레이션 시작지점까지 저장된 입력패턴을 인가하여 에뮬레이션의 재현을 수행하고 계속적으로 시뮬레이션 시작지점에서 시뮬레이션 끝지점까지 저장된 입력패턴을 인가하면서 상기 해당 부분회로 또는 부분HDL코드의 모든 단방향 입력들과 모든 양방향 입출력들에 대하여 출력탐침을 수행하면서 에뮬레이션의 재현을 시뮬레이션 대상이 되는 기간에도 우선 진행하게 된다. For this, the time which get the best time back to the earlier particular close to the simulation of the extended the design verification target circuit or extension design verification target HDL code to implement any of the above prototype boards or a random logic emulator reproduction of emulation starting point as returned by the input probe by applying the stored input pattern from here to simulate the starting point perform the reproduction of the emulation and continuously in a simulated starting point simulation while applying the stored input pattern to the end point of the circuit the corresponding part or all of the portion HDL code with the output probe with respect to the one-way type, and all the two-way input and output and is in progress first period in which the simulation target to reproduce the emulation. 이와 같은 에뮬레이션의 재현 과정을 통하여 상기 해당 부분회로 또는 부분HDL코드만의 시뮬레이션을 위한 해당 부분회로 또는 부분HDL코드의 모든 입력 패턴들을 시뮬레이션 시작시점에서 끝지점까지 수집하는 것이 가능해지고, 이들을 이용하여 시뮬레이션 과정에서 필요한 테스트벤치를 자동화된 방법으로 생성할 수 있게 된다. Thus through the reproduction process such as emulation it becomes to collect at the time when the simulation starts all the input patterns of the part circuit or part of HDL code for simulation of only the corresponding part circuit or part of HDL code to the end point possible, simulation using these it is possible to produce in an automated test bench required in the process.

이와 같은 시뮬레이션을 위한 테스트벤치의 동적 자동 생성 방법은 상기 iPOD 방식의 수행에서뿐만 아니라, 에뮬레이션 실행 후에 에뮬레이션의 재현없이도 시뮬레이션을 수행하는 일반적인 에뮬레이션/시뮬레이션 혼용 설계검증 과정에서도 시뮬레이션 수행에 문제가 있는 수백만 게이트급 이상의 설계검증 대상회로 또는 설계검증 대상HDL코드를 시뮬레이션 수행이 가능한 작은 부분회로 또는 부분HDL코드들로 분할하여 효과적인 시뮬레이션을 임의의 시뮬레이터를 이용하여서 가능하게 한다. The dynamic auto-generation of a test bench for the same simulation method millions of gate-level there is a problem with the simulation performed in general emulate / simulate mix design verification step of performing a simulation without reproduction of emulation as well as the performance of the iPOD way, after the emulation is running by dividing the above design verification target circuit design verification, or HDL destination code with the possible small circuit part or part of HDL code simulation performed it enables hayeoseo using any simulator, an effective simulation. 즉 도 6에서와 같이 가시도가 필요한 1 이상의 특정 부분회로 또는 부분HDL코드들 별로 이 1 이상의 특정 부분회로 또는 부분HDL코드 내에 존재하는 전부 또는 일부의 메모리소자와 메모리에 대해서 1 이상의 특정시점에서 출력탐침만이 가능하게 할 뿐만 아니라, 이들 1 이상의 특정 부분회로 또는 부분HDL코드의 모든 단방향 입력들 및 양방향 입출력들을 일정한 시간구간 동안에 출력탐침만이 가능하도록 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 부가하게 되면, 에뮬레이션을 시뮬레이션에 앞서서 우선적으로 진행하면서 에뮬레이션의 실행 도중의 상기 1 이상의 특정 시점에서 상기 1 이상의 특정 부분회로 또는 부분HDL코드 내의 전부 또는 일부의 메모리소자와 메모리에 대하여 출력탐침을 수행하여 이를 시뮬레이션의 초기상태로 설정할 수 있 That is output from a point-in-time visibility of the each of the one or more specific part circuit or part of HDL code required circuits is one or more of the specific part or portion of one or more with respect to all or a portion of the memory element and the memory present in the HDL code, as shown in Figure 6 probe only added for this as well as enabling the additional circuit or one-way for IOP- probe all input and bi-directional input and output of one of these specific circuit part or part of HDL code or more to allow the output only during certain time intervals probe IOP- probe When adding the HDL code, a while prior to the simulation proceeds preferentially at a point in time and the one or more during execution of the emulation output for all or part of the memory element and a memory in said at least one specific part circuit or part of HDL code probe emulation by doing this, you can set the initial state of the simulation 게 하고, 동시에 시뮬레이션이 필요한 상기 부분회로 또는 부분HDL코드의 모든 단방향 입력들과 양방향 입출력들에 대하여 상기 일정한 시간구간 동안에서만 출력탐침을 수행하여 이를 시뮬레이션의 입력시퀀스(입력시퀀스란 에뮬레이션에 이은 시뮬레이션의 대상이 되는 회로 또는 HDL코드의 입력벡터의 일정구간 동안의 값들을 말함. 즉 이 입력 시퀀스는 시뮬레이션을 위한 테스트벤치에 활용할 수 있음)로 사용할 수 있게 함으로서, 임의의 시뮬레이터 상에서 이들을 이용한 시뮬레이션을 에뮬레이션 후에 수행함으로서 해당 부분회로 또는 부분HDL코드에 존재하는 모든 신호선들에 대한 100% 가시도를 확보할 수 있다 (여기에서 한가지 강조할 것은, 앞서의 설명에서도 언급된 것과 같이 부분회로 또는 부분HDL코드의 모든 단방향 입력들과 양방향 입출 To, and at the same time simulation of the simulation following the required all-way input and bidirectional output of said predetermined time intervals only in the input sequence of this, by performing the output probe simulation while with respect to the (input sequence is the emulation of the partial circuit or part of HDL code refers a value for a predetermined period of the input vector of the circuit, or HDL code target, that is, by made available as an input sequence can be utilized in a test bench for the simulation), after emulating a simulation using the same on any simulator carried by it is possible to ensure a 100% visibility for all of the signal lines present in the part circuit or part of HDL code (here One thing to be emphasized, all of the partial circuits or part of HDL code, as mentioned in the description of the above in One-way and two-way enter teller 력들에 대하여 상기 일정한 시간구간 동안에서 출력탐침을 수행하여 이를 시뮬레이션의 입력시퀀스로 이용하는 반면에, 부분회로 또는 부분HDL코드의 상태정보는 상기 1 이상의 특정 시점에서만 출력탁침을 수행하여 이를 시뮬레이션의 초기상태 설정에 이용한다는 것이다. 즉 부분회로 또는 부분HDL코드의 모든 단방향 입력들과 양방향 입출력들에 대한 출력탐침보다 상기 부분회로 또는 부분HDL코드의 모든 메모리소자들, 또는 모든 메모리소자들과 모든 메모리들에 대한 출력탐침은 최소한 1/10이상 또는 일반적으로는 1/100이상 더 적게 수행된다는 것이다. About ryeokdeul while using the same to perform the output probe from for the fixed time interval to the simulation input sequence, the status information of the partial circuit or part of HDL code is the initial state of this by performing the output takchim only at a point in time and the one or more simulation it is used in a set, that is to all the memory elements of all the one-way type and the portion of the circuit or part of HDL code than the output probe for two-way input and output of the partial circuit or part of HDL code, or any memory devices and all memory for output probe to at least 1.10 or more generally is that performed less over 1/100. 이의 장점은 분명한데, 즉 추후에 설명될 "에뮬레이션을 이용한 시뮬레이션"을 위한 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드의 오베헤드를 최소한으로 할 수 있는 것이 매우 큰 장점이다). In it is its advantages, that is, to be able to gone into the head portion of the HDL code for IOP- probe for additional circuitry or IOP- probe for "simulation using emulation" that will be described later to a minimum is a very great advantage).

이와 같은 본 특허에서의 방법은 테스트벤치 자동 생성 장점 이외의 또 다른 장점으로서, 해당 회로 또는 HDL코드만에 대하여 출력탐침만이 가능한 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드만을 부가하면 됨으로서 부가되는 부가회로 또는 부가HDL코드 오버헤드를 입출력탐침이 가능한 부가회로 또는 부가HDL코드 오버헤드, 혹은 전체 회로 또는 전체 HDL코드에 대하여 출력탐침이 가능한 부가회로 또는 부가HDL코드 오버헤드에 비하여 최소화시키는 것이 가능하다는 것이다. When this method according to the present patent is a further advantage of the non-test bench automatically generated advantages, add only that circuit or part of HDL code for additional circuitry or IOP- probe for output probe only in IOP- probe with respect to only the HDL code by being added additional circuit or an additional HDL code overhead adding circuit capable of input and output probes or addition HDL code overhead, or the addition-output probe with respect to the entire circuit or the total HDL code circuit or in addition to minimize than the HDL code overhead that it would be possible.

에뮬레이션과 시뮬레이션의 혼용 검증에서 이와 같은 부분 시뮬레이션 방법의 또 다른 장점은 설계검증 대상회로 또는 설계검증 대상HDL코드에 매우 큰 용량의 메모리 블록(예로 수십 또는 수백 메가 바이트(Mega byte) 이상)이 존재하는 경우 에뮬레이션에서 시뮬레이션으로의 전환을 위하여 통상 이 메모리 블록에 대한 오랜 시간의 출력탐침을 필요로 하게 되는데, 이 메모리 블록의 모든 단방향 출력들과 모든 양방향 입출력들에 대하여 출력탐침 가능하게 하는 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 부가하여 메모리 블럭의 상기 모든 출력들과 모든 입출력들에 대하여 출력탐침하여 메모리 블록에 대한 테스트벤치를 생성하는 것이 가능해져 메모리 블록에 대한 시뮬레이션의 필요성을 제거시킬 수 있음(즉 메모리 블록을 제외한 시뮬레이 Another advantage of this partial simulation method in mixed verification of emulation and simulation that there is a design verification target circuit or design verification target block of memory of very large capacity in the HDL code (e.g. tens or hundreds MB (Mega byte) above) there is usually not to require a long time for the output probe for the memory block, for IOP- probe to enable the probe output for all one-way output, and all the bi-directional input and output of the memory block to the transition to simulated in the emulation if removing the need for a simulation for the memory block it is possible to generate a test bench for the memory block and outputting the probe with respect to the input and output of all the outputs of all the memory blocks in addition to the additional HDL code for adding circuit or probe IOP- It can be (that simulate other than a memory block 을 가능하게 함)으로 결론적으로 에뮬레이션에서 시뮬레이션으로의 전환을 위하여 상기 메모리 블록에 대한 탐침 필요성을 효과적으로 제거시킬 수 있다는 것이다 (본 특허에서는 이와 같이 인-서킷으로 수행되는 에뮬레이션 과정에서 실시간으로 수집된 설계검증 대상회로 또는 설계검증 대상HDL코드, 혹은 설계검증 대상회로의 부분회로 또는 설계검증 대상HDL코드의 부분 코드의 상태정보와 입력 시퀀스를 이용하여 시뮬레이션을 진행하는 것을 "에뮬레이션을 이용한 시뮬레이션"이라고 부르기로 함). Possibly also) as to the conclusion transition to a simulation in the emulation that it can effectively remove the probe need for the memory block (in this way in the present patent-designed collection in real time in the emulation process carried out by the circuit to call to proceed to verify the circuit or design verification target HDL code or design condition information of the partial code of the subject circuit portion circuit or design verification target HDL code for a simulation using the input sequence is called "simulation using emulation" box).

뿐만 아니라 상기와 같은 에뮬레이션을 이용한 시뮬레이션을 위한 테스트벤치의 동적 자동 생성 방법은 설계검증 대상회로 또는 설계검증 대상HDL코드가 커서 전체를 모두 시뮬레이션할 수 없는 경우에서뿐만 아니라, 도 7에서와 같이 인-서킷 환경에서 설계검증 대상회로 또는 설계검증 대상HDL코드를 위한 시뮬레이션을 위하여 주변 하드웨어 환경 모델(즉 테스트벤치)이 마련되어 있지 않아도 이를 동적으로 생성시키는 것이 가능하게 함으로서 매우 효율적인 에뮬레이션/시뮬레이션 혼용 설계검증을 가능하게 한다. As well as the dynamic method of automatically creating a test bench for the simulation using emulation as described above not only may not be simulated both the whole design verification target circuit or design verification target HDL code cursor, which, as shown in Figure 7 circuit enabling the peripheral hardware environment model (i.e. the test bench) are dynamically generated to possibly by a very efficient emulation / simulation mix design verification that it does not have to simulation for design verification target circuit or design verification target HDL code in the environment do.

상기 목적 외에 본 발명의 다른 목적 및 이점들은 첨부한 도면을 참조한 실시예에 대한 상세한 설명을 통하여 명백하게 드러나게 될 것이다. Other objects and advantages of the present invention in addition to the above-described object will be revealed clearly through the detailed description of the embodiments taken in conjunction with the accompanying drawings.

이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다. With reference to the accompanying drawings, an embodiment of the present invention will be described in detail.

도1 은, 서버용 컴퓨터에서 운영되는 입출력탐침 시스템 수단(혹은 모듈)과 입출력 탐침 인터페이스 모듈로 구성된 본 발명에 관한 디버깅 장치의 일 예를 개략적으로 도시한 도면이다. 1 is a diagram of an example of the debugging apparatus of the present invention configured as input and output probe system unit (or module) and the input-output probe interface module that runs from the server computer a simplified view.

도2 는 메모리 읽기/쓰기 부가회로의 구체적인 구현 예로서는 우선 메모리에 대한 읽기/쓰기 제어(read/write control) 신호와 읽기/쓰기 대상이 되는 모든 메모리 영역에 대한 어드레스 시퀀스를 생성하고, 필요에 따라서 클럭된 메모리(clocked memory)의 경우에는 클럭신호까지 생성하는 메모리탐침용 유한상태기(Finite State Machine)와 멀티플렉서, 그리고 플립플롭을 이용하여 구성하는 일 예를 개략적으로 도시한 것이다. Figure 2 is a memory read / write additional Specific examples of implementation of the circuit first read / write control for the memory (read / write control) signal and generate the address sequence to all the memory area in which the read / write target, and, if necessary, clock for a memory (clocked memory) is a schematic illustration of an example of the configuration by using a memory probe for a finite state machine (finite state machine) and a multiplexer, and a flip-flop for generating from the clock signal.

이와 같이 설계검증 대상회로 또는 설계검증 대상HDL코드에 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드가 부가되어져서 생성된 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드는 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상의 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현되고, 프로토타이핑 보드 또는 로직에뮬레이터를 실행시켜 에뮬레이션 기반의 검증을 수행하는 과정에서 특정 시점이나 특정 상황이 발생한 시점에서 시뮬레이션으로의 전환이 필요한 경우에 입출력탐침 시스템 수단(혹은 모듈)이 이를 감지하여 에뮬레이션의 수행을 중지하고 입출력탐침 시스템 수단(혹은 모듈)의 제어 하에 해당 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)이 정상 모드에서 출력탐침 모드로 전 Thus, the circuit design verification, or HDL design verification target additional code is added so the extended design of the circuit verification or expansion generated design verification target HDL code for additional circuitry or IOP- probe for a probe IOP- HDL code is any It is implemented in prototype boards or a random logic emulator on the at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip), a point in time in the process and run the prototyping board or logic emulator performs verification of the emulation-based and input-output probes if necessary conversion to a particular situation is simulated at the time generated the system unit (or module) is detected to stop the execution of the emulation it and input and output probe system unit (or module) at least one semiconductor chip, the under the control of ( FPGA chip or chip CPLD or ASIC chip or chip SOC) around in the normal mode to the output mode, the probe 되어진 후 탐침클럭이 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 가해지면 1 이상의 쉬프트레지스터 어레이 구조 각각에 존재하는 하나의 플립플롭의 출력에 연결된 1 이상의 출력탐침선을 통하여 탐침대상이 되는 신호선들에서의 논리값들이 입출력탐침 인터페이스 모듈을 통하여 서버용 컴퓨터로 전송된다. After probe clock and a semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) is applied when at least one shift register array structure of the target probe by at least one output probe line coupled to the output of one of the flip-flop existing in each of the been logic value of the signal lines which are transmitted to the server computer through the input-output probe interface module. 그런데, 입출력탐침 시점은 에뮬레이션 수행 전에 정적으로(statically) 결정될 수 있고, 에뮬레이션 수행 도중에 특정 상황이 발생한 시점과 같이 동적으로(dynamically) 결정될 수 있는데 특정 상황이 발생한 시점과 같은 에뮬레이션의 상황에 종속적인 입출력탐침 시점을 결정하기 위해서는 로직분석기(logic analyzer)와 같은 외부장비를 사용하여 이를 관측하고 입출력탐침 시점을 결정할 수 있으며, 또는 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩) 내부에 동작 상황을 검출하는 입출력탐침시점 검출기(detector) 회로를 추가적으로 부가함으로써 입출력탐침 상황을 출력시키고 이를 입출력탐침 시스템 수단(혹은 모듈)이 감지하여 입출력탐침을 시작할 수도 있다. However, the input-output probe point is static with (statically) can be determined, during execution of the emulation can be determined dynamically (dynamically), such as the time of the specific situation depends on the emulation context, such as the time certain conditions occurring before performing emulation output operating the internal logic analyzer (logic analyzer) and the like can observe it by using an external device, and determine the input and output probe point, or a semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) conditions in order to determine the probe point outputting the input and output probes circumstances by adding additional input and output time of the detector probe (detector) circuit for detecting and this may also enter the input and output probes to detect the output probe system unit (or module). 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩) 내부에 상기 입출력탐침시점 검출기 회로를 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드와 더불어 추가적으로 설계검증 대상회로 또는 설계검증 대상HDL코드에 부가하는 경우에는 이의 자동적인 생성과 부가도 또한 입출력탐침 시스템 수단(혹은 모듈)이 담당하게 된다. A semiconductor chip (FPGA chip or chip CPLD or ASIC chip or chip SOC) for adding the input and output probes IOP- probe point detector circuit in the internal circuit or IOP- target probe portion further verify the circuit design or design verification with the HDL code for HDL when added to the code, it is the automatic generation and addition thereof is also in charge of input and output probe system unit (or module).

입력탐침의 경우에는 입출력탐침 시스템 수단(혹은 모듈)이 프로토타이핑 보드 또는 로직에뮬레이터 상의 해당 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 대한 입력탐침용 데이터를 생성한 다음, 입출력탐침 시스템 수단(혹은 모듈)의 제어 하에 동작모드를 입력탐침 모드로 전환하고 난 후, 탐침클럭이 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 가해지면서 1 이상의 쉬프트레지스터 어레이 구조 각각에 존재하는 하나의 플립플롭의 입력에 논리적으로 연결된 1 이상의 입력탐침선을 통하여 서버용 컴퓨터로부터 입출력탐침 인터페이스 모듈을 통하여 전송된 입력탐침용 데이터가 1 이상의 쉬프트레지스터 어레이 구조 각각에 존재하는 플립플롭들에 저장되고 이렇게 저장된 입력탐침용 데이터로써 최종적으로 입력탐 For input probe has generated the data for input probe for the input and output probe system unit (or module) is prototyping board or logic emulator or more of the first semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) on the next, output probe system means after making the operation mode to the input probe mode under the control of (or module), the probe clock and a semiconductor chip as applied to the (FPGA chip or CPLD chip or ASIC chip or SOC chip) at least one shift register array structure the flip-flop that is present in the respective input probe data is at least one shift register array structure for transmission through the output probe interface module from the server computer via a logical one or more input probe line coupled to the input of a flip-flop existing in each finally, as the input data for input probe stored and the thus stored in Tam 대상 플립플롭들을 동기적(synchronous) 셋(set) 또는 리셋(reset) 동작, 혹은 비동기적(asynchronous) 셋 또는 리셋 동작에 이은 동기적 셋 또는 리셋 또는 비동기적 셋 또는 리셋 동작에 이은 동기적 디스에이블(disable) 동작으로 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에 장착된 1이상의 반도체칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 입력탐침이 이루어 질 수 있게 한다. Synchronously disabling, following the destination flip flop in synchronism (synchronous) set (set) or a reset (reset) operation, or asynchronous (asynchronous) three or synchronously set or reset or asynchronously set or reset operation subsequent to the reset operation (disable) enables operation in the input probe to any prototyping board or any of the one or more semiconductor chips mounted on a logic emulator (FPGA chip or chip CPLD or ASIC chip or chip SOC) can be achieved.

도3 은 에뮬레이션과 시뮬레이션을 이용한 복합 검증 환경을 독자(stand-alone) 모드로 구성한 일 예를 개략적으로 도시한 것이다. Figure 3 schematically shows an example in which the composite verification environment using emulation and simulation by the reader (stand-alone) mode.

도4 는 한꺼번에 시뮬레이션을 수행하는 것에 문제가 있는 설계검증 대상회로를 부분회로들로 분할한 모습의 일 예를 개략적으로 도시한 것이다. Figure 4 is a schematic illustration of an example of a shape dividing a target circuit design verification, which is a problem at the same time performing a simulation with a circuit part.

도5 는 도4 의 분할된 각 부분회로들에 IOP-입출력 탐침용 부가회로를 부가하여 iPOD 방법을 이용한 에뮬레이션과 시뮬레이션 혼용 검증 시에 시뮬레이션을 각 부분회로별로 가능하도록 한 상황의 일 예를 개략적으로 도시한 것이다. Figure 5 is a schematic of an example of a situation to be simulated at the time of addition of each of the divided portions IOP- the circuit portion for input and output probes circuit emulation and simulation method using an iPOD mixed verification of Figure 4 for each partial circuit shows.

도6 은 도4 의 분할된 각 부분회로들에 IOP-출력탐침용 부가회로를 부가하여 일반적인 에뮬레이션과 시뮬레이션 혼용 검증 시에 시뮬레이션을 각 부분회로별로 가능하도록 한 상황의 일 예를 개략적으로 도시한 것이다. Figure 6 schematically illustrates an example of the addition to the divided parts to the circuit portion for IOP- probe output circuit in the simulation at the time of general emulation and simulation mixed verifiable by each part circuit situation of Figure 4 .

도7 은 설계검증 대상회로의 부분회로들에 IOP-출력탐침용 부가회로를 부가하여 에뮬레이션과 시뮬레이션 혼용 검증 시에 에뮬레이션을 통하여 시뮬레이션을 위한 테스트벤치를 자동적으로 생성할 수 있도록 한 상황의 일 예를 개략적으로 도시한 것이다. Figure 7 is an example of a situation to be able to generate automatically a test bench for a simulation via the emulation when the emulation and simulation mixed verified by adding additional circuitry for IOP- output probe into the partial circuit of the circuit design verification schematically shown.

도 8 은 회로 내부에 존재하는 임의의 신호선들에 대한 IOP-출력탐침용 부가회로를 부가한 상황의 일 예를 개략적으로 도시한 것이다. 8 shows an example of a circuit for adding additional IOP- output probes for any of the signal lines present in the internal circuit situation schematically.

도 5, 도 6, 도 7, 도 8에서 도시된 것과 같이 설계검증 대상회로의 부분회로 또는 설계검증 대상HDL코드의 부분HDL코드에 대한 에뮬레이션에 이은 시뮬레이션을 위한 테스트벤치를 위한 입력시퀀스의 저장은 FPGA를 사용하여서 상기 설계검증 대상회로 또는 설계검증 대상HDL코드를 구현한 경우에는 FPGA 내의 온-칩 메모리(예로 Xilinx FPGA의 Distributed RAM 또는 BlockRAM, Altera FPGA의 Embedded Array Block 등)를 이용하여서 상기 FPGA가 인-서킷 환경에서 고속으로 동작하는 경우에 실시간으로 이루어지게 된다. 5, 6, 7, the storage of the input sequence for a test bench for the simulation following the emulation of a portion HDL code for design verification target circuit portion circuit or design verification target HDL code as shown in Figure 8 is If the hayeoseo using the FPGA the design verification target circuit or design implementation for the validation object HDL code on in the FPGA - the said FPGA hayeoseo using the chip memory (e.g. Distributed RAM or BlockRAM, Embedded Array Block of Altera FPGA of Xilinx FPGA, etc.) in-will be written in real time when a high-speed operation in the circuit environment.

상술한 바와 같이, 본 발명에 따른 디버깅 장치 및 이를 이용한 디버깅 방법은 본 발명의 목적은 초대규모급 설계 검증을 위한 하드웨어적으로 구현된 대규모 디지털 시스템의 에뮬레이션과 시뮬레이션을 혼용하는 설계검증에서 설계검증 대상회로의 규모가 시뮬레이션의 한계를 넘어가는 경우에도 상기 에뮬레이션과 시뮬레이션을 혼용한 설계검증 방법을 적용 가능하게 하는 디버깅 장치 및 이를 이용한 매우 효율적이며 강력한 디버깅 방법을 높은 가시도(소스코드 수준의 레지스터전송수준 가시도 또는 게이트수준 가시도) 제공을 통하여 가능하게 된다. , Debugging method using the debugging unit and in accordance with the present invention as described above, an object of the present invention is the design verification target in the design verification to mix the emulation and simulation of a larger digital system, implemented in hardware for very large class design verification visible in size of the circuit high a very efficient and powerful debugging method, even if beyond the limit of the simulations using the debugging unit, and this to enable applying the mix design verification method for the emulation and simulation also (register transfer level of the source code level, is possible through the road or the gate level of visibility) it provides visible. 뿐만 아니라, 인-서킷 환경 에서 상기 에뮬레이션과 시뮬레이션을 혼용하기 위하여 시뮬레이션 과정에서 필요한 주변 타겟 하드웨어 환경의 모델링을 자동화된 방법으로 신속·정확하게 제공하게 된다. In addition, in-circuit quickly in the environment in a manner the automated modeling of the peripheral target hardware environment needed during the simulation in order to mix the emulation and simulation, thereby providing accurate.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. Those skilled in the art what is described above will be appreciated that various changes and modifications within the range which does not depart from the spirit of the present invention are possible. 따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정하여져야만 한다. Accordingly, the technical scope of the present invention is not limited to the contents described in the embodiment will be perfected appointed by the claims.

Claims (23)

  1. 임의의 컴퓨터에서 실행되는 입출력탐침 시스템 수단(혹은 모듈)과, 상기의 임의의 컴퓨터와 1이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)이 장착된 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터를 연결하는 수단을 구비하는 디버깅 장치에 있어서, Input-output running on any computer-probe system unit (or module) and, of the arbitrary computer with at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) equipped with any prototyping board or any in the debugging, and means for connecting the logic emulator,
    상기 입출력탐침 시스템 수단(혹은 모듈)은 임의의 프로토타이핑 보드나 임의의 로직에뮬레이터 상에 장착된 1이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현되는 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드를 위한 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 생성하고 설계검증 대상회로 또는 설계검증 대상HDL코드에 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 부가하여서 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 1이상의 특정 신호선들에 대하여 출력탐침이 가능하게 하고, The input and output probe system unit (or module) is a design verification target circuit or design to be implemented in any of the prototype board or any of the one or more semiconductor chips mounted on a logic emulator (FPGA chip or CPLD chip or ASIC chip or SOC chip) generating a validation code for the target portion HDL IOP- probe or IOP- adding circuit for the probe for at least one part of the circuit or part of HDL code in the HDL code and verifying the circuit design or circuit design verification target portion or probe into the HDL code for IOP- hayeoseo adding additional HDL code for IOP- probe design enables the output probe with respect to the one or more specific signal present in the circuit verification, or HDL design verification object code,
    출력탐침과 더불어서 입력탐침도 필요한 경우에는 상기 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 전부 또는 일부의 메모리 소자와 메모리들에 대한 입력탐침도 가능하게 하여서, If, along with the output probe need also enter the probe has hayeoseo enable input also probe for all or part of the memory element and the memory resident on the design verification or the circuit design verification target HDL code,
    상기 1이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 출력탐침 또는 입출력탐침이 가능한 설계검증 대상회로 또는 설계검증 대상HDL코드가 구현되는 것을 가능하게 하고, 상기 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 활용한 출력탐침 또는 입출력 탐침을 수행할 수 있는 디버깅 장치. Enables that the at least one semiconductor chip (FPGA chip or chip CPLD or ASIC chip or chip SOC) probe output or input-output probe design validation or the circuit design verification target in HDL code is implemented and, for the additional probes IOP- circuit or probe IOP- additional debugging apparatus which can perform a probe output or input-output probe utilizing the HDL code for.
  2. 임의의 프로토타이핑 보드나 임의의 로직 에뮬레이터 상에 장착된 1이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현되는 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드를 위한 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 생성하고, Any prototyping board or any of the logic mounted on the emulator, at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) design verification target circuit or design verification target HDL one or more portions of the circuit or in the code embodied in the generating additional HDL code for IOP- probe or IOP- adding circuit for the probe for the portion of HDL code,
    설계검증 대상회로 또는 설계검증 대상HDL코드에 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 부가하여서 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 1이상의 특정 신호선들에 대하여 출력탐침이 가능하게 하고, Output probe with respect to the circuit design verification, or HDL design verification target code IOP- to probe for additional circuitry or IOP- probe addition at least one specific signal line for adding the HDL code hayeoseo present in the circuit design verification, or HDL design verification target code for this makes it possible,
    출력탐침과 더불어서 입력탐침도 필요한 경우에는 설계검증 대상회로 또는 설계검증 대상HDL코드에 존재하는 전부 또는 일부의 메모리 소자와 메모리들에 대한 입력탐침도 가능하게 하여서, If, along with the output probe need also enter the probe has hayeoseo enable input also probe for all or part of the memory element and the memory present in the circuit design verification, or HDL design verification destination code,
    상기 1이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 출력탐침 또는 입출력탐침이 가능한 설계검증 대상회로 또는 설계검증 대상HDL코드가 구현되는 것을 가능하게 하고, 상기 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 활용한 출력탐침 또는 입출력 탐침을 수행하는 단계를 포함하는 검증 방법. Enables that the at least one semiconductor chip (FPGA chip or chip CPLD or ASIC chip or chip SOC) probe output or input-output probe design validation or the circuit design verification target in HDL code is implemented and, for the additional probes IOP- circuit or probe IOP- additional verification method includes performing the output or input-output probe probe utilizing the HDL code for.
  3. 설계검증 대상회로 또는 설계검증 대상HDL코드를 시뮬레이션이 가능한 적당한 크기의 2이상의 부분회로들 또는 부분HDL코드들로 분할하여 상기 나누어진 1이상의 부분회로 또는 부분HDL코드에 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드를 부가하여 해당 1이상의 부분회로 또는 부분HDL코드의 모든 단방향 입력과 모든 양방향 입출력 신호선들을 출력탐침이 가능하고, 동시에 상기 1이상의 부분회로 또는 부분HDL코드의 상태정보도 출력탐침이 가능한 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드를 생성하고, Verifying the circuit design or design verification target HDL code for simulation is divided into suitable size possible two or more part circuits or part of the HDL code into binary add-on part IOP- probe circuit or part of HDL code or at least one circuit IOP - probe portion also outputs probe all one-way type and the status information of all the two-way the output signal line output probe is possible, and at the same time the one or more partial circuit or part of HDL code for that in addition to the HDL code one or more part circuits or part of HDL code for generate capable of extended design verification target circuit or extension design verification target HDL code,
    상기 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드가 구현된 1이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)이 장착된 임의의 프로토타이핑 보드나 임의의 로직 에뮬레이터를 인-서킷 에뮬레이션 방식으로 동작시키고, Of the extension designed verify the circuit or the design verification target HDL code is implemented expansion least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) equipped with any prototype boards or a random logic emulator - to operate the circuit emulation method,
    이와 같은 동작 전 과정에서의 하나의 특정 시점에서 출력탐침을 통하여 수집된 상기 1이상의 부분회로 또는 부분HDL코드의 상태정보를 시뮬레이션의 초기상태로 활용하고 상기 인-서킷 에뮬레이션 동작 전체 과정의 일정한 시간구간 동안에서 출력탐침을 통하여 수집된 상기 1이상의 부분회로 또는 부분HDL코드의 모든 단방향 입력들과 모든 양방향 입출력 신호들의 값들로 구성되는 입력시퀀스를 시뮬레이션의 테스트벤치에 활용하는 임의의 시뮬레이터 상에서의 시뮬레이션을 수행하여서 상기 1이상의 부분회로 또는 부분HDL코드에 대한 가시도를 확보하는 단계가 포함된 검증 방법. The use of a status information of the at least one portion of the circuit or part of HDL code collected through the output probe from a point in time in the same operation before the process to the initial state of a simulation, and the in-fixed time intervals of the overall process circuit emulation operation performing a simulation on random simulator utilizing all of said at least one portion of the circuit or part of HDL code collected through the output probe, a one-way input and the input sequence consisting of the values ​​of all the two-way input and output signals to the test bench of the simulation in for hayeoseo proven method includes the step of securing the visibility of the circuit over the first portion or part of HDL code.
  4. 설계검증 대상회로 또는 설계검증 대상HDL코드에 대하여 에뮬레이션/시뮬레이션을 혼합하여 검증하는 방법으로서, A method for verifying a mixture of emulated / simulated with respect to the circuit design verification, or HDL design verification destination code,
    상기 시뮬레이션은 상기 설계검증 대상회로 또는 설계검증 대상HDL코드가 구현된 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)이 장착된 임의의 프로토타이핑 보드 또는 임의의 로직에뮬레이터를 인-서킷 에뮬레이션 방식으로 실행한 결과를 이용하는 에뮬레이션을 이용한 시뮬레이션이며, The simulation of the random prototyping board or any logic emulator is the design verification target circuit or design verification target HDL code is implemented at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) mounted - a simulation using the emulation using the results of running a circuit emulation scheme,
    상기 시뮬레이션 대상이 되는 설계검증 대상회로 또는 설계검증 대상HDL코드의 부분회로 또는 부분HDL코드의 시뮬레이션 초기상태와 시뮬레이션 테스트벤치를 위한 정보를 임의의 프로토타이핑 보드 또는 임의의 로직에뮬레이터를 인-서킷 에뮬레이션 방식으로 실행 도중에 동적으로 자동 수집하고, The simulated target design verification target circuit or design verification target HDL code part circuit or part information for simulating initial state and simulation test bench HDL code for any of the prototype is the board or in any of the logic emulator-circuit emulation method a dynamic and automatically collected during the run,
    상기 인-서킷 에뮬레이션 방식으로 실행 도중에 동적으로 수집된 정보에서 얻어지는 시뮬레이션 초기상태와 테스트벤치를 이용한 시뮬레이션을 통하여 상기 설계검증 대상회로 또는 설계검증 대상HDL코드의 부분회로 또는 부분HDL코드 내에 존재하는 신호선들에 대한 가시도를 확보하는 에뮬레이션에 이은 시뮬레이션 과정을 포함하거나, 또는 이와 같은 시뮬레이션을 위한 에뮬레이션 과정을 포함하는 검증 방법. The signal present in the design verification target circuit or design verification target HDL code portion circuit or part HDL code through simulation simulation using the initial and the test bench is obtained from the dynamic collection of information at runtime a circuit emulation scheme wherein the verification method including the emulation process of the simulation process including following the emulation to secure the visibility of, or such a simulation for.
  5. 설계검증 대상회로 또는 설계검증 대상HDL코드에 대하여 에뮬레이션/시뮬레이션을 혼합하여 검증하는 방법으로서, A method for verifying a mixture of emulated / simulated with respect to the circuit design verification, or HDL design verification destination code,
    상기 시뮬레이션은 상기 설계검증 대상회로 또는 설계검증 대상HDL코드가 구현된 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)이 장착된 임의의 프로토타이핑 보드 또는 임의의 로직에뮬레이터를 인-서킷 에뮬레이션 방식으로 실행한 결과를 이용하는 에뮬레이션을 이용한 시뮬레이션이며, The simulation of the random prototyping board or any logic emulator is the design verification target circuit or design verification target HDL code is implemented at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) mounted - a simulation using the emulation using the results of running a circuit emulation scheme,
    상기 시뮬레이션 대상이 되는 설계검증 대상회로 또는 설계검증 대상HDL코드의 부분회로 또는 부분HDL코드의 시뮬레이션 테스트벤치를 구성하는데 필요한 정보를 임의의 프로토타이핑 보드 또는 임의의 로직에뮬레이터를 인-서킷 에뮬레이션 방식으로 실행 도중에 동적으로 자동 수집하고, Executing a circuit emulation scheme - the information necessary to configure a simulation test bench design verification target circuit or design verification target HDL code portion circuit or part of HDL code in which the simulated target any prototyping board or an arbitrary logic emulator during and dynamic collected automatically,
    상기 인-서킷 에뮬레이션 방식으로 실행 도중에 동적으로 수집된 정보에서 만들어진 시뮬레이션 테스트벤치를 이용한 시뮬레이션을 통하여 상기 설계검증 대상회로 또는 설계검증 대상HDL코드의 부분회로 또는 부분HDL코드 내에 존재하는 신호선들에 대한 가시도를 확보하는 에뮬레이션에 이은 시뮬레이션 과정을 포함하거나, 또는 이와 같은 시뮬레이션을 위한 에뮬레이션 과정을 포함하는 검증 방법. Visible for the signal lines present in the circuit emulation method to run during through simulation using a simulation test bench designed in a dynamically collecting information about the design verification target circuit or design verification target HDL code portion circuit or part of HDL code of said the including the simulation process, following the emulation to secure or even, or probe comprises an emulation process for this simulation.
  6. 설계검증 대상회로 또는 설계검증 대상HDL코드의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션 방법에서, In the circuit design verification or design verification target simulation method for at least one part of the circuit or part of the HDL code HDL code,
    상기 시뮬레이션 방법이 상기 설계검증 대상회로에 IOP-탐침용 부가회로가 부가되는 확장된 설계검증 대상회로 또는 설계검증 대상HDL코드에 IOP-탐침용 부가HDL코드가 부가되는 확장된 설계검증 대상HDL코드를 구현한 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)을 장착한 임의의 프로토타이핑 보드 또는 임의의 로직 에뮬레이터를 이용하는 인-서킷 에뮬레이션 방법에서 상기 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 대한 출력탐침을 수행함으로서 상기 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)이 장착된 임의의 프로토타이핑 보드나 임의의 로직 에뮬레이터로 수행되는 인-서킷 에뮬레이션 과정에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부 The simulation method is a design verification target HDL code extension is the design verification target circuit IOP- probe adding circuit is added extended design verification target circuit design or added for verification target probe IOP- the HDL code HDL code for the additional implementation of at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip), a random prototyping board or the use of any logic emulator equipped to - in the circuit emulation method over the first semiconductor chip (FPGA chip or a CPLD is performed at a chip or ASIC chip or SOC chip) by for performing the output probe to said at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip), any prototype boards or a random logic emulator equipped - the said design in the collection circuit emulation verification process or the circuit design verification target one or more parts or circuit parts in the HDL code 분HDL코드의 완전 상태정보 또는 부분 상태정보를 활용한 시뮬레이션이며, Minutes, with a simulation utilizing the full state information or state information part of HDL code,
    이와 같은 임의의 시뮬레이터를 통한 시뮬레이션을 수행하여 상기 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드에 대한 검증을 수행하는 것을 특징으로 하는 시뮬레이션 방법. Characterized in that this way to perform the same simulation with random simulator by performing the verification of the design verification target circuit or design verification target HDL code implementation to the at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) simulation method according to.
  7. 설계검증 대상회로 또는 설계검증 대상HDL코드의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션 방법에서, In the circuit design verification or design verification target simulation method for at least one part of the circuit or part of the HDL code HDL code,
    상기 시뮬레이션 방법이 상기 설계검증 대상회로 또는 설계검증 대상HDL코드를 구현한 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)을 장착한 임의의 프로토타이핑 보드 또는 임의의 로직 에뮬레이터를 이용하는 인-서킷 에뮬레이션 방법에서 상기 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 대한 출력탐침을 수행함으로서 상기 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)이 장착된 임의의 프로토타이핑 보드나 임의의 로직 에뮬레이터로 수행되는 인-서킷 에뮬레이션 과정에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드의 특정 시점에서의 완전 상태정보 또는 부분 상태정보와 일정한 시간구간에서의 입력시퀀스를 활용한 시뮬레이션이 The simulation method using random prototyping board or any logic emulator equipped to the design verification target circuit or design verification target one or more first implements the HDL code semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) in-in circuit emulation method over the first semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip), the one or more semiconductor chips by performing the output probe for (FPGA chip or CPLD chip or ASIC chip or SOC chip) is full state at a point in time of the circuit emulation process of the design verification target circuit or design verification target HDL 1 or more part circuits or part of HDL code in the code acquisition in-in is performed in any of the prototype boards or a random logic emulator equipped one advantage of the input sequence in the information or part of the state information with a certain time interval simulation , ,
    이와 같은 임의의 시뮬레이터를 통한 시뮬레이션을 수행하여 상기 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드에 대한 검증을 수행하는 것을 특징으로 하는 시뮬레이션 방법. Characterized in that this way to perform the same simulation with random simulator by performing the verification of the design verification target circuit or design verification target HDL code implementation to the at least one semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) simulation method according to.
  8. IOP-탐침용 부가회로 기반 또는 IOP-탐침용 부가HDL코드 기반의 출력탐침 또는 입출력탐침을 통해서 임의의 프로토타이핑 보드 또는 임의의 로직 에뮬레이터가 인-서킷 에뮬레이션 방식으로 실행되는 과정 중 하나의 특정시점에서 수집된 설계검증 대상회로 또는 설계검증 대상HDL코드의 상태정보, 또는 하나의 특정시점에서 수집된 상태정보와 일정한 시간구간 동안에서 수집된 입력시퀀스를 이용하는 임의의 시뮬레이터에 의한 시뮬레이션이 가능하도록 IOP-탐침용 부가회로 또는 IOP-탐침용 부가HDL코드 기반의 탐침을 수행하는 단계를 포함하는 인-서킷 에뮬레이션 방법. IOP- probe portion for adding circuit-based or code-based HDL IOP- probe for the probe or output through the input and output probes any prototyping board or any of the logic emulator from a particular point in time of the processing executed in the circuit emulation method collected the circuit design verification, or HDL design verification destination code of the status information, or a IOP- probe to enable the simulation by the simulator that is a random input sequence collected in a given time interval and the status information collected at a point in time which comprises the step of adding additional circuitry or performing a probe-based HDL code for IOP- probes for in-circuit emulation method.
  9. 설계검증 대상회로에 IOP-탐침용 부가회로가 부가되거나 또는 설계검증 대상HDL코드에 IOP-탐침용 부가HDL코드가 부가된 확장된 설계검증 대상회로 또는 확장된 설계검증 대상HDL코드를 구현한 1 이상의 반도체 칩(FPGA 칩 또는 CPLD 칩 또는 ASIC 칩 또는 SOC 칩)을 장착한 임의의 프로토타이핑 보드 또는 임의의 로직 에뮬레이터를 이용하는 인-서킷 에뮬레이션 과정에서 수집된 상태정보로부터 생성한 시뮬레이션의 초기상태와 상기 인-서킷 에뮬레이션 과정에서 일정한 시간구간에서의 검증실행에서 동적으로 수집된 입력시퀀스로부터 생성한 테스트벤치를 활용하여서, 상기 설계검증 대상회로의 부분회로 또는 설계검증 대상HDL코드의 부분HDL코드에 대한 임의의 시뮬레이터를 이용한 시뮬레이션을 가능하게 하여서 상기 시뮬레이션 대상이 된 설계검증 대상 Design verification target add-on circuit IOP- probe circuit is added or design verification target portion HDL code is added extension designed verify the circuit design verification or extended target one or more first implements the HDL code for IOP- probe in HDL code the use of any prototyping board or any logic emulator equipped with a semiconductor chip (FPGA chip or CPLD chip or ASIC chip or SOC chip) - the initial state of the generated from the state information collected by the circuit emulation process simulation and the person - hayeoseo utilizing a test bench generated from the dynamic input sequences collected in the verification execution at some time in the circuit emulation process interval, the design verification target circuit portion circuit or design verification target any of the part of HDL code of the HDL code hayeoseo enables the simulation using the simulator, the simulation is the target design verification target 회로의 부분회로 또는 설계검증 대상HDL코드의 부분HDL코드에 대한 상기 일정 검증실행 구간에서의 100% 가시도 확보를 가능하게 하는 에뮬레이션에 이은 시뮬레이션 과정, 또는 이와 같은 시뮬레이션을 위한 에뮬레이션 과정을 포함하는 검증 방법. Verification comprises an emulation process for 100% visibility simulation process following the emulation to enable secure, or such a simulation at the predetermined verification execution interval for a part of HDL code of the part circuit or design verification of circuit target HDL code Way.
  10. 제 3 항 또는 제 4 항 또는 제 5 항 또는 제 9 항 중 어느 한 항에 있어서, 4. The method of claim 3 or 4 or 5 or any one of items 9,
    상기 임의의 프로토타이핑 보드 또는 임의의 로직에뮬레이터에서 사용된 1 이상의 반도체 칩이 1 이상의 FPGA이고 설계검증 대상회로 또는 설계검증 대상HDL코드 전체가 상기 1 이상의 FPGA에 구현되거나 또는 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드가 상기 1 이상의 FPGA에 구현되며, The random prototyping board or one or more of a semiconductor chip is more than one FPGA design verification target circuit or design verification target HDL code entirety or implemented in FPGA or more of the one or design verification target circuit or design verification use in a logic emulator the target HDL one or more parts or circuit parts HDL code in the code is implemented in the FPGA or more of the first,
    상기 테스트벤치에 활용되는 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 상기 1 이상의 부분회로 또는 부분HDL코드의 입력시퀀스의 저장을 상기 1 이상의 FPGA 내의 온-칩 메모리를 사용하여서 저장하는 단계를 포함하는 검증 방법. Storage of the input sequence of design verification target circuit or design verification target HDL said at least one portion of the circuit or part of HDL code in the code that is used in the test bench on in the said at least one FPGA - storing hayeoseo using chip memory how to verify.
  11. 제 3 항 또는 제 9 항에 있어서, 4. The method of claim 3 or 9,
    상기 일정한 시간구간을 (t1, t2)로 표시하는 경우에, In order to display the constant time interval by (t1, t2),
    상기 인-서킷 에뮬레이션의 실행 과정 중에서 상기 일정한 시간구간 (t1, t2) 동안에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드의 입력시퀀스를 상기 임의의 시뮬레이터 상에서의 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션에서 테스트벤치에 활용하고, 상기 인-서킷 에뮬레이션 실행 과정 중에서 상기 일정한 시간구간 (t1, t2)에서의 특정시점 t1에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드의 상태정보를 상기 임의의 시뮬레이터 상에서의 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션에서 초기상태 The in-circuit a certain time period, the in execution of emulation (t1, t2) of the design verification target circuit or design verification target HDL any simulator wherein an input sequence of at least one part of the circuit or part of HDL code in the code acquisition in for in certain time intervals (t1, t2) the in circuit emulation execution - the design verification target circuit or design verification target used in a test bench in the simulation for the at least one portion of the circuit or part of HDL code in the HDL code, and wherein the on the collected at a point in time t1 the design verification target circuit or design verification target HDL 1 in the design verification target circuit or design verification target HDL code on any simulator the status information of at least one part of the circuit or part of HDL code in the code initial conditions in the simulation for the at least part of the circuit or part of HDL code 활용하는 것을 특징으로 하는 검증 방법. Verification method according to claim to utilize.
  12. 인-서킷 에뮬레이션 환경에서 동작하는 임의의 프로토타이핑 보드 또는 임의의 로직에뮬레이터에 장착된 1 이상의 반도체 칩에 구현된 설계검증 대상회로 또는 설계검증 대상HDL코드에 대하여, With respect to the design verification or the circuit designs implemented on one or more semiconductor chips mounted on any prototyping board or any logic emulator running on the circuit emulation environment verified HDL destination code, - a
    상기 설계검증 대상회로 또는 설계검증 대상HDL코드를 2 이상의 부분회로들 또는 부분HDL코드들로 나누어서 이들 2 이상의 부분회로들 또는 부분HDL코드들의 1 이상의 부분회로 또는 부분HDL코드의 모든 입력들과 모든 입출력들에 대한 일정한 시간구간 동안의 출력탐침, 또는 1 이상의 부분회로 또는 부분HDL코드의 모든 입력들과 모든 입출력들에 대한 일정한 시간구간 동안의 출력탐침과 상기 1 이상의 부분회로 또는 부분HDL코드의 상태정보에 대한 하나의 특정시점 또는 두개의 특정시점들 또는 세개 이상의 특정시점들에서의 출력탐침을 가능하게 하는 부가회로 또는 부가HDL코드를 상기 설계검증 대상회로 또는 설계검증 대상HDL코드와 함께 상기 1 이상의 반도체 칩에 구현함으로서, In the design verification target circuit or design verification target HDL code for two or more part circuits or portions divided by the HDL code, these two or more part circuits or any type of part HDL 1 or more part circuits or part of HDL code of the code and all input and output in regular time intervals the output probe, or one or more portions of the circuit or part of HDL code all the input and output probes and the status information of the at least one portion of the circuit or part of HDL code for a given time interval for all of the inputs and outputs for about one point in time or both at a specific time, or portion, which enables the output of probes in three or more point-in-time circuit or in addition to the one or more with the design verification target circuit or design verification target HDL code HDL code semiconductor for by implementing a chip,
    상기 인-서킷 에뮬레이션 실행 과정에서 출력탐침을 통하여 얻어지는 설계검증 대상회로 또는 설계검증 대상HDL코드 전체의 상기 1 이상의 부분회로 또는 부분HDL코드에 대한 입력 시퀀스, 또는 설계검증 대상회로 또는 설계검증 대상HDL코드 전체의 상기 1 이상의 부분회로 또는 부분HDL코드에 대한 입력 시퀀스와 설계검증 대상회로 또는 설계검증 대상HDL코드 전체의 상기 1 이상의 부분회로 또는 부분HDL코드의 상태정보를 이용하여 설계검증 대상회로 또는 설계검증 대상HDL코드 전체의 상기 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션을 임의의 시뮬레이터로 수행하는 단계를 포함하는 검증 방법. The in-circuit emulation execution design verification target circuit or design verification target HDL code for the whole of the at least one portion of the circuit or part of the input sequence for the HDL code or design verification target circuit or design verification target HDL code obtained through the output probe from the input sequence and design verification target circuit or design design verification verifying the circuit or designed using the state information of the subject HDL code for the whole of the at least one portion of the circuit or part of HDL code for the whole of the at least one portion of the circuit or part of HDL code verification method for the simulation of the target HDL code the one or more portions of the total circuit or part of HDL code includes performing of any simulator.
  13. 제 12 항에 있어서, 13. The method of claim 12,
    상기 1 이상의 반도체 칩이 FPGA이며, 상기 입력 시퀀스를 얻기 위하여서 FPGA 내의 온-칩 메모리를 사용하여서 상기 입력 시퀀스를 FPGA 내에 일시적으로 저장하는 것을 특징으로 하는 검증 방법. And said at least one semiconductor chip FPGA, one in the FPGA In order to obtain the input sequence using the chip memory hayeoseo verified characterized in that for temporarily storing the input sequence within the FPGA.
  14. 제 7 항에 있어서, The method of claim 7,
    상기 일정한 시간구간을 (t1, t2)로 표시하는 경우에, In order to display the constant time interval by (t1, t2),
    상기 인-서킷 에뮬레이션의 실행 과정 중에서 상기 일정한 시간구간 (t1, t2) 동안에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드의 입력시퀀스를 상기 임의의 시뮬레이터 상에서의 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션에서 테스트벤치에 활용하고, 상기 인-서킷 에뮬레이션 실행 과정 중에서 상기 일정한 시간구간 (t1, t2)에서의 특정시점 t1에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드의 상태정보를 상기 임의의 시뮬레이터 상에서의 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션에서 초기상태 The in-circuit a certain time period, the in execution of emulation (t1, t2) of the design verification target circuit or design verification target HDL any simulator wherein an input sequence of at least one part of the circuit or part of HDL code in the code acquisition in for in certain time intervals (t1, t2) the in circuit emulation execution - the design verification target circuit or design verification target used in a test bench in the simulation for the at least one portion of the circuit or part of HDL code in the HDL code, and wherein the on the collected at a point in time t1 the design verification target circuit or design verification target HDL 1 in the design verification target circuit or design verification target HDL code on any simulator the status information of at least one part of the circuit or part of HDL code in the code initial conditions in the simulation for the at least part of the circuit or part of HDL code 활용하는 것을 특징으로 하는 시뮬레이션 방법 Simulation method which comprises utilizing
  15. 제 8 항에 있어서, The method of claim 8,
    상기 일정한 시간구간을 (t1, t2)로 표시하는 경우에, In order to display the constant time interval by (t1, t2),
    상기 인-서킷 에뮬레이션의 실행 과정 중에서 상기 일정한 시간구간 (t1, t2) 동안에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드의 입력시퀀스를 상기 임의의 시뮬레이터 상에서의 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션에서 테스트벤치에 활용하고, 상기 인-서킷 에뮬레이션 실행 과정 중에서 상기 일정한 시간구간 (t1, t2)에서의 특정시점 t1에서 수집된 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드의 상태정보를 상기 임의의 시뮬레이터 상에서의 상기 설계검증 대상회로 또는 설계검증 대상HDL코드 내의 1 이상의 부분회로 또는 부분HDL코드에 대한 시뮬레이션에서 초기상태 The in-circuit a certain time period, the in execution of emulation (t1, t2) of the design verification target circuit or design verification target HDL any simulator wherein an input sequence of at least one part of the circuit or part of HDL code in the code acquisition in for in certain time intervals (t1, t2) the in circuit emulation execution - the design verification target circuit or design verification target used in a test bench in the simulation for the at least one portion of the circuit or part of HDL code in the HDL code, and wherein the on the collected at a point in time t1 the design verification target circuit or design verification target HDL 1 in the design verification target circuit or design verification target HDL code on any simulator the status information of at least one part of the circuit or part of HDL code in the code initial conditions in the simulation for the at least part of the circuit or part of HDL code 활용하는 것을 특징으로 하는 인-서킷 에뮬레이션 방법. It is characterized by utilizing in-circuit emulation method.
  16. 삭제 delete
  17. 삭제 delete
  18. 삭제 delete
  19. 삭제 delete
  20. 삭제 delete
  21. 삭제 delete
  22. 삭제 delete
  23. 삭제 delete
KR1020010048417A 1999-06-26 2001-08-08 Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design KR100812938B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020000019740A KR20010006983A (en) 1999-06-26 2000-04-11 Rapid Prototyping Apparatus and Its Input/Output Probing Method, and Mixed Verification Method Using the Same
KR1020010011587 2001-02-27
KR20010011587 2001-02-27

Publications (2)

Publication Number Publication Date
KR20020069468A KR20020069468A (en) 2002-09-04
KR100812938B1 true KR100812938B1 (en) 2008-03-11

Family

ID=26637838

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020000019740A KR20010006983A (en) 1999-06-26 2000-04-11 Rapid Prototyping Apparatus and Its Input/Output Probing Method, and Mixed Verification Method Using the Same
KR1020010019104A KR20010098444A (en) 1999-06-26 2001-04-02 Input/Output Probing Method for Rapid Prototyping and Mixed Verification Method Using the Same
KR1020010048417A KR100812938B1 (en) 1999-06-26 2001-08-08 Debugging Apparatus Using Both Very Large Scaled Digital System Realized in Hardware and Simulation, and Debugging Method For Verifying Ultra Large Design

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020000019740A KR20010006983A (en) 1999-06-26 2000-04-11 Rapid Prototyping Apparatus and Its Input/Output Probing Method, and Mixed Verification Method Using the Same
KR1020010019104A KR20010098444A (en) 1999-06-26 2001-04-02 Input/Output Probing Method for Rapid Prototyping and Mixed Verification Method Using the Same

Country Status (1)

Country Link
KR (3) KR20010006983A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
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
KR101076348B1 (en) * 2008-06-11 2011-10-25 후지쯔 가부시끼가이샤 Simulation apparatus, simulation method and computer-readable recording medium on or in which simulation program recorded
US8214189B2 (en) 2008-01-08 2012-07-03 Fujitsu Limited Performance evaluation simulation
US8756557B2 (en) 2007-05-09 2014-06-17 Synopsys, Inc. Techniques for use with automated circuit design and simulations

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825811B1 (en) * 2007-02-27 2008-04-29 삼성전자주식회사 Automatic test equipment capable of high speed test

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032933A (en) * 1996-10-17 1998-07-25 레이몬드 케이. 오스트비 Design verification using emulation and simulation methods and apparatus
KR20000020291A (en) * 1998-09-19 2000-04-15 양세양 System prototyping apparatus and operation method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032933A (en) * 1996-10-17 1998-07-25 레이몬드 케이. 오스트비 Design verification using emulation and simulation methods and apparatus
KR20000020291A (en) * 1998-09-19 2000-04-15 양세양 System prototyping apparatus and operation method thereof

Cited By (11)

* Cited by examiner, † Cited by third party
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
US8392859B2 (en) 2002-08-09 2013-03-05 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
US7904859B2 (en) 2007-05-09 2011-03-08 Synopsys, Inc. Method and apparatus for determining a phase relationship between asynchronous clock signals
US7984400B2 (en) 2007-05-09 2011-07-19 Synopsys, Inc. Techniques for use with automated circuit design and simulations
US7908574B2 (en) 2007-05-09 2011-03-15 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
US8214189B2 (en) 2008-01-08 2012-07-03 Fujitsu Limited Performance evaluation simulation
KR101076348B1 (en) * 2008-06-11 2011-10-25 후지쯔 가부시끼가이샤 Simulation apparatus, simulation method and computer-readable recording medium on or in which simulation program recorded
US8249850B2 (en) 2008-06-11 2012-08-21 Fujitsu Limited Method and an apparatus for executing simulation for system performance evaluation

Also Published As

Publication number Publication date
KR20010098444A (en) 2001-11-08
KR20020069468A (en) 2002-09-04
KR20010006983A (en) 2001-01-26

Similar Documents

Publication Publication Date Title
Panda SystemC-a modeling platform supporting multiple design abstractions
Krstic et al. Delay fault testing for VLSI circuits
Rowson et al. Interface-based design
Keating et al. Reuse Methodology Manual for System-on-a-Chip Designs: For System-on-a-chip Designs
US5544067A (en) Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
US7836416B2 (en) Hardware-based HDL code coverage and design analysis
US5809283A (en) Simulator for simulating systems including mixed triggers
JP4804620B2 (en) System-on-Chip design verification method and apparatus
US7356786B2 (en) Method and user interface for debugging an electronic system
US5475624A (en) Test generation by environment emulation
EP0463301A2 (en) Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
Rashinkar et al. System-on-a-chip verification: methodology and techniques
EP1489511A2 (en) Hierarchical, Network-Based emulation System
US9262303B2 (en) Automated semiconductor design flaw detection system
CN1331079C (en) Block based design methodology
Coelho The VHDL handbook
US6823497B2 (en) Method and user interface for debugging an electronic system
US7065481B2 (en) Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US7366652B2 (en) Method of programming a co-verification system
Fallah et al. Functional vector generation for HDL models using linear programming and 3-satisfiability
Wakabayashi C-based synthesis experiences with a behavior synthesizer," Cyber"
US7480610B2 (en) Software state replay
KR100936855B1 (en) Manufacturing method and apparatus to avoid prototype-hold in asic/soc manufacturing
KR100483636B1 (en) Method and apparatus for design verification using emulation and simulation
US7089517B2 (en) Method for design validation of complex IC

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120302

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee