KR100297551B1 - Apparatus and method for hardware/software co-emulating by supporting multi-function module - Google Patents

Apparatus and method for hardware/software co-emulating by supporting multi-function module Download PDF

Info

Publication number
KR100297551B1
KR100297551B1 KR1019990016953A KR19990016953A KR100297551B1 KR 100297551 B1 KR100297551 B1 KR 100297551B1 KR 1019990016953 A KR1019990016953 A KR 1019990016953A KR 19990016953 A KR19990016953 A KR 19990016953A KR 100297551 B1 KR100297551 B1 KR 100297551B1
Authority
KR
South Korea
Prior art keywords
software
hardware
emulation
interface
base station
Prior art date
Application number
KR1019990016953A
Other languages
Korean (ko)
Other versions
KR19990064824A (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
Application filed by 노명래, (주)아이피에스 filed Critical 노명래
Priority to KR1019990016953A priority Critical patent/KR100297551B1/en
Publication of KR19990064824A publication Critical patent/KR19990064824A/en
Application granted granted Critical
Publication of KR100297551B1 publication Critical patent/KR100297551B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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

Abstract

PURPOSE: A device and method for a hardware/software co-emulator is provided to validate and manufacture a prototype after manufacturing a design at low cost by emulating a software and a hardware at the same environment, changing and appending each function module necessary for a user easily, and making a library based on modules according to each filed and function. CONSTITUTION: A microprocessor unit(10) emulates a control signal for managing the total system and a portion designed by a software and processes information being transmitted at the interior and the exterior. A ROM(20) is existed in a memory bank, operates the micro processor unit(10), and loads a ROM BIOS for generating a control signal for controlling an external interface port using the micro processor unit(10). A RAM(30) is existed in the memory bank, supplies a memory space necessary for operating the microprocessor unit(10) and the ROM(20), and emulates a software design by downloading a software designed program using an external interface. A programmable IC chip(40) constructs logic and an I/O port necessary for the system in real time. Information in the system is transmitted to a necessary place through an address and data bus(50), a control bus(60), a serial port(70), and a parallel port(80). A top board standard I/O interface unit(90), an extension board programmable I/O interface unit(99), the serial port(70), and the parallel port(80) are operated by controlling an I/O terminal of the programmable IC chip(40), the address/data bus(50), and the control bus(60) by the micro processor unit(10) and a ROM BIOS program included in a system program at the ROM(20) in the memory bank.

Description

멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법{Apparatus and method for hardware/software co-emulating by supporting multi-function module}Apparatus and method for hardware / software co-emulating by supporting multi-function module}

본 발명은 멀티 기능 모듈(Multi-function module)을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법에 관한 것으로, 특히 프로그래머블 IC와 마이크로 프로세서를 이용하여 전자 시스템의 하드웨어 및 소프트웨어의 에뮬레이션을 빠른 시간 내에 검증할 수 있는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for a hardware / software co-emulator that supports a multi-function module, and more particularly to a fast time for emulating hardware and software of an electronic system using a programmable IC and a microprocessor. An apparatus and method for a hardware / software co-emulator supporting a multi-function module that can be verified within the present invention.

일반적으로, 하드웨어와 소프트웨어가 결합된 전자 시스템을 설계 및 검증하는 과정은 하드웨어의 검증은 하드웨어 에뮬레이터에서 수행하고, 소프트웨어 검증은 소프트웨어 에뮬레이터에서 수행하여 최종적으로 전체 구성하는 방식을 사용하였으며, 이 방법은 하드웨어와 소프트웨어 에뮬레이터 장치가 각각 분리되어 불편할 뿐만 아니라 많은 시간과 비용이 소모되었다.In general, the process of designing and verifying an electronic system combining hardware and software is performed by hardware emulator verification and software verification by software emulator. The separate and software emulator devices were not only inconvenient, but also cost a lot of time and money.

또한, 에뮬레이터 시스템이 온-보드(on-board)로 구성되어 사용자의 요구가 이용하는 에뮬레이터에서 구현되지 않은 경우 별도로 사용자가 필요한 기능별 유니트를 제작해야 하는 부담이 항상 존재하였다.뿐만 아니라 여러 기능별 모듈을 통합하는 컴퓨터 환경의 그래픽 사용자 인터페이스가 없어 각 기능별로 별도의 장치에서 에뮬레이션을 수행하여야 했다.In addition, when the emulator system is configured on-board and not implemented in the emulator used by the user's demand, there is always a burden of separately producing the functional unit required by the user. There was no graphical user interface in the computer environment, so each function had to be emulated on a separate device.

종래의 마이크로 프로세서 개발 시스템(Microprocessor Development System:MDS)은 마이크로 프로세서 어플리케이션 시스템을 디자인할 때 실시간으로 프로그램을 검증하는 장치로 사용되었고, 하드웨어 에뮬레이터(H/W Emulator)는 하드웨어 시스템을 설계하여 실시간으로 검증하는 장치로 사용되있다.Conventional Microprocessor Development System (MDS) was used as a device to verify the program in real time when designing a microprocessor application system, and the hardware emulator (H / W Emulator) designed the hardware system to verify in real time. It is used as a device.

그러나, 각 기능별로 상기 프로그래머블 IC 유니트와 상기 마이크로프로세서 개발 시스템(MDS) 보드의 장비가 분리되어 동시에 사용하기 불편하고, 두 종류 이상의 다른 기능을 하는 보드와 같이 에뮬레이션이 어려우며, 상기 마이크로프로세서와 상기 프로그래머블 IC 유니트가 함께 온-보드(on-board) 되어 있어 사용자가 구현하고자 하는 시스템으로 임의로 변경할 수 없게 되어 하드웨어와 소프트웨어를 동시에 에뮬레이터(Co-emulator)하는 기능이 없으며 여러 장치를 지원하는 컴퓨터의 그래픽 사용자 인터페이스(GUI) 또는 프로그래머블 IC 유니트와 마이크로 프로세서 유니트를 함께 지원하며, 보드간 인터페이스 드라이버를 지원하는 기능이 없는 문제점이 있다.However, since the equipment of the programmable IC unit and the microprocessor development system (MDS) board is separated for each function, it is inconvenient to use at the same time, and it is difficult to emulate like a board having two or more different functions, and the microprocessor and the programmable Since the IC unit is on-board together, the system can not be arbitrarily changed to the system that the user wants to implement, so there is no function of co-emulatoring hardware and software at the same time. The interface (GUI) or the programmable IC unit and the microprocessor unit are supported together, and there is a problem in that there is no function supporting the board-to-board interface driver.

본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 전자 장치를 설계하고 검증할 경우 하드웨어와 소프트웨어를 동일 환경에서 에뮬레이션(emulation)하여 검증하고, 사용자가 필요한 각 기능 모듈을 쉽게 변경 첨가할 수 있도록 하며, 각 분야별 기능별 모듈을 라이브러리(Library)화하여 필요에 따라 지원하여 설계 후 검증 및 시제품 제작까지를 효율적으로 일관된 공정에 따라 통합 환경에서 신속 정확하며 저비용으로 구현하기 위한 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치를 제공한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems of the prior art, and an object of the present invention is to emulate and verify hardware and software in the same environment when designing and verifying an electronic device, and each function required by a user. Modules can be easily added and modified, and the modules for each function can be libraryized and supported as necessary, so that the design, verification and prototyping can be carried out quickly, accurately and at low cost in an integrated environment according to a consistent process. It provides a device for a hardware / software co-emulator that supports multiple function modules.

본 발명의 다른 목적은 상기 장치를 수행하는데 특히 적합한 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터 구현 방법을 제공한다.Another object of the present invention is to provide a hardware / software co-emulator implementation method that supports multi-function modules that are particularly suitable for carrying out the device.

도 1은 본 발명에 의한 멀티 기능 모듈을 지원하는 베이스 스테이션 보드의 시스템 구성도.1 is a system configuration of a base station board supporting a multi-function module according to the present invention.

도 2는 본 발명의 일 실시예에 의한 베이스 스테이션 보드를 데이지 체인 방식의 멀티보드로 구성한 시스템 구성도.FIG. 2 is a system configuration diagram of a base station board according to an embodiment of the present invention configured as a daisy chain multiboard; FIG.

도 3은 본 발명에 의한 하드웨어/소프트웨어 코-에뮬레이터 구현 방법을 나타낸 흐름도.3 is a flow diagram illustrating a hardware / software co-emulator implementation method in accordance with the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

10 : 마이크로 프로세서부 20 : 롬(ROM)10: microprocessor unit 20: ROM (ROM)

30 : 램(RAM) 40 : 프로그래머블 IC 칩30: RAM 40: Programmable IC Chip

50 : 어드레스 및 데이터 버스(Address & Data bus)50: Address & Data bus

60 : 제어 버스(Control bus) 70 : 직렬포트(Serial port)60: control bus 70: serial port

80 : 병렬포트(Parallel port)80: Parallel port

90 : 탑 보드(Top board)용 표준 I/O 인터페이스부90: standard I / O interface unit for the top board

99 : 확장 보드(Extension board)용 프로그래머블 I/O 인터페이스부99: Programmable I / O interface unit for extension board

상기한 목적을 달성하기 위해 본 발명은 전체 시스템을 관장하기 위한 제어 신호와 소프트웨어로 설계된 부분을 에뮬레이션하기 위한 마이크로 프로세서부(10); 메모리 뱅크(Memory Bank)내에 존재하며 상기 마이크로 프로세서부(10)를 동작시키고, 마이크로 프로세서를 이용한 외부의 인터페이스 포트들을 제어하는 제어 신호를 발생시키도록 구성한 롬 바이오스(ROM BIOS)를 탑재하고 있는 롬(ROM)(20);상기 메모리 뱅크내에 존재하며 상기 마이크로 프로세서부(10)와 상기 롬(ROM)(20)이 동작하는데 필요한 메모리 공간을 제공하고, 소프트웨어 설계된 프로그램을 외부 인터페이스를 이용하여 다운로드 받아 소프트웨어 설계를 에뮬레이션하기 위한 램(RAM)(30); 하드웨어로 설계된 데이터를 인터페이스로부터 다운로드 받아 하드웨어 설계를 에뮬레이션하기 위한 프로그래머블 IC 칩(40); 상기 마이크로 프로세서부(10)와 상기 프로그래머블 IC칩(40)을 동시에 에뮬레이션하고, 상호 신호를 전송하고 전달받기 위한 어드레스 및 데이터 버스(Address & Data bus)(50), 제어 버스(Control bus)(60); 외부의 퍼스널 컴퓨터나 기타 다른 장치로부터 데이터를 수신하고, 외부 장치로 전송하거나 베이스 스테이션 보드(Base Station Board:BSB)간의 통신을 위한 외부 인터페이스부인 병렬포트(70)와 직렬포트(80); 외부의 라이브러리(library)화된 단위 기능 모듈과의 인터페이스를 하기 위한 탑 보드용 표준 I/O 인터페이스부(90); 및 상기 탑 보드용 표준 I/O 인터페이스부(90) 이외에 상기 베이스 스테이션 보드(BSB)간의 입출력 인터페이스를 위하여 사용자가 필요에 따라서 입력, 출력 특성을 정의할 수 있도록 설계된 확장보드용 프로그래머블 I/O 인터페이스부(99)로 구성되는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치를 제공한다.In order to achieve the above object, the present invention provides a microprocessor unit for emulating a control signal and software designed part for managing the entire system; A ROM existing in a memory bank and having a ROM BIOS configured to operate the microprocessor unit 10 and generate a control signal for controlling external interface ports using the microprocessor. ROM (20); present in the memory bank and provides a memory space required for the microprocessor unit 10 and the ROM (ROM) 20 to operate, and downloads a software designed program using an external interface RAM 30 for emulating a design; A programmable IC chip 40 for emulating a hardware design by downloading data designed in hardware from an interface; An address and data bus 50 and a control bus 60 for emulating the microprocessor unit 10 and the programmable IC chip 40 simultaneously and transmitting and receiving signals to and from each other. ); A parallel port 70 and a serial port 80 which receive data from an external personal computer or other device, transmit the data to an external device, or communicate with each other via a base station board (BSB); A standard I / O interface unit 90 for the top board for interfacing with an external library-ized unit function module; And an expandable board programmable I / O interface designed to allow a user to define input and output characteristics as needed for input / output interfaces between the base station board (BSB) in addition to the standard I / O interface unit 90 for the top board. Provided is an apparatus for a hardware / software co-emulator that supports a multi-function module, comprising:

상기한 다른 목적을 달성하기 위해 본 발명은 (a) 멀티 기능 모듈을 지원하는 베이스 스테이션 보드(BSB) 및 그래픽 사용자 인터페이스(GUI)를 에뮬레이션 대상에 따라 초기화하고(S1), 하드웨어(H/W)부분과 소프트웨어(S/W)부분을 분리하여(S2) 상기 하드웨어 부분인지를 체크하는 단계(S3); (b) 상기 하드웨어 부분이면 하드웨어를 설계하고(S4), 상기 설계된 하드웨어 데이터를 베이스 스테이션 보드(BSB)를 제어하는 그래픽 사용자 인터페이스(GUI)로 읽어와 하드웨어 에뮬레이션을 수행하는 단계(S5); (c) 상기 하드웨어 에뮬레이션을 체크하여(S6) 상기 하드웨어 에뮬레이션이 안되었으면 상기 하드웨어 설계 단계(S4)로 궤환하여 다시 실행하고, 상기 하드웨어 에뮬레이션이 완료되었으면 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation)이 필요한지를 체크하여(S7) 하드웨어/소프트웨어 코-에뮬레이션을 위해 대기하는 단계; (d) 상기 소프트웨어 부분은 상기 하드웨어 부분인지를 체크하는 단계(S3)로부터 소프트웨어 설계 과정에서 코딩(coding)된(S10) 후 상기 GUI로 소프트웨어 프로그램을 로딩하여 소프트웨어 에뮬레이션을 수행하는 단계(S11); (e) 상기 소프트웨어 에뮬레이션을 체크하여(S12) 잘못되었으면 소프트웨어 코딩 단계(S10)로 다시 궤환되고, 상기 소프트웨어 에뮬레이션이 완성되었으면 하드웨어/소프트웨어 코-에뮬레이션이 필요한지를 체크하여(S13) 필요하면 하드웨어와 소프트웨어의 코-에뮬레이션(Co-emulation)(S8)을 실행하고 필요치 않으면 종료하는 단계; 및 (f) 상기 하드웨어와 소프트웨어의 코-에뮬레이션(S8)이 성공적으로 완성되면 에뮬레이션 과정을 종료하고 잘못되었으면 에뮬레이터 초기화 단계로 궤한하여 다시 시작하는 단계로 구성되고, 외부 인터페이스를 다양하게 구축할 수 있는 표준 I/O 인터페이스를 이용한 베이스 스테이션 보드와 추가 기능을 갖는 라이브러리 형태의 탑 보드(Top Board) 및 확장 보드(Extension Board)를 장착할 수 있는 인터페이스를 통해 상기 표준 I/O 인터페이스를 이용하여 보드 레벨의 기능 모듈별 하드웨어 및 소프트웨어 라이브러리(library) 시스템을 구축하여 하드웨어/소프트웨어 설계를 획기적으로 개선하는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터 구현 방법을 제공한다.In order to achieve the above object, the present invention (a) initializes the base station board (BSB) and the graphical user interface (GUI) supporting the multi-function module according to the emulation target (S1), and the hardware (H / W). Separating the portion from the software (S / W) (S2) and checking whether the hardware is a portion (S3); (b) designing hardware in the hardware part (S4), and reading the designed hardware data into a graphic user interface (GUI) controlling a base station board (BSB) to perform hardware emulation (S5); (c) check the hardware emulation (S6), if the hardware emulation is not done, return to the hardware design step (S4) and execute it again; if the hardware emulation is complete, the hardware / software co-emulation is performed. Checking if necessary (S7) and waiting for hardware / software co-emulation; (d) performing a software emulation by loading a software program into the GUI after S10 is coded in a software design process from step S3 of checking whether the software part is the hardware part (S11); (e) Check the software emulation (S12) and if it is wrong, return to the software coding step (S10), and if the software emulation is complete, check if hardware / software co-emulation is needed (S13) and if necessary hardware and software Executing Co-emulation (S8) of S8 and ending if not necessary; And (f) if the co-emulation (S8) of the hardware and software is completed successfully, terminating the emulation process, and if it is wrong, returning to the emulator initialization step and starting again, and the external interface can be variously constructed. Board level using the standard I / O interface through an interface for mounting a base station board using a standard I / O interface and a library type top board and extension board with additional functions The present invention provides a hardware / software co-emulator embodying method supporting multi-functional modules, which is characterized by a significant improvement in hardware / software design by building a hardware and software library system for each functional module.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 도 1은 본 발명에 의한 멀티 기능 모듈(multi-function module)을 지원하는 베이스 스테이션 보드(BSB) 장치의 시스템 구성도를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. 1 is a system configuration diagram of a base station board (BSB) device supporting a multi-function module according to the present invention.

상기 시스템 구성도는 마이크로 프로세서부(10), 메모리 뱅크(Memory Bank)내에 존재하는 롬(ROM)(20)과 램(RAM)(30), 프로그래머블 IC 칩(40), 어드레스 및 데이터 버스(50), 제어 버스(60), 직렬포트(70), 병렬포트(80), 탑 보드(Top board)용 표준 I/O 인터페이스부(90), 확장 보드(Extension board)용 프로그래머블 I/O 인터페이스부(99) 그리고 상기 시스템을 제어 및 구동하기 위한 컴퓨터 환경의 GUI(Graphic User Interface) 및 CAD 툴을 지원한다.The system configuration diagram includes a microprocessor unit 10, a ROM 20 and a RAM 30, a programmable IC chip 40, an address and data bus 50 present in a memory bank. ), Control bus 60, serial port 70, parallel port 80, standard I / O interface unit 90 for top board, programmable I / O interface unit for extension board And a graphical user interface (GUI) and CAD tools in a computer environment for controlling and running the system.

본 발명 시스템이 수행하는 첫째 작용은 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation) 기능은 다음과 같이 설명된다.The first action that the system of the present invention performs is a hardware / software co-emulation function that supports multiple functional modules.

상기 CAD 툴 또는 소프트웨어 개발 환경에서 설계된 하드웨어 데이터 또는 소프트웨어를 컴퓨터 GUI 소프트웨어로 읽어와 상기 직렬포트(70) 또는 상기 병렬포트(80)를 통하여 상기 베이스 스테이션 보드(BSB)의 상기 프로그래머블 IC 칩(40)과 통신하여 하드웨어를 구현함으로써 하드웨어 에뮬레이션을 수행하고, 곧바로 컴퓨터 소프트웨어 개발툴 환경에서 프로그램하여 컴파일한 소프트웨어 데이터를 GUI 소프트웨어 환경으로 읽어와 상기 직렬포트(70) 또는 상기 병렬포트(80)를 통하여 상기 베이스 스테이션 보드(BSB)의 상기 마이크로 프로세서부(10)와 통신하여 상기 마이크로 프로세서부(10)를 구동하는 소프트웨어 에뮬레이션을 수행함으로써 동시에 상기 베이스 스테이션 보드(BSB)의 하드웨어/소프트웨어의 코-에뮬레이션 작용을 수행할 수 있다.The programmable IC chip 40 of the base station board (BSB) is read through the serial port 70 or the parallel port 80 by reading hardware data or software designed in the CAD tool or software development environment into the computer GUI software. Hardware emulation is performed by communicating with a computer, and hardware software emulation is performed, and software data compiled and programmed in a computer software development tool environment is immediately read into a GUI software environment, and the base is connected through the serial port 70 or the parallel port 80. Co-emulation of hardware / software of the base station board (BSB) is performed by communicating with the microprocessor unit 10 of the station board (BSB) to perform software emulation for driving the microprocessor unit (10). can do.

또한, 본 발명에 의한 하드웨어/소프트웨어 코-에뮬레이터를 위한 시스템은 컴퓨터의 소프트웨어 개발툴 환경에서 설계된 소프트웨어 데이터로 상기 병렬포트(80)를 통하여 외부 하드웨어를 이용하여 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation)을 수행할 수 있으며, 여러 종류의 프로세서나 프로그래머블 IC를 각각 또는 통합하여 에뮬레이션이 가능하다.In addition, the system for a hardware / software co-emulator according to the present invention is software data designed in a software development tool environment of a computer, using hardware / software co-emulation (Co-emulation) using external hardware through the parallel port 80. It is possible to emulate different types of processors or programmable ICs individually or in combination.

도 3을 참조하여 멀티 기능 모듈을 지원하는 하드웨어 및 소프트웨어 코-에뮬레이션 방법은 다음과 같이 설명된다. 멀티 기능 모듈을 지원하는 베이스 스테이션 보드(BSB) 및 그래픽 사용자 인터페이스(GUI)를 에뮬레이션 대상에 따라 환경을 초기화하고(단계 S1), 개발하고자하는 시스템에서 하드웨어(H/W) 부분과 소프트웨어(S/W) 부분을 분리하여(단계 S2) 상기 하드웨어 부분인지를 체크한다(단계 S3). 상기 하드웨어 부분이면 하드웨어를 설계하고(단계 S4), 상기 설계된 하드웨어 데이터를 베이스 스테이션 보드(BSB)를 제어하는 그래픽 사용자 인터페이스(GUI)로읽어들여 하드웨어 에뮬레이션을 수행한다(단계 S5).Referring to FIG. 3, a hardware and software co-emulation method supporting multi-function modules is described as follows. The base station board (BSB) and the graphical user interface (GUI) supporting the multi-function module are initialized according to the emulation target (step S1), and the hardware (H / W) part and software (S / W) The part is separated (step S2) and it is checked whether it is the hardware part (step S3). If it is the hardware part, hardware is designed (step S4), and the designed hardware data is read into a graphical user interface (GUI) for controlling the base station board (BSB) to perform hardware emulation (step S5).

상기 하드웨어 에뮬레이션을 체크하여(단계 S6) 상기 하드웨어 에뮬레이션이 안되었으면 상기 하드웨어 설계 단계(단계 S4)로 궤환하여 다시 실행하고, 상기 하드웨어 에뮬레이션이 완료되었으면 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation)이 필요한지를 체크하여(단계 S7) 하드웨어/소프트웨어 코-에뮬레이션을 위해 대기한다.Check the hardware emulation (step S6), if the hardware emulation is not done, return to the hardware design step (step S4) and execute it again.If the hardware emulation is complete, whether hardware / software co-emulation is necessary. Check (step S7) to wait for hardware / software co-emulation.

상기 소프트웨어 부분은 상기 하드웨어 부분인지를 체크하는 과정(단계 S3)로부터 소프트웨어 설계 과정에서 코딩(coding)된(단계 S10) 후 상기 GUI로 소프트웨어 프로그램을 로딩하여 소프트웨어 에뮬레이션을 수행한다.The software portion is coded in the software design process (step S10) from the step of checking whether it is the hardware portion (step S10) and then loaded into the GUI to perform a software emulation.

상기 소프트웨어 에뮬레이션을 체크하여(단계 S12) 잘못되었으면 소프트웨어 코딩 과정으로(단계 S10) 다시 궤환되고, 상기 소프트웨어 에뮬레이션이 완성되었으면 하드웨어/소프트웨어 코-에뮬레이션이 필요한지를 체크하여(단계 S13) 필요하면 하드웨어와 소프트웨어의 코-에뮬레이션(Co-emulation)(단계 S8)을 실행하고 필요치 않으면 종료한다. 상기 하드웨어와 소프트웨어의 코-에뮬레이션(단계 S8)이 잘못되었으면 에뮬레이터 초기화 단계로 궤환하여 다시 시작하고, 성공적으로 완성되면 에뮬레이션 과정을 종료한다.If the software emulation is checked (step S12) and if it is wrong, it is returned to the software coding process (step S10). If the software emulation is completed, it is checked whether hardware / software co-emulation is necessary (step S13). Co-emulation (Step S8) is executed and ends if not necessary. If the co-emulation (step S8) of the hardware and software is wrong, the process returns to the emulator initialization step and restarts, and when the completion is successful, the emulation process ends.

본 발명 시스템이 수행하는 둘째 작용은 상기 직렬포트(70), 상기 병렬포트 (80), 표준 입출력 버스 단자와 프로그래머블 확장 버스 단자를 통한 다양하고 효율적인 입출력 시스템의 구현된다.The second function performed by the system is to implement various efficient input / output systems through the serial port 70, the parallel port 80, a standard input / output bus terminal and a programmable expansion bus terminal.

본 발명에서 구현하려는 입출력(I/O) 기능을 상기 베이스 스테이션보드(BSB)의 구조를 참고로 구체적으로 설명한다.The input / output (I / O) function to be implemented in the present invention will be described in detail with reference to the structure of the base station board (BSB).

도 1을 참조하면, 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치는 크게 4가지로 구분된다.Referring to FIG. 1, apparatuses for hardware / software co-emulators supporting multi-function modules are classified into four types.

상기 마이크로 프로세서부(10)는 전체 시스템을 관장하기 위한 제어 신호와 소프트웨어로 설계된 부분을 에뮬레이션하며 시스템 내외에서 전달되는 정보를 처리한다.The microprocessor unit 10 emulates a control signal and software designed part for managing the entire system and processes information transmitted in and out of the system.

상기 롬(ROM)(20)은 메모리 뱅크(Memory Bank)내에 존재하며 상기 마이크로 프로세서부(10)를 동작시키고, 상기 마이크로 프로세서부(10)를 이용한 외부의 인터페이스 포트들을 제어하는 제어 신호를 발생시키도록 구성한 롬 바이오스(ROM BIOS)를 탑재한다.The ROM 20 resides in a memory bank and operates the microprocessor unit 10 to generate a control signal for controlling external interface ports using the microprocessor unit 10. It is equipped with ROM BIOS which is configured.

상기 램(RAM)(30)은 상기 메모리 뱅크내에 존재하며 상기 마이크로 프로세서부(10)와 상기 롬(ROM)(20)이 동작하는데 필요한 메모리 공간을 제공하고, 소프트웨어 설계된 프로그램을 외부 인터페이스를 이용하여 다운로드(download) 받아 소프트웨어 설계를 에뮬레이션(emulation)한다.The RAM 30 resides in the memory bank and provides a memory space required for the microprocessor unit 10 and the ROM 20 to operate, and uses a software designed program using an external interface. Download and emulate software design.

상기 프로그래머블 IC 칩(40)는 시스템에서 필요한 로직과 I/O 포트를 실시간으로 구성해준다. I/O부분으로 시스템 내의 정보를 상기 어드레스 및 데이터 버스(Address & Data Bus)(50), 상기 제어 버스(Control Bus)(60)와 상기 직렬포트 (70) 및 상기 병렬포트(80)를 통하여 필요한 장소로 원할히 전달해주는 역할을 수행한다.The programmable IC chip 40 configures the logic and I / O ports required by the system in real time. Information in the system is transferred to the I / O portion through the address & data bus 50, the control bus 60, the serial port 70, and the parallel port 80. It plays the role of delivering to the place where it is needed.

본 발명 시스템에서 작용하는 효율적인 입출력 시스템의 구현은 상기 마이크로 프로세서부(10), 상기 메모리 뱅크에 있는 상기 롬(ROM)(20) 내의 시스템 프로그램에 포함되어 있는 상기 롬 바이어스(ROM Bios) 프로그램에 의해 상기 프로그래머블 IC 칩(40)의 I/O 단자와 상기 어드레스 및 데이터 버스(Address & Data bus)(50), 상기 제어 버스(Control Bus)(60)를 제어하여 상기 탑 보드용 표준 I/O 버스 인터페이스부(90) 및 상기 확장 보드용 프로그래머블 I/O 인터페이스부(99), 상기 직렬포트(70), 상기 병렬포트(80) 등을 구동하여 실행된다.Implementation of an efficient input / output system operating in the system of the present invention is implemented by the ROM bios program included in the microprocessor unit 10 and the system program in the ROM 20 in the memory bank. Standard I / O bus for the top board by controlling the I / O terminal of the programmable IC chip 40, the address & data bus 50, and the control bus 60 It is executed by driving the interface unit 90, the programmable I / O interface unit 99 for the expansion board, the serial port 70, the parallel port 80 and the like.

상기 탑 보드용 표준 I/O 인터페이스부(90)는 상기 어드레스 및 데이터 버스(50), 상기 제어 버스(60)가 표준화된 핀 배치로 제공되고 상기 프로그래머블 IC 칩(40)의 I/O 단자로부터 프로그램 가능한 핀이 첨가되어 버스 구조의 신호와 제어 신호가 적합하게 결합하여 인터페이스 할 수 있다.The standard I / O interface unit 90 for the top board is provided with the address and data bus 50 and the control bus 60 in a standardized pinout and from the I / O terminals of the programmable IC chip 40. Programmable pins are added to allow the bus structure signal and control signal to be properly combined and interfaced.

상기 확장 보드용 프로그래머블 I/O 인터페이스부(99)는 주로 상기 프로그래머블 IC 칩(40)의 I/O 단자와 연결되어 실시간으로 I/O 단자를 변경하여 사용할 수 있으며, 2개 이상의 베이스 스테이션 보드(BSB)를 데이지 체인(daisy chain)의 형식으로 확장하여 멀티 보드로 연결할 수 있다.The expansion board programmable I / O interface unit 99 is mainly connected to the I / O terminal of the programmable IC chip 40 so that the I / O terminal can be changed in real time, and two or more base station boards ( BSB) can be extended to daisy-chain to connect multiple boards.

상기 직렬포트(70), 상기 병렬포트(80)는 컴퓨터 GUI와 통신을 하며 에뮬레이션 기능을 지원하며, 상기 병렬포트(80)는 IEEE 1284 표준 ECP(Extended Capabilities Port) 모드 및 EPP(Extended Parallel Port) 모드의 드라이버를 지원한다. 상기 데이지 체인(daisy chain) 형식으로 2개 이상의 베이스 스테이션 보드(BSB)를 멀티 보드로 연결할 수 있다.The serial port 70 and the parallel port 80 communicate with a computer GUI and support an emulation function. The parallel port 80 has an IEEE 1284 standard Extended Capabilities Port (ECP) mode and an Extended Parallel Port (EPP). Support for mod drivers. Two or more base station boards (BSBs) may be connected to a multi board in a daisy chain format.

멀티 베이스 스테이션 보드(BSB)를 구성하기 위해서는 상기 병렬포트(80)를이용하는 경우, 상기 확장 보드용 프로그래머블 I/O 버스 인터페이스부(99)를 이용하는 경우 및 상기 두 가지를 모두 사용하는 경우가 있으며, 도 2에 도시된 바와 같이 상기 멀티 보드 기본적인 구성하여 구현할 수 있다.In order to configure the multi-base station board (BSB), the parallel port 80 may be used, the programmable I / O bus interface unit 99 for the expansion board may be used, and both may be used. As shown in Figure 2 it can be implemented by the basic configuration of the multi-board.

상기 탑 보드(Top Board)는 다양한 종류의 어플리케이션(application) 시스템을 베이스 스테이션 보드(BSB) 내의 상기 탑 보드용 표준 I/O 버스 인터페이스부(90)를 이용하여 장착할 수 있다. 상기 탑 보드는 전자 시스템을 구성할 수 있는 여러가지 회로소자인 필드 프로그래머블 게이트 어레이(FPGA) 모듈인 상기 프로그래머블 IC 칩(40), 상기 마이크로 프로세서부(10), 디지탈 신호 처리(DSP) 보드 또는 아날로그 및 디지탈 어플리케이션 유니트 등으로 구성할 수 있고, 설계된 데이터를 이용하여 함께 에뮬레이션 할 수 있다.The top board may mount various kinds of application systems using the standard I / O bus interface unit 90 for the top board in the base station board (BSB). The top board includes the programmable IC chip 40, the microprocessor unit 10, the digital signal processing (DSP) board, or analog, which is a field programmable gate array (FPGA) module, which is various circuit elements that can form an electronic system. It can be configured as a digital application unit and emulated together using the designed data.

본 발명에 의한 하드웨어/소프트웨어 코-에뮬레이터 시스템의 동작은 단일 보드 모드(stand-alone mode)와 멀티-보드 모드(multi-board mode)의 동작 모드를 가지고 있다.The operation of the hardware / software co-emulator system according to the present invention has an operation mode of a stand-alone mode and a multi-board mode.

상기 단일 보드 모드는 하나의 베이스 스테이션 보드(BSB)와 추가적인 탑 보드(Top board)를 이용하여 동작하는 경우로 전체 공정은 도 3과 같이 실행된다.The single board mode is operated using one base station board (BSB) and an additional top board. The entire process is performed as shown in FIG. 3.

전체 구현하고자 하는 시스템을 하드웨어부와 소프트웨어부로 구분하고, 상기 소프트웨어부는 PC의 프로그래밍 컴파일러 개발 환경을 사용하여 개발하고, 상기 하드웨어부는 EDA(Electronic Design Automation)-CAD 툴을 사용하여 설계한다.The entire system is divided into a hardware unit and a software unit, the software unit is developed using a programming compiler development environment of a PC, and the hardware unit is designed using an EDA (Electronic Design Automation) -CAD tool.

설계된 데이타는 하드웨어/소프트웨어 코-에뮬레이터 시스템의 통합 그래픽 사용자 인터페이스 소프트웨어(GUI S/W)에서 읽어서 각 파트별로 하드웨어부는 상기 프로그래머블 IC칩(40)으로 소프트웨어는 상기 램(RAM)(30)으로 보드에 다운로드 되어 동작되게 된다.The designed data is read from the integrated graphic user interface software (GUI S / W) of the hardware / software co-emulator system. For each part, the hardware unit is the programmable IC chip 40 and the software is the RAM 30 to the board. It will be downloaded and run.

도 2를 참조하면, 상기 멀티-보드 모드(multi-board mode)는 두 개 이상의 상기 마이크로 프로세서부(10) 혹은 상기 프로그래머블 IC칩(40)을 이용하여 시스템을 구성하고자 할 때에 여러 개의 베이스 스테이션 보드(BSB)를 연결하여 복잡하고 큰 시스템을 구성할 수 있다.Referring to FIG. 2, the multi-board mode includes a plurality of base station boards when a system is to be configured using two or more of the microprocessor unit 10 or the programmable IC chip 40. (BSB) can be connected to form a complex and large system.

상기 멀티-보드 모드의 경우는 기본적인 설계 방식은 도 3에 도시한 바와 같이 공정을 완료한 후에 상기 베이스 스테이션 보드(BSB)간의 통신과 연결 방법을 결정하기 위한 다음과 같은 추가적인 공정이 필요하다.In the case of the multi-board mode, the basic design method requires the following additional process for determining the communication and connection method between the base station boards (BSB) after completing the process as shown in FIG.

통신 방식의 결정은 1)병렬포트(parallel port)(80)를 이용한 데이지 체인(daisey chain) 방식과 2) 구성가능한 확장 I/O 인터페이스 유니트(configurable Extensional I/O Interconnector) 방식으로 결정된다.The communication method is determined by 1) a daisy chain method using a parallel port 80 and 2) a configurable extension I / O interface unit method.

1) 병렬포트(80)를 이용한 경우1) When using parallel port 80

각 베이스 스테이션 보드의 고유 ID를 결정하고, 상기 롬 바이어스 루틴(ROM BIOS routine)을 이용한 통신 환경 소프트웨어 구성하며, 전체를 관장하는 호스트 보드의 결정하여 각 베이스 스테이션 보드의 마이크로 프로세서의 소프트웨어 다운로드 받는다.The unique ID of each base station board is determined, the communication environment software is configured using the ROM BIOS routine, the host board which manages the whole is determined, and the software of the microprocessor of each base station board is downloaded.

2) 구성가능한 확장 I/O 인터페이스 유니트(configurable Extensional I/O Interconnector)를 이용하는 경우2) using a configurable extension I / O interface unit;

각 베이스 스테이션 보드의 I/O 핀(pin)을 결정 및 I/O 핀의 특성 결정에 따른 FPGA configuration program 작성하고 다운로드 받는다.Write and download FPGA configuration program according to I / O pin of each base station board and characteristics of I / O pin.

◎ 1), 2)의 두 가지 인터페이스 방식 모두를 이용하는 방법◎ How to use both interface methods 1) and 2)

a) 병렬포트(80)와 FPGA를 이용할 부분으로 나눈다.a) Divide the parallel port 80 and the FPGA to use.

b) 병렬포트(80)와 인터페이스 구성b) Interface configuration with parallel port 80

c) 구성가능한 확장 커넥터(configurable extensional connector) 구성c) configurable extensional connector configuration

d) 병렬포트(80)와 FPGA를 이용하여 구성가능한 확장 커넥터 (configurable extensional connector)를 이용한 파트와 인터페이스 채널 구성d) Part and interface channel configuration using a configurable extensional connector using parallel port 80 and FPGA

상기 하드웨어와 컴퓨터에서 동작하는 그래픽 사용자 인터페이스(GUI) 및 하드웨어에 저장된 마이크로 프로세서와 소프트웨어가 상호 결합되어 구성되며 소프트웨어 순서별 동작은 도 3에 도시한 바와 같이 수행한다.The hardware and the Graphical User Interface (GUI) operating in the computer, the microprocessor and the software stored in the hardware are configured to be coupled to each other and the software sequence operation is performed as shown in FIG.

따라서, 멀티 기능 모듈을 지원하는 베이스 스테이션 보드 장치와 하드웨어/소프트웨어 코-에뮬레이터 구현할 수 있다.Therefore, it is possible to implement a base station board device and a hardware / software co-emulator supporting multi-function modules.

상술한 바와 같이, 본 발명에 의한 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법은 하드웨어와 소프트웨어를 동시에 에뮬레이터할 수 있는 통합된 그래픽 사용자 인터페이스(GUI) 및 드라이버 소프트웨어와 다수의 기능 모듈을 쉽게 결합하여 원하는 시스템을 구성하는 보드 레벨의 인터페이스 버스 구조를 구성하여 각 기능별 시스템을 쉽게 결합하고 하드웨어와 소프트웨어를 동시에 디자인(co-design) 및 에뮬레이션(co-emulation)할 수 있다.As described above, an apparatus and method for a hardware / software co-emulator supporting multi-function modules according to the present invention includes a number of integrated graphical user interfaces (GUIs) and driver software that can emulate hardware and software simultaneously. Function modules can be easily combined to form a board-level interface bus structure that composes the desired system, allowing easy integration of each functional system and co-design and emulation of hardware and software simultaneously.

또한, 서로 다른 종류의 프로그래머블 IC칩 및 마이크로 프로세서와 다양한종류의 기능 모듈을 쉽게 결합하여 설계하고 에뮬레이션 할 수 있도록 표준화된 버스(Bus)와 가변적인 인터페이스를 구성하여 개발자의 사용폭과 용이성을 크게 확장하고 동작 결과를 실시간으로 검증함으로써 개발 시간을 크게 단축시킬 수 있다. 기능별 모듈 라이브러리(Functional module library)의 지원으로 시스템 설계 및 구성을 용이하게 할 수 있으며 다양한 종류의 시스템 모듈을 탑-보드, 확장 보드 및 소프트웨어 패키지에 의한 기능별 솔류션으로 라이브러리(Library)화하여 제품 개발시 프로토타입 제작 시간을 단축시킬 수 있으며 전자시스템 교육을 위한 실습용 트레이닝 키트로 활용할 수 있는 효과가 있다.In addition, by using a standardized bus and variable interfaces to easily design and emulate different types of programmable IC chips and microprocessors and various types of function modules, developers can greatly expand the range and ease of use. And verify the operation results in real time, greatly reducing development time. Supporting functional module library enables easy system design and configuration. When developing products by diversifying various types of system modules into functional solutions by top boards, expansion boards, and software packages. Prototyping time can be shortened and used as a training kit for training electronic systems.

상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art will be able to variously modify and change the present invention without departing from the spirit and scope of the invention described in the claims below. It will be appreciated.

Claims (4)

전체 시스템을 관장하기 위한 제어 신호와 소프트웨어로 설계된 분분을 에뮬레이션하기 위한 마이크로 프로세서부(10);A microprocessor unit 10 for emulating a control signal and software-designated minutes for managing the entire system; 메모리 뱅크(Memory Bank)내에 존재하며 상기 마이크로 프로세서부(10)를 동작시키고, 마이크로 프로세서를 이용한 외부의 인터페이스 포트들을 제어하는 제어 신호를 발생시키도록 구성한 롬 바이오스(ROM BIOS)를 탑재하고 있는 롬(ROM)(20);A ROM existing in a memory bank and having a ROM BIOS configured to operate the microprocessor unit 10 and generate a control signal for controlling external interface ports using the microprocessor. ROM) 20; 상기 메모리 뱅크 내에 존재하며 상기 마이크로 프로세서부(10)와 상기 롬(ROM)(20)이 동작하는데 필요한 메모리 공간을 제공하고, 소프트웨어 설계된 프로그램을 외부 인터페이스를 이용하여 다운로드 받아 소프트웨어 설계를 에뮬레이션(emulation)하기 위한 램(RAM)(30);It emulates a software design that exists in the memory bank and provides a memory space required for the microprocessor unit 10 and the ROM 20 to operate, and downloads a software designed program using an external interface. RAM 30 for making; 하드웨어로 설계된 데이터를 인터페이스로부터 다운로드 받아 하드웨어 설계를 에뮬레이션하기 위한 프로그래머블 IC 칩(40);A programmable IC chip 40 for emulating a hardware design by downloading data designed in hardware from an interface; 상기 마이크로 프로세서부(10)와 상기 프로그래머블 IC칩(40)을 이용하여 하드웨어와 소프트웨어를 동시에 에뮬레이션하고, 상호 신호를 전송하고 전달받기 위한 어드레스 및 데이터 버스(Address & Data bus)(50), 제어 버스(Control bus)(60);The microprocessor unit 10 and the programmable IC chip 40 emulate hardware and software at the same time, and transmit and receive signals from each other, including an address and data bus 50 and a control bus. Control bus 60; 외부의 퍼스널 컴퓨터나 기타 다른 장치로부터 데이터를 수신하고, 외부 장치로 전송하거나 베이스 스테이션 보드(Base Station Board:BSB)간의 통신을 위한 외부 인터페이스부인 병렬포트(70)와 직렬포트(80);A parallel port 70 and a serial port 80 which receive data from an external personal computer or other device, transmit the data to an external device, or communicate with each other via a base station board (BSB); 외부의 라이브러리(library)화된 단위 기능 모듈과의 인터페이스를 하기 위한 탑 보드용 표준 I/O 인터페이스부(90); 및A standard I / O interface unit 90 for the top board for interfacing with an external library-ized unit function module; And 상기 탑 보드용 표준 I/O 인터페이스부(90) 이외에 상기 베이스 스테이션 보드(BSB)간의 입출력 인터페이스를 위하여 사용자가 필요에 따라서 입력, 출력 특성을 정의할 수 있도록 설계된 확장보드용 프로그래머블 I/O 인터페이스부(99)로 구성되는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치.Programmable I / O interface unit for expansion board designed to allow user to define input and output characteristics as needed for input / output interface between base station board (BSB) in addition to the standard I / O interface unit 90 for top board Apparatus for a hardware / software co-emulator supporting a multi-function module, characterized in that consisting of (99). 제 1 항에 있어서,The method of claim 1, 상기 마이크로 프로세서부(10)와 상기 프로그래머블 IC 칩(40)을 함께 에뮬레이션 할 수 있도록 유니트간 상호 인터커넥션을 구성하고, 외부 컴퓨터에서 병렬 포트를 이용하여 소프트웨어부와 하드웨어부 상기 프로그램머블 IC칩(40)을 함께 에뮬레이션할 수 있도록 제어 신호와 그래픽 사용자 인터페이스(Graphic User Interface:GUI)와 통신을 위한 드라이버 소프트웨어를 제공하고,Configure mutual interconnection between units so that the microprocessor unit 10 and the programmable IC chip 40 can be emulated together, and the programmable unit and the hardware unit using the parallel port in an external computer. Driver software to communicate with control signals and the Graphical User Interface (GUI) to emulate 두 개 이상의 상기 베이스 스테이션 보드(BSB)를 상호 연결할 때는 제 1 베이스 스테이션 보드(BSB)(100)의 상기 병렬포트(80)와 제 2 베이스 스테이션 보드 장치(200)의 상기 병렬포트(180)를 연결하고, 상기 제 1 베이스 스테이션 보드(BSB)(100)의 확장 보드용 프로그래머블 I/O 인터페이스부(99)와 상기 제 2 베이스 스테이션 보드(BSB)(200)의 확장 보드용 프로그래머블 I/O 인터페이스 부(199)가 데이지 체인(daisy chain) 방식으로 연결되고 제 N(N은 3이상의 정수)베이스 스테이션 보드(BSB)도 상기 데이지 체인 방식으로 연결되어, 마이크로 프로세서, 디지털 신호 처리(DSP) 보드, 상기 FPGA 모듈 등 이종 시스템과 하드웨어/소프트웨어를 각각 또는 결합하여 설계 및 검증할 수 있는 통합 그래픽 사용자 인터페이스(GUI) 소프트웨어를 사용하는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치.When the two or more base station boards (BSB) are connected to each other, the parallel port 80 of the first base station board (BSB) 100 and the parallel port 180 of the second base station board device 200 are connected. A programmable I / O interface for the expansion board of the first base station board (BSB) 100 and an expansion board for the expansion board of the second base station board (BSB) 200. The unit 199 is connected in a daisy chain manner, and the Nth (N is an integer of 3 or more) base station board (BSB) is also connected in the daisy chain manner, such as a microprocessor, a digital signal processing (DSP) board, Multi-function model using integrated graphical user interface (GUI) software that can design and verify the heterogeneous system and hardware / software, such as the FPGA module, respectively or combined. Hardware / software co-supporting-apparatus for the emulator. (a) 멀티 기능 모듈을 지원하는 베이스 스테이션 보드(BSB) 및 그래픽 사용자 인터페이스(GUI)를 에뮬레이션 대상에 따라 초기화하고(S1), 하드웨어(H/W)부분과 소프트웨어(S/W)부분을 분리하여(S2) 상기 하드웨어 부분인지를 체크하는 단계(S3);(a) Initialize the base station board (BSB) and the graphical user interface (GUI) supporting the multi-function module according to the emulation target (S1), and separate the hardware (H / W) and software (S / W) parts. (S2) checking whether it is the hardware part (S3); (b) 상기 하드웨어 부분이면 하드웨어를 설계하고(S4), 상기 설계된 하드웨어 데이터를 베이스 스테이션 보드(BSB)를 제어하는 그래픽 사용자 인터페이스(GUI)로 읽어와 하드웨어 에뮬레이션을 수행하는 단계(S5);(b) designing hardware in the hardware part (S4), and reading the designed hardware data into a graphic user interface (GUI) controlling a base station board (BSB) to perform hardware emulation (S5); (c) 상기 하드웨어 에뮬레이션을 체크하여(S6) 상기 하드웨어 에뮬레이션이 안되었으면 상기 하드웨어 설계 단계(S4)로 궤환하여 다시 실행하고, 상기 하드웨어 에뮬레이션이 완료되었으면 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation)이 필요한지를 체크하여(S7) 하드웨어/소프트웨어 코-에뮬레이션을 위해 대기하는 단계;(c) check the hardware emulation (S6), if the hardware emulation is not done, return to the hardware design step (S4) and execute it again; if the hardware emulation is complete, the hardware / software co-emulation is performed. Checking if necessary (S7) and waiting for hardware / software co-emulation; (d) 상기 소프트웨어 부분은 상기 하드웨어 부분인지를 체크하는 단계(S3)로부터 소프트웨어 설계 과정에서 코딩(coding)된(S10) 후 상기 GUI로 소프트웨어 프로그램을 로딩하여 소프트웨어 에뮬레이션을 수행하는 단계(S11);(d) performing a software emulation by loading a software program into the GUI after S10 is coded in a software design process from step S3 of checking whether the software part is the hardware part (S11); (e) 상기 소프트웨어 에뮬레이션을 체크하여(S12) 잘못되었으면 소프트웨어 코딩 단계(S10)로 다시 궤환되고, 상기 소프트웨어 에뮬레이션이 완성되었으면 하드웨어/소프트웨어 코-에뮬레이션이 필요한지를 체크하여(S13) 필요하면 하드웨어와 소프트웨어의 코-에뮬레이션(Co-emulation)(S8)을 실행하고 필요치 않으면 종료하는 단계; 및(e) Check the software emulation (S12) and if it is wrong, return to the software coding step (S10), and if the software emulation is complete, check if hardware / software co-emulation is needed (S13) and if necessary hardware and software Executing Co-emulation (S8) of S8 and ending if not necessary; And (f) 상기 하드웨어와 소프트웨어의 코-에뮬레이션(S8)이 성공적으로 완성되면 에뮬레이션 과정을 종료하고 잘못되었으면 에뮬레이터 초기화 단계로 궤환하여 다시 시작하는 단계로 구성되고, 외부 인터페이스를 다양하게 구축할 수 있는 표준 I/O 인터페이스를 이용한 베이스 스테이션 보드와 추가 기능을 갖는 라이브러리 형태의 탑 보드(Top Board) 및 확장 보드(Extension Board)를 장착할 수 있는 인터페이스를 통해 상기 표준 I/O 인터페이스를 이용하여 보드 레벨의 기능 모듈별 하드웨어 및 소프트웨어 라이브러리(library) 시스템을 구축하여 하드웨어/소프트웨어 설계를 획기적으로 개선하는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터 구현 방법.(f) If the co-emulation (S8) of the hardware and software is successfully completed, the step of terminating the emulation process and returning to the emulator initialization step if the error is completed is restarted, and a standard capable of constructing various external interfaces. A base station board using I / O interface and an interface to mount top boards and extension boards in the form of libraries with additional functions. A method of implementing a hardware / software co-emulator that supports a multi-function module, which is to dramatically improve hardware / software design by building a hardware and software library system for each function module. 제 3 항에 있어서,The method of claim 3, wherein 컴퓨터에 상기 단계(a) 내지 상기 단계(f)를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the steps (a) to (f) on a computer.
KR1019990016953A 1999-05-12 1999-05-12 Apparatus and method for hardware/software co-emulating by supporting multi-function module KR100297551B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990016953A KR100297551B1 (en) 1999-05-12 1999-05-12 Apparatus and method for hardware/software co-emulating by supporting multi-function module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990016953A KR100297551B1 (en) 1999-05-12 1999-05-12 Apparatus and method for hardware/software co-emulating by supporting multi-function module

Publications (2)

Publication Number Publication Date
KR19990064824A KR19990064824A (en) 1999-08-05
KR100297551B1 true KR100297551B1 (en) 2001-09-26

Family

ID=37528188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990016953A KR100297551B1 (en) 1999-05-12 1999-05-12 Apparatus and method for hardware/software co-emulating by supporting multi-function module

Country Status (1)

Country Link
KR (1) KR100297551B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010097514A (en) * 2000-04-24 2001-11-08 김재선 Integration type rom emulator
KR100375524B1 (en) * 2001-02-20 2003-03-17 주식회사 케이엠데이타 ROM Emulator
KR100552668B1 (en) * 2001-12-24 2006-02-20 한국전자통신연구원 Method for Synthesizing Hardware-Software interface
KR100464959B1 (en) * 2003-05-29 2005-01-06 주식회사 유니콘 Dc electronic load apparatus
KR100779014B1 (en) * 2005-11-08 2007-11-22 동부일렉트로닉스 주식회사 Method of designing hardware based on a systemc
KR100710626B1 (en) * 2005-12-27 2007-04-24 엠텍비젼 주식회사 Digital processing device and method for having extend structure of data-bus
KR101294658B1 (en) * 2012-03-30 2013-08-08 한경대학교 산학협력단 Connecting method for module of mcu electronic system using graphic user interface
KR101665850B1 (en) * 2015-02-05 2016-10-12 (주)인정보 Method for Protecting Program by Using Heterogeneous Processor Emulation

Also Published As

Publication number Publication date
KR19990064824A (en) 1999-08-05

Similar Documents

Publication Publication Date Title
US6571370B2 (en) Method and system for design verification of electronic circuits
US7340693B2 (en) System for designing re-programmable digital hardware platforms
US7418681B2 (en) Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit
US20080306722A1 (en) Logic verification system
US20070283311A1 (en) Method and system for dynamic reconfiguration of field programmable gate arrays
JP4664056B2 (en) Device that emulates the operation of electronic equipment
CN103412834B (en) The multiplexing method of a kind of single SOC and single SOC multi-operation mode
WO2008014493A2 (en) Configurable processor module accelerator using a progrmmable logic device
US7333909B1 (en) Method of and circuit for verifying a data transfer protocol
JP3644590B2 (en) Method and system for programming an FPGA on a PC card without additional hardware
US6917998B1 (en) Reusable complex multi-bus system hardware prototype system
JP2941135B2 (en) Pseudo LSI device and debug device using the same
US20020108094A1 (en) System and method for designing integrated circuits
US6832185B1 (en) Non-synchronous hardware emulator
KR100297551B1 (en) Apparatus and method for hardware/software co-emulating by supporting multi-function module
US7533211B2 (en) Cross-bar switching in an emulation environment
US20060212768A1 (en) Verification circuitry for master-slave system
CN114611445A (en) SoC software and hardware collaborative verification system and method based on FPGA prototype
US6978234B1 (en) Configurable real prototype hardware using cores and memory macros
Eck et al. In-circuit partial reconfiguration of rocketio attributes
US7130787B1 (en) Functional replicator of a specific integrated circuit and its use as an emulation device
Hauck et al. Springbok: A rapid-prototyping system for board-level designs
US6058468A (en) Central processing unit and microcomputer having testing of circuitry external to the central processing unit
Tam et al. Fast configuration of PCI express technology through partial reconfiguration
Tan et al. Complexity and Performance Evaluation of Two Partial Reconfiguration Interfaces on FPGAs: A Case Study.

Legal Events

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

Payment date: 20060417

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee