WO2023028826A1 - 电子元件的版图设计方法、计算机设备和存储介质 - Google Patents

电子元件的版图设计方法、计算机设备和存储介质 Download PDF

Info

Publication number
WO2023028826A1
WO2023028826A1 PCT/CN2021/115614 CN2021115614W WO2023028826A1 WO 2023028826 A1 WO2023028826 A1 WO 2023028826A1 CN 2021115614 W CN2021115614 W CN 2021115614W WO 2023028826 A1 WO2023028826 A1 WO 2023028826A1
Authority
WO
WIPO (PCT)
Prior art keywords
bawr
candidate
layout
parameters
parameter
Prior art date
Application number
PCT/CN2021/115614
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 CN202180101223.5A priority Critical patent/CN117837082A/zh
Priority to PCT/CN2021/115614 priority patent/WO2023028826A1/zh
Publication of WO2023028826A1 publication Critical patent/WO2023028826A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H9/00Networks comprising electromechanical or electro-acoustic devices; Electromechanical resonators
    • H03H9/02Details

Definitions

  • the present application relates to the field of electronic technology, and more specifically, to a layout design method of electronic components, computer equipment and storage media.
  • a filter is a device used to eliminate interference and filter clutter.
  • RF front-end systems such as smartphones, satellite navigation equipment, and small base stations all require filters to work properly, filtering out out-of-band interference and noise to meet the signal-to-noise ratio requirements of RF systems and communication protocols.
  • BAW filters have the characteristics of high operating frequency, small size, and high quality factor. Therefore, BAW filters are widely used in the industry.
  • the BAW filter is obtained by connecting multiple BAW resonators (bulk acoustic wave resonator, BAWR) according to a certain topology.
  • the application provides a layout design method of electronic components, computer equipment and storage media, which can effectively reduce the occupied space of BAWR.
  • the embodiment of the present application provides a layout design method for electronic components, including: obtaining the connection information of each BAWR in the bulk acoustic wave resonator BAWR circuit, wherein the connection information of each BAWR is used to indicate that each BAWR is in the The connection relationship in the BAWR circuit, the BAWR circuit includes N BAWRs, N is a positive integer greater than or equal to 2; multiple state parameter sets are generated and multiple candidate layouts are determined, wherein the multiple state parameter sets are related to the multiple Candidate layouts are in one-to-one correspondence, and each candidate layout in the plurality of candidate layouts is determined according to the connection information of the N BAWRs and the corresponding state parameter set, and each state parameter set in the plurality of state parameter sets includes N A group of state parameters, the N groups of state parameters are in one-to-one correspondence with the N BAWRs, and each group of state parameters is used to determine the arrangement of the corresponding BAWRs in the candidate layout; determine the smallest layout redundancy area from the multiple candidate layouts
  • Each of the N BAWRs may be a BAWR used alone, or a BAWR used in pairs.
  • the above technical solution can make the layout of the BAWR occupy a lower proportion of the circuit board, so that the utilization rate of the circuit board by the BAWR is higher.
  • the above technical solution can well deal with the paired BAWRs and optimize the arrangement of the paired BAWRs.
  • generating multiple state parameter sets and determining multiple candidate layouts includes: generating multiple state parameter sets based on a heuristic algorithm and determining multiple candidate layouts.
  • the above technical solution can quickly generate multiple different candidate layouts through a heuristic algorithm.
  • the heuristic-based algorithm when the heuristic algorithm is a genetic algorithm, the heuristic-based algorithm generates multiple state parameter sets and determines multiple candidate layouts, including: generating The initial population, wherein the initial population includes N pop_size state parameter sets, each state parameter set included in the initial population includes N groups of initial state parameters, and the N groups of initial state parameters are the initial values of the state parameters of the N BAWRs , any two state parameter sets in the initial population are not exactly the same, N pop_size is a positive integer greater than or equal to 2; according to the connection information of the N BAWRs and the initial population, determine the initial candidate layout corresponding to the initial population set, wherein the initial candidate layout set includes N pop_size candidate layouts, and the N pop_size candidate layouts included in the initial candidate layout set correspond to the N pop_size state parameter sets included in the initial population; according to the initial candidate layout set includes N pop_size candidate layouts, select at least one state parameter set from the initial population; perform crossover and mutation
  • each set of state parameters in the N sets of state parameters includes any one or more of the following parameters: random numbers for arrangement order, angle parameters, and A shape parameter, wherein the arrangement order random number is used to determine the arrangement order of the corresponding BAWR in the N BAWRs, the angle parameter is used to indicate the placement angle of the corresponding BAWR, and the shape parameter is used to indicate the corresponding BAWR The aspect ratio of the bounding rectangle.
  • the connection information of each BAWR includes: the path length of each BAWR, the connection mode of each BAWR in the circuit, the front-end device of each BAWR, The associated device of each BAWR, wherein the path length of each BAWR is the number of BAWRs included in the longest path from each BAWR to the input port of the circuit, the connection mode of each BAWR in the circuit is series or parallel, each The front-end device of the BAWR is the device connected to the input terminal of each BAWR in the longest path from each BAWR to the input port, and the associated device of each BAWR is the device connected to the input terminal of each BAWR.
  • determining the initial candidate layout set corresponding to the initial population according to the connection information of the N BAWRs and the initial population includes: according to the initial population
  • the i-th state parameter set includes N arrangement order random numbers and the path length of each BAWR to determine the arrangement order parameters of the N BAWRs, i is a positive integer greater than or equal to 1 and less than or equal to N pop_size ;According to the ascending order of the N arrangement order parameters, determine the arrangement order of the N BAWRs; according to the determined arrangement order, the angle parameters and shape parameters included in the i-th state parameter set, and the connection mode of each BAWR , each BAWR's predecessor device and each BAWR's associated device, determine the i-th candidate layout in the initial candidate layout set.
  • the angle parameter and shape parameter included in the i-th state parameter set, the connection mode of each BAWR, and each BAWR Determining the i-th candidate layout in the initial candidate layout set, including: determining the feasible area of the BAWR j according to the connection mode of the BAWR j , the front-end devices and the associated devices, Wherein the BAWR j is the jth arranged BAWR among the N BAWRs, and j is a positive integer greater than or equal to 1 and less than or equal to N; according to the angle parameter and shape parameter in the jth group of state parameters, in the Determine the target position that can pass the feasibility verification in the feasible area, wherein the j-th group of state parameters is the state parameter corresponding to the BAWR j in the i-th set of state parameters; determine that the BAWR j is located at the target position.
  • the feasible area of the BAWR j is determined according to the connection mode of the BAWR j , the front-end device and the associated device, including: the front-end device according to the BAWR j Determine the position information of the front-end device according to the corresponding angle parameters and shape parameters; determine the positions of the M associated devices according to the angle parameters and shape parameters of the M associated devices that have been arranged in the associated devices of the BAWR j information, M is a positive integer greater than or equal to 1; the feasible area is determined according to the connection mode of the BAWR j , the location information of the front-end device of the BAWR j , and the location information of the M associated devices.
  • the feasible area is determined according to the connection mode of the BAWR j , the location information of the front-end device of the BAWR j , and the location information of the M associated devices , including: in the case that the BAWR j is connected in series, the scope of the feasible region is determined according to the following formula:
  • x_min, x_max, y_min and y_max identify the range of this feasible region
  • front->right represents the x-axis coordinate of the right boundary of the circumscribed rectangle of the front device of the BAWR j ,
  • links->right indicates the maximum value of the x-axis coordinates of the right boundary of the circumscribed rectangle of the M associated devices
  • links->top indicates the maximum value of the y-axis coordinates of the upper boundary of the circumscribed rectangle of the M associated devices
  • margin1, margin2 and margin3 are preset margins.
  • the feasible area is determined according to the connection mode of the BAWR j , the location information of the front-end device of the BAWR j , and the location information of the M associated devices , including: when the BAWR j is connected in parallel, determine the first feasible region in the feasible region according to the following formula:
  • the second feasible region in the feasible region is determined according to the following formula:
  • x_min2 front->left-width+margin4
  • x_min, x_max, y_min1 and y_max1 identify the range of the first feasible region
  • x_min, x_max, y_min2 and y_max2 identify the range of the second feasible region
  • front->left indicates the x-axis coordinate of the left boundary of the circumscribed rectangle of the front device of the BAWR j ,
  • front->top indicates the y-axis coordinates of the upper boundary of the circumscribed rectangle of the front device of the BAWR j ,
  • links->right indicates the maximum value of the x-axis coordinates of the right boundary of the circumscribed rectangle of the M associated devices
  • links->top indicates the maximum value of the y-axis coordinates of the upper boundary of the circumscribed rectangle of the M associated devices
  • margin4 margin5, margin6, margin7 and margin8 are preset margins.
  • the target position that can pass the feasibility verification is determined in the feasible area, including: from Determine the candidate position in the feasible area; determine whether the candidate position passes the feasibility verification according to the angle parameter and shape parameter in the jth group of state parameters; if the candidate position passes the feasibility verification, then the candidate position is the Target position; if the candidate position fails the feasibility verification, continue to determine the next candidate position from the feasible area, and continue to determine whether the next candidate position passes the feasibility verification until it is determined that the feasibility verification can be passed of the target location.
  • determining whether the candidate position passes the feasibility verification according to the angle parameter and the shape parameter in the jth group of state parameters includes: according to the candidate position , the position information of the arranged devices and the angle parameters and shape parameters in the jth group of state parameters, determine whether the candidate position passes the connectivity requirement detection and the collision detection; if the candidate position passes the connectivity requirement detection and the If a collision detection is performed, it is determined that the candidate location passes the feasibility verification; if the candidate location fails any or all of the connectivity requirement detection and the collision detection, it is determined that the candidate location fails the feasibility verification.
  • the candidate position is determined according to the candidate position, the position information of the arranged devices, and the angle parameter and shape parameter in the jth group of state parameters Whether to pass the connectivity requirement detection and collision detection, including: according to the candidate position and the angle parameter and shape parameter in the jth group of state parameters, determine the boundary information of the bounding rectangle of the BAWR j ; according to the arranged device The position information is to determine the boundary information of the arranged device; according to the boundary information of the bounding rectangle of the BAWR j and the boundary information of the arranged device, determine whether the candidate position passes the connectivity requirement test.
  • D m_right represents the x-axis coordinate of the right boundary of the bounding rectangle of the mth arranged device
  • D j_left represents the x-axis coordinate of the left boundary of the bounding rectangle of the BAWR j ,
  • D j_right represents the x-axis coordinate of the right boundary of the bounding rectangle of the BAWR j ,
  • D m_left represents the x-axis coordinate of the left boundary of the circumscribed rectangle of the mth arranged device
  • D m_top represents the y-axis coordinate of the upper boundary of the circumscribed rectangle of the mth arranged device
  • D j_bottom represents the y-axis coordinate of the lower boundary of the bounding rectangle of the BAWR j ,
  • D j_top represents the y-axis coordinate of the upper boundary of the bounding rectangle of the BAWR j .
  • D m_bottom represents the y-axis coordinate of the lower boundary of the circumscribed rectangle of the mth arranged device
  • the overlapping parameters of the BAWR j and any of the arranged devices in the arranged devices are greater than or equal to the preset connection line width threshold, it is determined that the candidate position meets the connectivity requirement detection; if the BAWR j If the overlap parameter with one or more of the arranged devices is smaller than the preset connection line width threshold, it is determined that the candidate position does not meet the connectivity requirement detection.
  • the candidate position is determined according to the candidate position, the position information of the arranged devices, and the angle parameter and shape parameter in the jth group of state parameters Whether to pass the connectivity requirement detection and the collision detection, including: determining the profile of the BAWR j according to the candidate position and the angle parameter and shape parameter in the jth group of state parameters; determining according to the position information of the arranged devices The outline of the arranged device; according to the outline of the BAWR j and the outline of the arranged device, use a scan line algorithm to determine whether the candidate position passes the collision detection.
  • the scan line algorithm is used to determine whether the candidate position passes the collision detection according to the outline of the BAWR j and the outline of the arranged device, including:
  • the candidate position passes the collision detection, otherwise, the candidate position fails the collision detection:
  • x represents the x-axis coordinate of the candidate position
  • _y represents the integer obtained after rounding the quotient of the y-axis coordinate of the candidate position and delta
  • scan_device[p][2 ⁇ q] indicates the x-axis coordinate of the 2 ⁇ q+1 intersection point among all intersection points of delta ⁇ p and the contour of the BAWR j .
  • the method further includes:
  • a heuristic algorithm is used to determine the layout of the pads in the layout.
  • the embodiment of the present application provides a computer device, the computer device includes: an interface circuit, configured to obtain the connection information of each BAWR in the bulk acoustic wave resonator BAWR circuit, where the connection information of each BAWR is used to indicate that each The connection relationship of the BAWRs in the BAWR circuit, the BAWR circuit includes N BAWRs, N is a positive integer greater than or equal to 2; the processor is used to be coupled with the memory, read and execute the instructions in the memory and/or The program code is used to execute the first aspect or any possible implementation manner of the first aspect to generate the layout of the BAWR circuit.
  • an embodiment of the present application provides a computer device, where the computer device includes a unit for implementing the first aspect or any possible implementation manner of the first aspect.
  • an embodiment of the present application provides a chip system, the chip system includes a logic circuit, the logic circuit is used to couple with an input/output interface, and transmit data through the input/output interface to perform the first aspect or the first Any possible implementation of the aspect.
  • the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores program codes, and when the computer storage medium is run on a computer, the computer executes the first aspect or the first aspect. any possible implementation of .
  • an embodiment of the present application provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer is made to execute any of the first aspect or the first aspect.
  • a computer program product comprising: computer program code, when the computer program code is run on a computer, the computer is made to execute any of the first aspect or the first aspect.
  • Figure 1 shows a schematic diagram of two circuit configurations incorporating BAWRs.
  • Fig. 2 is a schematic flowchart of a method for layout design of an electronic component according to an embodiment of the present application.
  • Fig. 3 is a schematic flowchart of determining the arrangement of BAWRs based on a genetic algorithm.
  • Figure 4 shows the determination process of the shape of the BAWR used in pairs.
  • Fig. 5 is a schematic diagram of a single-point crossover.
  • Fig. 6 is a schematic flowchart of a method for determining a BAWR candidate layout according to an embodiment of the present application.
  • Figure 7 is a schematic diagram of the feasible region of a cascaded BAWR.
  • Figure 8 is a schematic diagram of the feasible region of a parallel BAWR.
  • Fig. 9 is a schematic flowchart of connectivity requirement detection provided according to an embodiment of the present application.
  • Fig. 10 is a schematic diagram of determining overlapping parameters according to an embodiment of the present application.
  • Fig. 11 is a schematic flowchart of collision detection provided according to an embodiment of the present application.
  • Fig. 12 is a structural block diagram of a computer device provided according to an embodiment of the present application.
  • Figure 1 shows a schematic diagram of two circuit configurations incorporating BAWRs.
  • the circuit structure shown in (a) in FIG. 1 includes an input terminal Pin, an output terminal Pout and a port P.
  • the port P may be used for grounding or connecting pads of other components, and the specific function of the port P is not specifically limited in the embodiment of the present application.
  • the circuit structure shown in (a) in FIG. 1 includes five BAWRs, that is, BAWR 101, BAWR 102, BAWR 103, BAWR 104, and BAWR 105.
  • BAWR 101 includes two BAWRs, namely S1_1 and S1_2;
  • BAWR 102 includes one BAWR, which is S2;
  • BAWR 103 also includes one BAWR, which is S3;
  • BAWR 104 includes two BAWRs , which are P1_1 and P1_2 respectively;
  • BAWR 105 includes 1 BAWR, which is P2.
  • the circuit structure shown in (b) in FIG. 1 includes an input terminal Pin, an output terminal Pout and three ports P.
  • the circuit structure shown in (b) in Figure 1 includes 12 BAWRs, namely BAWR 111, BAWR 112, BAWR 113, BAWR 114, BAWR 115, BAWR 116, BAWR 117, BAWR 121, BAWR 122, BAWR 123 , BAWR 124 and BAWR 125.
  • BAWR can be used alone or in pairs.
  • the BAWRs in BAWR 101 and BAWR 104 in (a) in Fig. 1 are BAWRs used in pairs; the BAWRs in BAWR 102, BAWR 103, and BAWR 105 are BAWRs used alone.
  • the areas of the two BAWRs in a pair of BAWRs are the same. Therefore, for BAWRs used such as BAWR 101 and BAWR 104, if the area of either of the two BAWRs is determined, the area of the other BAWR is also determined.
  • a BAWR referred to in the embodiments of the present application can be a BAWR used alone, or a pair of BAWR used in pairs.
  • a BAWR as shown in 1 may include one BAWR or a pair of BAWRs.
  • FIG. 2 is a schematic flowchart of a method for arranging electronic components according to an embodiment of the present application.
  • connection information of each BAWR is used to indicate the connection relationship of each BAWR in the BAWR circuit, and the BAWR circuit includes N BAWRs, where N is a positive integer greater than or equal to 2.
  • connection information for each BAWR can be obtained from the netlist.
  • connection information of each BAWR may also be manually input by the user.
  • the connection information of each BAWR includes: the path length of each BAWR, the connection mode of each BAWR in the circuit, the front-end devices of each BAWR, and the associated devices of each BAWR.
  • a BAWR's pre-device is the device that is in the longest path from the input port to the BAWR and is connected to the BAWR input.
  • the front-end device of BAWR 101 is the input port Pin;
  • the front-end device of BAWR 102 is S1_2;
  • the front-end device of BAWR 104 includes S1_2.
  • the associated device of BAWR refers to the device connected to the input terminal of BAWR.
  • the associated device of BAWR 101 is the input port Pin;
  • the associated device of BAWR 102 includes S1_2 and P1_2;
  • the associated device of BAWR 104 includes S1_2 and S2.
  • the connection method of BAWR in the circuit refers to the connection method of BAWR and BAWR in the main path.
  • the main path is the path from the input port Pin to the output port Pout of the circuit. If the BAWR is located in the main path, then the BAWR is connected in series in the circuit; if the BAWR is connected to port P, then the BAWR is connected in parallel in the circuit.
  • the main path in the circuit shown in (a) in FIG. 1 refers to the path including Pin, BA ⁇ WR 101, BAWR 102, BAWR 103, and Pout. Therefore, BAWR 101, BAWR 102 and BAWR 103 are connected in series in the circuit, and BAWR 104 and BAWR 105 are connected in parallel in the circuit.
  • the main paths in the circuit shown in (b) in Figure 1 include two, respectively Pin->BAWR 111->BAWR 112->BAWR 113->BAWR 114->BAWR 115->Pout in series
  • BAWR 121, BAWR 122, BAWR 123, BAWR 124 and BAWR 125 are connected to port P. Therefore, BAWR 121 to BAWR 125 are connected in parallel in the circuit.
  • the number of BAWRs included in the longest path from a BAWR to an input port of a circuit may also be referred to as the path length of the BAWR.
  • the value of the path length is the number of all BAWRs that include this path from the start point to the end point. In other words, for a BAWR, the BAWR is included in the path length of the BAWR.
  • the path length of BAWR 101 is 1, the path length of BAWR 102 is 2, and the path length of BAWR 103 is 3.
  • the connection information of the BAWR whose input terminal is connected to another component in the pair of BAWRs is determined, and the connection information of the other BAWR is determined accordingly. Therefore, the connection information of a BAWR whose input terminal is connected to another element in a pair of BAWRs can be used as the connection information of the group of BAWRs.
  • the connection information of S1_1 can be used as the connection information of BAWR 301; the connection information of P1_1 can be used as the connection information of BAWR 304.
  • Table 1 shows connection information of each BAWR in the circuit shown in (a) in FIG. 1 .
  • the front in Table 1 indicates the front-end device of BAWR; link indicates the associated device of BAWR; S/P indicates the connection relationship of BAWR in the circuit, where S indicates series connection and P indicates parallel connection; order basic indicates the path length of BAWR.
  • the multiple state parameter sets correspond to the multiple candidate layouts one by one, each candidate layout in the multiple candidate layouts is determined according to the connection information of the N BAWRs and the corresponding state parameter sets, the multiple state parameters
  • Each set of state parameters in the set includes N sets of state parameters, the N sets of state parameters are in one-to-one correspondence with the N BAWRs, and each set of state parameters is used to determine the arrangement of the corresponding BAWRs in the candidate layout.
  • a heuristic algorithm may be utilized to generate multiple state parameters and determine multiple candidate placements.
  • the heuristic algorithm for determining candidate layouts may be a genetic algorithm, a simulated annealing algorithm, or a particle swarm algorithm.
  • the genetic algorithm is taken as an example below to introduce how to determine the layout of the N BAWRs on the circuit board.
  • Fig. 3 is a schematic flowchart of determining the arrangement of BAWRs based on a genetic algorithm.
  • the initial population may include N pop_size state parameter sets, and each state parameter set included in the initial population includes N groups of initial state parameters, and the N groups of initial state parameters are the initial values of the state parameters of the N BAWRs respectively, and the initial population Any two sets of state parameters in are not exactly the same.
  • a set of state parameters may also be called a chromosome.
  • the initial population includes N pop_size chromosomes.
  • the chromosomes in the initial population may be referred to as first chromosomes.
  • N pop_size is a positive integer greater than or equal to 2. It can be understood that the larger the value of N pop_size , the higher the utilization rate of the circuit board in the final determined layout, but it takes longer to determine the layout; the smaller the value of N pop_size , the shorter the time it takes to determine the layout , but the utilization rate of the circuit board determined by the layout is generally lower than the utilization rate of the circuit board determined by the layout when the value of N pop_size is larger. In other words, the larger the value of N pop_size , the better the final effect, but the longer the time; the smaller the value of N pop_size , the shorter the time, but the worse the effect.
  • N pop_size When N pop_size is greater than or equal to 30 and less than or equal to 80, it can achieve a balance between speed and effect, that is, it can provide a layout with better quality while ensuring the layout speed.
  • N pop_size can be a predefined value or specified by the user. The predefined value of N pop_size can be set to 40, 50 or 60.
  • Each group of state parameters in the N groups of state parameters may include any one or more of the following parameters: random number of arrangement sequence, angle parameter and shape parameter.
  • Arrangement order random number can be represented by order rand .
  • the arrangement order random number is used to determine the arrangement order of the corresponding BAWR among the N BAWRs.
  • the arrangement sequence random number is a random number greater than or equal to 0 and less than or equal to 1.
  • the value of this random number is determined when the initial population is generated. In other words, if the state parameter includes the random number of the arrangement order, then when generating the initial population, when determining the random number of the arrangement order corresponding to a BAWR in a chromosome, an arrangement order will be randomly generated for the BAWR random number.
  • BAWR 102 may be ranked behind BAWR 104, or may be ranked in front of BAWR 104. If the random number of arrangement order is not introduced, the ranking of BAWR 102 will always be in front or behind of BAWR 104.
  • the angle parameter can be represented by trans.
  • the angle parameter is used to indicate the placement angle of a single BAWR in the corresponding BAWR.
  • the value of trans is limited to ⁇ 0, 1, 2, 3, 4, 5, 6, 7 ⁇ , respectively representing R0, R90, R180, R270, M0, M45, M90, and M135.
  • R90 means to rotate 90 degrees counterclockwise
  • M45 means to perform mirror transformation about the 45-degree axis, and so on.
  • rotation angle/mirror transformation manner is only an example, rather than a limitation to the rotation angle/mirror transformation manner.
  • the rotation angle/mirror transformation method can also have other methods. For example, it may also include clockwise rotation of 30 degrees, clockwise rotation of 45 degrees, mirror transformation about the 30-degree axis, first rotation of 45 degrees counterclockwise and then mirror transformation about the 90-degree axis, etc.
  • trans is limited to ⁇ 0,1,2,3,4 ⁇ , representing R0, R90, M0, M90, and M135 respectively.
  • trans rotates an angle or mirrors a transformation.
  • the value of trans is limited to ⁇ 0,1,2,3 ⁇ , representing R0, R90, R180, and R270 respectively.
  • the state parameter includes the angle parameter
  • the angle parameter when generating the initial population, when determining the angle parameter corresponding to a BAWR in a chromosome, randomly select a value from the possible values of the angle parameter as the angle corresponding to the BAWR parameter.
  • Shape parameters can be represented by shape.
  • the shape parameter is used to indicate the aspect ratio of the bounding rectangle of a single BAWR in the corresponding BAWR.
  • a single BAWR may be polygonal in shape close to a regular polygon.
  • a single BAWR can be a polygon that approximates a regular quadrilateral or a regular pentagon. Any two sides of a single BAWR are not parallel to avoid small acute angles or excessively large obtuse angles to avoid or reduce interference problems.
  • the restriction on the angle between two adjacent sides of a single BAWR is not a strict restriction.
  • the angle between two adjacent sides of a single BAWR can also be set as a relatively small acute angle.
  • BAWR a BAWR close to a regular pentagon.
  • shape of this BAWR can be determined by:
  • Step 1 Obtain the area of BAWR.
  • Step 2 First generate a regular pentagon according to the area of BAWR obtained in step 1.
  • Step 3 Then adjust the left and right vertices of the regular pentagon so that the lengths of the left and right sides are respectively and
  • S res represents the area of the BAWR
  • margin is a preset or user-set margin.
  • the value of margin needs to be greater than 0 microns (that is, to avoid equal lengths of the left and right sides).
  • the value of the margin may be 8 microns, 10 microns, 12 microns, or 15 microns.
  • the area of the adjusted polygon needs to be the same as the area of the BAWR obtained in step 1.
  • the shape of BAWR is determined.
  • the aspect ratio of the bounding rectangle of the BAWR is determined, that is, the shape parameter of the BAWR is determined.
  • G pair may be greater than or equal to 0 microns and less than or equal to 20 microns.
  • Figure 4 shows the determination process of the shape of the BAWR used in pairs.
  • the initial population pop [X 1 , X 2 , . . . , X Npop_size ] that can be generated through step 301 .
  • N groups of state parameters included in the first chromosome X i may be referred to as N i groups of state parameters, where N i is equal to N.
  • order rand_i1 represents the random number of the arrangement sequence corresponding to the first BAWR among the N BAWRs in the N i group of state parameters
  • order rand_i2 represents the arrangement of the second BAWR among the N BAWRs in the N i group of state parameters sequential random numbers, and so on.
  • trans i1 represents the angle parameter corresponding to the first BAWR in the N BAWRs in the N i group of state parameters
  • trans i2 represents the angle parameter corresponding to the second BAWR in the N BAWRs in the N i group of state parameters , and so on.
  • shape i1 represents the shape parameter corresponding to the first BAWR in the N BAWRs in the N i group of state parameters
  • shape i2 represents the shape parameter corresponding to the second BAWR in the N BAWRs in the N i group of state parameters, so that analogy.
  • first BAWR and the second BAWR referred to here are not the order obtained after sorting the N BAWRs, but are just to distinguish different BAWRs.
  • Xi [(order rand_i1 , trans i1 , shape i1 ), (order rand_i2 , trans i2 , shape i2 ), (order rand_i3 , trans i3 , shape i3 ), (order rand_i4 , trans i4 , shape i4 ), (order rand_i5 , trans i5 , shape i5 )], where (order rand_i1 , trans i1 , shape i1 ) is A group of state parameters corresponding to BAWR 101 in the N i group of state parameters, order rand_i1 is the random number corresponding to the arrangement order of BAWR 101 in the N i group of state parameters, trans i1 is the corresponding to BAWR 101 in the N i group of state parameters Angle parameter, shape i1 is the shape parameter corresponding to BAWR 101 in the N i
  • the 302. Determine an initial candidate layout set corresponding to the initial population according to the connection information of the N BAWRs and the initial population, where the initial candidate layout set includes N pop_size candidate layouts, N pop_size candidate layouts and N pop_size There is a one-to-one correspondence between chromosomes.
  • the i-th candidate layout among the N pop_size candidate layouts is based on the N groups of state parameters included in the i-th chromosome among the N pop_size first chromosomes (that is, the N i group of state parameters defined above) and the connection information of N BAWRs definite.
  • the i-th candidate layout among the N pop_size candidate layouts may be determined according to the N i groups of state parameters and the connection information of the N BAWRs.
  • the determination of the candidate layout is roughly divided into the following steps: 1) Determine the feasible area that can be used to place the BAWR; 2) Find the coordinates that can pass the feasibility verification from the feasible area. The specific way of determining the candidate layout will be introduced later.
  • N pop_size fitness degrees can be determined respectively according to the N pop_size candidate layouts, the N pop_size fitness degrees correspond to the N pop_size candidate layouts one by one, and each of the N pop_size fitness degrees The fitness reflects the difference between the area of the circuit board in the corresponding candidate layout and the total area of the N BAWRs.
  • the fitness i corresponding to the i-th candidate layout is 1/S redundant_i , where S redundant_i , S total_i and S devices satisfy the following relationship:
  • S devices also includes the area of these devices.
  • S devices can represent the sum of the areas of all devices arranged on the circuit board.
  • the area of the circuit board corresponding to the i-th candidate layout is the area of the smallest circumscribed rectangle of all BAWRs after arrangement.
  • N pop_size first chromosomes included in the initial population may be selected according to the N pop_size fitness.
  • the selection algorithm used to select the first chromosome may be roulette wheel selection, stochastic tournament, best-kept selection, and the like.
  • the specific implementation of the selection algorithm is the same as that of the existing algorithm, and the example is simple, so it will not be repeated here.
  • the set of state parameters in the first population may be referred to as the second chromosome.
  • N pop_size second chromosomes are included in the first population.
  • the crossover operation can be one-point crossover, two-point crossover, etc.
  • Fig. 5 is a schematic diagram of a single-point crossover. As shown in Figure 5, the value of the random number is equal to 2.
  • X 1 and X 2 in FIG. 5 are two chromosomes before the crossover operation, and X new1 and X new2 are two chromosomes obtained after the crossover operation.
  • Mutation operations can use mutation operations commonly used in genetic algorithms, such as simple mutation, uniform mutation, and boundary mutation.
  • N evol Perform an evolution operation on N pop_size second chromosomes (that is, execute steps 302, 303 and step 304 in a loop), and obtain N evol populations, N evol candidate layout sets corresponding to the N evol populations, and the first The first candidate layout set corresponding to the population, wherein each population in the N evol populations includes N pop_size state parameter sets, and each candidate layout set in the M candidate layout sets and the first candidate layout set includes N pop_size candidate layouts, N evol is a positive integer greater than or equal to 1.
  • Steps 302, 303 and 304 are cyclically executed for N pop_size second chromosomes until a preset number of iterations is reached.
  • the plurality of candidate layouts for selecting the target layout mode may include all candidate layouts determined in the process shown in FIG .
  • the plurality of candidate layouts for selecting the target layout mode may only include candidate layouts in the partial layout set in the process shown in FIG. 3 .
  • candidate layouts in the sum of the M candidate layouts may be included, or only the N evol candidate layout sets and the candidate layouts in the first candidate layout set may be included.
  • Fig. 6 is a schematic flowchart of a method for determining a BAWR candidate layout according to an embodiment of the present application. Assume that the candidate layout determined in FIG. 6 is the candidate layout i corresponding to the ith first chromosome.
  • the arrangement order of each BAWR in the N BAWRs can be determined by the random number of the arrangement order and the path length corresponding to each BAWR. Assuming that order is used to represent the arrangement order parameter, then the arrangement order parameter order, the arrangement order random number order rand and the path length order basic satisfy the following relationship:
  • order basic1 to order basic5 indicate the path lengths corresponding to BAWR 101 to BAWR 105, respectively.
  • the positions of the five BAWRs in the circuit diagram shown in (a) in Figure 1 are determined. Therefore, the path lengths from BAWR 101 to BAWR 105 are determined, which are 1, 2, 3, 2, and 3, respectively.
  • the meanings of order rand_i1 to order rand_i5 are the same as above, and respectively represent the random numbers of the arrangement order in the N i group of state parameters.
  • the rankings from BAWR 101 to BAWR 105 are: BAWR 101, BAWR 102, BAWR 104, BAWR 105, BAWR 103. Higher-ranked BAWRs are ranked first, and lower-ranked BAWRs are ranked last. In other words, for BAWR 101 to BAWR 105, BAWR 101 is the first BAWR to be deployed, BAWR 102 is the second BAWR to be deployed, BAWR 104 is the third BAWR to be deployed, and BAWR 105 is the first BAWR to be deployed. Of the four BAWRs deployed, BAWR 103 was the last BAWR to be deployed.
  • BAWR j is used below to represent the BAWR arranged jth among the N BAWRs.
  • the arrangement order parameter corresponding to BAWR j is ranked in ascending order among the N arrangement order parameters, which is the jth arrangement order parameter.
  • the jth group of state parameters is used to indicate the state parameter corresponding to BAWR j in the N i group of state parameters, and j is a positive integer greater than or equal to 1 and less than or equal to N.
  • the connection information of BAWR j may include the connection manner of BAWR j in the circuit, the pre-device of BAWR j and the associated device of BAWR j .
  • the associated device whose position has been determined is determined from the associated devices of the BAWR j .
  • the associated devices of the BAWR j whose positions have been determined may be referred to as arranged associated devices. It is assumed that BAWR j includes M arranged associated devices in total, and M is a positive integer greater than or equal to 1.
  • the feasible area of BAWR j can be determined according to the connection mode of BAWR j in the circuit, the position information of the pre-device and the position information of M arranged associated devices.
  • the location information of the front-end device may include the x-axis coordinate of the right boundary of the bounding rectangle of the front-end device.
  • the position information of the front device can be determined according to the angle parameter and the shape parameter of the front device. According to the angle parameter and the shape parameter of the front device, the position information of the front device can be determined. Specifically, the circumscribed rectangle of the front device can be determined according to the angle parameter and shape parameter of the front device.
  • the position coordinates of the front device can be determined (the front device is a device that has been arranged, so the position coordinates of the front device are known; the position coordinates of the device It can be defined as the lower left corner of the circumscribed rectangle of the device) to determine the x-axis coordinate of the right boundary of the circumscribed rectangle of the front device.
  • the position information of the front-end device may also include the y-axis coordinate of the upper boundary of the bounding rectangle of the front-end device.
  • the circumscribed rectangle of the front-end device can be determined according to the angle parameter and shape parameter of the front-end device. After the circumscribed rectangle of the front-end device is determined, the y-axis coordinate of the upper boundary of the circumscribed rectangle of the front-end device may be determined according to the position coordinates of the front-end device.
  • the position information of the M arranged associated devices may include the maximum value of the x-axis coordinates of the right boundary and the maximum value of the y-axis coordinates of the upper boundary of the bounding rectangle of the M arranged associated devices.
  • the circumscribed rectangle of each arranged associated device can be determined.
  • the position coordinates of the arranged related devices can be used (the arranged related devices are already arranged devices, so the arranged related devices' The position coordinates are known) to determine the x-axis coordinates of the right boundary and the y-axis coordinates of the upper boundary of the bounding rectangle of each arranged associated device.
  • the maximum value is selected from the M right-boundary x-axis coordinates
  • the maximum value is selected from the M upper-boundary y-axis coordinates.
  • BAWR can be connected in series or in parallel in the circuit. If BAWR j is connected in series in the circuit, then the range of feasible region of BAWR j can be determined according to the following formula:
  • x_min, x_max, y_min and y_max are used to identify the range of the feasible region of BAWR j , that is, x_min is the minimum value of the feasible region on the x-axis, x_max is the maximum value of the feasible region on the x-axis, and y_min is The minimum value of the feasible region on the y-axis, and y_max is the maximum value of the feasible region on the y-axis.
  • front->right indicates the x-axis coordinate of the right boundary of the bounding rectangle of the front device.
  • links->right indicates the maximum value of the x-axis coordinates of the right boundary of the bounding rectangle of the M arranged associated devices.
  • links->top indicates the maximum value of the y-axis coordinates of the upper boundary of the circumscribed rectangle of the M arranged associated devices.
  • margin1, margin2 and margin3 are preset margins.
  • Figure 7 is a schematic diagram of the feasible region of a cascaded BAWR.
  • S1_1, S1_2, S2 and P1 in Figure 7 are four BAWRs, among which S1_1 and S_2 are BAWRs used in pairs.
  • S2 is the BAWR to be arranged.
  • the front-end device of S2 is S1_2, and the arranged management devices of S2 are S1_2 and P1.
  • BAWR j is connected in parallel in the circuit, then the feasible region of BAWR j is divided into two parts, which can be called the first feasible region and the second feasible region respectively.
  • the range of the first feasible area can be determined according to the following formula:
  • the scope of the second feasible area can be determined according to the following formula:
  • x_min1, x_max1, y_min1 and y_max1 identify the range of the first feasible region, that is, x_min1 is the minimum value of the first feasible region on the x-axis, and x_max1 is the maximum value of the first feasible region on the x-axis, y_min1 is the minimum value of the first feasible region on the y-axis, and y_max is the maximum value of the first feasible region on the y-axis.
  • x_min2, x_max2, y_min2 and y_max2 are the ranges of the second feasible region, that is, x_min2 is the minimum value of the second feasible region on the x-axis, x_max2 is the maximum value of the second feasible region on the x-axis, and y_min2 is the minimum value of the second feasible region on the y-axis, and y_max2 is the maximum value of the second feasible region on the y-axis.
  • front->left indicates the x-axis coordinate of the left boundary of the circumscribed rectangle of the front-end device
  • front->top indicates the y-axis coordinate of the upper boundary of the circumscribed rectangle of the front-end device
  • links->right indicates the M arranged
  • links->top indicates the maximum value of the y-axis coordinates of the upper boundary of the circumscribed rectangle of the M arranged associated devices
  • margin4, margin5, margin6, margin7 and margin8 are preset margins.
  • Figure 8 is a schematic diagram of the feasible region of a parallel BAWR.
  • S1_1, S1_2, S2, P1 and P2 in Figure 8 are five BAWRs, among which S1_1 and S_2 are BAWRs used in pairs.
  • P2 is the BAWR to be arranged.
  • the front-end device of P2 is S1_2, and the arranged management devices of P2 are S1_2, P1 and S2.
  • the candidate position can be used as the coordinates of the lower left corner of the bounding rectangle of the BAWR to be arranged (ie BAWR j ).
  • the candidate position does not pass the feasibility verification, continue to determine the next candidate position from the feasible area, and determine whether the newly determined candidate position can pass the feasibility verification, until a candidate position that can pass the feasibility verification is determined ( the target location).
  • the coordinates of the first candidate position may be the coordinates of the lower left corner of the feasible area.
  • BAWR j is a serial BAWR
  • the direction of traversal can be mainly horizontal traversal.
  • offset a certain distance upwards and then perform horizontal traversal again. The purpose of this is to keep the series devices as close to the bottom of the board as possible.
  • BAWR j is a parallel BAWR
  • the direction of traversal can be mainly vertical traversal (ie from bottom to top).
  • the upper boundary of the feasible region is exceeded, it is shifted to the right for a period, and then vertical traversal is performed again.
  • the purpose of this is to keep the parallel devices as close to the left side of the layout as possible.
  • the search area of the parallel device may be based on the first feasible area, and when the target position cannot be found in the first feasible area, the search is performed from the second feasible area.
  • the setting of the first feasible area is mainly to deal with the special circuit structure and reduce the possibility of being unable to typesetting.
  • Feasibility verification may include connectivity requirements detection and collision detection. If the candidate position passes the connectivity requirement test and the collision test, then it can be determined that the candidate position is the target position; if the candidate position fails the connectivity requirement test or the collision test, then it can be determined that the candidate position has not passed the feasibility verification.
  • Fig. 9 is a schematic flowchart of connectivity requirement detection provided according to an embodiment of the present application.
  • the boundary information of the bounding rectangle of BAWRj may include the left boundary of the bounding rectangle of BAWRj, the right boundary of the bounding rectangle of BAWRj, the lower boundary of the bounding rectangle of BAWRj, and the upper boundary of the bounding rectangle of BAWRj.
  • the boundary information of the M arranged associated devices may include the left boundary of the circumscribed rectangle of each arranged associated device, the right boundary of the circumscribed rectangle of each arranged associated device, and the bounding rectangle of each arranged associated device. The lower boundary of the bounding rectangle of the associated device and the upper boundary of the bounding rectangle of each arranged associated device.
  • D m_right represents the x-axis coordinate of the right border of the bounding rectangle of the mth associated device
  • D j_left represents the x-axis coordinate of the left border of the bounding rectangle of BAWR j
  • D j_right represents the x-coordinate of the bounding rectangle of BAWR j
  • D m_left indicates the x-axis coordinate of the left boundary of the bounding rectangle of the mth associated device arranged
  • D m_top indicates the y of the upper boundary of the bounding rectangle of the mth associated device arranged
  • D j_bottom represents the y-axis coordinate of the lower boundary of the bounding rectangle of BAWR j
  • D j_top represents the y-axis coordinate of the upper boundary of the bounding rectangle of BAWR j
  • D m_bottom represents the bounding rectangle of the mth associated device that has been arranged
  • the overlapping parameters of BAWR j and any one of the M arranged associated devices are greater than or equal to the preset connection line width threshold, it is determined that the candidate position meets the connectivity requirement detection; if BAWR j and If the overlap parameter of one or more arranged associated devices among the M arranged associated devices is smaller than the preset connection line width threshold, it is determined that the candidate position does not meet the connectivity requirement detection.
  • Fig. 10 is a schematic diagram of determining overlapping parameters according to an embodiment of the present application.
  • Fig. 11 is a schematic flowchart of collision detection provided according to an embodiment of the present application.
  • the candidate position passes the collision detection, otherwise, the candidate position fails the collision detection:
  • the target position is not found after traversing all the feasible areas of BAWR j , it means that the values of some state parameters of BAWR j may be inappropriate, and an available layout cannot be determined.
  • the fitness corresponding to the ith first chromosome can be set to a particularly low preset value. In this way, the ith first chromosome can be avoided as far as possible from being selected during the selection operation.
  • the technical solution of the present application can also arrange other components on the circuit board.
  • the circuit board usually includes one or more pads, and the pads can also be arranged according to the above technical solution.
  • the calculation method of the path length of the pad is consistent with BAWR. Since the shape of the pad is not changeable and is usually round or square, only the order rand of the pad needs to be optimized. Different processes and pads have different design constraints, and the arrangement of pads needs to be restricted according to actual needs. For example, if the process requires the pads to be placed on the edge of the layout, or there are distance constraints between the pads, then the feasible area of the pads needs to be adjusted.
  • Fig. 12 is a structural block diagram of a computer device provided according to an embodiment of the present application.
  • the computer device 1200 shown in FIG. 12 may be a desktop computer, a notebook computer, a tablet computer, or the like.
  • the computer device 1200 shown in FIG. 12 includes an interface circuit 1201 and a processor 1202 .
  • the interface circuit 1201 is used to acquire the connection information of each BAWR in the bulk acoustic wave resonator BAWR circuit, wherein the connection information of each BAWR is used to indicate the connection relationship of each BAWR in the BAWR circuit, and the BAWR circuit includes N BAWRs , N is a positive integer greater than or equal to 2.
  • the processor is configured to be coupled with the memory, read and execute instructions and/or program codes in the memory, so as to execute the methods in the above embodiments and generate the layout of the BAWR circuit.
  • the embodiment of the present application also provides a chip system, the chip system includes a logic circuit, the logic circuit is used to couple with the input/output interface, and transmit data through the input/output interface, so as to execute any one of the above-mentioned embodiments the method described.
  • each step of the above-mentioned method can be completed by an integrated logic circuit of hardware in a processor or an instruction or program code in the form of software.
  • the steps of the methods disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, no detailed description is given here.
  • the processor in the embodiment of the present application may be an integrated circuit chip, which has a signal processing capability.
  • each step of the above-mentioned method embodiments may be implemented by an integrated logic circuit of hardware in a processor or instructions or program codes in the form of software.
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories.
  • the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which acts as external cache memory.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM direct memory bus random access memory
  • direct rambus RAM direct rambus RAM
  • the present application also provides a computer program product, the computer program product including: computer program code, when the computer program code is run on the computer, the computer is made to execute any one of the above-mentioned embodiments Example method.
  • the present application also provides a computer-readable medium, the computer-readable medium stores program codes, and when the program codes are run on a computer, the computer is made to execute any one of the above-mentioned embodiments. Example method.
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions or program codes are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Landscapes

  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种电子元件的版图设计方法,包括:获取BAWR电路中每个BAWR的连接信息(201),生成多个状态参数集合并确定多个候选布局(202),从该多个候选布局中确定版图冗余面积最小的目标布局方式(203),使用该目标布局方式,生成该BAWR电路的版图(204)。

Description

电子元件的版图设计方法、计算机设备和存储介质 技术领域
本申请涉及电子技术领域,更具体地,涉及电子元件的版图设计方法、计算机设备和存储介质。
背景技术
滤波器是用来消除干扰和过滤杂波的器件。智能手机、卫星导航设备,小基站等射频前端系统都需要滤波器才能正常工作,将带外干扰和噪声滤除以满足射频系统和通讯协议对于信噪比的需求。
体声波(bulk acoustic wave,BAW)滤波器具有工作频率高、体积小、品质因数高等特点。因此,BAW滤波器被业界广泛应用。BAW滤波器是把多个BAW谐振器(bulk acoustic wave resonator,BAWR)按照一定拓扑结构连接得到的。
通信设备的小型化对通信设备内部的空间利用率提出了更高的要求。因此,如何排布BAWR以减少BAWR的占用空间称为了业界关注的问题。
发明内容
本申请提供一种电子元件的版图设计方法、计算机设备和存储介质,能够有效减少BAWR的占用空间。
第一方面,本申请实施例提供一种电子元件的版图设计方法,包括:获取体声波谐振器BAWR电路中每个BAWR的连接信息,其中每个BAWR的连接信息用于指示每个BAWR在该BAWR电路中的连接关系,该BAWR电路包括N个BAWR,N为大于或等于2的正整数;生成多个状态参数集合并确定多个候选布局,其中,该多个状态参数集合与该多个候选布局一一对应,该多个候选布局中的每个候选布局是根据该N个BAWR的连接信息和对应的状态参数集合确定的,该多个状态参数集合中的每个状态参数集合包括N组状态参数,该N组状态参数与该N个BAWR一一对应,每组状态参数用于确定对应的BAWR在候选布局中的排布方式;从该多个候选布局中确定版图冗余面积最小的目标布局方式;使用该目标布局方式,生成该BAWR电路的版图。
该N个BAWR中的每个BAWR可以是单独使用的BAWR,也可以是成对使用的BAWR。上述技术方案利可以使得BAWR的布局对电路板的占用比例较低,从而BAWR对电路板的利用率更高。并且,上述技术方案可以很好地处理成对BAWR,并对成对的BAWR的排布进行优化。
结合第一方面,在第一方面的一种可能的设计中,该生成多个状态参数集合并确定多个候选布局,包括:基于启发式算法生成多个状态参数集合并确定多个候选布局。
上述技术方案可以通过启发式算法,快速生成多个不同的候选布局。
结合第一方面,在第一方面的一种可能的设计中,在该启发式算法为遗传算法的情况 下,该基于启发式算法生成多个状态参数集合并确定多个候选布局,包括:生成初始种群,其中该初始种群包括N pop_size个状态参数集合,每个该初始种群包括的状态参数集合包括N组初始状态参数,该N组初始状态参数分别为该N个BAWR的状态参数的初始值,该初始种群中的任意两个状态参数集合不完全相同,N pop_size为大于或等于2的正整数;根据该N个BAWR的连接信息和该初始种群,确定对应于该初始种群的初始候选布局集合,其中该初始候选布局集合包括N pop_size个候选布局,该初始候选布局集合包括的N pop_size个候选布局与该初始种群包括的N pop_size个状态参数集合一一对应;根据该初始候选布局集合包括的N pop_size个候选布局,从该初始种群中选择出至少一个状态参数集合;对选择出的至少一个状态参数集合进行交叉和变异操作得到第一种群,该第一种群包括N pop_size个状态参数集合;对该第一种群包括的状态参数集合进行演化操作,得到N evol个种群、与该N evol个种群对应的N evol个候选布局集合以及与该第一种群对应的第一候选布局集合,其中该N evol个种群中的每个种群包括N pop_size个状态参数集合,该N evol个候选布局集合和该第一候选布局集合中的每个候选布局集合包括N pop_size个候选布局,N evol为大于或等于1的正整数。
结合第一方面,在第一方面的一种可能的设计中,该N组状态参数中的每组状态参数包括以下参数中的任一种或多种:排布次序随机数、角度参数,和形状参数,其中该排布次序随机数用于确定对应的BAWR在该N个BAWR中的排布次序,该角度参数用于指示对应的BAWR的摆放角度,该形状参数用于指示对应BAWR的外接矩形的宽高比。
结合第一方面,在第一方面的一种可能的设计中,每个BAWR的连接信息包括:每个BAWR的路径长度、每个BAWR在电路中的连接方式、每个BAWR的前置器件、每个BAWR的关联器件,其中每个BAWR的路径长度为每个BAWR到该电路的输入端口的最长路径包括的BAWR的数目,每个BAWR在电路中的连接方式为串联或者并联,每个BAWR的前置器件为每个BAWR到输入端口的最长路径中且与每个BAWR的输入端相连的器件,每个BAWR的关联器件为与每个BAWR的输入端相连的器件。
结合第一方面,在第一方面的一种可能的设计中,该根据该N个BAWR的连接信息和该初始种群,确定对应于该初始种群的初始候选布局集合,包括:根据该初始种群中的第i个状态参数集合包括的N个排布次序随机数和每个BAWR的路径长度,确定该N个BAWR的排布次序参数,i为大于或等于1且小于或等于N pop_size的正整数;按照该N个排布次序参数的升序,确定该N个BAWR的排布顺序;根据确定的排布顺序、该第i个状态参数集合包括的角度参数和形状参数、每个BAWR的连接方式、每个BAWR的前置器件以及每个BAWR的关联器件,确定该初始候选布局集合中的第i个候选布局。
结合第一方面,在第一方面的一种可能的设计中,该根据确定的排布顺序、该第i个状态参数集合包括的角度参数和形状参数、每个BAWR的连接方式、每个BAWR的前置器件以及每个BAWR的关联器件,确定该初始候选布局集合中的第i个候选布局,包括:根据BAWR j的连接方式、前置器件以及关联器件,确定该BAWR j的可行区域,其中该BAWR j为该N个BAWR中第j个被排布的BAWR,j为大于或等于1且小于或等于N的正整数;根据第j组状态参数中的角度参数和形状参数,在该可行区域中确定能够通过可行性验证的目标位置,其中该第j组状态参数为该第i个状态参数集合中对应于该BAWR j的状态参数;确定该BAWR j位于该目标位置。
结合第一方面,在第一方面的一种可能的设计中,该根据BAWR j的连接方式、前置器件以及关联器件,确定该BAWR j的可行区域,包括:根据该BAWR j的前置器件对应的角度参数和形状参数,确定该前置器件的位置信息;分别根据该BAWR j的关联器件中已经排布好的M个关联器件的角度参数和形状参数,确定该M个关联器件的位置信息,M为大于或等于1的正整数;根据该BAWR j的连接方式、该BAWR j的前置器件的位置信息以及该M个关联器件的位置信息,确定该可行区域。
结合第一方面,在第一方面的一种可能的设计中,该根据该BAWR j的连接方式、该BAWR j的前置器件的位置信息以及该M个关联器件的位置信息,确定该可行区域,包括:在该BAWR j的连接方式为串联的情况下,根据以下公式确定该可行区域的范围:
x_min=front->right–margin1
x_max=links->right+margin2
y_min=0
y_max=links->top+margin3
其中,
x_min,x_max,y_min和y_max标识该可行区域的范围,
front->right表示该BAWR j的前置器件的外接矩形的右边界的x轴坐标,
links->right表示该M个关联器件的外接矩形的右边界的x轴坐标的最大值,
links->top表示该M个关联器件的外接矩形的上边界的y轴坐标的最大值,
margin1、margin2和margin3为预设余量。
结合第一方面,在第一方面的一种可能的设计中,该根据该BAWR j的连接方式、该BAWR j的前置器件的位置信息以及该M个关联器件的位置信息,确定该可行区域,包括:在该BAWR j的连接方式为并联的情况下,根据以下公式确定该可行区域中的第一可行区域:
x_min1=front->left–width+margin4
x_max1=links->right–margin5
y_min1=front->top–margin6
y_max 1=front->top+margin7
根据以下公式确定该可行区域中的第二可行区域:
x_min2=front->left–width+margin4
x_max2=links->right–margin5
y_min2=front->top+margin7
y_max2=links->top+margin8
其中,
x_min,x_max,y_min1和y_max1标识该第一可行区域的范围,
x_min,x_max,y_min2和y_max2标识该第二可行区域的范围,
front->left表示该BAWR j的前置器件的外接矩形的左边界的x轴坐标,
front->top表示该BAWR j的前置器件的外接矩形的上边界的y轴坐标,
links->right表示该M个关联器件的外接矩形的右边界的x轴坐标的最大值,
links->top表示该M个关联器件的外接矩形的上边界的y轴坐标的最大值,
margin4、margin5、margin6、margin7和margin8为预设余量。
结合第一方面,在第一方面的一种可能的设计中,该根据第j组状态参数中的角度参数和形状参数,在该可行区域中确定能够通过可行性验证的目标位置,包括:从该可行区域中确定候选位置;根据该第j组状态参数中的角度参数和形状参数,确定该候选位置是否通过该可行性验证;若该候选位置通过该可行性验证,则该候选位置为该目标位置;若该候选位置未通过该可行性验证,则继续从该可行区域中确定下一候选位置,并继续确定该下一候选位置是否通过该可行性验证,直到确定能够通过该可行性验证的该目标位置。
结合第一方面,在第一方面的一种可能的设计中,该根据该第j组状态参数中的角度参数和形状参数,确定该候选位置是否通过该可行性验证,包括:根据该候选位置、已排布的器件的位置信息以及该第j组状态参数中的角度参数和形状参数,确定该候选位置是否通过连接性需求检测和碰撞检测;若该候选位置通过该连接性需求检测和该碰撞检测,则确定该候选位置通过该可行性验证;若该候选位置未通过该连接性需求检测和该碰撞检测中的任一个或全部,则确定该候选位置未通过该可行性验证。
结合第一方面,在第一方面的一种可能的设计中,该根据该候选位置、已排布的器件的位置信息以及该第j组状态参数中的角度参数和形状参数,确定该候选位置是否通过连接性需求检测和碰撞检测,包括:根据该候选位置以及该第j组状态参数中的角度参数和形状参数,确定该BAWR j的外接矩形的边界信息;根据该已排布的器件的位置信息,确定该已排布的器件的边界信息;根据该BAWR j的外接矩形的边界信息和该已排布的器件的边界信息,确定该候选位置是否通过该连接性需求检测。
结合第一方面,在第一方面的一种可能的设计中,该根据该BAWR j的外接矩形的边界信息和该已排布的器件的边界信息,确定该候选位置是否通过该连接性需求检测,包括:根据以下公式确定该BAWR j与该已排布的器件中的第m个已排布的器件的重叠参数overlap m,overlap m表示该BAWR j与该已排布的器件中的第m个已排布的器件:
overlap m=min(D m_right–D j_left,D j_right–D m_left)+min(D m_top–D j_bottom,D j_top–D m_bottom),
其中,
D m_right表示该第m个已排布的器件的外接矩形的右边界的x轴坐标;
D j_left表示该BAWR j的外接矩形的左边界的x轴坐标,
D j_right表示该BAWR j的外接矩形的右边界的x轴坐标,
D m_left表示第m个已排布的器件的外接矩形的左边界的x轴坐标,
D m_top表示第m个已排布的器件的外接矩形的上边界的y轴坐标,
D j_bottom表示该BAWR j的外接矩形的下边界的y轴坐标,
D j_top表示该BAWR j的外接矩形的上边界的y轴坐标,
D m_bottom表示第m个已排布的器件的外接矩形的下边界的y轴坐标;
若该BAWR j与该已排布的器件中的任一个已排布的器件的重叠参数均大于或等于预设连接线宽度阈值,则确定该候选位置满足该连接性需求检测;若该BAWR j与该已排布的器件中的一个或多个已排布的器件的重叠参数小于该预设连接线宽度阈值,则确定该候选位置不满足该连接性需求检测。
结合第一方面,在第一方面的一种可能的设计中,该根据该候选位置、已排布的器件的位置信息以及该第j组状态参数中的角度参数和形状参数,确定该候选位置是否通过连 接性需求检测和碰撞检测,包括:根据该候选位置和该第j组状态参数中的角度参数和形状参数,确定该BAWR j的轮廓;根据该已排布的器件的位置信息,确定该已排布的器件的轮廓;根据该BAWR j的轮廓和该已排布的器件的轮廓,利用扫描线算法确定该候选位置是否通过该碰撞检测。
结合第一方面,在第一方面的一种可能的设计中,该根据该BAWR j的轮廓和该已排布的器件的轮廓,利用扫描线算法确定该候选位置是否通过该碰撞检测,包括:
若任意的p和q均满足以下不等式,则该候选位置通过该碰撞检测,否则,该候选位置未通过该碰撞检测:
min(scan_device[p][2×q+1]+x-scan_layout[p+_y][2×k],scan_layout[p+_y][2×k+1]-scan_device[p][2×q]-x)≤0,
其中,
scan_device[p][2×q+1]表示扫描线delta×p与该BAWR j的轮廓所有交点中的第2×q+2个交点的x轴坐标,p=0,1,……,h,其中delta为该扫描线的迭代步长h=height/delta,h该BAWR j的外接矩形的高度与delta的商进行取整操作后得到的正整数,
x表示该候选位置的x轴坐标,
_y表示该候选位置的y轴坐标与delta的商进行取整操作后得到的整数,
scan_layout[p+_y][2×k]表示水平扫描线Y=delta×p+y与该已排布的器件的轮廓所有交点中的第k+1个左交点,
scan_layout[p+_y][2×k+1]表示水平扫描线Y=delta×p+y与该已排布的器件的轮廓所有交点中的第k+1个右交点,
scan_device[p][2×q]表示delta×p与该BAWR j的轮廓所有交点中的第2×q+1个交点的x轴坐标。
结合第一方面,在第一方面的一种可能的设计中,该方法还包括:
根据该电路中焊盘的数目以及该焊盘的面积,利用启发式算法确定该焊盘在该版图中的布局。
第二方面,本申请实施例提供一种计算机设备,该计算机设备包括:接口电路,用于获取体声波谐振器BAWR电路中每个BAWR的连接信息,其中每个BAWR的连接信息用于指示每个BAWR在该BAWR电路中的连接关系,该BAWR电路包括N个BAWR,N为大于或等于2的正整数;处理器,用于与存储器耦合,读取并执行该存储器中的指令和/或程序代码,以执行如第一方面或第一方面的任一种可能的实现方式,生成该BAWR电路的版图。
第三方面,本申请实施例提供一种计算机设备,该计算机设备包括用于实现第一方面或第一方面的任一种可能的实现方式的单元。
第四方面,本申请实施例提供一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行第一方面或第一方面任一种可能的实现方式。
第五方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该计算机存储介质在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式。
第六方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行如第一方面或第一方面的任一种可能的实现方式。
附图说明
图1示出了两个包含BAWR的电路结构的示意图。
图2是根据本申请实施例提供的一种电子元件的版图设计方法的示意性流程图。
图3是一种基于遗传算法的确定BAWR的排布方式的示意性流程图。
图4示出了成对使用的BAWR的形状的确定过程。
图5是一个单点交叉的示意图。
图6是根据本申请实施例提供的确定BAWR候选布局的方法的示意性流程图。
图7是一个串联的BAWR的可行区域示意图。
图8是一个并联的BAWR的可行区域示意图。
图9是根据本申请实施例提供的连接性需求检测的示意性流程图。
图10是根据本申请实施例提供的确定重叠参数的示意图。
图11是根据本申请实施例提供的碰撞检测的示意性流程图。
图12是根据本申请实施例提供的计算机设备的结构框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了两个包含BAWR的电路结构的示意图。
如图1中的(a)所示的电路结构包括输入端Pin,输出端Pout和一个端口P。端口P可以用于接地或者连接其他元件的焊盘(pad),本申请实施例对端口P的具体功能不作具体限定。
如图1中的(a)所示的电路结构中包括五个BAWR,即BAWR 101、BAWR 102、BAWR 103、BAWR 104和BAWR 105。如图1中的(a)所示,BAWR 101包括两个BAWR,分别为S1_1和S1_2;BAWR 102包括一个BAWR,为S2;BAWR 103也包括1个BAWR,为S3;BAWR 104包括两个BAWR,分别为P1_1和P1_2;BAWR 105包括1个BAWR,为P2。
如图1中的(b)所示的电路结构包括输入端Pin,输出端Pout和3个端口P。
如图1中的(b)所示的电路结构中包括12个BAWR,分别为BAWR 111、BAWR 112、BAWR 113、BAWR 114、BAWR 115、BAWR 116、BAWR 117、BAWR 121、BAWR 122、BAWR 123、BAWR 124和BAWR 125。
BAWR可以单独使用,也可以成对使用。例如,图1中的(a)中的BAWR 101和BAWR104中的BAWR是成对使用的BAWR;BAWR102、BAWR103和BAWR 105中的BAWR是单独使用的BAWR。成对的BAWR中的两个BAWR的面积是相同的。因此,对于如BAWR 101和BAWR 104这种使用的BAWR,确定了两个BAWR中的任一个BAWR的面积,另一个BAWR的面积也就确定了。
除非特殊说明,本申请实施例中所称的一个BAWR可以是单独使用的BAWR,也可 以是成对使用的一对BAWR。换句话说,如1所示的一个BAWR可以包括一个BAWR,也可以包括一对BAWR。
图2是根据本申请实施例提供的一种排布电子元件的方法的示意性流程图。
201,获取BAWR电路中每个BAWR的连接信息。
每个BAWR的连接信息用于指示每个BAWR在该BAWR电路中的连接关系,该BAWR电路包括N个BAWR,N为大于或等于2的正整数。
可选的,每个BAWR的连接信息可以从网表中获取。
可选的,每个BAWR的连接信息也可以由用户手工输入。
每个BAWR的连接信息包括:每个BAWR的路径长度、每个BAWR在电路中的连接方式、每个BAWR的前置器件、每个BAWR的关联器件。
BAWR的前置器件是位于输入端口到BAWR的最长路径中且与BAWR输入端相连的器件。例如,图1中的(a)中,BAWR 101的前置器件为输入端口Pin;BAWR 102的前置器件为S1_2;BAWR 104的前置器件包括S1_2。
BAWR的关联器件是指与BAWR的输入端相连的器件。例如,图1中的(a)中,BAWR 101的关联器件为输入端口Pin;BAWR 102的关联器件包括S1_2和P1_2;BAWR 104的关联器件包括S1_2和S2。
BAWR在电路中的连接方式是指BAWR与主路径中的BAWR的连接方式。主路径是从电路的输入端口Pin到输出端口Pout的路径。如果BAWR位于主路径中,那么该BAWR在电路中的连接方式是串联关系;如果BAWR是与端口P相连,那么该BAWR在电路中的连接方式是并联关系。
例如,图1中的(a)所示的电路中的主路径是指包括Pin、BA`WR 101、BAWR 102、BAWR 103和Pout的路径。因此,BAWR 101、BAWR 102和BAWR 103在电路中的连接方式为串联,BAWR 104和BAWR 105在电路中的连接方式为并联。
又如,图1中的(b)所示的电路中的主路径包括两条,分别为Pin->BAWR 111->BAWR 112->BAWR 113->BAWR 114->BAWR 115->Pout的串联主干路和Pin->BAWR 116->BAWR 117->BAWR 114->BAWR 115->Pout的支路。因此,BAWR 111至BAWR 117在电路中的连接方式为串联。BAWR 121、BAWR 122、BAWR 123、BAWR 124和BAWR 125是与端口P相连。因此、BAWR 121至BAWR 125在电路中的连接方式为并联。
BAWR到电路的输入端口的最长路径包括的BAWR的数目也可以称为BAWR的路径长度。路径长度的值为包含这条路径从起点到终点的所有BAWR的数目。换句话说,对于一个BAWR,该BAWR的路径长度中包含该BAWR。
还以图1中的(a)为例,BAWR 101的路径长度为1,BAWR 102的路径长度为2,BAWR 103的路径长度为3。
如果BAWR中包括成对使用的BAWR,那么该对BAWR中输入端与另一元件相连的BAWR的连接信息确定了,那么另一个BAWR的连接信息也就相应确定了。因此,成对BAWR中输入端与另一元件相连的BAWR的连接信息可以作为该组BAWR的连接信息。例如,S1_1的连接信息可以作为BAWR 301的连接信息;P1_1的连接信息可以作为BAWR 304的连接信息。
表1示出了图1中的(a)所示的电路中各个BAWR的连接信息。
表1
BAWR front link S/P order basic
BAWR 101 Pin Pin S 1
BAWR 102 S1_2 S1_2,P1_1 S 2
BAWR 103 S2 S2,P2 S 3
BAWR 104 S1_2 S1_2,S2 P 2
BAWR 105 S2 S2,S3 P 3
表1中的front表示BAWR的前置器件;link表示BAWR的关联器件;S/P表示BAWR在电路中的连接关系,其中S表示串联,P表示并联;order basic表示BAWR的路径长度。
例如,对于BAWR 101,front={Pin},link={Pin},S/P=S,order basic=1;对于对于BAWR102,front={S1_2},link={S1_2,P1_1},S/P=S,order basic=2;对于BAWR 104,front={S1_2},link={S1_2,S2},S/P=P,order basic=2。
202,生成多个状态参数集合并确定多个候选布局。
该多个状态参数集合与该多个候选布局一一对应,该多个候选布局中的每个候选布局是根据该N个BAWR的连接信息和对应的状态参数集合确定的,该多个状态参数集合中的每个状态参数集合包括N组状态参数,该N组状态参数与该N个BAWR一一对应,每组状态参数用于确定对应的BAWR在候选布局中的排布方式。
在一些实施例中,可以利用启发式算法生成多个状态参数并确定多个候选布局。用于确定候选布局的启发式算法可以是遗传算法、模拟退火算法或者粒子群算法等。
203,从该多个候选布局中确定版图冗余面积最小的目标布局方式。
204,使用该目标布局方式,生成该BAWR电路的版图。
下面以遗传算法为例,对如何确定该N个BAWR在电路板上的布局进行介绍。
图3是一种基于遗传算法的确定BAWR的排布方式的示意性流程图。
301,生成初始种群。
初始种群可以包括N pop_size个状态参数集合,每个该初始种群包括的状态参数集合包括N组初始状态参数,该N组初始状态参数分别为该N个BAWR的状态参数的初始值,该初始种群中的任意两个状态参数集合不完全相同。
状态参数集合也可以称为染色体。换句话说,该初始种群包括N pop_size个染色体。为了便于描述,可以将初始种群中的染色体称为第一染色体。
N pop_size为大于或等于2的正整数。可以理解,N pop_size的取值越大,最后确定的布局对电路板的利用率越高,但是确定布局所花费的时间较长;N pop_size的取值越小,确定布局所花费的时间越短,但是确定的布局对电路板的利用率一般而言会低于N pop_size值较大时确定的布局对电路板的利用率。换句话说,N pop_size的取值越大,最后得到的效果越好,但是时间越长;N pop_size的取值越小,时间越短,但是效果越差。N pop_size在大于或等于30且小于或等于80的情况下可以达到速度和效果的平衡,即在保证确定布局速度的情况下可以提供一个质量较好的布局。N pop_size可以是一个预定义的值,也可以由用户自行指定。N pop_size的预定义的值可以设置为40、50或者60。
N组状态参数中的每组状态参数可以包括以下参数中的任一种或多种:排布次序随机数、角度参数和形状参数。
排布次序随机数可以用order rand表示。排布次序随机数用于确定对应的BAWR在N个BAWR中的排布次序。
排布次序随机数是一个大于或等于0且小于或等于1的随机数。该随机数的取值是在生成初始种群的时候确定的。换句话说,若状态参数包括该排布次序随机数,那么在生成初始种群的时候,在确定一个染色体中的一个BAWR对应的排布次序随机数时,会为该BAWR随机生成一个排布次序随机数。
引入排布次序随机数是为后续优化准备的,使得后续优化产生自适应调整。还以图1中的(a)为例,通过引入排布次序随机数,BAWR 102可能会排在BAWR 104后面,也可能排在BAWR 104前面。如果不引入排布次序随机数,那么BAWR 102的排名会始终位于BAWR 104的前面或者后面。
角度参数可以用trans表示。角度参数用于指示对应的BAWR中的单个BAWR的摆放角度。
在一些实施例中,trans的取值限定于{0,1,2,3,4,5,6,7},分别代表R0、R90、R180、R270、M0、M45、M90、M135。其中,R90表示逆时针旋转90度,M45表示关于45度轴做镜像变换,以此类推。
可以理解的是,上述旋转角度/镜像变换方式仅是示例,而并非对旋转角度/镜像变换方式的限定。旋转角度/镜像变换方式也可以有其他方式。例如,还可以包括顺时针旋转30度、顺时针旋转45度、关于30度轴做镜像变换、先逆时针旋转45度再做关于90度轴的镜像变换等。
类似的,上述trans取值和旋转角度/镜像变换方式的关系也仅是示例,并非是对trans取值和旋转角度/镜像变换方式的关系的限定。trans的取值和各个取值表示的含义也可以是其他对应关系。例如,trans的取值限定于{0,1,2,3,4},分别代表R0、R90、M0、M90、M135。在一些实施例中,trans旋转角度或者镜像变换。例如,trans的取值限定于{0,1,2,3},分别代表R0、R90、R180、R270。
若状态参数包括该角度参数,那么在生成初始种群的时候,在确定一个染色体中的一个BAWR对应的角度参数时,从角度参数可以的取值中随机选取一个取值,作为该BAWR对应的角度参数。
形状参数可以用shape表示。形状参数用于指示对应的BAWR中的单个BAWR的外接矩形的宽高比。
在一些实施例中,单个BAWR的形状可以是接近正多边形的多边形。例如,单个BAWR可以是一个接近正四边形或者正五边形的多边形。单个BAWR任意两边不平行,避免出现小的锐角或过大的钝角,以避免或降低干扰问题。对于单个BAWR两条相邻边之间的夹角的限制(即避免小的锐角和大的钝角)并非是一种严格的限制。在一些实施例中,综合考虑设计需求后,单个BAWR两条相邻边之间的夹角也可以设置为较小的锐角。
假设单个BAWR是一个接近正五边形的BAWR。该BAWR的形状可以通过以下方式确定:
步骤1:获取BAWR的面积。
步骤2:先根据步骤1中获取的BAWR的面积生成一个正五边形。
步骤3:然后调整该正五边形的左右顶点,使得左右两条边的长度分别为
Figure PCTCN2021115614-appb-000001
Figure PCTCN2021115614-appb-000002
其中S res表示该BAWR的面积,margin是一个预先设置或者由用户设置的余量。margin的取值需要大于0微米(即避免左右两条边长度相等)。一般而言,margin的取值可以为8微米、10微米、12微米或15微米等。调整后得到的多边形的面积需要和步骤1中获取的BAWR的面积相同。
经过步骤1至步骤3,BAWR的形状就确定了。相应的,该BAWR的外接矩形的宽高比也就确定了,即确定了BAWR的形状参数。
成对使用的BAWR中的两个BAWR的形状是相同的。因此,确定了一个BAWR的形状,另一个BAWR的形状也就确定了。此外,该BAWR中的两个BAWR之间需要满足最小间距G pair。一般而言,G pair可以是大于或等于0微米且小于或等于20微米。
图4示出了成对使用的BAWR的形状的确定过程。
如果用X表示第一染色体,那么通过步骤301可以生成的初始种群pop=[X 1,X 2,…,X Npop_size]。假设i是大于或等于1且小于或等于N pop_size的正整数,那么X i=[(order rand_i1,trans i1,shape i1),(order rand_i2,trans i2,shape i2),…,(order rand_iN,trans iN,shape iN)]。为了便于描述,可以将第一染色体X i包括的N组状态参数称为N i组状态参数,N i等于N。order rand_i1表示N i组状态参数中对应于N个BAWR中的第1个BAWR的排布次序随机数,order rand_i2表示N i组状态参数中对应于N个BAWR中的第2个BAWR的排布次序随机数,以此类推。类似的,trans i1表示N i组状态参数中对应于N个BAWR中的第1个BAWR的角度参数,trans i2表示N i组状态参数中对应于N个BAWR中的第2个BAWR的角度参数,以此类推。shape i1表示N i组状态参数中对应于N个BAWR中的第1个BAWR的形状参数,shape i2表示N i组状态参数中对应于N个BAWR中的第2个BAWR的形状参数,以此类推。需要注意的是,这里所称的第1个BAWR和第2个BAWR并非是对N个BAWR排序后得到的顺序,只是为了区分不同的BAWR。
还以图1中的(a)所示的电路图为例,图1中的(a)所示的电路,X i=[(order rand_i1,trans i1,shape i1),(order rand_i2,trans i2,shape i2),(order rand_i3,trans i3,shape i3),(order rand_i4,trans i4,shape i4),(order rand_i5,trans i5,shape i5)],其中(order rand_i1,trans i1,shape i1)是N i组状态参数中对应于BAWR 101的一组状态参数,order rand_i1是N i组状态参数中对应于BAWR 101的排布次序随机数,trans i1是N i组状态参数中对应于BAWR 101的角度参数,shape i1是N i组状态参数中对应于BAWR 101的形状参数;(order rand_i2,trans i2,shape i2)是N i组状态参数中对应于BAWR 102的一组状态参数,order rand_i2是N i组状态参数中对应于BAWR 102的排布次序随机数,trans i2是N i组状态参数中对应于BAWR 102的角度参数,shape i2是N i组状态参数中对应于BAWR 102的形状参数,以此类推。
302,根据该N个BAWR的连接信息和该初始种群,确定对应于该初始种群的初始候选布局集合,其中该初始候选布局集合包括N pop_size个候选布局,N pop_size个候选布局与N pop_size个第一染色体一一对应。
N pop_size个候选布局中的第i个候选布局是根据N pop_size个第一染色体中的第i个染色体包括的N组状态参数(即前文定义的N i组状态参数)和N个BAWR的连接信息确定的。换句话说,可以根据N i组状态参数以及该N个BAWR的连接信息,确定N pop_size个候选布局中的第i个候选布局。
候选布局的确定大致分为以下几个步骤:1)确定能够用于放置BAWR的可行区域; 2)从可行区域找到可以通过可行性验证的坐标。确定候选布局的具体方式将在后续进行介绍。
303,根据该初始候选布局集合包括的N pop_size个候选布局,从该初始种群中选择出至少一个状态参数集合。
在一些实施例中,可以先分别根据该N pop_size个候选布局,确定N pop_size个适应度,该N pop_size个适应度与该N pop_size个候选布局一一对应,该N pop_size个适应度中的每个适应度反映了对应的候选布局中的电路板的面积与该N个BAWR的总面积之差。
例如,假设S total_i表示第i个候选布局对应的电路板的面积,S devices表示该N个BAWR的总面积,那么第i个候选布局对应的适应度i为1/S redundant_i,其中S redundant_i、S total_i和S devices满足以下关系:
S redundant_i=S total_i-S devices(公式1)。
如果还有其他器件(例如焊盘)也需要排布在该电路板上,那么S devices也包括这些器件的面积。换句话说,S devices可以表示排布在该电路板上的所有有器件的面积之和。
第i个候选布局对应的电路板的面积是排布后的所有BAWR的最小外接矩形的面积。
在确定了适应度之后,可以根据N pop_size个适应度,对初始种群包括的N pop_size个第一染色体进行选择。用于选择第一染色体的选择算法可以是轮盘赌选择(roulette wheel selection)、随机竞争选择(stochastic tournament)、最佳保留选择等。选择算法的具体实现方式与现有算法的实现方式相同,为例简洁,在此就不再赘述。
304,对选择出的至少一个状态参数集合进行交叉和变异操作得到第一种群,该第一种群包括N pop_size个状态参数集合。
第一种群中的状态参数集合可以称为第二染色体。换句话说,第一种群中包括N pop_size个第二染色体。
例如,大于0且小于1的随机数,将生成的随机数与设定的杂交概率Pc作比较,从而决定是否对相应的染色体做交叉运算。交叉运算可以是单点交叉、双点交叉等。
以单点交叉为例,生成一个随机数,该随机数为大于或等于1且小于N的正整数,以该随机数为分割线,互换两个染色体的前半部分和后半部分。
图5是一个单点交叉的示意图。如图5所示,随机数的值等于2。图5中的X 1和X 2为交叉操作前的两个染色体,X new1和X new2为通过交叉操作后得到的两个染色体。
变异操作可以使用遗传算法中常用的变异运算,例如基本位变异(simple mutation)、均匀变异(uniform mutation)、边界变异(boundary mutation)等。
305,对N pop_size个第二染色体进行演化操作(即循环执行步骤302,303和步骤304),得到N evol个种群、与该N evol个种群对应的N evol个候选布局集合以及与该第一种群对应的第一候选布局集合,其中该N evol个种群中的每个种群包括N pop_size个状态参数集合,该M个候选布局集合和该第一候选布局集合中的每个候选布局集合包括N pop_size个候选布局,N evol为大于或等于1的正整数。
进行演化操作的次数可以是预先设定的。N pop_size个第二染色体循环执行步骤302,303和步骤304,直到达到预先设定的迭代次数。
在一些实施例中,用于挑选目标布局方式的多个候选布局可以包括图3所示过程中确定的全部候选布局,即包括该初始候选布局集合、该第一候选布局集合以及该N evol个候 选布局集合中包括的候选布局。
在另一些实施例中,用于挑选目标布局方式的多个候选布局可以只包括图3所示过程的部分布局集合中的候选布局。例如,可以只包括该M个候选布局和中的候选布局,或者,可以只包括该N evol个候选布局集合以及该第一候选布局集合中的候选布局。
下面,结合图6对如何确定候选布局进行介绍。
图6是根据本申请实施例提供的确定BAWR候选布局的方法的示意性流程图。假设图6确定的候选布局是对应于第i个第一染色体的候选布局i。
601,确定N个BAWR的排布次序。
该N个BAWR中的每个BAWR的排布次序可以与每个BAWR对应的排布次序随机数和路径长度确定。假设用order表示排布次序参数,那么排布次序参数order、排布次序随机数order rand和路径长度order basic满足以下关系:
order=order basic+order rand,(公式2)
还以图1中的(a)所示的电路图为例。假设order 1至order 5分别表示对应于BAWR 101至BAWR 105的排布次序参数,那么order 1至order 5满足以下关系:
order 1=order basic1+order rand_i1=1+order rand_i1
order 2=order basic2+order rand_i1=2+order rand_i2
order 3=order basic3+order rand_i1=3+order rand_i3
order 4=order basic4+order rand_i1=2+order rand_i4
order 5=order basic5+order rand_i1=3+order rand_i5
order basic1至order basic5分别表示对应于BAWR 101至BAWR 105的路径长度。对于如图1中的(a)所示的电路图中的五个BAWR在电路图中的位置是确定的。因此,BAWR 101至BAWR 105的路径长度也就是确定的,分别为1、2、3、2、3。order rand_i1至order rand_i5的含义与上文一样,分别表示N i组状态参数中的排布次序随机数。
假设order 1至order 5的大小满足以下关系:order 1<order 2<order 4<order 5<order 3。order的值越小,对应的BAWR的排名越高。因此,BAWR 101至BAWR 105的排名从高到底依次为:BAWR 101、BAWR 102、BAWR 104、BAWR 105、BAWR 103。排名高的BAWR先被排布,排名低的BAWR后被排布。换句话说,对由BAWR 101至BAWR 105,BAWR 101是第一个排布的BAWR,BAWR 102是第二个被排布的BAWR,BAWR 104是第三个排布的BAWR,BAWR 105是第四个被排布的BAWR,BAWR 103是最后一个被排布的BAWR。
为了便于描述,以下用BAWR j表示N个BAWR中第j个排布的BAWR。换句话说BAWR j对应的排布次序参数在N个排布次序参数中按照升序排名的结果是第j个排布次序参数。用第j组状态参数表示N i组状态参数中对应于BAWR j的状态参数,j为大于或等于1且小于或等于N的正整数。
602,根据BAWR j的连接信息,确定BAWR j的可行区域。
BAWR j的连接信息可以包括BAWR j在该电路中的连接方式,该BAWR j的前置器件以及该BAWR j的关联器件。
从该BAWR j的关联器件中确定已经确定好位置的关联器件。为了便于描述,可以将已经确定好位置的BAWR j的关联器件称为已排布的关联器件。假设BAWR j共包括包括M 个已排布的关联器件,M为大于或等于1的正整数。
BAWR j的可行区域可以根据BAWR j在电路中的连接方式,前置器件的位置信息以及M个已排布的关联器件的位置信息确定。
前置器件的位置信息可以包括该前置器件的外接矩形的右边界的x轴坐标。前置器件的位置信息可以根据该前置器件的角度参数和形状参数确定。根据该前置器件的角度参数和形状参数,可以确定该前置器件的位置信息。具体地,根据该前置器件的角度参数和形状参数可以确定出该前置器件的外接矩形。在确定出该前置器件的外接矩形后,可以根据该前置器件的位置坐标(该前置器件是已经排列好的器件,因此该前置器件的位置坐标是已知的;器件的位置坐标可以定义为该器件的外接矩形的左下角)确定出该前置器件的外接矩形的右边界的x轴坐标。
在一些实施例中,前置器件的位置信息还可以包括前置器件的外接矩形的上边界的y轴坐标。类似的,根据该前置器件的角度参数和形状参数可以确定出该前置器件的外接矩形。在确定出该前置器件的外接矩形后,可以根据该前置器件的位置坐标确定出该前置器件的外接矩形的上边界的y轴坐标。
M个已排布的关联器件的位置信息可以包括M个已排布的关联器件的外接矩形的右边界的x轴坐标的最大值和上边界的y轴坐标的最大值。类似的,根据每个已排布的关联器件的角度参数和形状参数,可以确定每个已排布的关联器件的外接矩形。在确定出已排布的关联器件的外接矩形后,可以根据该已排布的关联器件的位置坐标(该已排布的关联器件是已经排列好的器件,因此该已排布的关联器件的位置坐标是已知的)确定出每个已排布的关联器件的外接矩形的右边界的x轴坐标和上边界的y轴坐标。然后,从M个右边界x轴坐标中选择出最大值,从M个上边界y轴坐标中选择出最大值。
如上所述,BAWR在电路中的连接方式可以是串联或者并联。如果BAWR j在电路中的连接方式为串联,那么可以根据以下公式确定BAWR j的可行区域的范围:
x_min=front->right–margin1,(公式3.1)
x_max=links->right+margin2,(公式3.2)
y_min=0,(公式3.3)
y_max=links->top+margin3,(公式3.4)
其中,x_min,x_max,y_min和y_max用于标识BAWR j的可行区域的范围,即x_min为该可行区域的在x轴上的最小值,x_max为该可行区域在x轴上的最大值,y_min为该可行区域在y轴上的最小值,y_max为该可行区域在y轴上的最大值。front->right表示该前置器件的外接矩形的右边界的x轴坐标。links->right表示该M个已排布的关联器件的外接矩形的右边界的x轴坐标的最大值。links->top表示该M个已排布的关联器件的外接矩形的上边界的y轴坐标的最大值。margin1、margin2和margin3为预设余量。
图7是一个串联的BAWR的可行区域示意图。
图7中的S1_1、S1_2、S2和P1为四个BAWR,其中S1_1和S_2为成对使用的BAWR。S2为待排布的BAWR。S2的前置器件为S1_2,S2的已排布管理器件为S1_2和P1。
如果BAWR j在电路中的连接方式并联,那么BAWR j的可行区域分为两部分,分别可以称为第一可行区域和第二可行区域。
第一可行区域的范围可以根据以下公式确定:
x_min1=front->left–width+margin4,(公式4.1)
x_max1=links->right–margin5,(公式4.2)
y_min1=front->top–margin6,(公式4.3)
y_max 1=front->top+margin7,(公式4.4)
第二可行区域的范围可以根据以下公式确定:
x_min2=front->left–width+margin4,(公式4.5)
x_max2=links->right–margin5,(公式4.6)
y_min2=front->top+margin7,(公式4.7)
y_max2=links->top+margin8,(公式4.8)
其中,x_min1,x_max1,y_min1和y_max1标识该第一可行区域的范围,即x_min1为该第一可行区域的在x轴上的最小值,x_max1为该第一可行区域在x轴上的最大值,y_min1为该第一可行区域在y轴上的最小值,y_max为该第一可行区域在y轴上的最大值。x_min2,x_max2,y_min2和y_max2该所述第二可行区域的范围,即x_min2为该第二可行区域的在x轴上的最小值,x_max2为该第二可行区域在x轴上的最大值,y_min2为该第二可行区域在y轴上的最小值,y_max2为该第二可行区域在y轴上的最大值。front->left表示该前置器件的外接矩形的左边界的x轴坐标,front->top表示该前置器件的外接矩形的上边界的y轴坐标,links->right表示该M个已排布的关联器件的外接矩形的右边界的x轴坐标的最大值,links->top表示该M个已排布的关联器件的外接矩形的上边界的y轴坐标的最大值,margin4、margin5、margin6、margin7和margin8为预设余量。
图8是一个并联的BAWR的可行区域示意图。
图8中的S1_1、S1_2、S2、P1和P2为五个BAWR,其中S1_1和S_2为成对使用的BAWR。P2为待排布的BAWR。P2的前置器件为S1_2,P2的已排布管理器件为S1_2、P1和S2。
603,从可行区域中确定一个候选位置。
该候选位置可以作为待排布的BAWR(即BAWR j)的外接矩形的左下角坐标。
604,根据第j组状态参数中的角度参数和形状参数,确定该候选位置是否通过可行性验证。
若该候选位置通过该可行性验证,则可以确定该候选位置为目标位置。换句话说,BAWR j可以将外接矩形的左下角放置在该候选位置,从而完成对BAWR j的排布,然后继续对下一个BAWR进行排布(j<N)或者结束BAWR的确定过程(j=N)。
若该候选位置未通过该可行性验证,则继续从该可行区域中确定下一个候选位置,并确定新确定的候选位置是否可以通过可行性验证,直到确定出能够通过可行性验证的候选位置(即目标位置)。
可选的,在一些实施例中,第一个候选位置的坐标可以是可行区域的左下角坐标。
如果BAWR j一个串联的BAWR,那么遍历的方向可以是以水平遍历为主。当候选位置超过可行区域右边界时,向上偏移一段距离,然后重新进行水平遍历。这样做的目的是令串联器件尽量靠近电路板的底部。
如果BAWR j是一个并联的BAWR,那么遍历的方向可以是以垂直遍历为主(即从下到上)。当超出可行域的上边界,则向右偏移一段,然后重新进行垂直遍历。这样做的目 的是令并联器件尽量靠近版图的左侧。并联器件的检索区域可以以第一可行区域为主,当在第一可行区域无法找到目标位置时,再从第二可行区域中进行检索。第一可行区域的设置主要是为了应对特殊的电路结构,降低无法排版的可能性。
可行性验证可以包括连接性需求检测和碰撞检测。如果候选位置通过了连接性需求检测和碰撞检测,那么可以确定该候选位置为目标位置;如果候选位置没有通过连接性需求检测或者碰撞检测,那么可以则确定该候选位置没有通过可行性验证。
下面结合图9对如何对BAWR j的候选位置进行连接性需求检测进行介绍。
图9是根据本申请实施例提供的连接性需求检测的示意性流程图。
901,根据候选位置以及第j组状态参数中的角度参数和形状参数,确定BAWR j的外接矩形的边界信息。
BAWR j的外接矩形的边界信息可以包括BAWRj的外接矩形的左边界,BAWRj的外接矩形的右边界,BAWRj的外接矩形的下边界和BAWRj的外接矩形的上边界。
902,根据M个已排布的关联器件的位置信息,确定该M个已排布的关联器件的边界信息。
该M个已排布的关联器件的边界信息可以包括每个已排布的关联器件的外接矩形的左边界,每个已排布的关联器件的外接矩形的右边界,每个已排布的关联器件的外接矩形的下边界和每个已排布的关联器件的,外接矩形的上边界。
903,根据BAWR j的外接矩形的边界信息和该M个已排布的关联器件的边界信息,确定候选位置是否通过连接性需求检测。
具体地,根据以下公式确定BAWR j与M个已排布的关联器件中的第m个已排布的关联器件的重叠参数overlap m,overlap m表示BAWR j与第m个已排布的关联器件,m=1,…,M:
overlap m=min(D m_right–D j_left,D j_right–D m_left)+min(D m_top–D j_bottom,D j_top–D m_bottom),(公式5)
其中,D m_right表示第m个已排布的关联器件的外接矩形的右边界的x轴坐标,D j_left表示BAWR j的外接矩形的左边界的x轴坐标,D j_right表示BAWR j的外接矩形的右边界的x轴坐标,D m_left表示第m个已排布的关联器件的外接矩形的左边界的x轴坐标,D m_top表示第m个已排布的关联器件的外接矩形的上边界的y轴坐标,D j_bottom表示BAWR j的外接矩形的下边界的y轴坐标,D j_top表示BAWR j的外接矩形的上边界的y轴坐标,D m_bottom表示第m个已排布的关联器件的外接矩形的下边界的y轴坐标。
若BAWR j与M个已排布的关联器件中的任一个已排布的关联器件的重叠参数均大于或等于预设连接线宽度阈值,则确定候选位置满足连接性需求检测;若BAWR j与M个已排布的关联器件中的一个或多个已排布的关联器件的重叠参数小于该预设连接线宽度阈值,则确定候选位置不满足连接性需求检测。
图10是根据本申请实施例提供的确定重叠参数的示意图。
如图10所示的重叠参数overlap=60-20=40μm。
下面结合图11对如何对BAWR j的候选位置进行碰撞检测进行介绍。
图11是根据本申请实施例提供的碰撞检测的示意性流程图。
1101,根据该候选位置和第j组状态参数中的角度参数和形状参数,确定BAWR j的 轮廓。
1102,根据已排布的器件的位置信息,确定已排布的器件的轮廓。
1103,根据BAWR j的轮廓和已排布的器件的轮廓,利用扫描线算法确定该候选位置是否通过碰撞检测。
具体地,若任意的p和q均满足以下不等式,则该候选位置通过该碰撞检测,否则,该候选位置未通过该碰撞检测:
min(scan_device[p][2×q+1]+x-scan_layout[p+_y][2×k],scan_layout[p+_y][2×k+1]-scan_device[p][2×q]-x)≤0。
scan_device[p][2×q+1]表示扫描线delta×p与该BAWRj的轮廓所有交点中的第2×q+2个交点的x轴坐标,p=0,1,……,h,其中delta为该扫描线的迭代步长h=height/delta,h该BAWRj的外接矩形的高度与delta的商进行取整操作后得到的正整数;x表示该候选位置的x轴坐标;_y表示该候选位置的y轴坐标与delta的商进行取整操作后得到的整数;scan_layout[p+_y][2×k]表示水平扫描线Y=delta×p+y与该已排布的器件的轮廓所有交点中的第k+1个左交点;scan_layout[p+_y][2×k+1]表示水平扫描线Y=delta×p+y与该已排布的器件的轮廓所有交点中的第k+1个右交点;scan_device[p][2×q]表示delta×p与该BAWRj的轮廓所有交点中的第2×q+1个交点的x轴坐标。
当BAWR j的摆放位置(x,y)满足连接性需求,且与版图中已有器件无冲突,则将BAWR j置于该位置,并更新器件外接矩形的边界参数,以及版图的scan_layout信息,即分别将scan_device[p]中的元素加上x,然后插入到scan_layout[p+_y]的末尾。
在一些实施例中,如果BAWR j的所有可行区域进行遍历后都没有找到目标位置,则表示BAWR j的某些状态参数的取值可能不合适,无法确定一个可用的布局。在此情况下,可以将第i个第一染色体对应的适应度设置为一个特别低的预设值。这样,可以尽量避免第i个第一染色体在选择操作的时候被选中。
本申请的技术方案除了确定BAWR的布局外,还可以对电路板上的其他元件进行排布。例如,电路板上除了BAWR以外,通常还包括一个或多个焊盘(pad),那么还可以根据上述技术方案对焊盘进行排布。焊盘的路径长度的计算方式与BAWR一致。由于焊盘形状不可变,且通常为圆形或正方形,所以仅需要对焊盘的order rand进行优化。不同的工艺,焊盘存在不同的设计约束,需根据实际需求对焊盘的排布做相应限制。比如工艺要求焊盘置于版图的边缘,或焊盘之间存在距离约束,则需要对焊盘的可行区域进行调整。
图12是根据本申请实施例提供的计算机设备的结构框图。如图12所示的计算机设备1200可以是台式计算机、笔记本电脑、平板电脑等。如图12所示的计算机设备1200包括接口电路1201和处理器1202。
接口电路1201,用于获取体声波谐振器BAWR电路中每个BAWR的连接信息,其中每个BAWR的连接信息用于指示每个BAWR在该BAWR电路中的连接关系,该BAWR电路包括N个BAWR,N为大于或等于2的正整数。
处理器,用于与存储器耦合,读取并执行该存储器中的指令和/或程序代码,以执行上述实施例中的方法,生成该BAWR电路的版图。
本申请实施例还提供了一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行上述实施例中任一个实施例 所述的方法。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令或程序代码完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令或程序代码完成。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述实施例中任意一个实施例的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令或程序代码用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (19)

  1. 一种电子元件的版图设计方法,其特征在于,包括:
    获取体声波谐振器BAWR电路中每个BAWR的连接信息,其中每个BAWR的连接信息用于指示每个BAWR在所述BAWR电路中的连接关系,所述BAWR电路包括N个BAWR,N为大于或等于2的正整数;
    生成多个状态参数集合并确定多个候选布局,其中,所述多个状态参数集合与所述多个候选布局一一对应,所述多个候选布局中的每个候选布局是根据所述N个BAWR的连接信息和对应的状态参数集合确定的,所述多个状态参数集合中的每个状态参数集合包括N组状态参数,所述N组状态参数与所述N个BAWR一一对应,每组状态参数用于确定对应的BAWR在候选布局中的排布方式;
    从所述多个候选布局中确定版图冗余面积最小的目标布局方式;
    使用所述目标布局方式,生成所述BAWR电路的版图。
  2. 如权利要求1所述的方法,其特征在于,所述生成多个状态参数集合并确定多个候选布局,包括:
    基于启发式算法生成多个状态参数集合并确定多个候选布局。
  3. 如权利要求2所述的方法,其特征在于,在所述启发式算法为遗传算法的情况下,所述基于启发式算法生成多个状态参数集合并确定多个候选布局,包括:
    生成初始种群,其中所述初始种群包括N pop_size个状态参数集合,每个所述所述初始种群包括的状态参数集合包括N组初始状态参数,所述N组初始状态参数分别为所述N个BAWR的状态参数的初始值,所述初始种群中的任意两个状态参数集合不完全相同,N pop_size为大于或等于2的正整数;
    根据所述N个BAWR的连接信息和所述初始种群,确定对应于所述初始种群的初始候选布局集合,其中所述初始候选布局集合包括N pop_size个候选布局,所述初始候选布局集合包括的N pop_size个候选布局与所述初始种群包括的N pop_size个状态参数集合一一对应;
    根据所述初始候选布局集合包括的N pop_size个候选布局,从所述初始种群中选择出至少一个状态参数集合;
    对选择出的至少一个状态参数集合进行交叉和变异操作得到第一种群,所述第一种群包括N pop_size个状态参数集合;
    对所述第一种群包括的状态参数集合进行演化操作,得到N evol个种群、与所述N evol个种群对应的N evol个候选布局集合以及与所述第一种群对应的第一候选布局集合,其中所述N evol个种群中的每个种群包括N pop_size个状态参数集合,所述N evol个候选布局集合和所述第一候选布局集合中的每个候选布局集合包括N pop_size个候选布局,N evol为大于或等于1的正整数。
  4. 如权利要求1至3中任一项所述的方法,其特征在于,所述N组状态参数中的每组状态参数包括以下参数中的任一种或多种:排布次序随机数、角度参数,和形状参数,其中
    所述排布次序随机数用于确定对应的BAWR在所述N个BAWR中的排布次序,
    所述角度参数用于指示对应的BAWR的摆放角度,
    所述形状参数用于指示对应BAWR的外接矩形的宽高比。
  5. 如权利要求4所述的方法,其特征在于,每个BAWR的连接信息包括:每个BAWR的路径长度、每个BAWR在电路中的连接方式、每个BAWR的前置器件、每个BAWR的关联器件,其中
    每个BAWR的路径长度为每个BAWR到所述电路的输入端口的最长路径包括的BAWR的数目,
    每个BAWR在电路中的连接方式为串联或者并联,
    每个BAWR的前置器件为每个BAWR到输入端口的最长路径中且与每个BAWR的输入端相连的器件,
    每个BAWR的关联器件为与每个BAWR的输入端相连的器件。
  6. 如权利要求4或5所述的方法,其特征在于,所述根据所述N个BAWR的连接信息和所述初始种群,确定对应于所述初始种群的初始候选布局集合,包括:
    根据所述初始种群中的第i个状态参数集合包括的N个排布次序随机数和每个BAWR的路径长度,确定所述N个BAWR的排布次序参数,i为大于或等于1且小于或等于N pop_size的正整数;
    按照所述N个排布次序参数的升序,确定所述N个BAWR的排布顺序;
    根据确定的排布顺序、所述第i个状态参数集合包括的角度参数和形状参数、每个BAWR的连接方式、每个BAWR的前置器件以及每个BAWR的关联器件,确定所述初始候选布局集合中的第i个候选布局。
  7. 如权利要求6所述的方法,其特征在于,所述根据确定的排布顺序、所述第i个状态参数集合包括的角度参数和形状参数、每个BAWR的连接方式、每个BAWR的前置器件以及每个BAWR的关联器件,确定所述初始候选布局集合中的第i个候选布局,包括:
    根据BAWR j的连接方式、前置器件以及关联器件,确定所述BAWR j的可行区域,其中所述BAWR j为所述N个BAWR中第j个被排布的BAWR,j为大于或等于1且小于或等于N的正整数;
    根据第j组状态参数中的角度参数和形状参数,在所述可行区域中确定能够通过可行性验证的目标位置,其中所述第j组状态参数为所述第i个状态参数集合中对应于所述BAWR j的状态参数;
    确定所述BAWR j位于所述目标位置。
  8. 如权利要求7所述的方法,其特征在于,所述根据BAWR j的连接方式、前置器件以及关联器件,确定所述BAWR j的可行区域,包括:
    根据所述BAWR j的前置器件对应的角度参数和形状参数,确定所述前置器件的位置信息;
    分别根据所述BAWR j的关联器件中已经排布好的M个关联器件的角度参数和形状参数,确定所述M个关联器件的位置信息,M为大于或等于1的正整数;
    根据所述BAWR j的连接方式、所述BAWR j的前置器件的位置信息以及所述M个关联器件的位置信息,确定所述可行区域。
  9. 如权利要求8所述的方法,其特征在于,所述根据所述BAWR j的连接方式、所述BAWR j的前置器件的位置信息以及所述M个关联器件的位置信息,确定所述可行区域,包括:
    在所述BAWR j的连接方式为串联的情况下,根据以下公式确定所述可行区域的范围:
    x_min=front->right–margin1
    x_max=links->right+margin2
    y_min=0
    y_max=links->top+margin3
    其中,
    x_min,x_max,y_min和y_max标识所述可行区域的范围,
    front->right表示所述BAWR j的前置器件的外接矩形的右边界的x轴坐标,
    links->right表示所述M个关联器件的外接矩形的右边界的x轴坐标的最大值,
    links->top表示所述M个关联器件的外接矩形的上边界的y轴坐标的最大值,
    margin1、margin2和margin3为预设余量。
  10. 如权利要求8所述的方法,其特征在于,所述根据所述BAWR j的连接方式、所述BAWR j的前置器件的位置信息以及所述M个关联器件的位置信息,确定所述可行区域,包括:
    在所述BAWR j的连接方式为并联的情况下,根据以下公式确定所述可行区域中的第一可行区域:
    x_min1=front->left–width+margin4
    x_max1=links->right–margin5
    y_min1=front->top–margin6
    y_max1=front->top+margin7
    根据以下公式确定所述可行区域中的第二可行区域:
    x_min2=front->left–width+margin4
    x_max2=links->right–margin5
    y_min2=front->top+margin7
    y_max2=links->top+margin8
    其中,
    x_min,x_max,y_min1和y_max1标识所述第一可行区域的范围,
    x_min,x_max,y_min2和y_max2标识所述第二可行区域的范围,
    front->left表示所述BAWR j的前置器件的外接矩形的左边界的x轴坐标,
    front->top表示所述BAWR j的前置器件的外接矩形的上边界的y轴坐标,
    links->right表示所述M个关联器件的外接矩形的右边界的x轴坐标的最大值,
    links->top表示所述M个关联器件的外接矩形的上边界的y轴坐标的最大值,
    margin4、margin5、margin6、margin7和margin8为预设余量。
  11. 如权利要求7至10中任一项所述的方法,其特征在于,所述根据第j组状态参数中的角度参数和形状参数,在所述可行区域中确定能够通过可行性验证的目标位置,包括:
    从所述可行区域中确定候选位置;
    根据所述第j组状态参数中的角度参数和形状参数,确定所述候选位置是否通过所述可行性验证;
    若所述候选位置通过所述可行性验证,则所述候选位置为所述目标位置;
    若所述候选位置未通过所述可行性验证,则继续从所述可行区域中确定下一候选位置,并继续确定所述下一候选位置是否通过所述可行性验证,直到确定能够通过所述可行性验证的所述目标位置。
  12. 如权利要求11所述的方法,其特征在于,所述根据所述第j组状态参数中的角度参数和形状参数,确定所述候选位置是否通过所述可行性验证,包括:
    根据所述候选位置、已排布的器件的位置信息以及所述第j组状态参数中的角度参数和形状参数,确定所述候选位置是否通过连接性需求检测和碰撞检测;
    若所述候选位置通过所述连接性需求检测和所述碰撞检测,则确定所述候选位置通过所述可行性验证;
    若所述候选位置未通过所述连接性需求检测和所述碰撞检测中的任一个或全部,则确定所述候选位置未通过所述可行性验证。
  13. 如权利要求12所述的方法,其特征在于,所述根据所述候选位置、已排布的器件的位置信息以及所述第j组状态参数中的角度参数和形状参数,确定所述候选位置是否通过连接性需求检测和碰撞检测,包括:
    根据所述候选位置以及所述第j组状态参数中的角度参数和形状参数,确定所述BAWR j的外接矩形的边界信息;
    根据所述已排布的器件的位置信息,确定所述已排布的器件的边界信息;
    根据所述BAWR j的外接矩形的边界信息和所述已排布的器件的边界信息,确定所述候选位置是否通过所述连接性需求检测。
  14. 如权利要求13所述的方法,其特征在于,所述根据所述BAWR j的外接矩形的边界信息和所述已排布的器件的边界信息,确定所述候选位置是否通过所述连接性需求检测,包括:
    根据以下公式确定所述BAWR j与所述已排布的器件中的第m个已排布的器件的重叠参数overlap m,overlap m表示所述BAWR j与所述已排布的器件中的第m个已排布的器件:
    overlap m=min(D m_right–D j_left,D j_right–D m_left)+min(D m_top–D j_bottom,D j_top–D m_bottom),其中,
    D m_right表示所述第m个已排布的器件的外接矩形的右边界的x轴坐标;
    D j_left表示所述BAWR j的外接矩形的左边界的x轴坐标,
    D j_right表示所述BAWR j的外接矩形的右边界的x轴坐标,
    D m_left表示第m个已排布的器件的外接矩形的左边界的x轴坐标,
    D m_top表示第m个已排布的器件的外接矩形的上边界的y轴坐标,
    D j_bottom表示所述BAWR j的外接矩形的下边界的y轴坐标,
    D j_top表示所述BAWR j的外接矩形的上边界的y轴坐标,
    D m_bottom表示第m个已排布的器件的外接矩形的下边界的y轴坐标;
    若所述BAWR j与所述已排布的器件中的任一个已排布的器件的重叠参数均大于或等 于预设连接线宽度阈值,则确定所述候选位置满足所述连接性需求检测;若所述BAWR j与所述已排布的器件中的一个或多个已排布的器件的重叠参数小于所述预设连接线宽度阈值,则确定所述候选位置不满足所述连接性需求检测。
  15. 如权利要求12至14中任一项所述的方法,其特征在于,所述根据所述候选位置、已排布的器件的位置信息以及所述第j组状态参数中的角度参数和形状参数,确定所述候选位置是否通过连接性需求检测和碰撞检测,包括:
    根据所述候选位置和所述第j组状态参数中的角度参数和形状参数,确定所述BAWR j的轮廓;
    根据所述已排布的器件的位置信息,确定所述已排布的器件的轮廓;
    根据所述BAWR j的轮廓和所述已排布的器件的轮廓,利用扫描线算法确定所述候选位置是否通过所述碰撞检测。
  16. 如权利要求15所述的方法,其特征在于,所述根据所述BAWR j的轮廓和所述已排布的器件的轮廓,利用扫描线算法确定所述候选位置是否通过所述碰撞检测,包括:
    若任意的p和q均满足以下不等式,则所述候选位置通过所述碰撞检测,否则,所述候选位置未通过所述碰撞检测:
    min(scan_device[p][2×q+1]+x-scan_layout[p+_y][2×k],scan_layout[p+_y][2×k+1]-scan_device[p][2×q]-x)≤0,
    其中,
    scan_device[p][2×q+1]表示扫描线delta×p与所述BAWR j的轮廓所有交点中的第2×q+2个交点的x轴坐标,p=0,1,……,h,其中delta为所述扫描线的迭代步长h=height/delta,h所述BAWR j的外接矩形的高度与delta的商进行取整操作后得到的正整数,
    x表示所述候选位置的x轴坐标,
    _y表示所述候选位置的y轴坐标与delta的商进行取整操作后得到的整数,
    scan_layout[p+_y][2×k]表示水平扫描线Y=delta×p+y与所述已排布的器件的轮廓所有交点中的第k+1个左交点,
    scan_layout[p+_y][2×k+1]表示水平扫描线Y=delta×p+y与所述已排布的器件的轮廓所有交点中的第k+1个右交点,
    scan_device[p][2×q]表示delta×p与所述BAWR j的轮廓所有交点中的第2×q+1个交点的x轴坐标。
  17. 如权利要求1至16中任一项所述的方法,其特征在于,所述方法还包括:
    根据所述电路中焊盘的数目以及所述焊盘的面积,利用启发式算法确定所述焊盘在所述版图中的布局。
  18. 一种计算机设备,其特征在于,包括:
    接口电路,用于获取体声波谐振器BAWR电路中每个BAWR的连接信息,其中每个BAWR的连接信息用于指示每个BAWR在所述BAWR电路中的连接关系,所述BAWR电路包括N个BAWR,N为大于或等于2的正整数;
    处理器,用于与存储器耦合,读取并执行所述存储器中的指令和/或程序代码,以执行如权利要求1至17中任一项所述的方法,生成所述BAWR电路的版图。
  19. 一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所 述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至17中任一项所述的方法。
PCT/CN2021/115614 2021-08-31 2021-08-31 电子元件的版图设计方法、计算机设备和存储介质 WO2023028826A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180101223.5A CN117837082A (zh) 2021-08-31 2021-08-31 电子元件的版图设计方法、计算机设备和存储介质
PCT/CN2021/115614 WO2023028826A1 (zh) 2021-08-31 2021-08-31 电子元件的版图设计方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/115614 WO2023028826A1 (zh) 2021-08-31 2021-08-31 电子元件的版图设计方法、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
WO2023028826A1 true WO2023028826A1 (zh) 2023-03-09

Family

ID=85410687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/115614 WO2023028826A1 (zh) 2021-08-31 2021-08-31 电子元件的版图设计方法、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN117837082A (zh)
WO (1) WO2023028826A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455683A (zh) * 2013-09-12 2013-12-18 诺思(天津)微系统有限公司 一种压电声波滤波器的设计和布局方法
CN108649920A (zh) * 2017-12-29 2018-10-12 贵州中科汉天下微电子有限公司 压电声波谐振器、压电声波滤波器、双工器及射频通信模块
CN113162576A (zh) * 2021-04-27 2021-07-23 武汉衍熙微器件有限公司 一种梯形滤波器的布局方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455683A (zh) * 2013-09-12 2013-12-18 诺思(天津)微系统有限公司 一种压电声波滤波器的设计和布局方法
CN108649920A (zh) * 2017-12-29 2018-10-12 贵州中科汉天下微电子有限公司 压电声波谐振器、压电声波滤波器、双工器及射频通信模块
CN113162576A (zh) * 2021-04-27 2021-07-23 武汉衍熙微器件有限公司 一种梯形滤波器的布局方法

Also Published As

Publication number Publication date
CN117837082A (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
US10999060B2 (en) Data processing method and apparatus
US10824166B2 (en) Methods and systems of distributing task regions for a plurality of cleaning devices
US11675942B2 (en) Optimization of parameters for synthesis of a topology using a discriminant function module
US20220210030A1 (en) SYNTHESIS OF A NETWORK-ON-CHIP (NoC) USING PERFORMANCE CONSTRAINTS AND OBJECTIVES
US10816989B2 (en) Methods and systems of distributing task areas for cleaning devices, and cleaning devices
WO2020224036A1 (zh) 基于二进制编码的数字集成电路布线方法及终端设备
CN110598358A (zh) 一种增材制造应力变形仿真方法、装置、设备及存储介质
EP3888091B1 (en) Machine learning for protein binding sites
WO2023028826A1 (zh) 电子元件的版图设计方法、计算机设备和存储介质
US20120240090A1 (en) Clock tree designing apparatus and clock tree designing method
CN112000591B (zh) 可指定逻辑区块地址的扫描ssd方法、装置、计算机设备及存储介质
EP4012573A1 (en) Graph reconstruction method and apparatus
CN117057290A (zh) 时序优化方法、装置、电子设备及存储介质
US10460064B1 (en) Partition-aware grid graph based hierarchical global routing
CN114817257A (zh) 数据表关联生成及业务处理方法、装置、设备及存储介质
CN114817218A (zh) 一种数据校验方法、系统及电子装置、可读存储介质
CN111130847B (zh) 一种硬件过滤器的数据配置方法、数据过滤方法及相关产品
US10812113B2 (en) Method of detecting and correcting error in mesh and apparatus for same
US20150347644A1 (en) Designing apparatus and designing method
US20200143244A1 (en) Method of managing task in artificial neural network and system including the artificial neural network system using the method
CN106096022B (zh) 多域网包分类规则的划分方法及装置
CN110910242B (zh) 区块链生成方法、装置、终端设备及存储介质
CN111813761A (zh) 一种数据库管理方法、装置以及计算机存储介质
US9569104B2 (en) Electronic device and scoring system and scoring method using same
US11809339B2 (en) Data bus, data processing method thereof, and data processing apparatus

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180101223.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE