This disclosure relates to a design interface. More particularly, this disclosure relates to a design interface that provides a side-by-side interactive circuit design panel.
Electrical simulators allow a user to conduct an electrical simulation of a pre-existing electrical schematic (or circuit). The user can observe the performance of the circuit under simulated operating conditions. The user can change simulation related parameters using a pre-defined reference circuit.
To design a circuit solution, operational parameters including an input voltage, an output voltage and an output current can be pre-defined. In addition to these operational parameters, additional design priorities such as power efficiency, component and printed circuit board footprint size and overall component cost are considerations when designing a circuit solution. Due to the numerous available circuit components (e.g., integrated circuit (IC) chips and passive circuit components) and other constraints, creating and optimizing a circuit solution may be a long and tedious process.
One example relates to a non-transitory machine readable medium that stores machine readable instructions. The machine readable instruction can include a design interface. The design interface can provide an interactive circuit design panel for a given circuit solution operating at a set of specifications. The design interface can switch to a side-by-side design panel in response to selection of at least one compatible circuit solution selected from a list of compatible circuit solutions. The side-by-side design panel can concurrently characterize the given circuit solution operating at the set of specifications and the at least one compatible circuit solution operating at the set of specifications.
Another example relates to a server that includes a non-transitory machine readable memory and one or more processors that access the memory and execute the machine readable instructions. The machine readable instructions can include a design interface that provides an interactive circuit design panel for a given circuit solution operating at a set of specifications. The machine readable instructions can also include a solution engine that provides a list of circuit solutions that are compatible with the given circuit solution. The machine readable instructions can further include a circuit simulator that provides at least one compatible circuit solution selected from the list of circuit solutions that are compatible with the given circuit solution in response to user input at the interactive circuit design panel. The design interface can switch to a side-by-side design panel in response receipt of the at least one compatible circuit solution from the circuit simulator. The side-by-side design panel can characterize the given circuit solution operating at the set of specifications and the at least one compatible circuit solution operating at the set of specifications.
Yet another example relates to a method that can include providing an interactive circuit design panel for a given circuit solution characterizing a circuit implementing a given integrated circuit (IC) chip at a set of specifications. The method can also include selecting a compatible circuit solution from a list of circuit solutions compatible with the given circuit solution. The method can further include switching from the interactive circuit design panel to a side-by-side interactive circuit design panel for the given circuit solution operating at the set of specifications and the compatible circuit solution operating at the set of specifications.
Some manufactures of integrated circuit (IC) chips provide compare tools that are focused around the characteristics or features of each IC chip. These compare tools are similar to a parametric search to allow a compare between one IC chip and another IC chip. These compare tools do not take into account the final design solution based on user controlled specifications and/or operating environment. Moreover, these compare tools fail to provide a full picture of a whole circuit solution set.
This disclosure relates to a design interface that provides a side-by-side interactive circuit design panel that allows for comparison of a given circuit solution with another solution in a side-by-side view. The side-by-side interactive circuit design panel allows a user to observe how the given and the other circuit solutions operates under different specifications, including operational parameters (voltage, current) or the operating environment (ambient operating temperature).
The side-by-side interactive circuit design panel can assist a user in selecting a most effective circuit solution for a particular application rather than focusing only on characteristics and features of individual IC chips while trying to compare the IC chips without the complete design circuit around each IC chip. For example, a controller IC chip can have a lower cost and handle higher current when compare with an integrated IC chip switcher, but the circuit solution implementing the controller IC chip may be more complex to build and the final design may be more costly when compared to the circuit solution implementing the IC chip switch.
The side-by-side interactive circuit design panel allows the user to view the final design circuitry including viewing a bill of materials (BOM), a design schematic, operating values, and allows the user to compare the current solution with other compatible solutions that can be configured to operate under the same set of specifications.
The client computer 54 can be, for example, a personal computer (e.g., a desktop or laptop computer), a handheld computing device (e.g., a smartphone or tablet), etc. The client computer 54 can include a memory (e.g., a machine readable medium) for storing machine readable instructions. The client computer 54 can also include a processing unit 62 (e.g., one or more processor cores) for accessing the memory and executing the machine readable instructions. The client computer 54 can include a client 58 executing thereon. In some examples, the client 58 can be representative of a web browser and/or a plugin operating on the web browser. In other examples, the client 58 can be a stand-alone application.
The workbench server 52 can be implemented on a distributed computing system (e.g., a cloud server) or on a stand-alone computing device. The workbench server 52 can include a non-transitory machine readable memory 60 and a processing unit 62 (e.g., one or more processor cores) for accessing the memory 60 and executing machine readable instructions. In situations where the workbench server 52 is implemented in a distributed computing system, the hardware of the workbench server 52 can be representative of resources allocated across the distributed computing system (e.g., virtual computing resources). Moreover, in some situations, the features of the workbench server 52 can be implemented on multiple servers.
The client 58 can communicate with the workbench server 52 via the network 56. In particular, the client 58 can communicate with a design interface 64 (e.g., a web interface engine) stored in the memory 60 of the workbench server 52. The design interface 64, along with the client 58 provides a graphical user interface (GUI) that allows a user of the client computer 54 to select a circuit component, which can be referred to as a selected circuit component. The selected circuit component could be, for example, an integrated circuit (IC) chip, a transistor, a light emitting diode (LED), or nearly any other discrete circuit component.
Upon choosing the selected circuit component, in response to user input at the client 58, the design interface 64 can actuate a solution engine 68 of the workbench server 52. The solution engine 68 can search a database (e.g., a circuit component database) for circuit components that are compatible with the selected component. Additionally, a circuit simulator 70 can calculate an initial circuit solution based on the selected circuit component, the list of compatible circuit compatible circuit components and a set of initial specifications (e.g., operational parameters and design priorities). The design interface 64 can output (via the client 58) an interactive circuit design panel of the initial circuit solution. As used herein, the term “circuit solution” characterizes information sufficient for implementing (fabricating) an electrical circuit that actuates a specific component (e.g., an IC chip). A circuit solution can include, but is not limited to a circuit schematic, a bill of materials (BOM), operational values, a footprint size, a BOM cost, a power efficiency, etc.
As used herein, the term “interactive circuit design panel” refers to a GUI, such as a web page, an applet or a stand-alone application that provides multiple viewing options for different views of a circuit solution as well as tools for modifying specifications of the circuit solution. These views may include, but are not limited to, a circuit schematic view, a performance graph view, a BOM view, operational values view a printed circuit board (PCB) layout view, etc. Additionally, as noted the interactive circuit design panel provides options for modifying the specifications of the circuit solution. More particularly, the modification options can provide features to allow modifications to operational parameters of the initial circuit solution. For example, the interactive circuit design panel can provide user controls (e.g., fields, dialog boxes, radio buttons, etc.) that allows for control of an input voltage (Vin), an output voltage (Vout), an output current (Iout), one or more cutoff frequencies, and/or an ambient operating temperature (which can alternatively be referred to as an operating environment parameter). Additionally or alternatively, the interactive circuit design panel can include user controls that allows for design modifications based on user selected design priorities. Such design priorities could be for example, a BOM cost, a footprint size of the circuit solution, a power efficiency of the circuit solution, etc. The interactive circuit design panel can also provide a comparison option that allows for a search of comparable circuit solutions that employ a different circuit component than the selected circuit component. In particular, the compare option (when actuated) causes the design interface 64 to query the solution engine 68 for a list of compatible circuit solutions.
In some examples, based on the user interaction with the controls of the interactive circuit design solution, the design interface 64 can extract the operational parameters and the design priorities. The design interface 64 can provide the initial circuit solution, the operational parameters and the design priorities to the circuit simulator 70 of the workbench server 52 that generate a modified circuit solution.
To generate the modified circuit solution, the circuit simulator 70 can access a component database to retrieve operational specifications of circuit components (e.g., passive circuit components) that achieve the operational parameters based on the design priorities that are provided by the design interface 64. The circuit simulator 70 can employ a rule-based or machine learning based algorithm to design the modified circuit solution. The circuit simulator 70 can return the modified circuit solution to the design interface 64. The design interface 64 can output an interactive circuit design panel of the modified circuit solution.
As noted, the interactive circuit design panel includes a compare option. Upon actuation of the compare option in the updated circuit solution, the compare option can cause the design interface 64 to interact with the solution engine 68 (and/or the circuit simulator 70) to provide K number of compatible circuit solutions, where K is an integer greater than or equal to one. Upon selection of a compatible circuit solution (or multiple compatible circuit solutions), the design interface 64 provides a side-by-side interactive circuit design panel for the updated circuit solution and the compatible circuit solution (or multiple compatible circuit solutions). The side-by-side interactive circuit design panel concurrently depicts the updated circuit solution and the compatible circuit solution.
In the side-by-side interactive circuit design panel, the same options for view and modification can be provided. However, upon selection a modification to an operational parameter and/or a design priority, the design interface 64 interacts with the circuit simulator 70 to apply selected operational parameters and/or design priorities to each circuit solution in the side-by-side interactive circuit design panel. In this manner, changes made in the side-by-side interactive circuit design panel appear in near real-time to a user of the client computer 54 (e.g., within 20 seconds).
By employment of the workbench server 52 a user of the client computer 54 can efficiently evaluate and adjust a circuit solution (circuit design) to arrive a circuit solution that is tailored to the specific needs of the environment in which the circuit solution is to operate. In particular, constraints (e.g., cost, power use, thermal tolerance, etc.) are often unique to each environment of application and small changes to the operational parameters and/or the design priorities of each circuit can have a significant effect on the circuit solution. Thus, in many such situations, through employment of the workbench server 52, a circuit component (e.g., a particular IC chip) that was originally believed by the user to be a “best choice” for a particular application may be revealed to a less effective circuit solution than another circuit solution (using another IC chip) revealed through employment of the side-by-side interactive circuit design panel.
The workbench server 100 can be an application server. Accordingly, software components illustrated as executing on the workbench server 100 can execute on other servers. Moreover, the workbench server 100 could be implemented, for example in a computing cloud. In such a situation, features of the workbench server 100 such as the processing unit 104, the network interface 106, and the memory 102 could be representative of a single instance of hardware or multiple instances of hardware with applications executing across the multiple of instances (i.e., distributed) of hardware (e.g., computers, routers, memory, processors, or a combination thereof). Alternatively, the workbench server 100 could be implemented on a single dedicated computing device.
The workbench server 100 can communicate with a client 110 via the network 108. The client 110 can operate on a client computing device. The client 110 can be, for example, a web browser, a stand-alone application, a browser applet or plugin, etc. The client 110 can access a user interface 112 stored in the memory 102.
Operations of the workbench server 100 can be better understood with an extended example, hereinafter referred to as “the given example”. The user interface 112 can generate a GUI that is output at the client 110. The GUI can include, for example, a search engine that allows a user to search for a circuit component. In the given example, the circuit component is an IC chip, which IC chip can be referred to as a selected IC chip. In other examples, other circuit components (e.g., transistors, LEDs, or nearly any discrete circuit component) can be selected.
In the given example, in response to actuation of the button 152, a design interface 114 (which can be a component of the user interface 114) can provide data characterizing the selected IC chip to a solution engine 116 of the memory 102. In response, the solution engine 116 can retrieve a circuit solution from an IC chip database 117 (or other circuit component database) for the selected IC chip. The solution engine 116 can analyze (e.g., screen and/or review) specific circuit components compatible with the retrieved circuit solution to generate a list of compatible parts. For instance, as noted, in the given example, the selected IC chip is a step-down voltage regulator. In such a situation, the retrieved circuit solution can include a diode coupled to the selected IC chip. The solution engine 116 can identify a list of diodes (e.g., a specific model numbers) that are employable in the circuit solution.
The solution engine 116 can provide the circuit solution and the list of compatible components to a circuit simulator 118 stored in the memory 102. The circuit simulator 118 can apply rules and/or machine learning techniques to synthesize a model of the circuit solution for the design interface 114. In particular, the circuit simulator 118 can retrieve operational parameters for each component in the list of compatible components from a passive component database 120 (or other data structure) to generate a model of the circuit solution. The model of the circuit solution includes information sufficient to simulate operation of the circuit solution at a specific set of parameters and design priorities. The model of the circuit solution can be provided to the design interface 114.
The design interface 114 can provide an interactive circuit design panel for the model of the circuit solution for the selected IC with an initial set of parameters and design priorities, which can be referred to as an initial circuit solution.
In the example illustrated in
The interactive circuit design panel 170 provided by the design interface 114 includes mechanisms for modifying specifications of the circuit solution. In particular, the interactive circuit design panel includes fields 182 (or other user-interactive features) for user input that can change operational parameters of the circuit solution. As illustrated, in the given example, the fields 182 include an input voltage Vin an output voltage Vout, an output current Iout and an ambient operational temperature. By editing the values in the fields 182, a user of the client 110 can adjust the operational parameters of the circuit solution to fit a particular environment of application.
Additionally, the interactive circuit design panel provided by the design interface 114 includes priority controls 184 for setting weights of design priorities of the circuit solution. In the present example, a virtual knob is illustrated, but in other example, other user-interactive features (e.g., radio buttons, sliding scales, etc.) could alternatively or additionally be employed. The design priorities can include a footprint size, a BOM cost and/or a power efficiency. In the given example illustrated in the interactive circuit design panel 170, each of the footprint size, the BOM cost and the power efficiency are given equal priority.
The interactive circuit design panel 170 provided by the design interface 114 also includes a compare view button 186. When actuated, the compare view button 186 provides a list of compatible circuit solutions that employs a different IC chip (or other discrete circuit component) than the selected IC chip.
Furthermore, the list of options in the interactive circuit design panel 170 is not meant to be exhaustive. In other examples, more or less options can be presented. Furthermore, in some examples, an auxiliary button 190 can be included to provide a window for further operations, including but not limited to electrical and/or thermal simulation, re-compensation, design optimization, report generation, etc.
In the given example, it is presumed that the output current, Iout needs to be 2.0 amperes (A). Additionally, it is presumed that the lowest BOM cost should be given the highest priority. Thus, a user of the interactive circuit design panel 170 can change the value of the output current, Iout to 2.0 A and adjust the priority controls 184 to set the BOM cost to a highest design priority. In some examples, upon manipulation of the fields 182 and the priority controls 184, an update button 188 (a virtual button) can be actuated in response to user input.
Referring back to
The solution engine 116 can provide the circuit solution for the updated operational characteristics and the list of compatible components to the circuit simulator 118. The circuit simulator 118 can apply rules and/or machine learning techniques to synthesize an updated model of the circuit solution for the design interface 114. In particular, the circuit simulator 118 can retrieve operational parameters for each component in the list of compatible components from the passive component database 120 to generate a model of the circuit solution. The model of the circuit solution includes information sufficient to simulate operation of the circuit solution at the set of operational parameters and design priorities set in the interactive circuit design panel. The model of the circuit solution can be provided to the design interface 114. The design interface 114 can provide an updated (modified) interactive circuit design panel to the client 110.
In some examples, the passive component database 120 is a dynamic database. In such a situation, the passive component database 120 may be updated frequently (e.g., on a per hour basis) via a plurality of different web services. Such updates can include changes to pricing and/or availability of particular passive components. Based on these updates to the passive component database 120, the model of the circuit solution generated by the circuit simulator 118 would change over time in a corresponding manner. For instance, in a situation where cost is set to a highest priority, a change in the price to one or more passive circuit components may affect the total BOM cost for the circuit solution generated by the circuit simulator 118. Accordingly, if the change in price is sufficiently large, the ranking of the particular model of the circuit solution may also change.
The compare view button 186 (when actuated) provides a list of circuit solutions that are compatible with the updated circuit solution. As used herein, the term “compatible circuit solution” denotes a circuit solution that can operate within the operational parameters defined in the fields 182 and operates with an IC chip other than the selected IC chip. To generate the list of compatible circuit solutions, the interactive circuit design panel provides the selected IC chip, along with the operational parameters and the design priorities to the solution engine 116. The solution engine 116 can retrieve each circuit solution from the IC chip database 117 that has operational parameters that overlaps the operational parameters for the updated circuit solution. The solution engine 116 can sort (e.g., rank) the list of compatible circuit solutions based on the operational parameters and the design priorities relative to the updated circuit solution. The solution engine 116 can return the list of compatible circuit solutions, which can be output by the design interface 114.
In the list of circuit solutions, each circuit solution can include data characterizing an IC chip employed by the circuit solution, a maximum output current Iout (or other operational parameter), a solution power efficiency, a footprint size, a BOM cost and a BOM count. In the given example, it is presumed that the user actuates only one compare button 222, to select a particular compatible circuit solution 224 for comparison (referred herein as “the compatible circuit solution”) but in other examples, more than one circuit solution can be selected for comparison.
Referring back to
In response, the design interface 114 can switch from the (single) interactive circuit design panel (demonstrated in
In the side-by-side interactive circuit design panel 300, the schematic view of the circuit solutions are shown. In particular, a circuit schematic for the updated circuit solution 302 and the compatible circuit solution and 304 are output at the client 110.
Additionally, in the schematic view (and every other view) of the side-by-side interactive circuit design panel 300, summary information 306 for the updated circuit solution and the compatible circuit solution can be provided. The summary information 306 provides data characterizing, for example, a footprint size, a BOM cost and a power efficiency of the updated circuit solution and the compatible circuit solution.
Upon actuation of the graphs view button 174, the design interface 114 can provide graphs of operational characteristics (e.g., power efficiency and/or duty cycle curves).
Upon actuation of the BOM view button 176, a BOM view of the updated circuit solution and the updated circuit solution can be provided by the design interface 114.
Upon actuation of the operational values button 178, the design interface 114 provides the operational values view for the updated circuit solution and the compatible circuit solution.
Upon actuation of the PCB view button 180, a PCB view of the updated circuit solution and the updated circuit solution can be provided by the design interface 114.
Upon reviewing some (or all) of the views in the side-by-side interactive circuit design panel (depicted at 300, 320, 340, 360 at 380 in
Referring back to
Furthermore, in the given example, the selected IC chip, namely part number LM22676 (a step-down voltage regulator) is evaluated in a circuit solution (the initial and updated circuit solution) and compared against a circuit solution employing part number TPS562200 (another step-down voltage regulator) with operational parameters and design priorities having been set to meet predetermined specifications. Upon reviewing the views of the circuit solutions in the side-by-side interactive circuit design panels 300, 320, 340, 360 and 380 (illustrated in
In view of the foregoing structural and functional features described above, example methods will be better appreciated with reference to
At 420, the interactive circuit design panel (in response to user input) can provide a list of circuit solutions compatible with the given circuit solution that can be generated and ranked by the solution engine. At 430, a compatible circuit solution can be selected from the list of compatible circuit solutions for comparison via the interactive circuit design panel in response to user input. At 440, the circuit simulator can generate a circuit model for the selected compatible circuit solution.
At 450, the design interface can provide (or switch to) a side-by-side design panel that (through user interaction) can provide multiple views of the given circuit solution and the compatible circuit solution concurrently. At 460, circuit specifications (e.g., operating parameters and/or design priorities) can be changed (adjusted) in response to user input at the side-by-side design panel. In response to the change in circuit specifications, at 470, the given circuit solutions and the compatible circuit solution can be updated. The method 400 can return to 450.
In view of the foregoing structural and functional description, those skilled in the art will appreciate that portions of the systems and method disclosed herein may be embodied as a method, data processing system, or computer program product such as a non-transitory computer readable medium. Accordingly, these portions of the approach disclosed herein may take the form of an entirely hardware embodiment, an entirely software embodiment (e.g., in a non-transitory machine readable medium), or an embodiment combining software and hardware. Furthermore, portions of the systems and method disclosed herein may be a computer program product on a computer-usable storage medium having computer readable program code on the medium. Any suitable computer-readable medium may be utilized including, but not limited to, static and dynamic storage devices, hard disks, solid-state storage devices, optical storage devices, and magnetic storage devices.
Certain embodiments have also been described herein with reference to block illustrations of methods, systems, and computer program products. It will be understood that blocks of the illustrations, and combinations of blocks in the illustrations, can be implemented by computer-executable instructions. These computer-executable instructions may be provided to one or more processors of a general purpose computer, special purpose computer, or other programmable data processing apparatus (or a combination of devices and circuits) to produce a machine, such that the instructions, which execute via the one or more processors, implement the functions specified in the block or blocks.
These computer-executable instructions may also be stored in computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture including instructions which implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
What have been described above are examples. It is, of course, not possible to describe every conceivable combination of structures, components, or methods, but one of ordinary skill in the art will recognize that many further combinations and permutations are possible. Accordingly, the invention is intended to embrace all such alterations, modifications, and variations that fall within the scope of this application, including the appended claims. Where the disclosure or claims recite “a,” “an,” “a first,” or “another” element, or the equivalent thereof, it should be interpreted to include one or more than one such element, neither requiring nor excluding two or more such elements. As used herein, the term “includes” means includes but not limited to, and the term “including” means including but not limited to. The term “based on” means based at least in part on.