KR102335715B1 - Embedded hardware development and verification framework based on virtualization - Google Patents

Embedded hardware development and verification framework based on virtualization Download PDF

Info

Publication number
KR102335715B1
KR102335715B1 KR1020150172391A KR20150172391A KR102335715B1 KR 102335715 B1 KR102335715 B1 KR 102335715B1 KR 1020150172391 A KR1020150172391 A KR 1020150172391A KR 20150172391 A KR20150172391 A KR 20150172391A KR 102335715 B1 KR102335715 B1 KR 102335715B1
Authority
KR
South Korea
Prior art keywords
tool
hardware
fpga
emulation
development
Prior art date
Application number
KR1020150172391A
Other languages
Korean (ko)
Other versions
KR20170065965A (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 KR1020150172391A priority Critical patent/KR102335715B1/en
Publication of KR20170065965A publication Critical patent/KR20170065965A/en
Application granted granted Critical
Publication of KR102335715B1 publication Critical patent/KR102335715B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Abstract

본 발명은 임베디드 시스템을 위한 하드웨어 IP를 개발하고 검증하기 위한 시스템에 관한 것으로, 특히 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조에 관한 것이다.
본 발명의 실시예에 따른 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크는,
검증하고자 하는 FPGA 기반의 플랫폼과 연결되는 버스를 인식하기 위한 하드웨어 인터페이스 에뮬레이션 및 가상화된 임베디드 시스템 하드웨어를 생성하여 상위 운영체제에 구동환경을 제공하기 위한 시스템 에뮬레이션 도구와, 상기 시스템 에뮬레이션 도구 상에 위치하며, 적어도 상기 검증하고자 하는 FPGA 기반의 플랫폼이 장착되는 타겟 시스템의 운영체제와 루트 파일 시스템, 부트로더를 포함하는 타겟 시스템 도구와, 상기 타겟 시스템 도구 상에서 실행되어 상기 FPGA 기반의 플랫폼 성능을 평가하기 위한 성능평가용 앱 도구와, 상기 타겟 시스템 도구 상에서 실행되는 상기 FPGA 기반의 플랫폼용 시스템 소프트웨어 도구를 포함함을 특징으로 한다.
The present invention relates to a system for developing and verifying hardware IP for an embedded system, and more particularly, to a virtualization-based embedded hardware development and verification framework structure.
Virtualization-based embedded hardware development and verification framework according to an embodiment of the present invention,
A system emulation tool for providing a driving environment to the upper operating system by creating hardware interface emulation and virtualized embedded system hardware for recognizing a bus connected to the FPGA-based platform to be verified, and located on the system emulation tool, A target system tool including at least an operating system, a root file system, and a bootloader of the target system on which the FPGA-based platform to be verified is mounted, and a performance evaluation for evaluating the performance of the FPGA-based platform by running on the target system tool It is characterized in that it includes an app tool for the application, and a system software tool for the FPGA-based platform that is executed on the target system tool.

Description

가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조{EMBEDDED HARDWARE DEVELOPMENT AND VERIFICATION FRAMEWORK BASED ON VIRTUALIZATION}Virtualization-based embedded hardware development and verification framework structure

본 발명은 임베디드 시스템을 위한 하드웨어 IP를 개발하고 검증하기 위한 시스템에 관한 것으로, 특히 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조에 관한 것이다.The present invention relates to a system for developing and verifying hardware IP for an embedded system, and more particularly, to a virtualization-based embedded hardware development and verification framework structure.

임베디드 시스템은 마이크로 프로세서 혹은 마이크로 컨트롤러를 내장(embedded) 하여 원래 제작자가 지정한 기능만을 수행하는 장치를 의미하여, 일반적으로 보다 큰 시스템의 일부로서 특별한 업무를 수행하기 위한 하드웨어와 소프트웨어를 포함하고 있는 특정한 응용시스템을 말한다.Embedded system refers to a device that has a microprocessor or microcontroller embedded therein and performs only the functions specified by the original manufacturer say the system

임베디드 시스템은 다양한 응용분야, 예를 들면 공장자동화, 가정자동화, 로봇제어, 공정제어를 포함하는 제어분야, 핸드폰, PDA, 스마트폰, LBS 등을 포함하는 단말기기 분야, 프린터, 인터넷 냉장고, 게임기, HDTV 등을 포함하는 정보가전기기 분야, 교환기, 라우터, 홈서버, 홈 게이트웨이 등을 포함하는 네트워크 기기 분야 등 다양하게 적용되고 있다.Embedded systems are widely used in various application fields, for example, factory automation, home automation, robot control, control field including process control, mobile phone, PDA, smart phone, terminal device field including LBS, printer, Internet refrigerator, game machine, It is widely applied to the field of information appliances including HDTV, and the field of network devices including switchboards, routers, home servers, and home gateways.

다양한 기술분야에서 사용되고 있는 임베디드 시스템용 하드웨어 로직을 개발하기 위해서는 하드웨어 로직의 개발, 소프트웨어의 개발, 시스템 연동, 통합 검증 그리고 칩 개발 후 테스트와 같은 일련의 절차를 거쳐야 한다. 문제는 하드웨어 로직이 준비되고 소프트웨어 개발과 시스템 연동을 통한 검증의 절차를 거치는 과정에서 개발 플랫폼의 준비에 필요한 시간과 리소스가 너무 많이 소모된다는 점이다.In order to develop hardware logic for embedded systems used in various technical fields, a series of procedures such as hardware logic development, software development, system interlocking, integration verification, and chip development and post-testing are required. The problem is that too much time and resources are consumed for the preparation of the development platform in the process of preparing the hardware logic and going through the verification process through software development and system linkage.

예를 들어, 리눅스 기반의 임베디드 시스템용 메모리 로직을 개발하고자 할 때, 하드웨어 개발을 위한 FGPA 플랫폼을 설계 및 제작하고, 하드웨어 개발이 끝나면 FPGA 플랫폼에 예상되는 여러 임베디드 시스템을 특정 인터페이스로 연결하고, 이를 검증하고 수정하는 방식으로 진행한다.For example, when developing memory logic for Linux-based embedded systems, the FGPA platform is designed and manufactured for hardware development. After hardware development, several embedded systems expected in the FPGA platform are connected with a specific interface, Proceed in a way to verify and correct.

이러한 경우 많은 하드웨어 플랫폼을 제작하여야 하고, 검증을 위한 별도의 인터페이스와 개발 도구들을 준비하여야 한다. 또한 검증을 통해 문제점 또는 성능의 개선을 위해 하드웨어를 수정할 필요가 있는 경우, 개발 환경을 위한 자금과 자원은 더욱 커질 수 있으며, 하드웨어의 개발과 소프트웨어의 개발 환경이 분리되어 있기 때문에 시간적 손실이 초래됨은 물론, 복잡한 절차로 인해 하드웨어 개발 및 검증 작업 효율이 저하될 수 밖에 없다.In this case, many hardware platforms must be manufactured, and separate interfaces and development tools for verification must be prepared. In addition, if it is necessary to modify hardware to improve problems or performance through verification, funds and resources for the development environment can be increased, and time loss is caused because the development environment of hardware and software are separated. Of course, the efficiency of hardware development and verification work is inevitably reduced due to the complicated procedure.

중국공개특허 제101499937호Chinese Laid-Open Patent No. 101499937

이에 본 발명의 목적은 상술한 단점을 해결하기 위해 창안된 발명으로서, 본 발명의 목적은 임베디드 시스템용 하드웨어 로직과, 관련 임베디드 소프트웨어 개발을 위한 단일 프레임워크를 제공함으로써, 다양한 하드웨어와 다양한 소프트웨어 환경에서 임베디드 시스템을 개발 및 검증할 수 있는 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조를 제공함에 있다.Accordingly, an object of the present invention is as an invention devised to solve the above-mentioned disadvantages, and an object of the present invention is to provide a single framework for developing hardware logic for an embedded system and related embedded software, so that it can be used in various hardware and software environments. It is to provide a virtualization-based embedded hardware development and verification framework structure that can develop and verify embedded systems.

더 나아가 본 발명의 또 다른 목적은 다양한 시스템 시뮬레이터 및 분석, 디버깅 도구를 적용할 수 있는 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조를 제공함에 있다.Furthermore, another object of the present invention is to provide a virtualization-based embedded hardware development and verification framework structure to which various system simulators and analysis and debugging tools can be applied.

상술한 기술적 과제를 해결하기 위한 본 발명의 실시예에 따른 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조는,A virtualization-based embedded hardware development and verification framework structure according to an embodiment of the present invention for solving the above-described technical problem,

검증하고자 하는 FPGA 기반의 플랫폼과 연결되는 버스를 인식하기 위한 하드웨어 인터페이스 에뮬레이션 및 가상화된 임베디드 시스템 하드웨어를 생성하여 상위 운영체제에 구동환경을 제공하기 위한 시스템 에뮬레이션 도구와;a system emulation tool for providing a driving environment to a higher operating system by generating hardware interface emulation and virtualized embedded system hardware for recognizing a bus connected to the FPGA-based platform to be verified;

상기 시스템 에뮬레이션 도구 상에 위치하며, 적어도 상기 검증하고자 하는 FPGA 기반의 플랫폼이 장착되는 타겟 시스템의 운영체제와 루트 파일 시스템, 부트로더를 포함하는 타겟 시스템 도구와;a target system tool located on the system emulation tool and including at least an operating system, a root file system, and a boot loader of a target system on which the FPGA-based platform to be verified is mounted;

상기 타겟 시스템 도구 상에서 실행되어 상기 FPGA 기반의 플랫폼 성능을 평가하기 위한 성능평가용 앱 도구와;an app tool for performance evaluation that is executed on the target system tool to evaluate the performance of the FPGA-based platform;

상기 타겟 시스템 도구 상에서 실행되는 상기 FPGA 기반의 플랫폼용 시스템 소프트웨어 도구;를 포함함을 특징으로 한다.and a system software tool for the FPGA-based platform that is executed on the target system tool.

상술한 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조에서 상기 시스템 에뮬레이션 도구는 QEMU로서, 하드웨어 인터페이스 에뮬레이션과 시스템 에뮬레이션을 포함함을 또 다른 특징으로 한다.In the above-described virtualization-based embedded hardware development and verification framework structure, the system emulation tool is QEMU, and another feature is that it includes hardware interface emulation and system emulation.

더 나아가 상술한 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조는 상기 타겟 시스템 도구 상에서 실행 가능한 GUI 기반의 통합 개발 환경(IDE) 도구를 더 포함함을 또 다른 특징으로 한다.Furthermore, the above-described virtualization-based embedded hardware development and verification framework structure is another feature that further includes a GUI-based integrated development environment (IDE) tool that can be executed on the target system tool.

상술한 과제 해결 수단에 따르면, 본 발명은 임베디드 시스템용 하드웨어 로직과, 관련 임베디드 소프트웨어 개발을 위한 단일 프레임워크를 제공함으로써 다양한 하드웨어와 다양한 소프트웨어 환경에서 소프트웨어의 개발 및 검증이 가능한 효과가 있으며,According to the above-described problem solving means, the present invention has the effect of enabling development and verification of software in various hardware and various software environments by providing a single framework for developing hardware logic for an embedded system and related embedded software,

보다 다양한 시스템 시뮬레이터 및 분석, 디버깅 도구의 적용이 가능하고,It is possible to apply more various system simulators, analysis, and debugging tools,

하드웨어 개발과 시스템 소프트웨어 개발과의 병렬적 개발이 가능해 효율성을 향상시킬 수 있는 장점이 있다.It has the advantage of improving efficiency by enabling parallel development between hardware development and system software development.

또한 시스템을 에뮬레이션하는 가상화 기반의 시스템 에뮬레이션 도구와 소프트웨어 개발 플랫폼을 단일화함으로써, 소프트웨어 개발과 시스템 연동을 통한 검증 절차를 거치는 과정에서 발생하게 되는 시간과 리소스의 낭비를 줄일 수 있는 효과가 있다.In addition, by unifying the virtualization-based system emulation tool and software development platform that emulates the system, there is an effect of reducing the waste of time and resources that occur during the verification process through software development and system interlocking.

도 1은 본 발명의 실시예에 따른 가상화 기반 임베디드 하드웨어 개발 및 검증 프레임워크 구조 예시도.1 is an exemplary diagram of a virtualization-based embedded hardware development and verification framework structure according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 관련된 공지 기능 혹은 구성과 같은 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that detailed descriptions such as related known functions or configurations may unnecessarily obscure the gist of the present invention, a detailed description thereof will be omitted.

도 1은 본 발명의 실시예에 따른 가상화 기반 임베디드 하드웨어 개발 및 검증 프레임워크 구조도를 예시한 것이다.1 illustrates a structural diagram of a virtualization-based embedded hardware development and verification framework according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 실시예에 따른 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크는,Referring to Figure 1, the virtualization-based embedded hardware development and verification framework according to the embodiment of the present invention,

검증하고자 하는 FPGA 기반의 플랫폼(150)과 연결되는 버스(PCI 버스)를 인식하기 위한 하드웨어 인터페이스 에뮬레이션(HW I/F Emulation) 및 가상화된 임베디드 시스템 하드웨어를 생성(System Emulation)하여 상위 운영체제(OS)에 구동환경을 제공하기 위한 시스템 에뮬레이션 도구(250)와,Hardware interface emulation (HW I/F Emulation) for recognizing the bus (PCI bus) connected to the FPGA-based platform 150 to be verified and virtualized embedded system hardware are created (System Emulation) to create an upper operating system (OS) A system emulation tool 250 for providing a driving environment to the

상기 시스템 에뮬레이션 도구(250) 상에 위치하며, 적어도 상기 검증하고자 하는 FPGA 기반의 플랫폼(150)이 장착되는 타겟 시스템의 운영체제와 루트 파일 시스템, 부트로더를 포함하는 타겟 시스템 도구(300)와,A target system tool 300 located on the system emulation tool 250 and including at least an operating system, a root file system, and a boot loader of the target system on which the FPGA-based platform 150 to be verified is mounted;

상기 타겟 시스템 도구(300) 상에서 실행되어 상기 FPGA 기반의 플랫폼(150) 성능을 평가하기 위한 성능평가용 앱 도구(350)와,An app tool 350 for performance evaluation that is executed on the target system tool 300 to evaluate the performance of the FPGA-based platform 150;

상기 타겟 시스템 도구(300) 상에서 실행되는 상기 FPGA 기반의 플랫폼용 시스템 소프트웨어(System SW for HW IP) 도구(400)를 포함한다.and a system software (System SW for HW IP) tool 400 for the FPGA-based platform executed on the target system tool 300 .

상기 시스템 에뮬레이션 도구(250)는 QEMU, SID, SimOS 중 어느 하나를 이용할 수 있으며, 하드웨어 인터페이스 에뮬레이션과 시스템 에뮬레이션을 포함한다.The system emulation tool 250 may use any one of QEMU, SID, and SimOS, and includes hardware interface emulation and system emulation.

더 나아가 본 발명의 실시예에 따른 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크는 상기 타겟 시스템 도구(300) 상에서 실행 가능한 GUI 기반의 통합 개발 환경(IDE) 도구를 더 포함함으로써, 임베디드 소프트웨어 개발에 필요한 모든 개발 도구들을 GUI 기반의 단일 환경에서 지원 가능하다. 즉, 통합 개발 환경(IDE) 도구에서는 개발 하드웨어 로직(예를 들면 FPGA 플랫폼)이 동작하는 타겟 운영체제, 파일 시스템, 디바이스 드라이버의 개발에 필요한 빌드(build), 디버깅(debugging), 성능 분석의 기능을 포함한다.Furthermore, the virtualization-based embedded hardware development and verification framework according to an embodiment of the present invention further includes a GUI-based integrated development environment (IDE) tool that can be executed on the target system tool 300 , so that it is necessary for embedded software development. All development tools can be supported in a single GUI-based environment. That is, in the integrated development environment (IDE) tool, the functions of build, debugging, and performance analysis necessary for the development of the target operating system, file system, and device driver in which the development hardware logic (eg, FPGA platform) operates are provided. include

상술한 구성을 가지는 본 발명의 실시예에 따른 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크는 경우에 따라 FPGA 플랫폼(150)을 대신할 수 있는 하드웨어 시뮬레이터(500)와 접속 가능함은 물론, FPGA 플랫폼(150)에 대한 성능을 분석하기 위한 별도의 분석기(450)와 접속될 수 있다.The virtualization-based embedded hardware development and verification framework according to an embodiment of the present invention having the above configuration can be connected to the hardware simulator 500 that can replace the FPGA platform 150 in some cases, as well as the FPGA platform ( 150) may be connected to a separate analyzer 450 for analyzing the performance.

참고적으로 FPGA 플랫폼(150)은 도시된 바와 같이 PCI 버스와 같은 버스 인터페이스를 통해 개발 플랫폼(워크스테이션)과 연결되며, 개발 플랫폼은 다시 하드웨어 확장을 위해 다수의 레거시 주변기기(Legacy Peri)와 연결 가능하다.For reference, the FPGA platform 150 is connected with the development platform (workstation) through a bus interface such as a PCI bus as shown, and the development platform can be connected with a number of legacy peripherals (Legacy Peri) for hardware expansion again do.

이하 상술한 구성을 가지는 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크의 동작을 부연 설명하면,Hereinafter, the operation of the virtualization-based embedded hardware development and verification framework having the above-described configuration will be described in detail.

우선, 임베디드 시스템용 하드웨어 로직을 설계하여 이를 FPGA 플랫폼(150)으로 꾸며 PCI 버스를 통해 개발 워크스테이션의 개발 플랫폼과 연결한다. 상기 개발 워크스테이션은 하나의 프레임워크로서 상위에 개발하고자 하는 하드웨어 IP가 동작할 수 있는 에뮬레이션 환경을 제공한다.First, the hardware logic for the embedded system is designed, decorated with the FPGA platform 150, and connected to the development platform of the development workstation through the PCI bus. As a framework, the development workstation provides an emulation environment in which a hardware IP to be developed above can operate.

즉, QEMU와 같은 시스템 에뮬레이션 도구(250)는 다양한 기존 임베디드 시스템 하드웨어를 에뮬레이션 하는 기능을 담당하여 상위 운영체제의 시스템 소프트웨어 환경이 동작하게 한다. 참고적으로 시스템 에뮬레이션 도구(250)내의 하드웨어 인터페이스 에뮬레이션은 장착되는 FPGA 플랫폼(150)의 인터페이스를 본래 목적하고자 하는 하드웨어 인터페이스로 추상화하여 에뮬레이션한다. 이로써, 타겟 시스템 도구(300)는 FPGA 플랫폼(150)을 정상적으로 인지할 수 있게 된다.That is, the system emulation tool 250 such as QEMU is responsible for emulating various existing embedded system hardware so that the system software environment of the upper operating system operates. For reference, the hardware interface emulation in the system emulation tool 250 abstracts and emulates the interface of the mounted FPGA platform 150 as a hardware interface intended for the original purpose. Accordingly, the target system tool 300 can normally recognize the FPGA platform 150 .

호스트에서 실행 가능한 통합 개발 환경 툴에서는 개발 하드웨어 로직이 동작하는 타겟 운영체제, 파일 시스템, 디바이스 드라이버의 개발에 필요한 빌드, 디버깅, 성능 분석의 기능을 포함하고 있으므로, 이를 통해 개발자는 임베디드 시스템의 소프트웨어 개발과 시스템 연동을 통한 검증 절차를 밟는다.The integrated development environment tool that can be executed on the host includes the functions of build, debugging, and performance analysis necessary for the development of the target operating system, file system, and device driver in which the development hardware logic operates. Go through the verification process through system linkage.

통합 개발 환경(IDE) 툴은 동작의 검증 및 성능 분석을 위해 필요할 경우 워크스테이션 프레임워크가 보유한 시스템 주변장치(200)로부터의 연결 및 동작을 가능하게 함으로써, 다양한 검증 환경을 제공할 수도 있다.The integrated development environment (IDE) tool may provide various verification environments by enabling connection and operation from the system peripheral device 200 possessed by the workstation framework when necessary for operation verification and performance analysis.

이러한 검증 기능은 가상화 기반의 하드웨어 인터페이스 에뮬레이션을 통해 타겟 임베디드 시스템에 제공될 수 있으며, IDE 툴을 이용해 개발한 타겟 시스템 소프트웨어는 이를 제공받아 사용한다.This verification function can be provided to the target embedded system through virtualization-based hardware interface emulation, and the target system software developed using the IDE tool is provided and used.

참고적으로 시스템 에뮬레이션은 별도의 다양한 시스템 분석도구들을 실시간 또는 오프라인상에서 분석 및 디버깅이 가능하며, 하드웨어 동작에서의 문제점은 HW IP의 소프트웨어 시뮬레이터를 통해서 비교 분석이 가능하다.For reference, system emulation enables analysis and debugging of various separate system analysis tools in real time or offline, and comparative analysis of hardware operation problems is possible through software simulator of HW IP.

본 발명의 실시예에서와 같이 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크를 설계하면, 임베디드 시스템용 하드웨어 로직과, 관련 임베디드 소프트웨어 개발을 위한 단일 프레임워크를 제공함으로써 다양한 하드웨어와 다양한 소프트웨어 환경에서 개발 및 검증이 가능한 효과가 있으며, 보다 다양한 시스템 시뮬레이터 및 분석, 디버깅 도구의 적용이 가능하고, 하드웨어 개발과 시스템 소프트웨어 개발과의 병렬적 개발이 가능해 효율성을 향상시킬 수 있는 장점이 있다.If a virtualization-based embedded hardware development and verification framework is designed as in the embodiment of the present invention, it provides a single framework for the development of hardware logic for embedded systems and related embedded software, thereby enabling development and development in various hardware and various software environments. There is an effect that can be verified, and it is possible to apply more various system simulators, analysis, and debugging tools, and it has the advantage of improving efficiency by enabling parallel development with hardware development and system software development.

또한 시스템을 에뮬레이션하는 가상화 기반의 시스템 에뮬레이션 도구와 소프트웨어 개발 플랫폼을 단일화함으로써, 소프트웨어 개발과 시스템 연동을 통한 검증 절차를 거치는 과정에서 발생하게 되는 시간과 리소스의 낭비를 줄일 수 있는 효과가 있다.In addition, by unifying the virtualization-based system emulation tool and software development platform that emulates the system, there is an effect of reducing the waste of time and resources that occur during the verification process through software development and system interlocking.

이상은 도면에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.The above has been described with reference to the embodiments shown in the drawings, which are merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be defined only by the appended claims.

Claims (3)

검증하고자 하는 FPGA 기반의 플랫폼과 연결되는 버스를 인식하기 위한 하드웨어 인터페이스 에뮬레이션 및 가상화된 임베디드 시스템 하드웨어를 생성하여 상위 운영체제에 구동환경을 제공하기 위한 시스템 에뮬레이션 도구와;
상기 시스템 에뮬레이션 도구 상에 위치하며, 적어도 상기 검증하고자 하는 FPGA 기반의 플랫폼이 장착되는 타겟 시스템의 운영체제와 루트 파일 시스템, 부트로더를 포함하는 타겟 시스템 도구와;
상기 타겟 시스템 도구 상에서 실행되어 상기 FPGA 기반의 플랫폼 성능을 평가하기 위한 성능평가용 앱 도구와;
상기 타겟 시스템 도구 상에서 실행되는 상기 FPGA 기반의 플랫폼용 시스템 소프트웨어 도구;를 포함하고,
상기 시스템 에뮬레이션 도구 내의 상기 하드웨어 인터페이스 에뮬레이션은 상기 타겟 시스템 도구가 상기 FPGA 기반 플랫폼을 정상적으로 인지하도록, 상기 타겟 시스템에 장착되는 상기 FPGA 기반 플랫폼의 인터페이스를, 목적하는 하드웨어 인터페이스로 추상화하여 에뮬레이션하는 것을 특징으로 하는 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조.
a system emulation tool for providing a driving environment to an upper operating system by generating hardware interface emulation and virtualized embedded system hardware for recognizing a bus connected to the FPGA-based platform to be verified;
a target system tool located on the system emulation tool and including at least an operating system, a root file system, and a boot loader of a target system on which the FPGA-based platform to be verified is mounted;
an app tool for performance evaluation that is executed on the target system tool and evaluates the performance of the FPGA-based platform;
a system software tool for the FPGA-based platform running on the target system tool;
The hardware interface emulation in the system emulation tool abstracts and emulates the interface of the FPGA-based platform mounted on the target system as a target hardware interface so that the target system tool normally recognizes the FPGA-based platform. Virtualization-based embedded hardware development and verification framework structure.
청구항 1에 있어서, 상기 시스템 에뮬레이션 도구는 QEMU, SID, SimOS 중 어느 하나이며, 하드웨어 인터페이스 에뮬레이션과 시스템 에뮬레이션을 포함함을 특징으로 하는 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조.
The structure of claim 1, wherein the system emulation tool is any one of QEMU, SID, and SimOS, and includes hardware interface emulation and system emulation.
청구항 1에 있어서, 상기 타겟 시스템 도구 상에서 실행 가능한 GUI 기반의 통합 개발 환경(IDE) 도구를 더 포함함을 또 다른 특징으로 하는 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조.The virtualization-based embedded hardware development and verification framework structure according to claim 1, further comprising a GUI-based integrated development environment (IDE) tool executable on the target system tool.
KR1020150172391A 2015-12-04 2015-12-04 Embedded hardware development and verification framework based on virtualization KR102335715B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150172391A KR102335715B1 (en) 2015-12-04 2015-12-04 Embedded hardware development and verification framework based on virtualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150172391A KR102335715B1 (en) 2015-12-04 2015-12-04 Embedded hardware development and verification framework based on virtualization

Publications (2)

Publication Number Publication Date
KR20170065965A KR20170065965A (en) 2017-06-14
KR102335715B1 true KR102335715B1 (en) 2021-12-06

Family

ID=59218340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150172391A KR102335715B1 (en) 2015-12-04 2015-12-04 Embedded hardware development and verification framework based on virtualization

Country Status (1)

Country Link
KR (1) KR102335715B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054980B1 (en) * 2017-12-21 2019-12-12 주식회사 팝콘사 Computing system and method for automatically generating embedded software on virtualized system
EP3961389A1 (en) * 2020-08-26 2022-03-02 The Boeing Company Virtual machine for developing and testing target code for hardware designs
CN113760774B (en) * 2021-09-28 2023-10-27 中汽创智科技有限公司 OTA simulation test method, platform and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095161A2 (en) * 2000-06-02 2001-12-13 Virtio Corporation Method and system for virtual prototyping
KR200383961Y1 (en) * 2005-02-25 2005-05-10 주식회사 휴인스 Development and Practice Device to Embedded and DSP Processor and FPGA Processor
US20150178018A1 (en) * 2013-12-19 2015-06-25 Sony Computer Entertainment America Llc Mass storage virtualization for cloud computing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100665134B1 (en) * 2004-12-09 2007-01-04 한국전자통신연구원 The root file system configuration and operation method for the embedded system, and mobile terminal using the method
KR100638476B1 (en) * 2004-12-22 2006-10-26 삼성전자주식회사 Virtual platform based system on chip development environment and development method for the same
KR100952680B1 (en) * 2008-09-01 2010-04-13 주식회사 케이티 Platform developing appratus for mobile communication device
KR101026678B1 (en) * 2009-06-26 2011-04-04 한국산업기술대학교산학협력단 Apparatus for interfacing emulator and method thereof
KR20110037140A (en) * 2009-10-06 2011-04-13 선문대학교 산학협력단 System for providing virtual development environment for embedded software

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095161A2 (en) * 2000-06-02 2001-12-13 Virtio Corporation Method and system for virtual prototyping
KR200383961Y1 (en) * 2005-02-25 2005-05-10 주식회사 휴인스 Development and Practice Device to Embedded and DSP Processor and FPGA Processor
US20150178018A1 (en) * 2013-12-19 2015-06-25 Sony Computer Entertainment America Llc Mass storage virtualization for cloud computing

Also Published As

Publication number Publication date
KR20170065965A (en) 2017-06-14

Similar Documents

Publication Publication Date Title
Corteggiani et al. Inception:{System-Wide} security testing of {Real-World} embedded systems software
Johnson et al. Jetset: Targeted firmware rehosting for embedded systems
EP3382536B1 (en) Emulation of hardware components
KR102335715B1 (en) Embedded hardware development and verification framework based on virtualization
JP7321839B2 (en) General Purpose Virtualization Platform for Systems Using Hardware Abstraction Software Layers
CN105323161A (en) Method and system for implementing virtualization router based on Windows platform
US20120173221A1 (en) Emulation of an Automation System
Fonseca et al. Multinyx: a multi-level abstraction framework for systematic analysis of hypervisors
Cho et al. A full-system VM-HDL co-simulation framework for servers with PCIe-connected FPGAs
EP3435229B1 (en) System integration using virtualization
KR20110037140A (en) System for providing virtual development environment for embedded software
CN115374017A (en) Method for capturing site during simulation running of executable file and computing equipment
CN103136060B (en) Progress control method and operating control device
Dinda Towards virtual passthrough I/O on commodity devices
Sampath et al. Efficient embedded software development using QEMU
Gutierrez et al. Virtualization and Validation of Emulated STM-32 Blue Pill Using the QEMU Open-Source Framework
Binder Migration of processes from shared to dedicated systems
EP3961389A1 (en) Virtual machine for developing and testing target code for hardware designs
US9836387B1 (en) System and method for implementing a debugger as a server
Yang et al. A Method for Reducing Simulation Timing Deviation in QEMU-Based Virtual ECU
CN109408193B (en) Virtual machine implementation method and device and computer equipment
Jünger et al. Virtual Platform Acceleration through Userspace Host Execution
Kurikka Testing embedded software in a simulated environment
WO2013167394A1 (en) Instruction execution simulation method using trapped addresses and associated hardware
Mu et al. Asurvey of virtual prototyping techniques for system development and validation

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
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