KR100240658B1 - Hierarchical controller and interrupt management circuit for high-level synthesis - Google Patents

Hierarchical controller and interrupt management circuit for high-level synthesis Download PDF

Info

Publication number
KR100240658B1
KR100240658B1 KR1019970047181A KR19970047181A KR100240658B1 KR 100240658 B1 KR100240658 B1 KR 100240658B1 KR 1019970047181 A KR1019970047181 A KR 1019970047181A KR 19970047181 A KR19970047181 A KR 19970047181A KR 100240658 B1 KR100240658 B1 KR 100240658B1
Authority
KR
South Korea
Prior art keywords
state machine
finite state
output
gate
interrupt
Prior art date
Application number
KR1019970047181A
Other languages
Korean (ko)
Other versions
KR19990025516A (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 KR1019970047181A priority Critical patent/KR100240658B1/en
Publication of KR19990025516A publication Critical patent/KR19990025516A/en
Application granted granted Critical
Publication of KR100240658B1 publication Critical patent/KR100240658B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 상위수준 합성을 위한 계층 구조의 제어기 및 인터럽트 처리 회로에 관한 것이다.The present invention relates to a hierarchical controller and interrupt processing circuit for higher level synthesis.

초 대규모 집적(VLSI) 기술의 발달로 한 개의 칩에 백만 개 이상의 소자를 집적할 수 있지만 이런 복잡한 칩을 수작업으로 설계하기 어렵다. 기능이 다양해지고 설계가 복잡해짐에 따라서 상위수준에서 회로의 알고리즘 동작을 기술하여 검증하고 합성 툴에 의해 자동 설계하는 캐드(CAD) 툴의 필요성이 증대되었다. 현재 응용 목적용 집적회로(ASIC) 설계 분야의 설계에 많이 적용되는 합성 캐드(CAD) 툴은 연결정보(netlist)에서 도면정보를 생성하는 물리합성, 논리식이나 상태천이도 정보로부터 회로도를 생성하는 논리합성 그리고 회로의 알고리즘을 구현한 프로그램으로부터 회로도를 생성하는 상위수준합성으로 분류된다. 물리합성과 논리합성 기술은 많이 발전하여 응용 목적용 집적회로(ASIC) 설계에 활용되고 있으나 상위수준합성은 미래 기술로 연구가 활발히 진행되고 있다. 상위수준합성에 의해 자동 생성되는 회로는 제어기와 데이터 처리기의 구조를 갖는다.The development of ultra-large-scale integration (VLSI) technology allows more than one million devices to be integrated on a single chip, but it is difficult to design such complex chips manually. As features vary and designs become more complex, the need for CAD tools to describe and validate algorithmic behavior of circuits at higher levels and to automatically design by synthesis tools is increasing. Synthetic CAD tools, which are widely applied in the design of integrated circuit (ASIC) design field, are the logic to generate circuit diagram from physical synthesis, logic or state transition information that generate drawing information from netlist. Synthesis is classified into higher-level synthesis that generates schematics from programs that implement algorithms for circuits. Physical synthesis and logic synthesis have been developed and used in the design of integrated circuit (ASIC) for application purpose, but high-level synthesis is actively researched as future technology. The circuit automatically generated by the high level synthesis has the structure of a controller and a data processor.

본 발명은 제어 중심(control-dominated) 회로에 응용할 목적으로 계층적 구조를 갖으며 인터럽트를 처리할 수 있는 상위수준 합성을 위한 계층 구조의 제어기 및 인터럽트 처리 회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a hierarchical controller and interrupt processing circuit for high-level synthesis capable of handling interrupts for the purpose of application to control-dominated circuits.

Description

상위수준 합성을 위한 계층 구조의 제어기 및 인터럽트 처리회로Hierarchical Controller and Interrupt Handling Circuit for Higher-Level Synthesis

본 발명은 상위수준 합성을 위한 계층 구조의 제어기 및 인터럽트 처리 회로에 관한 것으로, 특히 상위수준합성을 이용한 설계 자동화에서 제어 중심의 회로를 구현하는데 필요한 계층 구조를 갖는 제어기의 구조에 관한 것이다.The present invention relates to a hierarchical controller and interrupt processing circuit for high-level synthesis, and more particularly to a structure of a controller having a hierarchical structure necessary to implement a control-oriented circuit in design automation using high-level synthesis.

본 발명의 제어기는 주 유한상태 머신(main FSM) 블록, 부 유한상태 머신(sub FSM) 블록, 그리고 인터럽트 유한상태 머신(interrupt FSM) 블록으로 구성된다.The controller of the present invention consists of a main finite state machine (main FSM) block, a sub finite state machine (sub FSM) block, and an interrupt finite state machine block.

일반적으로 시스템의 아키텍쳐는 설계자의 설계 스타일에 따라서 달라진다. 또한 사용하는 상위수준합성 알고리즘이나 프로그램이 기본으로 하는 대상 아키텍쳐(target architecture)에 따라서도 다르다. 상위수준합성에 사용되는 아키텍쳐의 구성원으로는 ALU(Arithmetic Logic Unit), 멀티플라이어 등의 오퍼레이터와, 레지스터, 램(RAM)과 같은 메모리와, 그리고 버스, 신호(signal)와 같은 연결기이다. 이 구성원들을 이용하여 시스템 알고리즘을 구현하면서 면적, 성능 등이 서로 다른 다양한 회로를 만들어 내게 된다.In general, the architecture of the system depends on the designer's design style. It also depends on the target architecture on which the higher-level synthesis algorithm or program is based. The members of the architecture used for higher-level synthesis are operators such as Arithmetic Logic Units (ALUs) and multipliers, memory such as registers and RAM, and connectors such as buses and signals. These members are used to implement system algorithms to create various circuits with different areas, performances, and so on.

상위수준 합성은 응용 목적용 집적회로(ASIC)의 논리회로 설계를 자동화하는 캐드(CAD) 기술로서 프로그래밍 언어를 이용하여 구현할 알고리즘을 기술하면 레지스터 전송수준의 셀 들을 이용하여 논리회로를 자동으로 설계한다. 상위수준 합성은 물리합성이나 논리합성보다 상위수준의 설계 정보로부터 출발하며, 정형화된 구조를 목표로 자동 설계가 이루어진다. 대상 아키텍쳐는 크게 디지털 신호처리(DSP)와 마이크로 컨트롤러로 크게 구분되는데, 전자는 신호처리기의 합성에 중점을 두는 반면 후자는 제어기의 합성에 중점을 둔다. 마이크로 컨트롤러의 제어기는 알고리즘의 수행순서에 따라 데이터 처리기에서의 데이터 처리순서를 결정해야 하므로 복잡도가 매우 높다. 이 복잡도를 프로그램으로 처리하기 위하여 계층구조를 도입하여 상호 정보를 교환하는 유한상태 머신으로 모델링 한다. 또한, 하나 이상의 인터럽트를 처리할 수 있는 능력이 있어야 한다. 이와 같이 상위수준합성 캐드(CAD) 기술과 관련하여 마이크로 컨트롤러의 제어기가 계층구조를 가질 수 있으며 인터럽트를 처리할 수 있는 대상 아키텍쳐가 종래의 기술과 차별된다.High-level synthesis is a CAD technology that automates the design of logic circuits for application-specific integrated circuits (ASICs). An algorithm to be implemented using a programming language is used to automatically design logic circuits using register transfer level cells. . Higher-level synthesis starts from higher-level design information than physical or logical synthesis, and automatic design is aimed at a structured structure. The target architecture is largely divided into digital signal processing (DSP) and microcontroller. The former focuses on the synthesis of the signal processor, while the latter focuses on the synthesis of the controller. The controller of the microcontroller is very complicated because the data processing order in the data processor must be determined according to the algorithm execution order. In order to process this complexity programmatically, we introduce a hierarchical structure and model it as a finite state machine that exchanges information. It must also have the ability to handle one or more interrupts. As such, the controller of the microcontroller may have a hierarchical structure in relation to the CAD technology, and the target architecture capable of handling interrupts is differentiated from the conventional technology.

따라서, 본 발명은 마이크로 컨트롤러와 같은 제어 중심 회로의 구조를 갖으며, 데이터의 처리 순서를 지정하는 제어 블록은 주 및 부 인터럽트 유한상태 머신 블록으로 구성되며, 각각의 유한상태 머신 블록은 독립적으로 동작되지만 동작 순서는 주 유한상태 머신 블록에서 제어되며, 인터럽트 우선 처리의 기능을 갖으며, 회로의 설계 및 구현이 용이하도록 계층 구조를 갖는 상위수준 합성을 위한 계층 구조의 제어기 및 인터럽트 처리회로를 제공하는 데 그 목적이 있다.Accordingly, the present invention has a structure of a control-centric circuit such as a microcontroller, wherein the control block that specifies the processing order of the data is composed of primary and secondary interrupt finite state machine blocks, and each finite state machine block operates independently. However, the operation order is controlled in the main finite state machine block, has the function of interrupt priority processing, and provides a hierarchical controller and interrupt processing circuit for hierarchical structure with hierarchical structure to facilitate circuit design and implementation. Its purpose is to.

상술한 목적을 달성하기 위한 본 발명은 주 유한상태 머신 블록과, 상기 주 유한상태 머신 블록으로부터 출력되는 다수의 출력 제어 신호에 의해 동작되는 다수의 부 유한상태 머신 블록과, 상기 부 유한상태 머신 블록으로부터 부 유한상태 머신의 동작이 끝남을 알리는 신호를 검출하여 상기 주 유한상태 머신 블록으로 제어 신호를 출력하는 오알 게이트와, 상기 주 유한상태 머신 블록으로 인터럽트 요청 신호를 전달하며 상기 주 유한상태 머신 블록으로부터 공급되는 처리 허가 신호에 따라 동작되는 다수의 인터럽트 유한상태 머신 블록을 포함하여 구성된 것을 특징으로 한다.The present invention for achieving the above object is a main finite state machine block, a plurality of sub finite state machine blocks operated by a plurality of output control signals output from the main finite state machine block, and the sub finite state machine block An oar gate that detects a signal indicating that the operation of the secondary finite state machine is terminated and outputs a control signal to the primary finite state machine block, and transmits an interrupt request signal to the primary finite state machine block, And a plurality of interrupt finite state machine blocks operated according to a process permission signal supplied from the system.

또한, 주 유한상태 머신 블록의 인터럽트 처리를 위해 다수의 입력 제어 신호를 입력으로 하여 제 1 클럭에 따라 제어 신호를 주 유한상태 머신 블록으로 전달하는 제 1 래치 회로와, 주 유한상태 머신 블록의 현재 상태 값을 제 1 클럭에 따라 상기 주 유한상태 머신 블록으로 전달하는 제 2 래치 회로와, 상기 주 유한상태 머신 블록으로부터 출력되는 제어 신호를 입력으로 하여 제 2 클럭에 따라 다수의 제어 신호를 출력하는 제 3 래치 회로를 포함하여 구성된 것을 특징으로 한다. 또한, 상위 및 하위 인터럽트 유한상태 머신 블록에서 인터럽트 우선 처리를 위하여 상기 인터럽트 유한상태 머신 블록의 어느 한 출력 신호와 상위 인터럽트 신호를 입력하는 제 1 노아 게이트와, 상기 인터럽트 유한상태 머신 블록의 또 다른 출력 신호와 다른 상위 인터럽트 신호를 입력하는 제 2 노아 게이트와, 상기 제 2 노아 게이트의 출력과 전역 리셋 신호를 입력으로 하는 제 1 앤드 게이트와, 상기 제 1 노아 게이트의 출력, 상기 제 1 앤드 게이트의 출력 및 제 2 클럭에 따라 제어 신호를 출력하는 D형 플립플롭 회로와, 상기 D형 플립플롭 회로의 출력과 전역 리셋 신호를 각각 입력으로 하는 제 2 앤드 게이트와, 상기 제 2 앤드 게이트의 출력을 입력으로 하는 하위 인터럽트 유한상태 머신 블록을 포함하여 구성된 것을 특징으로 한다.In addition, a first latch circuit for receiving a plurality of input control signals as inputs for the interrupt processing of the main finite state machine block and transferring the control signals to the main finite state machine block according to the first clock; A second latch circuit for transmitting a state value to the main finite state machine block according to a first clock, and a control signal output from the main finite state machine block as an input to output a plurality of control signals according to the second clock; And a third latch circuit. Further, a first NOR gate for inputting an output signal of the interrupt finite state machine block and an upper interrupt signal for interrupt priority processing in the upper and lower interrupt finite state machine blocks, and another output of the interrupt finite state machine block. A second NOR gate for inputting an upper interrupt signal different from the signal, a first AND gate for inputting an output of the second NOR gate, and a global reset signal, an output of the first NOR gate, and an output of the first AND gate A D flip-flop circuit for outputting a control signal in accordance with an output and a second clock, a second and gate for inputting an output of the D flip-flop circuit and a global reset signal, and an output of the second and gate, respectively. And a lower interrupt finite state machine block as an input.

또한, 주 유한상태 머신 블록과 부 유한상태 머신 블록의 인터럽트 처리 시작 허가를 위해 상기 주 유한상태 머신 블록의 출력과 상기 부 유한상태 머신 블록의 출력을 입력으로 하는 제 1 오알 게이트와, 상기 제 1 오알 게이트의 출력과 제 2 클럭을 입력으로 하는 낸드 게이트와, 다수의 인터럽트 요청 신호를 입력으로 하는 제 2 오알 게이트와, 다수의 인터럽트 종료 신호를 입력으로 하는 제 3 오알 게이트와, 상기 제 2 오알 게이트의 출력을 입력으로 하는 인버터와, 상기 인버터의 출력과 상기 제 3 오알 게이트의 출력을 입력으로 하는 제 1 앤드 게이트와, 상기 제 2 오알 게이트의 출력과 상기 제 1 앤드 게이트의 출력과 상기 낸드 게이트의 출력을 입력으로 하는 JK형 플립플롭 회로와, 상기 플립플롭 회로의 출력과 제 1 클럭을 입력으로 하는 제 2 앤드 게이트와, 상기 JK형 플립플롭 회로의 출력과 제 2 클럭을 입력으로 하는 제 3 앤드 게이트를 포함하여 구성된 것을 특징으로 한다.In addition, a first false gate which takes an output of the primary finite state machine block and an output of the secondary finite state machine block as an input for allowing interrupt processing start permission of the primary finite state machine block and the secondary finite state machine block; A NAND gate for outputting the OH gate and a second clock, a second OHAL gate for inputting a plurality of interrupt request signals, a third OHAL gate for inputting a plurality of interrupt termination signals, and the second OL An inverter having an output of a gate as an input, a first AND gate having an output of the inverter and an output of the third OR gate, an output of the second OR gate, an output of the first AND gate, and the NAND A JK type flip-flop circuit having an output of a gate as an input, and a second N & A having an output of the flip-flop circuit and a first clock as an input. Characterized in that configured to include a gate and a third AND gate to the output of the second clock of the JK flip-flop circuit as an input.

도 1은 본 발명에 따른 상위수준 합성을 위한 계층 구조 제어기의 블록도.1 is a block diagram of a hierarchy controller for higher level synthesis in accordance with the present invention.

도 2는 주 유한상태 머신의 인터럽트 처리를 위한 회로도.2 is a circuit diagram for interrupt processing of a main finite state machine.

도 3(a) 및 도 3(b)는 상위 및 하위 인터럽트 유한상태 머신에서 인터럽트 우선 처리를 위한 회로도.3 (a) and 3 (b) are circuit diagrams for interrupt priority processing in upper and lower interrupt finite state machines.

도 4는 주 및 부 유한상태 머신에서 인터럽트의 처리 시작 허가를 위한 회로도.Fig. 4 is a circuit diagram for permission to start processing interrupts in main and minor finite state machines.

<도면의 주요 부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

1: 주 유한상태 머신(Main FSM) 블록1: Main finite state machine block

2A 내지 2N: 부 유한상태 머신(Sub FSM) 블록2A to 2N: Sub Finite State Machine (Sub FSM) Block

3A 내지 3N: 인터럽트 유한상태 머신(Interrupt FSM) 블록3A to 3N: Interrupt Finite State Machine Block

4: 오알(OR) 게이트 5: 주 유한상태 머신(Main FSM) 블록4: OR gate 5: Main finite state machine block

6 내지 8: 래치 회로 11: 인터럽트 유한상태 머신6 to 8: Latch Circuit 11: Interrupt Finite State Machine

12: 주 유한상태 머신 13, 14: 노아 게이트12: main finite state machine 13, 14: noah gate

15, 16: 앤드 게이트 17: D형 플립플롭 회로15, 16: AND gate 17: D flip-flop circuit

18: 하위 인터럽트 유한상태 머신 19: 주 유한상태 머신18: Lower Interrupt Finite State Machine 19: Main Finite State Machine

20: 부 유한상태 머신 21 내지 23: 오알 게이트20: minor finite state machine 21 to 23 oal gate

24: 인버터 25, 28, 29: 앤드 게이트24: inverter 25, 28, 29: end gate

26: 낸드 게이트 27: JK형 플립플롭 회로26: NAND gate 27: JK type flip-flop circuit

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;

도 1은 본 발명에 따른 상위수준 합성을 위한 계층 구조 제어기의 블록도이다. 부 유한상태 머신 블록(2A 내지 2N)의 동작은 주 유한상태 머신 블록(1)에서 출력된 다수의 제어 신호(StartSubProc1 ~ StartSubProcN)에 따라서 동작되며, 여러 개의 출력 신호 중에 하나의 신호만이 액티브 된다. 액티브 신호를 받은 부 유한상태 머신 블록의 동작이 완료되면 동작 완료 신호(FinishSubProc)를 출력하고, 이 신호에 따라서 주 유한상태 머신 블록(1)은 다음 동작을 수행한다. 따라서 동시에 하나의 제어 신호만이 액티브 되는 순차적인 수행을 한다.1 is a block diagram of a hierarchy controller for higher level synthesis in accordance with the present invention. The operations of the sub-finite state machine blocks 2A to 2N are operated according to the plurality of control signals StartSubProc1 to StartSubProcN output from the main finite state machine block 1, and only one signal among the multiple output signals is activated. . When the operation of the sub-finite state machine block receiving the active signal is completed, an operation completion signal (FinishSubProc) is output. According to the signal, the main finite state machine block 1 performs the following operation. Therefore, sequential execution is performed in which only one control signal is active at the same time.

인터럽트 유한상태 머신 블록(3A 내지 3N)의 동작은 인터럽트 요청 신호(RequestInterrupt)를 주 유한상태 머신 블록(1)으로 보내고 처리 허가 신호(ApproveInterrupt)가 오면 동작한다.The operation of the interrupt finite state machine blocks 3A to 3N sends an interrupt request signal (RequestInterrupt) to the main finite state machine block 1 and operates when the processing permission signal (ApproveInterrupt) comes.

도 2는 주 유한상태 머신의 인터럽트 처리를 위한 회로도로서, 입력 및 출력 제어 신호는 비중첩 2상(non-overlap 2 phase) 클럭과 래치 회로를 이용하여 동기 시킨다. 제 1 클럭(Phi1)에 의하여 입력 신호가, 제 2 클럭(phi2)에 의하여 출력 신호가 액티브 된다. 제 1 클럭(Phi1)의 주기는 주 유한상태 머신 블록(5)의 임계 경로 지연에 따라 결정되며, 제 2 클럭(Phi2)의 상승 구간(rising edge)부터 다음 상승 구간의 한 주기 동안에 주 유한상태 머신 블록(5)의 출력 제어 신호가 유효하다. 이 블록에서 실제 처리 부분인 주 유한상태 머신 블록(5)의 동작을 위해 입력 제어 신호는 외부 입력(ExtIn), 데이터 패스로부터의 입력(Flag), 유한상태 머신 동작의 시작을 알리는 입력(StartSelf), 부 유한상태 머신 블록의 동작의 완료를 나타내는 입력(FinishSubProc), 그리고 주 유한상태 머신 블록의 현재 상태 값 입력(StateSig)들이 제 1 클럭(Phi1)에 동기 된 제 1 및 제 2 래치 회로(6 및 7)에 의하여 입력된다. 또한 주 유한상태 머신 블록(5)의 출력 제어 신호는 외부로의 출력(ExtOut), 각각의 제어 단계(control step)의 끝을 알리는 출력(lastOP), 주 유한상태 머신 블록(5)의 수행 동작의 끝을 알리는 출력(FinishSelf), 그리고 부 유한상태 머신의 시작을 알리는 출력(StartSubProcN)들로 제 2 클럭(Phi2)에 동기된 제 3 래치 회로(8)에 의하여 출력된다.2 is a circuit diagram for interrupt processing of the main finite state machine, in which input and output control signals are synchronized using a non-overlap two phase clock and latch circuit. The input signal is activated by the first clock Phi1 and the output signal is activated by the second clock phi2. The period of the first clock Phi1 is determined according to the critical path delay of the main finite state machine block 5, and is the main finite state for one period of the next rising period from the rising edge of the second clock Phi2. The output control signal of the machine block 5 is valid. For the operation of the main finite state machine block 5, which is the actual processing part of this block, the input control signal is an external input (ExtIn), an input from the data path (Flag), an input (StartSelf) indicating the start of the finite state machine operation. A first and second latch circuit 6 whose input indicating the completion of the operation of the sub-finite state machine block (FinishSubProc) and the current state value inputs (StateSig) of the main finite state machine block are synchronized to the first clock (Phi1). And 7). In addition, the output control signal of the main finite state machine block 5 includes an output to the outside (ExtOut), an output (lastOP) indicating the end of each control step, and an operation operation of the main finite state machine block 5. It is output by the third latch circuit 8 in synchronization with the second clock Phi2 with an output FinnishSelf for notifying the end of, and an output StartSubProcN for notifying the start of the sub-state machine.

도 3(a) 및 도 3(b)는 상위 및 하위 인터럽트 유한상태 머신에서 인터럽트 우선 처리를 위한 회로도이다.3 (a) and 3 (b) are circuit diagrams for interrupt priority processing in upper and lower interrupt finite state machines.

도 3(a)에서 기본적인 인터럽트 유한상태 머신 블록(11)의 입출력은 외부로부터 인터럽트 요구신호(ExtInterrupt)와 인터럽트 처리 허가신호(ApproveInterrupt)를 입력으로 하며 인터럽트발생을 알리고 처리를 요구하는 신호(RequestInterrupt), 하위 인터럽트 취소 요구신호(ResetInferiorInterrupt), 그리고 인터럽트의 처리 종료를 알리는 신호(FinishInterrupt)를 출력으로 한다. 여러 개의 인터럽트가 발생할 경우, 처리 순서가 높은 인터럽트를 실행하고 낮은 순위의 인터럽트는 취소시킬 필요가 있다.In FIG. 3 (a), the input / output of the basic interrupt finite state machine block 11 inputs an interrupt request signal ExtInterrupt and an interrupt processing enable signal ApproveInterrupt from the outside to signal an interrupt occurrence and request processing. The lower interrupt cancellation request signal (ResetInferiorInterrupt) and the signal for finishing the interrupt processing (FinishInterrupt) are outputted. If multiple interrupts occur, it is necessary to execute interrupts with higher processing order and cancel lower priority interrupts.

도 3(b)의 인터럽트 유한상태 머신 블록(12)과 하위 인터럽트 유한상태 머신 블록(18)에서 인터럽트의 처리를 위한 동작은 다음과 같다. 인터럽트 유한상태 머신 블록(12)이 동작하면 이 블록 보다 낮은 처리 순위의 하위 인터럽트 유한상태 머신 블록(18) 동작을 취소시키는 제어 신호(ResetInferiorInterrupt)를 발생시킨다. 이 신호는 D형 플립플롭 회로(17)의 셋(set) 단자에 연결되어, 신호가 액티브 되면 D형 플립플롭 회로(17)의 출력이 '1'의 값을 갖는다. 또한 하위 인터럽트 유한상태 머신 블록(18)보다 상위의 다른 인터럽트 처리를 위하여 제 1 노아(NOR) 게이트(13)를 사용한다. 인터럽트 유한상태 머신 블록(12)의 동작이 완료되면 인터럽트 처리 종료 신호(FinishInterrupt)를 발생시키다. 이 신호는 D형 플립플롭 회로(17)의 클리어(clr) 단자에 연결되어, 신호가 액티브 되면 D형 플립플롭(17)의 출력이 '0'의 값을 갖는다. 또한 하위 인터럽트 유한상태 머신 블록(18)과 다른 상위의 인터럽트 처리를 위하여 제 2 노아(NOR) 게이트(14)를 사용하며, 전역 리셋 신호 처리를 위하여 제 1 앤드(AND) 게이트(15)를 사용한다. 따라서 하위 인터럽트 유한상태 머신 블록(18)은 전역 리셋 신호가 액티브 될 때, 하위 인터럽트 취소 신호(ResetInferiorInterrupt)나 상위의 다른 인터럽트 신호가 액티브 되면 리셋 된다. 그리고 인터럽트 처리 종료 신호(FinishInterrupt)가 액티브 되면 하위의 인터럽트 유한상태 머신 블록(18)이 동작할 수 있는 상태가 된다.The operations for processing interrupts in the interrupt finite state machine block 12 and the lower interrupt finite state machine block 18 of FIG. 3 (b) are as follows. The operation of the interrupt finite state machine block 12 generates a control signal ResetInferiorInterrupt that cancels the operation of the lower interrupt finite state machine block 18 of lower processing priority than this block. This signal is connected to the set terminal of the D flip-flop circuit 17 so that when the signal is active, the output of the D flip-flop circuit 17 has a value of '1'. The first NOR gate 13 is also used for other interrupt processing above the lower interrupt finite state machine block 18. When the operation of the interrupt finite state machine block 12 is completed, an interrupt processing end signal (FinishInterrupt) is generated. This signal is connected to the clear (clr) terminal of the D flip-flop circuit 17 so that when the signal is active, the output of the D flip-flop 17 has a value of '0'. In addition, a second NOR gate 14 is used for lower interrupt finite state machine block 18 and other upper interrupt processing, and a first AND gate 15 is used for global reset signal processing. do. Accordingly, the lower interrupt finite state machine block 18 is reset when the lower interrupt cancel signal (ResetInferiorInterrupt) or another upper interrupt signal is activated when the global reset signal is activated. When the interrupt processing end signal FinnishInterrupt is activated, the lower interrupt finite state machine block 18 is operable.

도 4는 주 및 부 유한상태 머신에서 인터럽트의 처리 시작 허가를 위한 회로도이다. 주 유한상태 머신 블록(19) 또는 부 유한상태 머신 블록(20)의 동작이 완료되면 동작 완료 신호(LastOP)가 액티브 되어 제 1 오알(OR) 게이트(21)의 출력이 '1'이 된다. 이 출력과 제 2 클럭(phi2)을 입력으로 하는 낸드(NAND) 게이트(26)의 결과가 JK형 플립플롭 회로(27)의 클럭이 된다. 인터럽트 처리 허가 요구(RequestInterrupt)가 있을 경우 JK형 플립플롭 회로(27)는 전술한 클럭에 따라서 인터럽트 처리 허가 신호(ApproveInterrupt)를 출력하는데, 이 때 인터럽트 처리 허가는 현재 수행중인 명령이 완료된 후에 출력되며 제 1 및 제 2 클럭(phi1 및 phi2)이 입력되는 제 2 및 제 3 앤드(AND) 게이트(28 및 29)에 의하여 처리 허가 신호가 발생된다. 인터럽트가 처리되면 종료 신호(FinishInterrupt)가 발생되는데 이 때부터 주 유한상태 머신으로 들어가는 클럭 신호가 정상화된다.4 is a circuit diagram for permission to start processing interrupts in the main and secondary finite state machines. When the operation of the primary finite state machine block 19 or the secondary finite state machine block 20 is completed, the operation completion signal LastOP is activated so that the output of the first OR gate 21 becomes '1'. The result of the NAND gate 26 which inputs this output and the second clock phi2 is the clock of the JK flip-flop circuit 27. When there is an interrupt processing permission request (RequestInterrupt), the JK flip-flop circuit 27 outputs an interrupt processing permission signal (ApproveInterrupt) in accordance with the clock described above. At this time, the interrupt processing permission is output after the instruction currently being executed is completed. The processing permission signal is generated by the second and third AND gates 28 and 29 to which the first and second clocks phi1 and phi2 are input. When the interrupt is processed, a finish signal (FinishInterrupt) is generated, from which the clock signal entering the main finite state machine is normalized.

상술한 바와 같이 본 발명은 계층적 구조를 갖는 제어기로써 인터럽트 처리를 위한 구조로 구현함으로써 상위수준 합성을 위한 대상 아키텍쳐로 사용 될 수 있다. 또한 계층 구조를 갖기 때문에 상위수준 합성에 의한 설계에서 설계 및 검증이 용이하다.As described above, the present invention can be used as a target architecture for high-level synthesis by implementing a structure for interrupt processing as a controller having a hierarchical structure. It also has a hierarchical structure, making it easy to design and verify in high level synthesis.

Claims (4)

주 유한상태 머신 블록과,The main finite state machine block, 상기 주 유한상태 머신 블록으로부터 출력되는 다수의 출력 제어 신호에 의해 동작되는 다수의 부 유한상태 머신 블록과,A plurality of sub-finite state machine blocks operated by a plurality of output control signals output from the main finite state machine block; 상기 부 유한상태 머신 블록으로부터 부 유한상태 머신의 동작이 끝남을 알리는 신호를 검출하여 상기 주 유한상태 머신 블록으로 제어 신호를 출력하는 오알 게이트와,An oar gate detecting a signal indicating that the operation of the sub-finite state machine is ended from the sub-finite state machine block and outputting a control signal to the main finite state machine block; 상기 주 유한상태 머신 블록으로 인터럽트 요청 신호를 전달하며 상기 주 유한상태 머신 블록으로부터 공급되는 처리 허가 신호에 따라 동작되는 다수의 인터럽트 유한상태 머신 블록을 포함하여 구성된 것을 특징으로 하는 상위수준 합성을 위한 계층 구조의 제어기.A layer for higher level synthesis, comprising a plurality of interrupt finite state machine blocks which transmit an interrupt request signal to the main finite state machine block and operate according to a process permission signal supplied from the main finite state machine block Controller of the structure. 주 유한상태 머신 블록의 인터럽트 처리를 위해 다수의 입력 제어 신호를 입력으로 하여 제 1 클럭에 따라 제어 신호를 주 유한상태 머신 블록으로 전달하는 제 1 래치 회로와,A first latch circuit for inputting a plurality of input control signals for interrupt processing of the main finite state machine block and transferring the control signals to the main finite state machine block according to a first clock; 주 유한상태 머신 블록의 현재 상태 값을 제 1 클럭에 따라 상기 주 유한상태 머신 블록으로 전달하는 제 2 래치 회로와,A second latch circuit for conveying a current state value of a main finite state machine block to the main finite state machine block according to a first clock; 상기 주 유한상태 머신 블록으로부터 출력되는 제어 신호를 입력으로 하여 제 2 클럭에 따라 다수의 제어 신호를 출력하는 제 3 래치 회로를 포함하여 구성된 것을 특징으로 하는 상위수준 합성을 위한 계층 구조 제어기의 인터럽트 처리회로.And a third latch circuit configured to output a plurality of control signals in accordance with a second clock by using the control signal output from the main finite state machine block as an input. Circuit. 상위 및 하위 인터럽트 유한상태 머신 블록에서 인터럽트 우선 처리를 위하여 상기 인터럽트 유한상태 머신 블록의 어느 한 출력 신호와 상위 인터럽트 신호를 입력하는 제 1 노아 게이트와,A first NOR gate for inputting an output signal and an upper interrupt signal of the interrupt finite state machine block for interrupt priority processing in the upper and lower interrupt finite state machine blocks; 상기 인터럽트 유한상태 머신 블록의 또 다른 출력 신호와 다른 상위 인터럽트 신호를 입력하는 제 2 노아 게이트와,A second NOR gate for inputting a higher interrupt signal different from another output signal of the interrupt finite state machine block; 상기 제 2 노아 게이트의 출력과 전역 리셋 신호를 입력으로 하는 제 1 앤드 게이트와,A first AND gate configured to receive an output of the second NOR gate and a global reset signal; 상기 제 1 노아 게이트의 출력, 상기 제 1 앤드 게이트의 출력 및 제 2 클럭에 따라 제어 신호를 출력하는 D형 플립플롭 회로와,A D-type flip-flop circuit for outputting a control signal according to an output of the first NOR gate, an output of the first and gate, and a second clock; 상기 D형 플립플롭 회로의 출력과 전역 리셋 신호를 각각 입력으로 하는 제 2 앤드 게이트와,A second AND gate having an output of the D flip-flop circuit and a global reset signal as inputs, respectively; 상기 제 2 앤드 게이트의 출력을 입력으로 하는 하위 인터럽트 유한상태 머신 블록을 포함하여 구성된 것을 특징으로 하는 상위수준 합성을 위한 계층 구조 제어기의 인터럽트 처리회로.And a lower interrupt finite state machine block for inputting the output of the second and gate. 주 유한상태 머신 블록과 부 유한상태 머신 블록의 인터럽트 처리 시작 허가를 위해 상기 주 유한상태 머신 블록의 출력과 상기 부 유한상태 머신 블록의 출력을 입력으로 하는 제 1 오알 게이트와,A first false gate as an input of an output of the primary finite state machine block and an output of the secondary finite state machine block for permission to start interrupt processing of the primary finite state machine block and the secondary finite state machine block; 상기 제 1 오알 게이트의 출력과 제 2 클럭을 입력으로 하는 낸드 게이트와,A NAND gate having an output of the first oar gate and a second clock as an input; 다수의 인터럽트 요청 신호를 입력으로 하는 제 2 오알 게이트와,A second false gate for inputting a plurality of interrupt request signals; 다수의 인터럽트 종료 신호를 입력으로 하는 제 3 오알 게이트와,A third false gate for inputting a plurality of interrupt termination signals; 상기 제 2 오알 게이트의 출력을 입력으로 하는 인버터와,An inverter having an output of the second false gate as an input; 상기 인버터의 출력과 상기 제 3 오알 게이트의 출력을 입력으로 하는 제 1 앤드 게이트와,A first end gate having an output of the inverter and an output of the third false gate as an input; 상기 제 2 오알 게이트의 출력과 상기 제 1 앤드 게이트의 출력과 상기 낸드 게이트의 출력을 입력으로 하는 JK형 플립플롭 회로와,A JK flip-flop circuit having an output of the second false gate, an output of the first AND gate, and an output of the NAND gate; 상기 JK형 플립플롭 회로의 출력과 제 1 클럭을 입력으로 하는 제 2 앤드 게이트와,A second end gate having an output of the JK flip-flop circuit and a first clock as an input; 상기 JK형 플립플롭 회로의 출력과 제 2 클럭을 입력으로 하는 제 3 앤드 게이트를 포함하여 구성된 것을 특징으로 하는 상위수준 합성을 위한 계층 구조 제어기 의 인터럽트 처리회로.And a third end gate having an output of the JK flip-flop circuit and a second clock as an input.
KR1019970047181A 1997-09-12 1997-09-12 Hierarchical controller and interrupt management circuit for high-level synthesis KR100240658B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970047181A KR100240658B1 (en) 1997-09-12 1997-09-12 Hierarchical controller and interrupt management circuit for high-level synthesis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970047181A KR100240658B1 (en) 1997-09-12 1997-09-12 Hierarchical controller and interrupt management circuit for high-level synthesis

Publications (2)

Publication Number Publication Date
KR19990025516A KR19990025516A (en) 1999-04-06
KR100240658B1 true KR100240658B1 (en) 2000-01-15

Family

ID=19521261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970047181A KR100240658B1 (en) 1997-09-12 1997-09-12 Hierarchical controller and interrupt management circuit for high-level synthesis

Country Status (1)

Country Link
KR (1) KR100240658B1 (en)

Also Published As

Publication number Publication date
KR19990025516A (en) 1999-04-06

Similar Documents

Publication Publication Date Title
EP0102242B1 (en) Data processing apparatus
US4112490A (en) Data transfer control apparatus and method
US7779286B1 (en) Design tool clock domain crossing management
CN100527111C (en) On-chip DMA structure and its implement method
Marshall et al. Designing an asynchronous communications chip
US6668199B1 (en) Fabrication method for a control unit for electronic microcontrollers or micoprocessors
US7464361B2 (en) System and method for asynchronous logic synthesis from high-level synchronous descriptions
Josephs et al. Modeling and design of asynchronous circuits
JPH1173302A (en) Circuit and method for optimizing power consumption of register transfer level placing great importance on analysis and reduction of glitch, and recording medium
US7284143B2 (en) System and method for reducing clock skew
WO2001063647A3 (en) Digital circuit implementation by means of parallel sequencers
US4250547A (en) Information processing apparatus capable of effecting parallel processings by using a divided common bus
Branover et al. Asynchronous design by conversion: Converting synchronous circuits into asynchronous ones
US7380153B2 (en) Micropipeline stage controller and control scheme
JPH0710067B2 (en) Digital data communication system
KR100240658B1 (en) Hierarchical controller and interrupt management circuit for high-level synthesis
US5774738A (en) State machines
US8176451B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium
Sridhar Asynchronous design techniques
Kessels et al. Designing an asynchronous bus interface
JP3652269B2 (en) Signal processing device
RU2024927C1 (en) Microprocessor
JP3547012B2 (en) Microcomputer
JPH04369064A (en) Method and device for controlling interruption processing
KR100268903B1 (en) Single chip microcontroller unit

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee