KR20020036471A - Method for making VHDL codes with flow chart conversion from IP interface waveform - Google Patents

Method for making VHDL codes with flow chart conversion from IP interface waveform Download PDF

Info

Publication number
KR20020036471A
KR20020036471A KR1020000066649A KR20000066649A KR20020036471A KR 20020036471 A KR20020036471 A KR 20020036471A KR 1020000066649 A KR1020000066649 A KR 1020000066649A KR 20000066649 A KR20000066649 A KR 20000066649A KR 20020036471 A KR20020036471 A KR 20020036471A
Authority
KR
South Korea
Prior art keywords
waveform
truth table
input
flowchart
signals
Prior art date
Application number
KR1020000066649A
Other languages
Korean (ko)
Other versions
KR100375828B1 (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 KR10-2000-0066649A priority Critical patent/KR100375828B1/en
Publication of KR20020036471A publication Critical patent/KR20020036471A/en
Application granted granted Critical
Publication of KR100375828B1 publication Critical patent/KR100375828B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/35Delay-insensitive circuit design, e.g. asynchronous or self-timed

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PURPOSE: A method for generating a VHDL(Very High-speed integrated circuit Description Language) code by using the waveform transformation of an IP(Internet Protocol) interface is provided to be usefully applied to the designing of an asynchronous circuit excluding a main clock. CONSTITUTION: The method comprises steps of tabulating a truth table by enlarging a rising edge section in an optional sequential circuit waveform and dividing the waveform of input and output signals into many motion sections in a specific sequence(S1), classifying the input signals into a level signal and a pulse signal based on the output signals on the truth table(S2), simplifying the truth table and settling the remaining motion sequence(S3), drawing a flow chart of the remaining motion sequence depending on respective output signals(S4), writing a VHDL source code by referring to the flow chart(S5), and synthesizing an asynchronous electronic circuit with the VHDL source code by using a CAD(Computer-Aided Design) tool(S6).

Description

아이피 인터페이스 파형의 흐름도 변환에 의한 브이에이치디엘 코드 생성 방법{Method for making VHDL codes with flow chart conversion from IP interface waveform}Method for making VHDL codes with flow chart conversion from IP interface waveform

본 발명은 제시된 임의의 타이밍도로부터 논리회로를 생성할 수 있는 전자회로 설계 방법에 대한 것으로서, 특히 프로세서와 IP(Intellectual Property) 또는 IP와 IP간의 핸드쉐이킹 신호등과 같이 메인 클록(main clock)을 사용하지 않는 비동기형 회로 설계 시 유용하게 적용할 수 있는 순차회로 생성방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for designing electronic circuits that can generate logic circuits from any timing diagram presented, in particular using a main clock such as a processor and an IP (Intellectual Property) or handshaking signals between IP and IP. The present invention relates to a method for generating a sequential circuit that can be usefully used in designing an asynchronous circuit that does not.

종래에는 임의의 타이밍 파형으로부터 논리회로를 설계하기 위하여, 현재상태와 다음상태를 상태도로 표현하여 천이도를 작성한 후 논리방정식을 추출하고, 마스터(master) 플립플롭용 회로를 적용하여 1차로 회로를 생성한 다음 슬레이브(slave) 플립플롭용 회로를 적용하여 2차로 회로를 생성하는 방법으로 순차회로를 설계하였다. 이와 같은 종래의 방법은 적용 예정인 마스터용 플립플롭과 슬레이브용 플립플롭을 사전에 미리 설정해서 그에 부합하는 회로를 생성하는 방법으로서, 메인 클록을 반드시 인가해야 하며, 두 번의 절차를 거쳐서 생성하는 등 그 방법이 매우 복잡하고 구현에 어려움이 많은 문제점이 있다.Conventionally, in order to design a logic circuit from an arbitrary timing waveform, a transition diagram is created by representing the current state and the next state as a state diagram, the logic equation is extracted, and a master flip-flop circuit is applied. After that, the sequential circuit is designed to generate the circuit in the second order by applying the slave flip-flop circuit. Such a conventional method is a method of previously setting a master flip-flop and a slave flip-flop to be applied in advance to generate a circuit corresponding thereto, and a main clock must be applied and generated through two procedures. The problem is that the method is very complex and difficult to implement.

또한 제시된 타이밍 파형만으로 펄스형 순차회로를 합성할 수 있는 방법으로 Janus 알고리즘이 있다. Janus 알고리즘은 두 IP에 대한 이벤트(Event) 중심으로 기술된 타이밍 파형을 입력으로 받아들여 이것을 이븐(Even) 그래프로 변환시킨 후 SR-래치와 D-FF로 구성된 세 종류의 템플리트를 동기와 비동기 특성에 맞추어 적용시킨 후 합성의 절차를 거쳐서 논리회로를 생성시키는 방법이다. 이 방법 역시 SR-래치와 D-FF를 사용하면서 메인 클록을 반드시 인가해야 하기 때문에 비동기 펄스형 순차회로의 구현에 어려움이 있다.In addition, Janus algorithm is a method that can synthesize pulsed sequential circuit using only the presented timing waveform. The Janus algorithm takes as input the event-driven timing waveforms for both IPs, converts them into Even graphs, and then uses three types of templates, SR-latch and D-FF, for synchronous and asynchronous characteristics. It is a method to generate a logic circuit through the synthesis process after applying accordingly. This method also has difficulty in implementing an asynchronous pulse type sequential circuit because the main clock must be applied while using the SR-latch and D-FF.

따라서, 종래의 이러한 순차 회로 생성방법들은 메인 클록을 사용하지 않으면서 대신에 명령이나 데이터의 도착에 근거하여 명령을 실행하는 데이터-흐름 회로 구조로 된 IP 인터페이스 논리회로의 설계에는 적용할 수 없다는 문제점이 있다. 다시 말해서, IP 인터페이스 논리회로에 사용하게되는 플립플롭 종류에 메인 클록을 인가하게 되면, 순차 회로 생성방법은 동기식으로 되는 것이며 이 후 각 인터페이스 대상 IP의 특성에 맞추어 비동기로 변환시키는 회로를 거쳐야 하기 때문에 그 적용이 매우 까다롭다. 또한 메인 클록을 전혀 사용하지 않고 비동기 회로로 설계하고자 할 경우에는 순차 회로 생성방법을 적용할 수 없다는 문제점이 있다.Therefore, these conventional sequential circuit generation methods are not applicable to the design of an IP interface logic circuit having a data-flow circuit structure that executes an instruction based on arrival of a command or data instead of using a main clock. There is this. In other words, when the main clock is applied to the flip-flop type used in the IP interface logic circuit, the sequential circuit generation method becomes synchronous, and after that, the circuit must be converted asynchronously according to the characteristics of each interface target IP. The application is very demanding. In addition, when designing as an asynchronous circuit without using the main clock at all, there is a problem in that the sequential circuit generation method cannot be applied.

본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로서, 레벨형 입력과 펄스형 입력이 혼합된 타이밍 파형들만 제시되었을 경우에 이 파형의 진리표를 작성하고 성분을 분류한 후 간략화 과정을 거치고 난 다음에 파형의 동작 순서에 따라서 개별 출력신호들을 흐름도로 바꾸고, 흐름도의 단계별로 VHDL(very high speed integrated circuit description language) 코드를 대입시킨 후 VHDL 소스코드를 추출하되, 메인 클록을 사용하지 않는 비동기형 회로 설계 시 유용하게 적용될 수 있는, 파형변환에 의한 VHDL 코드를 생성하는 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems. When only timing waveforms in which a level input and a pulse input are mixed are presented, a truth table of the waveform is generated, the components are classified, and the process is simplified. Asynchronous circuit design that converts individual output signals into a flow chart according to the waveform operation sequence, inserts a VHDL (very high speed integrated circuit description language) code and extracts the VHDL source code without using the main clock. It is an object of the present invention to provide a method of generating VHDL code by waveform conversion, which can be usefully applied to a system.

도 1은 본 발명에 따른 파형변환 알고리즘을 도시한 흐름도,1 is a flowchart illustrating a waveform conversion algorithm according to the present invention;

도 2는 본 발명에 따른 인터페이스 논리회로 적용 신호들의 일 실시에 따른 블록도,Figure 2 is a block diagram according to one embodiment of the interface logic application signals according to the present invention;

도 3은 본 발명에 따른 인터페이스 논리회로의 일 실시에 따른 파형도,3 is a waveform diagram according to an embodiment of an interface logic circuit according to the present invention;

도 4는 상기 도 3에서 제시된 파형의 상승 엣지 구간을 확대하여 구획한 수정 파형도,4 is a modified waveform diagram in which the rising edge section of the waveform shown in FIG. 3 is enlarged and divided;

도 4a는 상기 도 4의 동작순서에 따른 진리표,4A is a truth table according to the operation sequence of FIG. 4;

도 5는 상기 도 4b의 진리표의 신호성분을 분류하여 표시한 진리표,FIG. 5 is a truth table classifying and displaying signal components of the truth table of FIG. 4B;

도 6은 상기 도 5의 진리표에서 동일한 출력 신호군들을 그룹화 한 진리표,6 is a truth table grouping the same output signal groups in the truth table of FIG. 5;

도 6a는 상기 도 6의 진리표에서 IBF 출력을 기준으로 입력신호 성분을 확정한 진리표,6A is a truth table in which input signal components are determined based on IBF output in the truth table of FIG. 6;

도 6b는 상기 도 6의 진리표에서 INTR 출력을 기준으로 입력신호 성분을 확정한 진리표,6B is a truth table in which input signal components are determined based on INTR output in the truth table of FIG. 6;

도 7은 상기 도 6a의 진리표를 일 실시에 따라 변환한 흐름도,7 is a flowchart of converting the truth table of FIG. 6A according to one embodiment;

도 8은 상기 도 6b의 진리표를 일 실시에 따라 변환한 흐름도,8 is a flowchart of a conversion of the truth table of FIG. 6B according to one embodiment;

도 9는 상기 도 7과 도 8의 흐름도를 합하여 일 실시예에 따라 작성한 VHDL 코드,9 is a VHDL code prepared according to an embodiment by combining the flowcharts of FIGS. 7 and 8;

도 10은 상기 도 9의 VHDL 코드로 기존의 CAD 툴을 이용하여 일 실시예에 따라 합성한 인터페이스 논리회로도,10 is an interface logic circuit synthesized according to an embodiment using an existing CAD tool with the VHDL code of FIG. 9;

도 11은 상기 도 10의 인터페이스 논리회로를 기존의 CAD 툴을 이용하여 일 실시예에 따라 작성한 시뮬레이션도이다.FIG. 11 is a simulation diagram illustrating the interface logic circuit of FIG. 10 according to an embodiment using an existing CAD tool.

상기 목적을 달성하기 위한 본 발명에 따른 IP 인터페이스 파형의 흐름도 변환에 의한 VHDL 코드 생성방법은, 임의의 레벨형 입력과 펄스형 입력이 혼합된 타이밍도를 가지고 논리회로를 생성할 수 있는 전자회로 설계 방법에 있어서, 임의의 순차회로 파형의 상승 엣지(Rising edge) 구간을 확대한 후 입력 및 출력신호의 파형을 다수개의 동작구간으로 나누어 동작 순서를 정해서 이에 해당하는 진리표를 작성하는 제 1단계; 상기 진리표에서 출력신호들을 기준으로 하여 상기 입력신호들을 레벨신호와 펄스신호로 분류하는 제 2단계; 상기 제 2단계의 진리표를 간략화하고 이 후 남게되는 잔류 동작순서를 확정하는 제 3단계; 상기 제 3단계의 진리표로부터 각각의 출력 신호에 따른 잔류 동작순서의 흐름도를 작성하는 제 4단계; 상기 제4 단계의 흐름도로부터 VHDL 소스코드를 작성하는 제 5단계; 및 상기 제 5단계에서 작성한 VHDL 소스코드로부터 종래의 CAD 툴을 활용하여 비동기식 전자회로를 합성하는 제 6단계를 포함하여 이루어지는 것을 특징으로 하는 순차회로 생성방법이 제시된다.VHDL code generation method by converting the flow chart of the IP interface waveform in accordance with the present invention for achieving the above object, an electronic circuit design capable of generating a logic circuit with a timing diagram mixed with any level input and pulse input A method, comprising: a first step of enlarging a rising edge section of an arbitrary sequential circuit waveform, dividing a waveform of an input and an output signal into a plurality of operation sections, and determining an operation sequence to prepare a corresponding truth table; Classifying the input signals into level signals and pulse signals based on output signals in the truth table; A third step of simplifying the truth table of the second step and then determining the remaining operation sequence remaining; A fourth step of preparing a flowchart of a residual operation sequence corresponding to each output signal from the truth table of the third step; A fifth step of creating VHDL source code from the flowchart of the fourth step; And a sixth step of synthesizing an asynchronous electronic circuit using a conventional CAD tool from the VHDL source code created in the fifth step.

또한, 컴퓨터에, 임의의 순차회로 파형의 상승 엣지(Rising edge) 구간을 확대한 후 입력 및 출력신호의 파형을 다수개의 동작구간으로 나누어 동작 순서를 정해서 이에 해당하는 진리표를 작성하는 제 1단계; 상기 진리표에서 출력신호들을 기준으로 하여 상기 입력신호들을 레벨신호와 펄스신호로 분류하는 제 2단계;The method may further include: a first step of expanding a rising edge section of an arbitrary sequential circuit waveform in a computer, dividing a waveform of an input and an output signal into a plurality of operation sections, and determining an operation order to create a corresponding truth table; Classifying the input signals into level signals and pulse signals based on output signals in the truth table;

상기 제 2단계의 진리표를 간략화하고 이 후 남게되는 잔류 동작순서를 확정하는 제 3단계; 상기 제 3단계의 진리표로부터 각각의 출력 신호에 따른 잔류 동작순서의 흐름도를 작성하는 제 4단계; 상기 제 4단계의 흐름도로부터 VHDL 소스코드를 작성하는 제 5단계; 및 상기 제 5단계에서 작성한 VHDL 소스코드로부터 종래의 CAD 툴을 활용하여 비동기식 전자회로를 합성하는 제 6단계를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.A third step of simplifying the truth table of the second step and then determining the remaining operation sequence remaining; A fourth step of preparing a flowchart of a residual operation sequence corresponding to each output signal from the truth table of the third step; A fifth step of creating VHDL source code from the flowchart of the fourth step; And a sixth step of synthesizing an asynchronous electronic circuit using a conventional CAD tool from the VHDL source code created in the fifth step, and providing a computer-readable recording medium having recorded thereon a program capable of executing.

이하, 첨부한 도면을 참조하면서 본 발명의 일 실시예에 따른 IP 인터페이스 파형의 흐름도 변환에 의한 VHDL 코드 생성방법을 보다 상세하게 설명하기로 한다.Hereinafter, a VHDL code generation method by converting a flowchart of an IP interface waveform according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 파형변환 알고리즘을 흐름도로 도시한 도면이고, 도 2는본 발명의 인터페이스 논리회로 적용 신호들의 일 실시예에 따른 블록도이며, 도 3은 인터페이스 논리회로의 일 실시예에 따른 파형도로서, 이들을 보다 상세히 설명하면 다음과 같다.1 is a flowchart illustrating a waveform conversion algorithm of the present invention, FIG. 2 is a block diagram according to an embodiment of signals applied to an interface logic circuit of the present invention, and FIG. 3 is a waveform according to an embodiment of an interface logic circuit. As a figure, these are demonstrated in more detail as follows.

본 발명에서는 파형변환 알고리즘이라고 명명되는 임의의 제시된 펄스형 순차회로 파형으로부터 VHDL 코드를 생성할 수 있는 알고리즘을 제안한다.The present invention proposes an algorithm that can generate a VHDL code from an arbitrary presented pulsed sequential waveform called a waveform conversion algorithm.

파형변환 알고리즘(IP interface waveform to VHDL code creation algorithm using a flow chart conversion : Wave2VHDL algorithm)이란 핸드쉐이킹을 위한 비동기식 순차회로 파형이 제시되었을 때, 이 파형을 흐름도로 변환시키고 변환된 흐름도에 의하여 VHDL 코드로 대체하는 알고리즘으로서, "레벨형 입력과 펄스형 입력이 혼합된 비동기 파형에서, 파형의 진리표를 작성하고 성분을 분류한 후 파형의 동작 순서에 따라서 개별 출력신호들을 흐름도로 바꾸고, 흐름도의 단계별로 VHDL 코드를 대입시킨 후 VHDL 소스를 완성함으로써 CAD 툴을 활용하여 비동기식 전자회로를 생성" 시킬 수 있도록 하는 회로 설계에 관한 알고리즘이다. 이러한 알고리즘의 구현 방법을 흐름도로 도시한 것이 도 1이다.IP interface waveform to VHDL code creation algorithm using a flow chart conversion (Wave2VHDL algorithm) is an asynchronous sequential waveform for handshaking.When a waveform is presented, the waveform is converted into a flowchart and converted into a VHDL code by the converted flowchart. As an alternative algorithm, "In asynchronous waveforms with mixed level and pulsed inputs, create a truth table of the waveform, classify the components, and convert the individual output signals into flowcharts according to the waveform's sequence of operations. An algorithm for circuit design that allows you to create asynchronous electronics using CAD tools by inserting code and then completing the VHDL source. 1 is a flowchart illustrating a method of implementing such an algorithm.

도 1은 도 2에 제시한 핸드쉐이킹(Handshaking)과 요구(Request) 및 응답(Response) 부분의 파형으로써 도 3에 제시한 비동기식 순차회로 파형이 제시되었을 때, 제시된 파형을 일 예로서 펄스형 순차회로인 IP 인터페이스 논리회로를 생성하는 방법을 도시한 것이다. 즉, 도 3에 도시된 바와 같은 파형의 스트로브 신호(/STB, 11) 및 읽기 신호(/RD, 12)가 입력되었을 때 IBF((Interrupt BufferFull, 13) 및 INTR(14)의 출력 신호를 내보낼 수 있는 순차회로를 생성하는 방법이다.FIG. 1 is a waveform of the handshaking and request and response portions shown in FIG. 2, and when the asynchronous sequence circuit waveform shown in FIG. A method of generating an IP interface logic circuit as a circuit is shown. That is, when the strobe signal (/ STB, 11) and the read signal (/ RD, 12) of the waveform as shown in FIG. 3 are inputted, the output signals of IBF ((Interrupt BufferFull, 13) and INTR 14 are outputted. This is how to create a sequential circuit.

먼저, 도 3을 참조하여 인터페이스 회로의 특성을 살펴보면 다음과 같다. 인터페이스 회로는 주변장치 IP로부터 스트로브 입력(/STB, 11)을 받아서 IBF(Interrupt Buffer Full, 13)를 출력하고, 읽기 신호(/RD, 12)의 상승 엣지(Rising edge)에서 IBF(13)를 종료 해야한다. 도 3에서 /STB 신호(11)와 RD(12)가 핸드쉐이킹되며, IBF(13)가 요구(Request) 신호가 된다. 또한 STB 신호(11)는 레벨 입력(Level Input)이고, RD(12)는 엣지입력(Edge Input)이다. 따라서 이 부분은 레벨 신호와 펄스 신호들이 혼합된 순차회로로 설계해야 한다. 또한 도 3에서 INTR (interrupt)출력(14)도 STB(11)와 RD 입력(12)에 응답하여 출력된다.First, referring to FIG. 3, characteristics of the interface circuit are as follows. The interface circuit receives the strobe input (/ STB, 11) from the peripheral IP, outputs an interrupt buffer full (IBF) 13, and pulls the IBF 13 at the rising edge of the read signal (/ RD, 12). Should quit. In FIG. 3, the / STB signal 11 and the RD 12 are handshaked, and the IBF 13 becomes a request signal. The STB signal 11 is a level input and the RD 12 is an edge input. Therefore, this part should be designed as a sequential circuit mixed with a level signal and a pulse signal. In addition, in FIG. 3, an INTR (interrupt) output 14 is also output in response to the STB 11 and the RD input 12.

도 4는 상기 도 3에서 제시된 파형의 상승 엣지 구간을 확대하여 구획한 수정 파형도, 도 4a는 상기 도 4의 동작순서에 따른 진리표, 도 5는 상기 도 4b의 진리표의 신호성분을 분류하여 표시한 진리표, 도 6은 상기 도 5의 진리표에서 동일한 출력 신호군들을 그룹화한 진리표, 도 6a는 상기 도 6의 진리표에서 IBF 출력을 기준으로 입력신호 성분을 확정한 진리표, 도 6b는 상기 도 6의 진리표에서 INTR 출력을 기준으로 입력신호 성분을 확정한 진리표, 도 7은 상기 도 6a의 진리표를 일 실시예에 따라 변환한 흐름도, 도 8은 상기 도 6b의 진리표를 일 실시예에 따라 변환한 흐름도, 도 9는 상기 도 7과 도 8의 흐름도를 합하여 일 실시예에 따라 작성한 VHDL 코드, 도 10은 상기 도 9의 VHDL 코드로 기존의 CAD 툴을 이용하여 일 실시예에 따라 합성한 인터페이스 논리회로도, 도 11은 상기 도 10의 인터페이스 논리회로를 기존의 CAD 툴을 이용하여 일 실시예에 따라 작성한 시뮬레이션도로서, 이와 같은 특성을 가진 인터페이스 회로를 생성하는 방법에 대해 도 1의 흐름도를 참조하여 구체적으로 설명하면 다음과 같다.FIG. 4 is a modified waveform diagram in which the rising edge section of the waveform shown in FIG. 3 is enlarged and partitioned, FIG. 4A is a truth table according to the operation sequence of FIG. 4, and FIG. 5 is a classified and displayed signal component of the truth table of FIG. 4B. 6 is a truth table grouping the same output signal groups in the truth table of FIG. 5, FIG. 6A is a truth table in which input signal components are determined based on an IBF output in the truth table of FIG. 6, and FIG. A truth table in which an input signal component is determined based on an INTR output in a truth table, FIG. 7 is a flowchart of converting the truth table of FIG. 6A according to an embodiment, and FIG. 8 is a flowchart of converting the truth table of FIG. 6B according to an embodiment. 9 is a VHDL code created according to an embodiment by combining the flowcharts of FIGS. 7 and 8, and FIG. 10 is an interface logic circuit synthesized according to an embodiment using an existing CAD tool with the VHDL code of FIG. 9. FIG. 11 is a simulation diagram of an interface logic circuit of FIG. 10 using an existing CAD tool, according to an embodiment, and a method of generating an interface circuit having such characteristics will be described in detail with reference to the flowchart of FIG. 1. Explained as follows.

먼저, 구현대상 파형에서 출력의 변화가 발생하는 구간 및 상승 엣지 구간을 확대하여 구획한 후 파형 동작순서를 정하고 이에 따른 진리표를 작성한다(S1).First, by dividing the section in which the change of the output occurs in the implementation target waveform and the rising edge section by enlarging and defining the waveform operation sequence (S1).

이때, 확대하는 방법은 입력신호 중에서 상승 엣지의 작용에 의해 출력이 변화되는 경우에 인가되는 입력 신호를 기준으로 확대한다. 즉, 도 3에서 /STB 신호(11)가 입력된 후 상승 엣지에서 INTR 신호(14)가 변화되므로 이 구간을 도 4처럼 확대하고, /RD 신호(12)의 상승 에지에서 IBF 신호(13)를 변화시켜야 하므로 이 구간도 도 4처럼 확대한 후 도 4a와 같이 상승 화살표로 표시한 진리표를 작성한다.In this case, the method of enlarging enlarges the input signal based on an input signal applied when the output is changed by the rising edge of the input signal. That is, since the INTR signal 14 is changed at the rising edge after the / STB signal 11 is input in FIG. 3, this section is enlarged as shown in FIG. 4, and the IBF signal 13 is at the rising edge of the / RD signal 12. Since this section should be enlarged as shown in FIG. 4, the truth table indicated by the upward arrow is prepared as shown in FIG. 4A.

다음에, 구현대상 파형의 진리표에서 상승 엣지를 기준으로 출력신호의 변화가 발생하였을 경우에는 펄스로, 이전상태를 유지하고 있을 경우에는 레벨로 신호성분을 분류한다(S2). 구체적으로, 도 5에 도 4a의 진리표를 분류한 예를 나타내었다. 도 5의 파형 동작순서 2와 3을 살펴보면, 출력 IBF는 파형 동작순서 3에서 파형 동작순서 2의 이전상태를 유지하고 있으므로 "레벨"이며, 파형 동작순서 5와 6에서 "1"에서 "0"으로 신호의 변화가 발생하였으므로 "펄스"로 분류한다.Next, in the truth table of the waveform to be implemented, the signal components are classified into pulses when the output signal changes with respect to the rising edge, and levels when the previous state is maintained (S2). Specifically, FIG. 5 shows an example in which the truth table of FIG. 4A is classified. Referring to the waveform operation sequences 2 and 3 of FIG. 5, the output IBF is "level" because it maintains the previous state of the waveform operation sequence 2 in the waveform operation sequence 3, and "1" to "0" in the waveform operation sequences 5 and 6. As signal change occurred, it is classified as "pulse".

또한, 파형 동작순서 2와 3의 출력 INTR은 "0"에서 "1"로 신호의 변화가 발생하였으므로 "펄스" 이며, 파형 동작순서 6에서 파형 동작순서 5와 같은 이전상태를 유지하고 있으므로 "레벨"로 분류한다. 따라서 파형 동작순서 2와 3 및 파형 동작순서 5와 6에서 레벨과 펄스가 공존하는 것으로 신호성분을 분류한다.Also, the output INTR of waveform operation sequences 2 and 3 is "pulse" because the signal change occurred from "0" to "1", and since the previous state as waveform operation sequence 5 is maintained in waveform operation sequence 6, "level" Classified as " Therefore, signal components are classified by the coexistence of levels and pulses in waveform operation sequences 2 and 3 and waveform operation sequences 5 and 6.

다음에, 2 단계(S2)에서 분류한 "레벨과 펄스가 공존" 하는 파형 동작순서의 우측방향들을 연속적으로 비교하여, 동일한 출력 값의 파형 동작순서를 찾아서 생략한다(S3). 이것의 구체적 예를 도시하면 도 6과 같다. 도 6에서 파형 동작순서 3과 4를 비교하여 살펴보면, 출력들이 동일하므로 파형 동작순서 4를 생략할 수 있다. 이때 비교하는 방법은 파형 동작순서 3의 출력들과 파형 동작순서 4의 동일 출력행끼리 논리적으로 배타적 논리합(XOR)을 하면 되며, 결과 값이 "0"이면 동일하고 "1"이면 상이함을 알 수 있다.Next, successive comparisons are made between the right directions of the waveform operation sequences in which " level and pulse coexist " classified in step S2, and the waveform operation sequence of the same output value is found and omitted (S3). A concrete example of this is shown in FIG. Referring to FIG. 6, waveform operations 3 and 4 are compared. Since the outputs are the same, the waveform 4 may be omitted. In this case, a comparison method is performed by logically exclusive OR between outputs of waveform operation sequence 3 and identical output rows of waveform operation sequence 4, and if the result value is "0", it is the same and if it is "1", it is different. Can be.

또한, 위와 같은 방법으로 파형 동작순서 4와 5, 5와 6, 6과 7, 7과 1, 1과2의 출력들을 비교하면, 파형 동작순서 7과 1 을 생략할 수 있다.In addition, by comparing the outputs of the waveform operation sequence 4 and 5, 5 and 6, 6 and 7, 7 and 1, 1 and 2 in the above manner, the waveform operation sequence 7 and 1 can be omitted.

따라서 파형 동작순서 2, 3, 5, 6 이 남게되며, 도 6a는 출력신호 IBF에 대하여 남아있는 파형 동작순서들의 성분을 정리한 것이며(STB가 레벨, RD가 펄스), 도 6b는 출력신호 INTR에 대하여 남아있는 파형 동작순서들의 성분을 정리한 것이다(RD가 레벨, STB가 펄스). 이것으로 제 3단계(S3)에서 이루고자하는 동일한 출력 값을 기준으로 한 진리표의 간략화 및 잔류 동작순서의 확정이 달성된다.Accordingly, waveform operation sequences 2, 3, 5, and 6 remain, and FIG. 6A summarizes the components of the remaining waveform operation sequences with respect to the output signal IBF (STB is level, RD is pulse), and FIG. 6B is output signal INTR. This is a summary of the components of the remaining waveform operation sequences with respect to RD (level and STB pulse). This achieves the simplification of the truth table and the determination of the remaining operation sequence on the basis of the same output value to be achieved in the third step S3.

다음으로, 잔류한 파형 동작순서에 대하여 출력신호 당 1개씩의 흐름도를 작성한다. 이때 레벨 신호를 흐름도의 시작 지점(Start point)으로 하며, 우측방향으로 진행하도록 작성한다(S4).Next, one flowchart per output signal is created for the remaining waveform operation sequence. In this case, the level signal is used as a start point of the flowchart and is written to proceed in a right direction (S4).

도 7에 도 6a의 잔류 파형의 동작순서에 대한 진리표를 흐름도로 작성한 예를 나타내었고, 도 8에 도 6b의 잔류 파형의 동작순서에 대한 진리표를 흐름도로 작성한 예를 나타내었다.Fig. 7 shows an example in which a truth table of the operation sequence of the residual waveform in Fig. 6A is shown in a flowchart, and Fig. 8 shows an example in which a truth table of the operation sequence of the residual waveform in Fig. 6B is created in a flowchart.

도 6a에서 레벨 신호는 파형 동작순서 2이며, 여기서부터 흐름도가 시작된다. 따라서 STB가 "0" 이면 IBF는 "1"이 되는 것을 도 7 흐름도의 (1)번째 비교문으로 작성한다. 이 후 STB가 "1" 일 경우를 살펴보면, 파형 동작순서 6에서 RD가 상승될 때만 IBF가 "0"이 되며, 이것을 (2)번째 비교문으로 작성한다. 기타의 경우는 파형 동작순서 3과 5가 되며 이 때는 이전 상태를 유지하며 종료하게된다.In Fig. 6A, the level signal is waveform operation procedure 2, from which the flowchart starts. Therefore, when STB is "0", IBF becomes "1" as the (1) comparative statement of the flowchart of FIG. When the STB is "1", the IBF becomes "0" only when RD is raised in the waveform operation sequence 6, and this is written as the (2) th comparison statement. In other cases, the waveform operation sequence is 3 and 5, in which case the previous state remains.

또한, 도 6b에서 레벨 신호는 파형 동작순서 5이며, 여기서부터 흐름도가 시작된다. 따라서 RD가 "0" 이면 INTR이 "0"이 되는 것을 도 8 흐름도의 (1)번째 비교문으로 작성한다. 이 후 RD가 "1" 일 경우를 살펴보면, 파형 동작순서 3에서 STB가 상승 될 때만 IBF가 "1"이 되며, 이것을 (2)번째 비교문으로 작성한다. 기타의 경우는 파형 동작순서 6과 2가 되며 이때에는 이전 상태를 유지하며 종료하게 된다.Also, in Fig. 6B, the level signal is waveform operation procedure 5, from which the flowchart starts. Therefore, when RD is "0", INTR becomes "0" as the (1) comparative statement of the flowchart of FIG. In the case where RD is "1", IBF becomes "1" only when STB is raised in waveform operation sequence 3, and this is made as the (2) th comparison statement. In other cases, it will be waveform operation sequence 6 and 2. At this time, the previous state will be maintained.

다음으로, 제 4단계(S4)의 흐름도로부터 VHDL 파일을 작성한다. 이 때 각 흐름도당 1개씩의 Process 문을 작성하되, 파형 동작순서가 우선하는 레벨신호가 있는 흐름도부터 작성한다(S5).Next, a VHDL file is created from the flowchart of the fourth step S4. At this time, one Process statement is created for each flowchart, but starting from the flowchart with the level signal in which the waveform operation sequence takes precedence (S5).

도 9에서 흐름도 #1(#1 flow)으로 표시한 부분이 IBF에 해당하는 부분이고, 흐름도 #2(#2 flow)으로 표시한 부분이 INTR에 해당하는 부분이다.In FIG. 9, a part indicated by flow chart # 1 (# 1 flow) corresponds to an IBF, and a part indicated by flow chart # 2 (# 2 flow) corresponds to an INTR.

이상으로써, 본 발명의 파형 변환(Wave2VHDL) 알고리즘을 상술하였고, 이것의 유효성을 살펴보면 다음과 같다.As described above, the waveform conversion (Wave2VHDL) algorithm of the present invention has been described above, and the validity thereof is as follows.

본 발명의 파형변환 알고리즘은 멘토(Mentor)사의 르노아르99(Renoir99)에서 도 7과 도 8처럼 고안된 흐름도를 입력하여 VHDL로 합성 후 모델심(ModelSim)으로 시뮬레이션을 수행하였으며, 시놉시스(Synopsys)사의 브이에스에스(VSS)에서 회로합성을 수행하였다.In the waveform conversion algorithm of the present invention, a flow diagram designed as shown in FIGS. 7 and 8 was inputted from Mentor's Renoir99, synthesized into VHDL, and then simulated using a model simim (Synopsys). Circuit synthesis was performed in VSS.

또한 ETRI의 0.8㎛ SOG 공정 규칙을 적용한 로드캡(LODECAP)의 VHDL 합성기에서 도 9처럼 작성된 VHDL 코드를 입력함으로써, 도 3처럼 제시된 타이밍도에 대하여 도 10과 같은 인터페이스 회로도를 합성 할 수 있었다. 또한 로드캡의 파형편집기를 이용하여 IBF와 INTR에 대하여 도 11과 같은 시뮬레이션 결과를 얻을 수 있었으며, 이는 도 3처럼 제시된 타이밍도와 동일하였다. 도 11에서 초기에 미지(Unknown) 상태로 나타난 것은 플립플롭이 합성되었기 때문이며, 이는 파워 온(power on) 리셋으로 해결할 수 있고, 동일한 파형을 연속적으로 인가하는 것으로 확인할 수 있었다.In addition, by inputting the VHDL code prepared as shown in FIG. 9 in the VHDL synthesizer of the load cap (LODECAP) applying the 0.8㎛ SOG process rule of ETRI, it was possible to synthesize the interface circuit diagram as shown in FIG. In addition, a simulation result of FIG. 11 was obtained for the IBF and the INTR using the waveform editor of the load cap, which was the same as the timing diagram shown in FIG. 3. In FIG. 11, an unknown state is initially shown because a flip-flop is synthesized, which can be solved by a power on reset, and it can be confirmed that the same waveform is continuously applied.

본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea 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.

상기와 같이 이루어지는 본 발명은, IP와 IP 간의 핸드쉐이킹을 위하여 레벨형 입력과 펄스형 입력이 혼합된 비동기 타이밍 파형만 제시되었을 때, 이 파형의 진리표를 작성하고 성분을 분류한 후 간략화 과정을 거치고 난 다음에 파형 동작 순서에 따라서 개별 출력신호들을 흐름도로 바꾸고, 흐름도의 단계별로 VHDL 코드를 대입시킨 후 VHDL 소스코드를 용이하게 작성할 수 있도록 함으로써 기존의 CAD 툴을 활용하여 비동기식 순차회로를 용이하게 생성시킬 수 있도록 하기 위한 것으로서, 메인 클록을 사용하지 않는 비동기형 회로 설계 시 유용하게 적용될 수 있다.In the present invention as described above, when only asynchronous timing waveforms in which a level input and a pulse type input are mixed for IP and IP handshaking are presented, a truth table of the waveforms is prepared, the components are classified, and a simplified process is performed. After that, the individual output signals are converted into flow charts according to the waveform operation sequence, and the VHDL source code can be easily written after inserting the VHDL code step by step in the flow chart to easily generate asynchronous sequential circuit using existing CAD tools. This is useful for designing asynchronous circuits that do not use the main clock.

Claims (6)

임의의 레벨형 입력과 펄스형 입력이 혼합된 타이밍도를 이용하여 논리회로를 생성할 수 있는 순차회로 생성방법에 있어서,A sequential circuit generation method capable of generating a logic circuit using a timing diagram in which an arbitrary level type input and a pulse type input are mixed, 임의의 순차회로 파형의 상승 엣지(Rising edge) 구간을 확대한 후 입력 및 출력신호의 파형을 다수개의 동작구간으로 나누어 동작 순서를 정해서 이에 해당하는 진리표를 작성하는 제 1단계;A first step of enlarging a rising edge section of an arbitrary sequential circuit waveform and dividing a waveform of an input and output signal into a plurality of operation sections to determine an operation order and to prepare a truth table corresponding thereto; 상기 진리표에서 출력신호들을 기준으로 하여 상기 입력신호들을 레벨신호와 펄스신호로 분류하는 제 2단계;Classifying the input signals into level signals and pulse signals based on output signals in the truth table; 상기 제 2단계의 진리표를 간략화하고 이 후 남게되는 잔류 동작순서를 확정하는 제 3단계;A third step of simplifying the truth table of the second step and then determining the remaining operation sequence remaining; 상기 제 3단계의 진리표로부터 각각의 출력 신호에 따른 잔류 동작순서의 흐름도를 작성하는 제 4단계;A fourth step of preparing a flowchart of a residual operation sequence corresponding to each output signal from the truth table of the third step; 상기 제 4단계의 흐름도로부터 VHDL 소스코드를 작성하는 제 5단계; 및A fifth step of creating VHDL source code from the flowchart of the fourth step; And 상기 제 5단계에서 작성한 VHDL 소스코드로부터 종래의 CAD 툴을 활용하여 비동기식 전자회로를 합성하는 제 6단계를 포함하여 이루어지는 것을 특징으로 하는 순차회로 생성방법.And a sixth step of synthesizing an asynchronous electronic circuit using a conventional CAD tool from the VHDL source code created in the fifth step. 상기 제 1 항에 있어서,The method of claim 1, 상기 제 1단계는,The first step, 상기 입력신호 중에서 상승 엣지의 작용에 의해 출력이 변화되는 경우에 인가되는 입력 신호를 기준으로 확대한 구간을 삽입하고, 이것을 확대하여 화살표로 표시한 진리표를 작성하는 것을 특징으로 하는 순차회로 생성방법.And a magnified section on the basis of the input signal applied when the output is changed by the action of the rising edge among the input signals, and enlarges this to create a truth table represented by an arrow. 상기 제 1 항에 있어서,The method of claim 1, 상기 제 2단계는,The second step, 상기 입력신호의 상승 엣지를 기준으로 하여 출력신호의 변화가 발생하였을 경우에는 펄스로, 이전상태를 유지하고 있을 경우에는 레벨로 신호성분을 분류하는 것을 특징으로 하는 순차회로 생성방법.And a signal component is classified into pulses when a change in an output signal occurs based on the rising edge of the input signal, and into levels when the previous state is maintained. 상기 제 1 항에 있어서,The method of claim 1, 상기 제 3단계는,The third step, 상기 제 2단계에서 분류한 "레벨과 펄스가 공존" 하는 파형 동작순서의 우측방향들을 연속적으로 비교하여, 동일한 출력 값의 파형 동작순서를 찾아서 생략하는 것을 특징으로 하는 순차회로 생성방법.And sequentially comparing the right directions of the waveform operation sequences in which the "level and pulse coexist" classified in the second step, find and omit the waveform operation sequences of the same output value. 상기 제 1 항에 있어서,The method of claim 1, 상기 제 4단계는,The fourth step, 상기 제 3단계에서 간략화 한 후 잔류한 파형 동작순서에 대하여 출력신호 당 1개씩의 흐름도를 작성하되, 레벨신호를 흐름도의 시작 지점(Start point)으로 하고 우측방향으로 진행하도록 작성하는 것을 특징으로 하는 순차회로 생성방법.A flowchart of one waveform per output signal is prepared for the remaining waveform operation sequence after the simplification in the third step, and the level signal is created as a start point of the flowchart and proceeds to the right. How to create a sequential circuit. 컴퓨터에,On your computer, 임의의 순차회로 파형의 상승 엣지(Rising edge) 구간을 확대한 후 입력 및 출력신호의 파형을 다수개의 동작구간으로 나누어 동작 순서를 정해서 이에 해당하는 진리표를 작성하는 제 1단계;A first step of enlarging a rising edge section of an arbitrary sequential circuit waveform and dividing a waveform of an input and output signal into a plurality of operation sections to determine an operation order and to prepare a truth table corresponding thereto; 상기 진리표에서 출력신호들을 기준으로 하여 상기 입력신호들을 레벨신호와 펄스신호로 분류하는 제 2단계;Classifying the input signals into level signals and pulse signals based on output signals in the truth table; 상기 제 2단계의 진리표를 간략화하고 이 후 남게되는 잔류 동작순서를 확정하는 제3 단계;A third step of simplifying the truth table of the second step and then determining the remaining operation sequence remaining; 상기 제 3단계의 진리표로부터 각각의 출력 신호에 따른 잔류 동작순서의 흐름도를 작성하는 제 4단계;A fourth step of preparing a flowchart of a residual operation sequence corresponding to each output signal from the truth table of the third step; 상기 제 4단계의 흐름도로부터 VHDL 소스코드를 작성하는 제 5단계; 및A fifth step of creating VHDL source code from the flowchart of the fourth step; And 상기 제 5단계에서 작성한 VHDL 소스코드로부터 종래의 CAD 툴을 활용하여 비동기식 전자회로를 합성하는 제 6단계를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.And a sixth step of synthesizing an asynchronous electronic circuit using a conventional CAD tool from the VHDL source code created in the fifth step.
KR10-2000-0066649A 2000-11-10 2000-11-10 Method for making VHDL codes with flow chart conversion from IP interface waveform KR100375828B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0066649A KR100375828B1 (en) 2000-11-10 2000-11-10 Method for making VHDL codes with flow chart conversion from IP interface waveform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0066649A KR100375828B1 (en) 2000-11-10 2000-11-10 Method for making VHDL codes with flow chart conversion from IP interface waveform

Publications (2)

Publication Number Publication Date
KR20020036471A true KR20020036471A (en) 2002-05-16
KR100375828B1 KR100375828B1 (en) 2003-03-15

Family

ID=19698266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0066649A KR100375828B1 (en) 2000-11-10 2000-11-10 Method for making VHDL codes with flow chart conversion from IP interface waveform

Country Status (1)

Country Link
KR (1) KR100375828B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456511B1 (en) * 2002-12-07 2004-11-10 한국전자통신연구원 Apparatus of searching semiconductor ip and method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5331669A (en) * 1992-05-06 1994-07-19 Ologic Corporation Asynchronous pulse converter
US5834957A (en) * 1996-12-20 1998-11-10 Hewlett-Packard Company Implementing asynchronous sequential circuits using synchronous design techniques and modules
US6099579A (en) * 1997-10-02 2000-08-08 Hewlett-Packard Company Method and apparatus for checking asynchronous HDL circuit designs
KR100609148B1 (en) * 1999-12-22 2006-08-04 한국전자통신연구원 Method for making sequential circuits with truth table comparison

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456511B1 (en) * 2002-12-07 2004-11-10 한국전자통신연구원 Apparatus of searching semiconductor ip and method thereof

Also Published As

Publication number Publication date
KR100375828B1 (en) 2003-03-15

Similar Documents

Publication Publication Date Title
JP3027009B2 (en) Design capture system
US5826061A (en) System and method for modeling metastable state machine behavior
US5974244A (en) Layout pattern generation device for semiconductor integrated circuits and method therefor
JP2008123056A (en) Timing constraint-generating system of logic circuit and timing constraint-generating method of logic circuit, control program, and readable recording medium
US8074192B2 (en) Verification support apparatus, verification support method, and computer product
US6141631A (en) Pulse rejection circuit model program and technique in VHDL
KR100375828B1 (en) Method for making VHDL codes with flow chart conversion from IP interface waveform
US6099579A (en) Method and apparatus for checking asynchronous HDL circuit designs
US8443314B1 (en) Abstraction level-preserving conversion of flip-flop-inferred hardware description language (HDL) to instantiated HDL
JP2006318121A (en) Delay added rtl logic simulation method and device
JP5104356B2 (en) Verification support program, verification support apparatus, and verification support method
US6789234B2 (en) Method and system for a timing based logic entry
Polzer et al. Digital late-transition metastability simulation model
JP2000137745A (en) System and method for inputting timing specification of logic circuit
JPH10187767A (en) Parameterized hdl describing method, logic synthesizer, and medium recording logic synthesizing program
EP0991000A2 (en) Reuse of hardware components
WO2019216077A1 (en) Circuit description conversion system and circuit description search system
Navabi Elements of VHDL for description of hardware: a tutorial view
Stroud ASL: Auburn Simulation Language
JP2006113796A (en) Simulation method
JPH07306879A (en) Net list hardware description conversion device
JPH10319090A (en) Converting method and converting device of test bench
Stroud KSL: University of Kentucky Simulation Language
De Pablo et al. ASM++ diagrams used on teaching electronic design
JP2000113026A (en) Reuse of constitutional element of hardware

Legal Events

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

Payment date: 20090202

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee