KR100552668B1 - Method for Synthesizing Hardware-Software interface - Google Patents

Method for Synthesizing Hardware-Software interface Download PDF

Info

Publication number
KR100552668B1
KR100552668B1 KR1020010084155A KR20010084155A KR100552668B1 KR 100552668 B1 KR100552668 B1 KR 100552668B1 KR 1020010084155 A KR1020010084155 A KR 1020010084155A KR 20010084155 A KR20010084155 A KR 20010084155A KR 100552668 B1 KR100552668 B1 KR 100552668B1
Authority
KR
South Korea
Prior art keywords
hardware
interface
software
module
software module
Prior art date
Application number
KR1020010084155A
Other languages
Korean (ko)
Other versions
KR20030054061A (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 KR1020010084155A priority Critical patent/KR100552668B1/en
Publication of KR20030054061A publication Critical patent/KR20030054061A/en
Application granted granted Critical
Publication of KR100552668B1 publication Critical patent/KR100552668B1/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
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Abstract

본 발명에서는 ARM/AMBA기반의 목적 원판에 하드웨어 모듈과 소프트웨어 모듈의 인터페이스를 위한 소프트웨어 디바이스 드라이버와 하드웨어 인터페이스 회로를 자동 생성하는데 있어 간단하면서 보다 효율적인 인터페이스 합성방법을 제공하기 위한 것으로, 이를 위한 본 발명의 일측면에 따르면, ARM 프로세서/AMBA 칩셋 기반의 목적 원판을 사용하고, 하드웨어-소프트웨어가 혼합된 프로세서 내장형 시스템의 혼합설계에서, 소프트웨어 모듈과 하드웨어 모듈을 서로 인터페이스하는 합성방법에 있어서, 하드웨어 모듈과 소프트웨어 모듈의 인터페이스 정보를 입력받는 단계; 상기 인터페이스 정보에 따라 하드웨어 모듈과 소프트웨어 모듈간의 송수신에 관한 제어신호를 결정하는 단계; 상기 결정된 제어신호에 따라 상기 인터페이스 정보에 해당하는 물리적 주소를 할당하는 단계; 상기 하드웨어 모듈의 인터페이스를 담당하는 하드웨어 인터페이스 파일을 자동으로 생성하는 단계; 및 상기 소프트웨어 모듈의 인터페이스를 담당하는 소프트웨어 인터페이스 드라이버를 자동으로 생성하는 단계를 포함하는 하드웨어-소프트웨어 인터페이스 합성방법이 제공된다.The present invention provides a simple and more efficient interface synthesis method for automatically generating a software device driver and a hardware interface circuit for the interface between a hardware module and a software module on an ARM / AMBA-based target disk. According to one aspect, in a hybrid design of a processor-integrated system in which hardware-software is mixed using a target disk based on an ARM processor / AMBA chipset, a hardware module and software in a synthesis method of interfacing a software module and a hardware module to each other Receiving interface information of the module; Determining a control signal related to transmission and reception between a hardware module and a software module according to the interface information; Allocating a physical address corresponding to the interface information according to the determined control signal; Automatically generating a hardware interface file that is responsible for the interface of the hardware module; And automatically generating a software interface driver that is responsible for the interface of the software module.

인터페이스, 드라이버, 온칩, 하드웨어, 소프트웨어Interface, driver, on-chip, hardware, software

Description

하드웨어-소프트웨어 인터페이스 합성방법{Method for Synthesizing Hardware-Software interface} Method for Synthesizing Hardware-Software interface             

도1은 프로세서 내장형 하드웨어-소프트웨어 혼합설계의 통합 환경을 나타내는 도면.1 illustrates an integrated environment of a processor embedded hardware-software hybrid design.

도2a는 본 발명에 의해 하드웨어-소프트웨어 인터페이스를 자동으로 생성하여 주는 하드웨어-소프트웨어 인터페이스 합성기를 나타내는 개념도.2A is a conceptual diagram illustrating a hardware-software interface synthesizer for automatically generating a hardware-software interface according to the present invention.

도2b는 본 발명에 의해 하드웨어-소트프웨어 인터페이스 합성기의 개념을 보다 구체적으로 나타내는 도면.Figure 2b illustrates in more detail the concept of a hardware-software interface synthesizer in accordance with the present invention.

도3a는 본 발명에 의한 하드웨어-소프트웨어 모듈간의 인터페이스 합성방법을 나타내는 흐름도.Figure 3a is a flow chart illustrating a method for synthesizing an interface between hardware and software modules according to the present invention.

도3b는 도3a에서 하드웨어 인터페이스 생성에 관한 상세한 흐름도.FIG. 3B is a detailed flowchart of hardware interface generation in FIG. 3A. FIG.

도3c는 도3a에서 소프트웨어 인터페이스 드라이버 생성에 관한 상세한 흐름도.FIG. 3C is a detailed flowchart of software interface driver generation in FIG. 3A. FIG.

도4는 본 발명에 의한 하드웨어-소트프웨어 인터페이스 합성방법을 구현하는데 사용되는 채널을 나타내는 도면.4 illustrates a channel used to implement the hardware-software interface synthesis method according to the present invention.

도5는 본 발명에 의한 하드웨어-소프트웨어 인터페이스 합성기에서 생성된 하드웨어 인터페이스 파일과 소프트웨어 인터페이스 드라이버간의 동작중에, 하드웨어 모듈에서 소프트웨어 모듈로 데이터를 저장하는 동작을 나타내는 도면.FIG. 5 is a diagram illustrating an operation of storing data from a hardware module to a software module during an operation between a hardware interface file and a software interface driver generated by the hardware-software interface synthesizer according to the present invention. FIG.

도6은 본 발명에 의한 하드웨어-소프트웨어 인터페이스 합성기에서 생성된 하드웨어 인터페이스 파일과 소프트웨어 인터페이스 드라이버간의 동작중에, 소프트웨어 모듈에서 하드웨어 모듈로 데이터를 저장하는 동작을 나타내는 도면.FIG. 6 is a diagram illustrating an operation of storing data from a software module to a hardware module during an operation between a hardware interface file and a software interface driver generated by the hardware-software interface synthesizer according to the present invention. FIG.

도7은 본 발명에 의한 하드웨어-소프트웨어 인터페이스 합성기에서 생성된 하드웨어 인터페이스 파일과 소프트웨어 인터페이스 드라이버간의 동작중에, 소프트웨어 모듈에서 하드웨어의 모듈의 데이터를 받는 동작을 나타내는 도면.7 is a view showing an operation of receiving data of a module of hardware from a software module during an operation between a hardware interface file and a software interface driver generated by the hardware-software interface synthesizer according to the present invention.

본 발명은 하드웨어 모듈과 소프트웨어 모듈간의 데이터 통신을 위해, 인터페이스를 합성하는 방법에 관한 것으로, 특히 하드웨어 모듈의 인터페이스를 담당하는 하드웨어 인터페이스 파일과 소프트웨어 모듈의 인터페이스를 담당하는 소프트웨어 모듈 드라이버를 자동으로 생성하는 하드웨어-소프트웨어 인터페이스 합성방법에 관한 것이다. The present invention relates to a method for synthesizing an interface for data communication between a hardware module and a software module, and in particular, to automatically generate a hardware interface file that is responsible for the interface of the hardware module and a software module driver for the interface of the software module. It relates to a hardware-software interface synthesis method.

이를 위해 본 발명의 하드웨어-소프트웨어 인터페이스는 정보단말기 및 멀티미디어 기기, IC 카드 등에 이용되고 있는 저전력 32 비트 마이크로 프로세서(Micro process)인 ARM7TDMI와 온칩(On-chip) 버스(Bus) 구조를 가진 AMBA(Advanced Microprocessor Bus Architecture) 칩셋으로 구성된 목적 원판에서, 하드웨어-소프트웨어 모듈간의 데이터 통신 부담을 줄여서 전체 시스템의 성능을 만족하는 하드웨어와 소프트웨어 인터페이스 모듈을 자동으로 생성한다.To this end, the hardware-software interface of the present invention is an AMBA (Advanced) having an ARM7TDMI, which is a low-power 32-bit microprocessor used in information terminals, multimedia devices, and IC cards, and an on-chip bus structure. In the target disk, which consists of a microprocessor bus architecture (Chipset) chip, it reduces the burden of data communication between hardware and software modules to automatically generate hardware and software interface modules that meet the performance of the entire system.

최근 디지털 시스템의 복잡도가 증가하고 다양한 시스템 설계 기술이 등장함에 따라 하드웨어와 소프트웨어를 동시에 설계함으로써 효율적이고 빠른 설계를 가능하게 하는 혼합 설계에 대한 관심이 집중되고 있다. 하드웨어와 소프트웨어가 혼합된 설계(co-design)는 컴퓨터 제어 통신 기기 및 멀티미디어 기기, 정보 기기 단말기를 비롯한 대부분의 전자 시스템에 이용되며, 고밀도 고성능의 복잡한 시스템을 초고집적으로 설계하기 위해서는 하드웨어와 소프트웨어가 혼합된 시스템을 설계하는 기술이 필요하다.Recently, as the complexity of digital systems has increased and various system design technologies have emerged, attention has been focused on mixed designs that enable efficient and fast design by simultaneously designing hardware and software. The combination of hardware and software is used in most electronic systems, including computer-controlled communication devices, multimedia devices, and information device terminals. There is a need for techniques for designing mixed systems.

최근에 공정 기술의 발달로 단일 칩에 집적할 수 있는 소자의 수가 크게 증가함에 따라 시스템을 한 칩에 구현하는 SOC(System On a Chip) 설계가 가능하게 되었다. 이에 따라 구현하고자 하는 설계의 복잡도는 크게 증가하고 있으나, 제품의 출시기간은 오히려 점점 단축되어감에 따라 시스템을 구성하고 있는 하드웨어와 소프트웨어를 동시에 설계함으로써 효율적이고 빠른 설계를 가능하게 해주는 혼합설계(codesign)에 대한 관심이 증가하고 있다.Recent advances in process technology have led to a significant increase in the number of devices that can be integrated on a single chip, enabling the design of a system on a chip (SOC) system. As a result, the complexity of the design to be implemented is increasing greatly, but as the time to market of products is getting shorter and shorter, the codesign that enables efficient and fast design by designing the hardware and software constituting the system at the same time (codesign) ) Is growing in interest.

종래의 시스템 설계 방법론은 사양이 결정된 후 시스템 전문가의 경험에 의존하여 개발초기에 하드웨어와 소프트웨어로 분할되고, 각 부분은 서로 다른 설계자에 의하여 설계되어 최종적으로 각 부분이 통합되는 과정을 거치게 된다. 이러한 종래의 설계 방식에서는 대부분의 경우에 소프트웨어의 개발이 하드웨어 프로토타 입이 완성된 이후에야 가능하게 되어 설계기간이 길어지게 되며, 이러한 경우 소프트웨어를 개발하는 과정에서 하드웨어 설계의 불합한 점이 발견되더라도 하드웨어를 수정하기는 매우 어려워진다. The conventional system design methodology is divided into hardware and software at the beginning of development based on the experience of the system expert after the specification is determined, and each part is designed by different designers and finally the parts are integrated. In this conventional design method, in most cases, the software development is possible only after the hardware prototype is completed, and the design period becomes longer. In this case, even if a hardware design mismatch is found during the software development process, the hardware Fixing it becomes very difficult.

이러한 종래의 설계 방법이 가지는 또 하나의 근본적인 문제점은 시스템의 기능을 하드웨어와 소프트웨어로 분할하는 과정에서 설계자의 경험에만 의존하게되어 설계의 목적에 부합하는 최적의 분할을 얻기가 어려우며, 이에 따라 지나치게 많은 부분이 하드웨어로 구현되어 시스템의 가격이 높아진다든지, 너무 많은 부분이 소프트웨어로 구현되어 요구하는 성능에 미치지 못한다든지 하는 상황이 발생할 수 있다는 것이다.Another fundamental problem with this conventional design method is that it is difficult to obtain an optimal partition for the purpose of the design because it relies solely on the designer's experience in dividing the system's functions into hardware and software. There are situations where parts can be implemented in hardware, increasing the price of the system, or too many parts in software, not meeting the required performance.

이러한 경우에 재 설계에 따른 설계 기간 및 비용의 증가는 결국 경쟁에 뒤지는 결과를 초래할 수 있다. 이러한 문제를 해결하기 위한 유일한 해결책은 하드웨어와 소프트웨어를 동시에 설계할 수 있는 설계 방법론의 도입이다.In this case, the increase in design time and cost of the redesign may eventually lead to competition. The only solution to this problem is the introduction of a design methodology that can design hardware and software simultaneously.

하드웨어/소프트웨어 혼합설계(hardware/software codesign)는 프로세서 내장형 AISC(Application Specific Integrated Circuit)을 체계적으로 설계하는 시스템 설계방법으로, 시스템 ASIC의 하드웨어와 소프트웨어를 동시에 고려하여 설계함으로써, 프로세서 내장형 ASIC의 설계 생산성과 품질을 높여준다. 종전의 ASIC 설계가 레지스터 전송수준에서 출발하는 반면, 혼합설계에서는 ASIC 설계의 출발이 시스템 수준에서 출발한다는 점에서 큰 차이가 있다. Hardware / software codesign is a system design method for systematically designing an embedded processor-specific application specific integrated circuit (AISC). It is designed to consider the hardware and software of the system ASIC at the same time, thereby improving the design productivity of the embedded processor ASIC. And improves quality. While conventional ASIC designs start at the register transfer level, there is a big difference in mixed designs that the ASIC design starts at the system level.

이렇게 설계의 추상화 수준(abstraction level)을 레지스터 전송 수준에서 시스템 수준으로 한 단계 높임으로써 설계의 생산성을 높일 수 있다. 혼합설계 과 정을 간략하게 설명하면, (1)시스템 기술언어를 사용하여 시스템의 동작을 시스템 수준에서 기술하고 시스템 시뮬레이션으로 시스템 사양을 검증하는 단계, (2)시스템을 하드웨어와 소프트웨어 부분으로 분할하는 단계, (3)하드웨어 요소를 상위수준 합성과 논리합성으로 합성하는 단계, (4)소프트웨어 요소를 소프트웨어 합성기와 컴파일러를 통해 내장된 마이크로프로세서에서 실행될 코드로 생성하는 단계, (5)시스템 통합을 통해 각 요소를 통합하여 혼합시뮬레이션이나 하드웨어 프로토타입 구현을 통해 시스템의 동작을 검증하는 단계로 요약할 수 있다. By increasing the abstraction level of the design from the register transfer level to the system level, the design productivity can be increased. Briefly describing the mixed design process, (1) using the system description language to describe the operation of the system at the system level and verifying system specifications with system simulation, and (2) dividing the system into hardware and software parts. Step (3) synthesizing hardware elements into high-level synthesis and logical synthesis, (4) generating software elements into code to be run on embedded microprocessors through software synthesizers and compilers, and (5) system integration Each element can be summarized into steps that verify the behavior of the system through mixed simulation or hardware prototype implementation.

혼합설계의 핵심은 이전에 설계자가 손으로 하던 과정들(시스템 분할, 시스템 통합, 시스템 검증 등)을 모두 자동화함으로써, 단시간에 많은 설계 가능성을 탐색하여 최적의 해를 구하고, 시스템 통합 오류를 최소화하는 데 있다. 이를 위해서는 프로세서 내장형 ASIC 혼합설계 전용 CAD(Computer Aided Design) 시스템의 개발이 필수적이다.The key to a hybrid design is to automate all of the designer's previous processes (system partitioning, system integration, system verification, etc.) to explore many design possibilities in a short time to find optimal solutions and minimize system integration errors. There is. To this end, it is essential to develop a computer-aided design (CAD) system for a processor-integrated ASIC hybrid design.

도1은 ARM/AMBA기반의 목적 원판을 사용한 하드웨어 소프트웨어의 혼합 설계의 통합 환경을 도시한 도면이다. 이하 도1을 참조하여 하드웨어 소프트웨어의 혼합설계의 통합환경에 대해서 설명한다. 1 is a diagram illustrating an integrated environment of a mixed design of hardware software using an ARM / AMBA-based target disk. Hereinafter, an integrated environment of a mixed design of hardware software will be described with reference to FIG. 1.

우선, 목적원판에 사용된 마이크로 프로세서는 ARM7TDMI 마이크로 컴퓨터로서, ARM사의 RISC(Reduced instruction set computer) 구조의 마이크로 컴퓨터인데, 16비트 명령을 가지면서 32비트 데이터 처리 기능을 갖는 마이크로 컴퓨터 구조를 갖는 특징이 있다. First, the microprocessor used in the target disk is an ARM7TDMI microcomputer, a microcomputer of ARM's Reduced Instruction Set Computer (RISC) structure, which has a 16-bit instruction and a 32-bit data processing function. have.

하드웨어-소프트웨어가 혼합된 프로세서 내장형 시스템의 혼합 설계에서, 분할된 이종의 시스템 모듈 즉, 하드웨어와 소프트웨어 모듈간의 데이터 및 제어 신호의 통신을 위해서 필요한 인터페이스를 생성하는 과정은 많은 오류가 발생하고 긴 시간을 필요로 하는 작업이다. 따라서 하드웨어-소프트웨어 인터페이스 설계는 혼합 설계 환경에서 필수적인 부분으로 시스템의 성능에 큰 영향을 미칠 뿐 아니라 최종 설계 결과의 성공 여부에 큰 영향을 미치는 중요한 매우 중요한 단계이다. 또한 목적 원판의 구성에 따라서 하드웨어 소프트웨어 인터페이스 설계는 달라질 수 있다.In a mixed design of a hardware-software mixed processor embedded system, the process of creating the interface required for the communication of data and control signals between divided heterogeneous system modules, that is, hardware and software modules, can be time consuming and error prone. That's the job you need. Therefore, hardware-software interface design is an essential part of a mixed design environment and is a very important step that not only has a big impact on the performance of the system but also has a great influence on the success of the final design result. In addition, the hardware software interface design may vary depending on the configuration of the target disc.

종래의 방법에서는 하드웨어-소프트웨어 인터페이스 채널을 위해서 포인터-투-포인터(Point-to-point) 채널에 피포(FIFO, First in first out)를 연결한 Direct port I/O 방법과 인터페이스 프로토콜로 RPC(Remote-Procedure-Call)을 이용하여 인터페이스를 수행하였다.In the conventional method, the RPC (Remote Port) is a direct port I / O method and an interface protocol that connects a first in first out (FIFO) to a pointer-to-point channel for a hardware-software interface channel. The interface was performed using -Procedure-Call.

이 인터페이스 합성 방법은 Direct port I/O 방법을 이용하므로 한정적인 포트수의 제약을 가지고 있고, 복잡한 RPC 프로토콜을 이용하므로 하드웨어 및 소프트웨어 설계자가 인터페이스에 대한 전문적인 지식을 요구하게 되므로 인터페이스를 생성하는데 에러가 많이 발생되고 시간이 많이 걸리는 단점이 있다.This interface synthesis method has a limited number of ports because it uses the direct port I / O method, and because the hardware and software designers require expert knowledge of the interface because of the complex RPC protocol, there is an error in creating the interface. Has a lot of disadvantages and takes a lot of time.

즉, I/O 시나리오를 미리 정의하여 라이브러리를 구축한 다음 목적 원판에 따라서 완벽한 인터페이스가 수행될 때까지 반복적으로 인터페이스 시그널 및 주소를 재조정(Refinement)하는 과정을 수행하므로, 인터페이스를 거의 수동으로 재구성하는 방법을 사용하는 제약점을 가지고 있다.. In other words, I / O scenarios are pre-defined to build a library, and then the interface signals and addresses are repeatedly refined until a perfect interface is performed according to the target disk. It has a limitation using the method.

본 발명에서는 하드웨어 모듈과 소프트웨어 모듈의 인터페이스를 위한 소프트웨어 디바이스 드라이버와 하드웨어 인터페이스 회로를 자동으로 생성하는 하드웨어-소프트웨어 인터페이스 합성방법을 제공하는데 그 목적이 있다.It is an object of the present invention to provide a hardware-software interface synthesis method for automatically generating a software device driver and a hardware interface circuit for an interface of a hardware module and a software module.

상기의 목적을 달성하기 위한 본 발명의 일측면에 따르면, ARM 프로세서/AMBA 칩셋 기반의 목적 원판을 사용하고, 하드웨어-소프트웨어가 혼합된 프로세서 내장형 시스템의 혼합설계에서, 소프트웨어 모듈과 하드웨어 모듈을 서로 인터페이스하는 합성방법에 있어서, 하드웨어 모듈과 소프트웨어 모듈의 인터페이스 정보를 입력받는 단계; 상기 인터페이스 정보에 따라 하드웨어 모듈과 소프트웨어 모듈간의 송수신에 관한 제어신호를 결정하는 단계; 상기 결정된 제어신호에 따라 상기 인터페이스 정보에 해당하는 물리적 주소를 할당하는 단계; 상기 하드웨어 모듈의 인터페이스를 담당하는 하드웨어 인터페이스 파일을 자동으로 생성하는 단계; 및 상기 소프트웨어 모듈의 인터페이스를 담당하는 소프트웨어 인터페이스 드라이버를 자동으로 생성하는 단계를 포함하는 하드웨어-소프트웨어 인터페이스 합성방법이 제공된다.According to an aspect of the present invention for achieving the above object, in a mixed design of a processor-embedded system in which hardware-software is mixed using a target disk based on an ARM processor / AMBA chipset, a software module and a hardware module interface with each other. A synthesis method, comprising: receiving interface information between a hardware module and a software module; Determining a control signal related to transmission and reception between a hardware module and a software module according to the interface information; Allocating a physical address corresponding to the interface information according to the determined control signal; Automatically generating a hardware interface file that is responsible for the interface of the hardware module; And automatically generating a software interface driver that is responsible for the interface of the software module.

본 발명에서 제시하는 하드웨어-소프트웨어 인터페이스 합성 방법은 하드웨어와 소프트웨어 모듈의 인터페이스를 위한 채널로 AMBA(Advanced Microprocessor Bus Architecture)에서 제공하는 버스 채널을 이용하고 인터페이스 데이터간의 동 기화를 위한 프로토콜은 인터럽트 방법을 이용한다. 비록 제한적인 ARM/AMBA기반의 목적 원판에 적용되는 방법이지만, 수동으로 작업하던 종래의 방법에 비해 자동으로 하드웨어 및 소프트웨어 인터페이스 모듈을 생성할 수 있어 보다 효율적인 시스템 구현이 가능하다. The hardware-software interface synthesis method proposed in the present invention uses a bus channel provided by AMBA (Advanced Microprocessor Bus Architecture) as a channel for interface between hardware and software modules, and an interrupt method is used as a protocol for synchronization between interface data. . Although it is a method applied to a limited version of ARM / AMBA-based target version, hardware and software interface modules can be automatically generated, compared to the conventional method of manually working, so that a more efficient system can be implemented.

또한, 본 발명의 하드웨어-소프트웨어 인터페이스 합성 방법의 특징은 인터페이스 동기화를 위한 프로토콜로 종래의 인터페이스 프로토콜보다 빠른 인터럽트 동기화 기법을 이용하고 포트수의 제약을 해결하기 위해서 메모리 맵 방법을 이용하고, C 프로그램에서 제공하는 Send/Receive 함수등을 이용하여 간단하면서도 효율적으로 하드웨어 모듈과 소프트웨어 모듈간의 인터페이스를 할 수 있다.In addition, the feature of the hardware-software interface synthesis method of the present invention is a protocol for interface synchronization, which uses a faster interrupt synchronization technique than a conventional interface protocol, and uses a memory map method to solve the limitation of the number of ports. By using Send / Receive function provided, interface between hardware module and software module is simple and efficient.

또한, 본 발명의 하드웨어-소프트웨어 인터페이스 합성방법의 특징은 미리 정의된 I/O 시나리오를 반복적으로 수정하는 과정을 해결하기 위해서, 인터페이스의 방향과 데이터 타입 데이터의 크기, 주소만을 입력으로 하여 자동으로 인터페이스 모듈을 생성하는데 있다.In addition, the feature of the hardware-software interface synthesis method of the present invention is to automatically interface by inputting only the direction of the interface, the size of the data type data, and the address in order to solve the process of repeatedly modifying the predefined I / O scenario. To create a module.

즉, 하드웨어-소프트웨어 인터페이스 합성방법은 VHDL(Very high Speed Integrated Circuit Hardware Description Language, 초고속 직접회로 하드웨어 기술 언어)로 작성된 하드웨어 모듈과 C 프로그램으로 작성된 소프트웨어 모듈의 인터페이스 정보를 입력으로 하여 디바이스 드라이버와 하드웨어 인터페이스 회로를 생성한다. 이후 이를 바로 목적 원판에 적용하여 혼합 시뮬레이션을 통해서 동작의 정확성을 검증하게 된다.In other words, the hardware-software interface synthesis method is a device driver and a hardware interface by inputting interface information of a hardware module written in a VHDL (Very High Speed Integrated Circuit Hardware Description Language) and a software module written in a C program. Create a circuit. This is then immediately applied to the target disk to verify the correctness of the motion through the mixed simulation.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do.

도2a는 본 발명에 의해 하드웨어-소프트웨어 모듈 인터페이스를 자동으로 생성하여 주는 합성기를 나타내는 개념도이다.2A is a conceptual diagram illustrating a synthesizer for automatically generating a hardware-software module interface according to the present invention.

도2a를 참조하여 설명하면, 본 발명에 의한 하드웨어-소프트웨어 인터페이스 합성기에 의해 종래에 수동으로 구현하던 하드웨어-소프트웨어 모듈의 인터페이스 부분을 자동으로 구현된다.Referring to FIG. 2A, the interface portion of the hardware-software module, which was previously manually implemented, is automatically implemented by the hardware-software interface synthesizer according to the present invention.

도2b는 본 발명에 의해 ARM/AMBA기반의 목적 원판에서 인터페이스 생성기의 개념을 보다 구체적으로 나타내는 도면이다.Figure 2b is a view showing in more detail the concept of the interface generator in the target disk based on the ARM / AMBA in accordance with the present invention.

도2b를 참조하여 설명하면, ARM7TDMI와 온칩(On-chip) 버스(Bus) 구조를 가진 AMBA(Advanced Microprocessor Bus Architecture)로 구성된 목적 원판에 적용되는 하드웨어-소프트웨어 모듈의 데이터 인터페이스를 위하여, 하드웨어 모듈의 인터페이스를 담당하는 하드웨어 인터페이스 회로와 소프트웨어 인터페이스를 담당하는 소프트웨어 드라이버를 하드웨어-소프트웨어 인터페이스 생성기가 자동으로 구현한다.Referring to Figure 2b, for the data interface of the hardware-software module to be applied to the target disk composed of ARM7TDMI and Advanced Microprocessor Bus Architecture (AMBA) having an on-chip bus structure, The hardware interface circuit responsible for the interface and the software driver responsible for the software interface are automatically implemented by the hardware-software interface generator.

이를 자세히 살펴보면, 소프트웨어-하드웨어간의 인터페이스는 동일한 통신 프로토콜로 구현된 경우에는 별도의 인터페이스 회로가 필요 없지만 그렇지 않을 경우 이들 사이에 인터페이스 모듈을 합성하여 삽입해야 한다. 하드웨어-소프트웨어 모듈의 인터페이스는 소프트웨어가 수행하되 마이크로 프로세서의 인터페이스를 이용하여 통신을 하는데, 하드웨어 부분에는 마이크로 프로세서와 통신을 위한 인터페이스 모듈을 자동으로 생성하여 삽입하고 소프트웨어 부분에는 디바이스 드라이버를 만들어 주어 해결한다.In detail, the interface between the software and the hardware does not require a separate interface circuit when implemented with the same communication protocol, but otherwise, an interface module must be synthesized and inserted therebetween. The interface of the hardware-software module is executed by the software but communicates using the interface of the microprocessor. The hardware part automatically generates and inserts the interface module for communication with the microprocessor and the device part creates the device driver to solve the problem. .

도3a는 하드웨어-소프트웨어 모듈의 인터페이스 합성기를 생성하는 흐름도이다. 도3a를 참조하여 설명하면, 처음에 ARM/AMBA 목적원판에 시스템을 초기화(100)하고, 하드웨어-소프트웨어 모듈에서 각각의 신호 정보를 입력받는다.(200) 이어 내부 제어신호를 생성하고(300), 각각의 인터페이스 신호에 물리적 주소를 할당한다.(400) 이어서 하드웨어 인터페이스 회로를 생성하고(500), 소프트웨어 드라이버를 생성한다.(600)3A is a flow diagram of creating an interface synthesizer of a hardware-software module. Referring to FIG. 3A, the system is initially initialized to the ARM / AMBA target disk (100), and the respective signal information is received from the hardware-software module. (200) Then, an internal control signal is generated (300). A physical address is assigned to each interface signal (400). Next, a hardware interface circuit is generated (500), and a software driver is generated (600).

도3b는 도3a에서 하드웨어 인터페이스(500)를 생생하는데 관한 상세한 흐름도이다.FIG. 3B is a detailed flowchart of generating the hardware interface 500 in FIG. 3A.

도3b를 참조하여 살펴보면, 하드웨어 인터페이스(500)는 하드웨어 모듈에서 소프트웨어 모듈과 통신하는 송수신 신호를 선택하는 단계(510), 송수신을 위한 레지스터 설정하고 하드웨어 모듈의 신호와 데이터를 저장하는 단계(520), 송수신 신호에 대한 공용기억장소(memory mapped I/O)를 결정하는 단계(530), 하드웨어 인터럽트를 발생시키는 단계(540), 이어서 소프트웨어 모듈의 응답을 기다리는 단계(550), 소프트웨어 모듈쪽에서 신호가 오면 하드웨어 모듈로 전달하는 단계(560)로 이루어진다.Referring to FIG. 3B, the hardware interface 500 selects a transmit / receive signal communicating with a software module in a hardware module (510), sets a register for transmission and reception, and stores the signal and data of the hardware module (520). Determining a memory mapped I / O for the transmitted / received signal (530), generating a hardware interrupt (540), and then waiting for a response from the software module (550); If so, the step 560 is passed to the hardware module.

도3c는 도3a에서 소프트웨어 인터페이스 드라이버를 생성하는데 관한 상세한 흐름도이다.FIG. 3C is a detailed flowchart of creating a software interface driver in FIG. 3A.

도3c를 참조하여 살펴보면, 소프트웨어 인터페이스 드라이버(600)는 하드웨어 모듈과 송수신 할 변수를 선택하는 단계(610), 변수에 대한 공용기억공간을 결정하는 단계(620), 인터럽트를 발생시키는 단계(630), 발생된 인터럽트의 서비스 루틴을 동작시키는 단계(640), 인터럽트 인식 후에 필요한 신호를 소프트웨어 모듈로 전달하는 단계(650), 소프트웨어 모듈에서 필요한 연산 수행하는 단계(660), 수행 결과를 미리 정해진 변수를 통해서 하드웨어로 전달하는 단계(670)로 이루어진다.Referring to FIG. 3C, the software interface driver 600 selects a variable to be transmitted / received with a hardware module 610, determines a common storage space for the variable 620, and generates an interrupt 630. Operating the service routine of the generated interrupt (640), transferring the necessary signal after the interrupt recognition to the software module (650), performing the necessary operation on the software module (660), and performing a predetermined variable. The transfer is made to the hardware through step 670.

도4는 ARM/AMBA 목적원판에서 본 발명에 의한 하드웨어-소트프웨어 인터페이스 합성방법을 구현하는데 사용되는 채널을 나타내는 도면.4 shows a channel used to implement the hardware-software interface synthesis method according to the invention in an ARM / AMBA object disc;

도4를 참조하여 설명하면 하드웨어-소프트웨어 모듈간의 통신 인터페이스 채널은 (1)과 같이 전용 포트, (2)와 같은 피포(FIFO), (3)과 같은 메모리 맵을 이용할 수 있다. 여기서 전용 포트를 이용하는 방법은 (1)과 같이 포이터-투-포인터(point-to-point) 연결로 서로 다른 모듈간에 전용 포트를 이용하는 방법이나, 이 때에는 전용포트의 수에 제한을 받을 수 있다. Referring to FIG. 4, a communication interface channel between hardware and software modules may use a dedicated port as shown in (1), a FIFO as shown in (2), and a memory map as shown in (3). Here, the method of using a dedicated port is a method of using a dedicated port between different modules by using a point-to-point connection as in (1), but in this case, the number of dedicated ports may be limited. .

여기서는 (3)과 같이 메모리 주소 공간상에서 특정 주소를 할당하여 할당된 주소를 통해서 주소 버스와 데이터 버스를 이용하여 통신하는 메모리 맵에 의한 방식을 이용하므로, 전용 포트와 같이 포트의 수에 제한을 받고 별도의 포트 할당 알고리즘이 필요로 하는 문제를 해결할 수 있다.In this case, the memory map is used to allocate a specific address in the memory address space and communicate using the address bus and the data bus through the allocated address. This can solve the problem of a separate port allocation algorithm.

이하 3a 내지 4를 참조하여 하드웨어-소프트웨어 인터페이스 합성방법에 대해서 설명한다.Hereinafter, a hardware-software interface synthesis method will be described with reference to 3a to 4.

먼저, ARM/AMBA 목적원판에서 제공하는 하드웨어 모듈과 소프트웨어 모듈 사이의 송수신 데이터들의 동기화를 위하여 인터페이스 프로토콜이 필요하다.First, an interface protocol is required for synchronization of transmission / reception data between a hardware module and a software module provided by the ARM / AMBA object disc.

인터페이스 프로토콜은 설계 제약 조건에 따라 메시지 전송, 공유 메모리, 인터럽트에 의한 동기화 기법 등이 있다. 여기서는 전술한 바와 같이, ARM/AMBA기반의 목적 원판에서는 인터럽트가 가능한 구조이고 또한 다른 방법보다 빠른 인터페이스 프로토콜이므로, 인터럽트에 의한 동기화 기법을 프로토콜로 이용한다.Interface protocols include message transfer, shared memory, and interrupt synchronization depending on design constraints. As described above, in the ARM / AMBA-based target edition, since the interrupt is possible and the interface protocol is faster than other methods, the synchronization scheme based on the interrupt is used as the protocol.

ARM/AMBA기반의 목적 원판에서 적용된 인터럽트에 의한 동기화 방법을 구체적으로 살펴보면 다음과 같다. 하드웨어 모듈에서 버스에 데이터를 적재한다. 하드웨어 모듈에서 인터럽트 신호를 마이크로 프로세서에 전달한다. 마이크로프로세서가 인터럽트 신호를 받아서 소프트웨어 모듈에 인터럽트 신호를 보낸다. 소프트웨어 모듈은 인터럽트 신호를 인식하고 인터럽트 벡터에 의해 정해진 인터럽트 서비스 루틴을 호출하고 데이터를 처리하여 정해진 메모리 공간에 자료를 적재한다. 이어서 소프트웨어 모듈은 인터럽트 서비스 루틴의 종료 신호를 마이크로프로세서에 전달한다. 마이크로프로세서가 하드웨어 모듈에 인터럽트 종료 신호를 보내면 하드웨어 모듈은 정해진 메모리 공간에서 결과 데이터를 읽고 다음 작업을 처리한다. The following describes the synchronization method by interrupt applied in the ARM / AMBA-based target version. Load data from the hardware module to the bus. The hardware module passes the interrupt signal to the microprocessor. The microprocessor receives the interrupt signal and sends an interrupt signal to the software module. The software module recognizes the interrupt signal, calls the interrupt service routine defined by the interrupt vector, processes the data, and loads the data into the specified memory space. The software module then sends an end signal of the interrupt service routine to the microprocessor. When the microprocessor sends an interrupt termination signal to the hardware module, the hardware module reads the resulting data from the given memory space and handles the next task.

한편, 하드웨어-소프트웨어 인터페이스 합성기는 C로 작성된 프로그램으로 소프트웨어 모듈인 C와 하드웨어 모듈인 VHDL파일을 입력으로 하여 소프트웨어 인터페이스 모듈인 C로 작성된 디바이스 드라이버와 VHDL로 작성된 인터페이스 파일을 자동 생성하는 프로그램을 말한다. 또한 인터페이스 채널과 프로토콜을 구현하 기 위하여 인터페이스 합성기에서 Send/Receive함수를 이용한다. On the other hand, the hardware-software interface synthesizer is a program written in C and inputs a software module C and a VHDL file, which is a hardware module, as a program, and automatically generates a device driver written in the software interface module C and an interface file written in VHDL. We also use the Send / Receive function in the interface synthesizer to implement the interface channel and protocol.

인터페이스 합성기에서는 인터페이스 모듈에서 사용하는 인터페이스 테이블을 읽어서 인터페이스에 필요한 내부 신호를 생성한다. 이때 사용하는 인터페이스 정보는 입출력 신호, 데이터의 크기, 데이터의 방향(HW->SW, SW->HW), 데이터의 타입, 신호의 동작 코드, 신호에 할당된 메모리의 주소, 전달되어지는 실제 값등을 포함한다. 여기서 간단한 인터페이스 방법을 위해서 Send/Receive 함수를 이용하여 인터페이스에 필요한 메모리 맵을 할당하고 할당된 메모리 맵을 통해서 데이터를 주고 받는다. 일 예로 Send함수와 Receive 함수는 다음과 같은 형태를 가진다.The interface synthesizer reads the interface table used by the interface module and generates internal signals for the interface. In this case, the interface information used is input / output signal, data size, data direction (HW-> SW, SW-> HW), data type, signal operation code, memory address assigned to the signal, actual value to be transmitted, etc. It includes. For the simple interface method, we use Send / Receive function to allocate the memory map required for the interface and send and receive data through the allocated memory map. For example, the Send and Receive functions have the following form:

Send(addr, data_type, data_size, data, direction)Send (addr, data_type, data_size, data, direction)

Receive(addr, data_type, data_size, data, direction)Receive (addr, data_type, data_size, data, direction)

도5 내지 7도는 Send/Receive 함수에 의해서 하드웨어와 소프트웨어 모듈이 인터페이스하는 과정을 보여주고 있는 도면이다.5 to 7 are views illustrating a process of interfacing hardware and software modules by a Send / Receive function.

도5은 하드웨어 모듈(400)에서 소프트웨어 모듈(100)로 데이터를 저장(Write)하는 동작으로, 하드웨어 모듈(400)에서 데이터와 요청(REQ) 신호(2)를 하드웨어 인터페이스 회로(300)로 보낸다. 이어서 인터페이스 회로(300)에서 인터럽트 신호(3)를 소프트웨어 모듈(200)의 드라이버(200)로 요청하고, 드라이버(200)는 인터럽트 신호에 따라 인터페이스 회로(300)에 판독확인신호(READ SIGNAL ID,4)를 보내고, 데이터를 드라이버(200)로 가져온다(5). FIG. 5 is an operation of writing data from the hardware module 400 to the software module 100. The hardware module 400 sends data and a request signal 2 to the hardware interface circuit 300. . Subsequently, the interface circuit 300 requests the interrupt signal 3 to the driver 200 of the software module 200, and the driver 200 sends a read confirmation signal READ SIGNAL ID, 4) and import the data to the driver 200 (5).

이어서 소프트웨어 드라이버(200)는 소프트웨어 모듈(100)에 상기 데이터(6)와 셋플러그(Set Flag)신호(7)를 전달한다. 이어 소프트웨어 드라이버(200)는 완료 신호인 작업종료(JOB END) 신호(8)를 인터페이스 회로(300)에 전달하고 인터페이스 회로는 인지(Ack) 신호(9)를 하드웨어 모듈을 보낸다. Subsequently, the software driver 200 transmits the data 6 and the set flag signal 7 to the software module 100. The software driver 200 then transmits a JOB END signal 8, which is a completion signal, to the interface circuit 300, and the interface circuit sends an acknowledgment signal 9 to the hardware module.

도6은 소프트웨어 모듈(100)에서 하드웨어 모듈(400)로 데이터를 저장(Write)하는 동작이다. 먼저 소프트웨어 드라이버(100)가 소프트웨어 모듈(100)에서 데이터(1)와 요청(REQ)신호(2)를 입력받아 하드웨어 인터페이스 회로(300)에 데이터를 저장(WRITE)한다(3). 이 때 상술한 Send 함수를 이용한다.6 illustrates an operation of storing data from the software module 100 to the hardware module 400. First, the software driver 100 receives the data 1 and the request (REQ) signal 2 from the software module 100 and stores the data in the hardware interface circuit 300 (WRITE) (3). In this case, the above-described Send function is used.

이어서 인터페이스 회로(300)는 데이터를 요청(REQ)신호(5)와 함께 하드웨어 모듈(400)에 보내고 데이터를 받은 하드웨어 모듈은 인지(ACK)신호(6)를 하드웨어 인터페이스 회로(300)에 보낸다.The interface circuit 300 then sends data to the hardware module 400 with the request (REQ) signal 5 and the hardware module receiving the data sends an acknowledgment (ACK) signal 6 to the hardware interface circuit 300.

도7은 소프트웨어 모듈(100)에서 읽기요청(Read) 신호(1)를 상술한 Receive 함수를 이용하여 소프트웨어 드라이버(200)를 통하여 하드웨어 인터페이스 회로(300)로 보내는 도면이다. 계속해서 하드에어 인터페이스 회로(300)는 요청(REQ)신호(3)를 하드웨어 모듈(400)에 보내면 하드웨어 모듈(400)은 데이터(5)와 인지신호(4)를 하드웨어 인터페이스 회로(300)에 보낸다. 계속해서 소프트웨어 드라이버(200)는 상술한 Receive 함수를 이용하여 소프트웨어 모듈(100)로 데이터(7)를 보낸다. 상기의 동작은 Send/Receive 함수에 의해서 구현된 동작 프로토콜을 이용하며 이는 AMBA Bus 구조에서 동작한다.FIG. 7 is a diagram in which the software module 100 sends a read request signal 1 to the hardware interface circuit 300 through the software driver 200 using the above-described Receive function. Subsequently, the hard air interface circuit 300 sends a request (REQ) signal 3 to the hardware module 400, and the hardware module 400 sends data 5 and an acknowledgment signal 4 to the hardware interface circuit 300. send. The software driver 200 then sends the data 7 to the software module 100 using the Receive function described above. The above operation uses the operation protocol implemented by the Send / Receive function, which operates on the AMBA Bus structure.

본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었 으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.

본 발명에 하드웨어-소프트웨어 인터페이스 합성방법에 의해서 ARM/AMBA 기반의 목적 원판에서 하드웨어 모듈과 소프트웨어 모듈의 인터페이스에 필요한 디바이스 드라이버와 하드웨어 인터페이스 회로를 자동 생성하여 하드웨어 모듈과 소프트웨어 모둘을 함께 설계하는 통합환경에서 시스템을 보다 간단하고 효율적으로 구현할 수 있다.In the integrated environment in which the hardware driver and hardware interface circuits are automatically generated in the ARM / AMBA-based target disk by the hardware-software interface synthesis method according to the present invention, the hardware driver and the hardware interface circuit are automatically designed together. Make your system simpler and more efficient.

Claims (5)

ARM 프로세서/AMBA 칩셋 기반의 목적 원판을 사용하고, 하드웨어-소프트웨어가 혼합된 프로세서 내장형 시스템의 혼합설계에서, 소프트웨어 모듈 인터페이스 및 하드웨어 모듈 인터페이스 합성방법에 있어서,In a hybrid design of a processor-embedded system in which hardware-software is mixed using a target disk based on an ARM processor / AMBA chipset, a method of synthesizing a software module interface and a hardware module interface, 하드웨어 모듈과 소프트웨어 모듈의 인터페이스 정보를 입력받는 단계;Receiving interface information of a hardware module and a software module; 상기 인터페이스 정보에 따라 하드웨어 모듈과 소프트웨어 모듈간의 송수신에 관한 제어신호를 생성하는 단계;Generating a control signal relating to transmission and reception between a hardware module and a software module according to the interface information; 상기 제어신호에 대응하는 메모리 맵의 물리적 주소를 할당하는 단계;Allocating a physical address of a memory map corresponding to the control signal; 상기 하드웨어 모듈의 인터페이스를 담당하는 하드웨어 인터페이스 파일을 자동으로 생성하는 단계; 및Automatically generating a hardware interface file that is responsible for the interface of the hardware module; And 상기 소프트웨어 모듈의 인터페이스를 담당하는 소프트웨어 인터페이스 드라이버를 자동으로 생성하는 단계Automatically generating a software interface driver that is responsible for the interface of the software module 를 포함하는 하드웨어-소프트웨어 인터페이스 합성방법.Hardware-software interface synthesis method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 제어신호는,The control signal is, 상기 하드웨어 모듈과 상기 소프트웨어 모듈간의 데이터 이동 방향, 종류 또는 크기에 따라 정해지는 것을 특징으로 하는 하드웨어-소프트웨어 인터페이스 합성방법.Hardware-software interface synthesis method characterized in that determined according to the direction, type or size of data movement between the hardware module and the software module. 제 1 항에 있어서,The method of claim 1, 상기 하드웨어 모듈과 상기 소프트웨어 모듈의 인터페이스를 위한 채널로서 상기 AMBA 칩셋에서 제공하는 버스 채널을 이용하고,Using a bus channel provided by the AMBA chipset as a channel for the interface between the hardware module and the software module, 상기 하드웨어 모듈과 상기 소프트웨어 모듈의 데이터간의 동기화를 위한 프로토콜로서 상기 ARM 프로세서가 제공하는 인터럽트를 이용하는 것을 포함하는 하드웨어-소프트웨어 인터페이스 합성방법.And using an interrupt provided by the ARM processor as a protocol for synchronizing data between the hardware module and the software module. 제 3 항에 있어서 The method of claim 3 상기 하드웨어 인터페이스 파일은,The hardware interface file is, 상기 하드웨어 모듈에서 상기 소프트웨어 모듈과 통신하는 송수신 신호를 선택하고, 송수신을 위한 레지스터 설정하고 상기 하드웨어 모듈의 신호와 데이터를 저장하고, 송수신 신호에 대한 공용기억장소(memory mapped I/O)를 결정하고, 상기 하드웨어 모듈의 인터럽트를 발생시키고, 상기 소프트웨어 모듈의 응답을 기다리고, 상기 소프트웨어 모듈쪽에서 신호가 오면 상기 하드웨어 모듈로 전달하는 것을 특징으로 하는 하드웨어-소프트웨어 인터페이스 합성방법.Selects a transmit / receive signal communicating with the software module in the hardware module, sets a register for transmitting / receiving, stores the signal and data of the hardware module, and determines a memory mapped I / O for the transmit / receive signal; And generating an interrupt of the hardware module, awaiting a response from the software module, and transmitting the signal to the hardware module when a signal comes from the software module. 제 4 항에 있어서,The method of claim 4, wherein 상기 소프트웨어 인터페이스 드라이버는,The software interface driver, 상기 하드웨어 모듈과 송수신할 변수를 선택하고, 변수에 대한 공용기억공간을 결정하고, 인터럽트를 발생시키고, 발생된 상기 인터럽트의 서비스 루틴을 동작시키고, 상기 인터럽트 인식 후에 필요한 신호를 상기 소프트웨어 모듈로 전달하고, 상기 소프트웨어 모듈에서 필요한 연산을 수행하고, 수행 결과를 미리 정해진 변수를 통해서 상기 하드웨어 모듈로 전달하는 것을 특징으로 하는 하드웨어-소프트웨어 인터페이스 합성방법.Select a variable to transmit and receive to and from the hardware module, determine a common storage space for the variable, generate an interrupt, operate the service routine of the generated interrupt, and deliver the necessary signal to the software module after the interrupt is acknowledged And performing a necessary operation in the software module, and transmitting the result to the hardware module through a predetermined variable.
KR1020010084155A 2001-12-24 2001-12-24 Method for Synthesizing Hardware-Software interface KR100552668B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010084155A KR100552668B1 (en) 2001-12-24 2001-12-24 Method for Synthesizing Hardware-Software interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010084155A KR100552668B1 (en) 2001-12-24 2001-12-24 Method for Synthesizing Hardware-Software interface

Publications (2)

Publication Number Publication Date
KR20030054061A KR20030054061A (en) 2003-07-02
KR100552668B1 true KR100552668B1 (en) 2006-02-20

Family

ID=32212730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010084155A KR100552668B1 (en) 2001-12-24 2001-12-24 Method for Synthesizing Hardware-Software interface

Country Status (1)

Country Link
KR (1) KR100552668B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100779014B1 (en) * 2005-11-08 2007-11-22 동부일렉트로닉스 주식회사 Method of designing hardware based on a systemc

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131215A (en) * 1992-10-20 1994-05-13 Hitachi Ltd Software development supporting method
JPH09153077A (en) * 1995-12-01 1997-06-10 Pfu Ltd Digital circuit design support system, and method for design of hardware and software of digital circuit
KR19990064824A (en) * 1999-05-12 1999-08-05 노명래 Apparatus and method for hardware/software co-emulating by supporting multi-function module
JPH11282888A (en) * 1998-03-26 1999-10-15 Omron Corp Data communication method in system to be designed based on system specification description, combination method of interruption controller and synthesizing method of interface circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131215A (en) * 1992-10-20 1994-05-13 Hitachi Ltd Software development supporting method
JPH09153077A (en) * 1995-12-01 1997-06-10 Pfu Ltd Digital circuit design support system, and method for design of hardware and software of digital circuit
JPH11282888A (en) * 1998-03-26 1999-10-15 Omron Corp Data communication method in system to be designed based on system specification description, combination method of interruption controller and synthesizing method of interface circuit
KR19990064824A (en) * 1999-05-12 1999-08-05 노명래 Apparatus and method for hardware/software co-emulating by supporting multi-function module

Also Published As

Publication number Publication date
KR20030054061A (en) 2003-07-02

Similar Documents

Publication Publication Date Title
Chou et al. Interface co-synthesis techniques for embedded systems
US7594205B2 (en) Interface configurable for use with target/initiator signals
JP4528704B2 (en) Asynchronous circuit design apparatus and computer program
Madsen et al. An approach to interface synthesis
US6801755B2 (en) Method and apparatus for providing a radio module for a computer system
JP2002259157A (en) In-circuit emulation device, its chip designing method and in-circuit emulation system
US7249340B2 (en) Adaptable circuit blocks for use in multi-block chip design
EP0685803A2 (en) Electrical device adapter and method of producing the same
Wang et al. Modeling and integration of peripheral devices in embedded systems
O'nils et al. Device driver and DMA controller synthesis from HW/SW communication protocol specifications
Gerstlauer et al. Automatic layer-based generation of system-on-chip bus communication models
KR100552668B1 (en) Method for Synthesizing Hardware-Software interface
Ortega et al. Models and methods for hw/sw intellectual property interfacing
US20050144586A1 (en) Automated generation method of hardware/software interface for SIP development
EP1570360B1 (en) A method for direct memory access, related system and computer program product
Vercauteren et al. Hardware/software communication and system integration for embedded architectures
US6678749B2 (en) System and method for efficiently performing data transfer operations
Yu et al. Transaction level platform modeling in systemc for multi-processor designs
Calvez A codesign case study with the MCSE methodology
US9442788B2 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
Cho et al. Interface synthesis for heterogeneous multi-core systems from transaction level models
JP2006065457A (en) Interface circuit generation device and interface circuit
Shetty Enabling the Generation of Behavioral System-on Chip (SoC)
Danowitz Exploring abstract interfaces in system-on-chip integration
Acher et al. The TUM PCI/SCI Adapter

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: 20090202

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee