For interfacing to printed circuit board schematics
By automatically identifying and applying interface definitions in the computing system of the schematic capture tool, the time-consuming and error-prone problem of manual part interface connection in printed circuit board schematic design is solved, achieving more efficient and accurate interface connections.
Patent Information
- Application Number
- CN201980063277.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-28
- Filing Date
- 2019-08-28
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2039-08-28
AI Technical Summary
The prior art has a lot of manual work in the interface connection between parts in printed circuit board schematic design, which makes it time-consuming and error-prone.
By selecting the type of communication interface in the computing system of the schematic capture tool, identifying the interface definition corresponding to the selected interface type, and automatically modifying the schematic design based on the interface definition, the instance connection of the part and the interface definition is realized.
Manual operations are reduced, design efficiency is improved, error rates are reduced, and more accurate and faster interface connections are achieved.
Smart Images

Figure CN112912885B_ABST
Abstract
Description
Technical Field
[0001] The present application relates generally to electronic design automation and, more particularly, to interfacing for printed circuit board schematics. Background Art
[0002] The development of an electronic device with a printed circuit board typically involves a number of steps, which are referred to as a design flow. The design flow typically begins with a specification of a new electronic device to be implemented using a printed circuit board, which may be converted into a schematic design, such as a netlist, by a schematic capture tool, for example. The schematic capture tool may place and interconnect various parts into the schematic design. For example, a schematic capture tool implemented in a computing system may present a graphical view of the schematic design and allow a designer to place parts from a library onto the schematic design in the graphical view using the schematic capture tool.
[0003] Schematic capture tools may also allow designers to connect pins of parts to signal lines or networks in a schematic design. When the connections between placed parts are subject to industry standards (such as Peripheral Component Interconnect (PCI) Express, Universal Serial Bus (USB), etc.), the designer may read a document describing the industry standard and then determine how to generate connections between the pins of the placed parts. Such generation of connections between the pins of the placed parts may also include adding constraints to the generated connections, such as to describe the electrical or physical properties of the connections, and adding terminals (such as discrete electrical components) to the generated connections. Since generating connections between parts in a schematic design may include a significant amount of manual work by the designer, the overall generation and subsequent manual verification of the schematic design may be both time consuming and error prone. Summary of the invention
[0004] The present application discloses a computing system that implements a schematic capture tool to place and connect parts in a schematic design of a printed circuit board assembly. The computing system that implements the schematic capture tool can select the type of communication interface used to connect the parts in the schematic design, and identify the interface definition corresponding to the type of the selected communication interface. The interface definition can describe the characteristics of the selected communication interface, such as the signal line, end, or configuration of the selected communication interface. The computing system that implements the schematic capture tool can locate the mapping that describes the connection between the parts and the end in the interface definition, and based on the mapping, automatically modify the schematic design to include an instance of the interface definition in the schematic design, and connect the parts in the schematic design to the instance of the interface definition. The computing system that implements the schematic capture tool can also use the interface definition to set constraints (such as electrical properties or physical properties) for the signal line connection between the pins of the parts in the schematic design. The computing system that implements the schematic capture tool can also use the interface definition to add terminals (such as separate electrical components) to the signal line connection between the pins of the parts in the schematic design. The embodiments will be described in more detail below. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Figure 1 and Figure 2 An example of a computer system of the type that may be used to implement various embodiments is shown.
[0006] Figure 3 An example of a design system 300 having a schematic capture tool to generate a logical design of a printed circuit board assembly using an interface definition is shown in accordance with various embodiments.
[0007] Figure 4 Examples of interface definitions according to various embodiments are shown.
[0008] Figure 5 An example flow chart for automatically modifying a schematic design of a printed circuit board assembly to connect parts is shown in accordance with various embodiments. DETAILED DESCRIPTION
[0009] Illustrative operating environment
[0010] Various examples may be implemented by a computing device 101 (such as a programmable computer) by executing software instructions. Figure 1An illustrative example of a computing device 101 is shown. As seen in the figure, computing device 101 includes a computing unit 103 having a processor unit 105 and a system memory 107. Processor unit 105 can be any type of programmable electronic device for executing software instructions, but will typically be a microprocessor. System memory 107 can include read-only memory (ROM) 109 and random access memory (RAM) 111. As will be appreciated by one of ordinary skill in the art, both read-only memory (ROM) 109 and random access memory (RAM) 111 can store software instructions for execution by processor unit 105.
[0011] Processor unit 105 and system memory 107 are directly or indirectly connected to one or more peripheral devices via bus 113 or alternative communication structures. For example, processor unit 105 or system memory 107 may be directly or indirectly connected to one or more additional memory storage devices, such as hard disk drive 117, removable optical drive 119, and / or flash memory card, which may be magnetic and / or removable. Processor unit 105 and system memory 107 may also be directly or indirectly connected to one or more input devices 121 and one or more output devices 123. Input device 121 may include, for example, a keyboard, a pointing device (such as a mouse, a touch pad, a stylus, a trackball, or a joystick), a scanner, a camera, and a microphone. Output device 123 may include, for example, a monitor display, a printer, and a speaker. In the case of various examples of computing device 101, one or more of the peripheral devices may be housed internally with computing unit 103. Alternatively, one or more of the peripheral devices may be external to the housing for computing unit 103 and connected to bus 113 via, for example, a universal serial bus (USB) connection.
[0012] In some embodiments, the computing unit 103 may be directly or indirectly connected to a network interface 115 for communicating with other devices constituting a network. The network interface 115 may convert data and control signals from the computing unit 103 into network messages according to one or more communication protocols, such as the Transmission Control Protocol (TCP) and the Internet Protocol (IP). In addition, the network interface 115 may employ any suitable connection agent (or combination of agents) for connecting to the network, including, for example, a wireless transceiver, a modem, or an Ethernet connection. Such network interfaces and protocols are well known in the art and will not be discussed in further detail herein.
[0013] It should be appreciated that computing device 101 is shown by way of example only and is not intended to be limiting. Various embodiments may be implemented using one or more computing devices including Figure 1Components of the computing device 101 shown in FIG. 1 , wherein the one or more computing devices only include Figure 1 A subset of the components shown, or including components (including those not shown Figure 1 For example, various embodiments may be implemented using one multi-processor computer, multiple single-processor and / or multi-processor computers arranged in a network, or some combination of the two.
[0014] In some embodiments, processor unit 105 may have more than one processor core. Figure 2 An example of a multi-core processor unit 105 that can be used with various embodiments is shown. As seen in the figure, the processor unit 105 includes a plurality of processor cores 201A and 201B. Respectively, each processor core 201A includes a computing engine 203A and a memory cache 205A, and each processor core 201B includes a computing engine 203B and a memory cache 205B. As known to those of ordinary skill in the art, computing engines 203A and 203B may include logic devices for performing various computing functions (such as obtaining software instructions and then performing the actions specified in the instructions obtained). These actions may include, for example, adding, subtracting, multiplying and comparing numbers, performing logical operations such as AND, OR, NOR and XOR, and retrieving data. Then, each computing engine 203A and 203B may use its corresponding memory cache 205A and 205B to quickly store and retrieve data and / or instructions for execution.
[0015] Each processor core 201A and 201B is connected to an interconnect 207. The specific structure of the interconnect 207 may vary depending on the architecture of the processor unit 105. For some processor cores 201A and 201B, such as the Cell microprocessor created by Sony Corporation, Toshiba Corporation, and IBM Corporation, the interconnect 207 may be implemented as an interconnect bus. However, for other processor cores 201A and 201B, such as the Opteron microprocessor available from Advanced Micro Devices of Sunnyvale, California, the interconnect 207 may be implemented as an interconnect bus. TM and Athlon TM In a dual-core processor, interconnect 207 may be implemented as a system request interface device. In any case, processor cores 201A and 201B communicate with input / output interface 209 and memory controller 210 via interconnect 207. Input / output interface 209 provides a communication interface to bus 113. Similarly, memory controller 210 controls the exchange of information to system memory 107. In some embodiments, processor unit 105 may include additional components, such as an accessible high-level cache memory shared by processor cores 201A and 201B. It should also be appreciated that the processor cores 201A and 201B may be used to communicate with each other. Figure 1 and Figure 2 The description of the computer network shown in is provided by way of example only and is not intended to imply any limitation as to the scope of use or functionality of alternative embodiments.
[0016] For interfacing to printed circuit board schematics
[0017] Figure 3 An example of a design system 300 having a schematic capture tool 310 for generating a schematic design of a printed circuit board assembly using an interface definition is shown in accordance with various embodiments. Figure 3 , the design system 300 may be a distributed design environment that allows the design of a printed circuit board assembly to be performed through different communication tools or systems. The design system 300 may include a schematic capture tool 310 to receive a parts library 301 including the following parts: the parts represent electronic components that can be used in the printed circuit board assembly. The parts may, for example, describe the electronic components by identifying the type of electronic components and the pins or ports of the electronic components. The schematic capture tool 310 may generate a schematic design for the printed circuit board assembly using the parts from the parts library 301. The schematic design may use a netlist 302 and a parts list 303 to logically or functionally describe the printed circuit board assembly. The netlist 302, for example, specified in an electronic design interchange format (EDIF) or binary format, may describe the network or connection between various components or instances. The parts list 303 may include multiple parts from the parts library 301, and the multiple parts may correspond to the components or instances described in the netlist 302.
[0018] The schematic capture tool 310 may include a part placement unit 311 to identify and insert parts from the part library 301 into a schematic for a printed circuit board assembly. In some embodiments, the schematic capture tool 310 may output a display presentation that, when displayed by a display device, may provide a user interface to a design environment, allowing the part placement unit 311 to place parts from the part library 301 into a schematic design in response to user input. The display presentation may include a graphical display window that includes at least one representation of a schematic design and includes various tools or embedded functions that may allow parts from the part library 301 to be placed into the schematic design.
[0019] The schematic capture tool 310 may include a part connection unit 312 for connecting parts in a schematic design for a printed circuit board assembly. In some embodiments, the part connection unit 312 may generate connections for placed parts in the schematic design, which may be represented in a display presentation that may have a representation of the schematic design. The part connection unit 312 may, for example, select a type of communication interface to be used to connect the parts in the schematic design in response to user input. When the connection between the parts corresponds to an industry standard, such as a peripheral component interconnect (PCI) Express, a universal serial bus (USB), etc., the part connection unit 312 may select a communication interface corresponding to the industry standard.
[0020] The part connection unit 312 may include an interface definition unit 313 having one or more interface definitions that describe the performance and connectivity of different types of communication interfaces that may be incorporated into the schematic design of the printed circuit board assembly. For example, the interface definition unit 313 may include interface definitions that may be used for an industry standard selected by the part connection unit 312. Embodiments of the interface definitions are described in more detail below.
[0021] Figure 4 An example of an interface definition 400 according to various embodiments is shown. Figure 4 , the interface definition 400 may describe the performance and connectivity of a communication interface that may be used to be incorporated into a schematic design of a printed circuit board assembly. The interface definition 400 may include signal lines 401 corresponding to the signal connections of the communication interface. Each of the signal lines may be of a different type, such as differential pair, power, ground, data, etc. When the communication interface includes power, ground, and data connectivity, the interface definition 400 may include a different signal line 401 for each of the different connection types.
[0022] Interface definition 400 may include ends 402 to describe functionality in a communication interface. Each of ends 402 may include a list of one or more of signal lines 401 associated with end 402. In some embodiments, ends 402 of interface definition 400 may be coupled to pins of a part in a schematic design to form a connection or network.
[0023] In some embodiments, interface definition 400 may include configuration 403 to describe a specific implementation of the communication interface. For example, when a type of communication interface can be configured or implemented in multiple different ways, interface definition 400 may include configuration 403 to identify which of the multiple implementations is supported by interface definition 400.
[0024] The interface definition 400 may include constraints 404 to describe electrical and / or physical properties associated with at least one of the signal lines 401 in the interface definition 400, for example, the properties may be associated on a per signal line basis. In some embodiments, the schematic capture tool may add constraints 404 to connections formed between multiple parts in the schematic design based on the interface definition 400. The interface definition 400 may include terminals 405 to describe discrete electrical components (such as resistors, capacitors, etc.) to be added to the connections associated with the signal lines 401 in the interface definition 400.
[0025] Reference again Figure 3 The interface definition unit 313 may associate the type of the selected communication interface with the interface definition. For example, when the part connection unit 312 selects a PCI Express interface to connect two parts in the schematic design, the interface definition unit 313 may identify the interface definition associated with the PCI Express interface in the interface definition unit 313.
[0026] The part connection unit 312 may include a part mapping unit 314, which includes a mapping between an interface definition and a part from the part library 301. Based on the identification of the interface definition used to connect the part in the schematic design, the part mapping unit 314 can determine whether a mapping between the interface definition and the part exists. When the part mapping unit 314 includes a mapping, the part connection unit 312 can place an instance of the interface definition in the schematic design and automatically connect the pins of the part to the ends in the instance of the interface definition based on the mapping. When the interface definition includes constraints for connection, the part mapping unit 314 can also assign the constraints in the interface definition to the connection between the pins of the part in the schematic design to the ends in the instance of the interface definition. When the interface definition includes terminals for connection, the part mapping unit 314 can also assign the terminals in the interface definition to the connection between the pins of the part in the schematic design to the ends in the instance of the interface definition.
[0027] In some embodiments, the part connection unit 312 may select the type of communication interface to be used between parts placed in the schematic design by placing an instance of the interface definition into the schematic design and associating the instance with the placed parts to be connected. In response to the placement of the interface definition and the association with the placed parts, the part connection unit 312 may identify a mapping corresponding to the instance of the interface definition and the placed parts, and automatically generate a connection between the parts and the interface definition in the schematic design.
[0028] When the part mapping unit 314 does not include a mapping, the part connection unit 312 may place an instance of the identified interface definition in the schematic design, access the performance of the part, and compare the performance of the part with the interface definition to generate a mapping between the part and the interface definition. For example, the part mapping unit 314 may identify the names or performances (such as power, ground, reset, data, etc.) of the pins in the part from the part library 301 and compare them with the signal line names in the interface definition. The part mapping unit 314 may also connect the pins in the part to the ends in the interface definition in response to user input received by the computing system. In some embodiments, the part mapping unit 314 may use the connection between the part and the interface definition to generate a new mapping between the part and the interface definition, and the part mapping unit 314 may add the new mapping to the mapping between the stored interface definition and the part from the part library 301. By generating a new mapping based on the connection generated between the interface definition and the part, the part connection unit 312 may use the new mapping to automatically generate connections between the interface definition and the part in different schematic designs.
[0029] Design system 300 may include printed circuit board layout tool 320 to receive a schematic design of a printed circuit board assembly, such as netlist 302 and parts list 303, from schematic capture tool 310 and convert the schematic design into a layout design 304 of the printed circuit board assembly. Printed circuit board layout tool 320 may provide a design environment for laying out netlist 302 into layout design 304 by placing parts or components from parts list 303 onto a representation of a printed circuit board. Layout design 304 may describe an electronic device for a product in terms of various components placed and interconnected on a representation of a printed circuit board.
[0030] The printed circuit board layout tool 320 may output a display presentation that, when displayed by a display device, may provide a user interface to the design environment, thereby allowing the printed circuit board layout tool 320 to generate a layout design 321 in response to user input. The display presentation may include a graphical display window including at least one representation of the layout design 321 and may include various tools or embedded functions that may allow parts or components from the parts list 303 to be placed into the layout design 321.
[0031] Layout design 321 may initially represent a blank printed circuit board, for example, a blank printed circuit board having dimensions corresponding to one or more physical constraints. PCB layout tool 320 may receive user input, for example, based on a display representation that may prompt PCB layout tool 320 to perform various updates to layout design 321 based on netlist 302, such as placing parts selected from parts list 303 in layout design 321, routing tracks between placed parts, etc.
[0032] Figure 5 An example flow chart for automatically modifying a schematic design of a printed circuit board assembly to connect parts according to various embodiments is shown. Figure 5 In block 501, a computing system implementing a schematic capture tool may place a part from a part library into a schematic design of a printed circuit board assembly. In some embodiments, the computing system implementing the schematic capture tool may output a display representation that, when displayed by a display device, may provide a user interface to a design environment, thereby allowing the computing system implementing the schematic capture tool to place a part from a part library into the schematic design in response to user input.
[0033] In block 502, a computing system implementing a schematic capture tool may select a type of communication interface to connect the placed parts. In some embodiments, the computing system implementing the schematic capture tool may use a display presentation and an associated user interface forming a design environment to receive user input corresponding to the type of communication interface selected. When the connection between the parts corresponds to an industry standard, such as Peripheral Component Interconnect (PCI) Express, Universal Serial Bus (USB), etc., the computing system implementing the schematic capture tool may select a communication interface corresponding to the industry standard. In some embodiments, the computing system implementing the schematic capture tool may select the type of communication interface to be used between the parts placed in the schematic design by placing an instance of the interface definition into the schematic design and associating the instance with the placed parts to be connected.
[0034] In block 503, the computing system implementing the schematic capture tool may identify an interface definition associated with the type of communication interface selected. The computing system implementing the schematic capture tool may access a repository of interface definitions and use the type of communication interface selected to identify at least one interface definition in the repository associated with the type of communication interface selected. For example, when the computing system implementing the schematic capture tool selects a PCI Express interface to connect two parts in a schematic design, the computing system implementing the schematic capture tool may identify an interface definition in the repository associated with the PCI Express interface.
[0035] In block 504, a computing system implementing a schematic capture tool may identify a mapping between the placed part and the interface definition. The computing system implementing the schematic capture tool may store multiple mappings between the interface definition and the parts from the parts library. In some embodiments, the computing system implementing the schematic capture tool may determine which mapping, if any, corresponds to the identified interface definition, and then determine which of the determined mappings corresponds to the part to be connected. Conversely, the computing system implementing the schematic capture tool may determine which mapping, if any, corresponds to the part to be connected, and then identify which of the determined mappings corresponds to the identified interface definition.
[0036] When the computing system implementing the schematic capture tool cannot identify the mapping, the computing system implementing the schematic capture tool can generate a mapping between the part and the interface definition. For example, the computing system implementing the schematic capture tool can identify the names or properties of the pins in the part from the parts library (such as power, ground, reset, data, etc.) and compare them to the signal line names or ends in the interface definition. Based on the commonality of the pin names or properties and the signal lines in the interface definition, the computing system implementing the schematic capture tool can automatically connect the pins in the part to the ends in the interface definition. The computing system implementing the schematic capture tool can use the automatically generated connections to generate a mapping between the part and the interface definition.
[0037] In box 505, the computing system implementing the schematic capture tool may place an instance of the interface definition in the schematic design, and in box 506, the computing system implementing the schematic capture tool may insert a connection between the instance of the interface definition and the placed part in the schematic design. The computing system implementing the schematic capture tool may automatically connect the pins of the part to the ends in the instance of the interface definition based on the mapping. When the interface definition includes constraints for connection, the computing system implementing the schematic capture tool may assign the constraints in the interface definition to the connection between the pins of the part in the schematic design to the ends in the instance of the interface definition. When the interface definition includes terminals for connection, the computing system implementing the schematic capture tool may assign the terminals in the interface definition to the connection between the pins of the part in the schematic design to the ends in the instance of the interface definition.
[0038] The systems and devices described above may use a dedicated processor system, a microcontroller, a programmable logic device, a microprocessor, or any combination thereof to perform some or all of the operations described herein. Some of the operations described above may be implemented as software, while other operations may be implemented as hardware. Any of the operations, processes, and / or methods described herein may be performed by devices, apparatuses, and / or systems substantially similar to those described herein and with reference to the drawings shown.
[0039] The processing device may execute instructions or "code" stored in a computer-readable storage device. The storage device may also store data. The processing device may include, but is not limited to, an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, etc. The processing device may be part of an integrated control system or system manager, or may be provided as a portable electronic device that is configured to interface with a networked system locally or remotely via wireless transmission.
[0040] The processor memory may be integrated with the processing device, such as RAM or flash memory provided in an integrated circuit microprocessor, etc. In other examples, the storage device may include an independent device, such as an external disk drive, a storage array, a portable flash key card, etc. The memory and the processing device may be operably coupled together or communicate with each other, such as through an I / O port, a network connection, etc., and the processing device may read files stored in the memory. The associated storage device may be designed as "read-only" (ROM) through permission settings, or may not be designed as "read-only". Other examples of memory devices may include, but are not limited to, WORM, EPROM, EEPROM, FLASH, NVRAM, OTP, etc., which may be implemented in solid-state semiconductor devices. Other memory devices may include moving parts, such as known rotating disk drives. All such memory devices may be "machine-readable" and can be read by the processing device.
[0041] The operating instructions or commands may be implemented or embodied in a tangible form of stored computer software (also referred to as a "computer program" or "code"). The program or code may be stored in a digital memory device and may be read by a processing device. "Computer-readable storage media" (or alternatively, "machine-readable storage media") may include all of the above-mentioned types of computer-readable storage devices as well as new technologies in the future, as long as the memory device may be able to store digital information at least temporarily with the performance of a computer program or other data, and as long as the stored information may be "read" by an appropriate processing device. The term "computer-readable" may not be limited to the historical usage of "computers" to mean complete mainframes, minicomputers, desktop computers, or even laptop computers. Instead, "computer-readable" may include storage media that can be readable by a processor, a processing device, or any computing system. Such media may be any available media that can be accessed locally and / or remotely by a computer or processor, and may include volatile and non-volatile media, removable and non-removable media, or any combination thereof.
[0042] A program stored in a computer-readable storage medium may include a computer program product. For example, a storage medium may be used as a convenient means for storing or transmitting a computer program. For convenience, operations may be described as various interconnected or coupled functional blocks or diagrams. However, there may be situations where these functional blocks or diagrams may be equivalently aggregated into a single logical device, program, or operation with unclear boundaries.
[0043] in conclusion
[0044] Although the present application describes specific examples of embodiments implementing the present invention, it will be appreciated by those skilled in the art that there are many variations and permutations of the systems and techniques described above that fall within the spirit and scope of the present invention as set forth in the appended claims. For example, although specific terms have been employed above to refer to computing processes, it should be appreciated that any desired combination of computing processes may be used to implement the various examples of the present invention.
[0045] Those skilled in the art will also recognize that the concepts taught herein can be adapted to specific applications in many other ways. In particular, those skilled in the art will recognize that the illustrated examples are only one of many alternative implementations that will become apparent upon reading this disclosure.
[0046] Although the specification may refer to "one", "another", or "some" examples in multiple places, this does not necessarily mean that each such reference refers to the same example or examples or that the feature applies to only a single example.
Claims
1. A method comprising: selecting, by a computing system, a type of communication interface for connecting components in a schematic design of a printed circuit board assembly, wherein the connection between the components corresponds to an industry standard and the type of communication interface is selected to correspond to the industry standard; identifying, by the computing system, an interface definition corresponding to the selected type of communication interface, wherein the interface definition includes signal lines corresponding to connections of the selected type of communication interface; Locating, by the computing system, a mapping describing a connection between the part and a selected type of communication interface, wherein the mapping is configured to identify which pins of the part are coupled to the signal lines defined by the interface, wherein the locating comprises traversing a plurality of mappings stored by the computing system to identify a mapping associated with at least one of the part and the selected type of communication interface, and further comprising, when no mapping associated with at least one of the part and the selected type of communication interface exists, accessing performance of the part in a parts library, comparing the performance of the part with the selected type of communication interface, and generating the mapping based on commonalities between the performance of the part and the selected type of communication interface; and The computing system automatically modifies the schematic design based on the mapping to connect the part in the schematic design to a communication interface of a selected type, and also includes: placing an instance of the interface definition in the schematic design coupled to the part based on the mapping.
2. The method of claim 1 further comprising automatically modifying, by the computing system, the schematic design to add constraints to the connections between the parts, wherein The constraints describe the electrical or physical properties of the connections between the parts.
3. The method of claim 1 further comprising automatically modifying, by the computing system, the schematic design to add terminals to the connections between the parts, wherein The terminals include discrete electrical components added to the connections between the parts.
4. An apparatus comprising at least one memory device storing instructions, the instructions being configured to cause one or more processing devices to perform operations comprising: selecting a type of communication interface for connecting parts in a schematic design of a printed circuit board assembly, wherein the connection between the parts corresponds to an industry standard, and the type of the communication interface is selected to correspond to the industry standard; identifying, by the computing system, an interface definition corresponding to the selected type of communication interface, wherein the interface definition includes signal lines corresponding to connections of the selected type of communication interface; Locating a mapping that describes a connection between the part and a selected type of communication interface, wherein the mapping is configured to identify which pins of the part are coupled to the signal lines defined by the interface, wherein the locating includes traversing a plurality of mappings stored by the computing system to identify a mapping associated with at least one of the part and the selected type of communication interface, and further includes, when there is no mapping associated with at least one of the part and the selected type of communication interface, accessing performance of the part in a parts library, comparing the performance of the part to the selected type of communication interface, and generating the mapping based on commonalities between the performance of the part and the selected type of communication interface; and Based on the mapping, the schematic design is automatically modified to connect the part in the schematic design with a communication interface of the selected type, and also includes: based on the mapping, placing an instance of the interface definition in the schematic design coupled to the part.
5. The device according to claim 4, characterized in that The instructions are also configured to cause the one or more processing devices to perform operations including automatically modifying, by the computing system, the schematic design to add constraints to the connections between the parts, wherein the constraints describe electrical or physical properties of the connections between the parts.
6. The device according to claim 4, characterized in that The instructions are also configured to cause the one or more processing devices to perform operations including automatically modifying, by the computing system, the schematic design to add terminals to the connections between the parts, wherein the terminals include discrete electrical components added to the connections between the parts.
7. A system comprising: a memory device configured to store machine-readable instructions; as well as A computing system comprising one or more processing devices, wherein in response to executing the machine-readable instructions, the one or more processing devices are configured to: selecting a type of communication interface for connecting parts in a schematic design of a printed circuit board assembly, wherein the connection between the parts corresponds to an industry standard, and the type of the communication interface is selected to correspond to the industry standard; identifying an interface definition corresponding to the selected type of communication interface, wherein the interface definition includes signal lines corresponding to connections of the selected type of communication interface; Locating a mapping that describes a connection between the part and a selected type of communication interface, wherein the mapping is configured to identify which pins of the part are coupled to the signal lines defined by the interface, wherein the locating includes traversing a plurality of mappings stored by the computing system to identify a mapping associated with at least one of the part and the selected type of communication interface, and further includes, when there is no mapping associated with at least one of the part and the selected type of communication interface, accessing performance of the part in a parts library, comparing the performance of the part to the selected type of communication interface, and generating the mapping based on commonalities between the performance of the part and the selected type of communication interface; and Based on the mapping, the schematic design is automatically modified to connect the part in the schematic design with a communication interface of the selected type, and also includes: based on the mapping, placing an instance of the interface definition in the schematic design coupled to the part.
8. The system according to claim 7, characterized in that In response to executing the machine-readable instructions, the one or more processing devices are configured to: automatically modify the schematic design to add constraints to the connections between the parts, wherein the constraints describe electrical or physical properties of the connections between the parts.
9. The system according to claim 7, characterized in that In response to executing the machine-readable instructions, the one or more processing devices are configured to automatically modify the schematic design to add terminals to the connections between the parts, wherein the terminals include discrete electrical components added to the connections between the parts.
Citation Information
Patent Citations
Logic circuit synthesis device
US20080250379A1
Integrated electronic design automation system
US20130326457A1