WO2021194089A1 - 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체 - Google Patents

회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체 Download PDF

Info

Publication number
WO2021194089A1
WO2021194089A1 PCT/KR2021/001822 KR2021001822W WO2021194089A1 WO 2021194089 A1 WO2021194089 A1 WO 2021194089A1 KR 2021001822 W KR2021001822 W KR 2021001822W WO 2021194089 A1 WO2021194089 A1 WO 2021194089A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
circuit block
output port
user interface
port
Prior art date
Application number
PCT/KR2021/001822
Other languages
English (en)
French (fr)
Inventor
고백석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2021194089A1 publication Critical patent/WO2021194089A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Definitions

  • the present disclosure relates to a method for changing a graphic user interface of a circuit block according to an internal circuit diagram or simulation result in an electronic design automation tool, and a computer readable storage medium in which a program including instructions for performing each step of the method is recorded. It's about
  • the design of an integrated circuit in an electronic design automation tool uses a schematic (Schematic) for visually indicating a sub-circuit (Sub-Circuit) and wiring.
  • circuit design designed by a user other than the above basic sub-circuits is displayed in the form of a circuit block in the form of a box.
  • the circuit block may be displayed in the form of a box connected to the plurality of input/output ports, but there is a problem in that it is difficult for the user to intuitively understand the relationship between the plurality of input/output ports.
  • GUI graphical user interface
  • a processor receives information of an input/output port of the circuit block and based on the information of the input/output port, the creating a graphical user interface of the circuit block; outputting, by a display, a graphical user interface of the circuit block; receiving, by the processor, an internal circuit design of the circuit block;
  • the memory stores the information of the net name of the wiring connected to the pins of the plurality of sub-circuits included in the circuit schematic and the input/output port connected to the pins of the plurality of sub-circuits.
  • the method may include at least one of generating a virtual line for indicating a relationship between the input/output ports of the circuit block.
  • the same network name as the preset name is present. It may include; moving or deforming the input/output port connected to the wiring having the name.
  • the preset name may include at least one of VDD, VSS, GND, PW, CLK, and CK.
  • the pins of the plurality of sub-circuits include a first pin and a second pin
  • the step of generating a virtual line for indicating a relationship between the input/output ports of the circuit block includes the first pin and the second pin. If the resistance value between the pins is less than or equal to a preset value, generating a virtual line connecting a first input/output port connected to the first pin and a second input/output port connected to the second pin among the input/output ports; including can do.
  • the pins of the plurality of sub-circuits include a first pin and a second pin
  • the generating of the line may include: when a net name of a wire connected to the first pin includes a first identifier, determining a first net name excluding the first identifier; determining a second net name excluding the second identifier when the net name of the wire connected to the second pin includes the second identifier; and when the first net name and the second net name are the same and the first identifier and the second identifier are different from each other, a first input/output port connected to the first pin and a first input/output port connected to the second pin among the input/output ports It may include; disposing the two input/output ports adjacent to each other.
  • the method of changing the graphical user interface of the circuit block may include: storing, by the memory, an entire image of the circuit schematic; receiving, by the processor, a selection of one of the input/output ports from the user; emphasizing, by the processor, an internal port corresponding to the input/output port selected by the user in the entire image of the circuit diagram in response to the user's selection; and outputting, by the display, an entire image of the circuit diagram.
  • the method of changing the graphic user interface of the circuit block may include: storing, by the memory, an enlarged image of an internal port corresponding to the input/output port in the circuit diagram at a preset magnification; and outputting, by the display, an enlarged image of an internal port corresponding to the input/output port selected by the user at a preset magnification in response to the user's selection.
  • a method of changing a graphic user interface of a circuit block includes, by a display, outputting a graphic user interface of the circuit block; receiving, by a processor, a simulation command from a user, and simulating, by the processor, a frequency response characteristic of the circuit block in response to the simulation command; storing, by a memory, a simulation result of the frequency response characteristic of the circuit block; changing, by the processor, a graphical user interface of the circuit block based on the simulation result; and outputting, by the display, a graphical user interface of the changed circuit block, wherein the changing of the graphical user interface of the circuit block includes a virtual line for indicating a relationship between input and output ports of the circuit block. It may include the step of generating
  • the input/output port of the circuit block includes a first input/output port and a second input/output port
  • the step of changing the graphic user interface of the circuit block based on the simulation result may include converting the first input/output port into an input port.
  • the simulation result obtained by setting and setting the second input/output port as an output port to obtain the frequency response characteristic if the magnitude of the frequency response at a frequency below the preset frequency is greater than or equal to the preset size, the first input/output port and the second It may include; generating a virtual line connecting the input and output ports.
  • the step of changing the graphic user interface of the circuit block based on the simulation result may include, among the input/output ports of the circuit block, a first input/output port and a second input/output port set as a differential pair in the simulation command to be adjacent to each other. disposing; may include.
  • the step of changing the graphical user interface of the circuit block based on the simulation result may include setting a first input/output port among the input/output ports of the circuit block as an input port and setting a second input/output port as an output port for frequency response
  • the simulation result of acquiring the characteristics if the magnitude of the frequency response at the preset frequency is greater than or equal to the preset size, generating a virtual line connecting the first input/output port and the second input/output port; may include .
  • the virtual line connecting the first input/output port and the second input/output port may represent a band pass filter (BPF).
  • BPF band pass filter
  • the step of changing the graphical user interface of the circuit block based on the simulation result is obtained by setting a first input/output port among the input/output ports of the circuit block as an input port and setting a second input/output port as an output port. If the simulation result is different from the simulation result obtained by setting the second input/output port as an input port and setting the first input/output port as an output port, a virtual line connecting the first input/output port and the second input/output port may include; generating
  • a program including instructions for performing each step according to the method of changing the graphic user interface of the circuit block according to the embodiment may be recorded.
  • a program including instructions for performing each step according to the method of changing the graphic user interface of the circuit block according to the other embodiment may be recorded.
  • a user can intuitively grasp a relationship between a plurality of input/output ports of a circuit block and information on each of the plurality of input/output ports.
  • time or effort invested by the user to interpret the modeled circuit block may be reduced, and human error of the user may be reduced in designing the circuit.
  • FIG. 1 is a block diagram illustrating a computing system for performing a method of changing a graphical user interface of a circuit block according to an embodiment.
  • FIGS. 2 and 3 are flowcharts of a method of changing a graphical user interface of a circuit block according to an embodiment.
  • FIG. 4 is a diagram illustrating a circuit block and a circuit design inside the circuit block according to an embodiment.
  • FIG. 5 is a diagram for explaining a process in which an arrangement or shape of an input/output port is changed according to a net name of a pin connected to a sub-circuit.
  • FIG. 6 is a diagram for explaining a virtual line connecting between input/output ports of a circuit block.
  • FIG. 7 is a diagram illustrating a method of displaying input/output ports corresponding to differential pairs among input/output ports of a circuit block.
  • FIG. 8 is a diagram illustrating an image output when a user selects any one of input/output ports of a circuit block.
  • 9 and 10 are flowcharts of a method of modifying a graphical user interface of a circuit block in another embodiment.
  • FIG. 11 is a diagram illustrating an S-parameter matrix for calculating a frequency response characteristic according to a simulation.
  • FIG. 12 is a diagram illustrating a frequency response characteristic graph obtained by simulating the frequency response characteristic of a circuit block.
  • FIG. 13 is a diagram illustrating an image outputted on a graph with the corresponding characteristic emphasized when a user selects a virtual line of a circuit block with a changed graphical user interface including simulation results and characteristics.
  • FIG. 14 is a diagram illustrating an image outputted on a graph with the corresponding characteristics highlighted when a user selects an input/output port of a circuit block with a changed graphical user interface including simulation results and characteristics.
  • 15 is a flowchart illustrating a method of changing a graphic user interface of a circuit block according to another embodiment.
  • 16 and 17 are diagrams illustrating images output to the graph with the corresponding characteristic emphasized when the user selects a specific graph from the frequency response characteristic graph.
  • the identification code is used for convenience of description, and the identification code does not describe the order of each step, and each step may be performed differently from the specified order unless the specific order is clearly stated in the context. have.
  • FIG. 1 is a block diagram illustrating a computing system for performing a method of changing a graphical user interface of a circuit block according to an embodiment.
  • a computing system for performing a method of changing a graphical user interface of a circuit block 600 includes a processor 100 , a memory 200 , an input device 300 , a display 400 , and a bus 10 . ) may be included.
  • the computing system may be a stationary computing system, such as a desktop computer, workstation, server, or the like, or a portable computer system, such as a laptop computer, smart phone, tablet, or the like.
  • the processor 100 may be configured to execute instructions for performing each step according to a method of changing the graphical user interface of the circuit block 600 .
  • the processor 100 may execute the circuit design program 210 stored in the memory 200 .
  • the circuit design program 210 recorded in the memory 200 may include instructions for performing each step of the method of changing the graphical user interface of the circuit block 600 , and the processor 100 may include the circuit block 600 . ) to execute a command to perform each step of the method of changing the graphical user interface.
  • the memory 200 may store the circuit design program 210 including an electronic design automation tool (EDA) for designing an integrated circuit.
  • EDA electronic design automation tool
  • the circuit design program 210 may include a design program including instructions for designing a circuit on a schematic, or a simulation program including instructions for simulating the designed circuit to obtain a frequency response characteristic between each input/output port.
  • the memory 200 may store data to be processed or processed data by the processor 100 .
  • the memory 200 may include a storage 220 that stores an image of a circuit schematic designed by a user in a design program, and the image of the circuit diagram includes an overall image of the circuit diagram and an internal port in the circuit diagram. An image enlarged by a preset magnification may be included.
  • the storage 220 may store a simulation result obtained by simulating the designed circuit. For example, the frequency response characteristic graph between the input/output ports of the circuit block 600 may be stored, and the S-parameter between the input/output ports may be stored.
  • the memory 200 for this purpose is a volatile memory such as static random access memory (SRAM) or dynamic RAM (DRAM), or phase-change RAM (PRAM), magnetic RAM (MRAM), resistive RAM (ReRAM), ferroelectrics RAM (FRAM). ), may be a non-volatile memory such as a flash memory.
  • SRAM static random access memory
  • DRAM dynamic RAM
  • PRAM phase-change RAM
  • MRAM magnetic RAM
  • ReRAM resistive RAM
  • FRAM ferroelectrics RAM
  • non-volatile memory such as a flash memory.
  • the memory 200 may include a storage medium such as a memory card (MMC, eMMC, SD, MicroSD, etc.), a solid state drive (SSD), a hard disk drive (HDD), a magnetic tape, an optical disk, or a magnetic disk. have. Also, the memory 200 may be removable from the computing system.
  • MMC memory card
  • eMMC embedded MultiMediaCard
  • SD Secure Digital
  • MicroSD MicroSD
  • HDD hard disk drive
  • magnetic tape magnetic tape
  • optical disk an optical disk
  • magnetic disk magnetic disk
  • the input device 300 may include a user interface capable of receiving various commands from a user.
  • the input device 300 may be implemented as a keyboard, a mouse, a touch pad, or the like.
  • the user may input data for designing various circuits through the input device 300 and may input a simulation command for simulating the circuit block 600 .
  • the display 400 may display various types of information generated when the circuit design program 210 is executed.
  • the display 400 is a graphical user interface for the circuit design program 210 when the processor 100 executes the circuit design program 210 stored in the memory 200, the user When designing an internal circuit design, a schematic, a simulation result of the circuit block 600, and the like may be output.
  • the bus 10 may be a system bus 10 (System Bus) for providing a network inside the computer system.
  • the processor 100 , the memory 200 , the input device 300 , and the display 400 may be electrically connected through the bus 10 and exchange data with each other.
  • the configuration of the bus 10 is not limited to the above description, and may further include mediation means for efficient management.
  • FIG. 2 and 3 are flowcharts of a method of changing a graphical user interface of a circuit block according to an embodiment
  • FIG. 4 is a diagram showing a circuit block and a circuit diagram inside the circuit block according to an embodiment
  • FIG. 5 is It is a diagram for explaining a process of changing the arrangement or shape of an input/output port according to the net name of a pin connected to a sub-circuit
  • FIG. 6 is a diagram for explaining a virtual line connecting between the input/output ports of a circuit block
  • FIG. 7 is a diagram illustrating a method of displaying input/output ports corresponding to a differential pair among input/output ports of a circuit block
  • FIG. 8 is a diagram illustrating an image output when a user selects any one of input/output ports of a circuit block.
  • the processor 100 may receive information on the input/output port of the circuit block 600 ( 1000).
  • the input/output port information may include information on the number, name, shape, location, etc. of the input/output ports to be connected to the circuit block 600 .
  • the processor 100 may generate a graphic user interface of the circuit block based on information on the number, name, shape, location, etc. of the input/output ports, and the display 400 displays the graphic of the circuit block generated by the processor 100 . You can print the user interface.
  • the processor 100 may receive a circuit schematic diagram of the circuit block 600 ( 1100 ).
  • the circuit design received by the processor 100 may be a pre-designed circuit design stored in the storage 220 or a circuit design directly designed by a user.
  • the user may call a pre-designed circuit design through the input device 300 or directly design the circuit through the input device 300 .
  • the circuit block 600 is connected to the input/output ports (Port 1, Port 2, Port 3, Port 4, and Port 5), and a lower layer of the circuit block 600 may include a circuit diagram.
  • the circuit design as described above may include a plurality of sub-circuits, and may be configured in a form in which a plurality of sub-circuits and wires are connected.
  • the circuit design diagram may include an internal port connected to a wiring, and this internal port may correspond to an input/output port of the circuit block 600 in an upper layer.
  • the sub-circuit may refer to a branch circuit having a plurality of nodes (hereinafter, 'pins').
  • the sub-circuit may include a logic gate or the like.
  • the wiring connected to the pins of the plurality of sub-circuits may be given a net name.
  • a user may input a net name for a wiring connected to a pin of a sub-circuit according to his/her convenience, and in the case of a pre-designed circuit diagram, a net name may be assigned to each wiring by a previously designed user.
  • the memory 200 may store net names of wires connected to pins of a plurality of sub-circuits and information on input/output ports connected to pins of a plurality of sub-circuits ( 1200 ).
  • the net name of the wire connected to the pin of the first sub-circuit is 'A'
  • the name of the first input/output port of the external circuit block 600 corresponding to the internal port connected to the wire having the net name 'A' When this is 'B', the net name 'A' of the wire connected to the first input/output port 'B' may be matched with each other and stored.
  • the processor 100 may change the graphic user interface of the circuit block 600 based on the net name of the wiring connected to the pins of the plurality of sub-circuits and the information of the input/output ports connected to the pins of the plurality of sub-circuits ( 1300).
  • the processor 100 may change the arrangement or shape of the input/output ports of the circuit block 600 or generate a virtual line for indicating a relationship between the input/output ports of the circuit block 600 , thereby generating the circuit block 600 . ) of the graphical user interface can be changed.
  • the arrangement or shape of the first input/output port is determined based on the information of the first input/output port connected to the wire having the net name 'A' and the net name 'A' of the wire connected to the pin of the first sub-circuit.
  • the processor 100 determines whether a pin connected to a wire having the same net name as a preset name exists among the pins of the plurality of sub circuits, and determines whether a wire having the same net name as the preset name exists. If a connected input/output port exists ( 1310 ), the arrangement or shape of the input/output port may be changed according to a preset name ( 1315 ).
  • the preset name may include at least one of VDD, GND, PW, CLK, and CK. That is, the preset name may include a net name commonly used by a user when designing a circuit.
  • the processor 100 may change the arrangement or shape of the input/output port based on the net name of the wiring connected to each input/output port of the circuit block 600 .
  • Port 2 is connected to a wire having a net name of 'CK', and 'CK' is mainly used as a net name of a wire to which a clock signal is input.
  • Port 2 connected to 'CK' in the graphic user interface of the circuit block 600 is an input/output port to which a clock signal is input
  • the processor 100 determines the arrangement of Port 2 in the circuit block 600 . ) can be moved to the lower left, and a triangular shape can be added to the part where Port 2 is connected.
  • Port 3 is connected to a wiring having a net name of 'VDD', and 'VDD' is mainly used as a net name of a wiring through which the drain voltage (power) of the MOSFET is input.
  • Port 3 connected to 'VDD' in the graphic user interface of the circuit block 600 is an input/output port to which the drain voltage is input, the processor 100 sets the length of Port 3 to the length of another port. It can be deformed even longer.
  • Port 4 is connected to a wire with a net name of 'GND', and 'GND' is mainly used as the net name of the wire connected to the conductor (ground), which is the electrical standard for all circuits. do.
  • Port 4 connected to 'GND' is an input/output port connected to ground in the graphic user interface of the circuit block 600
  • the processor 100 sets the length of Port 4 to be greater than the length of other ports. You can make it longer and add a ground symbol to one end of Port 4.
  • Changes in the graphical user interface for Port 1 to Port 4 are exemplary, and may be changed by a user's setting, or may be changed in another way that allows the user to intuitively grasp the information of each port. am.
  • preset names mentioned above are exemplary, and may be added by setting to a user or learning of a neural network.
  • a computing system or a server in communication with the computing system may include a neural network capable of learning a correlation between a net name and a role of a net name.
  • the neural network may include a plurality of layers according to a multilayer perceptron structure. That is, a plurality of units included in the neural network may be classified into a plurality of layers.
  • a neural network with a multi-percept structure is implemented with multiple layers, so that it can learn more complex models.
  • units classified into a plurality of layers may be connected to each other with a predetermined connection strength.
  • each unit may be connected only with units having high relevance to each other.
  • the human brain learns by controlling the connection type or strength of synapses. That is, the brain learns by adjusting the strength of synaptic connections in a way that weakens connections between neurons leading to incorrect answers and strengthens connections between neurons leading to correct answers.
  • the neural network is also learned by imitation of the above-described learning method of the human brain.
  • the learning refers to finding and generalizing patterns from predetermined learning data, and the neural network is trained to strengthen the connection strength between units leading to the correct answer.
  • the neural network may receive simulation results for various circuit designs.
  • the neural network may receive the net name and voltage and current values applied to the wiring having the net name included in the circuit schematic, and learn a correlation between the net name and the role of the net name.
  • the neural network can store the net name of 'D' as a preset name, and the net name of 'D' An input/output port connected to a wiring having a name may be determined as an input port of an input voltage.
  • the neural network may store an arrangement method of an input/output port used as an input port by receiving and learning information on a location of an input/output port used as an input port of an input voltage.
  • the processor 100 may search for two pins having a resistance value equal to or less than a preset value among pins of the plurality of sub-circuits ( 1320 ). Thereafter, the processor 100 may change the graphic user interface of the circuit block 600 by generating a virtual line connecting the input/output ports connected to each of the two pins ( 1325 ).
  • the pins of the plurality of sub-circuits include a first pin and a second pin, and when the resistance value between the first pin and the second pin is less than or equal to a preset value, the processor 100 is connected to the first pin among the input/output ports.
  • a virtual line may be generated connecting the first input/output port and the second input/output port connected to the second pin.
  • the preset resistance value may be set to a resistance value that is small enough to be judged that the two pins are shorted.
  • the preset resistance value may be set to 1 ohm, but may be changed according to a user's setting or according to the learning of the neural network described above.
  • the inverter positioned on the left may include a first pin to which Vin is input, and the inverter positioned on the right may include a second pin to which Vout is output.
  • a resistance value between the first pin and the second pin may be 1 ohm or less.
  • the processor 100 searches for Port 1 connected to the first pin based on the net name (Vin) of the wiring connected to the first pin, and based on the net name (Vout) of the wiring connected to the second pin, Port 4 connected to pin 2 may be searched, and a virtual line VL connecting Port 1 and Port 4 may be created in the graphic user interface of the circuit block 600 .
  • the above virtual line may be expressed as a dotted line, a solid line, etc. according to a connection relationship.
  • the user can check that Port 1 and Port 4 are connected on the graphic user interface of the circuit block 600 and intuitively recognize that Port 1 and Port 4 are shorted.
  • the processor 100 selects an input/output port connected to each of the two pins. Can be placed adjacent and grouped together (1335).
  • the processor 100 determines that the net name of the wire connected to the first pin includes the first identifier, the first net excluding the first identifier If the name is determined, and the net name of the wiring connected to the second pin includes the second identifier, a second net name is determined excluding the second identifier, and the first net name and the second net name are the same, and the first When the identifier and the second identifier are different from each other, the first input/output port connected to the first pin and the second input/output port connected to the second pin among the input/output ports may be disposed adjacent to each other.
  • the identifier may mean the letters written after the underbar (_) and the underbar (_), and the net name excluding the identifier may mean the letters written together before the underbar (_).
  • Each wire with the same net name except for the identifier is mainly connected to the input/output port for the input or output of the differential pair.
  • Port 1 and Port 4 may be disposed adjacent to each other.
  • Port 5 and Port 6 may be disposed adjacent to each other.
  • the arrangement of the two input/output ports adjacent to each other may mean that the input/output ports are disposed so that no other input/output ports are disposed between the two input/output ports.
  • the graphical user interface of the circuit block 600 creates a virtual box tying Port 1 and Port 4 together, and a virtual box (VC) tying Port 5 and Port 6 together, thereby connecting Port 1 and Port 4 and Port 5 together.
  • Port 6 can be grouped together.
  • the method of classifying Port 1 and Port 4 and Port 5 and Port 6 together is not limited to the method described above, and any method that the user can intuitively grasp may be used without limitation.
  • the display 400 may output a graphic user interface of the circuit block 600 changed by the processor 100 ( 1400 ).
  • the processor 100 may generate an image of the circuit schematic in which the selected port is highlighted, and the display 400 is An image of the circuit schematic in which the selected port is highlighted may be output ( 1600 ).
  • the processor 100 may receive a selection of any one of the input/output ports from the user, and in response to the user's selection, select an input/output port and an internal port corresponding to the selected input/output port from the user in the entire image of the circuit diagram in response to the user's selection It may be emphasized, and then the display 400 may output an entire image of the circuit schematic.
  • the processor 100 may call from the memory 200 an enlarged image of the internal port corresponding to the input/output port selected by the user from the entire image of the circuit diagram at a preset magnification in response to the user's selection, and display 400 may output an enlarged image of an internal port corresponding to the input/output port selected by the user at a preset magnification.
  • the location of the specific port in the internal circuit diagram is displayed so that the user can more quickly and accurately grasp information on the specific port.
  • FIG. 9 and 10 are flowcharts of a method of changing a graphic user interface of a circuit block according to another embodiment
  • FIG. 11 is a diagram illustrating an S-parameter matrix for calculating frequency response characteristics according to simulation
  • FIG. 12 is a circuit block It is a diagram showing a frequency response characteristic graph obtained by simulating the frequency response characteristic of 600
  • FIG. 13 is a graph showing the frequency response characteristic when the user selects a virtual line of the circuit block in which the graphic user interface containing the simulation result and characteristic is changed.
  • This is a diagram showing an image that is highlighted and output to the graph
  • FIG. 14 is an image that is highlighted and output to the graph when the user selects the input/output port of the circuit block in which the graphic user interface containing the simulation result and characteristics is changed. the drawing shown.
  • the processor 100 may receive the simulation command ( 2000 ).
  • the processor 100 may simulate the frequency response characteristic of the circuit block 600 based on the circuit design included in the circuit block 600 .
  • the memory 200 may store a simulation result of the frequency response characteristic of the circuit block 600 performed by the processor 100 ( 2100 ).
  • the simulation result for the frequency response characteristic may include S-parameters between each input/output port.
  • the S-parameter is a parameter expressing the ratio of input and output between input and output ports at various frequencies.
  • S 12 is a parameter expressing the ratio of input and output using the first input/output port as the input port and the second input/output port as the output port
  • S 21 is the second input/output port as the input port and the first input/output port It is a parameter expressing the ratio of input and output by using a port as an output port.
  • the S-parameter may include a self-reflection value of each input/output port, that is, a ratio of a reflected value output and returned by itself when the input port and the output port are the same.
  • S 11 is a parameter expressing a ratio of an input to an output using the first input/output port as the input port and the first input/output port as the output port.
  • the S matrix representing the S parameter may be an n X n matrix.
  • the S matrix may be a 4x4 matrix.
  • the simulation result for the frequency response characteristic may include a frequency response characteristic graph between each input/output port.
  • the number of graphs of the frequency response characteristic may be the same as the number of elements of the S matrix.
  • the processor 100 may change the graphic user interface of the circuit block 600 based on the simulation result of the frequency response characteristic of the circuit block 600 ( 2200 ).
  • the processor 100 determines that if the frequency response characteristic between the first input/output port and the second input/output port has a preset magnitude or higher at a frequency less than or equal to a preset frequency f0 (example of 2310), the second A virtual line connecting the first input/output port and the second input/output port may be created (2315).
  • the preset frequency f0 may be set to a frequency that is a reference of the low frequency, for example, the preset frequency f0 may be set to 100 Hz or less.
  • the preset size may be set as a standard size when the input to output ratio is 1 or more, for example, the preset size may be set to 0 dB or more.
  • the preset frequency f0 and the preset size may be set by a user, or may be learned and changed by the neural network described above.
  • the two input/output ports may be regarded as shorted from a direct current (DC) point of view.
  • DC direct current
  • the processor 100 has a frequency response characteristic between the first input/output port and the second input/output port having a size greater than or equal to a preset value at a frequency less than or equal to a preset frequency f0, the first input/output port and the second input/output port are connected By creating a virtual line that does this, the user can intuitively recognize that the first input/output port and the second input/output port are DC shorted.
  • the processor 100 has the same name as the preset name among the pins of the plurality of sub-circuits included in the circuit block 600 based on the simulation result. If a pin connected to a wire having a net name exists, an input/output port connected to a wire having the same net name as the preset name may be moved or modified.
  • the processor 100 is included in the circuit block 600 based on the simulation result It may be determined whether there is a pin connected to a wire having the same net name as a preset name among pins of the plurality of sub-circuits.
  • the processor 100 is the first input/output port and the second input/output port set as a differential pair in the simulation command among the input/output ports of the circuit block 600 (Yes of 2320), the first input/output port and the second set as a differential pair
  • the input/output ports may be placed adjacent to each other and grouped together ( 2325 ).
  • the processor 100 may determine the input/output ports as the differential pair based on the simulation command.
  • a virtual line connecting the first input/output port and the second input/output port may be generated ( 2335 ).
  • the preset frequency f1 may be set by the user, and may be set higher than the preset frequency f0 described in the previous step 2310 .
  • the preset level may be set to 0 dB or more as described in the previous step 2310 .
  • the virtual line connecting the first input/output port and the second input/output port may be in the shape of a frequency response characteristic graph of the band pass filter.
  • the user can intuitively recognize that any band-pass filter exists between the first input/output port and the second input/output port.
  • the virtual line VB connecting Port 1 and Port 30 has the shape of a frequency response characteristic graph of the band pass filter.
  • the user can confirm that there is a band-pass filter that passes a signal of a specific frequency band between Port 1 and Port 30.
  • the user can check the fact that there is a short circuit between Port 4 and Port 32 from the DC point of view.
  • the processor 100 sets the first input/output port as the input port and the simulation result obtained by setting the second input/output port as the output port sets the second input/output port as the input port and sets the first input/output port as the input port. If it is different from the simulation result obtained by setting the port as the output port (YES in 2340), a virtual line connecting the first input/output port and the second input/output port may be generated (2345).
  • the processor 100 may intuitively express that the first input/output port and the second input/output port are irreversible by adding an arrow-shaped figure to one end of the generated virtual line.
  • an arrow-shaped figure P is added to one end of the virtual line VB connecting Port 1 and Port 30 .
  • the user can intuitively confirm that the frequency response characteristic from Port 1 to Port 30 is different from the frequency response characteristic from Port 30 to Port 1.
  • the display 400 may output a graphic user interface of the circuit block 600 changed by the processor 100 ( 2300 ).
  • the processor 100 selects any one of the input/output ports among the input/output ports of the circuit block 600 . can receive
  • the processor 100 may emphasize the graph of the frequency response characteristic obtained by setting the input/output port selected by the user as the input port and the output port in response to the user's selection (YES in 2400) (2450).
  • the display 400 outputs a graph of the overall frequency response characteristic in which the graph of the frequency response characteristic obtained by setting the input/output port selected by the user as the input port and the output port is emphasized, or the input/output port selected by the user is selected as the input port and the output port Only a graph of the frequency response characteristic obtained by setting to . 2600 may be output.
  • the processor 100 may emphasize only the frequency response characteristic graph corresponding to the S parameter S 11 among the frequency response characteristic graph between all input/output ports.
  • the processor 100 receives the selection of the virtual line Can (2500).
  • the processor 100 may emphasize the frequency response characteristic graph between the two input/output ports connected to the selected virtual line in response to the selection of the virtual line ( 2550 ).
  • the display 400 outputs a graph of the overall frequency response characteristic in which the graph of the frequency response characteristic between the two input/output ports connected to the falsetto line selected by the user is emphasized, or the frequency response characteristic between the two input/output ports connected to the falsetto line selected by the user It is possible to output only the graph of (2600).
  • the processor 100 may emphasize only the frequency response characteristic graph corresponding to the S parameters S 1,30 and S 30,1 among the frequency response characteristic graph between all input/output ports.
  • FIGS. 16 and 17 are when a user selects a specific graph in the frequency response characteristic graph, the characteristic is emphasized and output to the graph It is a drawing showing an image to be
  • the display 400 displays a frequency response characteristic graph between the input and output ports of the circuit block 600 . It can be printed (3000).
  • the user may select a specific graph through the input device 300 , and the processor 100 may receive a selection of a specific graph from the frequency response characteristic graph ( 3100 ).
  • the processor 100 may determine one or two input/output ports indicating a frequency response characteristic such as a specific graph, and may highlight one or two input/output ports on the circuit block 600 .
  • the processor 100 has one input/output port having a frequency response characteristic corresponding to a specific graph, that is, corresponding to the diagonal components (S 11 , S 22 , S 33 , ...) of the S parameter.
  • the corresponding input/output port may be emphasized (3250).
  • the specific graph selected by the user is a frequency response characteristic graph of the reflection value of Port 1 itself.
  • Port 1 may be highlighted (EL) in the graphical user interface of the circuit block 600 .
  • the user can intuitively check which port's self-reflection value is the selected frequency response characteristic graph.
  • the processor 100 may determine whether a virtual line connecting the two input/output ports exists ( 3300 ).
  • the processor 100 may emphasize each input/output port if two input/output ports having a frequency response characteristic corresponding to a specific graph selected by the user are not connected by a virtual line (No in 3300 ) ( 3250 ).
  • the processor 100 may emphasize the virtual line ( 3350 ).
  • the specific graph selected by the user is a frequency response characteristic graph between Port 1 and Port 30 .
  • Port 1 and Port 30 are not connected by a virtual line, the processor 100 may emphasize Port 1 and Port 30, respectively, and if it is determined that Port 1 and Port 30 are connected by a virtual line, it draws a virtual line. It can be emphasized (EB).
  • the display 400 may output a graphic user interface of the circuit block 600 emphasizing a specific input/output port or a specific virtual line ( 3400 ).
  • the user can intuitively grasp which graph of the frequency response characteristic is related to which input/output port.
  • the disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer.
  • the instructions may be stored in the form of program code, and when executed by the processor 100 , a program module may be created to perform the operations of the disclosed embodiments.
  • the recording medium may be implemented as a computer-readable recording medium.
  • the computer-readable recording medium includes any type of recording medium in which instructions readable by the computer are stored.
  • ROM read only memory
  • RAM random access memory
  • magnetic tape magnetic tape
  • magnetic disk magnetic disk
  • flash memory 200 an optical data storage device, and the like.
  • the computer-readable recording medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' is a tangible device and only means that it does not contain a signal (eg, electromagnetic wave). It does not distinguish the case where it is stored as
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be provided as included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable recording medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a portion of a computer program product eg, a downloadable app
  • a device-readable record such as a server of a manufacturer, a server of an application store, or memory 200 of a relay server. At least temporarily stored in the medium, or may be temporarily created.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

회로 블록의 다수의 입출력 포트 간의 관계 및 다수의 입출력 포트 각각의 정보를 사용자가 직관적으로 파악할 수 있는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법은, 상기 회로 블록의 입출력 포트의 정보를 수신하고 상기 입출력 포트의 정보에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 생성하는 단계; 상기 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계; 상기 회로 블록의 내부의 회로 설계도를 수신하는 단계; 상기 회로 설계도에 포함된 복수의 서브 서킷의 핀과 연결된 배선의 네트 네임 및 상기 복수의 서브 서킷의 핀과 연결된 상기 입출력 포트의 정보를 저장하는 단계; 상기 복수의 서브 서킷의 핀과 연결된 배선의 네트 네임 및 상기 복수의 서브 서킷의 핀과 연결된 상기 입출력 포트의 정보에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계; 및 상기 변경된 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계;를 포함하고, 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 회로 블록의 입출력 포트의 배치 또는 모양을 변경시키는 단계 및 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계 중 적어도 하나를 포함한다.

Description

회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체
본 개시는 전자 설계 자동화 툴에서 내부의 회로 설계도 또는 시뮬레이션 결과에 따라 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 그 방법의 각 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체에 관한 것이다.
일반적으로, 전자 설계 자동화 툴에서 집적 회로의 설계는 서브 서킷(Sub-Circuit)과 배선을 시각적으로 표시하는 스키매틱(Schematic)을 이용한다.
스키매틱을 표현할 때, 범용적인 저항 소자, 인덕터, 축전기, 논리 소자 및 AMP 등의 기본 서브 서킷들은 각자의 심볼이 존재한다.
반면에, 위와 같은 기본 서브 서킷들이 아닌 사용자가 설계한 회로 설계도(Circuit design)는 박스 형태의 회로 블록 형태로 표시된다.
이 때, 회로 블록은 다수의 입출력 포트와 연결되어 있는 박스 형태로 표시될 수 있으나, 다수의 입출력 포트 사이의 관계를 사용자가 직관적으로 파악하기 어렵다는 문제점이 존재한다.
본 개시의 일 측면에 따르면, 회로 블록의 그래픽 사용자 인터페이스(Graphical User Interface;GUI)를 변경함으로써 회로 블록과 연결된 다수의 입출력 포트 사이의 연결 관계를 사용자가 직관적으로 파악할 수 있는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법을 제공한다.
본 개시의 일 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스(Graphical User Interface; GUI)를 변경하는 방법은, 프로세서가, 상기 회로 블록의 입출력 포트의 정보를 수신하고 상기 입출력 포트의 정보에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 생성하는 단계; 디스플레이가, 상기 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계; 상기 프로세서가, 상기 회로 블록의 내부의 회로 설계도(Circuit Design)를 수신하는 단계; 메모리가, 상기 회로 설계도에 포함된 복수의 서브 서킷(Sub-Circuit)의 핀(Pin)과 연결된 배선의 네트 네임(Net name) 및 상기 복수의 서브 서킷의 핀과 연결된 상기 입출력 포트의 정보를 저장하는 단계; 상기 프로세서가, 상기 복수의 서브 서킷의 핀과 연결된 배선의 네트 네임 및 상기 복수의 서브 서킷의 핀과 연결된 상기 입출력 포트의 정보에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계; 및 상기 디스플레이가, 상기 변경된 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계;를 포함하고, 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 회로 블록의 입출력 포트의 배치 또는 모양을 변경시키는 단계 및 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계 중 적어도 하나를 포함할 수 있다.
또한, 상기 회로 블록의 입출력 포트의 배치 또는 모양을 변경시키는 단계는, 상기 복수의 서브 서킷의 핀과 연결된 배선 중에서 미리 설정된 네임과 동일한 네트 네임을 갖는 배선이 존재하면, 상기 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 상기 입출력 포트를 이동시키거나 변형시키는 단계;를 포함할 수 있다.
또한, 상기 미리 설정된 네임은, VDD, VSS, GND, PW, CLK 및 CK 중 적어도 하나를 포함할 수 있다.
또한, 상기 복수 개의 서브 서킷의 핀은 제1 핀과 제2 핀을 포함하고, 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계는, 상기 제1 핀과 상기 제2 핀 사이의 저항 값이 미리 설정된 값 이하이면, 상기 입출력 포트 중에서 상기 제1 핀과 연결된 제1 입출력 포트와 상기 제2 핀과 연결된 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함할 수 있다.
또한, 상기 복수 개의 서브 서킷의 핀은 제1 핀과 제2 핀을 포함하고, 상기 회로 블록의 입출력 포트의 배치 또는 모양을 변경시키는 단계 및 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계는, 상기 제1 핀과 연결된 배선의 네트 네임이 제1 식별자를 포함하면, 상기 제1 식별자를 제외한 제1 네트 네임을 결정하는 단계; 상기 제2 핀과 연결된 배선의 네트 네임이 제2 식별자를 포함하면, 상기 제2 식별자를 제외한 제2 네트 네임을 결정하는 단계; 및 상기 제1 네트 네임과 상기 제2 네트 네임이 동일하고, 상기 제1 식별자와 상기 제2 식별자가 상이하면 상기 입출력 포트 중 상기 제1 핀과 연결된 제1 입출력 포트와 상기 제2 핀과 연결된 제2 입출력 포트를 서로 인접하게 배치시키는 단계;를 포함할 수 있다.
또한, 상기 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법은, 상기 메모리가, 상기 회로 설계도의 전체 이미지를 저장하는 단계; 상기 프로세서가, 사용자로부터 상기 입출력 포트 중 어느 하나의 입출력 포트에 대한 선택을 수신하는 단계; 상기 프로세서가, 상기 사용자의 선택에 응답하여, 상기 회로 설계도의 전체 이미지에서 상기 사용자로부터 선택된 입출력 포트와 대응되는 내부 포트를 강조하는 단계; 및 상기 디스플레이가, 상기 회로 설계도의 전체 이미지 출력하는 단계;를 더 포함할 수 있다.
또한, 상기 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법은, 상기 메모리가, 상기 회로 설계도에서 상기 입출력 포트에 대응되는 내부 포트를 미리 설정된 배율로 확대한 이미지를 저장하는 단계; 및 상기 디스플레이가, 상기 사용자의 선택에 응답하여, 상기 사용자로부터 선택된 입출력 포트와 대응되는 내부 포트를 미리 설정된 배율로 확대한 이미지를 출력하는 단계;를 더 포함할 수 있다.
다른 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법은, 디스플레이가, 상기 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계; 프로세서가, 사용자로부터 시뮬레이션 명령을 수신하고, 상기 시뮬레이션 명령에 응답하여 상기 회로 블록의 주파수 응답 특성을 시뮬레이션하는 단계; 메모리가, 상기 회로 블록의 주파수 응답 특성에 대한 시뮬레이션 결과를 저장하는 단계; 상기 프로세서가, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계; 및 상기 디스플레이가, 상기 변경된 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계;를 포함하고, 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계를 포함할 수 있다.
또한, 상기 회로 블록의 입출력 포트는 제1 입출력 포트 및 제2 입출력 포트를 포함하고, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 제1 입출력 포트를 입력 포트로 설정하고 상기 제2 입출력 포트를 출력 포트로 설정하여 주파수 응답 특성을 획득한 시뮬레이션 결과에 있어서, 미리 설정된 주파수 이하의 주파수에서 주파수 응답의 크기가 미리 설정된 크기 이상이면 상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함할 수 있다.
또한, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 회로 블록 내부에 포함된 복수의 서브 서킷의 핀 중에서 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 핀이 존재하면, 상기 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 상기 입출력 포트를 이동시키거나 변형시키는 단계;를 포함할 수 있다.
또한, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 회로 블록의 입출력 포트 중에서, 상기 시뮬레이션 명령에서 차동쌍으로 설정된 제1 입출력 포트 및 제2 입출력 포트를 서로 인접하게 배치시키는 단계;를 포함할 수 있다.
또한, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 회로 블록의 입출력 포트 중에서 제1 입출력 포트를 입력 포트로 설정하고 제2 입출력 포트를 출력 포트로 설정하여 주파수 응답 특성을 획득한 시뮬레이션 결과에 있어서, 미리 설정된 주파수에서 주파수 응답의 크기가 미리 설정된 크기 이상이면 상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함할 수 있다.
또한, 상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선은, 밴드 패스 필터(Band Pass Filter; BPF)를 나타낼 수 있다.
또한, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는, 상기 회로 블록의 입출력 포트 중에서 제1 입출력 포트를 입력 포트로 설정하고 제2 입출력 포트를 출력 포트로 설정하여 획득한 시뮬레이션 결과가 상기 제2 입출력 포트를 입력 포트로 설정하고 상기 제1 입출력 포트를 출력 포트로 설정하여 획득한 시뮬레이션 결과와 상이하면, 상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함할 수 있다.
또한, 상기 프로세서가, 상기 사용자로부터 상기 회로 블록의 입출력 포트 중 어느 하나의 입출력 포트에 대한 선택을 수신하는 단계; 상기 프로세서가, 상기 사용자의 선택에 응답하여, 상기 사용자로부터 선택된 입출력 포트를 입력 포트 및 출력 포트로 설정하여 획득한 주파수 응답 특성의 그래프를 강조하는 단계; 및 상기 디스플레이가, 상기 주파수 응답 특성의 그래프를 출력하는 단계;를 더 포함할 수 있다.
또한, 상기 프로세서가, 상기 사용자로부터 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선에 대한 선택을 수신하는 단계; 상기 프로세서가, 상기 사용자의 선택에 응답하여, 상기 사용자로부터 선택된 가상의 선과 연결되는 두 개의 입출력 포트 사이에서 획득한 주파수 응답 특성의 그래프를 강조하는 단계; 및 상기 디스플레이가, 상기 주파수 응답 특성의 그래프를 출력하는 단계;를 더 포함할 수 있다.
또한, 상기 디스플레이가, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 주파수 응답 특성 그래프를 출력하는 단계; 상기 프로세서가, 상기 사용자로부터 상기 주파수 응답 특성 그래프 중에서 특정 그래프에 대한 선택을 수신하는 단계; 및 상기 프로세서가, 상기 회로 블록의 입출력 포트 중에서 상기 사용자로부터 선택된 특정 그래프와 같은 주파수 응답 특성을 나타내는 한 개 또는 두 개의 입출력 포트를 결정하고, 상기 회로 블록 상에 상기 한 개 또는 두 개의 입출력 포트를 강조하는 단계;를 포함할 수 있다.
또한, 상기 회로 블록 상에 상기 두 개의 입출력 포트를 표시하는 단계는,
상기 두 개의 입출력 포트 사이를 연결하는 가상의 선이 존재하면 상기 가상의 선을 강조하는 단계;를 포함할 수 있다.
일 실시예에 따른 컴퓨터 판독 가능 저장 매체는, 상기 일 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록될 수 있다.
다른 실시예에 따른 컴퓨터 판독 가능 저장 매체는, 상기 다른 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록될 수 있다.
본 개시에 따르면 회로 블록의 다수의 입출력 포트 간의 관계 및 다수의 입출력 포트 각각의 정보를 사용자가 직관적으로 파악할 수 있다.
또한, 모델링된 회로 블록을 해석하기 위해 사용자가 투자하는 시간이나 노력이 감소될 수 있고, 회로를 설계하는 데 있어서 사용자의 휴먼 에러를 줄일 수 있다.
도 1은 일 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법을 수행하기 위한 컴퓨팅 시스템을 나타내는 블록도이다.
도 2 및 도 3은 일 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법의 순서도이다.
도 4는 일 실시예에 따른 회로 블록과 회로 블록 내부의 회로 설계도를 나타낸 도면이다.
도 5는 서브 서킷과 연결된 핀의 네트 네임에 따라 입출력 포트의 배치 또는 모양이 변경되는 과정을 설명하기 위한 도면이다.
도 6은 회로 블록의 입출력 포트 사이를 연결하는 가상의 선을 설명하기 위한 도면이다.
도 7은 회로 블록의 입출력 포트 중 차동쌍에 해당하는 입출력 포트들을 표시하는 방법을 나타낸 도면이다.
도 8은 사용자가 회로 블록의 입출력 포트 중 어느 하나를 선택한 경우 출력되는 이미지를 나타낸 도면이다.
도 9 및 도 10은 다른 실시예에 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법의 순서도이다.
도 11은 시뮬레이션에 따라 주파수 응답 특성을 산출하는 S-parameter 행렬을 나타낸 도면이다.
도 12는 회로 블록의 주파수 응답 특성을 시뮬레이션하여 획득한 주파수 응답 특성 그래프를 나타낸 도면이다.
도 13은 사용자가 시뮬레이션 결과 및 특성을 내포하고 있는 그래픽 사용자 인터페이스가 변경된 회로 블록의 가상의 선을 선택한 경우 해당 특성이 강조되어 그래프에 출력되는 이미지를 나타낸 도면이다.
도 14는 사용자가 시뮬레이션 결과 및 특성을 내포하고 있는 그래픽 사용자 인터페이스가 변경된 회로 블록의 입출력 포트를 선택한 경우 해당 특성이 강조되어 그래프에 출력되는 이미지를 나타낸 도면이다.
도 15는 또 다른 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법을 나타낸 순서도이다.
도 16 및 도 17은 사용자가 주파수 응답 특성 그래프에서 특정 그래프를 선택한 경우 해당 특성이 강조되어 그래프에 출력되는 이미지를 나타낸 도면이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 일 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법을 수행하기 위한 컴퓨팅 시스템을 나타내는 블록도이다.
도 1을 참조하면, 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법을 수행하기 위한 컴퓨팅 시스템은, 프로세서(100), 메모리(200) 입력 장치(300), 디스플레이(400) 및 버스(10)를 포함할 수 있다.
컴퓨팅 시스템은 데스크탑 컴퓨터, 워크스테이션, 서버 등과 같은 고정형 컴퓨팅 시스템일 수도 있고, 랩탑 컴퓨터, 스마트폰, 태플릿 등과 같은 휴대형 컴퓨티 시스템일 수도 있다.
프로세서(100)는 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 실행하도록 구성될 수 있다. 예를 들어, 프로세서(100)는 메모리(200)에 저장된 회로 설계 프로그램(210)을 실행할 수 있다.
메모리(200)에 기록된 회로 설계 프로그램(210)은 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법의 각각의 단계를 수행하는 명령어를 포함할 수 있으며, 프로세서(100)는 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법의 각각의 단계를 수행하는 명령어를 실행할 수 있다.
메모리(200)는 앞서 설명한 바와 같이 집적 회로의 설계를 위한 전자 설계 자동화 툴(EDA)을 포함하는 회로 설계 프로그램(210)을 저장할 수 있다.
회로 설계 프로그램(210)은 스키매틱 상에서 회로를 설계하기 위한 명령어들을 포함하는 설계 프로그램, 또는 설계된 회로를 시뮬레이션하여 각각의 입출력 포트 사이의 주파수 응답 특성을 획득하기 위한 명령어들을 포함하는 시뮬레이션 프로그램을 포함할 수 있다.
메모리(200)는 프로세서(100)에 의해 처리될 데이터 또는 처리된 데이터를 저장할 수 있다.
예를 들어, 메모리(200)는 설계 프로그램에서 사용자에 의해 설계된 회로 설계도의 이미지를 저장하는 스토리지(220)를 포함할 수 있으며, 회로 설계도의 이미지는 회로 설계도의 전체 이미지 및 회로 설계도에서 내부 포트를 미리 설정된 배율로 확대한 이미지를 포함할 수 있다.
또한, 스토리지(220)는 설계된 회로를 시뮬레이션하여 획득한 시뮬레이션 결과를 저장할 수 있다. 예를 들어, 회로 블록(600)의 입출력 포트들 간의 주파수 응답 특성 그래프를 저장할 수 있으며, 각 입출력 포트들 간의 S-parameter를 저장할 수 있다.
이를 위한 메모리(200)는 SRAM(Static Random Access Memory)이나 DRAM(Dynamic RAM)과 같은 휘발성 메모리이거나, PRAM(Phase-change RAM), MRAM(Magnetic RAM), ReRAM(Resistive RAM), FRAM(Ferroelectrics RAM), 플래시 메모리 등의 비휘발성 메모리일 수 있다.
또한, 메모리(200)는 메모리 카드(MMC, eMMC, SD, MicroSD 등), SSD(Solid State Drive), HDD(Hard Disk Drive), 자기 테이프, 광학 디스크, 자기 디스크와 같은 저장 매체를 포함할 수도 있다. 또한, 메모리(200)는 컴퓨팅 시스템으로부터 탈착 가능할 수도 있다.
입력 장치(300)는 사용자로부터 각종 명령을 입력 받을 수 있는 사용자 인터페이스를 포함할 수 있다. 예를 들어, 입력 장치(300)는 키보드, 마우스, 터치 패드 등으로 구현될 수 있다. 사용자는 입력 장치(300)를 통해 각종 회로를 설계하기 위한 데이터를 입력할 수 있으며, 회로 블록(600)을 시뮬레이션 하기 위한 시뮬레이션 명령을 입력할 수 있다.
디스플레이(400)는 회로 설계 프로그램(210)을 실행할 때 생성되는 각종 정보를 표시할 수 있다. 예를 들어, 디스플레이(400)는 프로세서(100)가 메모리(200)에 저장된 회로 설계 프로그램(210)을 실행하는 경우 회로 설계 프로그램(210)에 대한 그래픽 사용자 인터페이스, 사용자가 회로 블록(600)의 내부의 회로 설계도를 설계하는 경우 스키매틱, 회로 블록(600)의 시뮬레이션 결과 등을 출력할 수 있다.
버스(10)는 컴퓨터 시스템의 내부에서 네트워크를 제공하기 위한 시스템 버스(10)(System Bus)일 수 있다. 프로세서(100), 메모리(200), 입력 장치(300) 및 디스플레이(400)는 버스(10)를 통해서 전기적으로 연결되고 상호 데이터를 교환할 수 있다. 다만, 버스(10)의 구성은 상술한 설명에만 한정되지 않으며, 효율적인 관리를 위한 중재 수단들을 더 포함할 수 있다.
이상으로 후술할 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법을 수행하기 위한 컴퓨팅 시스템의 각 구성을 설명하였다.
이하 도 2 내지 도 8을 참조하여 일 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법을 설명한다.
도 2 및 도 3은 일 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법의 순서도이고, 도 4는 일 실시예에 따른 회로 블록과 회로 블록 내부의 회로 설계도를 나타낸 도면이고, 도 5는 서브 서킷과 연결된 핀의 네트 네임에 따라 입출력 포트의 배치 또는 모양이 변경되는 과정을 설명하기 위한 도면이고, 도 6은 회로 블록의 입출력 포트 사이를 연결하는 가상의 선을 설명하기 위한 도면이고, 도 7은 회로 블록의 입출력 포트 중 차동쌍에 해당하는 입출력 포트들을 표시하는 방법을 나타낸 도면이고, 도 8은 사용자가 회로 블록의 입출력 포트 중 어느 하나를 선택한 경우 출력되는 이미지를 나타낸 도면이다.
도 2를 참조하면, 사용자가 입력 장치(300)를 통해 회로 블록(600)의 입출력 포트의 정보를 입력하면, 프로세서(100)가 회로 블록(600)의 입출력 포트의 정보를 수신할 수 있다(1000).
입출력 포트의 정보는 회로 블록(600)에 연결될 입출력 포트의 개수, 네임, 모양, 위치 등에 대한 정보를 포함할 수 있다.
프로세서(100)는 입출력 포트의 개수, 네임, 모양, 위치 등에 대한 정보에 기초하여 회로 블록의 그래픽 사용자 인터페이스를 생성할 수 있으며, 디스플레이(400)는 프로세서(100)에 의해 생성된 회로 블록의 그래픽 사용자 인터페이스를 출력할 수 있다.
또한, 프로세서(100)는 회로 블록(600)의 내부의 회로 설계도를 수신할 수 있다(1100). 프로세서(100)가 수신한 회로 설계도는 스토리지(220)에 저장된 미리 설계된 회로 설계도일 수도 있고, 사용자가 직접 설계한 회로 설계도일 수도 있다.
즉, 사용자는 입력 장치(300)를 통해 미리 설계된 회로 설계도를 불러올 수도 있으며, 입력 장치(300)를 통해 직접 회로를 설계할 수도 있다.
도 4를 참조하면, 회로 블록(600)은 입출력 포트(Port 1, Port 2, Port 3, Port 4, Port 5)와 연결되어 있으며, 회로 블록(600)의 하위 레이어에는 회로 설계도가 포함되어 있을 수 있다.
위와 같은 회로 설계도는 복수의 서브 서킷(Sub-Circuit)을 포함할 수 있으며, 복수의 서브 서킷과 배선이 연결된 형태로 구성될 수 있다.
또한, 회로 설계도는 배선과 연결된 내부 포트를 포함할 수 있으며, 이러한 내부 포트는 상위 레이어에서 회로 블록(600)의 입출력 포트와 대응될 수 있다.
서브 서킷이란 복수의 노드(이하, '핀')를 갖는 분기 회로를 의미할 수 있다.
예를 들어, 서브 서킷은 논리 게이트 등을 포함할 수 있다.
복수의 서브 서킷의 핀과 연결된 배선은 네트 네임(net name)을 부여 받을 수 있다. 예를 들어, 사용자는 서브 서킷의 핀과 연결된 배선에 대하여 자신의 편의에 맞추어 네트 네임을 입력할 수 있으며, 미리 설계된 회로도의 경우 이전 설계 사용자에 의해 각 배선에 네트 네임이 부여되어 있을 수 있다.
메모리(200)는 복수의 서브 서킷의 핀과 연결된 배선의 네트 네임 및 복수의 서브 서킷의 핀과 연결된 입출력 포트의 정보를 저장할 수 있다(1200).
예를 들어, 제1 서브 서킷의 핀과 연결된 배선의 네트 네임이 'A'이고, 네트 네임이 'A'인 배선과 연결된 내부 포트와 대응되는 외부 회로 블록(600)의 제1 입출력 포트의 네임이 'B'일 때, 제1 입출력 포트 'B'와 연결된 배선의 네트 네임 'A'를 서로 매칭시켜 저장할 수 있다.
이후 프로세서(100)는, 복수의 서브 서킷의 핀과 연결된 배선의 네트 네임 및 복수의 서브 서킷의 핀과 연결된 입출력 포트의 정보에 기초하여 회로 블록(600)의 그래픽 사용자 인터페이스를 변경시킬 수 있다(1300).
예를 들어, 프로세서(100)는 회로 블록(600)의 입출력 포트의 배치 또는 모양을 변경시키거나, 회로 블록(600)의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성함으로써 회로 블록(600)의 그래픽 사용자 인터페이스를 변경할 수 있다.
즉, 앞서 예시에서 제1 서브 서킷의 핀과 연결된 배선의 네트 네임인 'A'와 네트 네임이 'A'인 배선과 연결된 제1 입출력 포트의 정보에 기초하여 제1 입출력 포트의 배치 또는 모양을 변경시킬 수 있다.
회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 구체적인 방법은 도 3 내지 도 7을 참조하여 상세하게 설명한다.
도 3을 참조하면, 프로세서(100)는 복수의 서브 서킷의 핀 중에서 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 핀이 존재하는지 여부를 판단하고, 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 입출력 포트가 존재하면(1310), 미리 설정된 네임에 따라 입출력 포트의 배치 또는 모양을 변경할 수 있다(1315).
이 때, 미리 설정된 네임은 VDD, GND, PW, CLK 및 CK 중 적어도 하나를 포함할 수 있다. 즉, 미리 설정된 네임은 사용자가 회로를 설계할 때 통상적으로 사용하는 네트 네임을 포함할 수 있다.
즉, 프로세서(100)는 회로 블록(600)의 각각의 입출력 포트와 연결된 배선의 네트 네임에 기초하여, 입출력 포트의 배치 또는 모양을 변경할 수 있다.
도 5를 참조하면, Port 2는 'CK'라는 네트 네임을 갖는 배선과 연결되어 있음을 확인할 수 있으며, 'CK'는 주로 클럭 신호가 입력되는 배선의 네트 네임으로 활용된다.
사용자가 회로 블록(600)의 그래픽 사용자 인터페이스에서 'CK'와 연결된 Port 2가 클럭 신호가 입력되는 입출력 포트라는 점을 직관적으로 파악할 수 있도록, 프로세서(100)는 Port 2의 배치를 회로 블록(600)의 왼쪽 아래로 이동시킬 수 있으며, Port 2가 연결되는 부분에 삼각형 형상을 부가시킬 수 있다.
또한, Port 3은 'VDD'라는 네트 네임을 갖는 배선과 연결되어 있음을 확인할 수 있으며, 'VDD'는 주로 MOSFET의 드레인 전압(전원)이 입력되는 배선의 네트 네임으로 활용된다.
사용자가 회로 블록(600)의 그래픽 사용자 인터페이스에서 'VDD'와 연결된 Port 3이 드레인 전압이 입력되는 입출력 포트라는 점을 직관적으로 파악할 수 있도록, 프로세서(100)는 Port 3의 길이를 다른 포트의 길이보다 더욱 길게 변형시킬 수 있다.
또한, Port 4는 'GND'라는 네트 네임을 갖는 배선과 연결되어 있음을 확인할 수 있으며, 'GND'는 주로 모든 회로에 대해 전기적인 기준이 되는 전도체(접지)와 연결되는 배선의 네트 네임으로 활용된다.
사용자가 회로 블록(600)의 그래픽 사용자 인터페이스에서 'GND'와 연결된 Port 4가 접지와 연결되는 입출력 포트라는 점을 직관적으로 파악할 수 있도록, 프로세서(100)는 Port 4의 길이를 다른 포트의 길이보다 더욱 길게 변형시키고 Port 4의 일단에 접지 심볼을 추가할 수 있다.
Port 1 내지 Port 4에 대한 그래픽 사용자 인터페이스의 변화는 예시적인 것이며, 사용자에의 설정에 의해 변경될 수 있거나, 사용자가 각 포트의 정보를 직관적으로 파악할 수 있도록 하는 다른 방법으로 변화될 수 있음은 물론이다.
또한, 앞서 언급된 미리 설정된 네임들은 예시적인 것이며, 사용자에 설정이나 신경망의 학습에 의해 추가될 수 있다.
즉, 컴퓨팅 시스템 또는 컴퓨팅 시스템과 통신하는 서버는 네트 네임과 네트 네임의 역할 사이의 상관 관계를 학습할 수 있는 신경망을 포함할 수 있다.
신경망은 다층 퍼셉트론(multilayer perceptron) 구조에 따라 복수 개의 레이어를 포함할 수 있다. 즉, 신경망에 포함된 복수 개의 유닛들은 복수 개의 레이어로 분류될 수 있다.
다중 퍼셉트로 구조의 신경망은 복수 개의 레이어로 구현되어, 더 복잡한 모델에 대하여 학습할 수 있다.
또한, 복수 개의 레이어로 분류된 유닛들은 소정의 연결 강도로 서로 연결될 수 있다. 이때, 각 유닛은 서로 관련성이 높은 유닛들만 연결될 수 있다.
인간의 두뇌는 시냅스의 연결 형태 또는 연결 강도를 조절하여 학습한다. 즉, 두뇌는 잘못된 답으로 이끄는 뉴런들 사이의 연결을 약화시키고, 올바른 답으로 이끄는 뉴런들 사이의 연결을 강화시키는 방향으로 시냅스의 연결 강도를 조절하여 학습된다.
신경망도 상술한 인간의 두뇌의 학습 방법을 모방하여 학습된다. 여기서, 학습이란, 소정의 학습 데이터로부터 패턴을 찾아내어 일반화하는 것으로, 신경망은 올바른 답으로 이끄는 유닛들 사이의 연결 강도가 강화되도록 학습된다.
신경망은 각종 회로 설계도에 대한 시뮬레이션 결과를 입력 받을 수 있다. 예를 들어, 신경망은 회로 설계도에 포함된 네트 네임과 네트 네임을 갖는 배선에 인가되는 전압, 전류 값을 입력 받을 수 있고, 네트 네임과 네트 네임의 역할에 대한 상관 관계를 학습할 수 있다.
즉, 특정 사용자가 지속적으로 'D'라는 네트 네임을 갖는 배선을 인풋 전압을 인가하기 위한 입출력 포트와 연결시킨다면 신경망은 'D'라는 네트 네임을 미리 설정된 네임으로 저장할 수 있으며, 'D'라는 네트 네임을 갖는 배선과 연결되는 입출력 포트를 인풋 전압의 입력 포트로 결정할 수 있다.
또한, 신경망은 인풋 전압의 입력 포트로 사용되는 입출력 포트의 위치에 대한 정보를 수신하여 학습함으로써 입력 포트로 사용되는 입출력 포트의 배치 방법을 저장할 수 있다.
다시 도 3을 참조하면, 프로세서(100)는 복수의 서브 서킷의 핀들 중에서 각 핀 사이의 저항 값이 미리 설정된 값 이하인 두 개의 핀을 검색할 수 있다(1320). 이후 프로세서(100)는 두 개의 핀 각각과 연결된 입출력 포트를 연결하는 가상의 선을 생성하여 회로 블록(600)의 그래픽 사용자 인터페이스를 변경할 수 있다(1325).
즉, 복수 개의 서브 서킷의 핀은 제1 핀과 제2 핀을 포함하고, 프로세서(100)는 제1 핀과 제2 핀 사이의 저항 값이 미리 설정된 값 이하이면 입출력 포트 중에서 제1 핀과 연결된 제1 입출력 포트와 제2 핀과 연결된 제2 입출력 포트를 연결하는 가상의 선을 생성할 수 있다.
이 때, 미리 설정된 저항 값은 두 개의 핀 사이가 단락(short)된 것으로 판단될 수 있는 정도의 작은 저항 값으로 설정될 수 있다.
예를 들어, 미리 설정된 저항 값은 1옴으로 설정될 수 있으나, 사용자의 설정에 따라, 혹은 앞서 설명한 신경망의 학습에 따라 변경될 수 있다.
도 6을 참조하면, 왼쪽에 위치하는 인버터는 Vin이 입력되는 제1 핀을 포함하고, 오른쪽에 위치하는 인버터는 Vout이 출력되는 제2 핀을 포함할 수 있다.
또한 제1 핀과 제2 핀 사이의 저항 값은 1옴 이하일 수 있다.
따라서, 프로세서(100)는 제1 핀과 연결된 배선의 네트 네임(Vin)에 기초하여 제1 핀과 연결된 Port 1을 검색하고, 제2 핀과 연결된 배선의 네트 네임(Vout)에 기초하여, 제2 핀과 연결된 Port 4를 검색하고, 회로 블록(600)의 그래픽 사용자 인터페이스에서 Port 1과 Port 4를 연결하는 가상의 선(VL)을 생성할 수 있다.
위와 같은 가상의 선은 연결 관계에 따라 점선, 실선 등으로 표현될 수 있다.
사용자는 회로 블록(600)의 그래픽 사용자 인터페이스 상에서 Port 1과 Port 4가 연결되어 있는 것을 확인하고, Port 1과 Port 4가 단락된 사실을 직관적으로 파악할 수 있다.
다시 도 3을 참조하면, 프로세서(100)는 복수의 서브 서킷의 핀들 중에서 식별자를 제외한 네트 네임이 동일한 두 개의 배선과 연결된 두 개의 핀이 존재하면(1330), 두 개의 핀 각각과 연결된 입출력 포트를 인접하게 배치시키고 함께 분류할 수 있다(1335).
즉, 복수 개의 서브 서킷의 핀은 제1 핀과 제2 핀을 포함하고, 프로세서(100)는 제1 핀과 연결된 배선의 네트 네임이 제1 식별자를 포함하면, 제1 식별자를 제외한 제1 네트 네임을 결정하고, 제2 핀과 연결된 배선의 네트 네임이 제2 식별자를 포함하면, 제2 식별자를 제외한 제2 네트 네임을 결정하고, 제1 네트 네임과 제2 네트 네임이 동일하고, 제1 식별자와 제2 식별자가 상이하면 입출력 포트 중 제1 핀과 연결된 제1 입출력 포트와 제2 핀과 연결된 제2 입출력 포트를 서로 인접하게 배치시킬 수 있다.
이 때, 식별자는 언더바(_)와 언더바(_) 이후 병기된 글자를 의미할 수 있고, 식별자를 제외한 네트 네임은 언더바(_) 이전에 병기된 글자를 의미할 수 있다.
식별자를 제외한 네트 네임이 서로 동일한 각 배선은 주로 차동쌍의 입력 또는 출력을 위한 입출력 포트와 연결된다.
따라서, 식별자를 제외한 네트 네임이 서로 동일한 각 배선과 연결된 두 개의 입출력 포트를 서로 인접하게 배치하고, 함께 분류함으로써 사용자는 두 개의 입출력 포트가 차동쌍 관계에 있다는 점을 직관적으로 파악할 수 있다.
도 7을 참조하면, Port 1과 연결된 배선의 네트 네임에서 식별자(_p)를 제외한 네트 네임은 'Vin'인 것을 확인할 수 있으며, Port 4와 연결된 배선의 네트 네임에서 식별자(_n)를 제외한 네트 네임 또한 'Vin'인 것을 확인할 수 있다.
즉, 식별자(_p, _n)를 제외하는 경우 Port 1과 연결된 배선의 네트 네임 및 Port 4와 연결된 네트 네임이 'Vin'으로 동일하고, 식별자가 서로 _n, _p로 상이하므로, Port 1과 Port 4는 서로 인접하게 배치될 수 있다.
마찬가지로, Port 5와 Port 6도 서로 인접하게 배치될 수 있다.
두 개의 입출력 포트가 서로 인접하게 배치되는 것은, 두 개의 입출력 포트 사이에 다른 입출력 포트가 배치되지 않도록 입출력 포트들이 배치되는 것을 의미할 수 있다.
또한, 회로 블록(600)의 그래픽 사용자 인터페이스는 Port 1과 Port 4를 함께 묶는 가상의 박스, Port 5와 Port 6을 함께 묶는 가상의 박스(VC)를 생성함으로써 Port 1과 Port 4, Port 5와 Port 6을 함께 분류할 수 있다.
다만, Port 1과 Port 4, Port 5와 Port 6를 함께 분류하는 방법은 앞서 설명한 방법에 한정되는 것이 아니며, 사용자가 직관적으로 파악할 수 있는 방법이라면 한정 없이 사용될 수 있다.
이상으로 도 3 내지 도 7을 참조하여 회로 블록(600)의 사용자 그래픽 인터페이스를 변경하는 방법의 예시들을 살펴보았다.
다시 도 2를 참조하면, 디스플레이(400)는 프로세서(100)에 의해 변경된 회로 블록(600)의 그래픽 사용자 인터페이스를 출력할 수 있다(1400).
이후 회로 블록(600)의 그래픽 사용자 인터페이스에 대하여, 사용자가 특정 입출력 포트를 선택한다면(1500의 예) 프로세서(100)는 선택된 포트가 강조된 회로 설계도의 이미지를 생성할 수 있으며, 디스플레이(400)는 선택된 포트가 강조된 회로 설계도의 이미지를 출력할 수 있다(1600).
구체적으로, 프로세서(100)는 사용자로부터 입출력 포트 중 어느 하나의 입출력 포트에 대한 선택을 수신할 수 있고, 사용자의 선택에 응답하여 회로 설계도의 전체 이미지에서 사용자로부터 선택된 입출력 포트와 대응되는 내부 포트를 강조할 수 있으며, 이후 디스플레이(400)는 회로 설계도의 전체 이미지를 출력할 수 있다.
또 다른 예로, 프로세서(100)는 사용자의 선택에 응답하여 회로 설계도의 전체 이미지에서 사용자로부터 선택된 입출력 포트와 대응되는 내부 포트를 미리 설정된 배율로 확대한 이미지를 메모리(200)로부터 불러올 수 있으며, 디스플레이(400)는 사용자로부터 선택된 입출력 포트와 대응되는 내부 포트를 미리 설정된 배율로 확대한 이미지를 출력할 수 있다.
도 8을 참조하면, 사용자가 입력 장치(300)를 이용하여 회로 블록(600)의 그래픽 사용자 인터페이스에서 Port 1을 선택한 경우, 내부의 회로 설계도의 전체 이미지에서 Port 1이 강조된 이미지(CI) 및/또는 회로 설계도의 전체 이미지에서 Port 1이 미리 설정된 배율로 확대된 이미지(ZI)가 출력되는 것을 확인할 수 있다.
위와 같이 사용자가 회로 블록(600)의 그래픽 사용자 인터페이스에서 특정 포트를 선택한 경우 내부 회로 설계도에서의 특정 포트의 위치를 표시해줌으로써 사용자로 하여금 특정 포트의 정보를 보다 신속하고 정확하게 파악하도록 할 수 있다.
이상으로 도 2 내지 도 8을 참조하여, 일 실시예에 따른 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법을 설명하였다.
이하에서는 도 9 내지 도 14를 참조하여 다른 실시예에 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법을 설명한다.
도 9 및 도 10은 다른 실시예에 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법의 순서도이고, 도 11은 시뮬레이션에 따라 주파수 응답 특성을 산출하는 S-parameter 행렬을 나타낸 도면이고, 도 12는 회로 블록(600)의 주파수 응답 특성을 시뮬레이션하여 획득한 주파수 응답 특성 그래프를 나타낸 도면이고, 도 13은 사용자가 시뮬레이션 결과 및 특성을 내포하고 있는 그래픽 사용자 인터페이스가 변경된 회로 블록의 가상의 선을 선택한 경우 해당 특성이 강조되어 그래프에 출력되는 이미지를 나타낸 도면이고, 도 14는 사용자가 시뮬레이션 결과 및 특성을 내포하고 있는 그래픽 사용자 인터페이스가 변경된 회로 블록의 입출력 포트를 선택한 경우 해당 특성이 강조되어 그래프에 출력되는 이미지를 나타낸 도면이다.
도 9를 참조하면, 사용자가 입력 장치(300)를 통해 회로 블록(600)의 시뮬레이션 명령을 입력하면, 프로세서(100)는 시뮬레이션 명령을 수신할 수 있다(2000).
시뮬레이션 명령을 수신하면, 프로세서(100)는 회로 블록(600)에 포함된 회로 설계도에 기초하여 회로 블록(600)의 주파수 응답 특성을 시뮬레이션할 수 있다.
메모리(200)는 프로세서(100)에 의해 수행된 회로 블록(600)의 주파수 응답 특성에 대한 시뮬레이션 결과를 저장할 수 있다(2100).
도 11을 참조하면, 주파수 응답 특성에 대한 시뮬레이션 결과는 각각의 입출력 포트 사이의 S파라미터(S-parameter)를 포함할 수 있다.
S파라미터는 다양한 주파수에서 입출력 포트 사이의 입력과 출력의 비를 표현한 파라미터이다.
예를 들어, S 12는 제1 입출력 포트를 입력 포트로 하고 제2 입출력 포트를 출력 포트로 하여 입력과 출력의 비를 표현한 파라미터이고, S 21은 제2 입출력 포트를 입력 포트로 하고 제1 입출력 포트를 출력 포트로 하여 입력과 출력의 비를 표현한 파라미터이다.
또한, S파라미터는 각각의 입출력 포트의 자체 반사 값, 즉, 입력 포트와 출력 포트가 동일한 경우 자기 자신이 출력하여 돌려 받은 반사된 값의 비율을 포함할 수 있다.
예를 들어, S 11 은 제1 입출력 포트르 입력 포트로 하고, 제1 입출력 포트를 출력 포트로 하여 입력과 출력의 비를 표현한 파라미터이다.
따라서, 입출력 포트의 개수가 n개라고 가정하면, S파라미터를 나타낸 S행렬은 n X n 행렬일 수 있다. 예를 들어, 입출력 포트의 개수가 4개인 경우 S행렬은 4x4 행렬일 수 있다.
도 12를 참조하면, 주파수 응답 특성에 대한 시뮬레이션 결과는 각각의 입출력 포트 사이의 주파수 응답 특성 그래프를 포함할 수 있다.
이 때, 주파수 응답 특성의 그래프의 개수는 S행렬의 원소 개수와 동일할 수 있다.
다시 도 9를 참조하면, 프로세서(100)는 회로 블록(600)의 주파수 응답 특성에 대한 시뮬레이션 결과에 기초하여 회로 블록(600)의 그래픽 사용자 인터페이스를 변경할 수 있다(2200).
회로 블록(600)의 주파수 응답 특성에 대한 시뮬레이션 결과에 기초하여 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 구체적인 방법은 도 10을 참조하여 후술한다.
도 10을 참조하면, 프로세서(100)는 제1 입출력 포트와 제2 입출력 포트 사이의 주파수 응답 특성이 미리 설정된 주파수(f0) 이하의 주파수에서 미리 설정된 이상의 크기를 갖는다면(2310의 예), 제1 입출력 포트와 제2 입출력 포트를 연결하는 가상의 선을 생성할 수 있다(2315).
이 때, 미리 설정된 주파수(f0)는 저주파의 기준이 되는 주파수로 설정될 수 있으며, 예를 들어 미리 설정된 주파수(f0)는100Hz 이하로 설정될 수 있다.
또한, 미리 설정된 크기는 입력 대비 출력 비가 1이상인 경우의 기준이 되는 크기로 설정될 수 있으며, 예를 들어 미리 설정된 크기는 0dB 이상으로 설정될 수 있다.
다만, 미리 설정된 주파수(f0) 및 미리 설정된 크기는 사용자에 의해 설정될 수도 있으며, 앞서 설명한 신경망에 의해 학습되어 변경될 수 있다.
제1 입출력 포트와 제2 입출력 포트 사이의 주파수 응답 특성이 저주파수 구간에서 0dB 이상의 크기를 갖는 경우 직류(DC) 관점에서 두 개의 입출력 포트는 단락된 것으로 간주할 수 있다.
따라서, 프로세서(100)가 제1 입출력 포트와 제2 입출력 포트 사이의 주파수 응답 특성이 미리 설정된 주파수(f0) 이하의 주파수에서 미리 설정된 이상의 크기를 갖는 경우 제1 입출력 포트와 제2 입출력 포트를 연결하는 가상의 선을 생성함으로써 사용자로 하여금 제1 입출력 포트와 제2 입출력 포트 사이가 DC적으로 단락되어 있다는 점을 직관적으로 파악하게 할 수 있다.
도 10에는 도시되어 있지 않지만, 도 5를 참조하여 전술한 바와 같이, 프로세서(100)는 시뮬레이션 결과에 기초할 때 회로 블록(600) 내부에 포함된 복수의 서브 서킷의 핀 중에서 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 핀이 존재하면, 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 입출력 포트를 이동시키거나 변형시킬 수 있다.
회로 블록(600)에 대하여 시뮬레이션을 하는 경우 스키매틱 상에서 구현된 서브 서킷, 배선, 포트 등이 netlist 형태로 변경되기 때문에, 프로세서(100)는 시뮬레이션 결과에 기초할 때 회로 블록(600) 내부에 포함된 복수의 서브 서킷의 핀 중에서 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 핀이 존재하는지 여부를 판단할 수 있다.
프로세서(100)는 회로 블록(600)의 입출력 포트 중에서 시뮬레이션 명령에서 차동쌍으로 설정된 제1 입출력 포트 및 제2 입출력 포트가 존재하면(2320의 예), 차동쌍으로 설정된 제1 입출력 포트 및 제2 입출력 포트를 서로 인접하게 배치시키고 함께 분류할 수 있다(2325).
사용자가 시뮬레이션 명령을 내리는 경우, 차동쌍에 대해서는 별도의 설정을 수행하는 바, 프로세서(100)는 시뮬레이션 명령에 기초하여 차동쌍인 입출력 포트들을 결정할 수 있다.
프로세서(100)는 제1 입출력 포트를 입력 포트로 하고 제2 입출력 포트를 출력 포트로 하여 획득한 주파수 응답 특성이 미리 설정된 주파수(f1)의 주파수에서 미리 설정된 이상의 크기를 갖는다면(2330의 예), 제1 입출력 포트와 제2 입출력 포트를 연결하는 가상의 선을 생성할 수 있다(2335).
이 때, 미리 설정된 주파수(f1)는 사용자에 의해 설정될 수 있으며, 앞선 단계(2310)에서 설명한 미리 설정된 주파수(f0)보다 크게 설정될 수 있다. 또한, 미리 설정된 크기는 앞선 단계(2310)에서 설명한 바와 같이 0dB 이상으로 설정될 수 있다.
만약, 제1 입출력 포트와 제2 입출력 포트 사이의 주파수 응답 특성이 미리 설정된 주파수(f1)에서 0dB 이상이라면, 제1 입출력 포트와 제2 입출력 포트 사이에는 미리 설정된 주파수(f1)의 주파수 대역에서 신호를 통과시키는 밴드 패스 필터(Band Pass Filter; BPF)가 마련되어 있다고 간주될 수 있다.
따라서, 이 때 제1 입출력 포트와 제2 입출력 포트를 연결하는 가상의 선은, 밴드 패스 필터의 주파수 응답 특성 그래프 모양일 수 있다.
이에 따라, 사용자는 제1 입출력 포트와 제2 입출력 포트 사이에 어떠한 밴드 패스 필터가 존재한다는 것을 직관적으로 파악할 수 있다.
도 13을 참조하면, 입출력 포트들을 연결하는 가상의 선들(VB, VL) 중에서 Port 1과 Port 30을 연결하는 가상의 선(VB)은 밴드 패스 필터의 주파수 응답 특성 그래프 모양인 것을 확인할 수 있다.
이에 따라, 사용자는 Port 1과 Port 30 사이에 특정 주파수 대역의 신호를 통과시키는 밴드 패스 필터가 존재한다는 것을 확인할 수 있다.
또한, 사용자는 Port 4와 Port 32의 사이는 DC관점에서 단락되어 있다는 사실을 확인할 수 있다.
다시 도 10을 참조하면, 프로세서(100)는 제1 입출력 포트를 입력 포트로 설정하고 제2 입출력 포트를 출력 포트로 설정하여 획득한 시뮬레이션 결과가 제2 입출력 포트를 입력 포트로 설정하고 제1 입출력 포트를 출력 포트로 설정하여 획득한 시뮬레이션 결과와 상이하면(2340의 예) 제1 입출력 포트와 제2 입출력 포트를 연결하는 가상의 선을 생성할 수 있다(2345).
또한, 프로세서(100)는 생성된 가상의 선의 일 단에 화살표 모양의 도형을 추가함으로써 제1 입출력 포트와 제2 입출력 포트 사이가 비가역적이라는 것을 직관적으로 표현할 수 있다.
도 13을 참조하면, Port 1과 Port 30을 연결하는 가상의 선(VB)은 일 단에 화살표 모양의 도형(P)이 추가되어 있는 것을 확인할 수 있다.
이로써 사용자는 Port 1로부터 Port 30으로의 주파수 응답 특성이 Port 30으로부터 Port 1로의 주파수 응답 특성과 상이하다는 것을 직관적으로 확인할 수 있다.
이상으로 도 10을 참조하여 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 구체적인 예시들을 살펴보았다.
다시 도 9를 참조하면, 디스플레이(400)는 프로세서(100)에 의해 변경된 회로 블록(600)의 그래픽 사용자 인터페이스를 출력할 수 있다(2300).
이후 사용자가 입력 장치(300)를 통해 회로 블록(600)의 그래픽 사용자 인터페이스에서 특정 입출력 포트를 선택하면, 프로세서(100)는 회로 블록(600)의 입출력 포트 중 어느 하나의 입출력 포트에 대한 선택을 수신할 수 있다.
프로세서(100)는 사용자의 선택에 응답하여(2400의 예), 사용자로부터 선택된 입출력 포트를 입력 포트 및 출력 포트로 설정하여 획득한 주파수 응답 특성의 그래프를 강조할 수 있다(2450).
이후 디스플레이(400)는 사용자로부터 선택된 입출력 포트를 입력 포트 및 출력 포트로 설정하여 획득한 주파수 응답 특성의 그래프가 강조된 전체 주파수 응답 특성의 그래프를 출력하거나, 사용자로부터 선택된 입출력 포트를 입력 포트 및 출력 포트로 설정하여 획득한 주파수 응답 특성의 그래프만을 출력할 수 있다(2600).
도 14를 참조하면, 사용자가 입력 장치(300)를 통해 회로 블록(600)의 입출력 포트 중 Port 1을 선택한 것을 확인할 수 있다.
이에 대해, 프로세서(100)는 전체 입출력 포트 사이의 주파수 응답 특성 그래프 중에서 S파라미터 S 11에 대응되는 주파수 응답 특성 그래프만을 강조할 수 있다.
다시 도 9를 참조하면, 사용자가 입력 장치(300)를 통하여 회로 블록(600)의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 선택하면, 프로세서(100)는 가상의 선에 대한 선택을 수신할 수 있다(2500).
프로세서(100)는, 가상의 선에 대한 선택에 응답하여 선택된 가상의 선과 연결된 두 개의 입출력 포트 간의 주파수 응답 특성 그래프를 강조할 수 있다(2550).
이후 디스플레이(400)는 사용자로부터 선택된 가성의 선과 연결된 두 개의 입출력 포트 간의 주파수 응답 특성의 그래프가 강조된 전체 주파수 응답 특성의 그래프를 출력하거나, 사용자로부터 선택된 가성의 선과 연결된 두 개의 입출력 포트 간의 주파수 응답 특성의 그래프만을 출력할 수 있다(2600).
도 13을 참조하면, 사용자가 입력 장치(300)를 통해 회로 블록(600)의 Port 1과 Port 30을 연결하는 가상의 선(VB)을 선택한 것을 확인할 수 있다.
이에 대해, 프로세서(100)는 전체 입출력 포트 사이의 주파수 응답 특성 그래프 중에서 S파라미터 S 1,30과 S 30,1에 대응되는 주파수 응답 특성 그래프만을 강조할 수 있다.
이상으로 주파수 응답 특성에 기초하여 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법을 설명하였다.
이하에서는 도 15 내지 도 17을 참조하여 또 다른 실시예에 따른 회로 블록(600)의 그래픽 사용자 인터페이스를 변경하는 방법을 설명한다.
도 15는 또 다른 실시예에 따른 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법을 나타낸 순서도이고, 도 16 및 도 17은 사용자가 주파수 응답 특성 그래프에서 특정 그래프를 선택한 경우 해당 특성이 강조되어 그래프에 출력되는 이미지를 나타낸 도면이다.
도 15를 참조하면, 사용자로부터 회로 블록(600)에 대한 시뮬레이션 명령을 수신하여 프로세서(100)가 시뮬레이션 결과를 획득한 경우 디스플레이(400)는 회로 블록(600)의 입출력 포트 간의 주파수 응답 특성 그래프를 출력할 수 있다(3000).
이후 사용자는 입력 장치(300)를 통해 특정 그래프를 선택할 수 있으며, 프로세서(100)는 주파수 응답 특성 그래프 중에서 특정 그래프에 대한 선택을 수신할 수 있다(3100).
프로세서(100)는 특정 그래프와 같은 주파수 응답 특성을 나타내는 한 개 또는 두 개의 입출력 포트를 결정하고, 회로 블록(600) 상에 한 개 또는 두 개의 입출력 포트를 강조할 수 있다.
예를 들어, 프로세서(100)는 특정 그래프에 대응되는 주파수 응답 특성을 갖는 입출력 포트가 한 개인 경우, 즉, S파라미터의 대각 성분(S 11, S 22, S 33, ...)에 해당하는 주파수 응답 특성 그래프인 경우에는(3200의 예) 해당 입출력 포트를 강조할 수 있다(3250).
도 17을 참조하면, 사용자가 선택한 특정 그래프는 Port 1 자체의 반사 값의 주파수 응답 특성 그래프이다. 다시 말해서, 사용자가 선택한 특정 그래프에 대응되는 주파수 응답 특성을 갖는 입출력 포트는 Port 1 한 개인 상황이다.
따라서, 회로 블록(600)의 그래픽 사용자 인터페이스에서 Port 1이 강조(EL)될 수 있다.
이에 따라, 사용자는 선택한 주파수 응답 특성 그래프가 어느 포트의 자체 반사 값인지 직관적으로 확인할 수 있다.
프로세서(100)는 사용자가 선택한 특정 그래프에 대응되는 주파수 응답 특성을 갖는 입출력 포트가 두 개인 경우, 두 개의 입출력 포트를 연결하는 가상의 선이 존재하는 지 여부를 판단할 수 있다(3300).
이후 프로세서(100)는 사용자가 선택한 특정 그래프에 대응되는 주파수 응답 특성을 갖는 두 개의 입출력 포트가 가상의 선으로 연결되어 있지 않으면(3300의 아니오) 각각의 입출력 포트를 강조할 수 있다(3250).
반면, 프로세서(100)는 사용자가 선택한 특정 그래프에 대응되는 주파수 응답 특성을 갖는 두 개의 입출력 포트가 가상의 선으로 연결되어 있으면(3300의 예) 가상의 선을 강조할 수 있다(3350).
예를 들어, 도 16을 참조하면 사용자가 선택한 특정 그래프는 Port 1과 Port 30 사이의 주파수 응답 특성 그래프인 것을 확인할 수 있다.
프로세서(100)는 Port 1과 Port 30이 가상의 선으로 연결되어 있지 않으면 Port 1과 Port 30을 각각 강조할 수 있으며, Port 1과 Port 30이 가상의 선으로 연결되어 있다고 판단되면 가상의 선을 강조(EB)할 수 있다.
이후, 디스플레이(400)는 특정 입출력 포트가 강조되거나 특정 가상의 선이 강조된 회로 블록(600)의 그래픽 사용자 인터페이스를 출력할 수 있다(3400).
위와 같은 과정에 따라, 사용자는 주파수 응답 특성의 각각의 그래프가 어느 입출력 포트와 관련 있는 그래프인지 직관적으로 파악할 수 있다.
지금까지 설명한 본 개시에 따르면 전자 설계 자동화 툴에서 회로 블록(600)의 그래픽 사용자 인터페이스를 자동으로 변경함으로써 회로 블록(600)의 내부 설계도에 대한 직관적 정보 제공으로, 회로 블록(600)의 입출력 포트 간 연결도의 직관성을 부여하여 회로 블록(600)의 설계/분석 효율을 높일 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서(100)에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(read only memory), RAM(random access memory), 자기 테이프, 자기 디스크, 플래쉬 메모리(200), 광 데이터 저장장치 등이 있을 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 기록 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리(200)와 같은 기기로 읽을 수 있는 기록 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.

Claims (15)

  1. 회로 블록의 그래픽 사용자 인터페이스(Graphical User Interface; GUI)를 변경하는 방법에 있어서,
    프로세서가, 상기 회로 블록의 입출력 포트의 정보를 수신하고 상기 입출력 포트의 정보에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 생성하는 단계;
    디스플레이가, 상기 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계;
    상기 프로세서가, 상기 회로 블록의 내부의 회로 설계도(Circuit Design)를 수신하는 단계;
    메모리가, 상기 회로 설계도에 포함된 복수의 서브 서킷(Sub-Circuit)의 핀(Pin)과 연결된 배선의 네트 네임(Net name) 및 상기 복수의 서브 서킷의 핀과 연결된 상기 입출력 포트의 정보를 저장하는 단계;
    상기 프로세서가, 상기 복수의 서브 서킷의 핀과 연결된 배선의 네트 네임 및 상기 복수의 서브 서킷의 핀과 연결된 상기 입출력 포트의 정보에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계; 및
    상기 디스플레이가, 상기 변경된 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계;를 포함하고,
    상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는,
    상기 회로 블록의 입출력 포트의 배치 또는 모양을 변경시키는 단계 및 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계 중 적어도 하나를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  2. 제1항에 있어서,
    상기 회로 블록의 입출력 포트의 배치 또는 모양을 변경시키는 단계는,
    상기 복수의 서브 서킷의 핀과 연결된 배선 중에서 미리 설정된 네임과 동일한 네트 네임을 갖는 배선이 존재하면, 상기 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 상기 입출력 포트를 이동시키거나 변형시키는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  3. 제2항에 있어서,
    상기 미리 설정된 네임은,
    VDD, VSS, GND, PW, CLK 및 CK 중 적어도 하나를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  4. 제1항에 있어서,
    상기 복수의 서브 서킷의 핀은 제1 핀과 제2 핀을 포함하고,
    상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계는,
    상기 제1 핀과 상기 제2 핀 사이의 저항 값이 미리 설정된 값 이하이면, 상기 입출력 포트 중에서 상기 제1 핀과 연결된 제1 입출력 포트와 상기 제2 핀과 연결된 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  5. 제1항에 있어서,
    상기 복수의 서브 서킷의 핀은 제1 핀과 제2 핀을 포함하고,
    상기 회로 블록의 입출력 포트의 배치 또는 모양을 변경시키는 단계 및 상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계는,
    상기 제1 핀과 연결된 배선의 네트 네임이 제1 식별자를 포함하면, 상기 제1 식별자를 제외한 제1 네트 네임을 결정하는 단계;
    상기 제2 핀과 연결된 배선의 네트 네임이 제2 식별자를 포함하면, 상기 제2 식별자를 제외한 제2 네트 네임을 결정하는 단계; 및
    상기 제1 네트 네임과 상기 제2 네트 네임이 동일하고, 상기 제1 식별자와 상기 제2 식별자가 상이하면 상기 입출력 포트 중에서 상기 제1 핀과 연결된 제1 입출력 포트와 상기 제2 핀과 연결된 제2 입출력 포트를 서로 인접하게 배치시키는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  6. 제1항에 있어서,
    상기 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법은,
    상기 메모리가, 상기 회로 설계도의 전체 이미지를 저장하는 단계;
    상기 프로세서가, 사용자로부터 상기 입출력 포트 중 어느 하나의 입출력 포트에 대한 선택을 수신하는 단계;
    상기 프로세서가, 상기 사용자의 선택에 응답하여, 상기 회로 설계도의 전체 이미지에서 상기 사용자로부터 선택된 입출력 포트와 대응되는 내부 포트를 강조하는 단계; 및
    상기 디스플레이가, 상기 회로 설계도의 전체 이미지 출력하는 단계;를 더 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  7. 제6항에 있어서,
    상기 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법은,
    상기 메모리가, 상기 회로 설계도에서 상기 입출력 포트에 대응되는 내부 포트를 미리 설정된 배율로 확대한 이미지를 저장하는 단계; 및
    상기 디스플레이가, 상기 사용자의 선택에 응답하여, 상기 사용자로부터 선택된 입출력 포트와 대응되는 내부 포트를 미리 설정된 배율로 확대한 이미지를 출력하는 단계;를 더 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  8. 회로 블록의 그래픽 사용자 인터페이스(Graphical User Interface; GUI)를 변경하는 방법에 있어서,
    디스플레이가, 상기 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계;
    프로세서가, 사용자로부터 시뮬레이션 명령을 수신하고, 상기 시뮬레이션 명령에 응답하여 상기 회로 블록의 주파수 응답 특성을 시뮬레이션하는 단계;
    메모리가, 상기 회로 블록의 주파수 응답 특성에 대한 시뮬레이션 결과를 저장하는 단계;
    상기 프로세서가, 상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계; 및
    상기 디스플레이가, 상기 변경된 회로 블록의 그래픽 사용자 인터페이스를 출력하는 단계;를 포함하고,
    상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는,
    상기 회로 블록의 입출력 포트 간의 관계를 표시하기 위한 가상의 선을 생성하는 단계를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  9. 제8항에 있어서,
    상기 회로 블록의 입출력 포트는 제1 입출력 포트 및 제2 입출력 포트를 포함하고,
    상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는,
    상기 제1 입출력 포트를 입력 포트로 설정하고 상기 제2 입출력 포트를 출력 포트로 설정하여 주파수 응답 특성을 획득한 시뮬레이션 결과에 있어서, 미리 설정된 주파수 이하의 주파수에서 주파수 응답의 크기가 미리 설정된 크기 이상이면 상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  10. 제8항에 있어서,
    상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는,
    상기 회로 블록 내부에 포함된 복수의 서브 서킷의 핀 중에서 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 핀이 존재하면, 상기 미리 설정된 네임과 동일한 네트 네임을 갖는 배선과 연결된 상기 입출력 포트를 이동시키거나 변형시키는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  11. 제8항에 있어서,
    상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는,
    상기 회로 블록의 입출력 포트 중에서, 상기 시뮬레이션 명령에서 차동쌍으로 설정된 제1 입출력 포트 및 제2 입출력 포트를 서로 인접하게 배치시키는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  12. 제8항에 있어서,
    상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는,
    상기 회로 블록의 입출력 포트 중에서 제1 입출력 포트를 입력 포트로 설정하고 제2 입출력 포트를 출력 포트로 설정하여 주파수 응답 특성을 획득한 시뮬레이션 결과에 있어서, 미리 설정된 주파수에서 주파수 응답의 크기가 미리 설정된 크기 이상이면 상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  13. 제12항에 있어서,
    상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선은, 밴드 패스 필터(Band Pass Filter; BPF)를 나타내는, 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  14. 제8항에 있어서,
    상기 시뮬레이션 결과에 기초하여 상기 회로 블록의 그래픽 사용자 인터페이스를 변경시키는 단계는,
    상기 회로 블록의 입출력 포트 중에서 제1 입출력 포트를 입력 포트로 설정하고 제2 입출력 포트를 출력 포트로 설정하여 획득한 시뮬레이션 결과가 상기 제2 입출력 포트를 입력 포트로 설정하고 상기 제1 입출력 포트를 출력 포트로 설정하여 획득한 시뮬레이션 결과와 상이하면, 상기 제1 입출력 포트와 상기 제2 입출력 포트를 연결하는 가상의 선을 생성하는 단계;를 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
  15. 제8항에 있어서,
    상기 프로세서가, 상기 사용자로부터 상기 회로 블록의 입출력 포트 중 어느 하나의 입출력 포트에 대한 선택을 수신하는 단계;
    상기 프로세서가, 상기 사용자의 선택에 응답하여, 상기 사용자로부터 선택된 입출력 포트를 입력 포트 및 출력 포트로 설정하여 획득한 주파수 응답 특성의 그래프를 강조하는 단계; 및
    상기 디스플레이가, 상기 주파수 응답 특성의 그래프를 출력하는 단계;를 더 포함하는 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법.
PCT/KR2021/001822 2020-03-23 2021-02-10 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체 WO2021194089A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200034917A KR20210118544A (ko) 2020-03-23 2020-03-23 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체
KR10-2020-0034917 2020-03-23

Publications (1)

Publication Number Publication Date
WO2021194089A1 true WO2021194089A1 (ko) 2021-09-30

Family

ID=77892318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/001822 WO2021194089A1 (ko) 2020-03-23 2021-02-10 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체

Country Status (2)

Country Link
KR (1) KR20210118544A (ko)
WO (1) WO2021194089A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115688671A (zh) * 2022-11-14 2023-02-03 深圳市奇普乐芯片技术有限公司 布线方法、装置、终端及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240039938A (ko) * 2022-09-20 2024-03-27 주식회사 큐심플러스 양자 통신 회로를 가상적으로 시뮬레이션하기 위한 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010029612A (ko) * 1999-03-31 2001-04-06 가네꼬 히사시 회로시뮬레이션장치 및 그 시뮬레이션방법
KR100363087B1 (ko) * 2000-04-06 2002-12-02 삼성전자 주식회사 비표준 셀을 포함하는 집적회로의 설계 및 레이아웃 방법및 이를 기록한 기록매체
JP2011100481A (ja) * 2004-09-29 2011-05-19 Panasonic Corp 配線基板の設計システム、設計データの解析方法および解析プログラム
US20130328940A1 (en) * 2011-02-25 2013-12-12 Fujitsu Limited Designing device, designing method, and recording medium
KR20190135575A (ko) * 2012-12-27 2019-12-06 시놉시스, 인크. 전자 설계 자동화 툴의 그래픽 사용자 인터페이스에서의 핀 로케이션들의 업데이팅

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010029612A (ko) * 1999-03-31 2001-04-06 가네꼬 히사시 회로시뮬레이션장치 및 그 시뮬레이션방법
KR100363087B1 (ko) * 2000-04-06 2002-12-02 삼성전자 주식회사 비표준 셀을 포함하는 집적회로의 설계 및 레이아웃 방법및 이를 기록한 기록매체
JP2011100481A (ja) * 2004-09-29 2011-05-19 Panasonic Corp 配線基板の設計システム、設計データの解析方法および解析プログラム
US20130328940A1 (en) * 2011-02-25 2013-12-12 Fujitsu Limited Designing device, designing method, and recording medium
KR20190135575A (ko) * 2012-12-27 2019-12-06 시놉시스, 인크. 전자 설계 자동화 툴의 그래픽 사용자 인터페이스에서의 핀 로케이션들의 업데이팅

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115688671A (zh) * 2022-11-14 2023-02-03 深圳市奇普乐芯片技术有限公司 布线方法、装置、终端及存储介质
CN115688671B (zh) * 2022-11-14 2023-11-03 深圳市奇普乐芯片技术有限公司 布线方法、装置、终端及存储介质

Also Published As

Publication number Publication date
KR20210118544A (ko) 2021-10-01

Similar Documents

Publication Publication Date Title
WO2021194089A1 (ko) 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체
WO2020159232A1 (en) Method, apparatus, electronic device and computer readable storage medium for image searching
WO2020045927A1 (en) Electronic device and method for generating short cut of quick command
AU2018319215B2 (en) Electronic apparatus and control method thereof
WO2016111584A1 (en) User terminal for displaying image and image display method thereof
WO2019143227A1 (en) Electronic device providing text-related image and method for operating the same
EP2891041A1 (en) User interface apparatus in a user terminal and method for supporting the same
WO2023153821A1 (en) Method of compressing neural network model and electronic apparatus for performing the same
WO2018056642A2 (en) Electronic device and method thereof for managing applications
WO2022255632A1 (ko) Ux-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
WO2019074185A1 (en) ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF
EP3659073A1 (en) Electronic apparatus and control method thereof
WO2021221372A1 (ko) 제품의 불량과 연관된 정보를 제공하기 위한 전자 장치 및 그 동작 방법
WO2015178716A1 (en) Search method and device
WO2017069548A1 (ko) 복잡계 네트워크에서의 집합 관계 분석 시각화 장치 및 그 방법
WO2018191889A1 (zh) 照片处理方法、装置及计算机设备
WO2023163405A1 (ko) 신용평가 모델 업데이트 또는 교체 방법 및 장치
WO2021033834A1 (ko) 설문 데이터를 기반으로 한 맞춤형 정보 가공 및 제공 시스템 및 그 방법
WO2023055047A1 (en) Prediction model training method, information prediction method and corresponding device
WO2021158040A1 (ko) 대화의 맥락에 대응하는 발화를 제공하는 전자 장치 및 이의 동작 방법
WO2022131723A1 (ko) 도면 독해 및 검색 기능 제공방법 및 그 장치와 시스템
WO2020213885A1 (en) Server and control method thereof
WO2022065924A1 (ko) 전자 장치의 이모지 추천 방법 및 그 전자 장치
WO2024025328A1 (ko) 양자정보기술 시스템 설계/검증 및 사용자 이용 편의성 향상 처리 장치 및 방법
WO2016190636A1 (ko) 라이브웨어의 상태변환 예측 및 상태 개선 방법, 그리고 상기 방법을 구현하는 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21774232

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21774232

Country of ref document: EP

Kind code of ref document: A1