The disclosure relates to a PCB design device and a controlling method thereof, and for example, to a PCB design device that places a plurality of circuit elements using rule information and a controlling method thereof.
A PCB refers to a thin plate on which various types of electrical components such as direct circuits, resistors, and switches are soldered. As various types of electronic devices are being developed and popularized, the number of electrical components mounted on PCBs in electronic devices is rapidly increasing and accordingly, the time required for PCB design is also increasing proportionally.
For example, a PCB design process involves arranging a plurality of circuit elements included in electronic circuit information (e.g., circuit diagram) on a PCB and determining wiring between the plurality of circuit elements.
The process of placing multiple circuit elements on a PCB requires manual labor by the designer, so the time required by the designer to place the circuit elements increases as the number of multiple circuit elements increases.
Therefore, there have been various demands on a method of efficiently placing a very large number of circuit elements on a PCB while minimizing/reducing the designer's manual effort and reducing the design time.
A PCB design device according to an example embodiment includes: a display, memory storing rule information applied to printed circuit board (PCB) design, at least one processor, comprising processing circuitry, individually and/or collectively, configured to: based on electronic circuit information of an electronic device, identify connection information between a plurality of circuit elements included in the electronic circuit information, obtain at least one group by classifying the plurality of circuit elements according to the identified connection information, identify one of the circuit elements included in the at least one group as a representative circuit element based on the rule information, based on a command being received, place the identified representative circuit element at a position corresponding to the command within a screen of the display, and control the display to place and display remaining circuit elements among the circuit elements, excluding the representative circuit element, to be adjacent with reference to the representative circuit element.
A method of controlling a Printed Circuit Board (PCB) design device including rule information applied to PCB design according to an example embodiment includes: based on electronic circuit information of an electronic device, identifying connection information between a plurality of circuit elements included in the electronic circuit information, obtaining at least one group by classifying the plurality of circuit elements according to the identified connection information, identifying one of the circuit elements included in the at least one group as a representative circuit element based on the rule information, based on a command being received, place the identified representative circuit element at a position corresponding to the command within a screen, and placing and displaying remaining circuit elements among the circuit elements, excluding the representative circuit element, to be adjacent with reference to the representative circuit element.
In a non-transitory computer-readable recording medium including a program that, when executed by at least one processor, comprising processing circuitry, individually, causes a PCT design device to execute a method of controlling the PCB design device including rule information applied to PCB design according to an example embodiment, the method of controlling the PCB design device including: based on electronic circuit information of an electronic device, identifying connection information between a plurality of circuit elements included in the electronic circuit information, obtaining at least one group by classifying the plurality of circuit elements according to the identified connection information, identifying one of the circuit elements included in the at least one group as a representative circuit element based on the rule information, based on a command being received, place the identified representative circuit element at a position corresponding to the command within a screen, and placing and displaying remaining circuit elements among the circuit elements, excluding the representative circuit element, to be adjacent with reference to the representative circuit element.
The above and other aspects, features and advantages of certain embodiments of the present disclosure will be more apparent from the following detailed description, taken in conjunction with the accompanying drawings, in which:
Hereinafter, the disclosure will be described in greater detail with reference to the accompanying drawings.
General terms that are currently widely used are selected as the terms used in the disclosure in consideration of their functions in the disclosure, but may be changed based on the intention of those skilled in the art or a judicial precedent, the emergence of a new technique, or the like. In addition, in a specific case, terms that are arbitrarily chosen may exist, in which case, the meanings of such terms will be described in detail in the corresponding descriptions in the disclosure. Therefore, the terms used in the disclosure are defined on the basis of the meanings of the terms and the overall contents throughout the disclosure rather than simple names of the terms.
In the disclosure, the expressions “have”, “may have”, “include” or “may include” indicate existence of corresponding features (e.g., components such as numeric values, functions, operations, or components), but do not exclude presence of additional features.
An expression, “at least one of A or/and B” should be understood as indicating any one of “A”, “B” and “both of A and B.”
Expressions “first”, “second”, “1st,” “2nd,” or the like, used in the disclosure may indicate various components regardless of sequence and/or importance of the components, will be used simply to distinguish one component from the other components, and do not limit the corresponding components.
When it is described that an element (e.g., a first element) is referred to as being “(operatively or communicatively) coupled with/to” or “connected to” another element (e.g., a second element), it should be understood that it may be directly coupled with/to or connected to the other element, or they may be coupled with/to or connected to each other through an intervening element (e.g., a third element).
Singular expressions include plural expressions unless the context clearly dictates otherwise. In this disclosure, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or a combination thereof described in the disclosure, but are not intended to exclude in advance the possibility of the presence or addition of one or more of other features, numbers, steps, operations, components, parts, or a combination thereof.
In various example embodiments, a “module” or a “unit” may perform at least one function or operation, and be implemented as hardware or software or be implemented as a combination of hardware and software. In addition, a plurality of “modules” or a plurality of “units” may be integrated into at least one module and be implemented as at least one processor (not shown) except for a ‘module’ or a ‘unit’ that needs to be implemented as specific hardware.
In this disclosure, the term ‘user’ may refer to a person using an electronic device or an apparatus using an electronic device (e.g., an artificial intelligence electronic device).
Hereinafter, various example embodiments of the present disclosure will be described in greater detail with reference to the accompanying drawings.
The electronic circuit information 1 includes a circuit diagram, which is an image that displays circuit design information in a particular view, and may also be referred to as schematic, electrical drawing, electronic drawing, product design information, circuit design information, and the like, but will be referred to herein as the electronic circuit information 1 for convenience of explanation.
According to an embodiment, the electronic circuit information 1 may represent each of a plurality of circuit elements for performing one function of an electronic device with a corresponding display symbol, and may represent a connection relationship between the plurality of circuit elements (or connection information between the plurality of circuit elements).
The electronic circuit information 1 may not indicate the actual location (or actual placement) of each of the plurality of circuit elements, and in order to indicate the actual location of each of the plurality of circuit elements, a location to place each of the plurality of circuit elements on the printed circuit board (PCB) must be determined based on the electronic circuit information 1.
The disclosure describes various example embodiments in which, in the process of designing a PCB based on electronic circuit information 1, a plurality of circuit elements included in the electronic circuit information 1 are automatically placed based on rule information, and as the plurality of circuit elements are automatically placed, the time required for designing the PCB is reduced.
A PCB may refer, for example, to a thin plate on which electrical elements such as direct circuits, resistors, or switches, are soldered. In order for a circuit to be implemented on a PCB, the PCB must have electrical elements mounted thereon, and the elements must be electrically connected.
The general PCB design process is briefly described as follows. When the electronic circuit information 1 of the electronic device is completed, a plurality of circuit elements to be placed on the PCB are determined according to the electronic circuit information 1, and the plurality of circuit elements are placed on the PCB. The wiring between the plurality of circuit elements is determined according to the PCB design process. The electrical connection between the mounted elements is made using a PCB pattern. The PCB pattern enables electrical connection between the plurality of circuit elements on the PCB. The process of connecting a plurality of circuit elements using a PCB pattern during PCB design is called routing.
In the prior art PCB design process, the process of placing a plurality of circuit elements on a PCB according to the electronic circuit information 1 takes a considerable amount of time in proportion to the increase in the number of the plurality of circuit elements.
For example, when the electronic circuit information 1 of an electronic device includes about 2000 circuit elements, the process of placing the plurality of circuit elements on a PCB requires a user (e.g., a PCB designer) to search for each of the plurality of circuit elements and place them on the PCB, and to rearrange specific elements (e.g., to place them on the top of the PCB or the bottom of the PCB, or to rotate the placement direction of the circuit elements), so the process of placing the plurality of circuit elements in the prior art PCB design process is a time-consuming process.
According to various example embodiments of the present disclosure, the process of placing a plurality of circuit elements is automated, thereby reducing the design time.
A PCB design device 100 according to an embodiment includes a display 110, memory 120, and a processor (e.g., including processing circuitry) 130.
The display 110 according to an embodiment may be implemented as various types of displays such as liquid crystal display (LCD), organic light-emitting diode (OLED), Liquid Crystal on Silicon (LCoS), Digital Light Processing (DLP), quantum dot (QD) display panel, quantum dot light-emitting diodes (QLED), Micro light-emitting diodes (μLED), Mini LED, etc.
The PCB design device 100 may be implemented as a touch screen combined with a touch sensor, a flexible display, a rollable display, a 3D display, a display in which a plurality of display modules are physically connected, etc.
The memory 120 according to an embodiment may store data required for various embodiments of the present disclosure. The memory 120 may be implemented in the form of memory embedded in the PCB design device 100, or it may be implemented in the form of memory removably attached to the PCB design device 100, depending on the purpose of storing the data. For example, data for driving the PCB design device 100 may be stored in the memory embedded in the PCB design device 100, and data for expanding the functionality of the PCB design device 100 may be stored in the memory removably attached to the PCB design device 100. The memory embedded in the PCB design device 100 may be implemented as at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (e.g: one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash, etc.), a hard drive, or a solid state drive (SSD). In addition, the memory removably attached to the PCB design device 100 may be implemented in the form of a memory card (e.g., compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (xD), multi-media card (MMC), etc.), external memory connectable to a USB port (e.g., USB memory), etc.
In an example, the memory 120 may store a computer program including at least one instruction or a set of instructions for controlling the PCB design device 100.
According to an embodiment, various data may be stored in external memory of the processor 130, or some of the data may be stored in internal memory of the processor 130 and others may be stored in external memory.
For example, the memory 120 may store rule information applied to the PCB design. A specific description of the rule information will be described later.
The one or more processors 130 according to an embodiment may include various processing circuitry and control the overall operations of the PCB design device 100. For example, the PCB design device 100 may be implemented as various forms of electronic devices capable of running a PCB artwork program, and the one or more processors 130 may control the overall operations of the electronic device.
The processor 130 according to an embodiment may be implemented as a digital signal processor (DSP) for processing digital signals, a microprocessor, or a Time Controller (TCON). However, the processor 130 is not limited thereto, and may include one or more of a central processing unit (CPU), a Micro Controller Unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a communication processor (CP), an advanced RISC machine (ARM) processor, and an Artificial Intelligence (AI) processor or may be defined by the corresponding term. Further, the processor 130 may be implemented in a system-on-chip (SoC) or a large scale integration (LSI) in which a processing algorithm is embedded, or may be implemented in the form of a field programmable gate array (FPGA). The processor 130 may perform various functions by executing computer executable instructions stored in the memory.
The one or more processors 130 may include one or more of a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a many integrated core (MIC), a digital signal processor (DSP), a neural processing unit (NPU), a hardware accelerator, or a machine learning accelerator. The one or more processors 130 may control one or any combination of the other components of the electronic device, and may perform communication-related operations or data processing. The one or more processors 130 may execute one or more programs or instructions stored in the memory. For example, the one or more processors 130 may perform a method according to an embodiment by executing one or more instructions stored in the memory. The processor(s) 130 may include various processing circuitry and/or multiple processors. For example, as used herein, including the claims, the term “processor” may include various processing circuitry, including at least one processor, wherein one or more of at least one processor, individually and/or collectively in a distributed manner, may be configured to perform various functions described herein. As used herein, when “a processor”, “at least one processor”, and “one or more processors” are described as being configured to perform numerous functions, these terms cover situations, for example and without limitation, in which one processor performs some of recited functions and another processor(s) performs other of recited functions, and also situations in which a single processor may perform all recited functions. Additionally, the at least one processor may include a combination of processors performing various of the recited/disclosed functions, e.g., in a distributed manner. At least one processor may execute program instructions to achieve or perform various functions.
When a method according to an embodiment includes a plurality of operations, the plurality of operations may be performed by one processor or by a plurality of processors. For example, when a first operation, a second operation, and a third operation are performed by the method according to one or more embodiments, all of the first operation, the second operation, and the third operation may be performed by the first processor, or the first operation and the second operation may be performed by the first processor (e.g., a general-purpose processor) and the third operation may be performed by the second processor (e.g., an artificial intelligence-dedicated processor).
The one or more processors 130 may be implemented as a single core processor comprising a single core, or as one or more multicore processors including a plurality of cores (e.g., homogeneous multicore or heterogeneous multicore). When the one or more processors are implemented as multicore processors, each of the plurality of cores included in a multicore processor may include a processor internal memory, such as a cache memory and an on-chip memory, and a common cache shared by the plurality of cores may be included in the multicore processor. Further, each of the plurality of cores (or some of the plurality of cores) included in the multi-core processor may independently read and perform program instructions to implement the method according to one or more embodiments, or all (or some) of the plurality of cores may be coupled to read and perform program instructions to implement the method according to one or more embodiments.
When a method according various embodiments includes a plurality of operations, the plurality of operations may be performed by one core of a plurality of cores included in a multi-core processor, or may be performed by a plurality of cores. For example, when a first operation, a second operation, and a third operation are performed by a method according to one or more embodiments, all of the first operation, the second operation, and the third operation may be performed by the first core included in the multi-core processor, or the first operation and the second operation may be performed by the first core included in the multi-core processor and the third operation may be performed by the second core included in the multi-core processor.
In the various embodiments of the present disclosure, the processor may refer, for example, to a system-on-chip (SoC) in which one or more processors and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or multi-core processor and here, the core may be implemented as CPU, GPU, APU, MIC, DSP, NPU, hardware accelerator, or machine learning accelerator, etc., but the core is not limited to the various embodiments of the present disclosure.
The one or more processors 130 according to an embodiment may load (or parse) the electronic circuit information 1 to identify each of the plurality of circuit elements included in the electronic circuit information 1, and may identify connection information between the plurality of circuit elements. For example, the one or more processors 130 may identify a net connection between the plurality of circuit elements based on the electronic circuit information 1, which will be described in detail with reference to
Referring to
In addition, the one or more processors 130 may control the display 110 to display on the screen connection information between the plurality of circuit elements included in the electronic circuit information 1.
As shown in
The one or more processors 130 according to an embodiment may classify the plurality of circuit elements into at least one group based on connection information between the plurality of circuit elements included in the electronic circuit information 1 as shown in
For example, when the plurality of circuit elements are depicted as being divided into a plurality of groups (or blocks) according to the convenience of the user who designed the electronic circuit information 1, the one or more processors 130 may may obtain a plurality of groups by classifying the plurality of circuit elements into groups as illustrated in the electronic circuit information 1.
For example, when the electronic circuit information 1 includes a plurality of circuit elements that are depicted as being divided into a first group and a second group, the one or more processors 130 may divide the plurality of circuit elements into the first group and the second group. The one or more processors 130 may identify one of the circuit elements included in each of the plurality of groups as a representative circuit element.
Referring to
In an example, the rule information may include information about a representative circuit element. For example, the rule information may include information about a representative circuit element, such as an integrated circuit (IC), a jack, a connector, a tuner, and the like.
The representative circuit element is not limited to the circuit element described above, and various types of circuit elements may be representative circuit elements depending on the designer's settings or the designer's choice.
Based on the rule information, the one or more processors 130 may identify at least one of an integrated circuit (IC), a jack, a connector, or a tuner of the plurality of circuit elements as the representative circuit element 10 based on the rule information.
When a command (e.g., a user command) is received, the one or more processors 130 may place the identified representative circuit element 10 at a position within the layout 2 corresponding to the user command.
Subsequently, the one or more processors 130 may display the remaining circuit elements 20-1, 20-2, 20-3 . . . , 20-n of the plurality of circuit elements, excluding the representative circuit element 10, adjacent to the representative circuit element 10 within the layout 2. A detailed description thereof will be provided with reference to
Referring to
The solid lines shown in
The one or more processors 130 according to an embodiment may sequentially place the remaining circuit elements 20-1, 20-2, . . . , 20-n adjacent to the representative circuit element 10 based on the rule information.
An example of a rule applied to PCB design based on rule information is described in greater detail below.
The one or more processors 130 may set a priority for the remaining circuit elements 20-1, 20-2, . . . , 20-n based on the rule information.
The one or more processors 130 may sequentially place the remaining circuit elements 20-1, 20-2, . . . , 20-n with reference to the representative circuit element 10 according to the set priority.
For example, based on the rule information, the one or more processors 130 may set the circuit elements corresponding to power-related elements or crystal elements among the remaining circuit elements 20-1, 20-2, . . . , 20-n as the highest priority based on rule information.
Accordingly, the one or more processors 130 may place the power-related elements or the crystal elements among the remaining circuit elements 20-1, 20-2, . . . , 20-n preferentially adjacent to the representative circuit element 10.
The one or more processors 130 may place the representative circuit element 10 and each of the remaining circuit elements 20-1, 20-2, . . . , 20-n such that they do not overlap with each other.
An example of a rule applied to PCB design based on rule information, is described in greater detail below.
The one or more processors 130 may identify at least one circuit element connected to a pin included in the representative circuit element 10 among the remaining circuit elements 20-1, 20-2, . . . , 20-n.
Once the representative circuit element 10 is placed, the one or more processors 130 may place the identified at least one circuit element preferentially adjacent to the representative circuit element 10.
Thus, the one or more processors 130 may place the circuit elements that are not connected to the pin included in the representative circuit element 10 among the remaining circuit elements 20-1, 20-2, . . . , 20-n at a relatively later time.
An example of a rule applied to PCB design based on rule information is described in greater detail below.
The one or more processors 130 may identify at least one circuit element connected to each of a plurality of pins included in the representative circuit element 10 among the remaining circuit elements 20-1, 20-2, . . . , 20-n.
Once the representative circuit element 10 is placed, the one or more processors 130 may sequentially place the identified at least one circuit element based on the pin number of each of the plurality of pins.
For example, referring to
An example of a rule applied to PCB design based on rule information is described in greater detail below.
The one or more processors 130 may identify a first circuit element and a second circuit element connected to the pin included in the representative circuit element 10 among the remaining circuit elements 20-1, 20-2, . . . , 20-n.
For example, when the first circuit element and the second circuit element connected to a first pin included in the representative circuit element 10 are identified, the one or more processors 130 may, based on depth information included in the electronic circuit information 1, preferentially place the first circuit element corresponding to a first depth with reference to the representative circuit element 10, and place the second circuit element corresponding to a second depth relatively later.
The depth information may refer to information for identifying a plurality of electronic circuit information when there are a plurality of electronic circuit information including the representative circuit element 10 described above. For example, first electronic circuit information including the representative circuit element 10 may include a first circuit element connected to a first pin included in the representative circuit element 10, and second electronic circuit information including the representative circuit element 10 may include a second circuit element connected to a second pin included in the representative circuit element 10. In this case, the one or more processors 130 may, based on the depth information, place the plurality of circuit elements included in the first electronic circuit information (e.g., including the first circuit element) adjacent to the representative circuit element 10, and subsequently place the plurality of circuit elements included in the second electronic circuit information (e.g., including the second circuit element) adjacent to the representative circuit element 10.
Referring to
For example, when the plurality of circuit elements are depicted as being divided into a plurality of groups (or blocks) according to the convenience of the user who designed the electronic circuit information 1, the one or more processors 130 may obtain a plurality of groups by classifying the plurality of circuit elements into groups as illustrated in the electronic circuit information 1.
For example, as shown in
The one or more processors 130 may identify a representative circuit element among the circuit elements included in the first group 1-1.
Once the representative circuit element is placed on the layout 2, the one or more processors 130 may sequentially place the remaining circuit elements among the circuit elements included in the first group 1-1 based on the rule information with reference to the representative circuit element.
The one or more processors 130 may identify a representative circuit element among the circuit elements included in the second group 1-2.
Once the representative circuit element is placed on the layout 2, the one or more processors 130 may sequentially place the remaining circuit elements among the circuit elements included in the second group 1-2 based on the rule information with reference to the representative circuit element.
Referring to
For example. a double-sided PCB may have circuit elements placed on the top side and simultaneously, have circuit elements placed on the bottom side.
Depending on the shape of the circuit elements (e.g., size, volume, etc.), there may be circuit elements that cannot be placed on the bottom side.
The one or more processors 130 according to an embodiment may provide a UI via the display 110 that allows selection of whether to place circuit elements only on the top side or on the top/bottom side (e.g., double side) when designing a PCB circuit.
When PCB circuit design that places circuit elements on the top/bottom side is selected via the UI, the one or more processors 130 may identify, based on the rule information, among the plurality of circuit elements, circuit elements that cannot be placed on the bottom side, and place the identified circuit elements on the top side.
For example, referring to
The one or more processors 130 may place the remaining circuit elements 20-1, 20-2, . . . , 20-n with reference to the representative circuit element 10. In particular, based on the rule information, the one or more processors 130 may place the remaining circuit elements 20-1, 20-2, . . . , 20-n such that circuit elements that cannot be placed on the bottom side (e.g., the relatively bulky circuit element 20-4) are placed on the top side, and circuit elements that can be placed on both the top and bottom sides (e.g., a relatively less bulky circuit element 20-5) are placed on either the bottom side or the top side.
Further, based on the rule information, the one or more processors 130 may place circuit elements that cannot be placed on the top side among the remaining circuit elements 20-1, 20-2, . . . , 20-n on the bottom side, and may place circuit elements that can be placed on both the top/bottom side on the bottom side or the top side.
Referring to
As shown in
Thus, when the representative circuit element 10 is a direct circuit in the form of BGA, the one or more processors 130 may provide a UI as shown in
Referring to the UI shown in
Each of the plurality of electronic circuit information may be electronic circuit information depicting a part of the electronic device (or a function of the electronic device), including a plurality of circuit elements connected to the representative circuit element 10, with the representative circuit element 10 being a BGA-type direct circuit.
As shown in
For example, the one or more processors 130 may provide pins connected to the plurality of circuit elements included in the electronic circuit information 1 selected from the plurality of pins included in the direct circuit in a different color (or pattern) from the remaining pins.
For example, as shown in
Referring to
Thus, when designing a PCB, if a plurality of circuit elements are placed adjacent to an area where a plurality of pins provided in the first pattern are present, the plurality of circuit elements included in the selected electronic circuit information 1 may be placed adjacent to the pin 30 connected to the plurality of circuit elements among the plurality of pins included in the direct circuit.
Further, in the UI shown in
Referring to
For example, the one or more processors 130 may provide pins connected to the plurality of circuit elements included in the electronic circuit information 1 selected from the plurality of pins included in the direct circuit in the form of BGA, in the first pattern (30 of
In addition, the one or more processors 130 may provide pins that are signal-connected to the plurality of circuit elements included in other electronic circuit information in addition to the electronic circuit information 1 selected from the plurality of pins included in the direct circuit in the form of BGA in a second pattern (40 of
The one or more processors 130 may provide pins connected to the power-related elements in a third pattern (50 of
Additionally, the one or more processors 130 may provide GND pins in a fourth pattern (60 of
In an example, when designing a PCB, it is possible to visually identify whether each of the plurality of pins included in the direct circuit in the form of BGA is connected to the plurality of circuit elements included in the selected electronic circuit information 1, connected to the plurality of circuit elements included in other electronic circuit information, or connected to the power-related elements or the GND pins, thereby increasing the convenience of the designer when designing the PCB.
Since the one or more processors 130 automatically place the remaining circuit elements 20-1, 20-2, . . . , 20-n when only the representative circuit element 10 is placed, even if the number of circuit elements increases, the circuit elements do not have to be placed manually, so there is an effect of reducing the PCB design time.
The one or more processors 130 may automatically place the remaining circuit elements 20-1, 20-2, . . . , 20-n based on the rule information, may automatically rotate some of the remaining circuit elements 20-1, 20-2, . . . , 20-n (e.g., by 90°), or may place some of the remaining circuit elements 20-1, 20-2, . . . , 20-n on the top side or the bottom side, which may increase the convenience of the designer when designing the PCB.
The one or more processors 130 may automatically place the plurality of circuit elements and then, when one of the plurality of circuit elements is selected, display a UI for rearranging the selected circuit element.
For example, after automatically placing the plurality of circuit elements, when the representative circuit element 10 is selected from the plurality of circuit elements, the one or more processors 130 may display a UI for rearranging the representative circuit element 10. Subsequently, once the representative circuit element 10 is rearranged, the one or more processors 130 may automatically place the remaining circuit elements 20-1, 20-2, . . . , 20-n based on the rule information with reference to the rearranged representative circuit element 10. However, this is merely an example, and when the representative circuit element 10 is rearranged, the one or more processors 130 may rearrange only the representative circuit element 10 and does not rearrange the remaining circuit elements 20-1, 20-2, . . . , 20-n.
After placing the remaining circuit elements 20-1, 20-2, . . . , 20-n based on the rule information with reference to the representative circuit element 10, the one or more processors 130 may provide a UI to enable specific and detailed placement of each of the plurality of circuit elements (e.g., artwork according to the designer's manual work).
The method of controlling a PCB design device including rule information applied to printed circuit board (PCB) design according to an embodiment identifies connection information between a plurality of circuit elements included in electronic circuit information based on the electronic circuit information of an electronic device (S910).
At least one group is obtained by classifying the plurality of circuit elements according to the identified connection information (S920).
One of the circuit elements included in the at least one group is identified as a representative circuit element based on the rule information (S930).
When a user command is received, the identified representative circuit element is placed at a position on the screen corresponding to the user command (S940).
The remaining circuit elements except the representative circuit element are displayed by placing them adjacent to the representative circuit element (S950).
According to an embodiment, the displaying step S950 may include identifying, among the remaining circuit elements, at least one circuit element connected to a pin included in the representative circuit element, and when the identified representative circuit element is placed, preferentially placing the identified at least one circuit element.
The displaying step S950 may include identifying at least one circuit element connected to each of a plurality of pins included in the representative circuit element, and sequentially placing the identified at least one circuit element based on the pin number of each of the plurality of pins.
According to an embodiment, the displaying step S950 may include, once a first circuit element and a second circuit element connected to pins included in the representative circuit element are identified among the remaining circuit elements, placing the first circuit element corresponding to a first depth in preference to the second circuit element corresponding to a second depth based on depth information included in the electronic circuit information with reference to the representative circuit element.
According to an embodiment, the step S930 of identifying a representative circuit element may include identifying, based on the rule information, at least one of an integrated circuit (IC), a jack, a connector, and a tuner among the circuit elements as a representative circuit element.
According to an embodiment, the step of displaying S950 may include, once the identified representative circuit element is placed, setting a priority for the remaining circuit elements based on the rule information, and sequentially placing the remaining circuit elements with reference to the representative circuit element based on the set priority.
The step of setting a priority may include setting a priority by setting a circuit element corresponding to a power-related element or a crystal element among the remaining circuit elements as the highest priority based on the rule information.
According to an embodiment, the displaying step S950 may include, when placement of circuit elements on the top and bottom of the PCB is possible according to the user setting, identifying at least one circuit element that can be placed on the bottom among the remaining circuit elements based on the rule information, and placing the identified at least one circuit element on the bottom.
The method according to an embodiment may further include, when the identified representative circuit element is in the form of ball grid array (BGA), identifying at least one pin connected to the remaining circuit elements among the plurality of pins included in the representative circuit element, and displaying the identified at least one pin differently from the remaining pins.
The method according to an embodiment may further include, when one circuit element of the remaining circuit elements is selected, displaying a user interface (UI) for rearranging the selected circuit element.
However, various embodiments of the present disclosure can be applied not only to a PCB design device but also to all types of electronic devices.
The above-described various embodiments may be implemented in a recording medium that can be read by a computer or a similar device using software, hardware, or a combination thereof. In some cases, embodiments described herein may be implemented by a processor itself. According to software implementation, embodiments such as procedures and functions described in this disclosure may be implemented as separate software. Each software may perform one or more functions and operations described in this disclosure.
Computer instructions for performing processing operations of the PCB design device according to the above-described various embodiments may be stored in a non-transitory computer-readable medium. When being executed by a processor of a specific device, the computer instructions stored in such a non-transitory computer-readable medium allows the specific device to perform processing operations in the electronic device according to the above-described
The non-transitory computer-readable medium refers to a medium that stores data. Examples of the non-transitory computer-readable medium may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.
While the disclosure has been illustrated and described with reference to various example embodiments, it will be understood that the various example embodiments are intended to be illustrative, not limiting. It will be further understood by those skilled in the art that various changes in form and detail may be made without departing from the true spirit and full scope of the disclosure, including the appended claims and their equivalents. It will also be understood that any of the embodiment(s) described herein may be used in conjunction with any other embodiment(s) described herein.
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0130062 | Oct 2022 | KR | national |
This application is a continuation of International Application No. PCT/KR2023/012726 designating the United States, filed on Aug. 28, 2023, in the Korean Intellectual Property Receiving Office and claiming priority to Korean Patent Application No. 10-2022-0130062, filed on Oct. 11, 2022, in the Korean Intellectual Property Office, the disclosures of each of which are incorporated by reference herein in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/KR2023/012726 | Aug 2023 | WO |
Child | 19017170 | US |