WO2007083380A1 - 階層型論理回路の信号接続プログラム、方法及び装置 - Google Patents

階層型論理回路の信号接続プログラム、方法及び装置 Download PDF

Info

Publication number
WO2007083380A1
WO2007083380A1 PCT/JP2006/300811 JP2006300811W WO2007083380A1 WO 2007083380 A1 WO2007083380 A1 WO 2007083380A1 JP 2006300811 W JP2006300811 W JP 2006300811W WO 2007083380 A1 WO2007083380 A1 WO 2007083380A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
net
connection
leaf
logic circuit
Prior art date
Application number
PCT/JP2006/300811
Other languages
English (en)
French (fr)
Inventor
Eiji Furukawa
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2006/300811 priority Critical patent/WO2007083380A1/ja
Priority to PCT/JP2007/050800 priority patent/WO2007083747A1/ja
Priority to JP2007554977A priority patent/JP4308300B2/ja
Publication of WO2007083380A1 publication Critical patent/WO2007083380A1/ja
Priority to US12/102,462 priority patent/US7840930B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/323Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation

Definitions

  • the present invention relates to a signal connection program, method and apparatus for a hierarchical logic circuit that performs connection in a logic circuit including a hierarchical structure, and more particularly to a hierarchical logic circuit that performs signal connection of nets and pins exceeding a hierarchy.
  • the present invention relates to a circuit signal connection program, method, and apparatus.
  • LSI circuit design is roughly divided into three stages: functional design, hierarchical logic circuit signal connection, and layout design.
  • Hierarchical logic circuit signal connection creates a netlist of RTL circuit power logic gates.
  • the layout design creates a mask pattern from the netlist.
  • HDL Hardware Description Language
  • the node description language divided into layers can only describe the connection of signals within the layer. In other words, the connection of signals outside the hierarchy cannot be described directly. Therefore, to connect signals across layers, a hierarchical port is created, and the connection is described using the hierarchical port as an intermediary.
  • Patent Document 1 JP 2002-56041 A
  • Figure 31 (A) shows a case where there are two nets 304 and 306 in the hierarchy and nets 302 and 306 in the hierarchy. In this case, two hierarchy ports 300-1 and 300-2 are generated. Connect.
  • the connection of hierarchical logic circuits that automatically generate an appropriate hierarchy port and perform connection processing inside and outside the hierarchy when information on the connection target is given. It aims to provide a method.
  • the present invention provides a signal connection program for a hierarchical logic circuit.
  • the signal connection program of the hierarchical logic circuit of the present invention is stored in a computer.
  • connection target reading step for reading connection target information up to a connection target including a pin or a net through a hierarchy of logic circuits and creating a tree structure having a hierarchy as a node and a connection target as a leaf;
  • a top-level adjustment step that refers to the root of the tree structure and uses the node where the tree branches as the top node,
  • a logic circuit output step for outputting logic circuit information for which connection processing has been completed is executed.
  • a tree-structured node is taken out as a processing target, and when the processing target node has zero leaves and one lower node, the lower node is set as the next processing target node. If the leaf of the processing target node is two or more leaves and / or nodes, the highest node is assumed.
  • connection target correction step includes:
  • a leaf search step for searching for a leaf whose tree structure is also connected to the net a pin search step for searching for a pin connected to the net
  • connection processing step includes:
  • the leaf of the processing target node is a hierarchical port or connected to a hierarchical port via the net If there is a hierarchical port, the hierarchical port is a connection target; if there is no hierarchical port, a hierarchical port generation step for creating a new hierarchical port;
  • An input / output attribute setting step for setting an input / output attribute as an output attribute if there is a driver in at least one of the leaves of the target node, and setting an input / output attribute as an input attribute if there is no driver;
  • a connection correction step of adding a hierarchical port as a leaf to a higher layer node, and an update step of deleting the processing target node and setting the next node as the processing target node are executed.
  • the net is the reference net
  • the net connected to the hierarchical port or pin is the reference net and there is no net connection Is a reference net setting step in which a new net is generated and connected to be a reference net
  • a connection step of connecting the second and subsequent processing target leaves with the reference net is executed.
  • the present invention provides a signal connection method for a hierarchical logic circuit.
  • the signal connection method of the hierarchical logic circuit of the present invention is as follows:
  • connection target reading step for reading connection target information up to a connection target including a pin or a net through a hierarchy of logic circuits and creating a tree structure having a hierarchy as a node and a connection target as a leaf;
  • a top-level adjustment step that refers to the root of the tree structure and uses the node where the tree branches as the top node
  • a logic circuit output step for outputting the logic circuit information for which the connection processing has been completed.
  • the present invention provides a signal connection device for a hierarchical logic circuit.
  • the signal connection device of the hierarchical logic circuit of the present invention is
  • a logic circuit reading unit for reading information of a logic circuit having a hierarchical structure
  • connection target reading unit that reads connection target information from the logic circuit hierarchy up to the connection target including a pin or net, and creates a tree structure with the hierarchy as a node and the connection target as a leaf;
  • a top-level adjustment unit that refers to the tree structure and uses the node where the tree branches as the highest node
  • connection processing unit that rewrites logic circuit information by performing connection processing on the tree structure in a bottom-up manner
  • a logic circuit output unit that outputs logic circuit information for which connection processing has been completed
  • the logic circuit when connecting a net or a pin that crosses a hierarchy with respect to a logic circuit having a hierarchical structure, the logic circuit is read by a hierarchical hardware description language (HDL) and connected.
  • HDL hardware description language
  • Hierarchical ports that are automatically generated can be minimized, and design rule problems can be solved.
  • the IZO attribute of the hierarchical port can be assigned automatically.
  • FIG. 1 is a block diagram of a functional configuration of a logic circuit design device according to the present invention.
  • FIG. 2 Block diagram of the hardware environment of a computer that implements the functional configuration of Figure 1
  • FIG. 3 An explanatory diagram of a leaf data structure used in the tree structure of this embodiment.
  • FIG. 4 An explanatory diagram of the data structure of a node used in the tree structure of this embodiment.
  • FIG. 5 is a block diagram of the logic circuit read in this embodiment.
  • FIG. 6 explanatory diagram of logic circuit information corresponding to FIG.
  • FIG. 10 is an explanatory diagram of a tree structure in which connection target correction processing according to this embodiment is performed.
  • FIG. 11 Block diagram of the logic circuit corresponding to the connection processing in the tree structure of FIG.
  • FIG. 13 A block diagram of the logic circuit corresponding to the connection processing in the tree structure of FIG.
  • FIG. 14 Explanatory drawing of the tree structure corresponding to the connection process following FIG.
  • FIG. 15 An explanatory diagram of a tree structure corresponding to the connection processing of the highest node following FIG.
  • FIG. 16 Block diagram of a logic circuit corresponding to the connection processing in the tree structure of FIG.
  • FIG. 17 is an explanatory diagram of logic circuit information that is rewritten and output by the connection processing of this embodiment.
  • FIG. 18 is a block diagram of a logic circuit as another processing form of the connection target correction process in the present embodiment.
  • FIG. 19 is an explanatory diagram of logic circuit information corresponding to the logic circuit of FIG.
  • FIG. 20 A description of the tree structure created for the logic circuit of FIG. 18 and the connection target correction process.
  • FIG. 22 Explanatory diagram of tree structure corresponding to connection processing following FIG.
  • FIG. 23 is a block diagram of a logic circuit corresponding to the connection process of FIG.
  • FIG. 24 is an explanatory diagram of logic circuit information that is rewritten and output by the connection processing up to FIG.
  • FIG. 25 is a flowchart of overall hierarchical connection processing according to the present invention.
  • FIG. 26 is a flowchart showing details of the top layer adjustment process in step S3 of FIG.
  • FIG. 27 is a flowchart showing details of the connection target correction process in step S4 of FIG.
  • FIG. 28 is a flowchart showing details of the connection process in step S5 of FIG.
  • FIG. 29 Flow chart of connection processing following FIG.
  • FIG. 30 is a flowchart of connection processing following FIG.
  • FIG. 1 is a block diagram of a functional configuration of a logic design apparatus that executes signal connection processing between hierarchical logic circuits according to the present invention.
  • the logic circuit information 12 created by hardware description language (HDL) 12 the library 14 storing the cells used in the logic circuit, and the connection target of the inter-layer connection
  • the connection target information 16 for identifying is prepared and read.
  • the logic circuit design device 10 includes a logic circuit reading unit 18, a logic circuit storage unit 20, a connection target reading unit 22, a connection target storage unit 24, a highest hierarchy adjustment unit 26, a connection target correction unit 28, and a connection process.
  • the functions of the unit 30 and the logic circuit output unit 32 are provided to output the logic circuit information 34 for which the inter-layer connection processing has been completed.
  • the logic circuit reading unit 18 reads the logic circuit information created by the logic design using the hardware description language (HDL) and stores it in the logic circuit storage unit 20.
  • the logic circuit information 12 read by the logic circuit reading unit 18 has not yet been connected to a net or a pin that straddles the hierarchy, and the logic circuit design apparatus 10 performs signal connection across the hierarchy.
  • the logic circuit reading unit 18 reads cell information used in the logic circuit from the library 14 and stores it in the logic circuit storage unit 20.
  • connection target reading unit 22 reads the connection target information 16 from the logic circuit hierarchy to be processed to the connection target including the pin or net, and uses the hierarchy as a node, Create a tree structure with nets as leaves and store it in the connection target storage unit 24. I remember.
  • the highest hierarchy adjustment unit 26 refers to the tree structure from the root, and sets the node where the tree branches as the highest node. Set. By adjusting the top node, it is not necessary to perform connection processing until the root tree branches in the tree structure, so that connection processing can be omitted and simplified.
  • connection target correcting unit 28 searches the tree structure stored in the connection target storage unit 24 for a leaf having a net structure connection target as a net, and connects the net via a hierarchical port. To the subordinate node
  • a leaf whose connection target is a hierarchical port (1) A leaf whose connection target is a hierarchical port, or
  • connection target correction process for adding is performed.
  • connection target correction process when connecting to a pin or net that is a connection target in a net and a lower node by this connection target correction process, An existing hierarchical port can be used without creating a new hierarchical port.
  • connection processing unit 30 is connected to pins including nets and hierarchical ports in a bottom-up manner with respect to the tree structure for the tree structure of the connection target storage unit 24 that has been subjected to top layer adjustment and connection target correction. Processing is performed, and the logic circuit information stored in the logic circuit storage unit 20 is rewritten. By this rewriting process, a connection is created across the hierarchy from the upper layer of the logic circuit having a hierarchical structure to the net or pin to be connected.
  • the logic circuit output unit 32 reads out the logic circuit information 34 for which the connection process has been completed from the logic circuit storage unit 20 and outputs it to the outside.
  • FIG. 2 is a block diagram of a hardware environment of a computer that implements the functions of the logic circuit design device 10 of FIG.
  • the bus 36 of the CPU 36 has a RAM 50, ROM 52, hard disk drive 54, keyboard 58, mouse 60, device interface 56 for connecting the display 62, and network adapter 64 for connecting an external network such as a LAN. Is provided.
  • the signal connection program of the hierarchical logic circuit of this embodiment is installed in the hard disk drive 54, and boot processing when the computer is started by turning on the power and execution of the application program after the OS installation is completed. As a result, it is expanded from the hard disk drive 54 to the RAM 50 and executed by the CPU 36.
  • FIG. 3 is an explanatory diagram of a leaf data structure used in the tree structure of the present embodiment.
  • Fig. 3 (A) shows the data structure of leaf 66
  • Fig. 3 (B) explains the content of leaf 66.
  • FIG. 3A shows the data structure of the leaf 66, which includes a leaf name 68, a node pointer 70, a leaf type 72, net information 74, and port information 76.
  • the node pointer 70 is a pointer of a node having a leaf 66.
  • Leaf type 72 indicates that leaf 66 is a net or a pin or hierarchical port, and stores true if it is a net or false if it is a pin or hierarchical port.
  • the net information 74 stores net information when the leaf type 72 is true, that is, in the case of a net.
  • the port information 76 stores information on a pin or hierarchical port when the leaf type 72 is false, that is, when it is a pin or hierarchical port.
  • FIG. 4 is an explanatory diagram of the data structure of the nodes used in the tree structure of this embodiment.
  • FIG. 4A shows the data structure of the node 78, which is composed of a node name 80, an upper node pointer 82, a lower node pointer 84, a leaf pointer 86, an instance name 88, and node hierarchy information 90.
  • the upper node pointer 82 is a pointer of the upper node for the node 78.
  • the lower node pointer 84 is a pointer of a node lower than the node 78.
  • Leaf pointer 86 is a leaf pointer at node 78.
  • Instance name 88 is the instance name of node 78.
  • the node hierarchy information 90 is an area for storing node 78, that is, hierarchy information.
  • FIG. 5 is a block diagram showing an example of a logic circuit that is read in the present embodiment for signal connection processing across layers.
  • the logic circuit 92 has a hierarchy 94 from the upper side, and the next hierarchy 95 and hierarchy 98 exist in the hierarchy 94.
  • the next layer 96 exists in layer 95.
  • hierarchy 94 takes hierarchy 94 as an example,
  • Hierarchy name (module name) a (A) It is written by.
  • the instance 100 exists in the hierarchy 94, the instances 101 and 102 exist in the hierarchy 96, and the instance 104 exists in the hierarchy 98.
  • the instances 100, 101, 102, and 104 are obtained from the library information of the library 14 in FIG. 1, and are provided as cell information. For example, taking instance 100 of level 94 as an example
  • Pins 110, 112, 114, 115, 116, 118 exist as the connection targets in the logic circuit 92.
  • nets 106 and 108 exist as connection targets.
  • the pins 110, 112, 114, 115, 116, and 118 as connection targets are denoted by “p, e, g, m, p, k” that indicate the pins, respectively.
  • “h” is indicated for the net 106.
  • FIG. 6 is an explanatory diagram of logic circuit information corresponding to the logic circuit 92 shown in FIG.
  • logic circuit information 12 corresponds to module information 122 indicating that layer 94 is the top layer, module information 124 indicating the contents of layer 94, module information 126 corresponding to layer 95, and layer 98.
  • Module information 128 and module information 130 corresponding to layer 96.
  • FIG. 7 is an explanatory diagram of the library 14 corresponding to the logic circuit 92 of FIG. 5 read in the present embodiment.
  • the library 14 includes cell information 132 corresponding to the instance 100 in FIG. 5, cell information 134 corresponding to the instance 104, cell information 136 corresponding to the instance 101, and cell information 138 corresponding to the instance 102. Is provided.
  • FIG. 8 is an explanatory diagram of connection target information for the logic circuit 92 of FIG. 5 read in the present embodiment.
  • Fig. 8 (B) shows the connection target information 16.
  • connection target information 140 when the connection target information 140 is taken as an example, this connection target information uses "Z" as a delimiter, the last element “d. E” as a leaf, and the previous elements "a, b" , c, d ”as nodes, and the data structure is constructed.
  • the last element leaf contains ". (Period)" If it is, it indicates a pin. In this case, when “d. E”, the instance name “d” precedes the period, and the pin name “e” follows the period.
  • connection target information 140 in FIG. 8 (A) is as shown in FIG. 8 (B). If the instance name before the period is empty, it is a hierarchical port. This is illustrated as connection target information 150 in FIG. 8C, and if the front of the period is “empty”, it indicates that the pin after the period is a hierarchical port.
  • FIG. 9 is an explanatory diagram of a tree structure created in the present embodiment for the logic circuit 92 of FIG. 5 based on the connection target information of FIG.
  • a node 152 is a top node, and a tree structure extending from the node 154 under the top node to the leaf 168 via the nodes 154, 156, 160 by the connection target information 140 of FIG.
  • a tree structure is constructed from the connection target ⁇ blueprint 142 in FIG. 8 to the leaf 170 through the nodes 154, 156, and 160. Further, a tree structure that reaches the leaf 164 via the nodes 154 and 156 is constructed by the connection target 144 in FIG. Further, a tree structure extending from the nodes 154 and 158 to the leaf 166 is constructed by the connection target 146 in FIG. Further, a tree structure from the node 154 to the leaf 162 is constructed by the connection target 14 8 in FIG.
  • the hierarchical names “a, b, i, c” are written as the names of the nodes, respectively.
  • the leaf names 162, 166, 168, and 170 are marked with the pin name “m, k, e, g”.
  • the net name “h” is shown.
  • the highest hierarchy adjustment processing is executed, and the node 154 where the tree branches is the highest node, that is, the top node 172 as shown in FIG.
  • connection target correction process is performed.
  • the correction target is the net leaf, and in this tree structure, only the leaf “164” has the net “h” as the connection target.
  • connection target correction process 176 performs the following process. (1) The tree structuring power is also searched for the leaf 164 whose connection target is the net “h”.
  • pin ⁇ which is a hierarchical port '' Add as leaf 174 of node 160.
  • connection target correction processing 176 By adding the leaf 174 with the connection target by the connection target correction processing 176 as the hierarchical port "p", the hierarchy port added by the correction processing without generating a new hierarchical port is connected. Can be used for processing.
  • a search method for leaves having nets to be corrected for connection may be a depth-first search, a breadth-first search, or another search method. Regardless of which leaf search method is used, there is only one correction target, so the result is the same.
  • connection processing is performed subsequently.
  • Connection processing is performed for each node.
  • depth-first search, width-first search, and other searches may be used, but it is necessary to perform bottom-up processing in the order of power in the deep hierarchy.
  • connection process will be described taking a depth-first search as an example.
  • the node 160 searched for processing the node 160 is not the highest level, and among the leaves 168, 170, 174, the leaf 174 has a hierarchical port “p” force S.
  • the logic circuit information is stored and rewritten so that the “e” and the pin “c” of the leaf 170 are connected to the hierarchical port “p” of the leaf 174.
  • a leaf having a hierarchy port “p” is added to the upper hierarchy node 160, and the node 160 is deleted.
  • the logic circuit 92 in this connection process is as shown in FIG. 11, and the tree structure is as shown in FIG. That is, in the logic circuit 92 of FIG. 11, the pin “e” and the pin “g” are connected to the hierarchical port “p” by the nets 178 and 180.
  • a tree structure in which a leaf 182 whose connection target is a hierarchical port “p” is connected to a node 156 higher than the node 160 that has been processed, and the node 160 is deleted. It becomes.
  • a new hierarchical port 184 is generated, and the input / output attribute of the hierarchical port 184 is set to the input attribute because there is no driver in this case, and the pin of the leaf 182 in FIG.
  • the net “h” of the leaf 164 is rewritten to the newly created hierarchical port 184 with the stored logic circuit connected by the net 186.
  • the hierarchy port "p" is added as a pin leaf to the node "a" in the upper hierarchy, and the node 156 currently being processed is deleted.
  • the tree structure associated with this process is shown in Figure 14.
  • the node 156 that is the processing target in FIG. 12 is deleted, and a leaf 188 that sets the newly created hierarchical port 184 as a pin is added to the upper node 154.
  • the node 158 becomes the processing target, and the node 158 is not the highest rank.
  • the logic circuit 92 of FIG. Since the hierarchical port 116 is connected in advance and the hierarchical port already exists, no new hierarchical port is created.
  • the pin “” which is a hierarchical port is added as a leaf to the node 154 in the upper hierarchy, and the node 158 is deleted.
  • the tree structure is as shown in Figure 15.
  • the leaf 188 which is one of the plurality of leaves 188, 190, and 162.
  • the leaf 188 is connected to the pin [p] and is not a net. Therefore, as shown in the logic circuit 92 in FIG. Is the reference net “n”.
  • the logic circuit that has been rewritten last is output, and the logic circuit information 34 that has been rewritten is as shown in FIG.
  • the module information is logic circuit information in which module information 1240, 1260, and 1300 are rewritten in a portion surrounded by a broken line, and connection to a net or pin of a signal across layers is completed.
  • FIG. 18 is a block diagram of a logic circuit as another processing form of the connection target correction process in the present embodiment.
  • the net 106 is connected to the pin 110 that is the hierarchical port of the hierarchy 96 of the logic circuit 92 of FIG. 5.
  • the logic circuit 92 of FIG. The net 194 in the hierarchical node of pin 110 which is a hierarchical port is connected to the hierarchical port 110.
  • FIG. 19 shows the logic circuit information 12 corresponding to the logic circuit 92 of FIG. 18.
  • the net 194 is connected to the pin as the hierarchy port at the portion of the broken line 194 of the module information 130 corresponding to the hierarchy 96.
  • the information to be added is added.
  • FIG. 20 shows a tree structure based on the connection information of the logic circuit 92 in FIG. 18.
  • the tree structure before the correction target processing is the same as that in FIG. 9, and the leaf 164 having the force net “h” is the target.
  • the leaf 198 of the net “n” is added to the node 160 by the connection target correction process 196.
  • the processing procedure of this connection target correction processing 160 is as follows.
  • the logic circuit 92 in this connection process is as shown in FIG.
  • connection process following the connection target correction process of FIG. 20 is the same as that of the logic circuit 92 of FIG. 5, and the first connection process for the node 160 has the tree structure shown in FIG.
  • the logic circuit is rewritten, which is the same as the tree structure in FIG.
  • connection shown in the logic circuit 92 of FIG. 23 finally ends with the process for the node 154 that is the top node 172. Then, the rewritten logic circuit information 34 shown in FIG. 24 is read from the logic circuit 92 for which the connection processing has been completed and output to the outside.
  • the module information 122, 128 is the same, as is clear in comparison with the logic circuit information 12 that has been read in FIG. Force Module '
  • FIG. 25 is a flowchart of the overall hierarchical logic circuit connection processing by the logic circuit design device 10 of FIG.
  • the logic circuit reading unit 18 reads the logic circuit information 12 and the processing information of the library 14 and stores them in the logic circuit storage unit 20 in step S1.
  • step S 2 the connection target reading unit 22 reads the connection target information 16, creates a tree structure, and stores it in the connection target storage unit 24.
  • step S3 the top force is also searched for the tree structure, and the node where the tree is branched is adjusted to be the node of the highest hierarchy.
  • step S4 a correction process for searching for a hierarchical port to which a net is connected and adding a leaf for using the hierarchical port for connection is executed.
  • step S5 connection processing in units of nodes is performed in a bottom-up manner for the tree structure, and the logic circuit information stored and rewritten is rewritten.
  • FIG. 26 is a flowchart showing the details of the highest hierarchy adjustment process in step S3 of FIG. 25.
  • the tree structure of FIG. 10 will be described as an example as follows.
  • step S1 the highest node 152 of the tree structure is substituted for the top node. Subsequently, in step S2, it is checked whether the number of leaves connected to the top node is one and the number of lower nodes connected to the top node is one.
  • step S3 the lower node 154 is replaced with the top node.
  • step S2 with the replaced lower node 154 as the top node, it is determined whether the number of leaves connected to the top node is 0 and there is one lower node connected to the top node.
  • step S4 the process proceeds to step S4, and the node 154 is determined as the top node.
  • FIG. 27 is a flowchart showing the details of the connection target correction process in step S4 of FIG. 25. The following description will be made by taking the tree structure of FIG. 10 as an example.
  • step S2 it is determined whether or not the connection target of the leaf 170 is a net. In this case, since the pin is “g”, the process proceeds to step S9 to check whether all the leafs have been processed. Unprocessed force Return to step S1 and take out the next leaf 168.
  • step S 2 it is determined in step S 2 that the leaf 164 is the net “h”. In this case, the process proceeds to step S3, and the pin “p” connected to the net “h” is extracted from the logic circuit information, that is, the information of the logic circuit 92 shown in FIG. Next, in step S4, it is checked whether or not there is a leaf connected to the lower node 160 having the instance “c” of the net “h” as a hierarchy.
  • step S5 it is determined whether or not the power in the hierarchy is connected to the hierarchy port "p" corresponding to the lower node 160. .
  • the process proceeds to step S7, and the leaf of the hierarchy port “p” is sent to the lower node 160. Add 174.
  • step S6 the leaf 198 of net “n” is added to the lower node 160 as shown in the tree structure of FIG.
  • step S8 Proceed to step S8 to check whether all the pins have been processed. If all pins have been processed, check whether all the leaves have been processed in step S9. Since there is only one leaf in the net, the series of processing is terminated and the process returns to the main routine in FIG.
  • FIG. 28, FIG. 29, and FIG. 30 are flowcharts showing details of the connection processing in step S5 of FIG. 25, and the following is an example of the tree structure of FIG.
  • step S3 it is determined whether or not the node 160 is the highest node, and is not the highest node! ⁇ ⁇ Go to step S4 in Figure 29.
  • the processing in steps S4 to S13 in FIG. 29 is processing for searching for a tree structure force hierarchy port.
  • step S4 the current port is initialized to not used (false), and then in step S5, the leaves 168, 170, and 174 of the processing target node 160! Remove. In step S6, it is determined whether leaf 168 is a net. In this case, the power of pin “e” proceeds to step S9.
  • step S9 it is checked whether the pin of leaf 168 is a hierarchical port. Since pin “e” is not a hierarchical port from logic circuit 92 in FIG. 5, the process proceeds to step S 11 to check whether pin “e” is connected to the hierarchical port. In this case, since it is not connected to the hierarchical port, the process proceeds to step S13, and since all the leaf processes have not been completed, the process returns to step S5 and the next leaf 170 is taken out.
  • the leaf 170 is also the pin “g”, the same processing as the leaf 168 is performed.
  • the leaf 174 is taken out. Since the leaf 174 is the hierarchical port “p”, the leaf 174 is removed in step S9. “P” is determined to be a hierarchical port, the current port is used (true) in step S 10, and a pin “is substituted for the hierarchical port.
  • step S5 when the leaf 164 is extracted in step S5, the leaf is searched in step S6. 164 is determined to be the net “h”. In this case, in step S7, it is determined whether or not the net “h” is connected to the hierarchical port and whether or not the Since h is connected to the hierarchical port “p”, the current port is used (true) in step S8, and a pin “” is assigned to the hierarchical port.
  • steps S14 to S18 in FIG. 30 are processes for generating a new hierarchical port when there is no hierarchical port.
  • the current port is not used (false), that is, the power is judged not to be searched in the processing of steps S 4 to S 13 in FIG. If so, the newly created hierarchical port is assigned to the current port in step S15.
  • step S16 it is determined whether or not there is a driver in the leaf. If there is a driver, the attribute of the newly created hierarchical port is set as the output attribute in step S17. If not, set the hierarchy port attribute to the input attribute in step S18
  • step S19 the leaf 168 in the processing target node 160 of FIG. 10 is extracted in step S19, and whether or not the leaf is a net in step S20. In this case, since it is pin “e”, proceed to step S22, and if not connected, connect the pin and port.
  • step S20 if the leaf is a net in step S20, the net and the port are connected if not connected in step S21.
  • the processing in steps S19 to S22 is repeated in step S23 for all the leaves 168, 170, 174 in the processing target node 160.
  • the leaf having the pin “in the hierarchical port instance” in the upper node 156 is changed to the leaf 182 of the tree structure in FIG.
  • step S25 the node 160 in FIG. 10 that is currently processed is deleted.
  • the connection process proceeds to the hierarchical structure of FIG. 15 in step S3, and when node 154 force S is extracted, it is determined in step S3 that it is the highest node, and step S Proceed to 26.
  • step S26 one of the leaves connected to the highest node 154, for example, the leaf 188 is taken out, and it is determined whether or not the leaf 188 is a net.
  • the force that the leaf 188 is a pin proceeds to step S28, and it is determined whether or not there is a net connection to the pin of the leaf 188.
  • step S30 the newly created net is substituted into the reference net, and the pin "of leaf 188" is set as the reference net. Connect to the network. That is, as shown in the logic circuit 92 of FIG. 16, a reference net 192 is newly created and a pin “” is connected thereto.
  • step S26 if the leaf connected to the highest node in step S26 is a net, the net is set as a reference net in step S27. If there is a net connection to the leaf pin in step S28, the pin connection net is set as the reference net in step S29. Processing power of steps S26 to S30 This is processing of the first extracted leaf among the plurality of leaves connected to the highest node.
  • step S31 the next leaf, that is, the second leaf 190 is taken out.
  • step S32 it is determined whether or not the leaf is a net. In this case, the leaf 190 is a pin. Connect pin “p” with the reference net. If the leaf is a net in step S32, the net and the reference net are connected in step S33.
  • step S35 the processing of connecting the pins or nets to the reference net by the processing of step S31 to step S34 is repeated until the processing of all the leaves is completed in step S35 for the remaining leaves.
  • step S35 it is determined that all node processing has been completed since processing for the highest node is completed in step S36, and a series of connection processing is performed.
  • the present invention also provides a computer-readable recording medium storing a signal processing program for a hierarchical logic circuit.
  • This recording medium can be a portable storage medium such as a CD-ROM, floppy disk (R), DV D disk, magneto-optical disk or IC card, or a node disk drive provided inside or outside the computer system.
  • a portable storage medium such as a CD-ROM, floppy disk (R), DV D disk, magneto-optical disk or IC card, or a node disk drive provided inside or outside the computer system.
  • it includes databases that hold programs over lines, other computer systems and their databases, and transmission media on lines.
  • the present invention includes appropriate modifications that do not impair the object and advantages thereof, and is not limited by the numerical values shown in the above embodiments.

