KR910002318B1 - Logic interpreter with pipe-line architecture - Google Patents

Logic interpreter with pipe-line architecture Download PDF

Info

Publication number
KR910002318B1
KR910002318B1 KR1019880008037A KR880008037A KR910002318B1 KR 910002318 B1 KR910002318 B1 KR 910002318B1 KR 1019880008037 A KR1019880008037 A KR 1019880008037A KR 880008037 A KR880008037 A KR 880008037A KR 910002318 B1 KR910002318 B1 KR 910002318B1
Authority
KR
South Korea
Prior art keywords
output
address
latch
information
column
Prior art date
Application number
KR1019880008037A
Other languages
Korean (ko)
Other versions
KR900000775A (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 KR1019880008037A priority Critical patent/KR910002318B1/en
Publication of KR900000775A publication Critical patent/KR900000775A/en
Application granted granted Critical
Publication of KR910002318B1 publication Critical patent/KR910002318B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

The circuit uses the pipe line structure to analise the ladder logic with the minimum scan time and the analysed ladder logic is used to control the control objectives with high speed. The circuit fetches and processes the address information, the data information, the former data information and the processed information at every four cycle to realise the logic analyzing circuit. In a first cycle, the instruction, the operand address and operation of each nodesof Kth column are fetched. In a second cycle, the operation of each nodes are decoded and a function code is stored on a FCLu (48) and FCL1 (50). In a third cycle, the designated address data is stored on a PDLu (40) and PDL1 (42) through data buses (37,39). In a fourth cycle, the data stored in the PDLu (40), PDL1 (42) FCLu (48), FCL1 (50) are input to a PSu (52), PS1 (54) to analyse the ladder logic.

Description

파이프라인 구조를 가지는 하드웨어 로직 해석회로Hardware logic analysis circuit with pipeline structure

제1도는 래더로직 다이어그램도.1 is a ladder logic diagram.

제2도는 본 발명에 따른 회로도.2 is a circuit diagram according to the present invention.

제3도는 제2도의 동작 타이밍도.3 is an operation timing diagram of FIG.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

10 : 프로그램 카운터 12 : 클럭제어기10: program counter 12: clock controller

14 : 인스트럭션 메모리 16 : 업퍼 어드레스 메모리14: instruction memory 16: upper address memory

18 : 로우 어드레스 메모리 20 : 업퍼 펑션 메모리18: row address memory 20: upper function memory

22 : 로우 펑션 메모리 24 : 인스트럭션 래치22: low function memory 24: instruction latch

26 : 업퍼 어드레스 래치 28 : 로우 어드레스 래치26: upper address latch 28: row address latch

30 : 업퍼 펑션 래치 32 : 로우 펑션 래치30: upper function latch 32: low function latch

34 : 스토어로직 36 : 업퍼 데이터 메모리34: Store Logic 36: Upper Data Memory

38 : 로우 데이터 메모리 40 : 업퍼 프리데이터 래치38: low data memory 40: upper predata latch

42 : 로우 프리데이터 래치 44 : 제1디코더42: low predata latch 44: first decoder

46 : 제2디코더 48 : 업퍼 펑션코드 래치46: 2nd decoder 48: upper function code latch

50 : 로우 펑션코드 래치 52 : 업퍼 프리숄버50: Low function code latch 52: Upper free shoulder

54 : 로우 프리숄버 56 : 데이터 래치54: low presever 56: data latch

58 : 숄버 60 : 리

Figure kpo00001
트래치58: shoulder 60: Lee
Figure kpo00001
Trach

본 발명은 프로그램 로직 콘트롤러(Program Logic Controller)의 래더로직(Ladder Logic) 해석회로에 관한 것으로, 특히 파이프라인의 구조를 가지는 래더로직 해석회로에 관한 것이다. 일반적으로 PLC(Program Logic Controller)는 공자자동화(FA)의 산업분야에 많이 적용되고 있는 기술이다. 시퀸스 제어시스템에 있어 시퀸스 제어내용의 간단한 변경이나 수정은 메이커측의 전문기술자만이 할수 있도록 되어 있었으며, 하드웨어의 소정 부분을 직접 사용자의 요구대로 수정 및 변경시, 변경 및 수정의 복잡성 때문에 메이커측과 사용자측에서는 하드웨어를 변경하지 않고도 현장에서 간단하게 변경할수 있는 방법이 없을까하는 욕구에 의해 큰 관심의 대상이 되어 왔었다. 상기 여망에 의해 l969년 미국 GM(Gereral Motors)사에서 처음 프로그램어블 콘트롤러를 탄생시켰다. 상기 GM사의 PLC와 일반적인 개요 및 기술은 "가남사"발행 "프로그램어블 콘트롤러입문"의 12페이지 부터 구체적으로 상세히 기술되어 있다.The present invention relates to a ladder logic analysis circuit of a program logic controller, and more particularly, to a ladder logic analysis circuit having a pipeline structure. In general, PLC (Program Logic Controller) is a technology that is widely applied in the industrial field of Confucius Automation (FA). In the sequence control system, only the expert of the maker side can make simple changes or modifications to the contents of the sequence control system. On the user side, there has been a great deal of interest due to the need for simple changes in the field without changing the hardware. In 1969, GM (Gereral Motors) was born the first programmable controller. The general PLC and general technology of the GM company are described in detail from page 12 of the "Introduction to the Programmable Controller" issued by "Ganam Corporation".

종래는 주로 제1도 같은 래더 다이어그램 로직(ladder Diagram Logic)을 상기 "프르그램어블입문"의 139페이지에서 밝혔듯이 로우(ROW) 스케닝에 의해 제1도와 같이 소프트웨어(Software)로 로우(ROW) 해석방법을 수행해 왔었다. 그러나 상기와 같이 래더 다이어그램 로직을 소프트웨어로써 해석하는 방법은 하기와 같은 문제가 있어왔다. 대형 PLC인 경우에는 래더로직을 해석하는데 많은 시간이 소요되어 출력측의 기기를 원활히 제어할수 없는 문제가 발생한다. 즉 입력(Input)과 출력(Output)이 많은 PLC에서는 사용자의 이용프로그램도 많아지게 되어 래더로직이 복잡하게되며, 상기 복합하게 프로그램된 래더로직을 소프트웨어로 해석하는데는 제어가 문제시 된다. 예를들어 PLC의 임의의 출력단에 접속된 모터를 매 0.1초마다 제어하고저 하였을때 그 모터를 제어하는데 필요한 래더로직(Ladder Logic : program)을 소프트웨어로 해석하는데 입출력이 복합한 PLC에서는 0.1초 이상이 소요된다면 실제로는 모터가 프로그램에 의해서 제어를 받을수 없게된다. 따라서 소프트웨어적으로 래더로직을 해석하는 종래의 PLC는 주어진 입력을 받아서 래더로직을 해석한 다음 제어대상물로 출력하는 "스켄타임(SCAN Time)"이 길어지는 문제가 있었다.Conventionally, the ladder diagram logic as shown in FIG. 1 is mainly interpreted in software as shown in FIG. 1 by ROW scanning, as shown in page 139 of the "Introduction to Programmable". I've been doing it. However, the method of interpreting the ladder diagram logic by software as described above has the following problems. In case of large PLC, it takes a lot of time to analyze ladder logic, which causes a problem that the output device cannot be controlled smoothly. In other words, in PLCs having many inputs and outputs, the user's use programs become more complicated, and the ladder logic becomes complicated. In the software, the control of the complex programmed ladder logic becomes a problem. For example, when the motor connected to any output terminal of PLC is controlled every 0.1 seconds, the ladder logic (program) necessary to control the motor is analyzed by software. If this is taken, the motor will not actually be controlled by the program. Therefore, the conventional PLC that interprets the ladder logic in software has a problem in that the "SCAN Time" for receiving the given input and interpreting the ladder logic and then outputting it to the control object is long.

따라서 본 발명의 목적은 하드웨어로 래더로직의 정보를 해석하여 고속으로 제어대상물을 제어할수 있는 하드웨어 래더로직 해석회로를 제공함에 있다.Accordingly, an object of the present invention is to provide a hardware ladder logic analysis circuit capable of controlling a control object at high speed by analyzing information of ladder logic with hardware.

본 발명의 또다른 목적은 파이프라인 구조를 가지어 최소의 스켄타임으로써 래더로직을 해석하는 회로를 제공함에 있다.It is a further object of the present invention to provide a circuit having a pipeline structure and analyzing ladder logic with a minimum scan time.

이하 본 발명에 목적을 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings the purpose of the present invention will be described in detail.

제2도는 본 발명에 따른 회로도로써, 소정 제어클럭에 의해 메모리의 억세스 어드레스를 제공하는 프로그램카운터(Program Counter)(10)와 소정 제어클럭을 발생하는 클럭제어기(12)와, 래더로직 프로그램(Ladder Logic Program)의 최종정보인 EOP(End of Program)과 EON(End of Network)등의 컬럼(Column) 공통의 인스트럭션(Instruction)과 컬럼내의 각노드 오아(OR)정보의 7비트 정보를 가지고 있으며 소정 제어에 의해 이를 억세스 출력하는 인스트럭션 메모리(Instruction Memory : 이하 IM이라함)(15)과, 컬럼의 각노드의 어드레스(예를들면 입력 어드레스, 출력 릴레이 어드레스 콘트롤 릴레이 어드레스)의 정보지정 어드레스중 짝수번지의 노드의 어드레스만을 저장하고 이를 상기 프로그램 카운터(10)의 출력 어드레스에 의해 억세스 출력하는 업퍼 어드레스 메모리(Upper Address Memory : 이하 AMu라함)(16) 및 홀수노드의 어드레스만을 저장하고 이를 상기 프로그램 카운터(10)의 출력어드레스에 의해 억세스 출력하는 로우어드레스 메모리(Low Address Memory : 이하 AM1이라함)(18)과, 각 컬럼의 오퍼레션(Operation)종류 예를들면 노드가 앤드(AND) 앤드날(AND NOT), 스토어(STORE), 스톱(STOP), 점프(JUMP) 및 불럭타임(Block type) 명령등의 어떠한 오퍼레이션을 수행할 것인지를 지정하는 정보중 각 컬럼의 짝수번째 노드의 정보만을 가지고 소정 어드레스에 의해 출력하는 업퍼 펑션메모리(Upper Function Memory : 이하 FMu라함)(20) 및 각 칼럼의 홀수번째 노드의 정보만을 가지고 소정 어드레스에 의해 출력하는 로우 펑션메모리(Low Function Memory : 이하 FM1이라함) (22)와, 상기 IM(15), AMu(16), AM1(18), FMu(20), FM1(22)의 각각의 출력단에 대응 접속되어 각각의 소정클럭에 의해 동기 출력하는 인스트럭션 래치(Instruction Latch : 이하 IL이라함)(24), 어드레스 래치업퍼(Upper Address Latch : ALu)(26), 어드래스 래치 로우(Low Address Lacth (AL1)(28), 펑션래치 업퍼(Upper Function Latch : 이하 FLu라함)(30), 펑션래치 로우(Low Function Latch : 이하 FLu라함)(32)와, 상기 FMu(20)과 FM1(22)의 출력정보를 입력하여 오아링하고 상기 결과를 제어신호로 제공하는 스토어로직(Store Logic)(34)과, 각 컬럼 각노드의 오퍼랜드 예를들면 입력릴레이 출력릴레이 콘트롤릴레이등의 데이터가 저장되는 메모리로서 입출력 프로세서로부터 받은 데이터를 저장하고 래더로직의 해석결과를 상기 AMu(16), AM1(18)의 어드레스에 의해 상기 입출력 프로세서로 출력하는 업퍼 데어터메모리(Upper Data Memory : 이하 DMu라함)(36) 및 로우데이터메모리(Low Data Memory : 이하 DM1라함(38)과, 상기 DMu(36)와 DM1(38)의 출력데이터를 클럭에 동기시켜 저장하는 업퍼 프리데이터래치(Upper Pre-Data Latch : 이하 PDLu라함)(40) 및 로우 프리데이터래치(Low Pre-Data Latch : 이하 PDL1이라함)(42)와, 상기 FMu(20)과 FM1(22)의 출력단에 대응 접속되여 상기 FMu(20)나 FM1(22)의 출력을 디코딩하여 펑션코드 예를들면 불럭타임(Block type : 타이머 시프트 레지스터등)의 정보를 출력하는 제1, 제2디코더(44)(46)와, 상기 제1, 제2디코더(44)(46)의 출력을 소정클럭에 의해 동기시키어 래치 출력하는 업퍼 펑션코드 래치(Upper Function Code Latch : 이하 FCLu라함)(48) 및 로우 펑션코드 래치(Low Function Code Latch : FCL1)(50)과, 상기 PDLu(40)라 FCLu(48)의 출력을 입력하여 현재 래더로직의 결과를 구하는 업퍼 프리숄버(Upper Pre So1ver : 이하 PSu라함)(52) 및 상기 PDL1(42)과 FCL1(50)의 출력을 입력하여 현재 리더로직의 결과를 구하는 로우 프리숄버(Low Pre So1ver : PS1)(54)과, 상기 PSu(52), PS1(52)의 오퍼레이션들의 수행한 컬럼의 임시결과를 저장래치하여 출력하는 데이터 래치(Data Latch : 이하 DL라함)(56)과, 상기 DL (56)의 출력과 상기 IL(24)의 출력으로 1컬럼의 오아 연산정보를 구하는 숄버(58)와, 상기 숄버(58)의 출력을 클럭에 의해 임시저장하는 리졀트 래치(Result Latch)로 구성된다.2 is a circuit diagram according to the present invention, a program counter 10 providing an access address of a memory by a predetermined control clock, a clock controller 12 generating a predetermined control clock, and a ladder logic program. It has 7-bit information of each column's common instruction such as End of Program (EOP) and End of Network (EON), which is the last information of Logic Program, and each node OR in the column. An even address of an instruction memory (hereinafter referred to as IM) 15 for accessing and outputting it under control, and an information designation address of an address (for example, an input address and an output relay address control relay address) of each node of a column; An upper address memory (hereinafter referred to as "Upper Address Memory") which stores only the address of a node of the node and accesses it by the output address of the program counter 10. A low address memory (AM1) 18 for storing only the addresses of 16 nodes and odd nodes and accessing them by the output address of the program counter 10, and Operation type For example, the node performs some operation such as AND AND AND NOT, STORE, STOP, JUMP and Block type instructions. Among the information specifying whether or not to be specified, only an upper function memory (hereinafter referred to as FMu) 20 which outputs only information of even-numbered nodes of each column and outputs by a predetermined address, and predetermined information only of odd-numbered nodes of each column Low function memory (hereinafter referred to as FM1) 22 outputted by an address, and each of the IM 15, AMu (16), AM1 (18), FMu (20), and FM1 (22). Synchronous output by each predetermined clock Instruction Latch (IL) (24), Address Latch (ALu) (26), Address Latch Low (AL1) (28), Function Latch Upper Function Latch: (hereinafter referred to as FLu) (30), Function Latch (hereinafter referred to as FLu) (32), and input the output information of the FMu (20) and FM1 (22) and ring the result Store Logic 34 provided as a control signal and operand of each node of each column, for example, input relay output relay, control memory, etc. are stored in the data received from the input / output processor and the ladder logic Upper data memory (hereinafter referred to as DMu) 36 and low data memory (hereinafter referred to as DM1) for outputting the analysis result to the input / output processor by the addresses of the AMu 16 and AM1 18. (38) and the outputs of the DMu (36) and DM1 (38) Upper Pre-Data Latch (hereinafter referred to as PDLu) 40 and Low Pre-Data Latch (hereinafter referred to as PDL1) 42 for storing the data in synchronization with the clock, and FMu. And the output terminal of the FMu 20 or FM1 22 to decode the output of the function code, for example, block time (timer shift register, etc.). Upper function code latch (Lupper Function Code Latch) for latching and outputting the first and second decoders 44 and 46 and the outputs of the first and second decoders 44 and 46 by a predetermined clock. FCLu) (48) and Low Function Code Latch (FCL1) (50), and the output of the PDLu (40) FCLu (48) to input the output of the upper pre-several ( Upper Pre So1ver (hereinafter referred to as PSu) (52) and a low pre-sleeve that inputs the outputs of the PDL1 (42) and FCL1 (50) to find the current leader logic result. (Low Pre So1ver: PS1) 54, and a data latch for storing and outputting the temporary result of the performed column of the operations of the PSu 52 and the PS1 52 (Data Latch: DL hereinafter). A shoulder 58 for obtaining ORI calculation information of one column from the output of the DL 56 and the output of the IL 24, and a residual latch for temporarily storing the output of the shoulder 58 by a clock; Result Latch).

제3도는 제1도의 동작타이밍 다이어그램으로써, k는 래더의 k번째 컬럼3 is an operation timing diagram of FIG. 1, where k is the kth column of the ladder.

i는 k번째 컬럼의 i번째 로우(row)로 표시한 것이고 F(k,j)는 k번째 컬럼 i번째 로우(row)의 펑션을 표시한 것이다.i denotes the i-th row of the k-th column and F (k, j) denotes the function of the i-th row of the k-th column.

이하 본 발명을 동작예를 첨부한 제1도와 제2도 및 제3도를 참조하여 설명한다. 제2도의 프로그램 카운터(10)에 클럭제어기(12)의 클럭 CLK가 입력되면 상기 프로그램 카운터(10)는 클럭이 4싸이클 입력될때마다 래더로직의 컬럼을 지정하기 위해 1씩 증가되는 PC(Program Counter)값을 출력하고, 클럭이 매싸이클 입력될때 마다 1씩 증가되는(Sub-Program Counter)값을 어드레스 신호로써 출력하게 된다. 따라서 제3도 T와 같은 위치의 첫번째 싸이클 동안에는 프로그램 카운터(Program Counter)(10)가 가지고 있는 어드레스 값을 어드레스버스(11)를 통해 IM(14), AMu(16), AM1(18), FMu(20), FM1(22)의 어드레스로 제공하여 인스트럭션 및 오퍼랜드 어드레스, 오퍼레이션을 페치한다. 이때 상기 IM(14)에는 상기 프로그램 카운터(10)의 PC값에 의해 제1도와 같은 래더로직의 컬럼노드(Column Node)의 데이터(제2도 k)를 IL(24)에 출력한다. 또한 제1도의 k컬럼의 짝수번지의 노드 i0,i2,i4,i6의 데이터 X00,Y00,Y01,Y00 정보를 가지는 AMu(16)와 홀수번지의 노드 il,i3,i5,i7 데이터 X01,X00,L01,X02 정보를 가지는 AM1(18)과, k컬럼의 짝수번지의 노드 i0,i2,i3,i6의 오퍼레이션 내용을 저장하고 있는 FMu(20)와 k컬럼의 홀수번지의 노드 i1,i3,i5,i7의 오퍼레이션 내용을 저장하고 있는 FM1(22)은 제3도의 T점을 기준으로제1싸이클 클럭동안에는 k컬럼의 각노드의 인스트럭션(In-Struction)과 오퍼랜드 어드레스(Operand Address) 및 오퍼레이션(Operation)들을 페치(fetch)한다. 이 단계에서 페치된 데이터들은, 각각의 ALu(26), AL1(28), FLu(30), FLu(32)에 입력된다. IM(14)의 출력을 제외한 나머지 데이터들은 각 클럭마다 하나씩 페치되므로 4클럭마다 1컬럼의 로우(Low)가 페치된다. 상기 IM(14)은 적당한 위상클럭(Phase clock)에 의하여 해석결과가 생성되기 직전에 하나씩 페치되므로 4클럭(c1ock)에 하나씩 생성된다.Hereinafter, the present invention will be described with reference to FIGS. 1, 2, and 3 with operation examples. When the clock CLK of the clock controller 12 is input to the program counter 10 of FIG. 2, the program counter 10 is incremented by 1 to designate a column of ladder logic every 4 cycles of the clock. Value is output, and each time the clock is inputted, a sub-program counter value is incremented by 1 as an address signal. Therefore, during the first cycle at the position as shown in FIG. 3, the address values of the program counter 10 are transferred via the address bus 11 to the IM 14, AMu 16, AM1 18, and FMu. (20) to provide the address of FM1 (22) to fetch instructions, operand addresses, and operations. At this time, the IM 14 outputs data (column k) of the column node of the ladder logic shown in FIG. 1 to the IL 24 based on the PC value of the program counter 10. In addition, AMu (16) having data X00, Y00, Y01, Y00 of even nodes i0, i2, i4, i6 of k-column of Fig. 1 and nodes il, i3, i5, i7 of data X01, X00 of odd address AM1 (18) having L01, X02 information, FMu (20) storing the operation contents of nodes i0, i2, i3, i6 of even addresses of k columns, and nodes i1, i3, of odd addresses of k columns FM1 (22), which stores the contents of the operations of i5 and i7, performs the instruction (In-Struction), operand address (operation address) and operation of each node of column k during the first cycle clock based on the point T of FIG. Fetch operations The data fetched at this stage are input to the respective ALu 26, AL1 28, FLu 30, and FLu 32. Since the remaining data except for the output of the IM 14 are fetched one for each clock, one column of low rows is fetched every four clocks. The IMs 14 are fetched one by one before the analysis result is generated by a suitable phase clock, so that one in four clocks c1ock is generated.

제3도의 제2싸이클의 클럭이되면 상기 각 메모리로부터 출력되는 데이터들이 상기 ALu(16), AL1(18), FLu(20), FL1(22)의 래치에 제3도와 같이 저장된다. 또한 제1디코더(44)와 제2디코더(46)는 상기 FMu(20)와 FM1(22)에서 출력되는 각노드의 오퍼레이션을 디코딩하여 펑션코드를 FCLu(48), FCL1(50)에 저장된다. 제3도의 세번째 싸이클의 클럭이 되면 DMu(36), DM1(38)은 상기 ALu(29), AL1(28)의 어드레스버스(27)(29)를 통하여 지정된 어드레스의 데이터를 각각의 데이터버스(37)(39)를 통하여 PDLu(40)와 PDL1(42)에 제3도와 같이 저장한다. 네번째 싸이클의 클럭이 되면, 상기 세번째 싸이클 클럭단계에서 PDLu(40), PDL1(42), FCLu(48), FCL1(50)에 각각 저장된 데이터를 PSu(52), PS1(54)에서 입력하여 래더로직을 해석하며, 그결과를 DL(56)에 저장한다. 그리고 상기 DL(56)에 저장된 로직해석 결과 데이터와 IL(24)에 저장된 컬럼의 "오아(OR)" 정보를 숄버(58)에서 입력하여 하나컬럼에 대한 최종 결과를 리

Figure kpo00002
트래치(RL)(60)에 저장되며, 이는 1칼럼의 로직솔빙 정보로써 도시하지 않은 주제어부에 입력된다.When the clock of the second cycle of FIG. 3 is reached, data outputted from the respective memories are stored in the latches of the ALu 16, the AL1 18, the FLu 20, and the FL1 22 as shown in FIG. 3. In addition, the first decoder 44 and the second decoder 46 decode the operation of each node output from the FMu 20 and the FM1 22 to store the function codes in the FCLu 48 and the FCL1 50. . When the clock of the third cycle in FIG. 3 is reached, the DMu 36 and the DM1 38 receive data of the address designated through the address buses 27 and 29 of the ALu 29 and AL1 28. 37 and 39 are stored in the PDLu 40 and the PDL1 42 as shown in FIG. When the clock of the fourth cycle is reached, data stored in the PDLu (40), the PDL1 (42), the FCLu (48), and the FCL1 (50) in the third cycle clock step are respectively inputted from the PSu (52) and the PS1 (54) ladder. Interpret the logic and store the result in the DL 56. In addition, the logic result data stored in the DL 56 and the “OR” information of the column stored in the IL 24 are input from the shoulder 58 to return the final result for one column.
Figure kpo00002
It is stored in the track (RL) 60, which is input to the main control part (not shown) as the logic solving information of one column.

상술한 바와같이 본 발명은 어드레스정보, 데이터정보, 이전데이터의 정보, 오아 및 결과처리정보를 4개의 싸이클이 매싸이클마다 페치하여 처리함으로 고속으로 동작하는 로직해석회로를 손쉽게 구현할수 있는 이점이 있다.As described above, the present invention has an advantage that a logic analysis circuit that operates at high speed can be easily implemented by fetching and processing address information, data information, previous data information, ora and result processing information every four cycles. .

Claims (1)

파이프라인 구조를 가지는 하드웨어 로직 해석회로에 있어서, 소정 제어클럭에 의해 메모리의 억세스 어드레스를 제공하는 프로그램카운터(10)와 소정 제어클럭을 발생하는 클럭제어기(12)와, 래더로직 프로그램의 최종정보인 EOP과 EON등의 컬럼 공통의 인스트럭션과 컬럼내의 각노드 오아정보의 7비트 정보를 가지고 있으며 소정 제어에 의해 이를 억세스 출력하는 인스트럭션메모리(15)과, 컬럼의 각노드의 어드레스 예를들면 입력어드레스, 출력릴레이 어드레스 콘트롤 릴레이 어드레스의 정보지정 어드레스중 짝수번지의 노드의 어드레스만을 저장하고 이를 상기 프로그램 카운터(10)의 출력어드레스에 의해 억세스 출력하는 업퍼어드레스 메모리(16) 및 홀수노드의 어드레스만을 저장하고 이를 상기 프로그램 카운터(10)의 출력어드레스에 의해 억세스 출력하는 로우어드레스 메모리(18)과, 각 컬럼의 오퍼레션 종류를 지정하는 정보중 각 컬럼의 짝수번째 노드의 정보만을 가지고 소정 어드레스에 의해 출력하는 업퍼 펑션메모리(20) 및 각 컬럼의 홀수번째 노드의 정보만을 가지고 소정 어드레스에 의해 출력하는 로우 펑션메모리(22)와, 상기 IM(15), AMu(16), AM1(18), EMu(20), FM1(22)의 각각의 출력단에 대응 접속되어 각각의 소정클럭에 의해 동기출력하는 인스트럭션 래치(24), 어드레스래치 업퍼(26), 어드레스래치 로우(28), 펑션래치 업퍼(30), 펑션래치 로우(32)와, 상기 FMu(20)과 FM1(22)의 출력정보를 입력하여 오아링하고 상기 결과를 제어신호로 제공하는 스토어로직(34)과, 각 컬럼 각노드의 오퍼랜드 예를들면 입력릴레이 출력릴레이 콘트롤릴레이등의 데이터가 저장되는 메모리로서 입출력 프로세서로부터 받은 데이터를 저장하고 래더로직의 해석결과를 상기 AMu(16), AM1(18)의 어드레스에 의해 상기 입출력 프로세서로 출력하는 업퍼데이터메모리(36) 및 로우데이터메모리(38)과, 상기 DMu(36)와 DM1(38)의 출력데이터를 클럭에 동기시켜 저장하는 업퍼 프리데이터 래치(40) 로우 프리데이터 래치(42)와, 상기 FMu(20)과 FM1(22)의 출력단에 대응 접속되여 상기 FMu(20)나 FM1(22)의 출력을 디코딩하여 펑션코드의 정보를 출력하는 제1, 제2디코더(44)(46)와, 상기 제1, 제2디코더(44)(46)의 출력을 소정클럭에 의해 동기시키어 래치 출력하는 업퍼 펑션코드 래치(48) 및 로우 펑션코드 래치(50)과, 상기 PDLu(40)과 FCLu(48)의 출력을 입력하여 현재 래더로직의 결과를 구하는 업퍼 프리숄버(52) 및 상기 PDL1(42)과 FCL1(50)의 출력을 입력하여 현재 리더로직의 결과를 구하는 로우 프리숄버(54)과, 상기 PSu(52), PS1(52)의 오퍼레이션들의 수행한 컬럼의 임시결과를 저장래치하여 출력하는 데이터래치(56)과, 상기 DL(56)의 출력과 상기 IL(24)의 출력으로 1컬럼의 오아 연산정보를 구하는 숄버(58)와, 상기 숄버(58)의 출력을 클럭에 의해 임시 저장하는 리졀트 래치로 구성됨을 특징으르 하는 회로.In a hardware logic analysis circuit having a pipeline structure, a program counter 10 for providing an access address of a memory by a predetermined control clock, a clock controller 12 for generating a predetermined control clock, and final information of a ladder logic program are provided. Instruction memory 15 which has common commands such as EOP and EON and 7-bit information of each node OR information in the column, and accesses and outputs them by predetermined control, and address of each node of the column, for example, input address, Output Relay Address Control Stores only the addresses of even-numbered nodes among the information designating addresses of the relay address and stores only the addresses of the up-address memory 16 and odd-nodes which are accessed and output by the output address of the program counter 10. Accessed by the output address of the program counter 10 The lower function memory 18 to output, the upper function memory 20 to output only the information of the even-numbered node of each column among the information which specifies the operation type of each column, and to output by a predetermined address, and the odd-numbered node of each column. Corresponding connection is provided to the row function memory 22 outputting only the information of a predetermined address with a predetermined address, and output terminals of the IM 15, AMu 16, AM1 18, EMu 20, and FM1 22, respectively. And an instruction latch 24, an address latch upper 26, an address latch row 28, a function latch upper 30, a function latch row 32, and the FMu 20, which are synchronously outputted by respective predetermined clocks. And store logic 34 for inputting and outputting the output information of the FM1 22 and providing the result as a control signal, and data such as an operand of each node of each column, for example, an input relay, an output relay, and a control relay. Received from the I / O processor as memory An upper data memory 36 and a low data memory 38 for storing data and outputting an analysis result of ladder logic to the input / output processor by the addresses of the AMu (16) and the AM1 (18); and the DMu (36). And an upper predata latch 40 for storing the output data of the DM1 38 in synchronization with a clock, and the output terminal of the FMu 20 and the FM1 22, respectively. 20) or the first and second decoders 44 and 46 for decoding the output of the FM1 22 and outputting function code information, and the outputs of the first and second decoders 44 and 46 are predetermined. The upper function code latch 48 and the low function code latch 50, which are latched and outputted in synchronization with a clock, and the output of the current ladder logic by inputting the outputs of the PDLu 40 and the FCLu 48. (52) and a low pre-shoulder (54) for inputting the outputs of the PDL1 (42) and the FCL1 (50) to obtain the current leader logic result; The data latch 56 stores and latches the temporary result of the performed column of the PSu 52 and the operations of the PS1 52, and outputs one column to the output of the DL 56 and the output of the IL 24. And a shoulder latch (58) for obtaining the OR operation information, and a limit latch for temporarily storing the output of the shoulder (58) by a clock.
KR1019880008037A 1988-06-30 1988-06-30 Logic interpreter with pipe-line architecture KR910002318B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019880008037A KR910002318B1 (en) 1988-06-30 1988-06-30 Logic interpreter with pipe-line architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019880008037A KR910002318B1 (en) 1988-06-30 1988-06-30 Logic interpreter with pipe-line architecture

Publications (2)

Publication Number Publication Date
KR900000775A KR900000775A (en) 1990-01-31
KR910002318B1 true KR910002318B1 (en) 1991-04-11

Family

ID=19275736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880008037A KR910002318B1 (en) 1988-06-30 1988-06-30 Logic interpreter with pipe-line architecture

Country Status (1)

Country Link
KR (1) KR910002318B1 (en)

Also Published As

Publication number Publication date
KR900000775A (en) 1990-01-31

Similar Documents

Publication Publication Date Title
TWI517036B (en) Programmed parallel machine and computer-implemented method, computer readable medium, non-transitory computer-readable medium, computer and system for a compiler
WO1995015523A1 (en) Multi-language generation of control program for an industrial controller
KR870010438A (en) Information processing equipment
US3775756A (en) Programmable special purpose processor having simultaneous execution and instruction and data access
US4539635A (en) Pipelined digital processor arranged for conditional operation
KR910002318B1 (en) Logic interpreter with pipe-line architecture
KR102219655B1 (en) Programmable logic controller
KR960002544B1 (en) A circuit apparatus for logic analysis
KR20000016895A (en) A digital signal processor
KR930005707B1 (en) Command processing method of plc
JPH06161518A (en) Programmable controller
JPS61161509A (en) System and device for operating high speed sequence
RU2020559C1 (en) Microprogram control unit
KR920006970B1 (en) Programmable logic controller
JP2792778B2 (en) Programmable controller
JPH11219294A (en) Method for controlling program and its device
JP2973578B2 (en) Bit arithmetic processing unit
KR950014161B1 (en) Two stage instructin pipe-line processing method of array processor
JPH11167409A (en) Program controller operating by parallel language
JPH03161883A (en) Microprocessor
Gander et al. Real-time process control based on a high level state language
JPS6019018B2 (en) data processing system
JPH03172958A (en) Synchronous processing method, system and method for parallel processing, and parallel program generator
JPH0353321A (en) Information processor
JPH03164945A (en) Data processor

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040322

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee