WO2023214624A1 - 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법 - Google Patents

파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법 Download PDF

Info

Publication number
WO2023214624A1
WO2023214624A1 PCT/KR2022/014074 KR2022014074W WO2023214624A1 WO 2023214624 A1 WO2023214624 A1 WO 2023214624A1 KR 2022014074 W KR2022014074 W KR 2022014074W WO 2023214624 A1 WO2023214624 A1 WO 2023214624A1
Authority
WO
WIPO (PCT)
Prior art keywords
partitioning
partition
reinforcement learning
netlist
area
Prior art date
Application number
PCT/KR2022/014074
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 주식회사 애자일소다
Priority to US18/296,440 priority Critical patent/US20230385506A1/en
Publication of WO2023214624A1 publication Critical patent/WO2023214624A1/ko

Links

Images

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
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed circuit boards [PCB] or multi-chip modules [MCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/12Sizing, e.g. of transistors or gates

Definitions

  • the present invention relates to an integrated circuit design system and method based on deep reinforcement learning using partitioning. More specifically, the present invention relates to a system and method for designing an integrated circuit based on deep reinforcement learning using partitioning. More specifically, the present invention relates to a partitioning process while preserving the properties of the hypergraph necessary to apply deep reinforcement learning by reducing a large hypergraph. This relates to an integrated circuit design system and method based on deep reinforcement learning using partitioning that performs parametric hyperparameter partitioning considering size balance.
  • Reinforcement learning is a learning method that deals with agents that interact with the environment and achieve goals, and is widely used in the field of artificial intelligence.
  • Figure 1 is a block diagram showing the configuration of a general reinforcement learning device. As shown in Figure 1, the agent 10 learns how to determine action (Action) A through learning a reinforcement learning model, Each action A affects the next state S, and the degree of success can be measured by the reward R.
  • the reward is a reward score for the action decided by the agent 10 according to a certain state when learning through a reinforcement learning model, and is a reward score for the agent 10's decision-making according to learning. It is a kind of feedback.
  • the environment 20 is all rules such as actions that the agent 10 can take and the resulting rewards. States, actions, rewards, etc. are all components of the environment, and all designated things other than the agent 10 are the environment.
  • reinforcement learning The purpose of such reinforcement learning is to find out what actions the reinforcement learning agent, the subject of learning, should perform to receive more rewards.
  • the agent sequentially selects actions as time steps pass and receives compensation based on the impact the actions have on the environment.
  • the present invention is a deep reinforcement learning-based integrated circuit design system using partitioning that can reduce the amount of computation and capacity of an artificial neural network for deep reinforcement learning when designing an integrated circuit with a large hypergraph based on netlist data.
  • the purpose is to provide and method.
  • the present invention is a deep reinforcement learning-based method using partitioning that performs parametrized hyperparameter partitioning considering the balance of partition sizes while preserving the properties of the hypergraph necessary for applying deep reinforcement learning by reducing a large-sized hypergraph.
  • the purpose is to provide an integrated circuit design system and method.
  • an embodiment of the present invention is an integrated circuit design system based on deep reinforcement learning using partitioning, which receives and parses netlist data for an arbitrary integrated circuit, and generates the parsed net. Performs partitioning of standard cells, ports, and macros based on list data, taking into account the area and quantity of standard cells, trade-offs between internal and external networks, and critical path.
  • existing nodes are changed to cluster nodes, and the total number of nodes and the number of hyperedges are reduced through deletion of identical duplicate nodes within the hyperedge and deletion of hyperedges with only one node remaining, thereby reducing the netlist.
  • the partition unit uses parameters based on the area coefficient and path coefficient of the partition considering the area and quantity of the standard cell, the trade-off between the internal network and the external network, and the critical path,
  • the partition size is calculated as the total size of the internal vertices and the total number of vertices in the hyper edge, and through the weight update of each hyper edge using the calculated partition size, each partition is divided into the vertex set. It is characterized in that the size of the netlist is reduced by partitioning blocks in a balanced manner so as to satisfy an arbitrary judgment criterion with respect to the standard (L max ) for the balance of the balance parameter ( ⁇ ).
  • the integrated circuit design system based on deep reinforcement learning using partitioning includes related meta information of the reduced netlist, current macro information reflecting the action determined by the reinforcement learning agent, and adjacency matrix information.
  • a simulation of the reduced netlist is performed based on information and actions provided from the reinforcement learning agent, and the wire length, congestion, and density in the integrated circuit are determined according to the simulation results as feedback on the decision-making of the reinforcement learning agent.
  • a placement optimization unit that provides reward information calculated based on placement performance information, including; and a reinforcement learning agent that determines an action by performing reinforcement learning based on the state information and compensation information provided from the placement optimization unit.
  • the netlist according to the above embodiment is characterized by being expressed as a hypergraph.
  • the partition unit performs hypergraph reconstruction by updating hypergraph information when partitioning of the parameterized netlist is achieved, minimizing the number of partitions, changing the area of partitions and the number of hyper edges to the outside.
  • the partition size is calculated as the total size of the internal vertices and the total number of vertices in the hyper edge, and through the weight update of each hyper edge using the calculated partition size, each partition is a vertex set. It is characterized by partitioning the divided blocks in a balanced manner so as to satisfy an arbitrary judgment criterion with respect to the criterion for balance (L max ) of the balance parameter ( ⁇ ).
  • the partition unit calculates the size of the partition as the sum of the sizes of internal vertices and the number of vertices in the hyper edge based on the area coefficient and path coefficient of the partition, and the size of the partition is as follows. ceremony,
  • area coff is the area coefficient
  • route coff is the route coefficient
  • a v is the area of the corresponding vertex v
  • n(e) is the number of vertices of the corresponding hyper edge e.
  • the partition unit updates the weight of each hyper edge using the calculated size of the partition, and the weight is calculated as follows:
  • W v is the weight of each vertex v
  • W e is the weight of hyper edge e
  • area coff is the area coefficient
  • route coff is the route coefficient
  • n(e) is the number of vertices of the corresponding hyper edge e.
  • SLACKe is characterized by being calculated through the critical path provided in the timing report.
  • the partition unit calculates a partitioning result with an optimal objective (objective value) using a hypergraph partitioning algorithm
  • the objective is characterized in that it is calculated through the sum of the total number of created partitions + the area of the created partition + the external network that is inside but not completely inside the created partition.
  • an embodiment of the present invention is an integrated circuit design method based on deep reinforcement learning using partitioning, wherein a) the partition unit receives netlist data for an arbitrary integrated circuit and parses it, and the parsed netlist Partitioning of standard cells, ports, and macros is performed based on data, taking into account the area and quantity of standard cells, trade-offs between internal and external networks, and critical path.
  • the partition unit receives netlist data for an arbitrary integrated circuit and parses it, and the parsed netlist Partitioning of standard cells, ports, and macros is performed based on data, taking into account the area and quantity of standard cells, trade-offs between internal and external networks, and critical path.
  • existing nodes are changed to cluster nodes, and the size of the netlist is reduced by reducing the total number of nodes and the number of hyperedges by deleting identical duplicate nodes within the hyperedge and deleting hyperedges with only one node remaining. Includes a step of reducing.
  • the partition unit considers the area and quantity of standard cells, the trade-off between the internal network and the external network, and the critical path and area coefficient of the partition.
  • the partition size is calculated as the total size of internal vertices and the total number of vertices within the hyper edge, and the weight of each hyper edge is updated using the calculated partition size.
  • Each partition is characterized by balanced partitioning of the divided blocks of the vertex set to satisfy an arbitrary judgment criterion with respect to the balance criterion (L max ) of the balance parameter ( ⁇ ), thereby reducing the size of the netlist. Do it as
  • the placement optimization unit 120 arranges each element of the reduced netlist in step a) using the learned model, and the related meta of the reduced netlist performing a simulation based on state information including information, current macro information reflecting the action determined by the reinforcement learning agent, and adjacency matrix information, and action information provided from the reinforcement learning agent; and c) the placement optimization unit provides feedback on the decision-making of the reinforcement learning agent and reduces the size through reward information calculated based on placement performance information including wire length, congestion, and density in the integrated circuit according to simulation results. Characterized in that it further includes a step of evaluating the arrangement result of the netlist.
  • the netlist according to the above embodiment is characterized by being expressed as a hypergraph.
  • step a) when the partitioning of the netlist in which the partition unit is parameterized is achieved, the hypergraph information is updated to reconstruct the hypergraph, while minimizing the number of partitions, the area of the partitions, and the hypergraph to the outside.
  • the partition size is calculated as the total size of the internal vertices and the total number of vertices in the hyper edge, and through updating the weight of each hyper edge using the calculated partition size, each The partition is characterized by partitioning the divided blocks of the vertex set in a balanced manner so as to satisfy an arbitrary judgment criterion with respect to the criterion for balance (L max ) of the balance parameter ( ⁇ ).
  • partitioning calculates the size of the partition as the sum of the sizes of internal vertices and the number of vertices in the hyper edge based on the area coefficient and path coefficient of the partition, and the size of the partition is as follows. ceremony
  • area coff is the area coefficient
  • route coff is the route coefficient
  • a v is the area of the corresponding vertex v
  • n(e) is the number of vertices of the corresponding hyper edge e.
  • partitioning updates the weight of each hyper edge using the calculated size of the partition, and the weight is calculated as follows:
  • W v is the weight of each vertex v
  • W e is the weight of hyper edge e
  • area coff is the area coefficient
  • route coff is the route coefficient
  • n(e) is the number of vertices of the corresponding hyper edge e.
  • SLACKe is characterized by being calculated through the critical path provided in the timing report.
  • the partition unit calculates a partitioning result with an optimal objective (objective value) using a hypergraph partitioning algorithm, where the objective is the total number of created partitions + the area of the created partition + the created partition. It is characterized by being calculated through the sum of external networks that are inside the partition but are not completely inside it.
  • the present invention performs partitioning of standard cells, ports, and macros based on netlist data parsed for an arbitrary integrated circuit, and determines the area and quantity of standard cells and the space between the internal network and the external network.
  • the present invention adds a parameterized variable to hypergraph partitioning, so that partitioning can be performed considering the balance of partition sizes while preserving the properties of the hypergraph necessary for applying deep reinforcement learning when the hypergraph is reduced.
  • partitioning can be performed considering the balance of partition sizes while preserving the properties of the hypergraph necessary for applying deep reinforcement learning when the hypergraph is reduced.
  • Figure 1 is a block diagram showing the configuration of a general reinforcement learning device.
  • Figure 2 is a block diagram showing the configuration of an integrated circuit design system based on deep reinforcement learning using partitioning according to an embodiment of the present invention.
  • Figure 3 is an example diagram illustrating the compensation process of the placement optimization unit according to the embodiment of Figure 1.
  • Figure 4 is a flow chart showing a method of designing an integrated circuit based on deep reinforcement learning using partitioning according to an embodiment of the present invention.
  • Figure 5 is a flow chart showing the netlist reduction process of the deep reinforcement learning-based integrated circuit design method using partitioning according to the embodiment of Figure 4.
  • Figure 6 is a flow chart showing the hypergraph partitioning algorithm in the netlist reduction process according to the embodiment of Figure 5.
  • Figure 7 is an example diagram illustrating a partition-based netlist reduction process in the netlist reduction process according to the embodiment of Figure 5.
  • Figure 8 is an example diagram illustrating the process of dividing output partitions in a balanced manner in the netlist reduction process according to the embodiment of Figure 5.
  • Figure 9 is an example diagram illustrating the process of simplifying graph representation in the netlist reduction process according to the embodiment of Figure 5.
  • Figure 10 is an example diagram showing test results using an integrated circuit design method based on deep reinforcement learning using partitioning according to the embodiment of Figure 4.
  • Figure 11 is an example diagram showing the results of integrated circuit placement by an expert from the test results of Figure 10.
  • Figure 12 is an example diagram shown to explain the results of integrated circuit placement using an artificial neural network in the test results of Figure 10.
  • Figure 13 is another example diagram shown to explain the results of integrated circuit placement using an artificial neural network in the test results of Figure 10.
  • Figure 14 is another example diagram shown to explain the results of integrated circuit placement using an artificial neural network in the test results of Figure 10.
  • Figure 15 is another example diagram shown to explain the results of integrated circuit placement using an artificial neural network in the test results of Figure 10.
  • ..unit refers to a unit that processes at least one function or operation, which can be divided into hardware, software, or a combination of the two.
  • the term "at least one” is defined as a term including singular and plural, and even if the term “at least one” does not exist, each component may exist in singular or plural, and may mean singular or plural. This can be said to be self-evident.
  • Figure 2 is a block diagram showing the configuration of an integrated circuit design system based on deep reinforcement learning using partitioning according to an embodiment of the present invention
  • Figure 3 is a block diagram showing the configuration of a placement optimization unit according to the embodiment of Figure 2. .
  • the integrated circuit design system 100 based on deep reinforcement learning using partitioning is necessary to apply deep reinforcement learning by reducing a large size hypergraph. It provides hyperparameter partitioning while preserving the properties of the hypergraph and considering the balance of partition sizes, and may be configured to include a partition unit 110 so that parameterized variables can be added to the existing hypergraph partitioning.
  • the partition unit 110 can receive netlist data for an arbitrary integrated circuit and parse it.
  • the partition unit 110 may perform partitioning on standard cells, ports, and macros based on the parsed netlist data.
  • the partition unit 110 reduces the size of the netlist by partitioning in consideration of the area and quantity of standard cells that affect the cluster area, trade-offs between internal and external networks, and critical paths. You can.
  • the partition unit 110 may perform parameterized partitioning for standard cells, ports, and macros based on the parsed netlist data.
  • the partition unit 110 determines the area and quantity of standard cells that affect the cluster area, the trade-off between the internal network and the external network that affects congestion and wire length, and the critical path (here, critical path).
  • the size of the netlist can be reduced by partitioning so that the partition sizes are balanced through parameterization that takes into account (standard cells within must belong to a partition to avoid negative margin).
  • the netlist can be expressed as a hypergraph.
  • a hypergraph is a network in which multiple vertices or nodes are simultaneously connected to one edge, and may include a hyper edge that connects two or more vertices.
  • a hypergraph can be defined as a composition of n vertex sets and m hyper edge sets, weights corresponding to vertices, and weights corresponding to hyper edges.
  • a vertex may correspond to a pin on a netlist in a circuit
  • a hyper edge may correspond to a net on the netlist
  • the results of hypergraph partitioning can affect the results of deep learning using graphs, and in particular, the results of deep learning using graphs can change significantly depending on the balance of the partitioning results.
  • the partition unit 110 updates hypergraph information, such as a vertex set, a hyperedge set, a weight corresponding to a vertex, and a weight corresponding to a hyper edge, to determine the hypergraph. Reconstruction can be performed.
  • the partition unit 110 may perform partitioning so that the sizes of the partitions are balanced by minimizing the number of partitions and considering changes in the area of the partitions and the number of external hyper edges.
  • the size of the netlist through partitioning in the hypergraph can be reduced by partitioning so that the partition size is balanced through parameterization that considers the area and quantity of standard cells, trade-offs between internal and external networks, and critical paths. You can.
  • the partition unit 110 may calculate the size of the partition as the sum of the sizes of internal vertices and the number of vertices in the hyper edge based on the area coefficient and path coefficient of the partition.
  • the size of the partition can be calculated through Equation 1.
  • area coff is the area coefficient
  • route coff is the route coefficient
  • a v is the area of the corresponding vertex v
  • n(e) is the number of vertices of the corresponding hyper edge e.
  • the partition unit 110 updates the weight of each hyper edge using the calculated size of the partition, thereby creating a simplified hypergraph based on parameters so that balanced partitioning can be achieved. It can be reconstructed as
  • the weight can be calculated through Equation 2.
  • W v is the weight of each vertex v
  • W e is the weight of hyper edge e
  • area coff is the area coefficient
  • route coff is the route coefficient
  • n(e) is the number of vertices of the corresponding hyper edge e
  • SLACKe is the critical path provided in the timing report
  • the weight W v of each vertex v and the weight W e of hyper edge e can be updated according to Equation 2.
  • the vertices are maintained but the hyper edges can be updated by adding major paths on the timing report.
  • the partition unit 110 can calculate a partitioning result with an optimal objective (objective value) using a known hypergraph partitioning algorithm, and the objective minimizes the number of partitions, and the area and exterior of the partitions are calculated. Ensure that the number of hyper edges in the row does not fluctuate significantly.
  • the objective can be calculated through the sum of the total number of created partitions + the area of the created partitions + the external net of the created partitions.
  • the partition unit 110 performs partitioning in a balanced manner based on netlist meta information and macro information, such as the number of edges, number of macros, number of partitions, chip width, and chip height, to create a plurality of partitions.
  • a reduced netlist can be calculated, and the optimal netlist can be selected and provided from among the plurality of calculated reduced netlists.
  • the netlist partitioning system 100 may be configured to further include a placement optimization unit 120 and a reinforcement learning agent 130.
  • the placement optimization unit 120 includes meta information (e.g., number of edges, number of macros, number of partitions, width of chip, height of chip, etc.) of the netlist reduced in the partition unit 1100.
  • Current macro information e.g., macro width, macro height, macro
  • the placement optimization unit 120 provides a reward calculated based on placement performance information including wire length, congestion, and density in the integrated circuit according to simulation results as feedback on the decision-making of the reinforcement learning agent 130. Information can be provided.
  • the wire length 210 between the first cell 211 and the second cell 212 using HPWL is calculated, and an arbitrary virtual area ( In 220), the congestion level for routing, the density for the deployed area 231 in the deployment area 230, etc. can be calculated to provide an evaluation result for the deployment performance.
  • the reinforcement learning agent 130 may perform reinforcement learning to reduce the netlist by performing partitioning so that the partition sizes are balanced based on the state information and compensation information provided by the placement optimization unit 120.
  • the reinforcement learning agent 130 can determine the optimal action through reinforcement learning and provide it to the placement optimization unit 120.
  • the following describes an integrated circuit design method based on deep reinforcement learning using partitioning according to an embodiment of the present invention.
  • Figure 4 is a flowchart showing a method for designing an integrated circuit based on deep reinforcement learning using partitioning according to an embodiment of the present invention
  • Figure 5 is a flowchart showing an integration based on deep reinforcement learning using partitioning according to the embodiment of Figure 4.
  • This is a flowchart shown to explain the netlist reduction process of the circuit design method
  • Figure 6 is a flowchart shown to explain the hypergraph partitioning algorithm in the netlist reduction process according to the embodiment of Figure 5.
  • the partition unit 110 inputs netlist data for an arbitrary integrated circuit.
  • the partition unit 110 performs partitions on standard cells, ports, and macros based on the parsed netlist data, and determines the area and quantity of standard cells that affect the cluster area and congestion. and netlist by partitioning, taking into account trade-offs between internal and external networks that affect wire length, and the critical path (where standard cells within the critical path must belong to a partition to avoid negative slack).
  • the size can be reduced (S200).
  • Netlist reduction in step S200 balances the partition size through mediation in which the partition unit 110 considers the area and quantity of standard cells, trade-offs between internal and external networks, and critical paths.
  • the size of the netlist can be reduced by partitioning.
  • a netlist is a network in which multiple vertices or nodes are simultaneously connected to one edge, and includes a hyper edge that connects two or more vertices, a set of n vertices, a set of m hyper edges, and , It can be expressed as a hypergraph defined by the composition of weights corresponding to vertices and weights corresponding to hyper edges.
  • the partition unit 110 minimizes the number of partitions through parametrization considering the area and quantity of standard cells, trade-offs between internal and external networks, and critical paths, and minimizes the area of partitions and hyperlinks to the outside. Partitioning can be done so that the partition size is balanced by reflecting changes in the number of edges.
  • reconstruction of the hypergraph can be performed by updating hypergraph information, such as vertex sets, hyperedge sets, weights corresponding to vertices, and weights corresponding to hyperedges. .
  • the partition unit 110 generates the area coefficient and path coefficient of the partition from the parsed netlist (S210).
  • the partition unit 110 calculates the size of the partition by executing a known hypergraph partitioning algorithm (S220) using the generated area coefficient and path coefficient.
  • S220 hypergraph partitioning algorithm
  • step S220 the partition unit 110 calculates the size of the partition as the sum of the sizes of the internal vertices and the number of vertices in the hyper edge based on the area coefficient and path coefficient of the created partition using Equation 1 described above. It can be calculated using
  • step S220 the partition unit 110 updates the weight of each hyper edge using the calculated partition size, and through this, the partition size is simplified based on parameters so that partitioning can be achieved in a balanced manner. It can be reconstructed as a simplified hypergraph.
  • the netlist may include multiple nodes in one edge (block), as shown in FIG. 7.
  • the first cluster 310 may include nodes V1, V2, V3, and V4, and the second cluster 320 may include nodes V1, V2, V3, and V4.
  • Nodes V3, V4, V5, and V6 may be included
  • the third cluster 330 may include V5, V7, and V8, and the fourth cluster 340 may include V6 and V8.
  • V1 V2 V3 V4 V5 V6 V7 V8 Cluster 1 One One One One One One One 0 0 0 0 cluster 2 0 0 One One One One One 0 0 Cluster 3 0 0 0 0 One 0 One One Cluster 4 0 0 0 0 One 0 0 One
  • Second cluster 320 (V3, V4, V5, V6)
  • the generated hypergraph may consist of a netlist in the form of dictionary data.
  • the simplification of the hypergraph is divided into clusters of the first group (300: c1) and the second group (300a: c2) (S221), and clusters are assigned to each node as follows (S222).
  • the partition unit 110 moves to the first hyperedge (S223) and changes the existing node to a cluster node according to the assigned cluster, but deletes the same duplicate node within the hyperedge (S224). .
  • step S224 is, for example, first cluster 310: (V1, V2, V3, V4), second cluster 320: (V3, V4, V5, V6), third cluster 330: (V5, V7, V8), fourth cluster 340: (V6, V8), first cluster 310: (c1, c1, c1, c1), second cluster 320: (c1, c1, c1, c2), third cluster 330: (c2, c2, c2), and fourth cluster 340: (c2, c2).
  • duplicate nodes can be deleted as follows.
  • a simplified hypergraph can be constructed by removing the first cluster 310, third cluster 330, and fourth cluster 340 with one node remaining.
  • the weight can be calculated through Equation 2 described above, and the vertices can be maintained but the hyper edge can be updated by adding a major path on the timing report.
  • the partition unit 110 uses a known hypergraph partitioning algorithm to obtain a partitioning result with an optimal objective (objective value), for example, minimizing the number of partitions, and minimizing the area of the partitions and the hyper graph to the outside.
  • the objective can be calculated (S230) so that the variation in the number of edges is not large.
  • the objective can be calculated through the sum of the total number of created partitions + the area of the created partitions + the external net of the created partitions.
  • the partition unit 110 may perform steps S210 and S230 repeatedly a preset number of times (S240).
  • the partition unit 110 After performing step S240, the partition unit 110 performs partitioning in a balanced manner based on netlist meta information and macro information such as the number of edges, number of macros, number of partitions, chip width, and chip height.
  • a plurality of reduced netlists can be calculated by performing , and a reduced netlist with the optimal area coefficient and path coefficient is selected from among the calculated plurality of netlists and provided (S250).
  • partition A (400) and partition B (400a) internal networks (Internal Nets, 410) completely inside partition A (400), and inside partition A (400) Reduction with optimal area coefficient and path coefficient based on the External Nest (420), which is present but not completely internal, and the Critical Path (Critical Path) that generates negative slack (SLACK VIOLATE) provided in the timing report.
  • SLACK VIOLATE Critical Path
  • Figure 9 (b) can be reconstructed into a simplified hypergraph with an image 510 physically simplified to hundreds of instances and an image 520 logically simplified to hundreds of instances of FIG. 9(c).
  • 521 is the macro area
  • 522 is the standard cell area
  • 523 is the port area.
  • the placement optimization unit 120 uses the learned model to place each element of the reduced netlist in step S200 and provides a state including related meta information, current macro information, and adjacency matrix information of the reduced netlist ( A simulation is performed (S300) based on State) information and Action information provided from the reinforcement learning agent 130.
  • the placement optimization unit 120 provides compensation based on placement performance information including wire length, congestion, and density in the integrated circuit according to the simulation result of step S300 as feedback on the decision-making of the reinforcement learning agent 130. ) information can be calculated, and the placement result of the reduced netlist can be evaluated (S400) using the calculated compensation information.
  • the calculated compensation information can be learned to achieve optimal netlist reduction through balanced partitioning of partition sizes by performing reinforcement learning with the state information provided by the reinforcement learning agent 130, and through reinforcement learning.
  • the optimal action can be determined.
  • Figure 10 is an exemplary diagram showing the results of testing using an integrated circuit design method based on deep reinforcement learning using partitioning according to an embodiment of the present invention, and the comparison of the experimental results is WNS and FREQ of the placement results using a graph, And the WNS and FREQ of the path generation results were compared with the existing algorithm and the technology applying parametrized hypergraph partitioning.
  • Figure 11 is the result of the placement of an integrated circuit by an expert
  • Figure 12 is the result of the placement of the integrated circuit placed by applying only the macro orientation
  • Figure 13 is the result of the placement of the integrated circuit placed by applying only the macro orientation and balanced partition
  • Figure 14 is the placement result of an integrated circuit placed by applying only the macro orientation and conventional partitions
  • Figure 15 is the placement result of the integrated circuit placed by applying the macro orientation and balanced partitions and positions.
  • the method (#4) of partitioning a macro-orientation, balanced partition, and a location-parametric netlist provides a good improvement in WNS and FREQ compared to the case directly designed by an 'expert'. You can see that it shows the results.
  • partitioning of standard cells, ports, and macros is performed based on the netlist data parsed for an arbitrary integrated circuit, but the area and quantity of standard cells and the trade between internal and external networks are performed.
  • partitioning considering the off and critical path, the amount of computation and capacity of the artificial neural network for deep reinforcement learning can be reduced by reducing the large size of the hypergraph.
  • first cell 212 second cell
  • Placement area 231 Placement area

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 발명은 큰 크기의 하이퍼 그래프를 축소하여 심층 강화학습을 적용하기에 필요한 하이퍼 그래프의 성질을 보존하면서 파티션 크기의 균형을 고려한 매개화된 하이퍼 파라미터 파티셔닝을 제공할 수 있으며 그래프 축소를 통해 인공 신경망의 연산량과 용량을 축소시킬 수 있다.

Description

파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법
본 발명은 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법에 관한 발명으로서, 더욱 상세하게는 큰 크기의 하이퍼 그래프를 축소하여 심층 강화학습을 적용하기에 필요한 하이퍼 그래프의 성질을 보존하면서 파티션 크기의 균형을 고려한 매개화된 하이퍼 파라미터 파티셔닝을 수행하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법에 관한 것이다.
집적회로를 제작하기 위해서는 다양한 조건들을 만족시켜야 하고, 설계 단계에서 작업자들은 수작업으로 설계를 진행하고 있다.
작업자는 수작업을 통해 집적회로의 스탠다드 셀과 포트, 매크로들을 배치함에 있어 최적의 위치를 찾아 설계를 진행해야만 하여 작업 시간 및 인력이 증가하고, 업무 효율이 현저하게 낮아지는 문제점이 있다.
또한, 각 작업자마다 노하우가 다르기 때문에 양산 제품에 대한 결과물이 일관되지 않는 문제점이 있다.
강화 학습은 환경(environment)과 상호작용하며 목표를 달성하는 에이전트를 다루는 학습 방법으로서, 인공 지능 분야에서 많이 사용되고 있다.
도1은 일반적인 강화 학습 장치의 구성을 나타낸 블록도로서, 도 1에 나타낸 바와 같이, 에이전트(10)가 강화 학습 모델의 학습을 통해 액션(Action, 또는 행동) A를 결정하는 방법을 학습시키고, 각 액션인 A는 그 다음 상태(state) S에 영향을 끼치며, 성공한 정도는 보상(Reward) R로 측정할 수 있다.
즉, 보상은 강화 학습 모델을 통해 학습을 진행할 경우, 어떤 상태(State)에 따라 에이전트(10)가 결정하는 액션(행동)에 대한 보상 점수로서, 학습에 따른 에이전트(10)의 의사 결정에 대한 일종의 피드백이다.
환경(20)은 에이전트(10)가 취할 수 있는 행동, 그에 따른 보상 등 모든 규칙으로서, 상태, 액션, 보상 등은 모두 환경의 구성요소이고, 에이전트(10) 이외의 모든 정해진 것들이 환경이다.
이러한 강화 학습은 학습의 행동 주체인 강화 학습 에이전트(Agent)가 어떤 행동을 해야 더 많은 보상(Reward)을 받을지 알아내는 것을 목적으로 한다.
즉, 정해진 답이 없는 상태에서도 보상을 최대화시키기 위해 무엇을 할 것인가를 배우는 것으로서, 입력과 출력이 명확한 관계를 갖고 있는 상황에서 사전에 어떤 행위를 할 것인지 듣고 하는 것이 아니라, 시행착오를 거치면서 보상을 최대화시키는 것을 배우는 과정을 거친다.
또한, 에이전트는 시간 스텝이 흘러감에 따라 순차적으로 액션을 선택하게 되고, 상기 액션이 환경에 끼친 영향에 기반하여 보상을 받게 된다.
또한, 최근 들어 회로도를 포함한 넷리스트 데이터에서는 심층 강화학습을 이용한 연구가 많이 이루어지고 있다.
그러나 이러한 방법들을 사용하는데 대부분의 넷리스트 관련 연산이 넷리스트 크기에 따라 비용이 증가하기 때문에 넷리스트의 크기는 주요한 문제가 되었다.
또한, 넷리스트 기반의 심층강화학습 방법들은 대부분 작은 넷리스트에서는 효과적이었으나 실생활에서 볼 수 있는 넷리스트들은 통상적으로 크기가 매우 큰 거대한 크기(Size)의 하이퍼 그래프이기 때문에, 인공 신경망의 연산량과 용량이 그래프 크기에 따라 증가하는 문제점이 있다.
또한, 큰 크기의 넷리스트에서는 인공 신경망을 학습하고 학습된 인공 신경망을 이용하여 추론하는데 많은 어려움이 있다.
본 발명은 넷리스트 데이터를 기반으로 큰 크기의 하이퍼 그래프를 가지는 집적회로의 설계시에 심층 강화학습을 위한 인공 신경망의 연산량과 용량을 축소시킬 수 있는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 큰 크기의 하이퍼 그래프를 축소하여 심층 강화학습을 적용하는데 필요한 하이퍼 그래프의 성질을 보존하면서 파티션 크기의 균형을 고려한 매개화된 하이퍼 파라미터 파티셔닝을 수행하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 일 실시 예는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템으로서, 임의의 집적회로에 대한 넷리스트 데이터를 입력받아 파싱(Parsing)하고, 상기 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행하되, 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려하여 배정된 군집에 따라 기존 노드를 군집 노드로 변경하고, 하이퍼엣지 내부에서 동일한 중복 노드의 삭제와, 노드가 하나만 남은 하이퍼엣지의 삭제를 통해, 전체 노드 수와 하이퍼엣지 수를 감소시켜 넷리스트의 크기를 축소하는 파티션부;를 포함한다.
또한, 상기 실시 예에 따른 상기 파티션부는 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려한 파티션의 면적 계수와 경로 계수 기반의 매개변수를 통해, 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝(partitioning)하여 넷리스트의 크기가 축소되도록 하는 것을 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템은 축소된 넷리스트의 관련 메타 정보, 강화학습 에이전트에서 결정된 액션을 반영한 현재의 매크로 정보, 인접 행렬 정보를 포함한 상태(State) 정보와, 강화학습 에이전트로부터 제공된 액션(Action)을 기반으로 축소된 넷리스트의 시뮬레이션을 수행하고, 강화학습 에이전트의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 집적회로에서의 와이어 길이, 혼잡도, 밀도를 포함한 배치 성능 정보에 기반하여 산출되는 보상(Reward) 정보를 제공하는 배치 최적화부; 및 상기 배치 최적화부로부터 제공받은 상태 정보와 보상 정보를 기반으로 강화학습을 수행하여 액션을 결정하는 강화학습 에이전트;를 더 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 넷리스트는 하이퍼 그래프(hypergraph)로 표현되는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티션부는 매개화된 넷리스트의 파티셔닝이 이루어지면 하이퍼 그래프 정보를 업데이트하여 하이퍼 그래프의 재구성을 수행하고, 파티션 수의 최소화, 파티션들의 면적 및 외부로의 하이퍼 엣지 수의 변동을 고려하여 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티션부는 파티션의 면적 계수와 경로 계수를 기반으로 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션의 크기를 산출하되, 상기 파티션의 크기는 하기식,
Figure PCTKR2022014074-appb-img-000001
- 여기서, areacoff는 면적 계수이고, routecoff는 경로 계수이며, Av는 해당 버텍스 v의 면적이고, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수임 - 을 통해 산출되는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티션부는 산출된 파티션의 크기를 이용하여 각 하이퍼 엣지의 가중치를 업데이트하되, 상기 가중치는 하기식
Figure PCTKR2022014074-appb-img-000002
Figure PCTKR2022014074-appb-img-000003
- 여기서, Wv는 각 버텍스 v의 가중치이고, We는 하이퍼 엣지 e의 가중치이며, areacoff는 면적 계수이고, routecoff는 경로 계수이며, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수이고, SLACKe는 타이밍 보고서에서 제공되는 임계 경로 임 - 을 통해 산출되는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티션부는 하이퍼 그래프 파티셔닝 알고리즘을 이용하여 최적의 오브젝티브(objective: 목적값)를 갖는 파티셔닝 결과를 산출하되,
상기 오브젝티브는 생성된 파티션의 총수 + 생성된 파티션의 면적 + 생성된 파티션의 내부에는 있지만 완전히 내부에 있지 않은 외부 네트워크의 합을 통해 산출되는 것을 특징으로 한다.
또한, 본 발명의 일 실시 예는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법으로서, a) 파티션부가 임의의 집적회로에 대한 넷리스트 데이터를 입력받아 파싱(Parsing)하고, 상기 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행하되, 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려하여 배정된 군집에 따라 기존 노드를 군집 노드로 변경하고, 하이퍼엣지 내부에서 동일한 중복 노드의 삭제와, 노드가 하나만 남은 하이퍼엣지의 삭제를 통해, 전체 노드 수와 하이퍼엣지 수를 감소시켜 넷리스트의 크기를 축소하는 단계;를 포함한다.
또한, 상기 실시 예에 따른 a) 단계의 넷리스트 축소는, 파티션부가 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려한 파티션의 면적 계수와 경로 계수 기반의 매개변수를 통해, 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝(partitioning)하여 넷리스트의 크기가 축소되도록 하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 넷리스트 파티셔닝 방법은 b) 배치 최적화부(120)가 학습된 모델을 이용하여 a) 단계에서 축소된 넷리스트의 각 요소를 배치하되, 상기 축소된 넷리스트의 관련 메타 정보, 강화학습 에이전트에서 결정된 액션을 반영한 현재의 매크로 정보, 인접 행렬 정보를 포함한 상태(State) 정보와, 강화학습 에이전트로부터 제공된 액션(Action) 정보를 기반으로 시뮬레이션을 수행하는 단계; 및 c) 상기 배치 최적화부가 강화학습 에이전트의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 집적회로에서의 와이어 길이, 혼잡도, 밀도를 포함한 배치 성능 정보에 기반하여 산출되는 보상(Reward) 정보를 통해 축소된 넷리스트의 배치 결과를 평가하는 단계;를 더 포함하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 넷리스트는 하이퍼 그래프(hypergraph)로 표현되는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 a) 단계는 파티션부가 매개화된 넷리스트의 파티셔닝이 이루어지면 하이퍼 그래프 정보를 업데이트하여 하이퍼 그래프의 재구성을 수행하되, 파티션 수의 최소화, 파티션들의 면적 및 외부로의 하이퍼 엣지 수의 변동을 고려하여 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝하는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티셔닝은 파티션의 면적 계수와 경로 계수를 기반으로 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션의 크기를 산출하되, 상기 파티션의 크기는 하기식
Figure PCTKR2022014074-appb-img-000004
- 여기서, areacoff는 면적 계수이고, routecoff는 경로 계수이며, Av는 해당 버텍스 v의 면적이고, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수임 - 을 통해 산출되는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티셔닝은 산출된 파티션의 크기를 이용하여 각 하이퍼 엣지의 가중치를 업데이트하되, 상기 가중치는 하기식
Figure PCTKR2022014074-appb-img-000005
Figure PCTKR2022014074-appb-img-000006
- 여기서, Wv는 각 버텍스 v의 가중치이고, We는 하이퍼 엣지 e의 가중치이며, areacoff는 면적 계수이고, routecoff는 경로 계수이며, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수이고, SLACKe는 타이밍 보고서에서 제공되는 임계 경로 임 - 을 통해 산출되는 것을 특징으로 한다.
또한, 상기 실시 예에 따른 파티션부는 하이퍼 그래프 파티셔닝 알고리즘을 이용하여 최적의 오브젝티브(objective: 목적값)를 갖는 파티셔닝 결과를 산출하되, 상기 오브젝티브는 생성된 파티션의 총수 + 생성된 파티션의 면적 + 생성된 파티션의 내부에는 있지만 완전히 내부에 있지 않은 외부 네트워크의 합을 통해 산출되는 것을 특징으로 한다.
본 발명은 임의의 집적회로에 대하여 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행하되, 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려해 파티셔닝을 수행함으로써, 큰 크기의 하이퍼 그래프의 축소를 통해 심층 강화학습을 위한 인공 신경망의 연산량과 용량을 축소시킬 수 있는 장점이 있다.
또한, 본 발명은 하이퍼 그래프 파티셔닝에 매개화된 변수를 추가하여 하이퍼 그래프가 축소될 때 심층 강화학습을 적용하는데 필요한 하이퍼 그래프의 성질을 보존하면서 파티션의 크기의 균형을 고려한 파티셔닝을 수행할 수 있고, 하이퍼 그래프의 축소를 통해 강화학습을 위한 인공 신경망의 연산량과 용량을 축소시킬 수 있는 장점이 있다.
도1은 일반적인 강화 학습 장치의 구성을 나타낸 블록도.
도2는 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템의 구성을 나타낸 블록도.
도3은 도1의 실시 예에 따른 배치 최적화부의 보상과정을 설명하기 위해 나타낸 예시도.
도4는 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법을 설명하기 위해 나타낸 흐름도.
도5는 도4의 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법의 넷리스트 축소과정을 설명하기 위해 나타낸 흐름도.
도6은 도5의 실시 예에 따른 넷리스트 축소과정에서 하이퍼 그래프 분할 알고리즘을 설명하기 위해 나타낸 흐름도.
도7은 도5의 실시 예에 따른 넷리스트 축소과정에서 파티션 기반의 넷리스트 축소과정을 설명하기 위해 나타낸 예시도.
도8은 도5의 실시 예에 따른 넷리스트 축소과정에서 출력 파티션을 균형있게 분할하는 과정을 설명하기 위해 나타낸 예시도.
도9는 도5의 실시 예에 따른 넷리스트 축소과정에서 그래프 표현을 간소화하는 과정을 설명하기 위해 나타낸 예시도.
도10은 도4의 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법을 이용한 시험 결과를 나타낸 예시도.
도11은 도10의 시험 결과에서 전문가에 의한 집적회로 배치 결과를 설명하기 위해 나타낸 예시도.
도12는 도10의 시험 결과에서 인공 신경망을 이용한 집적회로 배치 결과를 설명하기 위해 나타낸 예시도.
도13은 도10의 시험 결과에서 인공 신경망을 이용한 집적회로 배치 결과를 설명하기 위해 나타낸 다른 예시도.
도14는 도10의 시험 결과에서 인공 신경망을 이용한 집적회로 배치 결과를 설명하기 위해 나타낸 다른 예시도.
도15는 도10의 시험 결과에서 인공 신경망을 이용한 집적회로 배치 결과를 설명하기 위해 나타낸 다른 예시도.
이하에서는 본 발명의 바람직한 실시 예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다.
또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.
본 명세서에서 어떤 부분이 어떤 구성요소를 "포함"한다는 표현은 다른 구성요소를 배제하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
또한, "‥부", "‥기", "‥모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는 그 둘의 결합으로 구분될 수 있다.
또한, "적어도 하나의" 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다.
또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시 예에 따라 변경가능하다 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법의 바람직한 실시예를 상세하게 설명한다.
도2는 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템의 구성을 나타낸 블록도이고, 도3은 도2의 실시 예에 따른 배치 최적화부의 구성을 나타낸 블록도이다.
도2 및 도3에 나타낸 바와 같이, 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템(100)은 큰 크기의 하이퍼 그래프를 축소하여 심층 강화학습을 적용하기에 필요한 하이퍼 그래프의 성질을 보존하면서 파티션 크기의 균형을 고려해 하이퍼 파라미터 파티셔닝을 제공하고, 기존의 하이퍼 그래프 파티셔닝에 매개화된 변수를 추가할 수 있도록 파티션부(110)를 포함하여 구성될 수 있다.
파티션부(110)는 임의의 집적회로에 대한 넷리스트 데이터를 입력받아 파싱(Parsing)할 수 있다.
파티션부(110)는 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행할 수 있다.
파티션부(110)는 클러스터 영역에 영향을 주는 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려해 파티셔닝(partitioning)하여 넷리스트의 크기를 축소할 수 있다.
이때, 하이퍼 그래프로 표현된 넷리스트에서 파티셔닝을 통해 하이퍼 그래프가 축소되는 경우, 심층 강화학습을 적용하는데 필요한 하이퍼 그래프의 성질이 보존되게 함으로써 정보 손실이 발생하지 않고, 파티션이 균형있게 이루어지게 하는 것이 바람직하다.
이를 위해, 파티션부(110)는 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대하여 매개화된 파티션을 수행할 수 있다.
또한, 파티션부(110)는 클러스터 영역에 영향을 주는 스탠다드 셀의 면적 및 수량과, 혼잡 및 와이어 길이에 영향을 주는 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path: 여기서, 임계 경로 내의 표준 셀은 부정적인 여유를 피하기 위해 파티션에 속해야 함)를 고려한 매개화를 통해 파티션 크기(Size)가 균형있게 되도록 파티셔닝(partitioning)하여 넷리스트의 크기를 축소할 수 있다.
또한, 넷리스트는 하이퍼 그래프(hypergraph)로 표현될 수 있다.
하이퍼 그래프는 한 엣지(edge)에 여러 버텍스(vertex) 또는 노드(node)가 동시에 연결된 네트워크로서, 2개 이상의 버텍스를 연결해주는 하이퍼 엣지를 포함할 수 있다.
또한, 하이퍼 그래프는 n개의 버텍스 집합 및 m개의 하이퍼 엣지 집합과, 버텍스에 해당하는 가중치 및 하이퍼 엣지에 해당하는 가중치의 구성으로 정의될 수 있다.
통상적으로 버텍스는 회로 상에서 넷리스트 상의 핀(pin)에 대응되고, 하이퍼 엣지는 넷리스트 상의 넷(net)에 대응될 수 있다.
하이퍼 그래프 파티션은 버텍스 집합 V를 k개의 블록 ∏={V1, …, Vk)로 분할하여 1≤i≤k인 i에 대하여
Figure PCTKR2022014074-appb-img-000007
와 i≠j일 때, Vi∩Vj=Φ를 만족하는 Pi를 말한다.
각 블록 Vi∈Pi가 균형 파라미터 ε에 대해 균형에 대한 기준 Lmax :=(1+ε)[C(V)/k]에 대하여 c(Vi)≤Lmax를 만족할 때, ε에 균형인 파티션이라고 한다.
또한, C(Vi)>Lmax이면 오버로드 되었다 하고, C(Vi)<Lmax이면 언더로드 되었다고 한다.
하이퍼 그래프 파티션의 결과는 그래프를 이용한 딥러닝 결과에 영향을 줄 수 있고, 특히 파티셔닝 결과의 균형에 따라 그래프를 이용한 딥러닝 결과는 크게 변할 수 있다.
또한, 파티션부(110)는 매개화된 넷리스트의 파티셔닝이 이루어지면 하이퍼 그래프 정보, 예를 들어 버텍스 집합, 하이퍼 엣지 집합, 버텍스에 해당하는 가중치 및 하이퍼 엣지에 해당하는 가중치를 업데이트하여 하이퍼 그래프의 재구성을 수행할 수 있다.
또한, 파티션부(110)는 파티션 수의 최소화, 파티션들의 면적 및 외부로의 하이퍼 엣지 수의 변동을 고려하여 파티션의 크기가 균형있게 되도록 파티셔닝할 수 있다.
즉, 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로를 고려한 매개화를 통해 파티션 크기가 균형있게 되도록 파티셔닝함으로써, 하이퍼 그래프에서 파티셔닝을 통한 넷리스트의 크기를 축소할 수 있다.
또한, 따른 파티션부(110)는 파티션의 면적 계수와 경로 계수를 기반으로 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션의 크기를 산출할 수 있다.
여기서, 파티션의 크기는 수학식 1을 통해 산출될 수 있다.
Figure PCTKR2022014074-appb-img-000008
여기서, areacoff는 면적 계수이고, routecoff는 경로 계수이며, Av는 해당 버텍스 v의 면적이고, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수이다.
또한, 파티션부(110)는 산출된 파티션의 크기를 이용하여 각 하이퍼 엣지의 가중치를 업데이트하고, 이를 통해 균형 있는 파티셔닝이 이루어질 수 있도록 매개변수(parameter)를 기반으로 간소화된 하이퍼 그래프(simplified hypergraph)로 재구성할 수 있다.
여기서, 가중치는 수학식 2를 통해 산출될 수 있다.
Figure PCTKR2022014074-appb-img-000009
Figure PCTKR2022014074-appb-img-000010
여기서, Wv는 각 버텍스 v의 가중치이고, We는 하이퍼 엣지 e의 가중치이며, areacoff는 면적 계수이고, routecoff는 경로 계수이며, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수이고, SLACKe는 타이밍 보고서에서 제공되는 임계 경로이며, 각 버텍스 v의 가중치 Wv와 하이퍼 엣지 e의 가중치 We는 수학식 2에 따라 업데이트 될 수 있다.
또한, 버텍스들을 유지하되 하이퍼 엣지는 타이밍 리포트 상에서 주요한 경로가 추가되어 업데이트될 수 있다.
또한, 파티션부(110)는 공지의 하이퍼 그래프 파티셔닝 알고리즘을 이용하여 최적의 오브젝티브(objective: 목적값)를 갖는 파티셔닝 결과를 산출할 수 있고, 오브젝티브는 파티션의 수를 최소화하며, 파티션들의 면적과 외부로의 하이퍼 엣지 수의 변동이 크지 않도록 한다.
또한, 오브젝티브는 생성된 파티션의 총수 + 생성된 파티션의 면적 + 생성된 파티션의 외부 넷의 합을 통해 산출될 수 있다.
또한, 파티션부(110)는 엣지의 수, 매크로의 수, 파티션의 수, 칩(chip)의 폭, 칩의 높이 등의 넷리스트 메타 정보와 매크로 정보를 기반으로 균형있게 파티셔닝을 수행하여 복수의 축소된 넷리스트를 산출할 수 있고, 산출된 복수의 축소된 넷리스트 중에서 최적의 넷리스트를 선택하여 제공할 수도 있다.
또한, 본 발명의 실시 예에 따른 넷리스트 파티셔닝 시스템(100)은 배치 최적화부(120)와, 강화학습 에이전트(130)를 더 포함하여 구성될 수 있다.
배치 최적화부(120)는 파티션부(1100에서 축소된 넷리스트의 관련 메타 정보(예를 들어, 엣지의 수, 매크로의 수, 파티션의 수, 칩(chip)의 폭, 칩의 높이 등)와, 현재의 매크로 정보(예를 들어 매크로 폭, 매크로 높이, 매크로 X, 매크로 Y, 매크로 인덱스, 매크로 오리엔테이션 등), 인접 행렬(Adjacency matrix) 정보를 포함한 상태(State) 정보와, 강화학습 에이전트(130)로부터 제공된 액션(Action)을 기반으로 축소된 넷리스트의 시뮬레이션을 수행할 수 있다.
또한, 배치 최적화부(120)는 강화학습 에이전트(130)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 집적회로에서의 와이어 길이, 혼잡도, 밀도를 포함한 배치 성능 정보에 기반하여 산출되는 보상(Reward) 정보를 제공할 수 있다.
즉, 도3과 같이 배치 결과(200)에서, HPWL(Half-Perimeter Wire Lengh)를 이용한 제1 셀(211)과 제2 셀(212) 간의 와이어 길이(210) 계산과, 임의의 가상 면적(220)에서 경로 배정(Routing)에 대한 혼잡도, 배치 면적(230)에서 배치된 면적(231)에 대한 밀도 등을 산출하여 배치 성능에 대한 평가 결과를 제공할 수 있다.
강화학습 에이전트(130)는 배치 최적화부(120)로부터 제공받은 상태 정보와 보상 정보를 기반으로 파티션 크기가 균형있게 되도록 파티셔닝을 하여 넷리스트의 축소가 이루어지도록 강화학습을 수행할 수 있다.
또한, 강화학습 에이전트(130)는 강화학습을 통해 최적의 액션을 결정하여 배치 최적화부(120)로 제공할 수 있다.
다음은 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법을 설명한다.
도4는 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법을 설명하기 위해 나타낸 흐름도이고, 도5는 도4의 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법의 넷리스트 축소과정을 설명하기 위해 나타낸 흐름도이며, 도6은 도5의 실시 예에 따른 넷리스트 축소과정에서 하이퍼 그래프 분할 알고리즘을 설명하기 위해 나타낸 흐름도이다.
도2, 도4 내지 도6을 참조하면, 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법은 파티션부(110)가 임의의 집적회로에 대한 넷리스트 데이터를 입력받아 파싱(Parsing)(S100)한다.
또한, 파티션부(110)는 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행하고, 클러스터 영역에 영향을 주는 스탠다드 셀의 면적 및 수량과, 혼잡 및 와이어 길이에 영향을 주는 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path: 여기서, 임계 경로 내의 표준 셀은 부정적인 여유를 피하기 위해 파티션에 속해야 함)를 고려해 파티셔닝(partitioning)하여 넷리스트의 크기를 축소(S200)할 수 있다.
S200 단계의 넷리스트 축소는 파티션부(110)가 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려한 매개화를 통해 파티션 크기(Size)가 균형있게 되도록 파티셔닝(partitioning)하여 넷리스트의 크기가 축소되게 할 수 있다.
또한, 넷리스트는 한 엣지(edge)에 여러 버텍스(vertex) 또는 노드(node)가 동시에 연결된 네트워크로서, 2개 이상의 버텍스를 연결해주는 하이퍼 엣지를 포함하고, n개의 버텍스 집합 및 m개의 하이퍼 엣지 집합과, 버텍스에 해당하는 가중치 및 하이퍼 엣지에 해당하는 가중치의 구성으로 정의된 하이퍼 그래프로 표현될 수 있다.
또한, S200 단계에서 파티션부(110)는 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로를 고려한 매개화를 통해 파티션 수의 최소화, 파티션들의 면적 및 외부로의 하이퍼 엣지 수의 변동 등을 반영하여 파티션 크기가 균형있게 되도록 파티셔닝할 수 있다.
또한, 매개화된 넷리스트의 파티셔닝이 이루어지면 하이퍼 그래프 정보, 예를 들어 버텍스 집합, 하이퍼 엣지 집합, 버텍스에 해당하는 가중치 및 하이퍼 엣지에 해당하는 가중치를 업데이트하여 하이퍼 그래프의 재구성을 수행할 수 있다.
이를 더욱 상세하게 설명하면, 파티션부(110)는 파싱된 넷리스트에서 파티션의 면적 계수와 경로 계수를 생성(S210)한다.
또한, 파티션부(110)는 생성된 면적 계수와 경로 계수를 이용하여 공지의 하이퍼 그래프 분할 알고리즘을 실행(S220)하여 파티션의 크기를 산출한다.
S220 단계에서, 파티션부(110)는 생성된 파티션의 면적 계수와 경로 계수를 기반으로 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션의 크기를 상술된 수학식 1을 이용하여 산출할 수 있다.
또한, S220 단계에서 파티션부(110)는 산출된 파티션의 크기를 이용하여 각 하이퍼 엣지의 가중치를 업데이트하고, 이를 통해 파티션의 크기가 균형있게 파티셔닝이 이루어질 수 있도록 매개변수(parameter)를 기반으로 간소화된 하이퍼 그래프(simplified hypergraph)로 재구성할 수 있다.
즉, 넷리스트는 도 7과 같이 같이 하나의 엣지(블록)에 여러 노드, 예를 들어 제1 군집(310)에는 노드 V1, V2, V3, V4가 포함될 수 있고, 제2 군집(320)에는 노드 V3, V4, V5, V6가 포함될 수 있으며, 제3 군집(330)에는 V5, V7, V8이 포함될 수 있고, 제4 군집(340)에는 V6, V8이 포함될 수 있다.
이는 다음과 같이 표현될 수 있다.
V1 V2 V3 V4 V5 V6 V7 V8
제1 군집 1 1 1 1 0 0 0 0
제2 군집 0 0 1 1 1 1 0 0
제3 군집 0 0 0 0 1 0 1 1
제4 군집 0 0 0 0 1 0 0 1
또는, 다음과 같이 Dictionary data로의 표현이 가능하다.
제1 군집(310):(V1, V2, V3, V4)
제2 군집(320):(V3, V4, V5, V6)
제3 군집(330):(V5, V7, V8)
제4 군집(340):(V6, V8)
또한, 생성되는 하이퍼 그래프(Generate hypergraph)는 넷리스트를 Dictionary data 형태로 구성할 수도 있다.
한편, 하이퍼 그래프의 간소화는 제1 그룹(300: c1)과 제2 그룹(300a: c2)의 군집으로 분할(S221)하고, 각 노드에 다음과 같이 군집을 배정(S222)한다.
예를 들어, V1:c1, V2:c1, V3:c1, V4:c1, V5:c2, V6:c2, V7:c2, V8:c2로 배정한다.
S222의 배정이 완료되면, 파티션부(110)는 첫번째 하이퍼엣지로 이동(S223)하고, 배정된 군집에 따라 기존 노드를 군집 노드로 변경하되, 하이퍼엣지 내부에서 동일한 중복 노드는 삭제(S224)한다.
즉, S224 단계는 예를 들어, 제1 군집(310):(V1, V2, V3, V4), 제2 군집(320):(V3, V4, V5, V6), 제3 군집(330):(V5, V7, V8), 제4 군집(340):(V6, V8)을 제1 군집(310):(c1, c1, c1, c1), 제2 군집(320):(c1, c1, c1, c2), 제3 군집(330):(c2, c2, c2), 제4 군집(340):(c2, c2)로 변경할 수 있다.
또한, 중복된 노드는 다음과 같이 삭제할 수 있다.
제1 군집(310):(c1, c1, c1, c1) -> 제1 군집(310):(c1)
제2 군집(320):(c1, c1, c1, c2) -> 제2 군집(320):(c1, c2)
제3 군집(330):(c2, c2, c2) -> 제3 군집(330):(c2)
제4 군집(340):(c2, c2) -> 제4 군집(340):(c2)
또한, 하이퍼엣지에 남은 노드가 하나 인지 판단하여 노드가 하나만 남은 하이퍼엣지는 제거(S226)하고, 마지막 하이퍼엣지가 될 때까지 S224 내지 S226 단계를 반복한다.
즉, 노드가 하나 남은 제1 군집(310), 제3 군집(330) 및 제4 군집(340)은 제거함으로써, 간소화된 하이퍼 그래프를 구성할 수 있다.
한편, 가중치는 상술된 수학식 2를 통해 산출될 수 있고, 버텍스들을 유지하되 하이퍼 엣지는 타이밍 리포트 상에서 주요한 경로가 추가되어 업데이트될 수도 있다.
계속해서, 파티션부(110)는 공지의 하이퍼 그래프 파티셔닝 알고리즘을 이용하여 최적의 오브젝티브(objective: 목적값)를 갖는 파티셔닝 결과, 예를 들어 파티션의 수를 최소화하며, 파티션들의 면적과 외부로의 하이퍼 엣지 수의 변동이 크지 않도록 오브젝티브를 산출(S230)할 수 있다.
여기서, 오브젝티브는 생성된 파티션의 총수 + 생성된 파티션의 면적 + 생성된 파티션의 외부 넷의 합을 통해 산출될 수 있다.
또한, 파티션부(110)는 S210 단계와 S230 단계를 미리 설정된 횟수를 반복하여 수행(S240)할 수 있다.
S240 단계를 수행한 후, 파티션부(110)는 엣지의 수, 매크로의 수, 파티션의 수, 칩(chip)의 폭, 칩의 높이 등의 넷리스트 메타 정보와 매크로 정보를 기반으로 균형있게 파티셔닝을 수행하여 복수의 축소된 넷리스트를 산출할 수 있고, 산출된 복수의 넷리스트 중에서 최적의 면적 계수와 경로 계수를 갖는 축소된 넷리스트를 선택하여 제공(S250)한다.
즉, 도 8에 나타낸 바와 같이, 파티션 A(400)와 파티션 B(400a)에서, 파티션 A(400)의 내부에 완전히 있는 내부 네트워크(Internal Nets, 410)와, 파티션 A(400)의 내부에는 있지만 완전히 내부에 있지 않은 외부 네트워크(External Nest, 420)와, 타이밍 보고서에서 제공되는 네거티브 슬랙(SLACK VIOLATE)을 생성하는 임계 경로(Critical path) 등을 기반으로 최적의 면적 계수와 경로 계수를 갖는 축소된 넷리스트를 선택할 수 있다.
또한, 수백만개의 스탠다드 셀, 포트, 매크로 등의 인스턴스(Instance)의 동일한 넷리스트, 예를 들어 도9(a)와 같은 수백만개의 인스턴스 넷리스트 이미지(500)를 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로를 고려한 매개화를 통해 파티션 수의 최소화, 파티션들의 면적 및 외부로의 하이퍼 엣지 수의 변동 등을 반영하여 파티션 크기가 균형있게 되도록 파티셔닝하여 도9(b)의 물리적으로 수백개의 인스턴스로 간략화된 이미지(510)와, 도9(c)의 논리적으로 수백개의 인스턴스로 간략화된 이미지(520)로 간소화된 하이퍼 그래프(simplified hypergraph)로 재구성할 수 있다.
미설명 부호, 521은 매크로 영역이고, 522는 스탠다드 셀 영역이며, 523은 포트 영역이다.
계속해서, 배치 최적화부(120)는 학습된 모델을 이용하여 S200 단계에서 축소된 넷리스트의 각 요소를 배치하고 축소된 넷리스트의 관련 메타 정보, 현재의 매크로 정보, 인접 행렬 정보를 포함한 상태(State) 정보와, 강화학습 에이전트(130)로부터 제공된 액션(Action) 정보를 기반으로 시뮬레이션을 수행(S300)한다.
또한, 배치 최적화부(120)는 강화학습 에이전트(130)의 의사결정에 대한 피드백으로 S300 단계의 시뮬레이션 결과에 따라 집적회로에서의 와이어 길이, 혼잡도, 밀도를 포함한 배치 성능 정보에 기반하여 보상(Reward) 정보를 산출하고, 산출된 보상 정보를 이용하여 축소된 넷리스트의 배치 결과를 평가(S400)할 수 있다.
또한, 산출된 보상 정보는 강화학습 에이전트(130)에서 제공받은 상태 정보와 함께 강화학습을 수행하여 파티션 크기의 균형 있는 파티셔닝을 통해 최적의 넷리스트 축소가 이루어지도록 학습될 수 있고, 강화학습을 통해 최적의 액션을 결정할 수 있다.
도10은 본 발명의 일 실시 예에 따른 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법을 이용하여 시험한 결과를 나타낸 예시도이고, 실험 결과의 비교는 그래프를 이용한 배치 결과의 WNS와 FREQ, 그리고 경로 생성 결과의 WNS와 FREQ로 기존 알고리즘과 매개화 된 하이퍼 그래프 파티셔닝을 적용한 기술과 비교하였다.
도11은 전문가에 의한 집적회로의 배치 결과이며, 도12는 매크로 오리엔테이션만 적용하여 배치한 집적회로의 배치 결과이고, 도13은 매크로 오리엔테이션과 균형 있는 파티션만 적용하여 배치한 집적회로의 배치 결과이며, 도14는 매크로 오리엔테이션과 종래의 파티션만 적용하여 배치한 집적회로의 배치 결과이고, 도15는 매크로 오리엔테이션과 균형있는 파티션과 위치를 적용하여 배치한 집적회로의 배치 결과이다.
도10에 도시된 바와 같이, 매크로 오리엔테이션과 균형있는 파티션과 위치가 매개화된 넷리스트를 파티셔닝한 방법(#4)이 '전문가'가 직접 디자인한 경우와 비교하여 WNS와, FREQ에서 개선된 좋은 결과를 나타내는 것을 알 수 있다.
따라서, 임의의 집적회로에 대하여 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행하되, 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려해 파티셔닝을 수행함으로써, 큰 크기의 하이퍼 그래프의 축소를 통해 심층 강화학습을 위한 인공 신경망의 연산량과 용량을 축소시킬 수 다.
또한, 하이퍼 그래프 파티셔닝에 매개화된 변수를 추가하여 하이퍼 그래프가 축소될 때 심층 강화학습을 적용하는데 필요한 하이퍼 그래프의 성질을 보존하면서 파티션의 크기의 균형을 고려한 파티셔닝을 수행할 수 있고, 하이퍼 그래프의 축소를 통해 강화학습을 위한 인공 신경망의 연산량과 용량을 축소시킬 수 있다.
상기와 같이, 본 발명의 바람직한 실시 예를 참조하여 설명하였지만 해당 기술 분야의 숙련된 당업자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
또한, 본 발명의 특허청구범위에 기재된 도면번호는 설명의 명료성과 편의를 위해 기재한 것일 뿐 이에 한정되는 것은 아니며, 실시예를 설명하는 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한, 상술된 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있으므로, 이러한 용어들에 대한 해석은 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 명시적으로 도시되거나 설명되지 아니하였다 하여도 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 본 발명에 의한 기술적 사상을 포함하는 다양한 형태의 변형을 할 수 있음은 자명하며, 이는 여전히 본 발명의 권리범위에 속한다.
또한, 첨부하는 도면을 참조하여 설명된 상기의 실시예들은 본 발명을 설명하기 위한 목적으로 기술된 것이며 본 발명의 권리범위는 이러한 실시예에 국한되지 아니한다.
[부호의 설명]
100 : 넷리스트 파티셔닝 시스템 110 : 파티션부
120 : 배치 최적화부 130 : 강화학습 에이전트
200 : 배치 결과 210 : 와이어 길이
211 : 제1 셀 212 : 제2 셀
220 : 가상 면적 221 : 경로
230 : 배치 면적 231: 배치된 면적
300 : 제1 그룹 300a : 제2 그룹
310 : 제1 군집 320 : 제2 군집
330 : 제3 군집 340 : 제4 군집
400 : 파티션 A 400a : 파티션 B
410 : 내부 네트워크 420 : 외부 네트워크
430 : 임계 경로
500 : 수백만개의 인스턴스 넷리스트 이미지
510 : 물리적으로 수백개의 인스턴스로 간략화된 이미지
520 : 논리적으로 수백개의 인스턴스로 간략화된 이미지
521 : 매크로 영역 522 : 스탠다드 셀 영역
523 : 포트 영역

Claims (16)

  1. 임의의 집적회로에 대한 넷리스트 데이터를 입력받아 파싱(Parsing)하고, 상기 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행하되,
    스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려하여 배정된 군집에 따라 기존 노드를 군집 노드로 변경하고, 하이퍼엣지 내부에서 동일한 중복 노드의 삭제와, 노드가 하나만 남은 하이퍼엣지의 삭제를 통해, 전체 노드 수와 하이퍼엣지 수를 감소시켜 넷리스트의 크기를 축소하는 파티션부(110);를 포함하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  2. 제 1 항에 있어서,
    상기 파티션부(110)는 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려한 파티션의 면적 계수와 경로 계수 기반의 매개변수를 통해, 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝(partitioning)하여 넷리스트의 크기가 축소되도록 하는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  3. 제 1 항에 있어서,
    상기 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템은 축소된 넷리스트의 관련 메타 정보, 강화학습 에이전트(130)에서 결정된 액션을 반영한 매크로 정보, 인접 행렬 정보를 포함한 상태(State) 정보와, 강화학습 에이전트(130)로부터 제공된 액션(Action)을 기반으로 축소된 넷리스트의 시뮬레이션을 수행하고, 강화학습 에이전트(130)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 집적회로에서의 와이어 길이, 혼잡도, 밀도를 포함한 배치 성능 정보에 기반하여 산출되는 보상(Reward) 정보를 제공하는 배치 최적화부(120); 및
    상기 배치 최적화부(120)로부터 제공받은 상태 정보와 보상 정보를 기반으로 강화학습을 수행하여 액션을 결정하는 강화학습 에이전트(130);를 더 포함하는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 넷리스트는 하이퍼 그래프(hypergraph)로 표현되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  5. 제 4 항에 있어서,
    상기 파티션부(110)는 매개화된 넷리스트의 파티셔닝이 이루어지면 하이퍼 그래프 정보를 업데이트하여 하이퍼 그래프의 재구성을 수행하고, 파티션 수의 최소화, 파티션들의 면적 및 외부로의 하이퍼 엣지 수의 변동을 고려하여 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝하는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  6. 제 5 항에 있어서,
    상기 파티션부(110)는 파티션의 면적 계수와 경로 계수를 기반으로 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션의 크기를 산출하되,
    상기 파티션의 크기는 하기식
    Figure PCTKR2022014074-appb-img-000011
    - 여기서, areacoff는 면적 계수이고, routecoff는 경로 계수이며, Av는 해당 버텍스 v의 면적이고, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수임 - 을 통해 산출되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  7. 제 6 항에 있어서,
    상기 파티션부(110)는 산출된 파티션의 크기를 이용하여 각 하이퍼 엣지의 가중치를 업데이트하되,
    상기 가중치는 하기식
    Figure PCTKR2022014074-appb-img-000012
    Figure PCTKR2022014074-appb-img-000013
    - 여기서, Wv는 각 버텍스 v의 가중치이고, We는 하이퍼 엣지 e의 가중치이며, areacoff는 면적 계수이고, routecoff는 경로 계수이며, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수이고, SLACKe는 타이밍 보고서에서 제공되는 임계 경로 임 - 을 통해 산출되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  8. 제 5 항에 있어서,
    상기 파티션부(110)는 하이퍼 그래프 파티셔닝 알고리즘을 이용하여 최적의 오브젝티브(objective: 목적값)를 갖는 파티셔닝 결과를 산출하되,
    상기 오브젝티브는 생성된 파티션의 총수 + 생성된 파티션의 면적 + 생성된 파티션의 내부에는 있지만 완전히 내부에 있지 않은 외부 네트워크(External Nest, 420)의 합을 통해 산출되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템.
  9. a) 파티션부(110)가 임의의 집적회로에 대한 넷리스트 데이터를 입력받아 파싱(Parsing)하고, 상기 파싱된 넷리스트 데이터를 기반으로 스탠다드 셀, 포트(Port) 및 매크로(Macros)에 대한 파티션을 수행하되, 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려하여 배정된 군집에 따라 기존 노드를 군집 노드로 변경하고, 하이퍼엣지 내부에서 동일한 중복 노드의 삭제와, 노드가 하나만 남은 하이퍼엣지의 삭제를 통해, 전체 노드 수와 하이퍼엣지 수를 감소시켜 넷리스트의 크기를 축소하는 단계;를 포함하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
  10. 제 9 항에 있어서,
    상기 a) 단계의 넷리스트 축소는, 파티션부(110)가 스탠다드 셀의 면적 및 수량과, 내부 네트워크 및 외부 네트워크 간의 트레이드 오프와, 임계 경로(Critical path)를 고려한 파티션의 면적 계수와 경로 계수 기반의 매개변수를 통해, 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝(partitioning)하여 넷리스트의 크기가 축소되도록 하는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
  11. 제 9 항에 있어서,
    상기 넷리스트 파티셔닝 방법은 b) 배치 최적화부(120)가 학습된 모델을 이용하여 a) 단계에서 축소된 넷리스트의 각 요소를 배치하되, 상기 축소된 넷리스트의 관련 메타 정보, 강화학습 에이전트(130)에서 결정된 액션을 반영한 매크로 정보, 인접 행렬 정보를 포함한 상태(State) 정보와, 강화학습 에이전트(130)로부터 제공된 액션(Action) 정보를 기반으로 시뮬레이션을 수행하는 단계; 및
    c) 상기 배치 최적화부(120)가 강화학습 에이전트(130)의 의사결정에 대한 피드백으로 시뮬레이션 결과에 따라 집적회로에서의 와이어 길이, 혼잡도, 밀도를 포함한 배치 성능 정보에 기반하여 산출되는 보상(Reward) 정보를 통해 축소된 넷리스트의 배치 결과를 평가하는 단계;를 더 포함하는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
  12. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 넷리스트는 하이퍼 그래프(hypergraph)로 표현되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
  13. 제 12 항에 있어서,
    상기 a) 단계는 파티션부(110)가 매개화된 넷리스트의 파티셔닝이 이루어지면 하이퍼 그래프 정보를 업데이트하여 하이퍼 그래프의 재구성을 수행하되,
    파티션 수의 최소화, 파티션들의 면적 및 외부로의 하이퍼 엣지 수의 변동을 고려하여 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션 크기(Size)를 산출하고, 산출된 파티션 크기를 이용한 각 하이퍼엣지의 가중치 업데이트를 통해, 각 파티션이 버텍스 집합의 분할된 블록을 균형 파라미터(ε)의 균형에 대한 기준(Lmax)에 대하여 임의의 판단 기준을 만족하도록 균형있게 파티셔닝하는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
  14. 제 13 항에 있어서,
    상기 파티셔닝은 파티션의 면적 계수와 경로 계수를 기반으로 내부의 버텍스(vertex)들의 크기 총합과 하이퍼 엣지 내의 버텍스 개수의 총합으로 파티션의 크기를 산출하되,
    상기 파티션의 크기는 하기식
    Figure PCTKR2022014074-appb-img-000014
    - 여기서, areacoff는 면적 계수이고, routecoff는 경로 계수이며, Av는 해당 버텍스 v의 면적이고, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수임 - 을 통해 산출되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
  15. 제 14 항에 있어서,
    상기 파티셔닝은 산출된 파티션의 크기를 이용하여 각 하이퍼 엣지의 가중치를 업데이트하되,
    상기 가중치는 하기식
    Figure PCTKR2022014074-appb-img-000015
    Figure PCTKR2022014074-appb-img-000016
    - 여기서, Wv는 각 버텍스 v의 가중치이고, We는 하이퍼 엣지 e의 가중치이며, areacoff는 면적 계수이고, routecoff는 경로 계수이며, n(e)는 해당 하이퍼 엣지 e의 버텍스 개수이고, SLACKe는 타이밍 보고서에서 제공되는 임계 경로 임 - 을 통해 산출되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
  16. 제 13 항에 있어서,
    상기 파티션부(110)는 하이퍼 그래프 파티셔닝 알고리즘을 이용하여 최적의 오브젝티브(objective: 목적값)를 갖는 파티셔닝 결과를 산출하되,
    상기 오브젝티브는 생성된 파티션의 총수 + 생성된 파티션의 면적 + 생성된 파티션의 내부에는 있지만 완전히 내부에 있지 않은 외부 네트워크(External Nest, 420)을 통해 산출되는 것을 특징으로 하는 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 방법.
PCT/KR2022/014074 2022-05-04 2022-09-21 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법 WO2023214624A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/296,440 US20230385506A1 (en) 2022-05-04 2023-04-06 Deep reinforcement learning-based integrated circuit design system using partitioning and deep reinforcement learning-based integrated circuit design method using partitioning

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220055182A KR102454202B1 (ko) 2022-05-04 2022-05-04 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법
KR10-2022-0055182 2022-05-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/296,440 Continuation US20230385506A1 (en) 2022-05-04 2023-04-06 Deep reinforcement learning-based integrated circuit design system using partitioning and deep reinforcement learning-based integrated circuit design method using partitioning

Publications (1)

Publication Number Publication Date
WO2023214624A1 true WO2023214624A1 (ko) 2023-11-09

Family

ID=83809770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/014074 WO2023214624A1 (ko) 2022-05-04 2022-09-21 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법

Country Status (4)

Country Link
US (1) US20230385506A1 (ko)
KR (1) KR102454202B1 (ko)
TW (1) TW202345026A (ko)
WO (1) WO2023214624A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116882329B (zh) * 2023-09-06 2023-12-19 杭州行芯科技有限公司 网表缩减方法、时序验证方法、电子设备及存储介质
CN117521567B (zh) * 2024-01-05 2024-04-26 深圳鸿芯微纳技术有限公司 电路的混合逻辑综合优化方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442743B1 (en) * 1998-06-12 2002-08-27 Monterey Design Systems Placement method for integrated circuit design using topo-clustering
JP2006502502A (ja) * 2002-10-07 2006-01-19 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ハードウェアソルバの合成中における配線遅延または輻輳を削減するシステムおよび方法
US20070220470A1 (en) * 2006-03-02 2007-09-20 Texas Instruments Incorporated Automating optimal placement of macro-blocks in the design of an integrated circuit
CN112183001A (zh) * 2020-10-10 2021-01-05 上海国微思尔芯技术股份有限公司 一种基于超图的多级聚类方法
US20220092248A1 (en) * 2020-09-21 2022-03-24 Taiwan Semiconductor Manufacturing Co., Ltd. Method for optimizing floor plan for an integrated circuit
US20220108058A1 (en) * 2020-04-22 2022-04-07 Google Llc Generating integrated circuit placements using neural networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210064445A (ko) 2019-11-25 2021-06-03 삼성전자주식회사 반도체 공정 시뮬레이션 시스템 및 그것의 시뮬레이션 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442743B1 (en) * 1998-06-12 2002-08-27 Monterey Design Systems Placement method for integrated circuit design using topo-clustering
JP2006502502A (ja) * 2002-10-07 2006-01-19 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ハードウェアソルバの合成中における配線遅延または輻輳を削減するシステムおよび方法
US20070220470A1 (en) * 2006-03-02 2007-09-20 Texas Instruments Incorporated Automating optimal placement of macro-blocks in the design of an integrated circuit
US20220108058A1 (en) * 2020-04-22 2022-04-07 Google Llc Generating integrated circuit placements using neural networks
US20220092248A1 (en) * 2020-09-21 2022-03-24 Taiwan Semiconductor Manufacturing Co., Ltd. Method for optimizing floor plan for an integrated circuit
CN112183001A (zh) * 2020-10-10 2021-01-05 上海国微思尔芯技术股份有限公司 一种基于超图的多级聚类方法

Also Published As

Publication number Publication date
US20230385506A1 (en) 2023-11-30
TW202345026A (zh) 2023-11-16
KR102454202B1 (ko) 2022-10-17

Similar Documents

Publication Publication Date Title
WO2023214624A1 (ko) 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법
WO2018004236A1 (ko) 개인정보의 비식별화 방법 및 장치
WO2020180084A1 (ko) 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램
WO2015016640A9 (ko) 신경망 컴퓨팅 장치 및 시스템과 그 방법
WO2021006522A1 (ko) 딥 러닝 모델을 활용한 영상 진단 장치 및 그 방법
WO2020147385A1 (zh) 数据录入方法、装置、终端及计算机可读存储介质
WO2023153821A1 (en) Method of compressing neural network model and electronic apparatus for performing the same
WO2019107900A1 (ko) 컨볼루션 신경망 내 필터 프루닝 장치 및 방법
WO2023171981A1 (ko) 감시카메라 관리 장치
WO2021006596A1 (ko) 기계학습 모델에 기반한 필수 유전자 식별 방법 및 분석장치
WO2020222347A1 (ko) 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
WO2021194089A1 (ko) 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체
EP3821341A1 (en) Apparatus and method for managing application program
WO2022030670A1 (ko) 쿼리를 이용한 프레임워크 딥러닝 학습 시스템 및 방법
WO2020075957A1 (ko) 분산처리용 인공신경망 연산 가속화 장치, 이를 이용한 인공신경망 가속화 시스템, 및 그 인공신경망의 가속화 방법
WO2020159269A1 (en) Processing computational models in parallel
WO2023008979A1 (en) A system and method for communication load balancing in unseen traffic scenarios
WO2021137420A1 (ko) 분석알고리즘개발장치 및 그 동작 방법
WO2021246586A1 (ko) 하드웨어 가속기를 위한 파라미터를 메모리로부터 액세스하는 방법 및 이를 이용한 장치
WO2012169675A1 (ko) 누적 이동 평균에 기반하여 다원 탐색 트리의 노드를 분할하는 방법 및 장치
WO2024014632A1 (ko) 신경망 설계방법 및 이를 위한 장치
WO2023163395A1 (ko) 인공 지능 기반 신용 평가 모델 생성 방법 및 장치
Tan et al. ADIC-2. C a general-purpose optimization program suitable for integrated circuit design applications using the pseudo objective function substitution method (POSM)
WO2023090627A1 (ko) 화합물 최적화를 위한 장치 및 방법
JP2884951B2 (ja) 回路分割形シミュレーションの行列定式化方式

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: 22940864

Country of ref document: EP

Kind code of ref document: A1