Data processing method and related apparatus
The method enhances PCB component model generation by combining AI models with engineer databases for refining parameters, addressing the inefficiencies of existing solutions and improving accuracy and efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2026-04-02
AI Technical Summary
Creating component models for printed circuit boards (PCBs) in electronic design automation (EDA) tools is time-consuming and requires deep knowledge of electronics and tool understanding, with existing AI/ML solutions having poor accuracy and limited generalization.
A data processing method and apparatus that utilizes a combination of fine-tuned AI models to extract data from datasheets and an engineer's local database for refining component parameters, incorporating advanced in-context learning (ICL) to enhance information extraction and prediction accuracy.
Enables accurate and efficient generation of PCB component models by increasing data coverage and reducing manual intervention, ensuring model accuracy and alignment with industry standards.
Smart Images

Figure RU2024000299_02042026_PF_FP_ABST
Abstract
Description
DATA PROCESSING METHOD AND RELATED APPARATUSTECHNICAL FIELD
[0001] The present disclosure relates to the field of electronics technologies, and in particular, to a data processing method and related apparatus.BACKGROUND
[0002] There are specific models of printed circuit board (PCB) components in electronic design automation (EDA) tool for PCB design automation, where the specific models may be different types of models, such as symbol view models, footprint models and 3D models, models for electromagnetic and thermal analysis.
[0003] An engineer may take a considerable amount of time to create a component model to present a new component. This requires not only deep knowledge of the electronic domain but also an understanding of various tools for creating models.
[0004] This background information is provided to reveal information believed by the applicant to be of possible relevance to the present disclosure. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present disclosure.SUMMARY
[0005] In a first aspect, a data processing method is provided by the present disclosure, and the method includes: determining, based on input data associated with a target component, target data for target items of a target component model corresponding to the target component, where the target data is used for generating the target component model; upon determining that at least one of the target items has no corresponding target data, refining the target data based on a target database to obtain refined data for the target items, where the target database includes reference data for reference items of one or more reference component models corresponding to one or more reference components, and at least one of the one or more ireference components is associated with the target component.
[0006] The target data for target items of a target component model is determined based on input data associated with a target component, and in a case that at least one of the target items has no corresponding target data, the target data is refined based on a target database to obtain refined data for the target items. The target data can be refined based on reference data of a reference component stored in the target database, and the reference component is associated with the target component. The reference data of the reference component can be imported by an engineer, and the target database may be the engineer’s local database in which the imported data is stored. For example, the target data extracted from the input data can be one part of component parameters for generating the target component model, and another part of component parameters can be obtained through the target database, where the two parts of component parameters together are used for generating the target component model. For another example, in addition to supplementing the component parameters for generating the target component model, the target data extracted from the input data can also be verified or corrected based on the reference data stored in the target database. Thus, the refined data, i.e., component parameters for generating the target component model can be accurately obtained.
[0007] In a possible implementation of the first aspect, the target items consist of a first part of target items and a second part of target items, and the at least one of the target items is the second part of target items; where the refining the target data based on the target database to obtain the refined data for the target items: obtaining extra data for the second part of target items based on the target database, where the refined data includes the target data and the extra data.
[0008] The target data extracted from the input data can be the first part of component parameters corresponding to the first part of target items, and the extra data obtained based on the target database can be the second part of component parameters corresponding to the second part of target items, where the two parts of component parameters together are used for generating the target component model. In this way, component parameters for generating the target component model can be obtained accurately.
[0009] In a possible implementation of the first aspect, the obtaining the extra data for the second part of target items includes: generating, based on the target data for the first part of target items, one or more queries for querying the extra data; and retrieving the extra data in the target database with the one or more queries.
[0010] The extra data for the second part of target items can be obtained based on the target data for the first part of target items through the querying and retrieving operation, thereby ensuring quick and accurate implementation of the obtaining of the extra data.
[0011] In a possible implementation of the first aspect, the method further includes: generating one or more predictions for the second part of target items based on the target data for the first part of target items; and verifying the one or more predictions for the second part of items with the retrieved extra data.
[0012] The retrieved extra data can be used for verifying the initial predictions for the second part of target items, since the extra data from the target database can be more exact or closer to real component parameters of the target component, the final predictions for the second part of target items after the verification process can also be accurate.
[0013] In a possible implementation of the first aspect, for each of the one or more reference component models, data for the reference items of the reference component model is stored in the target database in form of keys for the reference items and corresponding key values, and the keys are encoded to be independent to a pin order of a reference component corresponding to the reference component model; where the one or more queries include one or more target keys corresponding to the target data, and the retrieval of the extra data includes: retrieving target key values corresponding to the target keys in the target database with the one or more target keys; and taking the target key values as the extra data corresponding to the second part of target items.
[0014] The data in the target database can be stored in form of keys and keys values, and the retrieval process can be performed using the same form, thus the retrieval process can be quick and accurate.
[0015] In a possible implementation of the first aspect, the association between the target component and the at least one of the one or more reference components includes at least one of: a similarity of component names of the target component and the at least one of the one or more reference components is above a first threshold; the target component and the at least one of the one or more reference components being of a same type; the target component and the at least one of the one or more reference componentshaving a same function; or a similarity of outlines of the target component and the at least one of the one or more reference components is above a second threshold.
[0016] The association between the target component and the at least one of the one or more reference components can ensure that the data obtained from the target database can be applicable for the target component, providing a basis for the subsequent supplementation or verification of the target data.
[0017] In a possible implementation of the first aspect, the method further includes: generating the target component model based on the refined data.
[0018] The refined data can be component parameters for generating the target component model, as mentioned before, the obtained component parameters are accurate, thus rendering the generation of the target component model with the refined data to be more accurate.
[0019] In a possible implementation of the first aspect, the method further includes: displaying the target data for the target items; and in response to a data processing operation from a user, updating the target data based on the data processing operation.
[0020] The target data can be verified through the user interaction operation, thereby ensuring the accuracy of the target data.
[0021] In a possible implementation of the first aspect, the target data is output in a structured format.
[0022] The target data is output in a structured format, ensuring that the data format aligns with a preset standard for model generation automation.
[0023] In a possible implementation of the first aspect, the target data includes a component name of the target component as a value of a corresponding target item.
[0024] A component name of the target component is a compulsory component parameter to be obtained from the input data, since if the component name of the target component is missing, it may be hard to obtain or predict other component parameters for the target component.
[0025] In a possible implementation of the first aspect, the target component model is a symbol view model, the target items further include at least one of a component type, an outline, a quantity of pins, pin names, pin types, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
[0026] Specific component parameters for generating different component models may be different, and for the symbol view model of a component, in addition to the component name,other component parameters may be required.
[0027] In a possible implementation of the first aspect, the target component model is a footprint model, the target items further include at least one of a component type, an outline, a quantity of pins, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
[0028] Specific component parameters for generating different component models may be different, and for the footprint model of a component, in addition to the component name, other component parameters may be required.
[0029] In a possible implementation of the first aspect, the target component model is a 3D model, the target items further include at least one of a component type, an outline, 2D side view, or a symbol view figure as a value of a corresponding target item.
[0030] Specific component parameters for generating different component models may be different, and for the 3D model of a component, in addition to the component name, other component parameters may be required.
[0031] In a possible implementation of the first aspect, the target component model is applied to one or more printed circuit board (PCB) library cells or integrated circuit (IC) library cells.
[0032] In a possible implementation of the first aspect, the target data is obtained through a pretrained artificial intelligence (Al) model, and the Al model is trained with extended datasets, where the extended datasets are obtained based on elements from different real datasets.
[0033] The extended datasets are obtained based on elements from different real datasets, that is, abundant datasets for training the Al model are formed, which helps in training the Al model to recognize a wide variety of components and their configurations without extensive real data.
[0034] In a possible implementation of the first aspect, advanced in-context learning (ICL) is applied in the training of the Al model.
[0035] With the ICL strategy, the Al model can extract more useful information from the input data, that is, the information extraction capability of the Al model is enhanced.
[0036] In a possible implementation of the first aspect, the method further includes: upon determining that each of the target items has corresponding target data, generating the target component model based on the target data.
[0037] In a case that each of the target items has corresponding target data, that is, all component parameters for generating the target component model can be obtained from the input data, it may be unnecessary to perform prediction or extra operations for obtaining the desired component parameters, and the target component model can be generated using the target data.
[0038] In a second aspect, a data processing apparatus is provided by the present disclosure, andthe apparatus includes: a determining module, configured to determine, based on input data associated with a target component, target data for target items of a target component model corresponding to the target component, where the target data is used for generating the target component model; a refining module, configured to upon determining that at least one of the target items has no corresponding target data, refine the target data based on a target database to obtain refined data for the target items, where the target database includes reference data for reference items of one or more reference component models corresponding to one or more reference components, and at least one of the one or more reference components is associated with the target component.
[0039] The target data for target items of a target component model is determined based on input data associated with a target component, and in a case that at least one of the target items has no corresponding target data, the target data is refined based on a target database to obtain refined data for the target items. The target data can be refined based on reference data of a reference component stored in the target database, and the reference component is associated with the target component. The reference data of the reference component can be imported by an engineer, and the target database may be the engineer’s local database in which the imported data is stored. For example, the target data extracted from the input data can be one part of component parameters for generating the target component model, and another part of component parameters can be obtained through the target database, where the two parts of component parameters together are used for generating the target component model. For another example, in addition to supplementing the component parameters for generating the target component model, the target data extracted from the input data can also be verified or corrected based on the reference data stored in the target database. Thus, the refined data, i.e., component parameters for generating the target component model can be accurately obtained.
[0040] In a possible implementation of the second aspect, the target items consist of a first part of target items and a second part of target items, and the at least one of the target items is the second part of target items; where the refining module is specifically configured to: obtain extra data for the second part of target items based on the target database, where the refined data includes the target data and the extra data.
[0041] The target data extracted from the input data can be the first part of component parameters corresponding to the first part of target items, and the extra data obtained based on the target database can be the second part of component parameters corresponding to the second part of target items, where the two parts of component parameters together are used for generating thetarget component model. In this way, component parameters for generating the target component model can be obtained accurately.
[0042] In a possible implementation of the second aspect, the refining module is specifically configured to: generate, based on the target data for the first part of target items, one or more queries for querying the extra data; and retrieve the extra data in the target database with the one or more queries.
[0043] The extra data for the second part of target items can be obtained based on the target data for the first part of target items through the querying and retrieving operation, thereby ensuring quick and accurate implementation of the obtaining of the extra data.
[0044] In a possible implementation of the second aspect, the apparatus further includes: a first generating module, configured to generate one or more predictions for the second part of target items based on the target data for the first part of target items; and a verifying module, configured to verify the one or more predictions for the second part of items with the retrieved extra data.
[0045] The retrieved extra data can be used for verifying the initial predictions for the second part of target items, since the extra data from the target database can be more exact or closer to real component parameters of the target component, the final predictions for the second part of target items after the verification process can also be accurate.
[0046] In a possible implementation of the second aspect, for each of the one or more reference component models, data for the reference items of the reference component model is stored in the target database in form of keys for the reference items and corresponding key values, and the keys are encoded to be independent to a pin order of a reference component corresponding to the reference component model; where the one or more queries include one or more target keys corresponding to the target data, and the refining module is specifically configured to: retrieve target key values corresponding to the target keys in the target database with the one or more target keys; and take the target key values as the extra data corresponding to the second part of target items.
[0047] The data in the target database can be stored in form of keys and keys values, and the retrieval process can be performed using the same form, thus the retrieval process can be quick and accurate.
[0048] In a possible implementation of the second aspect, the association between the target component and the at least one of the one or more reference components includes at least one of: a similarity of component names of the target component and the at least one of the one or more reference components is above a first threshold; the target component and the at least one of the one or more reference components being of a same type; the target component and the at least one of the one or more reference components having a same function; or a similarity of outlines of the target component and the at least one of the one or more reference components is above a second threshold.
[0049] The association between the target component and the at least one of the one or more reference components can ensure that the data obtained from the target database can be applicable for the target component, providing a basis for the subsequent supplementation or verification of the target data.
[0050] In a possible implementation of the second aspect, the apparatus further includes: a second generating module, configured to generate the target component model based on the refined data.
[0051] The refined data can be component parameters for generating the target component model, as mentioned before, the obtained component parameters are accurate, thus rendering the generation of the target component model with the refined data to be more accurate.
[0052] In a possible implementation of the second aspect, the apparatus further includes: a displaying module, configured to display the target data for the target items; and an updating module, configured to in response to a data processing operation from a user, update the target data based on the data processing operation.
[0053] The target data can be verified through the user interaction operation, thereby ensuring the accuracy of the target data.
[0054] In a possible implementation of the second aspect, the target data is output in a structured format.
[0055] The target data is output in a structured format, ensuring that the data format aligns with a preset standard for model generation automation.
[0056] In a possible implementation of the second aspect, the target data includes a component name of the target component as a value of a corresponding target item.
[0057] A component name of the target component is a compulsory component parameter to beobtained from the input data, since if the component name of the target component is missing, it may be hard to obtain or predict other component parameters for the target component.
[0058] In a possible implementation of the second aspect, the target component model is a symbol view model, the target items further include at least one of a component type, an outline, a quantity of pins, pin names, pin types, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
[0059] Specific component parameters for generating different component models may be different, and for the symbol view model of a component, in addition to the component name, other component parameters may be required.
[0060] In a possible implementation of the second aspect, the target component model is a footprint model, the target items further include at least one of a component type, an outline, a quantity of pins, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
[0061] Specific component parameters for generating different component models may be different, and for the footprint model of a component, in addition to the component name, other component parameters may be required.
[0062] In a possible implementation of the second aspect, the target component model is a 3D model, the target items further include at least one of a component type, an outline, 2D side view, or a symbol view figure as a value of a corresponding target item.
[0063] Specific component parameters for generating different component models may be different, and for the 3D model of a component, in addition to the component name, other component parameters may be required.
[0064] In a possible implementation of the second aspect, the target component model is applied to one or more printed circuit board (PCB) library cells or integrated circuit (IC) library cells.
[0065] In a possible implementation of the second aspect, the target data is obtained through a pre-trained artificial intelligence (Al) model, and the Al model is trained with extended datasets, where the extended datasets are obtained based on elements from different real datasets.
[0066] The extended datasets are obtained based on elements from different real datasets, that is, abundant datasets for training the Al model are formed, which helps in training the Al model to recognize a wide variety of components and their configurations without extensive real data.
[0067] In a possible implementation of the second aspect, advanced in-context learning (ICL) is applied in the training of the Al model.
[0068] With the ICL strategy, the Al model can extract more useful information from the inputdata, that is, the information extraction capability of the Al model is enhanced.
[0069] In a possible implementation of the second aspect, the apparatus further includes: a third generating module, configured to upon determining that each of the target items has corresponding target data, generate the target component model based on the target data.
[0070] In a case that each of the target items has corresponding target data, that is, all component parameters for generating the target component model can be obtained from the input data, it may be unnecessary to perform prediction or extra operations for obtaining the desired component parameters, and the target component model can be generated using the target data.
[0071] In a third aspect, a data processing apparatus is provided by the present disclosure, and the apparatus is configured to execute the method according to the first aspect or any possible implementation of the first aspect.
[0072] In a fourth aspect, a computing device cluster including at least one computing device is provided by the present disclosure, and the computing device includes at least one processor and a memory coupled with the processor, where the memory stores instructions which, when executed by the at least one processor, cause the computing device cluster to execute the method according to the first aspect or any possible implementation of the first aspect.
[0073] In a fifth aspect, a computer-readable medium is provided by the present disclosure, and the computer-readable medium stores computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute the method according to the first aspect or any possible implementation of the first aspect.
[0074] In a sixth aspect, a computer program product is provided by the present disclosure, and the computer program product includes computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute the method according to the first aspect or any possible implementation of the first aspect.
[0075] In a seventh aspect, a computer program is provided by the present disclosure, and the computer program includes computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute the method according to the first aspect or any possible implementation of the first aspect.
[0076] A data processing method and related apparatus are provided by the present disclosure. The target data for target items of a target component model is determined based on input data associated with a target component, and in a case that at least one of the target items has no corresponding target data, the target data is refined based on a target database to obtain refined data for the target items. The target data can be refined based on reference data of a reference iocomponent stored in the target database, and the reference component is associated with the target component. In this way, the refined data, i.e., component parameters for generating the target component model can be accurately obtained.BRIEF DESCRIPTION OF DRAWINGS
[0077] The accompanying drawings are used to provide a further understanding of the present disclosure, constitute a part of the specification, and are used to explain the present disclosure together with the following specific embodiments, but should not be construed as limiting the present disclosure.
[0078] FIG. 1 is a schematic illustration of extracting information from documents according to one or more embodiments of the present disclosure.
[0079] FIG. 2A is a schematic illustration of a drawing containing pin information according to one or more embodiments of the present disclosure.
[0080] FIG. 2B is another schematic illustration of a drawing containing pin information according to one or more embodiments of the present disclosure.
[0081] FIG. 3 is a flowchart of a data processing method according to one or more embodiments of the present disclosure.
[0082] FIG. 4 is a schematic illustration of generating a component model according to one or more embodiments of the present disclosure.
[0083] FIG. 5 is a schematic illustration of missing data prediction according to one or more embodiments of the present disclosure.
[0084] FIG. 6 is a schematic illustration of a possible order of steps for the missing data prediction according to one or more embodiments of the present disclosure.
[0085] FIG. 7 is a block diagram of a data processing apparatus according to one or more embodiments of the present disclosure.
[0086] FIG. 8 is a schematic structural diagram of a computing device according to one or more embodiments of the present disclosure.
[0087] FIG. 9 is a schematic diagram of an architecture of a computing device cluster according to one or more embodiments of the present disclosure.
[0088] FIG. 10 is a schematic diagram of a connection between computing devices over a network according to one or more embodiments of the present disclosure. nDESCRIPTION OF EMBODIMENTS
[0089] In the following description, reference is made to the accompanying figures, which form part of the present disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and include structural or logical changes not depicted in the figures. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims.
[0090] Every electronic design automation (EDA) tool developed for printed circuit board (PCB) design automation deals with specific models of PCB components that make up PCBs. There are many different models required for PCB EDA (pEDA) tools, e.g., symbol view models, footprint models, 3D models, models for electromagnetic and thermal analysis, and so on. While working on the design of PCBs, an engineer deals with a library of components available for instantiation in his design. There are thousands of components, such as integrated circuits (including generators, amplifiers, timers, memory, etc.), resistors (control of current flow to different parts of PCB), capacitors (storage of electric charge), transistors (switching or amplifying electronic signals), light-emitting diodes (light emission), inductors (store electrical energy in the form of magnetic energy), diodes (return valves for electric current), sensors (measurement of functions such as pressure, light, sound, etc.), transformers (reducing or stopping the power supply), potentiometers (measurement of electrical voltage or potential), relays and switches (current interruption and power on / off), oscillators, etc.
[0091] Generating models to present new components may take a considerable amount of time. There are teams of librarians who are tasked to go over datasheets of the components and convert them into component models that can be used in the design tools. The symbol, footprint, etc. of the component library can be manually generated based on the datasheet. This requires not only deep knowledge of the electronic domain but also an understanding of the various tools used to create models. Each component takes several hours to draw, and every year tens of thousands new components are designed which urges for faster component library generation.
[0092] With the help of artificial intelligence (Al) / machine learning (ML) technologies, the component model generation can be automatically processed by a system. Component stores and third-party library providers have developed rule-driven automatic generation technologies, with poor accuracy and little generalization capability. A lot of manual check and modifications are still required after generation. How to automatically generate PCB component models from datasheetsis one of the top problems presented by related program.
[0093] Datasheet (e.g., in PDF format) of a component may be a huge document of up to hundreds of pages. Datasheet can contain a large amount of additional information that is not needed to create component models. It is important to segment a datasheet document into fragments, classify / recognize relevant fragments and reduce the context size for large language models (LLMs). There are 3 main types of fragments which can contain important information, that is: text, tables and drawings. The following table shows PCB component parameters that need to be extracted from datasheets in order to create the corresponding models correctly. In table 1, “A” signs means the required component information / parameters for generating a component model of a specific type.Table 1
[0094] Regarding the automation of component model generation, in an example, Allegro PCB Librarian assists engineers with creation of schematic symbol views & footprints for PCB components. It offers interactive tools and graphics editing capabilities to create schematic symbols and reusable shapes. A wizard allows users to quickly create footprints using templates that handle most package types — including Dual In-Line Package (DIP), Small Outline Integrated Circuit (SOIC), Plastic Leaded Chip Carrier (PLCC) / Quad Flat Package (QFP), Pin Grid Array (PGA) / Ball Grid Array (BGA). Allegro PCB Librarian provides a variety of import options and utilities to speed up the creation of parts. Users can create schematic parts by importing part datain formats such as Extensible Markup Language (XML), Very-High-Speed Integrated Circuit Hardware Description Language (VHDL), verilog, Comma-Separated Values (CSV) and text files, Input / output Buffer Information Specification (IBIS), formats of other PCB tools, etc.
[0095] The ability to read pin tables and pin grids makes it easy to create parts from descriptions in PDF datasheets. Users can copy pin-out / ball-map diagrams from datasheets into Allegro PCB Librarian. The data is automatically interpreted and can be adjusted to meet self-defined naming standards. Users can also copy complete tables of information from datasheets with configurable translation of pin types and bus notations.
[0096] The typical approach to information extraction includes several steps: document segmentation into text, table and drawings, classification of fragments, the identification of specific fragments which contain relevant data and extraction itself. The general process is shown in FIG. 1, and will be described in the following.
[0097] 1) The input can be a text file, a datasheet PDF file, etc. A PDF file can be processed as a text file. Natural Language Processing (NLP) methods are widely used to extract data in structured format from the text file. Regarding the datasheet PDF file, it can be segmented into texts, tables and drawings, where the text part can be processed to obtain data as the text file.
[0098] 2) Regarding the table part, pin table detection can be performed using header, footer, or its content, etc. The following table 2 illustrates a pin table in the datasheet. A table or several tables which contain information about component pins can be detected with some Al models such as table-transformer. Then, content extraction can be performed on the detected pin tables, e.g., pin names, pin types, pin locations. Discovered and retrieved pin tables could be parsed using methods based on large language model (LLM), in order to get information about pins, e.g., pin names, pin types, pin numbers and pin locations.Table 2
[0099] 3) Regarding the drawing part, drawings containing pin placement information (bottomview for BGA and / or Dual Flat No-lead Package (DFN), top or bottom view for SOIC) can be detected. On one hand, those PDF views and / or drawings that contain pin locations and names can be identified, for example, using OpenCV. On the other hand, pin information (e.g., pin locations, pin names) can be extracted from drawings. This group of problems could be solved in combination of Al methods and other methods.
[0100] 3.1) The pin information contained in the drawings may be in a text format, as shown in FIG. 2A. In an example, pin names are embedded into the drawing in a text format. In such case, the text should be recognized, and if it is a pin name / number, a location of the text should be considered as a location of the corresponding pin.
[0101] 3.2) The pin information contained in the drawings may be in a format of raster (bitmap) images, as shown in FIG. 2B. In such case, the extraction of the pin information may include detection of image regions containing text and text recognition. The detection of image regions containing text may include classification of regions containing text and non-text information, and detection of angles of text lines. There are multiple ways for finding regions containing text, including (a) AV Computer Vision (CV) (Convolutional Recurrent Neural Network, CRNN), (b) other methods based on statistical approach, based on spectrum analysis or based on discrete cosinefunction, (c) combinations of both (a) and (b). The text recognition can be implemented based on segmentation and symbol recognition, e.g., by means of analysis of distances between lines, words and symbols, Al-driven optical character recognition (OCR) models to recognize particular symbols, or using metrics approach, etc.
[0102] 4) In addition to the aforementioned pin information, figures representing graphical information of a component can also be extracted from the drawings of the datasheet. Some datasheets may contain drawings from which symbol view figure(s) may be extracted, and Al could be applied for classification / identification of such drawings. The following tasks could be solved using Al models, where AI / CV models are naturally functional for processing 2D images.
[0103] 4.1) The original image can be segmented into several fragments, each of which includes objects of the same type.
[0104] 4.2) After the segmentation, image vectorization can be performed. The result is a raster model consisting of connected points that simulates the boundaries and lines of zonal objects in the image. There are multiple ways for obtaining the raster model. In an example, algorithm of reduction to the central axis or skeletonization may be used. A skeleton is a set of all points - centers of circles located within the object and having the maximum possible radius. In another example, algorithms based on path mapping may be used. This method assumes that the image mainly contains straight lines. The boundaries between objects are approximated by lines. In another example, graph-based object strokes are used. This method is based on sequential viewing of the image and analyzing the sequences of object pixels in the columns and rows of the screen, and a compact topological vector representation of the raster image is built. To implement this algorithm, one introduced the concept of a stroke as a sequence of object pixels that are arranged sequentially in the same row or in the same column, bounded on both sides by background pixels. In another example, based on the separation of images by regular grid, this method assumes that the entire image is covered by a regular grid and analyzes only the pixels of the screen at the intersection with the grid lines.
[0105] 4.3) After the image vectorization, fine tuning may be performed, that is, the results of the obtained image are further processed in order to improve the quality of the final vector image.
[0106] In view of the aforementioned information extraction method, main drawbacks of Al and other methods of extracting data from documents are: low coverage / low accuracy. In addition, Al generated content (AIGC) may be used to generate data missing in documents and not successfully retrieved from documents. However, this may cause high susceptibility to hallucinations; and LLMs that have been pre-trained with historical data can become obsolete veryquickly as the electronic components industry dynamically developing, roughly 1 technology in 2 years.
[0107] In view of the above, one of the main stages of PCB design process is the schematic editor. When working on PCB schematics, an engineer deals with a library of components available for his design. Creating models to present the new components can take a substantial amount of time. There are groups of engineers who are tasked to go over datasheets of the components and convert those into models that can be used in the design tools. This not only requires deep electronic domain knowledge but also an understanding of the various tools used to generate models. By using AI / ML technologies the model generation can be processed automatically by the system. However, the existing solution may not have a good performance on the model generation, that is, the generated model for a new component may be inaccurate due to component parameters for creating the component model are in low accuracy.
[0108] In order to improve the quality or accuracy of the component parameters for creating the component model, embodiments of the present disclosure propose a data processing method of combining (a) fine-tuned offline Al models to extract data from datasheets and (b) online / offline prediction by searching current engineer library (the aforementioned engineer’s local database). In this way, the coverage of the input document, i.e., the number of datasheets which can be successfully processed can be increased, and since the component parameters for generating the component model can be obtained accurately, the accuracy of the generated component model can be improved.
[0109] Regarding the data extraction (a), relevant data / information is extracted from datasheets using large-scale models (large Al models), where the models are fine-tuned on synthetic datasets generated by customized LLMs. The optimized model’s ability is enhanced to process and interpret complex data from different sources (e.g., text, images, layout, etc.), resulting in more accurate, fast, and comprehensive information extraction.
[0110] Regarding the prediction (b), RAG-based model or separate models can be used to predict missing component parameters required for model generation, such as component type, package type, vendor, outline, pin number, pin names, pin locations / sides, shapes or figures. The accuracy of the obtained missing component parameters can be improved. Real-time data retrieval can be leveraged to continually update and correct the model outputs, which keeps the system with the latest component information and specifications.
[0111] Specifically, embodiments of the present disclosure propose 2-phase AI / ML technology to automatically generate symbol models for new components, i.e., 1) using large Al model toextract information about components; and 2) forecasting missing information taking into account component models of existing PCB components of the local library of concrete engineer or groups of engineers (which may be referred to as a custom database). The large Al model here refers to Al model which has an enhanced ability in providing a response to an intention, the intention here may be, e.g., to output all information required for generating a component model of a component. Special techniques, such as extended datasets for training the Al model, appliance of the advanced in-context learning (ICL) technique, etc., may be introduced later for elaborating the large Al model. It should be noted that, this technology can be applied to component model generation for both PCB library cells and IC library cells, and incorporated to any PCB and / or IC tool chain, which is not limited in the present disclosure. In addition to symbol view model generation, the described methods in the present disclosure can also be applicable to creating some other types of models, such as footprint models, 3D view models (or 3D models), or models for electromagnetic and thermal analysis, which is not limited in the present disclosure. Besides, it is not necessary to implement both of the above two phases for generating a model of a component, sometimes a large Al model may be enough to get all information required to build models for components, sometimes the output of the large Al model may need further enhancement, that is, the second phase of forecasting missing information would be required.
[0112] The proposed solution may use both pre-trained offline Al model and online / offline library built based on component importing behaviors of the engineer(s). The solution successfully creates a new component model even if the datasheet does not contain all relevant information, but the client library (the engineer’s local database) contains similar components (e.g., the same name / vendor / function). The solution cannot successfully create a new component model if the datasheet does not contain all relevant information, and the client library does not contain similar components.
[0113] FIG. 3 shows a flowchart of a data processing method according to one or more embodiments of the present disclosure. The method may include the following steps.
[0114] Step 302, determining, based on input data associated with atarget component, target data for target items of a target component model corresponding to the target component, where the target data is used for generating the target component model.
[0115] The target component may be a component of which a component model is to be created, e.g., a new component that has not appeared in the library of the EDA tools. The input data associated with the target component may be text documents and / or datasheets including information for building the component model, e.g., pin information, graphical information, etc.of this component. The target data are values of corresponding items required to generate a component model.
[0116] As mentioned before, the component model may include a variety of models, e.g., a symbol view model, a footprint model, a 3D model, etc. The data or component param eters / items / entries for generating component models may include a component name, a component type, an outline, a quantity of pins, pin names, pin types, pin locations, pin numbers, 2D side view, a symbol view figure, etc. Different component parameters may be required to generate corresponding component models, and corresponding items can be preset for a specific component model. For example, when the target component model is a symbol view model, the component name, component type, outline, the quantity of pins, pin names, pin types, pin locations, pin numbers, or a symbol view figure may be target items of the target component model, and corresponding values assigned to the corresponding target items could be target data for the target items.
[0117] Here the target items include all items of a target component model corresponding to the target component, when target data (values for specific target items) corresponding to each of the target items is obtained, the target component model can be generated based on the target data.
[0118] In a possible implementation, the target data includes a component name of the target component as a value of a corresponding target item. A component name of the target component is a compulsory component parameter to be obtained from the input data, since if the component name of the target component is missing, it may be hard to obtain or predict other component parameters for the target component.
[0119] Target items vary among different target component models. In a possible implementation, in case of the symbol view model, in addition to the component name, the target items further include at least one of a component type, an outline, a quantity of pins, pin names, pin types, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item. In a possible implementation, in case of the footprint model, in addition to the component name, the target items further include at least one of a component type, an outline, a quantity of pins, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item. In a possible implementation, in case of the 3D model, in addition to the component name, the target items further include at least one of a component type, an outline, 2D side view, or a symbol view figure as a value of a corresponding target item.
[0120] In a possible implementation, after obtaining the target data, the target data for the target items is displayed; and in response to a data processing operation from a user, the target data isupdated based the data processing operation. The target data can be verified through the user interaction operation, thereby ensuring the accuracy of the target data.
[0121] In a possible implementation, the target data is output in a structured format. The model generation system can be designed to generate structured outputs that are easily parsed and integrated into PCB design tools, ensuring that the data format aligns with industry standards for EDA. In an example, any structured format could be defined for LLM outputs, the following gives an example of JavaScript Object Notation (JSON) format:{"component name": string,"component_type": string,"size x mm": number, "size_y_mm": number, "pin_order": "ccw / cw", "pin_list": [ {"name": string, "type": string, "side": bottom / top / left / right, "pin_number": number}]}
[0122] In a possible implementation, the target data is obtained through a pre-trained artificial intelligence (Al) model, and the Al model is trained with extended datasets, where the extended datasets are obtained based on elements from different real datasets. The extended datasets are obtained based on elements from different real datasets, that is, abundant datasets for training the Al model are formed. The enhanced capabilities of the Al model can be utilized to generate synthetic examples (the aforementioned extended datasets) from a limited set of manually created seed examples (the aforementioned real datasets). This approach helps in training the Al model to recognize a wide variety of PCB components and their configurations without extensive real data. Millions of realistic datasheets can be generated based on some examples of real datasheets (or seed examples) by mixing different parts of data from different seed components. For example, a synthetic example may be generated by taking pin names from one seed component, but pin locations from another one seed component, etc. Further, a routine evaluation process can be established where the Al model’s performance on extracting structured information / data is tested using a dedicated validation dataset. This ongoing assessment helps in fine-tuning the model's parameters and improving its accuracy over time.
[0123] In a possible implementation, advanced in-context learning (ICL) is applied in the training of the Al model. With the ICL strategy, the Al model can extract more useful information from the input data, that is, the information extraction capability of the Al model is enhanced. Implement a reinforced ICL strategy where the model not only generates predictions but alsoprovides 'chain-of-thought' rationales or complete solutions. These are then validated either by domain experts or through an automated verification system to ensure accuracy and reliability. ICL is relatively new approach in Al, with this technique, the capability of the Al model is improved.
[0124] In an exemplary solution proposed by the present disclosure, two main phases (which may be referred to as phase 1 and phase 2 hereinafter) may be included. The above step 302 may correspond to phase 1, and the following step 304 may correspond to phase 2. FIG. 4 is a schematic illustration of generating a component model, and the exemplary solution will be described with reference to FIG. 4. For phase 1, some documents (e.g., text, datasheet, drawing, sketch, etc.) may serve as the input data, and AI / LLM may be used to recognize and extract information from the documents. In an example, this extraction can be performed using fine-tuned Mistral-7b LLM model, however, it could also be performed by any other methods including existing methods or Al methods.
[0125] In an example, the information about the PCB component which is required for model generation is listed in the aforementioned table 1, as shown in table 1, it includes component name, type, vendor and outline, the number of pins, pin names, pin types, pin locations, graphical figures, etc. The data can be extracted from the document using the Al model, however, the extracted data could be partial or incomplete, because some information can be missing in the document, or some information may be presented in the format which is not extractable, or extractable with high level of mistakes, or because of not ideal accuracy of existing extraction methods. In order to minimize the error rate (or hallucination rate), generative capabilities of the Al model can be minimized. Every LLM has a number of parameters, e.g., temperature. Lower temperature produces consistent and predictable results, while higher temperature introduces randomness, leading to more creative results. Any algorithm may have a set of parameters which regulate the consistency of obtained results. The goal of the Al model is not to retrieve everything needed but to retrieve all what could be retrieved with high level of confidentiality. It should be noted that, the level of confidentiality for the Al model can be preset according to actual requirements.
[0126] In an example, the phase 1 can end with some user interaction where a particular engineer can make some refinement to the extracted data, or in other words can make some changes of this data manually. Specifically, the data about the component (e.g., [component name, component type, vendor and outline, the number of pins, pin names, pin types, pin locations, graphical figures]) retrieved from the document can be exposed to the engineer using graphical user interface (GUI), in order to allow the user to make a manual intervention to the process, e.g., to correct some data, to remove some completely wrong data, or even to add some missing data. That is, the phase 1 isbased on online or offline inference of the pre-trained Al models followed by refinement step. Details about phase 2 will be described in the following.
[0127] Step 304, upon determining that at least one of the target items has no corresponding target data, refining the target data based on a target database to obtain refined data for the target items, where the target database includes reference data for reference items of one or more reference component models corresponding to one or more reference components, and at least one of the one or more reference components is associated with the target component.
[0128] Here, the refined data includes all values corresponding to the target items, that is, the refined data is enough for generating the component model. It should be noted that, the refinement of the target data may indicate supplementation of the target data, and may also indicate verification of the target data, which is not limited in the embodiments of the present disclosure. The target database stores the reference data of reference components, to be more specific, it may be engineer’s local database, and the reference data of reference components may be imported by engineers. It should be noted that, the reference data of reference components can be imported from a single client or multiple clients, which is not limited in the embodiments of the present disclosure. This can ensure that the reference data of reference components are accurate and up to date. Besides, the refinement based on the target database could be done locally or remotely, which means the target database could be a locally stored database, so that the refinement could be an offline process, or it could also be a database stored on the server side, so that the refinement could be an online process, both implementations would be possible.
[0129] Similar to the target items, for each of the one or more reference component models corresponding to the one or more reference components respectively, the reference items also vary among different reference component models, and reference data may be values corresponding to the reference items. The target database may store reference data of various kinds of reference component models, which is not limited in the embodiments of the present disclosure.
[0130] There could be one or more reference components which are associated with the target component, that is, the at least one of the one or more reference components could be one or more. The association between the at least one of the one or more reference components and the target component means that the target database contains some reference component(s) that could serve as a reference for supplementing or verifying the target data for the target items of the target component model corresponding to the target component, this association ensures the possibility of finding suitable target data for the supplementation or verification.
[0131] The association could be represented in many ways. In a possible implementation, theassociation between the target component and the at least one of the one or more reference components includes at least one of: a similarity of component names of the target component and the at least one of the one or more reference components is above a first threshold; the target component and the at least one of the one or more reference components being of a same type, for example, the target component and the at least one of the one or more reference components are both diodes, capacitors, inductors, switches, connectors, etc.; the target component and the at least one of the one or more reference components having a same function, for example, the target component and the at least one of the one or more reference components are both logic gates with logical nand functions; or, a similarity of outlines of the target component and the at least one of the one or more reference components is above a second threshold, since the outlines of components with same types may be similar, so the similarity of outlines could also serve as a basis for determining the association. The first threshold and second threshold serve as a criterion for determining whether the at least one of the one or more reference components looks like the target component, and if yes, the reference data for reference items of reference component model(s) corresponding to the at least one of the one or more reference components can be reused for the target component model corresponding to the target component.
[0132] It should be noted that the above implementations could also be combined to determine the association between the target component and the at least one of the one or more reference components. For example, when there are multiple reference components whose similarities of component names are above the first threshold, it is possible to select a reference component among the multiple reference components which has a largest similarity, and take reference data for reference items of the reference component model corresponding to the selected reference component as the basis for supplementing or verifying the target data; it is also possible to determine the similarity of outlines of the target component and each of the multiple reference components, to finally determine one reference component whose reference data could serve as a reference for the target component.
[0133] The association between the target component and the at least one of the one or more reference components can ensure that the data obtained from the target database can be applicable for the target component, providing a basis for the subsequent supplementation or verification of the target data.
[0134] In a case that at least one of the target items has no corresponding target data, that is, only a part of component parameters for generating the target component model are extracted from the input data, it may be necessary to obtain the rest of component parameters. The rest of thecomponent parameters can be obtained from the reference data of the reference components stored in the target database, where the reference data for reference items is enough for generating a reference component model corresponding to a reference component, and specific implementations for the obtaining of the rest of the component parameters will be described later.
[0135] In addition to supplementing the component parameters for generating the target component model, in a possible implementation, the target data extracted from the input data can also be verified or corrected based on the reference data stored in the target database. Thus, the accuracy of the final component parameters can be ensured.
[0136] In a case that each of the target items has corresponding target data, that is, all component parameters for generating the target component model can be obtained from the input data, it may be unnecessary to perform prediction or extra operations for obtaining the desired component parameters, and the target component model can be directly generated using the target data. In this case, phase 2 could also be implemented for verifying the target data.
[0137] Regarding the obtaining of the rest of the component parameters for generating the target component model, in a possible implementation, the target items consist of a first part of target items and a second part of target items, and the at least one of the target items that has no corresponding target data is the second part of target items; and extra data for the second part of target items is obtained based on the target database, where the refined data includes the target data and the extra data. The target data extracted from the input data can be the first part of component parameters corresponding to the first part of target items, and the extra data obtained based on the target database can be the second part of component parameters corresponding to the second part of target items, where the two parts of component parameters together are used for generating the target component model. In this way, component parameters for generating the target component model can be obtained accurately.
[0138] In a specific implementation for obtaining the extra data, one or more queries for querying the extra data are generated based the target data for the first part of target items; and the extra data is retrieved in the target database with the one or more queries. In an example, the obtained target data for a symbol view model of a component includes the component name, the component type, the quantity of pins, the pin names, the pin types, the pin locations, and the pin numbers of this component. The required data to create a model of a specific type may be preset according to actual conditions. Based on the required data to create the symbol view model, the outline and the symbol view figure of this component need to be obtained. In this case, the one or more queries may be queries for querying the outline and the symbol view figure. The extra data for the second part oftarget items can be obtained based on the target data for the first part of target items through the querying and retrieving operation, thereby ensuring quick and accurate implementation of the obtaining of the extra data.
[0139] In a possible implementation, one or more predictions for the second part of target items are generated based on the target data for the first part of target items; and the one or more predictions for the second part of items are verified with the retrieved extra data. In addition to the extra data, the target data can also be supplemented with the verified one or more predictions for the second part of target items. That is, there may be two ways to supplement the target data in a case that at least one of the target items has no corresponding target data. The initial prediction(s) for the second part of target items can be obtained through a pre-trained model using historical data, and reference may be made to existing solutions for obtaining such initial prediction(s). The retrieved extra data can be used for verifying the initial predictions for the second part of target items, since the extra data from the target database can be more exact or closer to real component parameters of the target component, the final predictions for the second part of target items after the verification process can also be accurate.
[0140] In a possible implementation, for each of the one or more reference component models, data for the reference items of the reference component model is stored in the target database in form of keys for the reference items and corresponding key values, and the keys are encoded to be independent to a pin order of a reference component corresponding to the reference component model; where the one or more queries include one or more target keys corresponding to the target data, and the retrieval of the extra data includes: retrieving target key values corresponding to the target keys in the target database with the one or more target keys; and taking the target key values as the extra data corresponding to the second part of target items. The data in the target database can be stored in form of keys and keys values, and the retrieval process can be performed using the same form, thus the retrieval process can be quick and accurate.
[0141] In a possible implementation, after obtaining the refined data, the target component model can be generated based on the refined data. As mentioned before, the refinement of the target data may indicate supplementation of the target data, and may also indicate verification of the target data. In a case that the target data is supplemented or verified with suitable reference data from the target database, component parameters for generating the target component model can be complete and accurate. The obtained component parameters are accurate, thus rendering the generation of the target component model with the refined data to be more accurate.
[0142] As mentioned before, step 304 may correspond to phase 2, still taking the schematicillustration of FIG. 4 as an example, phase 2 is to predict or supplement partial information about component to make it complete. This phase is based on the current library of components of engineers, where each missing component parameter is predicted using the components that were previously added to the library and the partial information which has been obtained during the phase 1. Phase 2 significantly improves the accuracy of component parameters because of the fact that the next component to be imported is most probably highly correlated with one of the previously imported components. Phase 2 can also include some refinement steps in which engineers can review the results and perform some fine-tuning. This manual verification process may be similar to the verification after partial information is obtained in phase 1, which will not be repeated again for brevity.
[0143] Regarding the reason why the target data is refined based on the local database to improve the data accuracy at phase 2, engineers can import several similar components one by one. These components may be from the same manufacturer, may have the same functionality, may have the same or similar list of pins, pin locations and so on. It is better to use confident information stored in the engineer’s local database which has previously passed refinement steps than to use generative capabilities of the Al model which could be even not pre-trained on components of this type or this vendor.
[0144] The following is an example to illustrate such a case. There is a table (the following table 3) containing pin names of 8 mixed-signal microcontrollers from the same manufacturer. Suppose an engineer has already imported the component MSP430FR2000IPW16 to his library and he is going to develop a model for the new component MSP430FR2000IRLL. Pin names for a new component can be created by searching for an existing component in his local database and applying knowledge about pin names of the found component. The same idea can be applicable for predicting pin names of other microcontrollers MSP430FR21*.Table 3
[0145] In the above table, the 1stand 3rdcolumns represent pin names of 6 components, the 2ndand 4thcolumns represent pin names of other 2 components. Assume that an engineer imports the components one by one from the datasheet. For example, he starts with MSP430FR2000IPW16. During phase 1, it applies Al methods and it provides some list of pins, but containing errors. The engineer spends essential time to manually fix all these errors and then imports component MSP430FR2000IPW16 to the library. Next time, when an engineer imports MSP430FR2000IRLL and during the phase 1, all the same errors may present in the pin list. But for the 2ndcomponent, phase 2 can work, since the library already contains MSP430FR2000IPW16 with correct set of pins, so that the model generation system can find that MSP430FR2000IRLL is the closest component by name to the component MSP430FR2000IPW16, and the system can automatically copy the list of pin names from MSP430FR2000IPW16 to MSP430FR2000IRLL.
[0146] FIG. 5 is a schematic illustration of missing data prediction during the component model generation. As shown in FIG. 5, missing data prediction (the obtaining of the aforementioned extra data) can be done in the following 2 ways: using a Retrieval Augmented Generation (RAG) model or using a set of separate models and / or algorithms to predict each single missing parameter of the component.
[0147] For phase 2, the system utilizes a Large Language Model (LLM) to generate complete structured descriptions of electronic components from partial structured descriptions of electronic components. It incorporates a RAG model to enhance the LLM’s predictions by dynamically incorporating external data from an engineer’s local (component) database.
[0148] The missing data prediction will be introduced with reference to FIG. 5. The partialcomponent structured description obtained from phase 1 may serve as the input of phase 2. This is the starting point of the system for phase 2 where a partial description of a PCB component is provided. This description could include incomplete data about the component's specifications, such as type, size, or function, etc.
[0149] LLM receives the partial component structured description as a query and attempts to predict the missing data / information / parameters to complete the description. It generates predictions based on the context of the query and its trained knowledge on similar electronic components. LLM can generate multiple hypotheses or complete solutions depending on the complexity of the missing information.
[0150] The RAG model queries the engineer’s local (component) database using the LLM’s output to retrieve relevant contextual information that might help in refining the predictions. This step can ensure data accuracy, as the RAG model uses real-world data to verify or adjust the LLM’ s predictions, making them more reliable and grounded in practical usage.
[0151] Engineer’s local (component) database (the aforementioned target database) stores detailed data on various PCB components used or recognized by the engineering team. This could include datasheets, previous component usage reports, and other technical specifications. This database acts as the source for the retrieval component of the RAG model, providing a rich set of data that helps in contextualizing the predictions made by the LLM.
[0152] The final output is a complete structured description of the component (Full (Predicted) Component Structured Description shown in FIG. 5), synthesized from the partial input and enhanced by contextual data retrieved from the local database.
[0153] The above describes each block of FIG. 5 separately, and the operational flow of the missing data prediction may be as follows. The missing data prediction process begins with a partial component structured description (a specific example of the above target data) input to the LLM. The LLM processes this input and formulates a query or a set of queries seeking missing data / information. The RAG model takes these queries and retrieves relevant data from the engineer’s local (component) database (a specific example of the above target database), providing a custom-based context for each query. The LLM integrates this information to refine its (initial) predictions, leading to a complete structured description of the component. This description is then outputted, providing a comprehensive and accurate representation of the PCB component.
[0154] The system effectively combines the generative capabilities of LLMs with the context- aware advantages of RAG models, ensuring high accuracy and relevance in the predictions. It leverages existing data within an organization, reducing the need for extensive external searchesand streamlining the component design and specification process.
[0155] Regarding the missing data prediction for a component, the minimum input can be just a component name of this component. In some cases just knowledge about the component name is enough to find out all other required parameters for generating a component model corresponding to this component. As mentioned before, other parameters can also be included in the input, which is not repeated here. The prediction approach is applicable for importing PCB / IC standards cell libraries, because all standard cells are following some naming conventions, and if an engineer already has a number of components imported to his library, symbol views for other components could be built just by component name.
[0156] The process of retrieval of relevant data from the engineer’s local component database could organized as follows. Step 1 would be a specific example of the abovementioned implementation where reference data for the reference items of the reference component model is stored in the target database in form of keys for the reference items and corresponding key values, and the keys are encoded to be independent to a pin order of a reference component corresponding to the reference component model. Step 2 would be a specific example of the abovementioned implementation where target key values corresponding to the target keys are retrieved in the target database with the one or more target keys, the target key values are taken as the extra data.
[0157] Step 1. Examine all known components stored in local customer’s database (the aforementioned engineer’s local database). For each examined component, create a set of keys of this component using full or partial information about this component. This creation can be performed by dedicated tools both online (by search request) or offline (every time when the database is extended with new components), e.g., in form of Name + [Vendor name] + [Package name] + [Pin number] + [Pin names list] + [Pin types] + [Pin sides] + [Pin locations] + [Component figures]. The number of keys could be large because notation [X] means that information X is optionally included into a key, e.g., 2A7 = 128. The local customer’s database, as a specific example of the above mentioned target database, can be built once a component model is generated, and it can also be updated when more and more component models are added thereto.
[0158] Every key is encoded in pin order independent manner, such that two components with pins A and B and pins B and A receive close in terms of some metrics or even identical codes. Pins of two similar components may be defined in different orders in 2 different datasheets, however, it can be recognized and figured out that the two components are indeed identical with pin order independent manner. It should be noted that, the number of similar components could be more than two, which is not limited in the embodiments of the present disclosure. In the embodimentsof the present disclosure, pin names could be encoded using 2-gram approach, however there may be other approaches, which is not limited in the embodiments of the present disclosure. Bigram approach (the aforementioned 2-gram approach) uses pairs of adjacent symbols of pin names, and counts how much time every pair of symbols is met within all pin names. Counting how many times each pair of symbol s / letters is included to all pin names does not depend on the order of pins.
[0159] Step 2. For a component that an engineer is currently working with, build an encoded key based on the partial information which has been retrieved during phase 1. As mentioned before, one or more queries for querying the extra data are generated based on the target data for the first part of target items (the partial information which has been retrieved during phase 1), where the one or more queries may be encoded as one or more target keys. Search the database using the encoded key (a specific example of the target keys) and find some close variants (a specific example of the target key values corresponding to the target keys) in terms of some metrics, such as Damerau-Levenshtein distance for string-based encodings, dot products for numeric vector encodings. Then, use the found variants for predictions of missing information about the component.
[0160] The prediction approach which considers each individual component parameter is a sequence of steps in which each subsequent parameter is calculated based on all the parameters already known. That is, the first component parameter to be predicted at phase 2 can be predicted based on the component parameters extracted at phase 1, and then the second component parameter to be predicted at phase 2 can be predicted based on the component parameters extracted at phase 1 and the predicted first component parameter, and so on. FIG. 6 is a schematic illustration of a possible order of steps for the missing data prediction, it should be noted that, the order of steps is only illustrative rather than restrictive, and there may be different arrangements. The following will introduce some prediction principles.
[0161] Component type information can contain elements such as function (e.g., transistor / resistor), and / or vendor, and / or package type (BGA / SOIC). Even if these data have not been successfully extracted from the datasheet, they can be predicted from reference data based on the component name or the list of component pin names. For example, component name NR* is of the logical nor type, or a component with 2 pins: CLKIN and CLKOUT is a clock buffer.
[0162] An outline (or size) of a component could be predicted by the component name, the component type, and / or pin number. It is also possible to use a piecewise-linear approximation based on components of the given type by pin number. In addition, if the package name is known, it also gives accurate information about the outline of the component, that is, to find the componentwith same package and from the same vendor in the database.
[0163] If a pin number and / or pin names are missing, they can be predicted by a known component name, component type and outline, by searching the local / target database for a component with the same type and the nearest name and / or outline.
[0164] If pin locations are not successfully retrieved or not specified in datasheet, they can be predicted based on component type (or package type) or using some statistical models, known distributions of pins between different sides for known components.
[0165] If symbol view figures (e.g., lines, arcs, polygons, circles, and so on) are not successfully extracted at phase 1, they can be taken from some symbol views of some similar components which could be found in the engineer’s local (component) database (target database). The similar components can be found based on the component name, the functional type based or pin names.
[0166] In order to further illustrate the missing data prediction, an example about how to predict symbol view figures and pin locations will be described. Assume that an engineer already has a component of functional type “logical nand” in his library, e.g., with outline being 100 x 100, input pins 1 & 2, and output pin 3.
[0167] Suppose that during the phase 1, the extracted data about a new component is: functional type logical nand, input pins A & B, output pin Z, and size 120 x 100, with undefined pin locations and figures (e.g., a list of lines, circles, etc.). Then, during the phase 2, the relevant existing component can be found in the library, and pin locations of the found component can be applied to pin locations of the new component, that is: 1 -> A, 2 -> B, 3->Z. In addition, symbol view figure of the existing component / cell of outline / size 100 x 100 can be taken and stretched to become 120 x 100, so as to get the symbol view of the new component.
[0168] The target data for target items of a target component model is determined based on input data associated with a target component, and in a case that at least one of the target items has no corresponding target data, the target data is refined based on a target database to obtain refined data for the target items. The target data can be refined based on reference data of a reference component stored in the target database, and the reference component is associated with the target component. The reference data of the reference component can be imported by an engineer, and the target database may be the engineer’s local database in which the imported data is stored. For example, the target data extracted from the input data can be one part of component parameters for generating the target component model, and another part of component parameters can be obtained through the target database, where the two parts of component parameters together are used for generating the target component model. For another example, in addition tosupplementing the component parameters for generating the target component model, the target data extracted from the input data can also be verified or corrected based on the reference data stored in the target database. Thus, the refined data, i.e., component parameters for generating the target component model can be accurately obtained.
[0169] In view of the above, the described method in the present disclosure includes two main phases. At phase 1, recognition and retrieval of information of a component are performed based on the input data, such as text documents and datasheets associated with this component. The recognition and retrieval of information of this component may be implemented by running and serving large-scale models, where the models are fine-tuned on synthetic datasets generated by customized LLMs. In addition, temperature parameters of the models adopt minimum temperature, i.e., minimum level of hallucinations, and the models simply extract data / information of this component with higher degree of confidence and no prediction. In order to create a component model of this component, required data / information / parameters should be obtained, in a case that not all required data for creating the component model is extracted at phase 1, some missing data needs to be predicted at phase 2. Missing data can be predicted based on the local database stored with local component data of a specific engineer of a group of engineers. If any information about the component that is needed for model creation is not found in the input document, it is more likely to be found in the current customer database (target database) than in the abstract large model pre-trained using historical data years ago.
[0170] The proposed solution of the present disclosure allows to combine 2 approaches: data extraction from datasheets and prediction of missing data not extracted from datasheets using local database stored on the engineer’s side. This helps to improve the overall accuracy of the solution.
[0171] Prediction using generative possibilities of fine-tuned Al models is narrowed down by rapidly evolving component technologies. Components stored in the engineer’s local database, especially those that have been added recently, are likely to be highly correlated to the new components that an engineer is about to add (the same vendor, the same function, etc.). One datasheet may contain description of several similar components. After successfully importing one of these components into the library (target database), based on interactive verification of data extracted from datasheets and correction of this data, all the data of other components can be extracted with minimal error risk by adopting the technical solution proposed in the embodiments of the present disclosure, and missing data could be obtained / predicted based on the previously imported component(s).
[0172] Next, embodiments of products related to the data processing method will be described.
[0173] FIG. 7 shows a schematic structural diagram of a data processing apparatus according to one or more embodiments of the present disclosure. As shown in FIG. 7, the apparatus includes a determining module 702 and a refining module 704.
[0174] The determining module 702 is configured to determine, based on input data associated with a target component, target data for target items of a target component model corresponding to the target component, where the target data is used for generating the target component model.
[0175] The refining module 704 is configured to upon determining that at least one of the target items has no corresponding target data, refine the target data based on a target database to obtain refined data for the target items, where the target database includes reference data for reference items of one or more reference component models corresponding to one or more reference components, and at least one of the one or more reference components is associated with the target component.
[0176] In a possible implementation, the target items consist of a first part of target items and a second part of target items, and the at least one of the target items is the second part of target items; where the refining module is specifically configured to: obtain extra data for the second part of target items based on the target database, where the refined data includes the target data and the extra data.
[0177] In a possible implementation, the refining module is specifically configured to: generate, based on the target data for the first part of target items, one or more queries for querying the extra data; and retrieve the extra data in the target database with the one or more queries.
[0178] In a possible implementation, the apparatus further includes a first generating module and a verifying module. The first generating module is configured to generate one or more predictions for the second part of target items based on the target data for the first part of target items; and the verifying module is configured to verify the one or more predictions for the second part of items with the retrieved extra data.
[0179] In a possible implementation, for each of the one or more reference component models, data for the reference items of the reference component model is stored in the target database in form of keys for the reference items and corresponding key values, and the keys are encoded to be independent to a pin order of a reference component corresponding to the reference component model; where the one or more queries include one or more target keys corresponding to the target data, and the refining module is specifically configured to: retrieve target key values corresponding to the target keys in the target database with the one or more target keys; and take the target key values as the extra data corresponding to the second part of target items.
[0180] In a possible implementation, the association between the target component and the at least one of the one or more reference components includes at least one of: a similarity of component names of the target component and the at least one of the one or more reference components is above a first threshold; the target component and the at least one of the one or more reference components being of a same type; the target component and the at least one of the one or more reference components having a same function; or, a similarity of outlines of the target component and the at least one of the one or more reference components is above a second threshold.
[0181] In a possible implementation, the apparatus further includes a second generating module. The second generating module is configured to generate the target component model based on the refined data.
[0182] In a possible implementation, the apparatus further includes a displaying module and an updating module. The displaying module is configured to display the target data for the target items; and the updating module is configured to in response to a data processing operation from a user, update the target data based on the data processing operation.
[0183] In a possible implementation, the target data is output in a structured format.
[0184] In a possible implementation, the target data includes a component name of the target component as a value of a corresponding target item.
[0185] In a possible implementation, the target component model is a symbol view model, the target items further include at least one of a component type, an outline, a quantity of pins, pin names, pin types, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
[0186] In a possible implementation, the target component model is a footprint model, the target items further include at least one of a component type, an outline, a quantity of pins, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
[0187] In a possible implementation, the target component model is a 3D model, the target items further include at least one of a component type, an outline, 2D side view, or a symbol view figure as a value of a corresponding target item.
[0188] In a possible implementation, the target component model is applied to one or more printed circuit board (PCB) library cells or integrated circuit (IC) library cells.
[0189] In a possible implementation, the target data is obtained through a pre-trained artificial intelligence (Al) model, and the Al model is trained with extended datasets, where the extended datasets are obtained based on elements from different real datasets.
[0190] In a possible implementation, advanced in-context learning (ICL) is applied in the training of the Al model.
[0191] In a possible implementation, the apparatus further includes a third generating module. The third generating module is configured to upon determining that each of the target items has corresponding target data, generate the target component model based on the target data.
[0192] It should be noted that, the first generating module, the second generating module and the third generating module are only illustrative for their functions, and in practice, the functions of the first generating module, the second generating module and the third generating module may be implemented by one generating module, which is not limited here. It should also be noted that, the functions of the determining module and the refining module may also be implemented by a single module, and the functions of multiple modules may also be implemented by one or more modules, which is not limited in the present disclosure. The apparatus may be in a form of a computing device, an electronic device, etc.
[0193] The data processing apparatus may be the implemented as described in the above method embodiments. It should be understood by a person skilled in the art that, the relevant description of the above modules in the embodiments of the present disclosure may be understood with reference to the relevant description of the data processing method in the embodiments of the present disclosure.
[0194] FIG. 8 is a schematic structural diagram of a computing device according to one or more embodiments of the present disclosure. As shown in FIG. 8, the computing device 800 includes a processor 802, an interface 804 for communicating with other devices, a memory 806, and a bus 808. The processor 802, the interface 804, and the memory 806 are in communication with each other via the bus 808. The memory 806 may be stored with computer execution instructions, and the processor 802 executes computer execution instructions stored in the memory 806 to enable the computing device to execute any of the above methods. The computing device 800 can be a server or a terminal device. The number of processors and memories in the computing device 800 is not limited in the embodiments of the present disclosure.
[0195] The bus 808 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, only one line is used in FIG. 8, but it does not mean that there is only one bus or one type of bus. The bus 808 may include pathways for transferring information between various components of the computing device 800 (e.g., the memory 806, the processor 802, or the interface 804).
[0196] The processor 802 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP) processor.
[0197] The memory 806 can include volatile memory, such as random access memory (RAM). The processor 802 can also include non-volatile memory, such as read-only memory (ROM), flash memory, a mechanical hard disk (HDD), or a solid state drive (SSD).
[0198] An executable program code is stored in the memory 806, and the processor 802 executes the executable program code to implement the functions of the aforementioned determining module 702 and the refining module 704, respectively, so as to implement the method described in the above embodiments. That is, the memory 806 has instructions on it for executing the method described in the above embodiments.
[0199] The structure of the computing device 800 enumerated above is only an exemplary illustration, and the present disclosure is not limited thereto. The computing device 800 of embodiments of the present application includes a variety of hardware found in computer systems in the prior art, e.g., the computing device 800 also includes memory other than the memory 806, such as, for example, a disk memory, and the like. It should be understood by those skilled in the art that the computing device 800 can also include other devices necessary to achieve proper operation. In addition, depending on the specific needs, one of skill in the art should understand that the above-described computing device 800 may also include other hardware devices for realizing other additional functions. In addition, one of skill in the art should understand that the above-described computing device 800 may also include only the devices necessary to realize the embodiments of the present disclosure, and need not include all of the devices shown in FIG. 8.
[0200] FIG. 9 is a schematic diagram of an architecture of a computing device cluster according to one or more embodiments of the present disclosure. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0201] As shown in FIG. 9, the cluster of computing devices described includes at least one computing device 900. The memory 906 in one or more of the computing devices 900 in the cluster of computing devices can hold the same instructions for performing the method described in the above embodiments.
[0202] In some possible implementations, some of the instructions for performing the method described in the above embodiments can also be separately held in the memory 906 of the one ormore computing devices 900 in the cluster of computing devices. In other words, a combination of the one or more computing devices 900 can jointly execute instructions for performing the method described in the above embodiments.
[0203] It is noted that the memories 906 in the different computing devices 900 in the cluster of computing devices can store different instructions for performing some of the functions of the computing devices 900, respectively. That is, the instructions stored in the memories 906 in the different computing devices 900 can realize the functions of one or more of the determining module 702 and the refining module 704.
[0204] In some possible implementations, one or more computing devices in a cluster of computing devices can be connected via a network. Among other things, the network can be a wide area network or a local area network, etc. FIG. 10 illustrates one possible implementation. FIG. 10 is a schematic diagram of a connection between computing devices 1000 A and 1000B over a network according to one or more embodiments of the present disclosure. The two computing devices 1000 A and 1000B are connected to each other via a network. Specifically, the connection to said network is made through a communication interface in each computing device. In this class of possible implementations, the memory 1006 A in the computing device 1000 A holds instructions for performing the functions of the determining module 702. At the same time, the memory 1006B in the computing device 1000B holds instructions for performing the functions of the refining module 704.
[0205] The connection between the clusters of computing devices shown in FIG. 10 can be such that, considering that the method provided in the present disclosure requires processing a large number of data, it is contemplated that the functions realized by the determining module 702 be performed by the computing device 1000B.
[0206] The functions of computing device 1000 A illustrated in FIG. 10 can also be accomplished by multiple computing devices. Similarly, the functions of computing device 1000B can be accomplished by multiple computing devices.
[0207] In some aspects of the present disclosure, there is provided a data processing apparatus including processing circuitry for executing any of the above methods. It should be understood that the apparatus can execute the steps in the above method embodiments, which will not be repeated here.
[0208] In some aspects of the present disclosure, there is provided a computing device cluster including at least one computing device, and the computing device includes a processor and a memory coupled with the processor. The memory is storing instructions which, when executed bythe processor, cause the computing device cluster to perform any of the above methods.
[0209] In some aspects of the present disclosure, there is provided a chip, including an input / output (I / O) interface and a processor, where the processor is configured to call and run computer execution instructions stored in a memory, to enable a device installing with the chip to execute any of the above methods.
[0210] In some aspects of the present disclosure, there is provided a computer-readable medium storing computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute any of the above methods.
[0211] In some aspects of the present disclosure, there is provided a computer program product including computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute any of the above methods.
[0212] In some aspects of the present disclosure, there is provided a computer program including computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute any of the above methods.
[0213] Although the present disclosure describes methods and processes with steps in a certain order, one or more steps of the methods and processes may be omitted or altered as appropriate. One or more steps may take place in an order other than that in which they are described, as appropriate.
[0214] Note that the expression “at least one of A or B”, as used herein, is interchangeable with the expression “A and / or B”. It refers to a list in which you may select A or B or both A and B. Similarly, “at least one of A, B, or C”, as used herein, is interchangeable with “A and / or B and / or C” or “A, B, and / or C”. It refers to a list in which you may select: A or B or C, or both A and B, or both A and C, or both B and C, or all of A, B and C. The same principle applies for longer lists having a same format.
[0215] Although the present disclosure is described, at least in part, in terms of methods, a person of ordinary skill in the art will understand that the present disclosure is also directed to the various components for performing at least some of the aspects and features of the described methods, be it by way of hardware components, software or any combination of the two. Accordingly, the technical solution of the present disclosure may be embodied in the form of a software product. A suitable software product may be stored in a pre-recorded storage device or other similar nonvolatile or non-transitory computer readable medium, including DVDs, CD-ROMs, USB flash disk, a removable hard disk, or other storage media, for example. The software product includes instructions tangibly stored thereon that enable a processing device (e.g., a personal computer, aserver, or a network device) to execute examples of the methods disclosed herein. The machineexecutable instructions may be in the form of code sequences, configuration information, or other data, which, when executed, cause a machine (e.g., a processor or other processing device) to perform steps in a method according to examples of the present disclosure.
[0216] The present disclosure may be embodied in other specific forms without departing from the subject matter of the claims. The described example embodiments are to be considered in all respects as being only illustrative and not restrictive. Selected features from one or more of the above-described embodiments may be combined to create alternative embodiments not explicitly described, features suitable for such combinations being understood within the scope of this disclosure.
[0217] All values and sub-ranges within disclosed ranges are also disclosed. Also, although the systems, devices and processes disclosed and shown herein may include a specific number of elements / components, the systems, devices and assemblies could be modified to include additional or fewer of such elements / components. For example, although any of the elements / components disclosed may be referenced as being singular, the embodiments disclosed herein could be modified to include a plurality of such elements / components. The subject matter described herein intends to cover and embrace all suitable changes in technology.
[0218] Although embodiments have been described above with reference to the accompanying drawings, those of skill in the art will appreciate that variations and modifications may be made without departing from the scope thereof as defined by the appended claims.
Claims
CLAIMS1. A data processing method, comprising: determining, based on input data associated with a target component, target data for target items of a target component model corresponding to the target component, wherein the target data is used for generating the target component model; upon determining that at least one of the target items has no corresponding target data, refining the target data based on a target database to obtain refined data for the target items, wherein the target database comprises reference data for reference items of one or more reference component models corresponding to one or more reference components, and at least one of the one or more reference components is associated with the target component.
2. The method according to claim 1, wherein the target items consist of a first part of target items and a second part of target items, and the at least one of the target items is the second part of target items; wherein the refining the target data based on the target database to obtain the refined data for the target items comprises: obtaining extra data for the second part of target items based on the target database, wherein the refined data comprises the target data and the extra data.
3. The method according to claim 2, wherein the obtaining the extra data for the second part of target items comprises: generating, based on the target data for the first part of target items, one or more queries for querying the extra data; and retrieving the extra data in the target database with the one or more queries.
4. The method according to claim 3, further comprising: generating one or more predictions for the second part of target items based on the target data for the first part of target items; and verifying the one or more predictions for the second part of items with the retrieved extra data.
5. The method according to claim 3 or 4, wherein for each of the one or more reference component models, data for the reference items of the reference component model is stored in the target database in form of keys for the reference items and corresponding key values, and the keys are encoded to be independent to a pin order of a reference component corresponding to thereference component model; wherein the one or more queries comprise one or more target keys corresponding to the target data, and the retrieval of the extra data comprises: retrieving target key values corresponding to the target keys in the target database with the one or more target keys; and taking the target key values as the extra data corresponding to the second part of target items.
6. The method according to any one of claims 1 to 5, wherein the association between the target component and the at least one of the one or more reference components comprises at least one of: a similarity of component names of the target component and the at least one of the one or more reference components is above a first threshold; the target component and the at least one of the one or more reference components being of a same type; the target component and the at least one of the one or more reference components having a same function; or a similarity of outlines of the target component and the at least one of the one or more reference components is above a second threshold.
7. The method according to any one of claims 1 to 6, further comprising: generating the target component model based on the refined data.
8. The method according to any one of claims 1 to 7, further comprising: displaying the target data for the target items; and in response to a data processing operation from a user, updating the target data based on the data processing operation.
9. The method according to any one of claims 1 to 8, wherein the target data is output in a structured format.
10. The method according to any one of claims 1 to 9, wherein the target data comprises a component name of the target component as a value of a corresponding target item.
11. The method according to claim 10, wherein the target component model is a symbol view model, the target items further comprise at least one of a component type, an outline, a quantity of pins, pin names, pin types, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
12. The method according to claim 10, wherein the target component model is a footprint model, the target items further comprise at least one of a component type, an outline, a quantity ofpins, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
13. The method according to claim 10, wherein the target component model is a 3D model, the target items further comprise at least one of a component type, an outline, 2D side view, or a symbol view figure as a value of a corresponding target item.
14. The method according to any one of claims 1 to 13, wherein the target component model is applied to one or more printed circuit board (PCB) library cells or integrated circuit (IC) library cells.
15. The method according to any one of claims 1 to 14, wherein the target data is obtained through a pre-trained artificial intelligence (Al) model, and the Al model is trained with extended datasets, wherein the extended datasets are obtained based on elements from different real datasets.
16. The method according to claim 15, wherein advanced in-context learning (ICL) is applied in the training of the Al model.
17. The method according to any one of claims 1 to 16, further comprising: upon determining that each of the target items has corresponding target data, generating the target component model based on the target data.
18. A data processing apparatus, comprising: a determining module, configured to determine, based on input data associated with a target component, target data for target items of a target component model corresponding to the target component, wherein the target data is used for generating the target component model; a refining module, configured to upon determining that at least one of the target items has no corresponding target data, refine the target data based on a target database to obtain refined data for the target items, wherein the target database comprises reference data for reference items of one or more reference component models corresponding to one or more reference components, and at least one of the one or more reference components is associated with the target component.
19. The apparatus according to claim 18, wherein the target items consist of a first part of target items and a second part of target items, and the at least one of the target items is the second part of target items; wherein the refining module is specifically configured to: obtain extra data for the second part of target items based on the target database, wherein the refined data comprises the target data and the extra data.
20. The apparatus according to claim 19, wherein the refining module is specifically configured to: generate, based on the target data for the first part of target items, one or more queries forquerying the extra data; and retrieve the extra data in the target database with the one or more queries.
21. The apparatus according to claim 20, further comprising: a first generating module, configured to generate one or more predictions for the second part of target items based on the target data for the first part of target items; and a verifying module, configured to verify the one or more predictions for the second part of items with the retrieved extra data.
22. The apparatus according to claim 20 or 21, wherein for each of the one or more reference component models, data for the reference items of the reference component model is stored in the target database in form of keys for the reference items and corresponding key values, and the keys are encoded to be independent to a pin order of a reference component corresponding to the reference component model; wherein the one or more queries comprise one or more target keys corresponding to the target data, and the refining module is specifically configured to: retrieve target key values corresponding to the target keys in the target database with the one or more target keys; and take the target key values as the extra data corresponding to the second part of target items.
23. The apparatus according to any one of claims 18 to 22, wherein the association between the target component and the at least one of the one or more reference components comprises at least one of: a similarity of component names of the target component and the at least one of the one or more reference components is above a first threshold; the target component and the at least one of the one or more reference components being of a same type; the target component and the at least one of the one or more reference components having a same function; or a similarity of outlines of the target component and the at least one of the one or more reference components is above a second threshold.
24. The apparatus according to any one of claims 18 to 23, further comprising: a second generating module, configured to generate the target component model based on the refined data.
25. The apparatus according to any one of claims 18 to 24, further comprising: a displaying module, configured to display the target data for the target items; and an updating module, configured to in response to a data processing operation from a user,update the target data based on the data processing operation.
26. The apparatus according to any one of claims 18 to 25, wherein the target data is output in a structured format.
27. The apparatus according to any one of claims 18 to 26, wherein the target data comprises a component name of the target component as a value of a corresponding target item.
28. The apparatus according to claim 27, wherein the target component model is a symbol view model, the target items further comprise at least one of a component type, an outline, a quantity of pins, pin names, pin types, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
29. The apparatus according to claim 27, wherein the target component model is a footprint model, the target items further comprise at least one of a component type, an outline, a quantity of pins, pin locations, pin numbers, or a symbol view figure as a value of a corresponding target item.
30. The apparatus according to claim 27, wherein the target component model is a 3D model, the target items further comprise at least one of a component type, an outline, 2D side view, or a symbol view figure as a value of a corresponding target item.
31. The apparatus according to any one of claims 18 to 30, wherein the target component model is applied to one or more printed circuit board (PCB) library cells or integrated circuit (IC) library cells.
32. The apparatus according to any one of claims 18 to 31, wherein the target data is obtained through a pre-trained artificial intelligence (Al) model, and the Al model is trained with extended datasets, wherein the extended datasets are obtained based on elements from different real datasets.
33. The apparatus according to claim 32, wherein advanced in-context learning (ICL) is applied in the training of the Al model.
34. The apparatus according to any one of claims 18 to 33, further comprising: a third generating module, configured to upon determining that each of the target items has corresponding target data, generate the target component model based on the target data.
35. A computing device cluster, comprising at least one computing device, wherein the computing device comprises at least one processor and a memory coupled with the processor, wherein the memory stores instructions which, when executed by the at least one processor, cause the computing device cluster to execute the method according to any one of claims 1 to 17.
36. A computer-readable medium storing computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute the method according to any one of claims 1 to 17.
37. A computer program product comprising computer execution instructions which, when run on a computing device cluster, cause the computing device cluster to execute the method according to any one of claims 1 to 17.
Citation Information
Patent Citations
System, method, and computer program product for network-based part management system
US20050131783A1
System and method for electronic automated printed circuit design
US20190012424A1