Method for changing string arrangement, recording medium for string arrangement changing program, and information processor

A method for changing, by using a computer, an arrangement of strings that are arranged along an inner periphery of a graphic and partially overlap one another is offered. The computer arranges the strings in a radial pattern from a reference point determined within the graphic, determines whether overlapping strings are present, and moves the reference point in a direction to separate from the overlapping strings when the computer determines that the overlapping strings are present.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2012-016469, filed on Jan. 30, 2012, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to a method for changing string arrangement, a recording medium for a string arrangement changing program, and an information processor.

BACKGROUND

In computer aided design (CAD) systems and the like, there are techniques in which, of the strings displayed within a drawing, superimposed strings are rearranged.

For example, there is a technique in which, when a target string is rearranged, whether another string or graphic information is present in a superimposing region is checked; if such a string or information is present, a rectangular rearrangement region that does not overlap with the arrangement position of which string or information is obtained, and the target string is translated to the obtained region.

There is another technique in which at least one of the character attributes of a target string, such as the size, spacing, inclination, and expansion direction, is changed, and then the target string is arranged.

For example, there may be a method for providing the shape and symbol pin positions (actual pin positions) of a rectangular circuit symbol that are equivalent to the shape of an actual part and writing signal names in the symbol pin positions.

Because of the form of the circuit symbol, the signal names arranged at each of the four corners may overlap one another. In this case, if the size of each signal name is decreased, the visibility of the signal names reduces. If the display positions of the signal names are moved using leader lines, the circuit symbol becomes complicated.

Japanese Laid-open Patent Publication No. 07-37116 is an example of related art.

SUMMARY

According to an aspect of the invention, a method for changing, by using a computer, an arrangement of strings that are arranged along an inner periphery of a graphic and partially overlap one another is offered. The computer arranges the strings in a radial pattern from a reference point determined within the graphic, determines whether overlapping strings are present, and moves the reference point in a direction to separate from the overlapping strings when the computer determines that the overlapping strings are present.

DESCRIPTION OF EMBODIMENTS

Information processors of embodiments are described below in detail with reference to the accompanying drawings.

First Embodiment

An information processor of a first embodiment performs processing for changing the arrangement of partially overlapping signal names (strings) within a rectangular circuit element model (circuit symbol) contained in a circuit diagram of a circuit under design. The circuit element model may be, for example, a central processing unit (CPU), application specific integrated circuit (ASIC), or the like.

First, the processing of the information processor of the first embodiment is described using a following method.

FIG. 1is a method illustrating the processing of the information processor of the first embodiment.

Step S1: The information processor sets a guideline on a diagonal line of a circuit element model and generates a focus on the set guideline. Then, the information processor proceeds to step S2.

Step S2: The information processor sets an auxiliary line from each string to the focus and arranges the strings along the set auxiliary lines. Accordingly, the strings are arranged in a radial pattern from the focus. Then, the information processor proceeds to step S3.

Step S3: The information processor determines whether strings that overlap at the arrangement positions are present. If such strings are present (Yes to step S3), the information processor proceeds to step S4. If no such strings are present (No to step S3), the information processor terminates the processing illustrated inFIG. 1.

Step S4: The information processor moves the focus in the direction of the center of the circuit element model by a predefined distance. Then, the information processor proceeds to step S2.

When the processing illustrated inFIG. 1is performed, string movements and interference adjustments can be made at the same time. Overlaps in the strings can therefore be removed in a simple manner. The functions of the information processor that performs the processing illustrated inFIG. 1are described below in detail.

FIG. 2is a block diagram illustrating the functions of the information processor of the first embodiment.

An information processor10includes a circuit information storing unit11, a reading unit12, a string arranging unit13, a deciding unit14, and a focus moving unit15.

The circuit information storing unit11stores a circuit diagram of a circuit under design.

FIG. 3is an example circuit diagram of a circuit under design.

A circuit diagram20contains a rectangular circuit element model21. On the inside of the circuit element model21, strings22indicating signal pin names of the circuit element model21are placed at equal spaces. The strings22are formed perpendicularly to the sides of the circuit element model21. The strings22positioned on the periphery of an edge21aof the circuit element model21overlap one another. On the outside of the circuit element model21, strings23identifying the names and pin numbers of the signal pins are placed at equal spaces.

If the overlapping strings22are arranged on the outside of the circuit element model21, it becomes difficult to distinguish the strings22from the strings23that have been arranged on the outside of the circuit element model21, causing a reduction in the visibility.

The information processor10uses a method below to radially arrange the overlapping strings22, and other strings22that are moved as the overlapping strings22are moved.

FIGS. 4 to 6illustrate string movements. InFIGS. 4 to 6, the indication of the strings23on the outside of the circuit element model21is omitted.

The reading unit12reads the circuit diagram20stored in the circuit information storing unit11.

The string arranging unit13sets a guideline30on a diagonal line of the circuit element model21. Then, the string arranging unit13sets a focus (reference point)31on the set guideline30. The initial position of the focus31is not particularly limited; for example, the initial position may be set on a contact point of a line drawn vertically or horizontally from the closest string22to the edge21aof the circuit element model21and the guideline30.

Next, the string arranging unit13sets an auxiliary line32from a contact point24of each string22and a side21bor a side21cof the circuit element model21to the focus31, and arranges (inclines) the strings22along the set auxiliary lines32. This processing arranges the strings22in a radial pattern from the focus31. The contact point24is an example of a base point that corresponds to each string22.

Then, the deciding unit14checks the strings22for overlaps. It is preferable to check the strings22for overlaps within the range of a rectangle formed by the focus31, contact points of the perpendicular lines from the focus31and the sides21band21cof the circuit element model21, and the edge21a.Consequently, the number of strings that are checked for overlaps can be reduced. Whether there are overlaps in the strings22can be decided by, for example, checking overlaps in character occupation regions derived from the character height (vertical length), the number of characters, and the character spacing.

If the strings22overlap one another, the focus moving unit15moves the focus31in the direction of the center of the circuit element model21by a predefined distance. In this case, the string arranging unit13rearranges the strings22along the set auxiliary lines32.

FIG. 6illustrates the circuit diagram20from which the string overlaps have been removed. When the overlaps in the strings22are removed, the circuit diagram20with no overlaps in the strings22is stored in the circuit information storing unit11by the deciding unit14.

In this embodiment, the processing is terminated when all string overlaps are removed. However, the processing may be terminated when overlaps in character occupation regions are removed to some extent (when the value of an area of the overlaps in the character occupation regions falls to a predefined value or below). This can also be expected to have a certain effect of improving the visibility.

In this embodiment, the direction of a movement of the focus31is along a diagonal line of the circuit element model21, but this is not a limitation. For example, the focus31may be moved along a line drawn in any direction from the edge21aused as a starting point. In this embodiment, the focus moving unit15moves the focus31, but a designer may move the focus31using a keyboard105aor a mouse105b.

Next, the hardware configuration of the information processor of the first embodiment is described.

FIG. 7illustrates the hardware configuration of the information processor of the first embodiment.

A CPU101controls the whole of the information processor10. A random access memory (RAM)102and a plurality of peripherals are connected to the CPU101via a bus108.

The RAM102is used as a main storage device for the information processor10. The RAM102temporarily stores at least part of an operating system (OS) program and an application program that are run by the CPU101. In addition, the RAM102stores various types of data for use with processing by the CPU101.

A hard disk drive (HDD)103, a graphic processor104, an input interface105, a drive device106, and a communication interface107are connected to the bus108.

The HDD103magnetically writes and reads data to and from the internal disk. The HDD103is used as a secondary storage device for the information processor10. The HDD103stores the OS program, application program, and various types of data. A semiconductor storage device such as a flash memory may also be used as the secondary storage device.

A monitor104ais connected to the graphic processor104. The graphic processor104displays images on the screen of the monitor104aaccording to instructions from the CPU101. The monitor104amay be a cathode ray tube (CRT) display device, liquid crystal display device, or the like.

The keyboard105aand mouse105bare connected to the input interface105. The input interface105sends signals from the keyboard105aand mouse105bto the CPU101. The mouse105bis an example of a pointing device, and another pointing device may be used. Another pointing device may be, for example, a touch panel, tablet, touch pad, trackball, or the like.

The drive device106reads data recorded on, for example, an optical disc, on which data has been recorded so that the data can be read through optical reflection, or a portable recording medium such as a universal serial bus (USB) memory. For example, when the drive device106is an optical drive device, the drive device106reads data recorded on an optical disc200using laser light or the like. The optical disc200may be a Blu-ray® disc, digital versatile disc (DVD), DVD-RAM, compact disc-read only memory (CD-ROM), compact disc-rewritable (CD-RW), or the like.

The communication interface107is connected to a network50. The communication interface107sends and receives data to and from another computer or communication device via the network50.

The processing functions of this embodiment can be implemented in the above hardware configuration.

As described above, the information processor10can make string movements and interference adjustments at the same time. Overlaps in the strings can therefore be removed in a simple manner.

The focus31is moved in a stepwise manner, and it is thus possible to bring the arrangement angle of a string as close to a horizontal angle of 0° or a vertical angle of 90° as possible. A reduction in the visibility can therefore be suppressed.

The size of a string is not decreased and a character in a string is not omitted, which also leads to the suppression of a reduction in the visibility.

The arrangement positions of the strings22are not interchanged, so that there is a match in the appearance between the circuit element model21and the circuit element to be fabricated.

In this embodiment, the arrangement of the strings22is changed, but the arrangement of symbols other than the strings may be changed. In this embodiment, a description is given of a case in which the strings22positioned on the periphery of the edge21aof the rectangle overlap one another. However, the processing method of this embodiment can also be used in a case in which strings arranged within an arc overlap one another.

Second Embodiment

Next, an information processor of a second embodiment is described.

The information processor of the second embodiment is described below, mainly on differences from the above first embodiment, and descriptions of similar items are omitted.

The string arranging unit13of the information processor10of the second embodiment can set a plurality of focuses (two focuses in this embodiment) on the guideline30.

The string arranging unit13obtains the ratio between the number of strings22arranged on the side21bof the circuit element model21and the number of strings22arranged on the side21c. If the ratio is greater than or equal to a certain ratio, the string arranging unit13provides a focus31afor the side21band a focus31bfor the side21con the guideline30separately. The focus moving unit15moves the focus31aand the focus31bindependently, and determines angles at which the strings22do not overlap at the arrangement positions. The criterion for setting a plurality of focuses on the guideline30is not limited to the foregoing.

Next, processing of the information processor10of the second embodiment is described using a following method.

FIG. 9is a method illustrating the processing of the information processor of the second embodiment.

Step S11: The string arranging unit13sets the guideline30on a diagonal line of the circuit element model21and generates the focus31aon the set guideline30. Then, the information processor10proceeds to step S12.

Step S12: The string arranging unit13sets the auxiliary line32from the contact point24of each string22on one side and the circuit element model21to the focus31a, and arranges the strings22along the set auxiliary lines32. Then, the information processor10proceeds to step S13.

Step S13: The deciding unit14decides whether strings22that overlap at the arrangement positions are present. If such strings22are present (Yes to step S13), the information processor10proceeds to step S14. If no such strings22are present (No to step S13), the information processor10proceeds to step S15.

Step S14: The focus moving unit15moves the focus31ain the direction of the center of the circuit element model21by a predefined distance. Then, the information processor10proceeds to step S12.

Step S15: The string arranging unit13generates the focus31bon the set guideline30. Then, the information processor10proceeds to step S16.

Step S16: The string arranging unit13sets the auxiliary line32from the contact point24of each string22on the other side and the circuit element model21to the focus31b, and arranges the strings22along the set auxiliary lines32. Then, the information processor10proceeds to step S17.

Step S17: The deciding unit14decides whether strings22that overlap at the arrangement positions are present. If such strings22are present (Yes to step S17), the information processor10proceeds to step S18. If no such strings22are present (No to step S17), the information processor10terminates the processing illustrated inFIG. 9.

Step S18: The focus moving unit15moves the focus31bin the direction of the center of the circuit element model21by a predefined distance. Then, the information processor10proceeds to step S16.

In this embodiment, the inclinations of the strings22arranged along the side21bare adjusted, and then the inclinations of the strings22arranged along the side21care adjusted. This is not a limitation, however. The inclinations of the strings22may be adjusted using the processing method of the first embodiment, the focus31bmay be created, and then the inclinations of the strings22arranged along the side21cmay be adjusted.

The information processor10of the second embodiment provides the same effects as the information processor of the first embodiment.

The information processor10of the second embodiment enables the inclination angles of the strings22arranged along the side21cto be smaller than the inclination angles of the strings22processed according to the processing in the first embodiment. A reduction in the visibility of the strings22can therefore be suppressed.

The string arrangement changing method, program, and information processor of the present disclosure are described above according to the embodiments illustrated in the drawings, but the present disclosure is not limited to the above embodiments. The configurations of the units may be replaced with any configurations that provide similar functions. Any other components or processes may be added to the present disclosure.

The present disclosure may be a combination of any of two or more configurations (features) in the above embodiments.

The above processing functions can be implemented on a computer. In this case, a program that contains the processing details of the functions of the information processor10is provided. When the program is run on the computer, the above processing functions are implemented on the computer. The program that contains the processing details can be recorded on a computer-readable recording medium. The computer-readable recording medium may be a magnetic storage device, optical disc, magneto-optical recording medium, semiconductor memory, or the like. The magnetic storage device may be a hard disk drive, flexible disk (FD), magnetic tape, or the like. The optical disc may be a DVD, DVD-RAM, CD-ROM/RW, or the like. The magneto-optical recording medium may be magneto-optical disk (MO) or the like.

To distribute the program, for example, portable recording media such as DVDs or CD-ROMs on which the program have been recorded are sold. The program may be stored in a storage device in a server computer, and transferred from the server computer to other computers via a network.

A computer to be used for running the program stores, in a storage device in that computer, the program recorded on a portable recording medium or transferred from the server computer, for example. The computer reads the program from the storage device in the computer and performs processing according to the program. The computer may read the program directly from the portable recording medium and perform the processing according to the program. In addition, each time the program is transferred from the server computer connected via the network, the computer may perform the processing sequentially according to the received program.

At least part of the above processing functions may be implemented on an electronic circuit such as a digital signal processor (DSP), application specific integrated circuit (ASIC), or programmable logic device (PLD).