Abstract

 階層構造を含む論理回路の情報と、論理回路の階層を経てピン又はネットを含む接続対象に至るまでの接続対象情報を読み込み、階層をノードとし接続対象をリーフとするツリー構造を作成する。ツリー構造を根から参照し、ツリーが分岐しているノードを最上位ノードとする。ツリー構造の接続対象をネットとしたリーフを検索し、ネットを階層ポートを介して接続する下位階層ノードに、階層ポートを接続対象とするリーフ又は下位階層内のネットを接続対象とするリーフを追加する。ツリー構造に対してボトムアップ的に接続処理を行なって論理回路の情報を書替え、接続処理が完了した論理回路情報を出力する。

Description

階層型論理回路の信号接続プログラム、方法及び装置
技術分野
[0001] 本発明は、階層構造を含む論理回路中の接続を行う階層型論理回路の信号接続 プログラム、方法及び装置、に関し、特に、階層を超えるネットやピンの信号接続を行 う階層型論理回路の信号接続プログラム、方法及び装置に関する。
背景技術
[0002] 従来、 LSI回路の設計は、機能設計、階層型論理回路の信号接続及びレイアウト 設計の 3段階に大きく分けられる。
[0003] 機能設計は実現した!/、機能力もレジスタ転送レベル (RTL: Register Transfer
Level)の回路を作成する。階層型論理回路の信号接続は RTLの回路力 論理ゲー トのネットリストを作成する。レイアウト設計はネットリストからマスクパタンを作成する。
[0004] 通常、階層型論理回路の信号接続を効率的に行うためにハードウェア記述言語(
HDL : Hardware Description Language)を用いて論理合成や論理検証などを 行っている。
[0005] 昨今、 LSI回路の大規模化がますます進んで 、る。しかし、ハードウェア記述言語 が大きくなると、論理合成や論理検証にかかる時間が増え、またハードウェア記述言 語の可読性も低くなる。そこで、論理回路を機能分割し、階層化することが求められ ている。
[0006] 階層分割したノヽードウ ア記述言語はその階層内における信号の接続しか記述で きない。即ち、階層外の信号の接続を直接記述できない。そこで階層間をまたがる信 号の接続には、階層ポートを生成し、その階層ポートを仲立ちとして接続を記述する ことになる。
[0007] 従来、階層間をまたがる信号の接続 (ネットやピンの接続)を行う場合、図 30のように
(1)階層ポート 300の生成
(2)階層内のネット 302やピンと階層ポート 300との接続 (3)階層外のネット 304やピンと階層ポート 300の接続
t 、う手続きを行わなければならな 、。
特許文献 1:特開 2002— 56041号公報
発明の開示
発明が解決しょうとする課題
[0008] し力しながら、このような従来の階層間をまた力 ¾信号の接続方法にあっては、階層 間をまたがる信号の接続を行うために、前記(1)〜(3)の 3つの手続きを明示的に指 示しなければならない。また、階層ポートの生成の際は、階層ポートの入力ポートか 出力ポートかの IZO属性も明示的に指示しなければならない。この手続きは人手に 頼ることが多ぐ誤りが混入する可能性がある。
[0009] 更に、前記(1)〜(3)の 3つの手続きを単純に自動化しようとした場合、接続対象が 複数あると、階層ポートを複数生成してしまうことが考えられる。図 31 (A)は、階層内 のネット 302〖こ対し階層外〖こ 2つのネット 304, 306が存在した場合であり、この場合 には 2つの階層ポート 300 - 1, 300- 2を生成して接続してしまう。
[0010] し力し、このような複数の階層ポートの生成はデザインルールによって許されないこ とがある。この場合は図 31 (B)のように、階層ポート 300を一つだけ生成して、接続 することが望ましい。
[0011] 本発明は、階層を越えるネットやピンの接続を行う場合、接続対象の情報を与える と、自動的に適切な階層ポートを生成し階層内外の接続処理を行う階層型論理回路 の接続方法を提供することを目的とする。
課題を解決するための手段
[0012] (プログラム)
本発明は、階層型論理回路の信号接続プログラムを提供する。本発明の階層型論 理回路の信号接続プログラムは、コンピュータに、
階層構造をもつ論理回路の情報を読込む論理回路読込ステップと、
論理回路の階層を経てピン又はネットを含む接続対象に至るまでの接続対象情報 を読み込み、階層をノードとし接続対象をリーフとするツリー構造を作成する接続対 象読込ステップと、 ツリー構造を根力 参照し、ツリーが分岐しているノードを最上位ノードとする最上 階層調整ステップと、
ツリー構造の接続対象をネットとしたリーフを検索し、ネットを階層ポートを介して接 続する下位階層ノードに、階層ポートを接続対象とするリーフ又は下位階層内のネッ トを接続対象とするリーフを追加する接続対象補正ステップと、
ツリー構造に対してボトムアップ的に接続処理を行なって論理回路情報を書替える 接続処理ステップと、
接続処理が完了した論理回路情報を出力する論理回路出力ステップと、 を実行することを特徴とする。
[0013] 最上位階層調整ステップは、ツリー構造のノードを根力 取出して処理対象とし、処 理対象ノードのリーフが零で下位ノードが 1つの場合に下位ノードを次の処理対象ノ ードとし、処理対象ノードのリーフが 2以上のリーフ及び又はノードの場合に最上位ノ ードとする。
[0014] 接続対象補正ステップは、
ツリー構造力も接続対象をネットとするリーフを検索するリーフ検索ステップと、 ネットに接続するピンを検索するピン検索ステップと、
ピンが検索された場合、ピンをインスタンスを階層とする下位ノードを検索し、 下位ノードが検索された場合、
( 1)前記下位階層ノードにおいて、前記ピンに対応する階層ポートに前記下位階層 ノードのネットが接続されていない場合は、前記階層ポートを前記下位階層のノード のリーフとして追カロし、
(2)前記ピンに対応する階層ポートに前記下位階層ノードのネットが接続されている 場合は、前記ネットを前記下位階層のノードのリーフとして追加する、
リーフ追加ステップと、
を実行する。
[0015] 接続処理ステップは、
処理対象ノードか最上位ノードでな 、場合、
処理対象ノードのリーフが階層ポートか又はネットで階層ポートに接続しているかど うか判定し、階層ポートが存在する場合は、階層ポートを接続対象とし、階層ポートが 存在しない場合は新たに階層ポートを作成する階層ポート生成ステップと、
対象ノードのリーフの少なくともいずれか 1つにドライバがあれば入出力属性を出力 属性に設定し、ドライバがなければ入出力属性を入力属性に設定する入出力属性設 定ステップと、
対象ノードのリーフを階層ポートと接続する接続ステップと、
上位階層のノードに階層ポートをリーフとして追加する接続補正ステップと、 処理対象ノードを削除して次のノードを処理対象ノードとする更新ステップと、 を実行する。
[0016] また処理対象ノードが最上位ノードの場合、
最初の処理対象リーフがネットならば前記ネットを基準ネットとし、最初の処理対象 リーフが階層ポートまたはピンならば、階層ポート又はピンに接続するネットを基準ネ ットとし、ネットの接続が無い場合は、新たにネットを生成し接続して基準ネットとする 基準ネット設定ステップと、
2つ目以降の処理対象リーフを前記基準ネットと接続する接続ステップと、 を実行する。
[0017] (方法)
本発明は階層型論理回路の信号接続方法を提供する。本発明の階層型論理回路 の信号接続方法は、
階層構造をもつ論理回路の情報を読込む論理回路読込ステップと、
論理回路の階層を経てピン又はネットを含む接続対象に至るまでの接続対象情報 を読み込み、階層をノードとし接続対象をリーフとするツリー構造を作成する接続対 象読込ステップと、
ツリー構造を根力 参照し、ツリーが分岐しているノードを最上位ノードとする最上 階層調整ステップと、
ツリー構造の接続対象をネットとしたリーフを検索し、ネットを階層ポートを介して接 続する下位階層ノードに、階層ポートを接続対象とするリーフ又は下位階層内のネッ トを接続対象とするリーフを追加する接続対補正ステップと、 ツリー構造に対してボトムアップ的に接続処理を行なって論理回路情報を書替える 接続処理ステップと、
接続処理が完了した論理回路情報を出力する論理回路出力ステップと、 を備えたことを特徴とする。
[0018] 本発明は階層型論理回路の信号接続装置を提供する。本発明の階層型論理回路 の信号接続装置は、
階層構造をもつ論理回路の情報を読込む論理回路読込部と、
論理回路の階層を経てピン又はネットを含む接続対象に至るまでの接続対象情報 を読み込み、階層をノードとし接続対象をリーフとするツリー構造を作成する接続対 象読込部と、
ツリー構造を根力 参照し、ツリーが分岐しているノードを最上位ノードとする最上 階層調整部と、
ツリー構造の接続対象をネットとしたリーフを検索し、ネットを階層ポートを介して接 続する下位階層ノードに、階層ポートを接続対象とするリーフ又は下位階層内のネッ トを接続対象とするリーフを追加する接続対象補正部と、
ツリー構造に対してボトムアップ的に接続処理を行なって論理回路情報を書替える 接続処理部と、
接続処理が完了した論理回路情報を出力する論理回路出力部と、
を備えたことを特徴とする。
発明の効果
[0019] 本発明によれば、階層構造をもつ論理回路について階層を越えるネットやピンの接 続を行う場合に、階層化されたハードウェア記述言語 (HDL)による論理回路を読み 込んで、接続対象情報の読込みにより接続対象を指示するだけで、途中の階層ポー ト生成や接続は自動的に行うことにより書替えられて階層化された論理回路のハード ウェア記述言語 (HDL)を出力することができる。
[0020] また、自動生成する階層ポートを最小にすることができ、デザインルール的な問題 も解消できる。更に階層ポートの IZO属性も自動で付与することができる。
[0021] これらの自動化により、人手によるミスの防止、設計の利便性の向上、ターンアラウ ンド時間 (TAT)の短縮及び高品質の階層型論理回路の信号接続が可能となる。 図面の簡単な説明
[図 1]本発明による論理回路設計装置の機能構成のブロック図
[図 2]図 1の機能構成を実現するコンピュータのハードウェア環境のブロック図
[図 3]本実施形態のツリー構造に使用するリーフのデータ構造の説明図
[図 4]本実施形態のツリー構造に使用するノードのデータ構造の説明図
[図 5]本実施形態で読込む論理回路のブロック図
[図 6]図 5に対応した論理回路情報の説明図
[図 7]本実施形態で読込むライブラリの説明図
[図 8]本実施形態で読込む接続対象情報の説明図
[図 9]本実施形態で作成するツリー構造の説明図
[図 10]本実施形態による接続対象補正処理が行われるツリー構造の説明図
[図 11]図 10のツリー構造における接続処理に対応した論理回路のブロック図
[図 12]図 11に続く接続処理に対応したツリー構造の説明図
[図 13]図 11のツリー構造における接続処理に対応した論理回路のブロック図
[図 14]図 12に続く接続処理に対応したツリー構造の説明図
[図 15]図 14に続く最上位ノードの接続処理に対応したツリー構造の説明図
[図 16]図 15のツリー構造における接続処理に対応した論理回路のブロック図
[図 17]本実施形態の接続処理により書替えられて出力される論理回路情報の説明 図
[図 18]本実施形態における接続対象補正処理の他の処理形態となる論理回路のブ ロック図
[図 19]図 18の論理回路に対応した論理回路情報の説明図
[図 20]図 18の論理回路について作成されたツリー構造と接続対象補正処理の説明 図
[図 21]図 20の接続対象補正に対応した論理回路のブロック図
[図 22]図 20に続く接続処理に対応したツリー構造の説明図
[図 23]図 22の接続処理に対応した論理回路のブロック図 [図 24]図 23までの接続処理により書替えられて出力される論理回路情報の説明図
[図 25]本発明による全体的な階層接続処理のフローチャート
[図 26]図 25のステップ S3による最上位階層調整処理の詳細を示したフローチャート
[図 27]図 25のステップ S4による接続対象補正処理の詳細を示したフローチャート
[図 28]図 25のステップ S5による接続処理の詳細を示したフローチャート
[図 29]図 28に続く接続処理のフローチャート
[図 30]図 28に続く接続処理のフローチャート
[図 31]従来の階層間にまたがる信号接続の説明図
[図 32]従来の手法で階層ポートが複数生成される問題の説明図
発明を実施するための最良の形態
[0023] 図 1は本発明による階層型論理回路間の信号接続処理を実行する論理設計装置 の機能構成のブロック図である。図 1において、論理回路設計装置 10に対しては、ハ 一ドウエア記述言語 (HDL)により作成された論理回路情報 12、論理回路で使用す るセルを格納したライブラリ 14及び階層間接続の接続対象を特定する接続対象情報 16が準備され、それぞれ読み込まれる。
[0024] 論理回路設計装置 10には、論理回路読込部 18、論理回路記憶部 20、接続対象 読込部 22、接続対象記憶部 24、最上位階層調整部 26、接続対象補正部 28、接続 処理部 30及び論理回路出力部 32の機能が設けられ、階層間接続処理が完了した 論理回路情報 34を出力するようにして 、る。
[0025] 論理回路読込部 18は、ハードウェア記述言語 (HDL)を使用した論理設計で作成 された論理回路情報を読み込んで論理回路記憶部 20に記憶する。論理回路読込 部 18で読み込む論理回路情報 12は、階層間を跨るネットやピンに対する接続が未 処理であり、この階層間に亘る信号接続を論理回路設計装置 10において実行する ことになる。また論理回路読込部 18は、ライブラリ 14から論理回路で使用しているセ ル情報を読み込んで論理回路記憶部 20に記憶する。
[0026] 接続対象読込部 22は、処理対象とする論理回路の階層を経てピンまたはネットを 含む接続対象に至るまでの接続対象情報 16を読み込み、階層をノードとし、接続対 象となるピンやネットをリーフとするツリー構造を作成して、接続対象記憶部 24に記 憶する。
[0027] 最上位階層調整部 26は、接続対象記憶部 24に記憶されているツリー構造を対象 に、ツリー構造を根 (root)から参照し、ツリーが分岐しているノードを最上位ノードと 設定する。この最上位ノードの調整により、ツリー構造において根力 ツリーが分岐す るところまでは接続処理を行う必要がないため、これによつて接続処理を省略して簡 略ィ匕することができる。
[0028] 接続対象補正部 28は、接続対象記憶部 24に記憶されたツリー構造を対象に、ッリ 一構造の接続対象をネットとしたリーフを検索し、このネットを階層ポートを介して接 続する下位階層ノードに
(1)階層ポートを接続対象とするリーフ、又は
(2)下位階層のネットを接続対象とするリーフ
を追加する接続対象補正処理を行う。
[0029] この接続対象補正処理は後の説明で更に詳細に説明されるが、この接続対象補 正処理によって、ネットと下位ノードの中の接続対象であるピンまたはネットと接続す る場合に、新たに階層ポートを生成することなぐ既に存在する階層ポートを使用でき るようにしている。
[0030] 接続処理部 30は、最上位階層調整及び接続対象補正が行われた接続対象記憶 部 24のツリー構造を対象に、ツリー構造に対しボトムアップ的にネットや階層ポートを 含むピンの接続処理を行って、論理回路記憶部 20に記憶して 、る論理回路情報を 書き替える。この書替処理によって、階層構造を持つ論理回路の上位階層から接続 対象となるネットまたはピンまでの階層間に亘る接続が作成される。
[0031] 論理回路出力部 32は、接続処理が完了した論理回路情報 34を論理回路記憶部 2 0から読み出して外部に出力する。
[0032] 図 2は図 1の論理回路設計装置 10の機能を実現するコンピュータのハードウェア環 境のブロック図である。図 2において、 CPU36のバス 48には、 RAM50、 ROM52、 ハードディスクドライブ 54、キーボード 58、マウス 60、ディスプレイ 62を接続するデバ イスインタフェース 56、 LANなどの外部のネットワークを接続するネットワークァダプ タ 64が設けられている。 [0033] 本実施形態の階層論理回路の信号接続プログラムは、ハードディスクドライブ 54に インストールされており、コンピュータを電源投入により起動した際のブート処理、及 び OSインストールが完了した後のアプリケーションプログラムの実行に伴い、ハード ディスクドライブ 54から RAM50に展開され、 CPU36により実行される。
[0034] 図 3は本実施形態のツリー構造に使用するリーフのデータ構造の説明図である。図 3 (A)はリーフ 66のデータ構造であり、図 3 (B)にリーフ 66の内容説明を行っている。
[0035] 図 3 (A)はリーフ 66のデータ構造であり、リーフ名 68、ノードポインタ 70、リーフ種 別 72、ネット情報 74及びポート情報 76で構成される。その内容は図 3 (B)に示すよう に、ノードポインタ 70はリーフ 66を持つノードのポインタである。リーフ種別 72はリー フ 66がネットかあるいはピンまたは階層ポートであることを示し、ネットならば真(true )、ピンまたは階層ポートならば偽 (false)を格納する。
[0036] ネット情報 74はリーフ種別 72が真 (true)のとき、即ちネットの場合に、ネットの情報 を格納する。ポート情報 76は、リーフ種別 72が偽 (false)のとき、即ちピンまたは階 層ポートとき、ピンまたは階層ポートの情報を格納する。
[0037] 図 4は本実施形態のツリー構造に使用するノードのデータ構造の説明図である。図 4 (A)はノード 78のデータ構造であり、ノード名 80、上位ノードポインタ 82、下位ノー ドポインタ 84、リーフポインタ 86、インスタンス名 88及びノード階層情報 90で構成さ れている。
[0038] それぞれの内容は図 4 (B)に示すようになる。上位ノードポインタ 82はノード 78に 対する上位ノードのポインタである。下位ノードポインタ 84はノード 78の下位のノード のポインタである。リーフポインタ 86はノード 78にあるリーフのポインタである。インス タンス名 88はノード 78のインスタンス名である。更にノード階層情報 90は、ノード 78 、即ち階層の情報を格納する領域である。
[0039] 図 5は階層間を跨ぐ信号接続処理のために本実施形態で読み込む論理回路の一 例を示したブロック図である。図 5において、論理回路 92は上位側から階層 94を持 ち、階層 94の中には次の階層 95と階層 98が存在する。更に階層 95の中には次の 階層 96が存在している。ここで階層 94を例にとると、実際の処理では
階層名(モジュール名) =a (A) で表記されている。
[0040] また論理回路 92において、階層 94にはインスタンス 100が存在し、階層 96にはィ ンスタンス 101, 102が存在し、更に階層 98にはインスタンス 104が存在する。インス タンス 100, 101, 102, 104は図 1のライブラリ 14のライブラリ情報から得られるもの で、それぞれセル情報として提供される。例えば階層 94のインスタンス 100を例にと ると
インスタンス名(セル名) =l (sl)
として表記されている。
[0041] 餘理回路 92における接続対象として、ピン 110, 112, 114, 115, 116, 118力 ^存 在する。また接続対象として、ネット 106, 108が存在する。接続対象としてのピン 11 0, 112, 114, 115, 116, 118には、それぞれピンを示す符号「p, e, g, m, p, k」 が表記されている。更に、ネット 106については「h」が表記されている。
[0042] 図 6は図 5に示した論理回路 92に対応した論理回路情報の説明図である。図 6に おいて、論理回路情報 12は、階層 94がトップ階層であることを示すモジュール情報 122、階層 94の内容を示すモジュール情報 124、階層 95に対応したモジュール情 報 126、階層 98に対応したモジュール情報 128、階層 96に対応したモジュール情 報 130で構成されている。
[0043] 図 7は本実施形態で読み込む図 5の論理回路 92に対応したライブラリ 14の説明図 である。図 7において、ライブラリ 14には、図 5のインスタンス 100に対応したセル情報 132、インスタンス 104に対応したセル情報 134、インスタンス 101に対応したセル情 報 136、及びインスタンス 102に対応したセル情報 138が設けられている。
[0044] 図 8は本実施形態で読み込む図 5の論理回路 92を対象とした接続対象情報の説 明図である。図 8 (B)は接続対象情報 16であり、図 5の論理回路における階層名「a, b, c, i」と、接続対象となるインスタンスを示す「d, f, j, 1」及びピン「e, g, k, m」、更 にネット「h」を用いて、ノードからリーフに至るツリー構造の接続を設定して 、る。
[0045] この接続対象情報は、例えば接続対象情報 140を例にとると、「Z」を区切り文字と して、最後の要素「d. e」をリーフとし、それ以前の要素「a, b, c, d」のそれぞれをノー ドとし、データ構造を構築している。最後の要素であるリーフに「. (ピリオド)」が含ま れていればピンであることを示す。この場合、「d. e」のとき、ピリオドの前がインスタン ス名「d」であり、ピリオドの後がピン名「e」である。
[0046] 図 8 (A)の接続対象情報 140の意味は、図 8 (B)に示すようになる。更にピリオドの 前のインスタンス名が空であれば階層ポートである。これは図 8 (C)に接続対象情報 150として例示しており、ピリオドの前が「空き」となっていればピリオドの後ろのピンは 階層ポートであることを示す。
[0047] 更に最後の要素であるリーフにピリオドが含まれていなければネットである。これは 図 8 (A) (B)の接続対象情報 144が該当し、最後の要素にはピリオドが含まれていな いため、これはネット「h」を表している。
[0048] 図 9は、図 8の接続対象情報に基づいて図 5の論理回路 92を対象に本実施形態で 作成したツリー構造の説明図である。図 9において、ノード 152はトップノードであり、 トップノードの配下のノード 154を起点に図 8の接続対象情報 140によりノード 154, 156, 160を介してリーフ 168に至るツリー構造が構築される。
[0049] また図 8の接続対象†青報 142【こより、ノード、 154, 156, 160を介してリーフ 170【こ 至るツリー構造が構築される。また図 8の接続対象 144により、ノード 154, 156を介 してリーフ 164に至るツリー構造が構築される。また図 8の接続対象 146により、ノード 154, 158を経てリーフ 166に至るツリー構造が構築される。また図 8の接続対象 14 8により、ノード 154からリーフ 162に至るツリー構造が構築される。
[0050] なお図 9におけるノード 154, 156, 158, 160については、それぞれノードの名称 として階層名「a, b, i, c」を表記して!/ヽる。更にリーフ 162, 166, 168, 170につ!/、て は、ピン名「m, k, e, g」を表記している。更にリーフ 164については、ネット名「h」を 表記している。このようなツリー構造につき、まず最上位階層調整処理が実行され、 図 10に示すように、ツリーが分岐しているノード 154が最上位ノード即ちトップノード 1 72となる。
[0051] 続いて接続対象補正処理が行われる。補正の対象となるのは接続対象がネットのリ ーフであり、このツリー構造にあってはリーフ 164のみがネット「h」を接続対象としてい ることから、これが補正の対象となる。
[0052] この接続対象補正処理 176は次の処理を行う。 (1)ツリー構造力も接続対象をネット「h」とするリーフ 164を検索する。
(2)ネット hに接続するピン「p」を検索する。
(3)ピン pが検索された場合、ピン「p」をインスタンスとする階層「c」の下位ノード 160 を検索する。
(4)下位ノードとしてノード 160が検索された場合、ノード 160においてピン 」に対 応する階層ポートにノード 160のネットが、この場合には接続されていないことから、 階層ポートであるピン 」をノード 160のリーフ 174として追加する。
[0053] このような接続対象補正処理 176による接続対象を階層ポート「p」としたリーフ 174 の追カ卩により、新たに階層ポートを生成することなぐ補正処理により追加した階層ポ ートを接続処理に使用することができる。
[0054] ここで図 10のツリー構造において、接続補正対象となるネットを持つリーフの検索 方法としては、深さ優先探索や幅優先探索、更には他の探索方法であってもよい。 いずれのリーフ探索方法をとつたとしても補正対象は 1つだけであることから、結果は 同じになる。
[0055] このように最上位階層調整処理及び接続対象補正処理が済むと、続、て接続処理 が行われる。接続処理はノードごとに行う。ノードの検索方法としては、深さ優先検索 や幅優先検索、更には他の検索でも構わないが、階層の深いところ力 順に処理を 行うボトムアップ的に行う必要がある。
[0056] 本実施形態にあっては、深さ優先探索を例にとって接続処理を説明する。図 10に あっては、ノードに深さについて、トップノード 172を設定したノード 154の値 nを n=0 、その下位を n= l、次を n= 2、更にその下を n= 3としており、深さ探索にあっては n = 2と最も深 、階層のノード 160が処理対象として検索される。
[0057] 処理対象として検索されたノード 160を見ると、ノード 160は最上位ではなく、リーフ 168, 170, 174のうちリーフ 174に階層ポー卜「p」力 S存在するため、リーフ 168のピ ン「e」とリーフ 170のピン「c」をリーフ 174の階層ポート「p」に接続するように、記憶し て 、る論理回路情報を書き替える。
[0058] そして、上位階層のノード 160に階層ポート「p」を持つリーフを追加し、ノード 160を 削除する。 [0059] この接続処理における論理回路 92は図 11のようになり、またツリー構造は図 12の ようになる。即ち図 11の論理回路 92にあっては、階層ポート「p」にピン「e」とピン「g」 がネット 178, 180により接続される。また図 12の階層構造にあっては、処理対象とな つていたノード 160の上位のノード 156に接続対象を階層ポート「p」とするリーフ 182 が接続され、ノード 160が削除されたツリー構造となる。
[0060] 図 12のツリー構造については、次に n= lのノード 156が処理対象となり、ノード 15 6は最上位ではなぐリーフ 182, 164に階層ポートが存在しないため、図 13の論理 回路 92に示すように、新たに階層ポート 184を生成し、階層ポート 184の入出力属 性を、この場合にはドライバが存在しないことから入力(input)属性とし、図 12のリー フ 182のピン 」とリーフ 164のネット「h」を、新たに作成した階層ポート 184に、ネッ ト 186で接続する記憶している論理回路の書替えを行う。
[0061] 更に上位階層のノード「a」に階層ポート「p」をピンのリーフとして追カ卩し、現在、処 理対象となっているノード 156を削除する。この処理に伴うツリー構造は、図 14のよう になる。図 14にあっては、図 12で処理対象となっていたノード 156は削除され、新た に作成した階層ポート 184をピン 」とするリーフ 188を上位のノード 154に追加して いる。
[0062] 続いて図 14のツリー構造において、ノード 158が処理対象となり、ノード 158は最 上位ではなぐノード 158のリーフ 166のピン「k」には図 13の論理回路 92から明らか なように、階層ポート 116が予め接続されており、既に階層ポートが存在することから 、階層ポートは新たに作成しない。続いて上位階層のノード 154に階層ポートである ピン 」をリーフとして追加し、ノード 158を削除する。この接続処理の結果、ツリー構 造は図 15のようになる。
[0063] 即ち、図 14で処理対象となっていたノード 158が削除され、新たに階層ポートであ るピン 」のリーフ 190を上位のノード 154に追加している。
[0064] 続いて図 15のツリー構造について、 n=0のノード 154が接続処理の対象となる。こ こでノード 154はトップノード 172であることから、複数のリーフ 188, 190, 162のうち の 1つであるリーフ 188に着目し、リーフ 188は接続対象をピン [p]としており、ネット でないことから、新たに図 16の論理回路 92に示すように、ネット 192を生成して、これ を基準ネット(pivot net)「n」とする。
[0065] 次に 2つ目以降のリーフ 190, 162については、リーフ 190のピン「p」とリーフ 162 のピン「m」を基準ネット「n」に接続する記憶している論理回路の書替えを行う。この 結果、図 16の論理回路 92に示すように、図 8の接続対象情報 16に従った階層間に 亘る接続対象であるピン及びネットとの接続処理が終了する。
[0066] ツリー構造に基づく接続処理が終了したならば、最後に書替えの済んだ論理回路 を出力し、この書替えが済んだ論理回路情報 34は図 17のようになる。図 17の書替え の済んだ論理回路情報 34にあっては、図 6に示した接続処理のための読込まれた 論理回路情報 120のモジュール情報 122とモジュール情報 128についてはそのまま であるが、残りのモジュール情報についてはモジュール情報 1240, 1260, 1300の 破線で囲んだ部分の書替えが行われ、階層間を跨る信号のネットやピンに対する接 続が完了した論理回路情報となっている。
[0067] 図 18は本実施形態における接続対象補正処理の他の処理形態となる論理回路の ブロック図である。図 18の論理回路 92にあっては、図 5の論理回路 92の階層 96の 階層ポートであるピン 110にネット 106を接続していたが、図 18の論理回路 92にあつ ては、更に、階層ポートであるピン 110の階層ノード内のネット 194を階層ポート 110 に接続している。
[0068] 図 19は図 18の論理回路 92に対応した論理回路情報 12であり、階層 96に対応し たモジュール情報 130の破線 194の部分に、ネット 194を階層ポートとしてのピン に 接続して 、る情報が追加されて 、る。
[0069] 図 20は図 18の論理回路 92の接続情報に基づくツリー構造であり、補正対象処理 を行う前のツリー構造は図 9と同じである力 ネット「h」を持つリーフ 164を対象とした 接続対象補正処理 196により、ネット「n」のリーフ 198をノード 160に追カ卩している。こ の接続対象補正処理 160の処理手順は次のようになる。
[0070] (1)ツリー構造力ら接続対象をネット「h」とするリーフ 164を検索する。
(2)ネット「h」に接続するピン「p」を検索する。
(3)ピン 」が検索された場合、ピン 」のインスタンスを階層とする下位のノード ΙδΟ を検索する。 (4)下位のノード 160が検索された場合、ピン「p」に対応する階層ポートに下位のノ ード 160のネット「n」が接続されて!、る場合には、ネット「n」を下位のノード 160のリー フ 198として追加する。
[0071] この接続処理における論理回路 92は図 21のようになる。
[0072] 図 20の接続対象補正処理に続く接続処理は図 5の論理回路 92の場合と同じであ り、ノード 160を対象とした最初の接続処理により、図 22に示すツリー構造を持つ論 理回路の書替えが行われ、これは図 12のツリー構造と同じである。
[0073] 更に図 14及び図 15に示した書替処理のツリー構造を経て、最終的に図 23の論理 回路 92に示す接続がトップノード 172であるノード 154を処理対象とした処理で終了 し、接続処理が終了した論理回路 92から図 24の書替えが行われた論理回路情報 3 4を読み出して外部に出力する。
[0074] 図 24の接続処理により書替えが済んだ論理回路情報 34については、図 19の読み 込まれた論理回路情報 12と対比して明らかなように、モジュール情報 122, 128は同 じである力 モジユーノレ' |·青報 124, 126, 130力 Sモジユーノレ' |·青報 1240, 1260, 1300 の破線で囲む領域のように書き替えられて 、ることが分かる。
[0075] 図 25は図 1の論理回路設計装置 10による全体的な階層型論理回路の接続処理 のフローチャートである。図 25において、ステップ S1で論理回路読込部 18が論理回 路情報 12及びライブラリ 14の処理情報を読み込み、論理回路記憶部 20に記憶する
[0076] 続いてステップ S2で接続対象読込部 22が接続対象情報 16を読み込み、ツリー構 造を作成して接続対象記憶部 24に記憶する。続いてステップ S3で、ツリー構造につ いてトップ力も検索し、ツリーが分岐しているノードを最上位階層のノードとする調整 を行う。
[0077] 続、てステップ S4で、ネットが接続して 、る階層ポートを探索して、階層ポートを接 続に使用するためのリーフの追加を行う補正処理を実行する。続いてステップ S5で、 ツリー構造につきボトムアップ的にノード単位の接続処理を行って、記憶して 、る論 理回路情報を書き替え、接続処理の終了で、ステップ S6で論理回路情報を外部に 出力する。 [0078] 図 26は図 25のステップ S3による最上位階層調整処理の詳細を示したフローチヤ ートであり、図 10のツリー構造を例にとって説明すると次のようになる。
[0079] まずステップ S1でトップノードにツリー構造の最上位のノード 152を代入する。続い てステップ S2で、トップノードに接続するリーフ数力^で且つトップノードに接続する 下位ノードが 1つか否かチェックする。
[0080] ノード 152の場合には、この条件を満足することからトップノードではないと判定し、 ステップ S3に進み、下位ノード 154をトップノードに入れ替える。続いてステップ S2で 、入れ替えた下位ノード 154をトップノードとして、トップノードに接続するリーフ数が 0 で且つトップノードに接続する下位ノードが 1つか否か判定する。ノード 154について は、 1つのリーフ 162と 2つのノード 156, 158が接続されていることから、ステップ S4 に進み、ノード 154をトップノードと確定する。
[0081] 図 27は図 25のステップ S4による接続対象補正処理の詳細を示したフローチャート であり、図 10のツリー構造を例にとって説明すると次のようになる。
[0082] まずステップ S1でトップノード 172であるノード 154の配下のリーフを取り出す。この リーフは、本実施形態にあっては深さ探索法を採用していることから、深さを示す n= 3に位置する例えばリーフ 170を取り出す。ステップ S 2でリーフ 170の接続対象がネ ットか否か判定し、この場合にはピン「g」であることから、ステップ S9に進み、全てのリ ーフを処理済みか否かチェックし、未処理であること力 ステップ S1に戻り、次のリー フ 168を取り出す。
[0083] このようなリーフの取出し処理を繰り返し、リーフ 164を取り出した場合、ステップ S2 でリーフ 164はネット「h」であることが判別される。この場合にはステップ S3に進み、 論理回路情報即ち図 5に示す論理回路 92の情報から、ネット「h」に接続するピン「p」 を取り出す。次にステップ S4でネット「h」のインスタンス「c」を階層とする下位ノード 1 60に接続されたリーフがある力否かチェックする。
[0084] この場合には 2つのリーフ 168, 170が存在することから、ステップ S5で、下位ノー ド 160で対応する階層ポート「p」に階層内のネットが接続されている力否か判定する 。図 5の論理回路 92の場合には階層 96の中のネットは階層ポート「p」に接続されて いないことから、ステップ S7の処理に進み、下位ノード 160に階層ポート「p」のリーフ 174を追加する。
[0085] 一方、図 18に示した論理回路 92にあっては、下位ノードで対応する階層ポート「p」 にノード内のネット「n」が接続されていることから、ステップ S6に進み、この場合には 図 20のツリー構造に示すように、下位ノード 160にネット「n」のリーフ 198を追加する
[0086] 続!、てステップ S8に進み、全てのピンを処理済みか否かチェックし、処理済みであ れば、ステップ S9で全てのリーフの処理済みか否かチェックし、図 10の場合にはネッ トのリーフは 1つしかないことから、一連の処理を終了し、図 25のメインルーチンにリタ ーンする。
[0087] 図 28、図 29及び図 30は、図 25のステップ S5による接続処理の詳細を示したフロ 一チャートであり、図 10のツリー構造を例にとって説明すると次のようになる。
[0088] まずステップ S1で、トップノード 172であるノード 154のボトムのノード階層数を階層 nに n= 2としてセットする。次にステップ S2で階層 n= 2のノードを処理対象として取り 出す。この場合はノード 160を取り出す。
[0089] 続!、てステップ S3でノード 160は最上位ノードか否か判定し、最上位ノードでな!ヽ こと力ら、図 29のステップ S4に進む。図 29のステップ S4〜S13の処理はツリー構造 力 階層ポートを検索する処理である。
[0090] まずステップ S4で現在ポートを不使用(false)に初期化した後、ステップ S5で処理 対象ノード 160のリーフ 168, 170, 174の! /、ずれ力 1つ、 f列えば、リーフ 168を取り出 す。次にステップ S6でリーフ 168はネットか否か判定する。この場合にはピン「e」であ ること力ら、ステップ S9〖こ進む。
[0091] ステップ S9ではリーフ 168のピンは階層ポートか否かチェックする。ピン「e」は図 5 の論理回路 92から階層ポートではないことから、ステップ S 11に進み、ピン「e」が階 層ポートに接続している力否かチェックする。この場合には階層ポートに接続してい ないことから、ステップ S 13に進み、全てのリーフ処理が済んでいないことから、ステツ プ S5に戻り、次のリーフ 170を取り出す。
[0092] リーフ 170もピン「g」であることから、リーフ 168と同じ処理になる。次にリーフ 174を 取り出すが、リーフ 174は階層ポート「p」であることから、ステップ S9でリーフ 174のピ ン「P」が階層ポートであることが判別され、ステップ S 10で現在ポートを使用(true)と し、階層ポートにピン 」を代入する。
[0093] 更に接続処理が進んで、図 12のツリー構造でノード 156を処理対象とした場合の 階層ポートの検索処理にあっては、ステップ S5でリーフ 164を取り出した場合、ステツ プ S6でリーフ 164はネット「h」であることが判別され、この場合にはステップ S7でネッ ト「h」が階層ポートに接続して 、るか否力判定し、図 11の論理回路 92のようにネット h は階層ポート「p」に接続していることから、ステップ S8で現在ポートを使用(true)とし 、階層ポートにピン 」を代入する。
[0094] この図 29におけるステップ S4〜S13により、ツリー構造における階層ポートの存在 が検索される。
[0095] 続いて図 30のステップ S14に進む。図 30のステップ S14〜S18の処理は、階層ポ ートが存在しな力つた場合に新たに階層ポートを生成する処理である。ステップ S 14 にあっては、現在ポートは未使用(false)、即ち図 29のステップ S4〜S13の処理で 階層ポートが検索されな力つた力否力判定し、未使用、即ち検索されな力つた場合 には、ステップ S 15で現在ポートに新規に作成した階層ポートを代入する。
[0096] 続いてステップ S16で、リーフの中にドライバがあるか否力判定し、ドライバがあれ ばステップ S 17で新規に作成した階層ポートの属性を出力(output)属性に設定し、 ドライバがなければステップ S 18で階層ポートの属性を入力(input)属性に設定する
[0097] 以上の階層ポートの検索あるいは存在しない場合の新規生成が済んだならば、ス テツプ S19で例えば図 10の処理対象ノード 160におけるリーフ 168を取り出し、ステ ップ S20でリーフはネットか否かチェックし、この場合にはピン「e」であることから、ステ ップ S22に進み、未接続ならばピンとポートを接続する。
[0098] 一方、ステップ S20でリーフがネットであった場合には、ステップ S21で未接続であ ればネットとポートを接続する。このステップ S19〜S22の処理を、ステップ S23で処 理対象ノード 160の全てのリーフ 168, 170, 174【こつ!ヽて繰り返す。ステップ S23で 処理対象ノード 160の全てのリーフの処理が済むと、ステップ S24で上位ノード 156 に階層ポートのインスタンスのピン 」を持つリーフを図 12のツリー構造のリーフ 182 のように追加し、ステップ S25で現在処理対象となっている図 10のノード 160を削除 する。
[0099] 続いて図 28のステップ S36〖こ戻り、全てのノード処理が済んだか否かチェックする 。済んでいないことからステップ S2に戻り、次の階層 n= lのノードを取り出し、同様な 処理を繰り返す。このようなボトムアップ的なノードごとの処理を通じて、ステップ S3で 図 15の階層構造まで接続処理が進み、ノード 154力 S取り出されると、ステップ S3で 最上位ノードであることが判別され、ステップ S 26に進む。
[0100] ステップ S26にあっては、最上位ノード 154に接続したリーフの 1つ例えばリーフ 18 8を取り出し、リーフ 188はネットか否か判別する。この場合にはリーフ 188はピンであ ること力 、ステップ S28に進み、リーフ 188のピンにネットの接続があるか否か判定 する。
[0101] この場合には図 13の論理回路 92からピン 」にネットの接続はないことから、ステツ プ S30に進み、基準ネットに新規作成ネットを代入し、リーフ 188のピン 」を基準ネ ットに接続する。即ち図 16の論理回路 92のように、基準ネット 192を新規作成し、こ れにピン 」を接続する。
[0102] 一方、ステップ S26で最上位ノードに接続したリーフがネットであった場合には、ス テツプ S27でそのネットを基準ネットに設定する。またステップ S28でリーフのピンに ネットの接続がある場合には、ステップ S29でピンの接続ネットを基準ネットに設定す る。このステップ S26〜S30の処理力 最上位ノードに接続されている複数のリーフ のうちの最初に取り出したリーフの処理となる。
[0103] 続いてステップ S31で次のリーフ、即ち 2番目のリーフ 190を取り出し、ステップ S32 でリーフがネットか否力判定し、この場合にリーフ 190はピン 」であることから、ステ ップ S34でピン「p」と基準ネットを接続する。ステップ S32でリーフがもしネットであつ た場合には、ステップ S33でネットと基準ネットを接続する。
[0104] 以下、残りのリーフにつき、ステップ S35で全てのリーフの処理が済むまで、ステツ プ S31からステップ S34の処理により基準ネットにピンまたはネットを接続する処理を 繰り返す。ステップ S35で処理が済むと、ステップ S36で最上位ノードについての処 理が終了したことから、全てのノード処理が済んだことが判別され、一連の接続処理 を終了する。
[0105] このような図 25〜図 30のフローチャートに示した処理手順は、本発明による階層型 論理回路の信号接続処理プログラムの内容を表すものである。
[0106] また本発明は、階層型論理回路の信号処理プログラムを格納したコンピュータ可読 の記録媒体を提供する。この記録媒体は、 CD—ROM、フロッピーディスク (R)、 DV Dディスク、光磁気ディスク、 ICカードなどの可搬型記憶媒体や、コンピュータシステ ムの内外に備えられたノヽードディスクドライブなどの記憶装置の他、回線を介してプ ログラムを保持するデータベース、あるいは他のコンピュータシステム並びにそのデ ータベースや、更に回線上の伝送媒体を含むものである。
[0107] また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の 実施形態に示した数値による限定は受けない。

Claims

請求の範囲
[1] コンピュータに、
階層構造をもつ論理回路の情報を読込む論理回路読込ステップと、
前記論理回路の階層を経てピン又はネットを含む接続対象に至るまでの接続対象 情報を読み込み、階層をノードとし接続対象をリーフとするツリー構造を作成する接 続対象読込ステップと、
前記ツリー構造を根力 参照し、ツリーが分岐しているノードを最上位ノードとする 最上階層調整ステップと、
前記ツリー構造の接続対象をネットとしたリーフを検索し、前記ネットを階層ポートを 介して接続する下位階層ノードに、前記階層ポートを接続対象とするリーフ又は下位 階層内のネットを接続対象とするリーフを追加する接続対象補正ステップと、 前記ツリー構造に対してボトムアップ的に接続処理を行なって前記論理回路情報 を書替える接続処理ステップと、
前記接続処理が完了した論理回路情報を出力する論理回路出力ステップと、 を実行することを特徴とする階層型論理回路の信号接続プログラム。
[2] 請求項 1記載の階層型論理回路の信号接続プログラムに於いて、前記最上位階層 調整ステップは、
前記ツリー構造のノードを根から取出して処理対象とし、処理対象ノードのリーフが 零で下位ノードが 1つの場合に下位ノードを次の処理対象ノードとし、処理対象ノー ドのリーフが 2以上のリーフ及び又はノードの場合に最上位ノードとすることを特徴と する階層型論理回路の信号接続プログラム。
[3] 請求項 1記載の階層型論理回路の信号接続プログラムに於 、て、前記接続対象補 正ステップは、
前記ツリー構造力も接続対象をネットとするリーフを検索するリーフ検索ステップと、 前記ネットに接続するピンを検索するピン検索ステップと、
前記ピンが検索された場合、前記ピンのインスタンスを階層とする下位ノードを検索 し、
前記下位ノードが検索された場合、 (1)前記下位階層ノードにおいて、前記ピンに対応する階層ポートに前記下位階層 ノードのネットが接続されていない場合は、前記階層ポートを前記下位階層のノード のリーフとして追カロし、
(2)前記ピンに対応する階層ポートに前記下位階層ノードのネットが接続されている 場合は、前記ネットを前記下位階層のノードのリーフとして追加する、
リーフ追加ステップと、
を実行することを特徴とする階層型論理回路の信号接続プログラム。
[4] 請求項 1記載の階層型論理回路の信号接続プログラムに於いて、前記接続処理ス テツプは、
処理対象ノードか最上位ノードでな 、場合、
処理対象ノードのリーフが階層ポートか又はネットで階層ポートに接続しているかど うか判定し、階層ポートが存在する場合は、階層ポートを接続対象とし、階層ポートが 存在しない場合は新たに階層ポートを作成する階層ポート生成ステップと、
前記対象ノードのリーフの少なくともいずれか 1つにドライバがあれば入出力属性を 出力属性に設定し、ドライバがなければ前記入出力属性を入力属性に設定する入出 力属性設定ステップと、
前記対象ノードのリーフを前記階層ポートと接続する接続ステップと、
上位階層のノードに前記階層ポートをリーフとして追加する接続補正ステップ 前記処理対象ノードを削除して次のノードを処理対象ノードとする更新ステップと、 を実行し、
処理対象ノードが最上位ノードの場合、
最初の処理対象リーフがネットならば前記ネットを基準ネットとし、最初の処理対象 リーフが階層ポートまたはピンならば、前記階層ポート又はピンに接続するネットを基 準ネットとし、ネットの接続が無い場合は、新たにネットを生成し接続して基準ネットと する基準ネット設定ステップと、
2つ目以降の処理対象リーフを前記基準ネットと接続する接続ステップと、 を実行すること特徴とする階層型論理回路の信号接続プログラム。
[5] 階層構造をもつ論理回路の情報を読込む論理回路読込ステップと、 前記論理回路の階層を経てピン又はネットを含む接続対象に至るまでの接続対象 情報を読み込み、階層をノードとし接続対象をリーフとするツリー構造を作成する接 続対象読込ステップと、
前記ツリー構造を根力 参照し、ツリーが分岐しているノードを最上位ノードとする 最上階層調整ステップと、
前記ツリー構造の接続対象をネットとしたリーフを検索し、前記ネットを階層ポートを 介して接続する下位階層ノードに、前記階層ポートを接続対象とするリーフ又は下位 階層内のネットを接続対象とするリーフを追加する接続対象補正ステップと、 前記ツリー構造に対してボトムアップ的に接続処理を行なって前記論理回路情報 を書替える接続処理ステップと、
前記接続処理が完了した論理回路情報を出力する論理回路出力ステップと、 を備えたことを特徴とする階層型論理回路の信号接続方法。
[6] 請求項 5記載の階層型論理回路の信号接続方法に於 、て、前記最上位階層調整 ステップは、
前記ツリー構造のノードを根から取出して処理対象とし、処理対象ノードのリーフが 零で下位ノードが 1つの場合に下位ノードを次の処理対象ノードとし、処理対象ノー ドのリーフが 2以上のリーフ及び又はノードの場合に最上位ノードとすることを特徴と する階層型論理回路の信号接続方法。
[7] 請求項 5記載の階層型論理回路の信号接続方法に於 ヽて、前記接続対象補正ス テツプは、
前記ツリー構造力も接続対象をネットとするリーフを検索するリーフ検索ステップと、 前記ネットに接続するピンを検索するピン検索ステップと、
前記ピンが検索された場合、前記ピンをインスタンスを階層とする下位ノードを検索 し、
前記下位ノードが検索された場合、
(1)前記下位階層ノードにおいて、前記ピンに対応する階層ポートに前記下位階層 ノードのネットが接続されていない場合は、前記階層ポートを前記下位階層のノード のリーフとして追カロし、 (2)前記ピンに対応する階層ポートに前記下位階層ノードのネットが接続されている 場合は、前記ネットを前記下位階層のノードのリーフとして追加する、
リーフ追加ステップと、
を備えたことを特徴とする階層型論理回路の信号接続方法。
[8] 請求項 5記載の階層型論理回路の信号接続方法に於 ヽて、前記接続処理ステツ プは、
処理対象ノードか最上位ノードでな 、場合、
処理対象ノードのリーフが階層ポートか又はネットで階層ポートに接続しているかど うか判定し、階層ポートが存在する場合は、階層ポートを接続対象とし、階層ポートが 存在しない場合は新たに階層ポートを作成する階層ポート生成ステップと、
前記対象ノードのリーフの少なくともいずれか 1つにドライバがあれば入出力属性を 出力属性に設定し、ドライバがなければ前記入出力属性を入力属性に設定する入出 力属性設定ステップと、
前記対象ノードのリーフを前記階層ポートと接続する接続ステップと、
上位階層のノードに前記階層ポートをリーフとして追加する接続補正ステップ 前記処理対象ノードを削除して次のノードを処理対象ノードとする更新ステップと、 を実行し、
処理対象ノードが最上位ノードの場合、
最初の処理対象リーフがネットならば前記ネットを基準ネットとし、最初の処理対象 リーフが階層ポートまたはピンならば、前記階層ポート又はピンに接続するネットを基 準ネットとし、ネットの接続が無い場合は、新たにネットを生成し接続して基準ネットと する基準ネット設定ステップと、
2つ目以降の処理対象リーフを前記基準ネットと接続する接続ステップと、 を備えたこと特徴とする階層型論理回路の信号接続方法。
[9] 階層構造をもつ論理回路の情報を読込む論理回路読込部と、
前記論理回路の階層を経てピン又はネットを含む接続対象に至るまでの接続対象 情報を読み込み、階層をノードとし接続対象をリーフとするツリー構造を作成する接 続対象読込部と、 前記ツリー構造を根力 参照し、ツリーが分岐しているノードを最上位ノードとする 最上階層調整部と、
前記ツリー構造の接続対象をネットとしたリーフを検索し、前記ネットを階層ポートを 介して接続する下位階層ノードに、前記階層ポートを接続対象とするリーフ又は下位 階層内のネットを接続対象とするリーフを追加する接続対補正部と、
前記ツリー構造に対してボトムアップ的に接続処理を行なって前記論理回路情報 を書替える接続処理部と、
前記接続処理が完了した論理回路情報を出力する論理回路出力部と、 を備えたことを特徴とする論理回路設計装置。
[10] 請求項 9記載の論理回路設計装置に於いて、前記最上位階層調整部は、
前記ツリー構造のノードを根から取出して処理対象とし、処理対象ノードのリーフが 零で下位ノードが 1つの場合に下位ノードを次の処理対象ノードとし、処理対象ノー ドのリーフが 2以上のリーフ及び又はノードの場合に最上位ノードとすることを特徴と する論理回路設計装置。
[11] 請求項 9記載の論理回路設計装置に於いて、前記接続対象補正部は、
前記ツリー構造力も接続対象をネットとするリーフを検索し、
前記ネットに接続するピンを検索し、
前記ピンが検索された場合、前記ピンをインスタンスを階層とする下位ノードを検索 し、
前記下位ノードが検索された場合、
( 1)前記下位階層ノードにおいて、前記ピンに対応する階層ポートに前記下位階層 ノードのネットが接続されていない場合は、前記階層ポートを前記下位階層のノード のリーフとして追カロし、
(2)前記ピンに対応する階層ポートに前記下位階層ノードのネットが接続されている 場合は、前記ネットを前記下位階層のノードのリーフとして追加する、
ことを特徴とする論理回路設計装置。
[12] 請求項 9記載の論理回路設計装置に於いて、前記接続処理部は、
処理対象ノードか最上位ノードでな 、場合、 処理対象ノードのリーフが階層ポートか又はネットで階層ポートに接続しているかど うか判定し、階層ポートが存在する場合は、階層ポートを接続対象とし、階層ポートが 存在しな!、場合は新たに階層ポートを作成し、
前記対象ノードのリーフの少なくともいずれか 1つにドライバがあれば入出力属性を 出力属性に設定し、ドライバがなければ前記入出力属性を入力属性に設定する入出 力属性設定部と、
前記対象ノードのリーフを前記階層ポートと接続し、
上位階層のノードに前記階層ポートをリーフとして追加し、
前記処理対象ノードを削除して次のノードを処理対象ノードとし、
処理対象ノードが最上位ノードの場合、
最初の処理対象リーフがネットならば前記ネットを基準ネットとし、最初の処理対象 リーフが階層ポートまたはピンならば、前記階層ポート又はピンに接続するネットを基 準ネットとし、ネットの接続が無い場合は、新たにネットを生成し接続して基準ネットと し、
2つ目以降の処理対象リーフを前記基準ネットと接続すること特徴とする論理回路 設計装置。
PCT/JP2006/300811 2006-01-20 2006-01-20 階層型論理回路の信号接続プログラム、方法及び装置 WO2007083380A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2006/300811 WO2007083380A1 (ja) 2006-01-20 2006-01-20 階層型論理回路の信号接続プログラム、方法及び装置
PCT/JP2007/050800 WO2007083747A1 (ja) 2006-01-20 2007-01-19 階層型論理回路の信号接続プログラム、方法及び装置
JP2007554977A JP4308300B2 (ja) 2006-01-20 2007-01-19 画像データ処理装置及び方法
US12/102,462 US7840930B2 (en) 2006-01-20 2008-04-14 Signal connection program, method, and device of hierarchical logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/300811 WO2007083380A1 (ja) 2006-01-20 2006-01-20 階層型論理回路の信号接続プログラム、方法及び装置

Publications (1)

Publication Number Publication Date
WO2007083380A1 true WO2007083380A1 (ja) 2007-07-26

Family

ID=38287342

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2006/300811 WO2007083380A1 (ja) 2006-01-20 2006-01-20 階層型論理回路の信号接続プログラム、方法及び装置
PCT/JP2007/050800 WO2007083747A1 (ja) 2006-01-20 2007-01-19 階層型論理回路の信号接続プログラム、方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/050800 WO2007083747A1 (ja) 2006-01-20 2007-01-19 階層型論理回路の信号接続プログラム、方法及び装置

Country Status (3)

Country Link
US (1) US7840930B2 (ja)
JP (1) JP4308300B2 (ja)
WO (2) WO2007083380A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9117043B1 (en) * 2012-06-14 2015-08-25 Xilinx, Inc. Net sensitivity ranges for detection of simulation events
CN112464591B (zh) * 2020-11-19 2022-10-18 苏州浪潮智能科技有限公司 一种多端口嵌套模型连接分析方法及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002056041A (ja) * 2000-08-11 2002-02-20 Hitachi Ltd ハードウェア記述言語階層情報反映方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528508A (en) * 1993-02-19 1996-06-18 International Business Machines Corporation System and method for verifying a hierarchical circuit design
US5790416A (en) * 1995-09-18 1998-08-04 Motorola, Inc. Updating hierarchical DAG representations through a bottom up method
JP3022315B2 (ja) * 1996-04-26 2000-03-21 松下電器産業株式会社 回路抽出方法
US5901064A (en) * 1996-08-06 1999-05-04 Micron Technology, Inc. System and method for scoping global nets in a hierarchical netlist
US6801884B2 (en) * 2001-02-09 2004-10-05 Hewlett-Packard Development Company, L.P. Method and apparatus for traversing net connectivity through design hierarchy
US7062427B2 (en) * 2001-12-27 2006-06-13 John Stephen Walther Batch editor for netlists described in a hardware description language
US7240316B2 (en) * 2002-04-16 2007-07-03 Micron Technology, Inc. Apparatus and method to facilitate hierarchical netlist checking
US7073152B2 (en) * 2003-08-25 2006-07-04 Hewlett-Packard Development Company, L.P. System and method for determining a highest level signal name in a hierarchical VLSI design

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002056041A (ja) * 2000-08-11 2002-02-20 Hitachi Ltd ハードウェア記述言語階層情報反映方法

Also Published As

Publication number Publication date
US7840930B2 (en) 2010-11-23
JP4308300B2 (ja) 2009-08-05
JPWO2007083747A1 (ja) 2009-06-11
WO2007083747A1 (ja) 2007-07-26
US20080222591A1 (en) 2008-09-11

Similar Documents

Publication Publication Date Title
US6530073B2 (en) RTL annotation tool for layout induced netlist changes
US7971178B1 (en) System to merge custom and synthesized digital integrated circuit design data
US20080109780A1 (en) Method of and apparatus for optimal placement and validation of i/o blocks within an asic
US8869091B2 (en) Incremental clock tree synthesis
US20050091627A1 (en) Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout
US6113647A (en) Computer aided design system and method using hierarchical and flat netlist circuit representations
US7975247B2 (en) Method and system for organizing data generated by electronic design automation tools
US7370297B2 (en) Method, system, and computer program for validating correspondence information between behavior and lower level description of a circuit design
US7904856B2 (en) Arrangement handling commands as control system behaviors and data system behaviors
US10437946B1 (en) Using implemented core sources for simulation
JP2008112268A (ja) タイミング検証方法、タイミング検証装置及びタイミング検証プログラム
JP2000242672A (ja) 形式的論理検証装置および形式的論理検証方法
US6968518B2 (en) Method of resolving missing graphical symbols in computer-aided integrated circuit design
US6983430B2 (en) Method of resolving mismatched parameters in computer-aided integrated circuit design
WO2007083380A1 (ja) 階層型論理回路の信号接続プログラム、方法及び装置
US9679092B1 (en) Constraint handling for parameterizable hardware description language
US20150088483A1 (en) Simulated component connector definition and connection process
JP7073756B2 (ja) 併合方法、併合装置、および併合プログラム
US9411918B1 (en) Simplified device model extension using subcircuits
JP2006024008A (ja) 情報処理方法、情報処理装置およびプログラム
US7207015B1 (en) Translation of an electronic integrated circuit design into hardware
US10817638B2 (en) Method and apparatus for camouflaging an integrated circuit using virtual camouflage cells
US6877140B1 (en) Method and system for generating a schematic representing bus structures
US11928409B2 (en) Dynamic abstract generation and synthesis flow with area prediction
CN115293078B (zh) 集成电路的节点改写方法、装置、电子设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06712036

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP