KR20080016081A - 에뮬레이션 시스템 - Google Patents

에뮬레이션 시스템 Download PDF

Info

Publication number
KR20080016081A
KR20080016081A KR1020060077700A KR20060077700A KR20080016081A KR 20080016081 A KR20080016081 A KR 20080016081A KR 1020060077700 A KR1020060077700 A KR 1020060077700A KR 20060077700 A KR20060077700 A KR 20060077700A KR 20080016081 A KR20080016081 A KR 20080016081A
Authority
KR
South Korea
Prior art keywords
emulation
data
computers
controller
interface device
Prior art date
Application number
KR1020060077700A
Other languages
English (en)
Other versions
KR100873956B1 (ko
Inventor
차치호
진훈상
윤재근
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060077700A priority Critical patent/KR100873956B1/ko
Priority to US11/838,017 priority patent/US8165866B2/en
Priority to JP2007213063A priority patent/JP5236908B2/ja
Publication of KR20080016081A publication Critical patent/KR20080016081A/ko
Application granted granted Critical
Publication of KR100873956B1 publication Critical patent/KR100873956B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

여기에 개시된 에뮬레이션 시스템은 컨트롤러와; 사용자회로를 포함하며 상기 사용자회로를 에뮬레이션하는 에뮬레이션 계산부; 상기 컨트롤러의 제어에 따라 상기 에뮬레이션 계산부로부터 상기 사용자회로를 에뮬레이션하여 생성한 에뮬레이션 데이터를 저장하는 에뮬레이션 저장소와; 상기 컨트롤러의 제어에 따라 복수의 컴퓨터들로 분산되도록 상기 에뮬레이션 데이터를 전송하는 인터페이스 장치를 포함한다.

Description

에뮬레이션 시스템{EMULATION SYSTEM}
도 1은 본 발명에 따른 에뮬레이션 시스템을 보여주는 블럭도이다.
도 2는 도 1에 도시된 인터페이스 장치(50)를 보여주는 블럭도이다.
도 3은 도 1에 도시된 DUT를 도시한 블럭도이다.
도 4와 도 5는 도 3에 도시된 넷 트레이서의 구성과 심벌을 보여주는 도면이다.
도 6은 도 1에 도시된 에뮬레이션 데이터의 형식을 나타내는 도면이다.
도 7은 도 1에 도시된 DUT를 세그멘트로 구분하여 나타낸 도면이다.
도 8은 도 1에 도시된 에뮬레이션 시스템의 동작 순서를 나타내는 순서도이다.
도 9는 본 발명에 따른 다른 실시예를 도시한 블럭도이다.
*도면의 주요 부분에 대한 부호의 설명*
10 : DUT 20 : 에물레이션 계산부
30 : 컨트롤러 40 : 에뮬레이션 저장소
50 : 인터페이스 장치 100 : 에뮬레이션 시스템
본 발명은 에뮬레이션 시스템(Emulation System)에 관한 것으로, 구체적으로는 에뮬레이션 데이터를 분산처리하는 에뮬레이션 시스템에 관한 것이다.
디지탈 회로의 구현을 위해서는 검증(Verification)이 필수적이다. 검증은 설계회로(Design circuit)가 정상(normal)인지 여부를 확인하는 것을 의미한다. 만약 설계회로가 정상이 아니라면 디버깅(Debugging)을 수행(performance)한다. 디버깅이란 설계회로를 정상인 상태로 수정하는 작업을 의미한다. 일반적으로 검증 방법은 소프트웨어인 시뮬레이션(Simulation)을 이용하는 방법과 하드웨어인 에뮬레이터(Emulator)를 이용하는 방법을 포함한다.
시뮬레이션을 이용하는 방법은 설계회로의 검증비용이 저렴하고, 검증방법이 간단한 장점이 있는 반면, 검증시간이 많이 소요된다는 단점이 있다. 에뮬레이터를 이용하는 방법은 검증방법이 복잡하고 검증비용이 많이 소모되지만, 검증시간이 짧다는 장점이 있다.
상업적으로 이용하는 에뮬레이션의 방법으로는 대표적으로 FPGA(Field Programmable Gate Array)를 이용하는 방법이 있다. FPGA에서는 설계회로의 검증을 위해 설계회로 내의 중요한 플립플럽(Flip-Flop)의 상태값(state value) 또는 중요한 넷(net)의 상태값을 추출할 수 있는 추가적인 회로를 필요로 한다. FPGA에 의한 설계회로 검증 방법은 추가적인 회로를 통해 추출된 상태값을 내부 메모리에 모두 저장해 두었다가 에뮬레이션이 종료되면 JTAG(Joint Test Action Group)을 이용하여 메모리에 저장된 데이터를 외부로 독출한다.
종래의 에뮬레이션 시스템에서는 에뮬레이션 수행 결과물인 많은 데이터를 컴퓨터로 전송하기 위해서는 한 개로 구성된 고속의 컴퓨터 인터페이스만을 통해 데이터를 전송하고 있다. 사용자회로(DUT:Device Under Test)(이하 "DUT"라 한다.)의 게이트 사이즈(Gate Size)가 증가할수록 디버깅에 필요한 데이터는 증가한다. 따라서, 종래의 에뮬레이션 시스템은 데이터의 양이 증가할수록 데이터 전송시간이 늘어나게 되고, 에뮬레이션 속도를 저하시키는 문제점이 있다.
따라서 본 발명의 목적은 데이터의 전송시간을 줄일 수 있는 에뮬레이션 시스템을 제공하는 데 있다.
본 발명의 또 다른 목적은 에뮬레이션의 속도를 향상시킬 수 있는 에뮬레이션 시스템을 제공하는 데 있다.
상기의 과제를 이루기 위하여 본 발명에 의한 에뮬레이션 시스템은 컨트롤러와; 사용자회로를 포함하며 상기 사용자회로를 에뮬레이션하는 에뮬레이션 계산부; 상기 컨트롤러의 제어에 따라 상기 에뮬레이션 계산부로부터 상기 사용자회로를 에뮬레이션하여 생성한 에뮬레이션 데이터를 저장하는 에뮬레이션 저장소와; 상기 컨트롤러의 제어에 따라 복수의 컴퓨터들로 분산되도록 상기 에뮬레이션 데이터를 전송하는 인터페이스 장치를 포함한다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명에 따른 에뮬레이션 시스템을 보여주는 블럭도이다. 도 1에 따르면, 에뮬레이션 시스템(100)은 DUT(10)를 포함하는 에뮬레이션 계산부(20), 컨트롤러(30), 에뮬레이션 저장소(40)와 인터페이스 장치(50)로 구성된다. 복수의 컴퓨터(300)은 에뮬레이션 수행결과 데이터를 분산하여 저장할 컴퓨터들이다. 또한 복수의 컴퓨터(300)는 DUT(10)에 해당하는 정보를 HDL(Hardware Description Language)형태로 포함한다. 따라서, 컴퓨터(300)는 에뮬레이션의 수행결과 데이터를 입력받아 디버깅(Debugging) 또는 시뮬레이션(Simulation)을 수행한다.
에뮬레이션 계산부(20)는 컨트롤러(30)의 제어에 따라 DUT(10)를 에뮬레이션하고 그 결과를 에뮬레이션 저장소(40)에 저장한다. 컨트롤러(30)는 에뮬레이션 결과를 에뮬레이션 저장소(40)에서 인터페이스 장치(50)로 전송한다. 컨트롤러(30)는 인터페이스 장치(50)에 저장된 에뮬레이션 데이터를 컴퓨터(300)에 전송한다.
도 2는 도 1에 도시된 인터페이스 장치(50)를 보여주는 블럭도이다. 도 2를 참조하면, 에뮬레이션 저장소(40)에 저장된 에뮬레이션 결과 데이터는 일시적으로 데이터 저장부(42)에 저장되고 통신부(41)를 통하여 컴퓨터(300)에 전송된다.
도 3은 도 1에 도시된 DUT를 도시한 블럭도이다. DUT는 복수의 조합회로와 복수의 플립플럽으로 구성된다. 도 3을 참조하면, DUT는 3개의 공간으로 분할되며, 분할된 공간들은 제 1 세그멘트(Seg_1), 제 2 세그멘트(Seg_2) 그리고 제 3 세그멘트(Seg_3)라 칭한다. 여기서 제 1 세그멘트(Seg_1)의 경우는 외부의 연결이 없는 경우이며, 이를 하드 세그멘트(Hard Segment)라고 정의한다. 반면, 제 2 세그멘트(Seg_2), 제 3 세그멘트(Seg_3)의 경우는 세그멘트의 경계를 넘는 신호 선(Signal)이 존재하므로 이 경우를 소프트 세그멘트(Soft Segment)라고 정의한다. 공간적 분할을 위해서 DUT는 하드 세그멘트단위로 이루어져야 한다. 따라서, 신호선에는 넷 트레이서(NT:Net Tracer)(5)를 삽입하여 소프트 세그멘트를 하드 세그멘트로 만든다.
DUT는 소프트 세그멘트에 가상 입출력을 갖는 플립플럽(이하, 가상의 플립플럽(PFF)이라 칭함)을 추가하여 하드 세그멘트만으로 구성한다. 가상의 플립플럽은 먹스드 플립플럽(Muxed Flip-Flop)을 사용한다. 가상의 플립플럽은 정상동작과 디버깅동작을 구분하는 경로를 먹스를 이용하여 형성한다. 가상의 플립플럽은 디버깅동작시에는 가상의 플립플럽의 체인을 형성하여 정상동작시에 입력된 값을 추출하는 역할을 수행한다.
도 4와 도 5는 도 3에 도시된 넷 트레이서의 구성과 심벌을 보여주는 도면이다. 도 4를 참조하면, 넷 트레이서는 DUT의 넷(즉, 플립플럽이 아닌 데이터 경로)의 상태값을 추출하는데 사용된다. 즉, 넷 트레이서는 설계회로의 넷의 상태값을 추출하거나 넷에 상태값을 수정하여 입력하거나 넷의 과거의 상태값을 입력하는데 사용된다.
예를 들면, JTAG(Joint Test Action Group)에서 TDi와 TDo를 연결하는 체인을 형성하여 디버깅 정보를 추출하는 방법과 같이 DUT내의 특정한 넷의 상태값을 추출하기 위해서 에뮬레이션 계산부(20)는 Ten 신호를 인에이블하고, 플립플럽의 상태값을 TDo를 통해서 추출한다.
DUT내의 넷의 상태값을 수정하여 입력하거나 DUT내의 넷의 과거 상태값을 입 력하기 위해서 에뮬레이션 계산부(20)는 Ten 신호를 인에이블하고, Ten_RB 신호를 1로 세팅하여 TDi를 통해 넷의 상태값을 입력하고, NDo를 통해 출력되도록 한다.
도 6은 도 1에 도시된 에뮬레이션 데이터의 형식을 나타내는 도면이다. 도 1과 도 6에 따르면, 에뮬레이션 데이터(25)는 클럭 포인트 데이터와 에뮬레이션 결과 데이터로 구성된다. 클럭 포인트 데이터는 DUT가 시간적 독립성을 가지기 위하여 클럭 주파수와 클럭 주파수의 변동을 알 수 있는 정보를 가지고 있다. 에뮬레이션 결과 데이터는 DUT가 공간적 독립성을 가지기 위하여 가상의 플립플럽(PFF)과 넷트레이서(NT)의 상태값을 저장한다.
각 컴퓨터에 저장되는 에뮬레이션 데이터(25)는 에뮬레이션 저장소(40)와 1:1로 매칭(matching)된다. 따라서, 에뮬레이션 데이터(25)에 저장소의 위치 정보는 불필요하다. 만약 2개 이상의 다른 클럭에 의해 생성되는 에뮬레이션 데이터(25)가 있다면 에뮬레이션 시스템(100)은 컴퓨터(300)로 에뮬레이션 데이터(25)를 매 싸이클마다 전송한다.
도 7은 도 1에 도시된 DUT를 세그멘트로 구분하여 나타낸 도면이다. 도 1과 도 7을 참조하면, 에뮬레이션 저장소(40)는 세그멘트 단위로 에뮬레이션 결과 데이터를 저장한다. 컴퓨터(300)는 세그멘트 단위로 에뮬레이션 결과 데이터와 클럭에 관한 정보를 저장하고 있기 때문에 각 컴퓨터에서 각 세그멘트 단위로 특정 시간에 대한 디버깅 또는 시뮬레이션이 수행 가능하다.
만약 제 1 세그멘트(Seg_1)의 에뮬레이션 결과 데이터는 제 1 컴퓨터에 저장되고, 제 2 세그멘트(Seg_2)의 에뮬레이션 결과 데이터는 제 2 컴퓨터에 저장된다 면 제 1 세그멘트(Seg_1)와 제 2 세그멘트(Seg_2)에 중첩되는 가상의 플립플럽과 넷트레이서의 상태값(1)은 제 1 컴퓨터와 제 2 컴퓨터에 각각 저장된다. 따라서, 시간적 공간적 독립성을 가지는 에뮬레이션 수행을 위해서 제 1 컴퓨터에서는 제 1 세그멘트(Seg_1)에 관하여 디버깅 및 시뮬레이션이 수행 가능하고, 제 2 컴퓨터에서는 제 2 세그멘트(Seg_2)에 관하여 디버깅 및 시뮬레이션이 수행 가능하다.
제 3 세그멘트(Seg_3)의 가상의 플립플럽의 상태값(2)을 저장하는 제 3 컴퓨터와 제 4 세그멘트(Seg_4)의 가상의 플립플럽의 상태값(2)을 저장하는 제 4 컴퓨터에 관해서는 중복되는 설명이므로 생략한다.
도 8은 도 1에 도시된 에뮬레이션 시스템의 동작 순서를 나타내는 순서도이다. 도 1과 도 8을 참조하면, S100 단계에서 컴퓨터(300)는 인터페이스 장치(50)를 통하여 에뮬레이션 저장소(40)에 DUT(10)의 입력 데이터를 전송한다. S110 단계에서는 컨트롤러(30)는 DUT(10)의 세그멘트에 해당하는 입력값을 분배한다.
S120 단계에서는 에뮬레이션 계산부(20)는 DUT(10)에 대하여 에뮬레이션을 수행한다. S130 단계에서는 에뮬레이션 계산부(20)는 컨트롤러(30)의 제어에 따라 에뮬레이션 데이터(25)를 에뮬레이션 저장소에 저장한다. S140 단계에서는 컨트롤러(30)는 에뮬레이션 저장소(40)의 에뮬레이션 데이터(25)를 인터페이스 장치(50)를 통하여 컴퓨터(300)에 전송한다.
S150 단계에서는 컨트롤러(30)는 에뮬레이션 데이터(25)를 컴퓨터(300)로 전송을 완료했는지를 판단한다. 만약 에뮬레이션 데이터가 컴퓨터로 모두 전송이 되었다면 S160 단계를 수행한다. 전송이 완료되지 않은 경우 S150 단계를 유지한다.
S160 단계에서는 컨트롤러(30)는 에뮬레이션 시스템(100)에 컴퓨터(300)로부터 새로운 입력값이 존재하는가를 판단한다. 만약 컴퓨터에서 새로운 입력값이 존재한다면 S100 단계를 수행한다. 그렇지 않은 경우 종료한다.
에뮬레이션의 결과 데이터가 DUT의 모든 플립플럽과 넷트레이서에 대한 상태값을 추출하는 경우에는 에뮬레이션의 매 싸이클마다 통상 그 데이터의 크기는 수십 kbyte ~ 수 Mbyte 정도가 된다. 따라서, 컴퓨터로 매 싸이클 마다 상태값 데이터를 전송시켜야 할 경우, 컴퓨터와의 고속 인터페이스 방식인 PCI2.0을 사용하더라도 매 싸이클당 64 비트씩 66MHz 정도의 전송 속도를 갖는다. 예를 들면, 32,000 비트의 데이터를 전송시키기 위해서는 약 60.8kHz정도의 에뮬레이션 속도를 갖는다. 그러므로, 매 싸이클마다 상태값 데이터가 컴퓨터로의 전송이 완료되어야 다음 싸이클을 시작할 수 있는 에뮬레이션 시스템의 경우에는 데이터 전송 속도가 에뮬레이션 시스템의 속도를 결정하게 된다.
에뮬레이션의 속도를 빠르게 하기 위해서 에뮬레이션의 매 싸이클마다 데이터를 전송시키지 않고 데이터를 에뮬레이터의 내부 메모리에 저장해 두었다가 나중에 한꺼번에 컴퓨터로 데이터 전송을 할 수도 있다. 그러나, 에뮬레이터의 내부 메모리의 크기가 한정되어 있기 때문에 실제 적용에 있어서는 많은 데이터를 저장할 수 없는 한계를 가진다. 따라서, 에뮬레이션의 내부 메모리를 최소화하기 위해서는 매 싸이클 내지는 수 싸이클마다 컴퓨터로의 데이터 전송이 필요하다. 그러므로, 에뮬레이션 시스템의 적은 메모리를 이용하여 효율적으로 활용하기 위해서는 에뮬레이션 저장소를 대신하여 에뮬레이션 입출력 분배기를 사용을 제안한다.
도 9는 본 발명에 따른 다른 실시예를 도시한 블럭도이다. 도 9에 따르면, 에뮬레이션 입출력 분배기(140)는 도 1에 도시된 에뮬레이션 저장소를 대체된다. 에뮬레이션 입출력 분배기(140)는 FIFO(First In First Out) 메모리와 TDM(Time Driven Module)로 구성된다.
에뮬레이션 계산부(120)에 저장된 에뮬레이션 데이터는 컨트롤러(130)의 제어에 따라 FIFO 메모리에 저장된다. FIFO 메모리에 저장된 에뮬레이션 데이터는 TDM에 의하여 인터페이스 장치(150)로 분배되어 전송된다. 인터페이스 장치(150)에 저장된 에뮬레이션 데이터는 컨트롤러(130)의 제어에 따라 컴퓨터(300)로 전송된다.
이에 대해 본 발명은, 에뮬레이션 시스템은 사용자회로를 공간적 독립성을 갖기 위하여 세그멘트 단위로 구분한다. 또한 에뮬레이션 시스템은 시간적 독립성을 갖기 위하여 에뮬레이션 데이터에 클럭에 관한 정보를 포함한다. 따라서, 에뮬레이션 시스템은 에뮬레이션 데이터를 시간적 공간적 독립성을 가지도록 구성하고, 2대 이상의 컴퓨터로 분산하여 전송한다. 그러므로 분산된 에뮬레이션 데이터를 저장한 컴퓨터는 독립적으로 디버깅 또는 시뮬레이션을 수행할 수 있을 뿐만 아니라, 에뮬레이션 시스템의 수행 속도를 향상시킬 수 있다.
또한 에뮬레이션 시스템에서 생성된 많은 데이터는 에뮬레이션 입출력 분배기를 사용함으로써 에뮬레이션 시스템 내부에 최소한의 메모리를 사용하여 외부의 컴퓨터로 전송할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정 한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의하면, 사용자회로를 시간적 공간적으로 독립하여 에뮬레이션하고 그 결과를 복수의 컴퓨터로 분산하여 전송하면 데이터의 전송시간을 줄일 수 있게 되므로 에뮬레이션 시스템의 속도를 향상시킬 수 있다. 따라서, 설계회로의 검증시간 및 디버깅 시간을 효과적으로 단축시킬 수 있게 된다.
또한 사용자회로를 포함하는 분산된 복수의 컴퓨터는 시간적 공간적으로 독립된 에뮬레이션 데이터를 저장하게 되므로 독립적으로 디버깅 및 시뮬레이션이 가능하다.

Claims (14)

  1. 컨트롤러와;
    사용자회로를 포함하며 상기 사용자회로를 에뮬레이션하는 에뮬레이션 계산부;
    상기 컨트롤러의 제어에 따라 상기 에뮬레이션 계산부로부터 상기 사용자회로를 에뮬레이션하여 생성한 에뮬레이션 데이터를 저장하는 에뮬레이션 저장소와;
    상기 컨트롤러의 제어에 따라 복수의 컴퓨터들로 분산되도록 상기 에뮬레이션 데이터를 전송하는 인터페이스 장치를 포함하는 에뮬레이션 시스템.
  2. 제 1 항에 있어서,
    상기 사용자회로는 복수의 하드 세그멘트 단위로 구분되는 에뮬레이션 시스템.
  3. 제 2 항에 있어서,
    상기 에뮬레이션 계산부는 상기 하드 세그멘트들로부터 상기 에뮬레이션 데이터를 추출하도록 구성되는 에뮬레이션 시스템.
  4. 제 2 항에 있어서,
    상기 인접한 세그멘트의 상태값이 상기 서로 다른 복수의 컴퓨터에 저장되는 경우 인접한 세그멘트의 상태값을 상기 서로 다른 복수의 컴퓨터에 각각 저장하는 에뮬레이션 시스템.
  5. 제 1 항에 있어서,
    상기 컨트롤러는 상기 복수의 컴퓨터로부터 받은 입력값을 상기 인터페이스 장치와 상기 에뮬레이션 저장부에 저장하고, 상기 저장된 입력값은 상기 에뮬레이션 계산부에 입력값을 분배하는 에뮬레이션 시스템.
  6. 제 1 항에 있어서,
    상기 에뮬레이션 계산부는 상기 사용자회로를 에뮬레이션하고, 상기 에뮬레이션 데이터를 상기 에뮬레이션 저장소에 저장하고, 상기 에뮬레이션 데이터는 상기 인터페이스 장치를 통하여 상기 컴퓨터로 전송하는 에뮬레이션 시스템.
  7. 제 1 항에 있어서,
    상기 에뮬레이션 계산부는 상기 추출된 에뮬레이션 데이터와 클럭 정보를 부가하는 에뮬레이션 시스템.
  8. 제 1 항에 있어서,
    상기 에뮬레이션 저장소는 상기 하드 세그멘트들에 각각 대응하는 복수 개의 저장소들을 포함하는 에뮬레이션 시스템.
  9. 제 1 항에 있어서,
    상기 인터페이스 장치는 상기 저장소들에 각각 대응하는 인터페이스 장치들을 포함하는 에뮬레이션 시스템.
  10. 제 1 항에 있어서,
    상기 저장소들에 저장된 에뮬레이션 데이터는 대응하는 인터페이스들을 통해 대응하는 컴퓨터들로 전송되는 에뮬레이션 시스템.
  11. 제 1 항에 있어서,
    상기 복수의 컴퓨터는 상기 에뮬레이션 데이터를 입력받아 시간적으로 독립적인 디버깅 또는 시뮬레이션을 수행하는 에뮬레이션 시스템.
  12. 제 1 항에 있어서,
    상기 복수의 컴퓨터는 상기 에뮬레이션 데이터를 입력받아 공간적으로 독립적인 디버깅 또는 시뮬레이션을 수행하는 에뮬레이션 시스템.
  13. 제 1 항에 있어서,
    상기 에뮬레이터 저장소는 에뮬레이션 입출력 분배기를 더 포함하는 에뮬레이션 시스템.
  14. 제 12 항에 있어서,
    상기 에뮬레이션 입출력 분배기는 메모리와 입출력 분배 장치를 포함하며,
    상기 메모리는 상기 에뮬레이션 데이터를 임시로 저장하고, 상기 입출력 분배 장치의 제어에 따라 상기 에뮬레이션 데이터를 상기 인터페이스 장치로 전송하는 에뮬레이션 시스템.
KR1020060077700A 2006-08-17 2006-08-17 에뮬레이션 시스템 KR100873956B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060077700A KR100873956B1 (ko) 2006-08-17 2006-08-17 에뮬레이션 시스템
US11/838,017 US8165866B2 (en) 2006-08-17 2007-08-13 Emulation system
JP2007213063A JP5236908B2 (ja) 2006-08-17 2007-08-17 エミュレーションシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060077700A KR100873956B1 (ko) 2006-08-17 2006-08-17 에뮬레이션 시스템

Publications (2)

Publication Number Publication Date
KR20080016081A true KR20080016081A (ko) 2008-02-21
KR100873956B1 KR100873956B1 (ko) 2008-12-15

Family

ID=39102465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060077700A KR100873956B1 (ko) 2006-08-17 2006-08-17 에뮬레이션 시스템

Country Status (3)

Country Link
US (1) US8165866B2 (ko)
JP (1) JP5236908B2 (ko)
KR (1) KR100873956B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101212253B1 (ko) * 2012-08-16 2012-12-13 주식회사 유니테스트 리드라이버(Redrivr)를 이용하는 DUT(Devic unde Test) 테스트 장치
CN203117963U (zh) * 2012-12-17 2013-08-07 新唐科技股份有限公司 提供图形化接脚接口的调试系统与装置
JP2013093041A (ja) * 2012-12-27 2013-05-16 Nec Corp 回路検証装置および回路検証方法
US9218011B2 (en) 2013-08-28 2015-12-22 Qualcomm Incorporated Corner-case emulation tool for thermal power testing
EP3201913A4 (en) 2014-10-01 2018-06-06 Xbrain Inc. Voice and connection platform
US9684743B2 (en) 2015-06-19 2017-06-20 Synopsys, Inc. Isolated debugging in an FPGA based emulation environment
US9922648B2 (en) * 2016-03-01 2018-03-20 Google Llc Developer voice actions system
CN116594830B (zh) * 2023-03-17 2024-03-01 芯华章科技(北京)有限公司 硬件仿真工具、调试方法和存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312369A (ja) 1997-05-14 1998-11-24 Mitsubishi Electric Corp 分散シミュレーションシステム
JPH1115797A (ja) 1997-06-26 1999-01-22 Hitachi Ltd データ転送方式
US6947882B1 (en) 1999-09-24 2005-09-20 Mentor Graphics Corporation Regionally time multiplexed emulation system
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation
US6842728B2 (en) 2001-03-12 2005-01-11 International Business Machines Corporation Time-multiplexing data between asynchronous clock domains within cycle simulation and emulation environments
US7035787B2 (en) * 2001-10-30 2006-04-25 Mentor Graphics Corporation Emulation components and system including distributed routing and configuration of emulation resources
JP3860514B2 (ja) 2002-07-19 2006-12-20 ソニー株式会社 回路解析システム及びその解析方法
KR100497384B1 (ko) 2003-01-28 2005-06-23 삼성전자주식회사 가상 머신을 이용한 분산 처리 시스템 및 분산 처리방법
US7460988B2 (en) * 2003-03-31 2008-12-02 Advantest Corporation Test emulator, test module emulator, and record medium storing program therein
JP3735636B2 (ja) * 2003-03-31 2006-01-18 株式会社アドバンテスト 試験エミュレート装置、試験モジュールエミュレート装置、及びこれらのプログラムを記録した記録媒体
US7072825B2 (en) * 2003-06-16 2006-07-04 Fortelink, Inc. Hierarchical, network-based emulation system
US7366652B2 (en) * 2003-06-16 2008-04-29 Springsoft, Inc. Method of programming a co-verification system
JP2005050267A (ja) 2003-07-31 2005-02-24 Nippon Telegraph & Telephone East Corp コンテンツ配信システム、コンテンツ配信方法及びコンテンツ配信プログラム
KR20050061268A (ko) * 2003-12-16 2005-06-22 양세양 대용량메모리와 컴파일 회피를 이용한 하드웨어기반검증의 성능 향상 장치 및 이를 이용한 설계 검증 방법
JP4025731B2 (ja) * 2004-01-26 2007-12-26 エルピーダメモリ株式会社 タイミング補正装置、タイミング補正方法及びデバイス評価装置
JP4567400B2 (ja) * 2004-08-19 2010-10-20 富士通株式会社 半導体集積回路のエミュレータ
KR20060066634A (ko) * 2004-12-13 2006-06-16 양세양 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론
JP2005285092A (ja) 2004-12-28 2005-10-13 Advantest Corp 試験エミュレート装置

Also Published As

Publication number Publication date
US20080046228A1 (en) 2008-02-21
JP5236908B2 (ja) 2013-07-17
KR100873956B1 (ko) 2008-12-15
US8165866B2 (en) 2012-04-24
JP2008047134A (ja) 2008-02-28

Similar Documents

Publication Publication Date Title
KR100873956B1 (ko) 에뮬레이션 시스템
US10521544B2 (en) Traffic shaping in networking system-on-chip verification
CN109783954B (zh) 一种ies联合fpga硬件仿真加速系统
US9495492B1 (en) Implementing synchronous triggers for waveform capture in an FPGA prototyping system
US10678976B2 (en) Generic protocol analyzer for circuit design verification
US11200149B2 (en) Waveform based reconstruction for emulation
US7424416B1 (en) Interfacing hardware emulation to distributed simulation environments
US9646120B1 (en) Method and system for trace compaction during emulation of a circuit design
US10664563B2 (en) Concurrent testbench and software driven verification
US8073672B2 (en) Managing communication bandwidth in co-verification of circuit designs
US10664637B2 (en) Testbench restoration based on capture and replay
US10546081B2 (en) Full memory logical erase for circuit verification
US8812289B1 (en) Simulation that transfers port values of a design block via a configuration block of a programmable device
KR20020069468A (ko) 초대규모급 설계 검증을 위한 하드웨어적으로 구현된대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅장치 및 이를 이용한 디버깅 방법
US10410713B1 (en) Content addressable memory modeling in emulation and prototyping
US9075639B1 (en) Systems and methods for handling interrupts during software design simulation
US20220329351A1 (en) Rollback for communication link error recovery in emulation
Tam et al. Fast configuration of PCI express technology through partial reconfiguration
Moreno Analysis and optimization of a debug post-silicon hardware architecture
WO2024049472A2 (en) Communication link latency tolerance for hardware assisted verification systems
Allara et al. Bringing constrained random into SoC SW-driven verification
Subramanian et al. FPGA prototyping of a multi-million gate system-on-chip (SoC) design for wireless USB applications
CN115298664A (zh) 用于捕获硬件仿真数据的系统和方法
Kallas Design and Development of a Base Station Emulator
CN118607431A (zh) 用于硬件仿真辅助模拟的电路的均衡细分

Legal Events

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

Payment date: 20121130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee