KR19990064824A - 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법 - Google Patents
멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR19990064824A KR19990064824A KR1019990016953A KR19990016953A KR19990064824A KR 19990064824 A KR19990064824 A KR 19990064824A KR 1019990016953 A KR1019990016953 A KR 1019990016953A KR 19990016953 A KR19990016953 A KR 19990016953A KR 19990064824 A KR19990064824 A KR 19990064824A
- Authority
- KR
- South Korea
- Prior art keywords
- software
- hardware
- emulation
- base station
- board
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000006870 function Effects 0.000 claims description 17
- 238000013461 design Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
본 발명은 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법에 관한 것이다. 마이크로 프로세서부(10), 롬(20), 램(30), 프로그래머블 IC 칩(40), 어드레스 및 데이터 버스(50), 제어 버스(60), 직렬포트(70), 병렬포트(80), 탑 보드용 프로그래머블 표준 I/O 인터페이스부(90) 및 확장 보드용 프로그래머블 표준 I/O 인터페이스부(99)로 구성된 하드웨어와, 제어구동 소프트웨어 및 CAD 툴로 구성된다. 하드웨어 에뮬레이터 기능은 컴퓨터의 CAD 툴에서 설계된 데이터를 시스템에 포함되는 GUI로 직렬포트(70) 또는 병렬포트(80)를 통해 프로그래머블 IC 칩(40)에 다운로드하여 실행한다. 소프트웨어 에뮬레이터 기능은 특정 프로세서용 컴파일러에서 설계된 소프트웨어를 GUI로 불러와 직렬포트 (70) 또는 병렬포트(80)를 통해 마이크로 프로세서부(10)로 다운로드받아 실행하거나, 컴퓨터의 프로그래밍/컴파일러에서 설계된 소프트웨어를 컴퓨터에서 실행하고, 이를 병렬포트(80)나 직렬포트(70)로 하드웨어에 전송하여 에뮬레이션을 실행한다. 따라서, 하드웨어와 소프트웨어를 각각 에뮬레이션 하여 검증하고, 하드웨어/소프트웨어를 동시에 에뮬레이션 할 수 있다.
Description
본 발명은 멀티 기능 모듈(Multi-function module)을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법에 관한 것으로, 특히 프로그래머블 IC와 마이크로 프로세서를 이용하여 전자 시스템의 하드웨어 및 소프트웨어의 에뮬레이션을 빠른 시간 내에 검증할 수 있는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법에 관한 것이다.
일반적으로, 하드웨어와 소프트웨어가 결합된 전자 시스템을 설계 및 검증하는 과정은 소프트웨어 에뮬레이터에서 수행하여 최종적으로 전체 구성하는 방식을 사용하였으며, 이 방법은 하드웨어와 소프트웨어 에뮬레이터 장치가 각각 분리되어 불편할 뿐만 아니라 많은 시간과 비용이 소모되었다.
또한, 에뮬레이터 시스템이 온-보드(on-board)로 구성되어 사용자의 요구가 이용하는 에뮬레이터에서 구현되지 않은 경우 별도로 사용자가 필요한 기능별 유니트를 제작해야 하는 부담이 항상 존재하였다.
종래의 마이크로 프로세서 개발 시스템(Microprocessor Development System:MDS)은 마이크로 프로세서 어플리케이션 시스템을 디자인할 때 실시간으로 프로그램을 검증하는 장치로 사용되었고, 하드웨어 에뮬레이터(H/W Emulator)는 하드웨어 시스템을 설계하여 실시간으로 검증하는 장치로 사용되있다.
그러나, 각 기능별로 상기 프로그래머블 IC 유니트와 상기 마이크로프로세서 개발 시스템(MDS) 보드의 장비가 분리되어 동시에 사용하기 불편하고, 두 종류 이상의 센서나 스텝 모터(step motor) 및 서보 모터(servo motor) 등 다른 기능을 하는 보드와 같이 에뮬레이션이 어려우며, 상기 마이크로프로세서와 상기 프로그래머블 IC 유니트가 함께 온-보드(on-board) 되어 있어 사용자가 구현하고자 하는 시스템으로 임의로 변경할 수 없게 되어 하드웨어와 소프트웨어를 동시에 에뮬레이터(Co-emulator)하는 기능이 없으며 여러 장치를 지원하는 컴퓨터의 그래픽 사용자 인터페이스(GUI) 또는 프로그래머블 IC 유니트와 마이크로 프로세서 유니트를 함께 지원하며, 보드간 인터페이스 드라이버를 지원하는 기능이 없는 문제점이 있다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 전자 장치를 설계하고 검증할 경우 하드웨어와 소프트웨어를 동일 환경에서 에뮬레이션(emulation)하여 검증하고, 사용자가 필요한 각 기능 모듈을 쉽게 변경 첨가할 수 있도록 하며, 각 분야별 기능별 모듈을 라이브러리(Library)화하여 필요에 따라 지원하여 설계 후 검증 및 시제품 제작까지를 효율적으로 일관된 공정에 따라 통합 환경에서 신속 정확하며 저비용으로 구현하기 위한 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치를 제공한다.
본 발명의 다른 목적은 상기 장치를 수행하는데 특히 적합한 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터 구현 방법을 제공한다.
도 1은 본 발명에 의한 멀티 기능 모듈을 지원하는 베이스 스테이션 보드의 시스템 구성도.
도 2는 본 발명의 일 실시예에 의한 베이스 스테이션 보드를 데이지 체인 방식의 멀티보드로 구성한 시스템 구성도.
도 3은 본 발명에 의한 하드웨어/소프트웨어 코-에뮬레이터 구현 방법을 나타낸 흐름도.
도면의 주요 부분에 대한 부호의 설명
10 : 마이크로 프로세서부 20 : 롬(ROM)
30 : 램(RAM) 40 : 프로그래머블 IC 칩
50 : 어드레스 및 데이터 버스(Address Data bus)
60 : 제어 버스(Control bus) 70 : 직렬포트(Serial port)
80 : 병렬포트(Parallel port)
90 : 탑 보드(Top board)용 표준 I/O 인터페이스부
99 : 확장 보드(Extension board)용 프로그래머블 I/O 인터페이스부
상기한 목적을 달성하기 위해 본 발명은 전체 시스템을 관장하기 위한 제어 신호와 소프트웨어로 설계된 부분을 에뮬레이션하기 위한 마이크로 프로세서부(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)로 구성되는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치를 제공한다.
상기한 다른 목적을 달성하기 위해 본 발명은 (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) 시스템을 구축하여 하드웨어/소프트웨어 설계를 획기적으로 개선하는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터 구현 방법을 제공한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 도 1은 본 발명에 의한 멀티 기능 모듈(multi-function module)을 지원하는 베이스 스테이션 보드(BSB) 장치의 시스템 구성도를 나타낸다.
상기 시스템 구성도는 마이크로 프로세서부(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 툴을 지원한다.
본 발명 시스템이 수행하는 첫째 작용은 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation) 기능은 다음과 같이 설명된다.
상기 CAD 툴 또는 소프트웨어 개발 환경에서 설계된 하드웨어 데이터 또는 소프트웨어를 컴퓨터 GUI 소프트웨어로 읽어와 상기 직렬포트(70) 또는 상기 병렬포트(80)를 통하여 상기 베이스 스테이션 보드(BSB)의 상기 프로그래머블 IC 칩(40)과 통신하여 하드웨어를 구현함으로써 하드웨어 에뮬레이션을 수행하고, 곧바로 컴퓨터 소프트웨어 개발툴 환경에서 프로그램하여 컴파일한 소프트웨어 데이터를 GUI 소프트웨어 환경으로 읽어와 상기 직렬포트(70) 또는 상기 병렬포트(80)를 통하여 상기 베이스 스테이션 보드(BSB)의 상기 마이크로 프로세서부(10)와 통신하여 상기 마이크로 프로세서부(10)를 구동하는 소프트웨어 에뮬레이션을 수행함으로써 동시에 상기 베이스 스테이션 보드(BSB)의 하드웨어/소프트웨어의 코-에뮬레이션 작용을 수행할 수 있다.
또한, 본 발명에 의한 하드웨어/소프트웨어 코-에뮬레이터를 위한 시스템은 컴퓨터의 소프트웨어 개발툴 환경에서 설계된 소프트웨어 데이터로 상기 병렬포트(80)를 통하여 외부 하드웨어를 이용하여 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation)을 수행할 수 있으며, 여러 종류의 프로세서나 프로그래머블 IC를 각각 또는 통합하여 에뮬레이션이 가능하다.
도 3을 참조하여 멀티 기능 모듈을 지원하는 하드웨어 및 소프트웨어 코-에뮬레이션 방법은 다음과 같이 설명된다. 멀티 기능 모듈을 지원하는 베이스 스테이션 보드(BSB) 및 그래픽 사용자 인터페이스(GUI)를 에뮬레이션 대상에 따라 환경을 초기화하고(단계 S1), 개발하고자하는 시스템에서 하드웨어(H/W) 부분과 소프트웨어(S/W) 부분을 분리하여(단계 S2) 상기 하드웨어 부분인지를 체크한다(단계 S3). 상기 하드웨어 부분이면 하드웨어를 설계하고(단계 S4), 상기 설계된 하드웨어 데이터를 베이스 스테이션 보드(BSB)를 제어하는 그래픽 사용자 인터페이스(GUI)로 읽어들여 하드웨어 에뮬레이션을 수행한다(단계 S5).
상기 하드웨어 에뮬레이션을 체크하여(단계 S6) 상기 하드웨어 에뮬레이션이 안되었으면 상기 하드웨어 설계 단계(단계 S4)로 궤환하여 다시 실행하고, 상기 하드웨어 에뮬레이션이 완료되었으면 하드웨어/소프트웨어 코-에뮬레이션(Co-emulation)이 필요한지를 체크하여(단계 S7) 하드웨어/소프트웨어 코-에뮬레이션을 위해 대기한다.
상기 소프트웨어 부분은 상기 하드웨어 부분인지를 체크하는 과정(단계 S3)로부터 소프트웨어 설계 과정에서 코딩(coding)된(단계 S10) 후 상기 GUI로 소프트웨어 프로그램을 로딩하여 소프트웨어 에뮬레이션을 수행한다.
상기 소프트웨어 에뮬레이션을 체크하여(단계 S12) 잘못되었으면 소프트웨어 코딩 과정으로(단계 S10) 다시 궤환되고, 상기 소프트웨어 에뮬레이션이 완성되었으면 하드웨어/소프트웨어 코-에뮬레이션이 필요한지를 체크하여(단계 S13) 필요하면 하드웨어와 소프트웨어의 코-에뮬레이션(Co-emulation)(단계 S8)을 실행하고 필요치 않으면 종료한다. 상기 하드웨어와 소프트웨어의 코-에뮬레이션(단계 S8)이 잘못되었으면 에뮬레이터 초기화 단계로 궤환하여 다시 시작하고, 성공적으로 완성되면 에뮬레이션 과정을 종료한다.
본 발명 시스템이 수행하는 둘째 작용은 상기 직렬포트(70), 상기 병렬포트 (80), 표준 입출력 버스 단자와 프로그래머블 확장 버스 단자를 통한 다양하고 효율적인 입출력 시스템의 구현된다.
본 발명에서 구현하려는 입출력(I/O) 기능을 상기 베이스 스테이션 보드(BSB)의 구조를 참고로 구체적으로 설명한다.
도 1을 참조하면, 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치는 크게 4가지로 구분된다.
상기 마이크로 프로세서부(10)는 전체 시스템을 관장하기 위한 제어 신호와 소프트웨어로 설계된 부분을 에뮬레이션하며 시스템 내외에서 전달되는 정보를 처리한다.
상기 롬(ROM)(20)은 메모리 뱅크(Memory Bank)내에 존재하며 상기 마이크로 프로세서부(10)를 동작시키고, 상기 마이크로 프로세서부(10)를 이용한 외부의 인터페이스 포트들을 제어하는 제어 신호를 발생시키도록 구성한 롬 바이오스(ROM BIOS)를 탑재한다.
상기 램(RAM)(30)은 상기 메모리 뱅크내에 존재하며 상기 마이크로 프로세서부(10)와 상기 롬(ROM)(20)이 동작하는데 필요한 메모리 공간을 제공하고, 소프트웨어 설계된 프로그램을 외부 인터페이스를 이용하여 다운로드(download) 받아 소프트웨어 설계를 에뮬레이션(emulation)한다.
상기 프로그래머블 IC 칩(40)는 시스템에서 필요한 로직과 I/O 포트를 실시간으로 구성해준다. I/O부분으로 시스템 내의 정보를 상기 어드레스 및 데이터 버스(Address Data Bus)(50), 상기 제어 버스(Control Bus)(60)와 상기 직렬포트 (70) 및 상기 병렬포트(80)를 통하여 필요한 장소로 원할히 전달해주는 역할을 수행한다.
본 발명 시스템에서 작용하는 효율적인 입출력 시스템의 구현은 상기 마이크로 프로세서부(10), 상기 메모리 뱅크에 있는 상기 롬(ROM)(20) 내의 시스템 프로그램에 포함되어 있는 상기 롬 바이어스(ROM Bios) 프로그램에 의해 상기 프로그래머블 IC 칩(40)의 I/O 단자와 상기 어드레스 및 데이터 버스(Address Data bus)(50), 상기 제어 버스(Control Bus)(60)를 제어하여 상기 탑 보드용 표준 I/O 버스 인터페이스부(90) 및 상기 확장 보드용 프로그래머블 I/O 인터페이스부(99), 상기 직렬포트(70), 상기 병렬포트(80) 등을 구동하여 실행된다.
상기 탑 보드용 표준 I/O 인터페이스부(90)는 상기 어드레스 및 데이터 버스(50), 상기 제어 버스(60)가 표준화된 핀 배치로 제공되고 상기 프로그래머블 IC 칩(40)의 I/O 단자로부터 프로그램 가능한 핀이 첨가되어 버스 구조의 신호와 제어 신호가 적합하게 결합하여 인터페이스 할 수 있다.
상기 확장 보드용 프로그래머블 I/O 인터페이스부(99)는 주로 상기 프로그래머블 IC 칩(40)의 I/O 단자와 연결되어 실시간으로 I/O 단자를 변경하여 사용할 수 있으며, 2개 이상의 베이스 스테이션 보드(BSB)를 데이지 체인(daisy chain)의 형식으로 확장하여 멀티 보드로 연결할 수 있다.
상기 직렬포트(70), 상기 병렬포트(80)는 컴퓨터 GUI와 통신을 하며 에뮬레이션 기능을 지원하며, 상기 병렬포트(80)는 IEEE 1284 표준 ECP(Extended Capabilities Port) 모드 및 EPP(Extended Parallel Port) 모드의 드라이버를 지원한다. 상기 데이지 체인(daisy chain) 형식으로 2개 이상의 베이스 스테이션 보드(BSB)를 멀티 보드로 연결할 수 있다.
멀티 베이스 스테이션 보드(BSB)를 구성하기 위해서는 상기 병렬포트(80)를 이용하는 경우, 상기 확장 보드용 프로그래머블 I/O 버스 인터페이스부(99)를 이용하는 경우 및 상기 두 가지를 모두 사용하는 경우가 있으며, 도 2에 도시된 바와 같이 상기 멀티 보드 기본적인 구성하여 구현할 수 있다.
상기 탑 보드(Top Board)는 다양한 종류의 어플리케이션(application) 시스템을 베이스 스테이션 보드(BSB) 내의 상기 탑 보드용 표준 I/O 버스 인터페이스부(90)를 이용하여 장착할 수 있다. 상기 탑 보드는 전자 시스템을 구성할 수 있는 여러가지 회로소자인 필드 프로그래머블 게이트 어레이(FPGA) 모듈인 상기 프로그래머블 IC 칩(40), 상기 마이크로 프로세서부(10), 디지탈 신호 처리(DSP) 보드 또는 아날로그 및 디지탈 어플리케이션 유니트 등으로 구성할 수 있고, 설계된 데이터를 이용하여 함께 에뮬레이션 할 수 있다.
본 발명에 의한 하드웨어/소프트웨어 코-에뮬레이터 시스템의 동작은 단일 보드 모드(stand-alone mode)와 멀티-보드 모드(multi-board mode)의 동작 모드를 가지고 있다.
상기 단일 보드 모드는 하나의 베이스 스테이션 보드(BSB)와 추가적인 탑 보드(Top board)를 이용하여 동작하는 경우로 전체 공정은 도 3과 같이 실행된다.
전체 구현하고자 하는 시스템을 하드웨어부와 소프트웨어부로 구분하고, 상기 소프트웨어부는 PC의 프로그래밍 컴파일러 개발 환경을 사용하여 개발하고, 상기 하드웨어부는 EDA(Electronic Design Automation)-CAD 툴을 사용하여 설계한다.
설계된 데이타는 하드웨어/소프트웨어 코-에뮬레이터 시스템의 통합 그래픽 사용자 인터페이스 소프트웨어(GUI S/W)에서 읽어서 각 파트별로 하드웨어부는 상기 프로그래머블 IC칩(40)으로 소프트웨어는 상기 램(RAM)(30)으로 보드에 다운로드 되어 동작되게 된다.
도 2를 참조하면, 상기 멀티-보드 모드(multi-board mode)는 두 개 이상의 상기 마이크로 프로세서부(10) 혹은 상기 프로그래머블 IC칩(40)을 이용하여 시스템을 구성하고자 할 때에 여러 개의 베이스 스테이션 보드(BSB)를 연결하여 복잡하고 큰 시스템을 구성할 수 있다.
상기 멀티-보드 모드의 경우는 기본적인 설계 방식은 도 3에 도시한 바와 같이 공정을 완료한 후에 상기 베이스 스테이션 보드(BSB)간의 통신과 연결 방법을 결정하기 위한 다음과 같은 추가적인 공정이 필요하다.
통신 방식의 결정은 1)병렬포트(parallel port)(80)를 이용한 데이지 체인(daisey chain) 방식과 2) 구성가능한 확장 I/O 인터페이스 유니트(configurable Extensional I/O Interconnector) 방식으로 결정된다.
1) 병렬포트(80)를 이용한 경우
각 베이스 스테이션 보드의 고유 ID를 결정하고, 상기 롬 바이어스 루틴(ROM BIOS routine)을 이용한 통신 환경 소프트웨어 구성하며, 전체를 관장하는 호스트 보드의 결정하여 각 베이스 스테이션 보드의 마이크로 프로세서의 소프트웨어 다운로드 받는다.
2) 구성가능한 확장 I/O 인터페이스 유니트(configurable Extensional I/O Interconnector)를 이용하는 경우
각 베이스 스테이션 보드의 I/O 핀(pin)을 결정 및 I/O 핀의 특성 결정에 따른 FPGA configuration program 작성하고 다운로드 받는다.
◎ 1), 2)의 두 가지 인터페이스 방식 모두를 이용하는 방법
a) 병렬포트(80)와 FPGA를 이용할 부분으로 나눈다.
b) 병렬포트(80)와 인터페이스 구성
c) 구성가능한 확장 커넥터(configurable extensional connector) 구성
d) 병렬포트(80)와 FPGA를 이용하여 구성가능한 확장 커넥터 (configurable extensional connector)를 이용한 파트와 인터페이스 채널 구성
상기 하드웨어와 컴퓨터에서 동작하는 그래픽 사용자 인터페이스(GUI) 및 하드웨어에 저장된 마이크로 프로세서와 소프트웨어가 상호 결합되어 구성되며 소프트웨어 순서별 동작은 도 3에 도시한 바와 같이 수행한다.
따라서, 멀티 기능 모듈을 지원하는 베이스 스테이션 보드 장치와 하드웨어/소프트웨어 코-에뮬레이터 구현할 수 있다.
상술한 바와 같이, 본 발명에 의한 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법은 하드웨어와 소프트웨어를 동시에 에뮬레이터할 수 있는 통합된 그래픽 사용자 인터페이스(GUI) 및 드라이버 소프트웨어와 다수의 기능 모듈을 쉽게 결합하여 원하는 시스템을 구성하는 보드 레벨의 인터페이스 버스 구조를 구성하여 각 기능별 시스템을 쉽게 결합하고 하드웨어와 소프트웨어를 동시에 디자인(co-design) 및 에뮬레이션(co-emulation)할 수 있다.
또한, 서로 다른 종류의 프로그래머블 IC칩 및 마이크로 프로세서와 다양한 종류의 기능 모듈을 쉽게 결합하여 설계하고 에뮬레이션 할 수 있도록 표준화된 버스(Bus)와 가변적인 인터페이스를 구성하여 개발자의 사용폭과 용이성을 크게 확장하고 동작 결과를 실시간으로 검증함으로써 개발 시간을 크게 단축시킬 수 있다. 기능별 모듈 라이브러리(Functional module library)의 지원으로 시스템 설계 및 구성을 용이하게 할 수 있으며 다양한 종류의 시스템 모듈을 탑-보드, 확장 보드 및 소프트웨어 패키지에 의한 기능별 솔류션으로 라이브러리(Library)화하여 제품 개발시 프로토타입 제작 시간을 단축시킬 수 있으며 전자시스템 교육을 위한 실습용 트레이닝 키트로 활용할 수 있는 효과가 있다.
상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (4)
- 전체 시스템을 관장하기 위한 제어 신호와 소프트웨어로 설계된 분분을 에뮬레이션하기 위한 마이크로 프로세서부(10);메모리 뱅크(Memory Bank)내에 존재하며 상기 마이크로 프로세서부(10)를 동작시키고, 마이크로 프로세서를 이용한 외부의 인터페이스 포트들을 제어하는 제어 신호를 발생시키도록 구성한 롬 바이오스(ROM BIOS)를 탑재하고 있는 롬(ROM)(20);상기 메모리 뱅크 내에 존재하며 상기 마이크로 프로세서부(10)와 상기 롬(ROM)(20)이 동작하는데 필요한 메모리 공간을 제공하고, 소프트웨어 설계된 프로그램을 외부 인터페이스를 이용하여 다운로드 받아 소프트웨어 설계를 에뮬레이션(emulation)하기 위한 램(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)로 구성되는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치.
- 제 1 항에 있어서,상기 마이크로 프로세서부(10)와 상기 프로그래머블 IC 칩(40)을 함께 에뮬레이션 할 수 있도록 유니트간 상호 인터커넥션을 구성하고, 외부 컴퓨터에서 병렬 포트를 이용하여 소프트웨어부와 하드웨어부 상기 프로그램머블 IC칩(40)을 함께 에뮬레이션할 수 있도록 제어 신호와 그래픽 사용자 인터페이스(Graphic User Interface:GUI)와 통신을 위한 드라이버 소프트웨어를 제공하고,두 개 이상의 상기 베이스 스테이션 보드(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) 소프트웨어를 사용하는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치.
- (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) 시스템을 구축하여 하드웨어/소프트웨어 설계를 획기적으로 개선하는 것을 특징으로 하는 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터 구현 방법.
- 제 3 항에 있어서,컴퓨터에 상기 단계(a) 내지 상기 단계(f)를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990016953A KR100297551B1 (ko) | 1999-05-12 | 1999-05-12 | 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990016953A KR100297551B1 (ko) | 1999-05-12 | 1999-05-12 | 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990064824A true KR19990064824A (ko) | 1999-08-05 |
KR100297551B1 KR100297551B1 (ko) | 2001-09-26 |
Family
ID=37528188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990016953A KR100297551B1 (ko) | 1999-05-12 | 1999-05-12 | 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100297551B1 (ko) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010097514A (ko) * | 2000-04-24 | 2001-11-08 | 김재선 | 통합형 롬 에뮬레이터 |
KR100375524B1 (ko) * | 2001-02-20 | 2003-03-17 | 주식회사 케이엠데이타 | Rom 에뮬레이터 |
KR100464959B1 (ko) * | 2003-05-29 | 2005-01-06 | 주식회사 유니콘 | 병렬 운용이 가능한 직류 전자 부하장치 |
KR100552668B1 (ko) * | 2001-12-24 | 2006-02-20 | 한국전자통신연구원 | 하드웨어-소프트웨어 인터페이스 합성방법 |
KR100710626B1 (ko) * | 2005-12-27 | 2007-04-24 | 엠텍비젼 주식회사 | 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법 |
KR100779014B1 (ko) * | 2005-11-08 | 2007-11-22 | 동부일렉트로닉스 주식회사 | 시스템씨를 기반으로 하는 하드웨어의 설계 방법 |
KR101294658B1 (ko) * | 2012-03-30 | 2013-08-08 | 한경대학교 산학협력단 | 그래픽 인터페이스를 이용한 마이크로컨트롤러 전자시스템의 모듈 연결 방법 |
KR20160096451A (ko) * | 2015-02-05 | 2016-08-16 | (주)인정보 | 이종 프로세서 에뮬레이션을 이용한 프로그램 보안 강화 방법 |
-
1999
- 1999-05-12 KR KR1019990016953A patent/KR100297551B1/ko not_active IP Right Cessation
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010097514A (ko) * | 2000-04-24 | 2001-11-08 | 김재선 | 통합형 롬 에뮬레이터 |
KR100375524B1 (ko) * | 2001-02-20 | 2003-03-17 | 주식회사 케이엠데이타 | Rom 에뮬레이터 |
KR100552668B1 (ko) * | 2001-12-24 | 2006-02-20 | 한국전자통신연구원 | 하드웨어-소프트웨어 인터페이스 합성방법 |
KR100464959B1 (ko) * | 2003-05-29 | 2005-01-06 | 주식회사 유니콘 | 병렬 운용이 가능한 직류 전자 부하장치 |
KR100779014B1 (ko) * | 2005-11-08 | 2007-11-22 | 동부일렉트로닉스 주식회사 | 시스템씨를 기반으로 하는 하드웨어의 설계 방법 |
KR100710626B1 (ko) * | 2005-12-27 | 2007-04-24 | 엠텍비젼 주식회사 | 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법 |
KR101294658B1 (ko) * | 2012-03-30 | 2013-08-08 | 한경대학교 산학협력단 | 그래픽 인터페이스를 이용한 마이크로컨트롤러 전자시스템의 모듈 연결 방법 |
KR20160096451A (ko) * | 2015-02-05 | 2016-08-16 | (주)인정보 | 이종 프로세서 에뮬레이션을 이용한 프로그램 보안 강화 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100297551B1 (ko) | 2001-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7730353B2 (en) | Memory-based trigger generation scheme in an emulation environment | |
US5946472A (en) | Apparatus and method for performing behavioral modeling in hardware emulation and simulation environments | |
US8412918B1 (en) | Booting mechanism for FPGA-based embedded system | |
JPH07334384A (ja) | 多重プロセッサ・エミュレーション・システム | |
JP3644590B2 (ja) | 追加のハードウェア無しにpcカード上のfpgaをプログラムする方法及びシステム | |
CN110941444B (zh) | 一种升级配置逻辑电路、方法、系统及可编程逻辑器件 | |
US6917998B1 (en) | Reusable complex multi-bus system hardware prototype system | |
CN107656882A (zh) | 一种通用串行总线控制器验证方法、系统及设备 | |
CN113270137B (zh) | 一种基于fpga嵌入式软核的ddr2测试方法 | |
JP2941135B2 (ja) | 疑似lsi装置及びそれを用いたデバッグ装置 | |
US9310863B2 (en) | Multi-purpose power controller and method | |
US20020108094A1 (en) | System and method for designing integrated circuits | |
US7822909B2 (en) | Cross-bar switching in an emulation environment | |
KR100297551B1 (ko) | 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법 | |
CN113505066A (zh) | 用于验证被测试模块的方法以及验证系统 | |
CN114611445A (zh) | 基于FPGA原型的SoC软硬件协同验证系统及方法 | |
US20060212768A1 (en) | Verification circuitry for master-slave system | |
US6978234B1 (en) | Configurable real prototype hardware using cores and memory macros | |
US6058468A (en) | Central processing unit and microcomputer having testing of circuitry external to the central processing unit | |
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 | |
CN114328342A (zh) | 一种用于PCIe异构加速卡的新型程控配置方法 | |
Tan et al. | Complexity and Performance Evaluation of Two Partial Reconfiguration Interfaces on FPGAs: A Case Study. | |
US20230342528A1 (en) | Mixed signal feedback design for verification | |
US20030200070A1 (en) | Simulation of uncharacterized hardware |
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 |