WO2010151072A2 - 에뮬레이터의 인터페이스 장치 및 그 방법 - Google Patents

에뮬레이터의 인터페이스 장치 및 그 방법 Download PDF

Info

Publication number
WO2010151072A2
WO2010151072A2 PCT/KR2010/004131 KR2010004131W WO2010151072A2 WO 2010151072 A2 WO2010151072 A2 WO 2010151072A2 KR 2010004131 W KR2010004131 W KR 2010004131W WO 2010151072 A2 WO2010151072 A2 WO 2010151072A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
logic
area
host computer
register array
Prior art date
Application number
PCT/KR2010/004131
Other languages
English (en)
French (fr)
Other versions
WO2010151072A3 (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 한국산업기술대학교산학협력단
Publication of WO2010151072A2 publication Critical patent/WO2010151072A2/ko
Publication of WO2010151072A3 publication Critical patent/WO2010151072A3/ko
Priority to US13/112,228 priority Critical patent/US8352239B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Definitions

  • Another object according to an embodiment of the present invention is to implement an emulator through PCI Express, to facilitate the development of a system on chip (SoC), etc., thereby reducing the verification time interface device and method of the emulator To provide.
  • SoC system on chip
  • an interface device of an emulator comprises: a connection unit for receiving data for emulating logic from a host computer and transmitting result data output from the logic to the host computer;
  • the transfer unit receives the data from the connection unit, writes the data to the first area of the register array, and reads the result data to the connection unit when the result data is stored in the second area of the register array. ;
  • At least one of the register arrays outputting a clock CLK set using the data stored in the first area to the logic, and storing the result data output from the logic in the second area. It may include an interface unit.
  • the register array in the present invention may be divided into a register of the first region and a register of the second region, and the register array may be divided into the first region and the second region by various methods.

Landscapes

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

Abstract

에뮬레이터의 인터페이스 장치 및 그 방법이 개시된다. 본 발명의 일 실시예에 따른 에뮬레이터의 인터페이스 장치는 호스트 컴퓨터로부터 로직을 에뮬레이션하기 위한, 데이터를 수신하고, 상기 로직으로부터 출력된 결과 데이터를 상기 호스트 컴퓨터로 전송하는 연결부; 상기 연결부로부터 상기 데이터를 수신하여 레지스터 어레이의 제1 영역에 저장(write)하고, 상기 레지스터 어레이의 제2 영역에 상기 결과 데이터가 저장되면 상기 결과 데이터를 읽어(read) 상기 연결부로 전달하는 전달부; 및 적어도 하나 이상의 상기 레지스터 어레이를 포함하고, 상기 제1 영역에 저장된 상기 데이터를 이용하여 설정된 클락(CLK)을 상기 로직으로 출력하며, 상기 로직으로부터 출력된 상기 결과 데이터를 상기 제2 영역에 저장하는 인터페이스부를 포함할 수 있다.

Description

에뮬레이터의 인터페이스 장치 및 그 방법
본 발명은 에뮬레이터의 인터페이스에 관한 것으로서, 보다 상세하게는 레지스터 어레이(register array)를 이용하여 로직을 에뮬레이션하기 위한 인터페이스의 복잡도를 줄이고, 인터페이스의 성능을 향상시킬 수 있으며, 나아가 PCI(Peripheral Component Interconnect) Express를 통해 호스트 컴퓨터와 통신을 수행할 수 있는 에뮬레이터의 인터페이스 장치 및 그 방법에 관한 것이다.
에뮬레이터는 어떤 하드웨어나 소프트웨어의 기능을 다른 종류의 하드웨어나 소프트웨어로 모방하여 실현시키기 위한 장치나 프로그램을 의미하는 것으로, 컴퓨터 사용 시의 여러 제약을 극복하고 호환성을 실현하는 방법의 하나로 사용된다.
이런 에뮬레이터를 이용함으로써, 개발자가 마이크로 프로세서(CPU)를 이용한 각종 전자제품의 제어기판 등을 개발하는데 있어서 개발업무를 효과적으로 수행할 수 있다.
하지만, 개발자에 의해 설계된 로직을 에뮬레이션을 위한 기존 인터페이스 장치는 메모리를 기반으로 이루어지거나 메시지 전달을 통해 이루어지는데, 메모리 기반으로 이루어진 인터페이스 장치는 별도의 메모리를 사용하기 때문에 구조가 복잡해지고 이로 인해 인터페이스 장치를 개발하는데 있어서 어려움이 따를 수 있다.
따라서, 복잡도를 줄여 인터페이스의 성능을 향상시킬 수 있는 장치의 필요성이 대두된다.
상기와 같은 문제점을 해결하기 위하여 창안된 본 발명의 실시예에 따른 목적은, 레지스터 어레이를 사용하여 인터페이스의 복잡도를 줄이고, 인터페이스 성능을 향상시킬 수 있는 에뮬레이터의 인터페이스 장치 및 그 방법을 제공하는데 있다.
본 발명의 실시예에 따른 다른 목적은, PCI Express를 통해 에뮬레이터를 구현함으로써, SoC(system on chip) 등의 개발을 편리하게 하고, 이를 통해 검증 시간을 단축시킬 수 있는 에뮬레이터의 인터페이스 장치 및 그 방법을 제공하는데 있다.
본 발명의 실시예에 따른 또 다른 목적은, 인터페이스의 복잡도를 줄여 장치의 단가를 낮출 수 있는 에뮬레이터의 인터페이스 장치 및 그 방법을 제공하는데 있다.
상기 목적을 달성하기 위한, 본 발명의 한 측면에 따른 에뮬레이터의 인터페이스 장치는 호스트 컴퓨터로부터 로직을 에뮬레이션하기 위한, 데이터를 수신하고, 상기 로직으로부터 출력된 결과 데이터를 상기 호스트 컴퓨터로 전송하는 연결부; 상기 연결부로부터 상기 데이터를 수신하여 레지스터 어레이의 제1 영역에 저장(write)하고, 상기 레지스터 어레이의 제2 영역에 상기 결과 데이터가 저장되면 상기 결과 데이터를 읽어(read) 상기 연결부로 전달하는 전달부; 및 적어도 하나 이상의 상기 레지스터 어레이를 포함하고, 상기 제1 영역에 저장된 상기 데이터를 이용하여 설정된 클락(CLK)을 상기 로직으로 출력하며, 상기 로직으로부터 출력된 상기 결과 데이터를 상기 제2 영역에 저장하는 인터페이스부를 포함할 수 있다.
이때, 상기 연결부는 상기 호스트 컴퓨터와 PCI(Peripheral Component Interconnect) Express로 연결될 수 있다.
상기 레지스터 어레이는 상기 전달부에 의해 데이터의 쓰기와 읽기 기능이 모두 수행될 수 있는 영역과 데이터의 읽기 기능만이 수행될 수 있는 영역이 구분될 수 있고, 상기 제1 영역에 저장된 데이터는 상기 클락을 설정하기 위한 주파수 및 상기 로직으로 출력되는 상기 클락의 발생 시간을 포함할 수 있다.
상기 연결부는 상기 호스트 컴퓨터와 연결된 다른 인터페이스 장치와 구별할 수 있도록, 해당 인터페이스 장치에 대한 정보를 상기 호스트 컴퓨터로 제공할 수 있다.
본 발명의 한 측면에 따른 에뮬레이터의 인터페이스 방법은 호스트 컴퓨터로부터 로직을 에뮬레이션하기 위한, 데이터를 수신하는 단계; 수신된 데이터를 레지스터 어레이의 제1 영역에 저장하는 단계; 상기 제1 영역에 저장된 데이터를 이용하여 상기 로직의 클락을 설정하고 설정된 상기 클락을 상기 로직으로 출력하는 단계; 상기 로직으로부터 결과 데이터를 수신하여 상기 레지스터 어레이의 제2 영역에 저장하는 단계; 및 상기 제2 영역에 저장된 결과 데이터를 상기 호스트 컴퓨터로 전달하는 단계를 포함할 수 있다.
도 1은 본 발명을 설명하기 위한 일 실시예 시스템을 나타낸 것이다.
도 2는 호스트 컴퓨터 상의 어플리케이션 블록도를 나타낸 것이다.
도 3은 본 발명의 일 실시예에 따른 인터페이스 장치에 대한 구성을 나타낸 것이다.
도 4는 레지스터 어레이에 대한 일 예를 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따른 에뮬레이터의 인터페이스 방법에 대한 동작 흐름도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
110: 호스트 컴퓨터
120: 사용자 로직
130: 인터페이스 장치
310: 연결부
320: 전달부
330: 인터페이스부
331: 레지스터 어레이
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.
이하에서는, 본 발명의 일 실시예에 따른 에뮬레이터의 인터페이스 장치 및 그 방법을 첨부된 도 1 내지 도 5를 참조하여 상세히 설명한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명을 설명하기 위한 일 실시예 시스템을 나타낸 것이다.
도 1을 참조하면, 시스템은 호스트 컴퓨터(110), 사용자 로직(120) 및 인터페이스 장치(130)를 포함한다.
호스트 컴퓨터(110)는 로직을 설계하고, 설계된 로직을 소정의 방식 예를 들어, JTAG(Joint Test Action Group)를 이용하여 사용자 로직(120)을 생성하며, 생성된 사용자 로직(120)을 에뮬레이션하기 위한 데이터를 생성하여 인터페이스 장치(130)로 전달하고, 인터페이스 장치(130)로부터 에뮬레이션하기 위한 데이터에 대한 결과 데이터를 수신하여 화면에 표시한다.
이때, 호스트 컴퓨터(110)와 인터페이스 장치(130)는 PCI(Peripheral Component Interconnect) Express(PCIe)를 통해 연결될 수 있는데, PCI Express에 대해 간략히 설명하면 다음과 같다.
PCI Express는 컴퓨팅 또는 통신 플랫폼과 같은 주변장치를 연결해주는 제3 세대 고성능 I/O 버스로서, 기존의 PCI가 가지고 있던 하드웨어적/소프트웨어적 인프라를 그대로 사용함으로써, 새로운 I/O로 부드럽게 전환될 수 있도록 설계되었으며, 기존에 사용되는 I/O 버스체계가 가지는 한계들을 극복할 수 있는 차세대 버스로서의 다양한 특징을 지니고 있다.
본 발명의 인터페이스 장치(130)는 이런 PCI Express를 이용한 에뮬레이션을 수행할 수 있으며, 이 뿐만 아니라 호스트 컴퓨터(110)와 인터페이스 장치(130) 간 연결될 수 있는 모든 방식이 사용될 수 있다.
또한, 호스트 컴퓨터(110)는 구비된 인터페이스 슬롯 예를 들어, PCI Express 슬롯의 개수에 따라 연결할 수 있는 인터페이스 장치의 개수가 달라질 수 있다.
즉, 호스트 컴퓨터(110)는 구비된 PCI Express 슬롯 개수에 해당하는 만큼의 사용자 로직을 각각의 인터페이스 장치를 이용하여 에뮬레이션할 수 있다.
또한, 호스트 컴퓨터(110)는 도 2에 도시된 어플리케이션 블록도에서 User application과 Testbench 그리고 design 부분(210)을 이용하여 로직을 설계/생성하고, HLD-HW Emulator 부분(220)을 통해 사용자 로직을 검증할 수 있다.
사용자 로직(120)은 호스트 컴퓨터(110)에 의해 설계된 로직이 JTAG 등과 같은 방식에 의해 다운로드된 보드를 말하고, 인터페이스 장치(130)로부터 클락이 수신되거나 필요에 따라 입력 데이터가 추가적으로 수신되면 이에 대한 결과 데이터를 인터페이스 장치(130)로 제공한다.
이때, 사용자 로직(120)은 FPGA(field programmable gate array), LPGA(laser programmable gate array) 등과 같이 설계된 로직을 다운로드할 수 있는 모든 것을 포함할 수 있다.
인터페이스 장치(130)는 호스트 컴퓨터(110)로부터 사용자 로직(120)을 에뮬레이션하기 위한, 데이터를 수신하고, 수신된 데이터를 기 구비된 적어도 하나 이상의 레지스터 어레이의 기 설정된 영역 예를 들어, 제1 영역에 저장하여 제1 영역에 저장된 데이터를 이용하여 사용자 로직(120)에 제공할 클락을 생성하며, 사용자 로직(120)으로부터 출력된 결과 데이터를 호스트 컴퓨터로 제공할 수 있도록, 레지스터 어레이의 기 설정된 영역 예를 들어, 제2 영역에 저장한다.
이때, 인터페이스 장치(130)는 호스트 컴퓨터(110)와 PCI Express로 연결될 수 있으며, 레지스터 어레이의 제1 영역은 호스트 컴퓨터(110) 측에서 읽기와 쓰기가 모두 가능할 수 있고, 레지스터 어레이의 제2 영역은 읽기만 가능할 수 있는데, 이와 같은 쓰기, 읽기 권한은 상황에 따라 달라질 수도 있다.
레지스터 어레이의 제1 영역 및 제2 영역은 레지스터 어레이를 구성하는 복수의 레지스터를 의미하는데, 예를 들어, 레지스터 어레이가 8개의 레지스터로 구성된 경우 제1 영역은 7번 내지 4번 레지스터를 포함하고, 제2 영역은 3번 내지 0번 레지스터를 포함할 수 있다.
물론, 제1 영역과 제2 영역을 레지스터 순서로 순차적으로 나눌 수도 있지만, 이에 한정하지 않고, 홀수번째 레지스터와 짝수번째 레지스터로 나눌 수도 있으며, 레지스터 어레이를 두 개의 영역으로 나눌 수 있는 모든 방식이 적용될 수 있다.
이런 인터페이스 장치에 대해 도 3을 참조하여 설명하면 다음과 같다.
도 3은 본 발명의 일 실시예에 따른 인터페이스 장치에 대한 구성을 나타낸 것이다.
도 3을 참조하면, 인터페이스 장치(130)는 연결부(310), 전달부(320) 및 인터페이스부(330)를 포함한다.
연결부(310)는 호스트 컴퓨터로부터 사용자 로직을 에뮬레이션하기 위한, 데이터를 수신하고, 사용자 로직으로부터 출력된 결과 데이터를 호스트 컴퓨터로 전송한다.
이때, 연결부(310)는 호스트 컴퓨터의 PCI Express 슬롯과 연결되어 호스트 컴퓨터로부터 사용자 로직을 에뮬레이션하기 위한, 데이터 예를 들어, 명령어, 레지스터 위치에 해당하는 주소 및 클락을 설정하기 위한 클락 설정 데이터를 수신할 수 있고, 나아가 사용자 로직의 입력으로 사용될 입력 데이터를 수신할 수도 있다.
호스트 컴퓨터로부터 수신되는 명령어는 에뮬레이션과 관련된 모든 명령어를 포함할 수 있는데, 일 예로, 에뮬레이션 시작, 읽기, 쓰기 등의 명령어를 포함할 수 있다.
또한, 연결부(310)는 호스트 컴퓨터에 복수의 인터페이스 장치가 연결될 수 있도록, 복수의 PCI Express 슬롯이 구비되어 있는 경우 호스트 컴퓨터에서 PCI Express 슬롯에 연결된 인터페이스 장치를 구분할 수 있도록, 해당 인터페이스 장치에 대한 정보를 호스트 컴퓨터로 제공할 수도 있다.
전달부(320)는 연결부(310)로부터 수신된 데이터에 따라, 수신된 데이터를 인터페이스부(330)에 구비된 레지스터 어레이(331)의 제1 영역에 저장(write)하거나 레지스터 어레이(331)의 제2 영역에 저장된 결과 데이터를 읽어와 연결부(310)를 통해 호스트 컴퓨터로 제공한다.
즉, 전달부(320)는 수신된 데이터가 사용자 로직에 클락, 나아가 입력 데이터를 제공하기 위한 데이터인 경우, 데이터를 레지스터 어레이의 제1 영역에 저장하는데, 제1 영역에 포함된 적어도 하나 이상의 레지스터에 명령어, 클락을 설정하기 위한 데이터 등을 저장할 수 있고, 수신된 데이터가 결과 데이터를 읽기 위한 데이터인 경우, 레지스터 어레이의 제2 영역에 저장된 결과 데이터를 읽어와 연결부(310)로 제공한다.
여기서, 전달부(320)는 제2 영역에 포함되는 레지스터에 저장된 결과 데이터가 호스트 컴퓨터 또는 전달부에 의해 변경될 수 있는 상황을 방지하기 위해, 제2 영역에 대해 읽기만을 수행할 수 있도록 하는 것이 바람직하고, 마찬가지로 제1 영역에 대해서는 읽기와 쓰기 모두가 가능하도록 하는 것이 바람직하다.
즉, 레지스터 어레이의 제1 영역은 인터페이스부(330)와 관련된 영역이고, 레지스터 어레이의 제2 영역은 사용자 로직과 관련된 영역이다.
인터페이스부(330)는 적어도 하나 이상의 레지스터 어레이(331)를 포함하고, 레지스터 어레이의 제1 영역에 데이터가 저장되면 저장된 데이터를 이용하여 클락을 설정하며, 설정된 클락을 사용자 로직으로 출력함으로써, 사용자 로직을 활성화시켜 사용자 로직으로부터 결과 데이터를 수신하고, 수신된 결과 데이터가 호스트 컴퓨터로 전달될 수 있도록 레지스터 어레이의 제2 영역에 저장한다.
이때, 제1 영역에 저장되는 데이터는 클락을 설정하기 위한 주파수와 설정된 클락이 사용자 로직으로 출력되는 클락 발생 시간 또는 클락 횟수를 포함할 수 있다.
예컨대, 레지스터 어레이(331)가 도 4에 도시된 일 예와 같이 8개의 레지스터로 구성되고, 7번 내지 4번 레지스터(Array[7] 내지 Array[4])가 제1 영역(410), 3번 내지 0번 레지스터(Array[3] 내지 Array[0])가 제2 영역(420)에 포함된다 가정하여 인터페이스부에 대한 동작을 설명한다.
전달부(320)에 의해 7번 레지스터에 클락의 반복설정에 관한 명령어와 6번 레지스터에 반복의 끝을 알려주는 명령어가 저장되고, 4번 및 5번 레지스터에 클락의 주파수, 특정 수 반복과 무한 반복 등에 대한 데이터가 저장되면, 인터페이스부는 7번 레지스터에 저장된 명령을 통해 4번 및 5번 레지스터에 저장된 데이터를 이용하여 클락을 설정하고 7번 레지스터에 클락 발생의 시작을 알리는 명령어가 다시 저장되면, 설정된 클락을 클락 발생 시간만큼 또는 클락 발생 횟수만큼 사용자 로직으로 출력한다.
이때, 사용자 로직의 입력 데이터가 있는 경우 입력 데이터는 4번 또는 5번 레지스터에 저장될 수 있다.
인터페이스부(330)는 클락에 의해 사용자 로직이 활성화되면, 사용자 로직에 대한 명령어를 3번 레지스터와 2번 레지스터에 저장하고, 사용자 로직으로부터 출력되는 결과 데이터를 1번 및 0번 레지스터에 저장함으로써, 전달부(320)에서 0번 및 1번 레지스터에 저장된 결과 데이터를 읽어 호스트 컴퓨터로 제공할 수 있도록 한다.
여기서, 0번 및 1번 레지스터에 저장되는 결과 데이터는 특정 값이 될 수도 있고, 주소 정보가 될 수도 있는데, 이는 사용자 로직에 따라 달라질 수 있다.
물론, 호스트 컴퓨터는 인터페이스 장치로부터 제공되는 사용자 로직의 결과 데이터를 이용하여 사용자 로직에 대한 에뮬레이터를 보여준다.
이와 같이, 본 발명의 일 실시예에 따른 인터페이스 장치는 레지스터 어레이를 사용함으로써, 에뮬레이터에 대한 인터페이스 복잡도를 줄이고, 이를 통해 인터페이스 성능을 향상시킬 수 있으며 인터페이스 장치의 단가를 낮출 수 있어 인터페이스 장치에 대한 가격 경쟁력을 갖출 수 있다.
또한, 레지스터 어레이를 사용하여 PCI Express를 통해 에뮬레이터를 구현함으로써, SoC 등의 개발을 편리하게 하고, 이를 통해 검증 시간을 단축시킬 수 있다.
도 5는 본 발명의 일 실시예에 따른 에뮬레이터의 인터페이스 방법에 대한 동작 흐름도이다.
도 5를 참조하면, 인터페이스 방법은 호스트 컴퓨터에 의해 설계된 로직이 JTAG 등과 같은 방식에 의해 다운로드되어 만들어진 사용자 로직을 에뮬레이션하기 위한, 데이터를 호스트 컴퓨터로부터 수신한다(S510).
이때, 호스트 컴퓨터로부터 수신되는 데이터는 사용자 로직으로 출력하기 위한 클락에 대한 설정 정보를 포함할 수 있는데, 일 예로, 클락 주파수, 클락 발생 횟수 등을 포함할 수 있다.
사용자 로직을 에뮬레이션하기 위한 데이터는 호스트 컴퓨터로부터 다양한 통신 방식에 의해 수신될 수 있는데, 일 예로, PCI Express를 통해 수신될 수 있다.
데이터가 수신되면, 수신된 데이터를 기 구비된 레지스터 어레이의 기 설정된 제1 영역에 저장하고, 레지스터 어레이의 제1 영역에 저장된 데이터를 이용하여 사용자 로직으로 출력하기 위한 클락을 설정한다(S520, S530).
여기서, 레지스터 어레이의 제1 영역은 사용자 로직으로 클락을 출력하기 위해, 필요로 하는 데이터가 저장되는 영역이 될 수 있다.
클락이 설정되면, 클락을 생성하여 사용자 로직으로 출력하고, 클락에 의해 사용자 로직이 활성화되면 사용자 로직으로부터 결과 데이터를 수신한다(S540, S550).
물론, 상황에 따라 사용자 로직에 클락 뿐만 아니라 입력 데이터가 필요한 경우에는 호스트 컴퓨터로부터 수신되어 제1 영역에 저장된 입력 데이터를 사용자 로직으로 출력함으로써, 이에 대한 결과 데이터를 수신할 수도 있다.
사용자 로직으로부터 수신된 결과 데이터를 레지스터 어레이의 제2 영역에 저장하고, 제2 영역에 저장된 결과 데이터를 호스트 컴퓨터로 전달함으로써, 호스트 컴퓨터에서 사용자 로직에 대한 에뮬레이터를 보여줄 수 있다(S560, S570).
이때, 레지스터 어레이의 제2 영역은 사용자 로직으로부터 수신되는 결과 데이터가 저장되는 영역으로서, 호스트 컴퓨터에 의해 결과 데이터가 변경되는 것을 방지하기 위해, 호스트 컴퓨터에 의해 읽기 기능만이 수행되는 영역을 말한다.
물론, 본 발명에서의 레지스터 어레이는 제1 영역의 레지스터와 제2 영역의 레지스터로 나눠질 수 있으며, 레지스터 어레이는 다양한 방법에 의해 제1 영역과 제2 영역으로 나눠질 수 있다.
본 발명에 의한, 에뮬레이터의 인터페이스 장치 및 그 방법은 본 발명의 기술적 사상의 범위 내에서 양한 형태로 변형, 응용 가능하며 상기 실시 예에 한정되지 않는다. 또한, 상기 실시 예와 도면은 발명의 내용을 상세히 설명하기 위한 목적일 뿐, 발명의 기술적 사상의 범위를 한정하고자 하는 목적은 아니며, 이상에서 설명한 본 발명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 상기 실시 예 및 첨부된 도면에 한정되는 것은 아님은 물론이며, 후술하는 청구범위뿐만이 아니라 청구범위와 균등 범위를 포함하여 판단되어야 한다.

Claims (8)

  1. 호스트 컴퓨터로부터 로직을 에뮬레이션하기 위한, 데이터를 수신하고, 상기 로직으로부터 출력된 결과 데이터를 상기 호스트 컴퓨터로 전송하는 연결부;
    상기 연결부로부터 상기 데이터를 수신하여 레지스터 어레이의 제1 영역에 저장(write)하고, 상기 레지스터 어레이의 제2 영역에 상기 결과 데이터가 저장되면 상기 결과 데이터를 읽어(read) 상기 연결부로 전달하는 전달부; 및
    적어도 하나 이상의 상기 레지스터 어레이를 포함하고, 상기 제1 영역에 저장된 상기 데이터를 이용하여 설정된 클락(CLK)을 상기 로직으로 출력하며, 상기 로직으로부터 출력된 상기 결과 데이터를 상기 제2 영역에 저장하는 인터페이스부
    를 포함하는 에뮬레이터의 인터페이스 장치.
  2. 제1항에 있어서,
    상기 연결부는
    상기 호스트 컴퓨터와 PCI(Peripheral Component Interconnect) Express로 연결되는 에뮬레이터의 인터페이스 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 레지스터 어레이는
    상기 전달부에 의해 데이터의 쓰기와 읽기 기능이 모두 수행될 수 있는 영역과 데이터의 읽기 기능만이 수행될 수 있는 영역이 구분되어 있는 에뮬레이터의 인터페이스 장치.
  4. 제1항 또는 제2항에 있어서,
    상기 제1 영역에 저장된 데이터는
    상기 클락을 설정하기 위한 주파수 및 상기 로직으로 출력되는 상기 클락의 발생 시간을 포함하는 에뮬레이터의 인터페이스 장치.
  5. 제4항에 있어서,
    상기 제1 영역에 저장된 데이터는
    상기 로직의 입력 데이터를 포함하고,
    상기 인터페이스부는
    상기 입력 데이터를 상기 로직의 입력으로 출력하는 에뮬레이터의 인터페이스 장치.
  6. 제1항 또는 제2항에 있어서,
    상기 연결부는
    상기 호스트 컴퓨터와 연결된 다른 인터페이스 장치와 구별할 수 있도록, 해당 인터페이스 장치에 대한 정보를 상기 호스트 컴퓨터로 제공하는 에뮬레이터의 인터페이스 장치.
  7. 호스트 컴퓨터로부터 로직을 에뮬레이션하기 위한, 데이터를 수신하는 단계;
    수신된 데이터를 레지스터 어레이의 제1 영역에 저장하는 단계;
    상기 제1 영역에 저장된 데이터를 이용하여 상기 로직의 클락을 설정하고 설정된 상기 클락을 상기 로직으로 출력하는 단계;
    상기 로직으로부터 결과 데이터를 수신하여 상기 레지스터 어레이의 제2 영역에 저장하는 단계; 및
    상기 제2 영역에 저장된 결과 데이터를 상기 호스트 컴퓨터로 전달하는 단계
    를 포함하는 에뮬레이터의 인터페이스 방법.
  8. 제7항에 있어서,
    상기 호스트 컴퓨터와 연결된 PCI Express를 통해 상기 데이터를 수신하고,
    상기 PCI Express를 통해 상기 결과 데이터를 상기 호스트 컴퓨터로 전달하는 에뮬레이터의 인터페이스 방법.
PCT/KR2010/004131 2009-06-26 2010-06-25 에뮬레이터의 인터페이스 장치 및 그 방법 WO2010151072A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/112,228 US8352239B2 (en) 2009-06-26 2011-05-20 Emulator interface device and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090057383A KR101026678B1 (ko) 2009-06-26 2009-06-26 에뮬레이터의 인터페이스 장치 및 그 방법
KR10-2009-0057383 2009-06-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/112,228 Continuation US8352239B2 (en) 2009-06-26 2011-05-20 Emulator interface device and method thereof

Publications (2)

Publication Number Publication Date
WO2010151072A2 true WO2010151072A2 (ko) 2010-12-29
WO2010151072A3 WO2010151072A3 (ko) 2011-04-21

Family

ID=43387064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/004131 WO2010151072A2 (ko) 2009-06-26 2010-06-25 에뮬레이터의 인터페이스 장치 및 그 방법

Country Status (3)

Country Link
US (1) US8352239B2 (ko)
KR (1) KR101026678B1 (ko)
WO (1) WO2010151072A2 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102335715B1 (ko) * 2015-12-04 2021-12-06 한국전자기술연구원 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0696151A (ja) * 1992-09-11 1994-04-08 Toshiba Corp ロジックシミュレーション装置
JPH09231094A (ja) * 1996-02-23 1997-09-05 Hitachi Ltd 情報処理装置の論理検証装置
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
JP2001033522A (ja) * 1999-07-19 2001-02-09 Nec Eng Ltd 論理検証システム
US6651225B1 (en) * 1997-05-02 2003-11-18 Axis Systems, Inc. Dynamic evaluation logic system and method
US20080021695A1 (en) * 2006-07-18 2008-01-24 Jing-Rung Wang ROM emulator and ROM testing method using the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009156A (en) 1997-10-29 1999-12-28 Lucent Technologies Inc. Method for accommodating multiple calling cards during a single call in a telecommunications network
US7308551B2 (en) * 2005-02-25 2007-12-11 International Business Machines Corporation System and method for managing metrics table per virtual port in a logically partitioned data processing system
US7437282B2 (en) * 2005-09-22 2008-10-14 International Business Machines Corporation Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator
KR100801759B1 (ko) * 2005-12-29 2008-02-11 엠텍비젼 주식회사 슬레이브의 디버깅 방법 및 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0696151A (ja) * 1992-09-11 1994-04-08 Toshiba Corp ロジックシミュレーション装置
JPH09231094A (ja) * 1996-02-23 1997-09-05 Hitachi Ltd 情報処理装置の論理検証装置
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6651225B1 (en) * 1997-05-02 2003-11-18 Axis Systems, Inc. Dynamic evaluation logic system and method
JP2001033522A (ja) * 1999-07-19 2001-02-09 Nec Eng Ltd 論理検証システム
US20080021695A1 (en) * 2006-07-18 2008-01-24 Jing-Rung Wang ROM emulator and ROM testing method using the same

Also Published As

Publication number Publication date
US20110225340A1 (en) 2011-09-15
WO2010151072A3 (ko) 2011-04-21
KR101026678B1 (ko) 2011-04-04
US8352239B2 (en) 2013-01-08
KR20110000045A (ko) 2011-01-03

Similar Documents

Publication Publication Date Title
US6067589A (en) USB legacy support system
KR100572165B1 (ko) 유니버셜 직렬 버스 디바이스 컨트롤러
US7096308B2 (en) LPC transaction bridging across a PCI—express docking connection
EP0765502B1 (en) System and method for expansion of a computer
US7467250B2 (en) Data transfer control device and electronic instrument generating interface signal of signal type according to interface information set in internal register
JP3786120B2 (ja) データ転送制御装置及び電子機器
CN103412834A (zh) 一种单soc芯片及单soc芯片多工作模式的复用方法
CN107861893B (zh) I3c验证从设备、主从设备的通信验证系统及方法
US7836240B2 (en) Interface arrangement for a system on a chip suitable for outputting higher-frequency signals for operating peripheral devices, and use thereof
US7630375B2 (en) Data transfer control device and electronic instrument having reduced power consumption
US7212961B2 (en) Interface for rapid prototyping system
Slogsnat et al. An open-source hypertransport core
Slogsnat et al. A versatile, low latency HyperTransport core
CN110134561A (zh) 一种软硬件协同验证中调试信息的输出方法及装置
US6622191B1 (en) Computer system
WO2010151072A2 (ko) 에뮬레이터의 인터페이스 장치 및 그 방법
Bruce et al. Personal digital assistant (PDA) based I2C bus analysis
CN112256615A (zh) Usb转换接口装置
US6584536B1 (en) Bus transaction accelerator for multi-clock systems
CN112988637A (zh) 促进与i2c的向后兼容性的i3c集线器
KR19980058195A (ko) 소형 컴퓨터 시스템 인터페이스 콘트롤러의 진단 테스트 장치
WO2019096128A1 (zh) 双沿触发环形缓冲器及通信系统
CN116340220A (zh) Usb通信接口适配器
CN108549611A (zh) 一种基于gt9系列芯片的驱动实现方法及系统
CN103544133B (zh) 一种转换装置及方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10792354

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10792354

Country of ref document: EP

Kind code of ref document: A2