IP Library › Granted Patent US 12,443,611
Granted Patent B2
US 12,443,611 · App. 18/449,549 · Granted Oct 14, 2025

Systems and methods for automated electronics design and graphical user interface

Inventors: Anthony Manojh Francis John Benedict (Munich, DE); André Pesco Alcalde (Munich, DE); Alexander Pohl (Heldenstein, DE)
Assignee: CELUS GmbH
G06F16/24578G06F30/31
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,443,611
App. No.
18/449,549
Granted
Oct 14, 2025
Kind
B2
Abstract

System and methods are provided for automated system design. The system receives input requirements and applies an algorithm to automatically identify hardware components that satisfy the requirements. The recommended components are presented in a graphical user interface. If there are no hardware components to satisfy the design, then the system presents error messages.

Claims (95)

1. A computer-implemented method for automated electronics design, the computer-implemented method comprising:

under control of a computer hardware processor configured with computer executable instructions,

receiving a first block, a second block, a first connection, and a second connection, wherein the first connection connects the first block and the second block, wherein the second connection connects to at least one of the first block and the second block;

determining query parameters based on the first block and the second block;

querying a database with the query parameters;

receiving, from the database, a plurality of results responsive to the query parameters, wherein each result of the plurality of results is associated with a hardware component;

identifying, from the plurality of results, a first subset of hardware components with a first compatible port for the first connection, the first block, and the second block;

assigning, at a first time, an unavailability label to a first compatible port for each hardware component from the first subset of hardware components;

identifying, from the first subset, a second subset of hardware components with a second compatible port for the second connection and at least one of the first block and the second block;

determining a ranking for the second subset of hardware components;

selecting, from the second subset, a first hardware component and a second hardware component based on the ranking;

determining a mapping of a plurality of nets to a plurality of signals for the first hardware component;

determining, from the mapping of the plurality of nets to the plurality of signals, that a set pairing does not exist for the plurality of nets to the plurality of signals compatible with the first connection, the first block, and the second block;

removing the unavailability label for the first compatible port at a second time; and

resolving the first block, the second block, the first connection, and the second connection after the second time.

2. The computer-implemented method of claim 1 , wherein identifying the first subset of hardware components further comprises:

determining, from the plurality of results, a first ranking of results with a first category type compatible with a category type of the first block; and

selecting, from the plurality of results, a first set of results under a threshold number of results based on the ranking.

3. The computer-implemented method of claim 2 , wherein identifying the first subset of hardware components further comprises:

determining that the first set of results do not have the first compatible port for the first connection, the first block, and the second block;

selecting, from the plurality of results, a second set of results different from the first set and with a second category type compatible with the category type of the first block;

determining that a hardware component from the second set of results has the first compatible port for the first connection, the first block, and the second block; and

including, in the first subset of hardware components, the hardware component from the second set.

4. The computer-implemented method of claim 1 , wherein determining the query parameters based on the first block further comprises:

converting a specification for the first block to a first query parameter, wherein the specification comprises an attribute and attribute value; and

adding the first query parameter to the query parameters.

5. The computer-implemented method of claim 1 , wherein determining the ranking for the second subset of hardware components further comprises:

sorting, each hardware component from the second subset of hardware components, based on at least one of cost, quality, area, or component availability.

6. The computer-implemented method of claim 1 , further comprising:

determining a plurality of hardware components compatible with the first block based on the ranking, wherein the plurality of hardware components comprise the first hardware component; and

presenting, in a graphical user interface, the plurality of hardware components.

7. A system comprising:

a data storage medium comprising a database, wherein the database comprises a plurality of hardware components, wherein each hardware component of the plurality of hardware components comprises one or more ports; and

one or more computer hardware processors in communication with the data storage medium, wherein the one or more computer hardware processors are configured to execute computer-executable instructions to at least:

receive a first block, a second block, a first connection, and a second connection, wherein the first connection connects the first block and the second block, wherein the second connection connects to at least one of the first block and the second block;

determine query parameters based on the first block and the second block;

query the database with the query parameters;

receive, from the database, a plurality of results responsive to the query parameters, wherein each result of the plurality of results is associated with a hardware component;

identify, from the plurality of results, a first subset of hardware components with a first compatible port for the first connection, the first block, and the second block;

assign, at a first time, an unavailability label to the first compatible port for each hardware component from the first subset of hardware components;

identify, from the first subset, a second subset of hardware components with a second compatible port for the second connection and at least one of the first block and the second block;

determine a ranking for the second subset of hardware components;

select, from the second subset, a first hardware component and a second hardware component based on the ranking;

determine a mapping of a plurality of nets to a plurality of signals for the first hardware component;

determine, from the mapping of the plurality of nets to the plurality of signals, that a set pairing does not exist for the plurality of nets to the plurality of signals compatible with the first connection, the first block, and the second block;

remove the unavailability label for the first compatible port at a second time; and

resolve the first block, the second block, the first connection, and the second connection after the second time.

8. The system of claim 7 , wherein identifying the first subset of hardware components further comprises:

determining, from the plurality of results, a first ranking of results with a first category type compatible with a category type of the first block;

selecting, from the plurality of results, a first set of results under a threshold number of results based on the ranking;

determining that the first set of results do not have the first compatible port for the first connection, the first block, and the second block;

selecting, from the plurality of results, a second set of results different from the first set and with a second category type compatible with a first category type of the first block;

determining that a hardware component from the second set of results has the first compatible port for the first connection, the first block, and the second block; and

including, in the first subset of hardware components, the hardware component from the second set.

9. The system of claim 7 , wherein the one or more computer hardware processors are configured to execute further computer-executable instructions to at least:

determine, from the plurality of results, a first set of results with a first category type compatible with a category type of the first block;

determine, from the plurality of results, a second set of results with a second category type compatible with a category type of the second block; and

identify the first compatible port between at least one hardware component from the first set and one hardware component from the second set according to a port compatibility map.

10. The system of claim 7 , wherein the first connection does not have an assigned port type, wherein the one or more computer hardware processors are configured to execute further computer-executable instructions to at least:

determine, from the plurality of results, a first set of results with a first category type compatible with a category type of the first block;

determine, from the plurality of results, a second set of results with a second category type compatible with a category type of the second block; and

identify the first compatible port between at least one hardware component from the first set and one hardware component from the second set.

11. The system of claim 7 , wherein the one or more computer hardware processors are configured to execute further computer-executable instructions to at least:

determine, from the mapping of the plurality of nets to the plurality of signals, a set pairing for the plurality of nets to the plurality of signals compatible with the first connection, the first block, and the second block.

12. The system of claim 11 , wherein determining the set pairing further comprises:

applying an Edmonds-Karp algorithm to a graph representation of the mapping of the plurality of nets to the plurality of signals.

13. A system comprising:

a data storage medium; and

one or more computer hardware processors in communication with the data storage medium, wherein the one or more computer hardware processors are configured to execute computer-executable instructions to at least:

receive, via a graphical user interface, a selection of a first block, a second block, and a first connection between the first block and the second block;

determine a plurality of hardware components for the first block and the second block;

identify, from the plurality of hardware components, a first subset of hardware components with a first compatible port for the first connection, the first block, and the second block, the first subset of hardware components comprising a first hardware component;

assign, at a first time, an unavailability label to the first compatible port for each hardware component from the first subset of hardware components;

determine a mapping of a plurality of nets to a plurality of signals for the first hardware component;

determine, from the mapping of the plurality of nets to the plurality of signals, that a set pairing does not exist for the plurality of nets to the plurality of signals compatible with the first connection, the first block, and the second block;

remove the unavailability label for the first compatible port at a second time; and

resolve the first block, the second block, and the first connection after the second time.

14. The system of claim 13 , wherein identifying the first subset of hardware components further comprises:

determining a first set of results with a first category type compatible with a category type of the first block;

determining a second set of results with a second category type compatible with a category type of the second block; and

identifying the first compatible port and a second compatible port for a second connection between at least one hardware component from the first set and one hardware component from the second set according to a port compatibility map.

15. The system of claim 14 , wherein a first port type of the first compatible port is different from a second port type of the second compatible port.

16. The system of claim 13 , wherein determining the plurality of hardware components for the first block and the second block comprises:

determining query parameters based on the first block and the second block;

querying a database with the query parameters; and

receiving, from the database, the plurality of hardware components responsive to the query parameters.

17. The system of claim 13 , wherein the one or more computer hardware processors are configured to execute further computer-executable instructions to at least:

determine, from the mapping of the plurality of nets to the plurality of signals, a set pairing for the plurality of nets to the plurality of signals compatible with the first connection, the first block, and the second block.

18. The system of claim 17 , wherein determining the set pairing further comprises:

applying a greedy algorithm to a graph representation of the mapping of the plurality of nets to the plurality of signals.

19. The system of claim 13 , wherein the one or more computer hardware processors are configured to execute further computer-executable instructions to at least:

receive, via the graphical user interface, a selection of a third block and a second connection between the first block and the third block;

receive, via the graphical user interface, a specification for the third block;

determine that a hardware component does not exist in the plurality of hardware components with a category type of the third block compatible with the specification; and

present, in the graphical user interface, an indicator of an error associated with the third block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2025
From: ALCALDE, ANDRÉ PESCO; POHL, ALEXANDER; FRANCIS JOHN BENEDICT, ANTHONY MANOJH
To: CELUS GMBH
Reel/Frame 072334/0229 →
Continuity (2)
Provisional Application 63371500 · Aug 15, 2022
Related Publication 20240054140A1 · Feb 15, 2024
References Cited (45)
US 5867397A · Koza · 1999 [cited by examiner]
US 8839184B1 · Seguine · 2014 [cited by examiner]
US 9201994B1 · Tripathi · 2015 [cited by examiner]
US 9268895B2 · Perry · 2016 [cited by examiner]
US 9569574B1 · Khan · 2017 [cited by examiner]
US 9990455B1 · Sinivaara et al. · 2018 [cited by applicant]
US 10102320B2 · Pataky · 2018 [cited by examiner]
US 10275542B2 · Ruehl · 2019 [cited by examiner]
US 10289788B1 · Kumar et al. · 2019 [cited by applicant]
US 10354037B1 · Ginetti · 2019 [cited by examiner]
US 10423884B2 · Hyde · 2019 [cited by examiner]
US 10437954B1 · White et al. · 2019 [cited by applicant]
US 10558774B1 · Kumar et al. · 2020 [cited by applicant]
US 10592704B2 · Brookshire · 2020 [cited by applicant]
US 10678973B2 · Chuang et al. · 2020 [cited by applicant]
US 10699051B1 · Zhang et al. · 2020 [cited by applicant]
US 10719657B1 · Feuillette · 2020 [cited by applicant]
US 10769328B2 · Chawda et al. · 2020 [cited by applicant]
US 10783312B1 · Ginetti · 2020 [cited by examiner]
US 10817634B2 · Oh · 2020 [cited by applicant]
US 11087060B1 · Zhang et al. · 2021 [cited by applicant]
US 11216605B2 · Osburn et al. · 2022 [cited by applicant]
US 11366948B2 · Srinivasan et al. · 2022 [cited by applicant]
US 11775720B2 · Mahmud et al. · 2023 [cited by applicant]
US 11790136B2 · Park et al. · 2023 [cited by applicant]
US 11836602B2 · Li · 2023 [cited by applicant]
US 11836641B2 · Mamidi · 2023 [cited by examiner]
US 11900033B2 · Hunter · 2024 [cited by examiner]
US 20050027491A1 · Fertner · 2005 [cited by examiner]
US 20090282379A1 · Singh · 2009 [cited by examiner]
US 20090313596A1 · Lippmann · 2009 [cited by examiner]
US 20100095262A1 · Garg · 2010 [cited by examiner]
US 20130298100A1 · Hastings · 2013 [cited by examiner]
US 20150039283A1 · Ruehl · 2015 [cited by examiner]
US 20190108293A1 · Morton · 2019 [cited by examiner]
US 20200097617A1 · Zhilinsky · 2020 [cited by examiner]
US 20210319327A1 · Poirier · 2021 [cited by examiner]
US 20220027536A1 · Dutta et al. · 2022 [cited by applicant]
US 20220180159A1 · Kimura · 2022 [cited by examiner]
US 20220374288A1 · Kibardin · 2022 [cited by examiner]
US 20230153505A1 · Chang et al. · 2023 [cited by applicant]
US 20230153512A1 · Shapira et al. · 2023 [cited by applicant]
US 20230385503A1 · Lvov · 2023 [cited by examiner]
US 20240054140A1 · Francis John Benedict · 2024 [cited by examiner]
US 20240126960A1 · Peng et al. · 2024 [cited by applicant]