PLD Editor Automating Logic Block Validation and Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Programmable Logic Devices (PLDs) face challenges in programming efficiency and reliability due to the need for manual verification and potential for improper or incomplete programming when reusing modified code, leading to increased design and programming time and memory occupation issues.

Innovation Solution

A PLD editor is developed with an interface, storage system, and processing system that compares and corrects logic instruction blocks in the PLD code against a library of applicable blocks, indicating and fixing inconsistencies to ensure accurate and efficient programming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If existing PLD programming is reused and modified for new applications, then programming time is reduced, but the reliability and correctness of the programming deteriorates due to improper or incomplete programming

Engineering Contradiction:
Improveprogramming timeVSAvoidprogramming correctness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system automatically compares the modified PLD code against the original programming and identifies changes, providing feedback to the user about what has been modified. This allows users to review and verify changes before finalizing the new programming, maintaining reliability while enabling code reuse.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary comparison mechanism that sits between the original code and the modified code, automatically identifying differences and presenting them for review. This intermediary process ensures that no unintended changes are introduced while still allowing efficient code reuse.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing PLD programming is reused and modified, then programming speed increases, but the risk of retaining unneeded code portions increases, occupying memory space and potentially causing improper behavior

Engineering Contradiction:
Improveprogramming speedVSAvoidunneeded code retention
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system extracts and highlights the specific portions of code that have been modified or removed from the original programming. This makes it easy for users to identify and remove any unneeded code portions that may have been accidentally retained, preventing memory occupation issues and improper behavior.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system converts the potential harm of retaining unneeded code into a benefit by automatically comparing and highlighting differences, turning what could be a source of errors into a verification opportunity that ensures only necessary code is retained in the final programming.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Reliability

If manual verification of PLD code is performed to ensure correctness, then programming reliability improves, but programming time and effort increase significantly

Engineering Contradiction:
Improveprogramming verificationVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service verification by automatically comparing the modified code against the original programming and identifying changes without requiring manual review of every line. This automated self-verification process maintains high reliability while minimizing the time and effort required from the user.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of requiring complete manual verification of all code, the system performs partial verification by focusing only on the specific portions that have been modified or removed. This targeted approach provides sufficient verification to ensure reliability without the excessive time investment of reviewing entire codebases.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2860626B1PLD editor and method for editing PLD code
Publication Date: 2019.03.20 ROCKWELL AUTOMATION TECH INC
  • EP2860626B1 patent drawingFigure 1
  • EP2860626B1 patent drawingFigure 2
  • EP2860626B1 patent drawingFigure 3

AI summary

A PLD editor and method for editing PLD code to be programmed into a PLD are provided. The PLD editor includes an interface, a storage system, and a processing system configured to obtain a PLD code, with the PLD code comprising one or more logic instruction blocks and corresponding block parameters for each logic instruction block, with the PLD code being intended for programming into the PLD, compare the one or more logic instruction blocks of the PLD code to a subset of the library of logic instruction blocks applicable to the PLD according to the library of PLD devices, determine inconsistent logic instruction blocks of the one or more logic instruction blocks, indicate the inconsistent logic instruction blocks, and correct the inconsistent logic instruction blocks using the subset of the library of logic instruction blocks.