Programmable gate array for relay ladder logic
OwnerJohn T. Welchinventor
Life of this patent
Estimating the term…
Abstract
An architecture is provided for field programmable gate army (FPGA) devices which implement relay ladder logic in PLC systems. Once the device is programmed, the implemented logic is executed in rung parallel fashion at electronic speeds. A direct correspondence of these devices in detail to relay ladder logic assures that technology mapping software for the FPGA device will run sufficiently fast for use in PLC systems. A reversible device programming method is required, so that the device can be reprogrammed conveniently to different relay ladder models. The architecture scales to families of devices of differing sizes and resources. A basic relay ladder logic is implemented, which supports various relay ladder logic dialects.
Claims8
A programmable gate array directly implementing relay ladder logic, comprising:
- a plurality of programmable network assemblies, each said programmable network assembly implementing a plurality of relay ladder networks, and each said programmable network assembly comprising:
- (a) a plurality of programmable rung assemblies implementing relay ladder rungs,
- (b) a plurality of terminal pads for logical input and output signals,
- (c) a segmented channel means of programming logical signal paths between said terminal pads and said programmable rung assemblies, and
- (d) a plurality of vertical flow wires connecting said programmable rung assemblies, each said programmable rung assembly comprising:
- (a) a plurality of identical programmable contact cells, each said programmable contact cell including a rung flow input terminal and a rung flow output terminal, with said rung flow output terminal generally connected to said rung flow input terminal of one other contact cell with the exception of one contact cell nearest the said segmented channel means, each said programmable contact cell further comprising a relay control terminal, an upward flow input terminal, an upward flow output terminal, a downward flow input terminal and a downward flow output terminal, said upward flow input terminal being generally connected to said upward flow output terminal of a correspondingly positioned contact cell in a first adjacent said programmable rung assembly by one of said vertical flow wires of said programmable network assembly, the said downward flow input terminal being generally connected to said downward flow output terminal of a correspondingly positioned contact cell in a second adjacent programmable rung assembly by one of said vertical flow wires of said programmable network assembly, and said upward flow output terminals being generally connected to said upward flow input terminal of a correspondingly positioned contact cell in said first adjacent programmable rung assembly by means of one of said vertical flow wires of said programmable network assembly, and said downward flow output terminal being generally connected to said downward flow input terminal of a correspondingly positioned contact cell in said second adjacent programmable rung assembly by means of one of said vertical flow wires of said programmable network assembly, said programmable contact cells further comprising
- a programmable logic means of selecting a rung flow signal from a group consisting of the signal at the said rung flow input terminal, or a constant logical signal representing assured rung flow of the relay ladder left rail,
- a logical inverter means for generating the logical complement of the signal at said relay control terminal,
- a programmable logic means of selecting a contact control signal from a group consisting of the signal at said relay control terminal, the said logical complement of the signal at said relay control terminal, a constant true logical signal, and a constant false logical signal,
- a logical gate means of providing the logical product of said rung flow signal and said contact control signal as a contact output signal,
- a programmable logic means for selecting an upward flow signal from a group consisting of the signal at said upward flow input terminal and a constant false logical signal representing the absence of upward flow,
- a programmable logic means for selecting a downward flow signal from a group consisting of the signal at said downward flow input terminal and a constant false logical signal representing the absence of downward flow,
- a logical gate means for providing at the said upward flow output terminal the logical sum of said upward flow signal and said contact output signal,
- a logical gate means for providing at the said downward flow output terminal the logical sum of said downward flow signal and said contact output signal,
- a logical gate means of providing at said rung output flow terminal the logical sum of said contact output signal, said upward flow signal and said downward flow signal,
- (b) a plurality of relay control signal lines programmably connecting said segmented channel means of said programmable network assembly to each of said relay control terminals of said programmable contact cells,
- (c) a clocked single bit memory element means for storing a logical signal, with the input terminal of the memory element connected to the rung flow output terminal of said programmable contact cell which is not connected to the rung flow input terminal of another contact cell, the output terminal of said memory element being connected to said segmented channel means.
Dependencies are inferred from the claim text.