WO2022227564A1 - Circuit layout generation method and apparatus, computer device, and storage medium - Google Patents

Circuit layout generation method and apparatus, computer device, and storage medium Download PDF

Info

Publication number
WO2022227564A1
WO2022227564A1 PCT/CN2021/134622 CN2021134622W WO2022227564A1 WO 2022227564 A1 WO2022227564 A1 WO 2022227564A1 CN 2021134622 W CN2021134622 W CN 2021134622W WO 2022227564 A1 WO2022227564 A1 WO 2022227564A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
position constraint
constraint information
circuit
information
Prior art date
Application number
PCT/CN2021/134622
Other languages
French (fr)
Chinese (zh)
Inventor
陈文杰
徐宁仪
Original Assignee
上海阵量智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海阵量智能科技有限公司 filed Critical 上海阵量智能科技有限公司
Publication of WO2022227564A1 publication Critical patent/WO2022227564A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Definitions

  • the present disclosure relates to the technical field of integrated circuits, and in particular, to a method, apparatus, computer equipment, and storage medium for generating a circuit layout.
  • Embodiments of the present disclosure provide at least a method, apparatus, computer device, and storage medium for generating a circuit layout.
  • an embodiment of the present disclosure provides a method for generating a circuit layout, including: generating a target circuit diagram using register transfer level RTL design information corresponding to a target circuit; generating the target circuit diagram using position constraint information and the target circuit diagram The target layout of the circuit; the position constraint information is used to constrain the wiring distance between the output ends of multiple target registers connected to the same target logic gate device and the target logic gate device in the target circuit, so that all The time when the output signals of the plurality of target registers reach the target logic gate device is within a preset range.
  • the wiring distances between the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate device are basically the same, that is, the same target logic gate device is connected to
  • the time required for multiple target registers to transmit signals to the target logic gate device is basically the same, so that the signals transmitted from different target registers to the same target logic gate device arrive at almost the same time, reducing the target logic gate device due to the input signal.
  • the number of invalid flips caused by reaching at different times thereby effectively reducing the power consumption value of the target circuit and improving the stability of the target circuit operation in the chip.
  • the location constraint information is used to constrain the routing distances between the output terminals of the plurality of target registers and the target logic gate device to be substantially equal.
  • generating the target layout of the target circuit using the position constraint information and the target circuit diagram includes: performing at least one iteration, and in each iteration: using the current iteration and the target circuit diagram, generate layout information of the plurality of target registers and the target logic gate device in the target circuit; in response to satisfying a preset iteration stop condition, based on the layout information , to generate the target layout.
  • the position constraint information of the current iteration is determined based on the position constraint information of the previous iteration, or determined based on the initial position constraint information corresponding to the first iteration.
  • the appropriate position constraint information can be determined, and based on the appropriate position constraint information, the target circuit can be constrained, the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate
  • the wiring distance between the devices is equal, and the target circuit can be implemented in the chip, which effectively reduces the power consumption value of the target circuit.
  • the layout information includes: position information and size information respectively corresponding to the target register and the target logic gate device; the method further includes: in the layout information generated based on the current iteration, the The position information and size information corresponding to the plurality of target registers and the target logic gate device respectively, determine the chip space size occupied by the target circuit; compare the chip space size with a preset chip space size threshold; The generating the target layout based on the layout information in response to satisfying an iteration stop condition includes: generating the target layout based on the layout information in response to the chip space size being less than or equal to the chip space size threshold target layout.
  • the method further includes: in response to the chip space size being greater than the chip space size threshold, generating new position constraint information based on the position constraint information of the current iteration; using the new position constraint information as The position constraint information of the current iteration is returned to the step of generating the layout information of the multiple target registers and the target logic gate device in the target circuit by using the position constraint information of the current iteration and the target circuit diagram.
  • the current position constraint information is appropriate position constraint information based on whether the chip space size occupied by the target circuit is greater than the preset chip space size threshold, that is, through each device in the target circuit (such as the target register, target logic Whether the gate device, etc.) can be normally arranged in the chip to determine whether the current position constraint information is appropriate position constraint information, so that the final position constraint information can ensure that the target circuit can be normally arranged in the chip, and the same target can be guaranteed.
  • the multiple target registers connected to the logic gate device transmit signals to the target logic gate device at substantially the same time, thereby reducing the number of invalid flips of the target logic gate device, thereby effectively reducing the power consumption value of the target circuit in the chip.
  • the method further includes: in response to the chip space size being smaller than or equal to the chip space size threshold and the difference between each target register and the target logic gate device in the position constraint information of the current iteration If the distance value between them does not reach the minimum value, reduce the distance value between the target register and the target logic gate device in the position constraint information, obtain new position constraint information, and return the position constraint using the current iteration.
  • the target layout includes: in response to the chip space size being less than or equal to the chip space size threshold, and the distance value between each target register and the target logic gate device in the position constraint information reaches The minimum value in the at least one iteration, based on the layout information, generates the target layout.
  • the layout information includes: routing relationship information between the multiple target registers and the target logic gate device; the method further includes: the generated data based on the current iteration In the layout information, the routing relationship information between the multiple target registers and the target logic gate device determines whether the target circuit can be deployed in the chip; the response is satisfying the iteration stop condition, based on the layout information, generating the target layout includes: in response to determining that the target circuit can be deployed in a chip, generating the target layout based on the layout information.
  • the target circuit can be deployed in the chip, and then it can be determined whether the current position constraint information is suitable position constraint information.
  • the finally determined position constraint information can ensure that the target circuit can be deployed in the chip.
  • the method further includes: in response to determining that the target circuit cannot be deployed in the chip, generating new position constraint information based on the position constraint information of the current iteration; using the new position constraint information as the current iteration.
  • the step of generating the layout information of the multiple target registers and the target logic gate device in the target circuit by using the position constraint information of the current iteration and the target circuit diagram is returned.
  • the method further includes: based on the layout information generated by the current iteration, performing circuit power consumption simulation analysis to obtain a power consumption value of the target circuit;
  • the condition, generating the target layout based on the layout information includes: in response to determining that the power consumption value of the target circuit is less than a preset power consumption value, generating the target layout based on the layout information.
  • the method further includes: in response to determining that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, generating new position constraint information based on the position constraint information of the current iteration;
  • the new position constraint information is used as the position constraint information of the current iteration, the position constraint information using the current iteration and the target circuit diagram are returned, and the plurality of target registers and the target logic gate in the target circuit are generated. Steps for placement information of the device.
  • the current position constraint information is appropriate position constraint information according to the power consumption value of the circuit determined based on the position constraint information of the current iteration, so that the finally determined position constraint information can ensure that the power consumption value of the target circuit is less than the predetermined value.
  • Set the power consumption value to effectively reduce the power consumption of the target circuit.
  • an embodiment of the present disclosure further provides a circuit layout generation device, including: a first generation module for generating a target circuit diagram using register transfer level RTL design information corresponding to the target circuit; a second generation module for using The position constraint information and the target circuit diagram are used to generate the target layout of the target circuit; the position constraint information is used to constrain the target circuit, the output terminals of the multiple target registers connected to the same target logic gate device are connected to the target circuit.
  • the wiring distance between the target logic gate devices makes the time for the output signals of the plurality of target registers to reach the target logic gate device within a preset range.
  • the location constraint information is used to constrain the routing distances between the output terminals of the plurality of target registers and the target logic gate device to be substantially equal.
  • the second generation module when generating the target layout of the target circuit by using the position constraint information and the target circuit diagram, is specifically configured to perform at least one iteration, in each In the iteration: using the position constraint information of the current iteration and the target circuit diagram to generate layout information of the multiple target registers and the target logic gate device in the target circuit; in response to satisfying a preset iteration A stop condition generates the target layout based on the layout information.
  • the position constraint information of the current iteration is determined based on the position constraint information of the previous iteration, or determined based on the initial position constraint information corresponding to the first iteration.
  • the layout information includes: position information and size information respectively corresponding to the target register and the target logic gate device; the second generation module is specifically configured to generate the layout based on the current iteration In the information, the position information and size information corresponding to the multiple target registers and the target logic gate device respectively, determine the chip space size occupied by the target circuit; the chip space size and the preset chip space size threshold performing a comparison; when generating the target layout based on the layout information in response to satisfying the iteration stop condition, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space A size threshold, and based on the layout information, the target layout is generated.
  • the second generation module is further configured to, in response to the chip space size being greater than the chip space size threshold, generate new position constraint information based on the position constraint information of the current iteration;
  • the new position constraint information is used as the position constraint information of the current iteration, the position constraint information using the current iteration and the target circuit diagram are returned, and the plurality of target registers and the target logic gate in the target circuit are generated. Steps for placement information of the device.
  • the second generation module is further configured to respond that the chip space size is less than or equal to the chip space size threshold, and the target registers and the target registers in the position constraint information of the current iteration are The distance value between the target logic gate devices does not reach the minimum value, reduce the distance value between the target register and the target logic gate device in the position constraint information, obtain new position constraint information, and return the Describe the step of using the position constraint information of the current iteration and the target circuit diagram to generate the layout information of the plurality of target registers and the target logic gate device in the target circuit; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space size threshold, and each of the position constraint information The distance value between the target register and the target logic gate device reaches the minimum value in the at least one iteration, and the target layout is generated based on the layout information.
  • the layout information includes: routing relationship information between the multiple target registers and the target logic gate device; the second generation module is further configured to generate data based on the current iteration In the generated layout information, the routing relationship information between the multiple target registers and the target logic gate device determines whether the target circuit can be deployed in the chip; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to, in response to determining that the target circuit can be deployed in the chip, generate the target layout based on the layout information.
  • the second generation module is further configured to, in response to determining that the target circuit cannot be deployed in the chip, generate new position constraint information based on the position constraint information of the current iteration;
  • the position constraint information of the current iteration is used as the position constraint information of the current iteration, and the position constraint information of the current iteration and the target circuit diagram are returned, and the relationship between the plurality of target registers in the target circuit and the target logic gate device is generated. Steps for laying out information.
  • the second generation module is further configured to perform circuit power consumption simulation analysis based on the layout information generated by the current iteration to obtain a power consumption value of the target circuit;
  • the second generation module is specifically configured to, in response to determining that the power consumption value of the target circuit is less than a preset power consumption value, generate the target layout based on the layout information to generate the target layout.
  • the second generating module is further configured to: in response to determining that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, generate the position constraint information based on the current iteration new position constraint information; use the new position constraint information as the position constraint information of the current iteration, return the position constraint information using the current iteration and the target circuit diagram, and generate the plurality of target circuits The steps of the target register and the layout information of the target logic gate device.
  • an optional implementation manner of the present disclosure further provides a computer device, a processor, and a memory, where the memory stores machine-readable instructions executable by the processor, and the processor is configured to execute the instructions stored in the memory.
  • machine-readable instructions when the machine-readable instructions are executed by the processor, when the machine-readable instructions are executed by the processor, the above-mentioned first aspect, or any possible implementation of the first aspect, is executed steps in the method.
  • an optional implementation manner of the present disclosure further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and the computer program executes the first aspect, or any of the first aspect, when the computer program is run. steps in one possible implementation.
  • FIG. 1 shows a flowchart of a method for generating a circuit layout provided by an embodiment of the present disclosure
  • Figures 2a and 2b show an example diagram of determining initial position constraint information provided by an embodiment of the present disclosure
  • FIG. 3 shows a flowchart of a method for generating a target layout of a target circuit by using current position constraint information and a target circuit diagram provided by an embodiment of the present disclosure
  • FIG. 4 shows a specific implementation flowchart of a method for generating a circuit layout provided by an embodiment of the present disclosure
  • FIG. 5 shows a specific example of a method for generating a circuit layout provided by an embodiment of the present disclosure
  • FIG. 6 shows a schematic diagram of an apparatus for generating a circuit layout provided by an embodiment of the present disclosure
  • FIG. 7 shows a schematic diagram of a computer device provided by an embodiment of the present disclosure.
  • a NAND logic gate device when both inputs are high, the output is low; when either input is not When it is high, the output is high; assuming that the two inputs of the NAND logic gate device correspond to register 1 and register 2 respectively, and the transmission time for register 1 to send a level signal to the NAND logic gate device is 3 picometres Second, the transmission time of register 2 to send the level signal to the NAND logic gate device is 5 picoseconds. If register 1 inputs a low level to the NAND logic gate device, and register 2 inputs a high level to the NAND logic gate device, the NAND logic gate device outputs a high level.
  • register 1 inputs a high level to the NAND logic gate device
  • register 2 inputs a low level to the NAND logic gate device.
  • the transmission time for register 1 to send a level signal to the NAND gate device is less than the transmission time for register 2 to send a level signal to the NAND gate device
  • the low level transmitted in register 2 It does not reach the NAND logic gate device, and the high level transmitted by register 1 has reached the NAND logic gate device within 2 picoseconds, and the two input signals received by the NAND logic gate device are both high level, Then the output signal of the NAND logic gate device flips to a low level, until the NAND logic gate device receives the low level transmitted by the register 2, and then flips to a high level again.
  • the output of the NAND logic gate device should always remain high, but because there is a 2 picosecond time difference between register 1 and register 2 transmitting signals to the NAND logic gate device, the NAND logic in these 2 picoseconds The output of the gate device has two invalid toggles.
  • the present disclosure provides a method, device, computer equipment and storage medium for generating a circuit layout.
  • a register transfer level (RTL) corresponding to the target circuit is used.
  • design information to generate a target circuit diagram, and then generate a target layout of the target circuit based on the current position constraint information and the target circuit diagram.
  • the wiring distance between the output ends of the multiple target registers connected to the same target logic gate device and the target logic gate device is Basically the same, that is, the time required for multiple target registers connected to the same target logic gate device to transmit signals to the target logic gate device is basically the same, so that the signals transmitted from different target registers to the same target logic gate device are almost the same.
  • Reaching at the same time reducing the number of invalid flips of the target logic gate device due to the arrival of input signals at different times, thereby effectively reducing the power consumption value of the target circuit and improving the stability of the target circuit in the chip.
  • the execution body of the method for generating a circuit layout provided by an embodiment of the present disclosure is generally a computer with a certain computing capability.
  • equipment the computer equipment for example includes: terminal equipment, server or other processing equipment, the terminal equipment can be user equipment (User Equipment, UE), mobile equipment, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (Personal Digital Assistant) Assistant, PDA), handheld devices, computing devices, in-vehicle devices, wearable devices, personal computers, notebook computers, etc.
  • the circuit layout generation method may be implemented by a processor in a computer device calling computer-readable instructions stored in a memory.
  • the chip described in the embodiment of the present disclosure is an integrated circuit including a plurality of circuit modules, and the target circuit described in the embodiment of the present disclosure may include any circuit module in the chip.
  • the target circuit is in the chip.
  • the preset power consumption value is determined based on the product to which the chip is applied, and different products have different requirements for the chip power consumption value. Therefore, the preset power consumption value can be set to different values for different chips or different application scenarios, which is not limited in the embodiments of the present disclosure.
  • the RTL design information described in the embodiments of the present disclosure is an algorithm written in a high-level programming language (eg, C language, C++, Java, assembly language, C#, etc.) and capable of realizing specific computing processing functions.
  • a high-level programming language eg, C language, C++, Java, assembly language, C#, etc.
  • the target layout described in the embodiments of the present disclosure is the circuit structure layout that the target circuit can finally implement in the chip, and includes, for example, the model, size, arrangement position of each device in the target circuit, and the arrangement position of each device in the target circuit. At least one of the routing conditions between them.
  • FIG. 1 is a flowchart of a method for generating a circuit layout provided by an embodiment of the present disclosure, the method includes steps S101-S102, wherein:
  • S101 Generate a target circuit diagram by using the RTL design information of the register transfer level corresponding to the target circuit.
  • the target circuit diagram is a circuit schematic diagram generated according to the RTL design information corresponding to the target circuit, for example, including at least one of the models, attribute values, and connection relationships between the devices in the target circuit.
  • any integrated circuit design tool such as Design Compiler (design compiler), Fusion Compiler (fusion compiler), Genus (genus) can be used to generate the target circuit diagram based on the RTL design information corresponding to the target circuit.
  • S102 Use the position constraint information and the target circuit diagram to generate a target layout of the target circuit; the position constraint information is used to constrain the target circuit, the output ends of the multiple target registers connected to the same target logic gate device and the target logic gate device The routing distance between them makes the time for the output signals of the multiple target registers to reach the target logic gate device within a preset range.
  • the routing distance between the output ends of multiple target registers connected to the same target logic gate device in the target circuit and the target logic gate device is constrained, so that the time for the output signals of the multiple target registers to reach the target logic gate device Within a preset range, for example, in the target circuit, the routing distances between the output ends of multiple target registers connected to the same target logic gate device and the target logic gate device can be constrained to be substantially equal, so that It can make the time for the signals output by multiple target registers to reach the target logic gate device within a preset range, and even enable the signals output from multiple target registers to reach the target logic gate device within a reasonable time range, so that the target logic gate device can be used by the target.
  • the logic gate device is handled correctly.
  • the preset range may be represented as a range of the time difference between the signals output by the multiple target registers reaching the target logic gate device.
  • the preset range can be very small, for example: 0, thereby achieving the effect that the signals output by multiple target registers reach the target logic gate device at the same time.
  • the target layout of the target circuit is generated by using the position constraint information and the target circuit diagram
  • at least one iteration of the initial position constraint information may be performed to obtain a solution that can both satisfy the position constraint requirements and meet the position constraint requirements.
  • the position constraint information of the integrated circuit can be deployed in the chip, and based on the obtained position constraint information and the target circuit diagram, the target layout of the target circuit is generated.
  • the position constraint information is determined based on the initial position constraint information.
  • the position constraint information is determined based on the position constraint information used in the previous iteration.
  • the initial position constraint information is the position constraint information of the first iteration. Before generating the target layout of the target circuit by using the position constraint information and the target circuit diagram, it may further include: performing circuit power consumption simulation analysis based on the target circuit diagram to obtain the target The electronic pulse power consumption corresponding to each logic gate device in the circuit; based on the electronic pulse power consumption corresponding to each logic gate device, the target logic gate device is determined from the target circuit; and the register connecting the output end and the target logic gate device is determined as The target register, and the target register, and the target logic gate device as the optimization target.
  • the initial position constraint information may be obtained by setting initial position constraint information for the target logic gate device and its corresponding target register.
  • the target logic gate device determined by the circuit power consumption simulation analysis can be used.
  • the routing distance with the corresponding target register determines the initial position constraint information.
  • the maximum distance between the wiring and the target logic gate device is used as the initial position constraint information
  • the minimum distance between the wiring and the target logic gate device is used as the initial position constraint information
  • the maximum wiring distance is A value is randomly determined between the value and the minimum line distance as the initial position constraint information.
  • the initial position constraint information may also be determined according to the historical experience value of the routing distance.
  • the distances between the target register 1 and the target register 2 and the target logic gate device are respectively 5 microns and 3 microns;
  • the initial position constraint information determined by the circuit power consumption simulation analysis result is, for example, the trace distance values between target register 2 and target register 1 and the target logic gate device are both 3 microns (as shown in Figure 2b), or both are 4 microns or 5 microns (neither shown in Figure 2b).
  • an embodiment of the present disclosure provides a specific method for generating a target layout of a target circuit by using location constraint information and a target circuit diagram, including:
  • S301 perform at least one iteration, in each iteration: use the position constraint information of the current iteration and the target circuit diagram to generate the layout information of multiple target registers and target logic gate devices in the target circuit;
  • S302 In response to satisfying a preset iteration stop condition, generate a target layout based on the layout information.
  • the layout information includes, for example: position information and size information corresponding to the target register and the target logic gate device respectively; when generating the target layout based on the layout information, for example, based on the position information corresponding to the target register and the target logic gate device respectively and size information to determine the chip space size occupied by the target circuit; compare the chip space size with the preset chip space size threshold; when the chip space size is less than or equal to the chip space size threshold, generate the target layout based on the layout information picture.
  • the iteration stop condition includes, for example, at least one of the following: the size of the chip space occupied by the target circuit is less than or equal to the chip space size threshold; or when the size of the chip space occupied by the target circuit is less than or equal to the chip space size threshold, the current iteration
  • the routing distance value between the target register and the corresponding target logic gate device in the location constraint information of the target circuit reaches the minimum value, the target circuit can be deployed in the chip, and the power consumption value of the target circuit is less than the preset power consumption value.
  • the position information corresponding to the target register and the target logic gate device respectively includes, for example, the target register and the target logic gate device respectively in the simulation space of the chip
  • the position occupied in the Floorplan; the size information corresponding to the target register and the target logic gate device respectively includes, for example, the volume and shape corresponding to the target register and the target logic gate device respectively.
  • the target circuit diagram includes the steps of generating layout information of multiple target registers and target logic gate devices in the target circuit.
  • the current position constraint information is appropriate position constraint information based on whether the space size occupied by the target circuit is greater than the preset chip space size threshold; , when it is less than or equal to the preset chip space size threshold, that is, under the position constraint information of the current iteration, each device in the target circuit (such as target register, target logic gate device, etc.) can be determined in the chip for the target circuit.
  • the location constraint information is appropriate location constraint information.
  • the chip space size occupied by the target circuit determined based on the position constraint information of the current iteration is larger than the preset chip space size threshold, that is, under the position constraint information, each device in the target circuit cannot be the target circuit in the chip
  • the current location constraint information is not suitable location constraint information, and the next iteration needs to be performed.
  • the position constraint information of the current iteration can be updated as the position constraint information of the next iteration, and then return to use the position constraint information of the current iteration and the target circuit diagram to generate multiple target registers and target logic gates in the target circuit
  • the step of device layout information ie, perform the next iteration until suitable position constraint information is determined, ie, when the chip space size is less than or equal to the chip space size threshold, generate a target layout based on the layout information.
  • the chip space size is greater than the chip space size threshold
  • new position constraint information is generated based on the position constraint information of the current iteration, for example, the target register and the corresponding target logic gate device in the position constraint information of the current iteration can be reduced.
  • the distance value between the traces to get the new position constraint information can be reduced.
  • the power consumption of the target circuit is also related to the routing distance between the target register and the target logic gate device, that is, the greater the routing distance, the greater the power consumption of the target circuit; therefore, in order to further reduce the target circuit
  • the chip space size is less than or equal to the chip space size threshold
  • the power consumption between the target register and the corresponding target logic gate device in the position constraint information of the current iteration can also be further reduced. Get the new position constraint information, and enter the next round of iteration; until the routing distance value between the target register and the corresponding target logic gate device in the position constraint information of the current iteration reaches the minimum value in at least one iteration
  • the target circuit can be deployed in the chip.
  • the target circuit cannot be deployed in the chip, for example, the devices with the connection relationship in the target circuit cannot be routed normally.
  • the layout information further includes, for example, the routing relationship information between the target register and the target logic gate device; based on the layout information, when the target layout is generated , for example: determine whether the target circuit can be deployed in the chip based on the routing relationship information between the target register and the target logic gate device; if it is determined that the target circuit can be deployed in the chip, generate the target layout based on the layout information .
  • the routing relationship information includes, for example, at least one of the line connection distance, connection position, and connection method between each target register in the plurality of target registers and the target logic gate device; based on the target register and the target logic gate device
  • determining whether the target circuit can be deployed in the chip for example, determining the line connection between each target register and the target logic gate device (such as line connection distance, connection position, and connection method, etc.) Is it achievable.
  • new position constraint information is generated based on the position constraint information of the current iteration; the new position constraint information is used as the position constraint information of the current iteration, and the position constraint using the current iteration is returned.
  • the target circuit can be deployed in the chip, and then it can be determined whether the current position constraint information is suitable position constraint information.
  • the target circuit cannot be deployed in the chip, it means that under the position constraint information of the current iteration, each device in the target circuit (such as target registers, target logic gate devices, etc.)
  • the current position constraint information is not suitable position constraint information, and the next iteration needs to be performed.
  • the position constraint information of the current iteration can be updated as the position constraint information of the next iteration, and then return to use the position constraint information of the current iteration and the target circuit diagram to generate multiple target registers and target logic gates in the target circuit
  • the step of layout information of the device ie, performing the next iteration until suitable location constraint information is determined, ie, generating a target layout based on the layout information when it is determined that the target circuit can be deployed in the chip.
  • the layout information generated based on the current position constraint information can also correspond to Therefore, in another embodiment of the present disclosure, circuit power consumption simulation analysis is performed based on the layout information generated by the current iteration to obtain the power consumption of the target circuit.
  • power consumption value in the case that the power consumption value of the target circuit is determined to be less than the preset power consumption value, the target layout is generated based on the layout information.
  • new position constraint information is generated based on the position constraint information of the current iteration; the new position constraint information is used as the position constraint information of the current iteration,
  • the position constraint information of the current iteration can be updated as the position constraint information of the next iteration, and then return to use the position constraint information of the current iteration and the target circuit diagram to generate the target register in the target circuit and the target logic gate device.
  • the step of laying out information that is, executing the next iteration until the appropriate position constraint information is determined, that is, when it is determined that the power consumption value of the target circuit is less than the preset power consumption value, generating a target layout based on the layout information.
  • a specific implementation flowchart of a method for generating a circuit layout includes:
  • S401 Generate a target circuit diagram using RTL (register transfer level) design information corresponding to the target circuit.
  • S402 Using the position constraint information and the target circuit diagram, generate layout information of the target register and the target logic gate device in the target circuit, where the layout information includes: position information and size information corresponding to the target register and the target logic gate device respectively, and the target register The trace relationship information to the target logic gate device.
  • Step S403 Determine the chip space size occupied by the target circuit based on the position information and size information respectively corresponding to the target register and the target logic gate device; determine whether the chip space size is less than or equal to a preset chip space size threshold; if yes, then jump to Step S404; if no, jump to step S405.
  • step S404 Based on the routing relationship information between the target register and the target logic gate device, determine whether the target circuit can be deployed in the chip, if so, jump to step S406; if not, jump to step S405.
  • S405 Generate new location constraint information based on the current location constraint information, use the new location constraint information as the current location constraint information, and jump to step S402.
  • step S406 Based on the layout information, perform circuit power consumption simulation analysis to obtain the power consumption value of the target circuit, and determine whether the power consumption value of the target circuit is less than the preset power consumption value, and if so, jump to step S407; if not, then Jump to step S405.
  • a specific example of a method for generating a circuit layout includes:
  • S501 Use the integrated circuit design tool Design Compiler (design compiler) to read in the RTL (register transfer level) design information of the target circuit.
  • S502 Define a relative placement (relative position) constraint file of the target circuit in Design Compiler to set position constraint information.
  • the relative placement constraint file is used to constrain the position of the target register, so as to constrain the routing distance between the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate device to be equal.
  • the Floorplan information is the simulation space of the chip space size threshold size.
  • step S504 Perform physical synthesis: generate a target circuit diagram based on the RTL design information, and determine whether each device in the target circuit diagram (for example, target registers and target logic gate devices) can meet the requirements placed on the chip based on the Floorplan information and the position constraint information. Simulate the requirements in the space Floorplan, if no, go to step S502, if yes, go to step S505.
  • target circuit diagram for example, target registers and target logic gate devices
  • the integrated circuit design tool ICCQ is the software used to realize the simulation of integrated circuit traces
  • the tcl file is the constraint file used in ICCQ to constrain the position of each device in the target circuit.
  • the placement position of each device in the target circuit is the same as the placement position in the chip's simulation space Floorplan.
  • step S507 Extract the delay information of the virtual integrated circuit corresponding to the target circuit that has completed the layout and wiring, use PrimePower (motive force) to analyze the power consumption of the delay information, and determine whether the electronic pulse power consumption of the virtual integrated circuit of the target circuit is less than the preset power consumption. consumption value; if yes, go to step S508, if no, go to step S502.
  • PrimePower motive force
  • S508 Generate a target layout of the target circuit based on the virtual integrated circuit corresponding to the target circuit that has completed layout and wiring.
  • the target circuit diagram is generated by using the RTL design information corresponding to the target circuit, and then the target layout of the target circuit is generated based on the position constraint information and the target circuit diagram.
  • the routing distances between the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate device are basically the same, that is, multiple targets connected to the same target logic gate device
  • the time required for the register to transmit signals to the target logic gate device is basically the same, so that the signals transmitted from different target registers to the same target logic gate device can arrive at almost the same time, reducing the target logic gate device because the input signal arrives at different times The number of invalid flips caused, thereby effectively reducing the power consumption value of the target circuit and improving the stability of the operation of the target circuit in the chip.
  • the writing order of each step does not mean a strict execution order but constitutes any limitation on the implementation process, and the specific execution order of each step should be based on its function and possible Internal logic is determined.
  • the embodiment of the present disclosure also provides a circuit layout generation device corresponding to the circuit layout generation method, because the principle of solving the problem of the device in the embodiment of the present disclosure is the same as the above-mentioned circuit layout generation method of the embodiment of the present disclosure. Similar, therefore, the implementation of the apparatus may refer to the implementation of the method, and repeated descriptions will not be repeated.
  • the apparatus includes: a first generating module 601 and a second generating module 602 ; wherein,
  • the first generation module 601 is used to generate a target circuit diagram by using the register transfer level RTL design information corresponding to the target circuit;
  • the second generation module 602 is configured to generate a target layout of the target circuit by using the position constraint information and the target circuit diagram; the position constraint information is used to constrain the target circuit, the same target logic gate device is connected
  • the wiring distance between the output ends of the multiple target registers and the target logic gate device makes the time when the output signals of the multiple target registers reach the target logic gate device within a preset range.
  • the location constraint information is used to constrain the routing distances between the output terminals of the plurality of target registers and the target logic gate device to be substantially equal.
  • the second generation module when generating the target layout of the target circuit by using the position constraint information and the target circuit diagram, is specifically configured to perform at least one iteration, in each In the iteration: using the position constraint information of the current iteration and the target circuit diagram to generate layout information of the multiple target registers and the target logic gate device in the target circuit; in response to satisfying a preset iteration A stop condition generates the target layout based on the layout information.
  • the position constraint information of the current iteration is determined based on the position constraint information of the previous iteration, or determined based on the initial position constraint information corresponding to the first iteration.
  • the layout information includes: position information and size information respectively corresponding to the target register and the target logic gate device; the second generation module is specifically configured to generate the layout based on the current iteration In the information, the position information and size information corresponding to the multiple target registers and the target logic gate device respectively, determine the chip space size occupied by the target circuit; the chip space size and the preset chip space size threshold performing a comparison; when generating the target layout based on the layout information in response to satisfying the iteration stop condition, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space A size threshold, and based on the layout information, the target layout is generated.
  • the second generation module is further configured to, in response to the chip space size being greater than the chip space size threshold, generate new position constraint information based on the position constraint information of the current iteration;
  • the new position constraint information is used as the position constraint information of the current iteration, the position constraint information using the current iteration and the target circuit diagram are returned, and the plurality of target registers and the target logic gate in the target circuit are generated. Steps for placement information of the device.
  • the second generation module is further configured to respond that the chip space size is less than or equal to the chip space size threshold, and the target registers and the target registers in the position constraint information of the current iteration are The distance value between the target logic gate devices does not reach the minimum value, reduce the distance value between the target register and the target logic gate device in the position constraint information, obtain new position constraint information, and return the Describe the step of using the position constraint information of the current iteration and the target circuit diagram to generate the layout information of the plurality of target registers and the target logic gate device in the target circuit; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space size threshold, and each of the position constraint information The distance value between the target register and the target logic gate device reaches the minimum value in the at least one iteration, and the target layout is generated based on the layout information.
  • the layout information includes: routing relationship information between the multiple target registers and the target logic gate device; the second generation module is further configured to generate data based on the current iteration In the generated layout information, the routing relationship information between the multiple target registers and the target logic gate device determines whether the target circuit can be deployed in the chip; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to, in response to determining that the target circuit can be deployed in the chip, generate the target layout based on the layout information.
  • the second generation module is further configured to, in response to determining that the target circuit cannot be deployed in the chip, generate new position constraint information based on the position constraint information of the current iteration;
  • the position constraint information of the current iteration is used as the position constraint information of the current iteration, and the position constraint information of the current iteration and the target circuit diagram are returned, and the relationship between the plurality of target registers in the target circuit and the target logic gate device is generated. Steps for laying out information.
  • the second generation module is further configured to perform circuit power consumption simulation analysis based on the layout information generated by the current iteration to obtain a power consumption value of the target circuit;
  • the second generation module is specifically configured to, in response to determining that the power consumption value of the target circuit is less than a preset power consumption value, generate the target layout based on the layout information to generate the target layout.
  • the second generating module is further configured to: in response to determining that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, generate the position constraint information based on the current iteration new position constraint information; use the new position constraint information as the position constraint information of the current iteration, return the position constraint information using the current iteration and the target circuit diagram, and generate the plurality of target circuits The steps of the target register and the layout information of the target logic gate device.
  • An embodiment of the present disclosure further provides a computer device.
  • the schematic structural diagram of the computer device provided by the embodiment of the present disclosure includes:
  • the position constraint information is used to constrain the wiring distance between the output ends of multiple target registers connected to the same target logic gate device in the target circuit and the target logic gate device, so that the multiple target registers output signals
  • the time to reach the target logic gate device is within a preset range.
  • the above-mentioned memory 72 includes a memory 721 and an external memory 722; the memory 721 here is also called an internal memory, which is used to temporarily store the operation data in the processor 71 and the data exchanged with the external memory 722 such as the hard disk.
  • the external memory 722 performs data exchange.
  • Embodiments of the present disclosure further provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is run by a processor, the steps of the circuit layout generation method described in the foregoing method embodiments are executed.
  • the storage medium may be a volatile or non-volatile computer-readable storage medium.
  • Embodiments of the present disclosure further provide a computer program product, where the computer program product carries program codes, and the instructions included in the program codes can be used to execute the steps of the circuit layout generation method described in the above method embodiments.
  • the computer program product carries program codes
  • the instructions included in the program codes can be used to execute the steps of the circuit layout generation method described in the above method embodiments.
  • the above-mentioned computer program product can be specifically implemented by means of hardware, software or a combination thereof.
  • the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK), etc. Wait.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a processor-executable non-volatile computer-readable storage medium.
  • the computer software products are stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present disclosure.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

The present disclosure provides a circuit layout generation method and apparatus, a computer device, and a storage medium. The method comprises: generating a target circuit diagram by using register transfer level (RTL) design information corresponding to a target circuit; and generating a target layout of the target circuit using position constraint information and the target circuit diagram, the position constraint information being used for constraining the wiring distances between output ends of multiple target registers connected to a same target logic gate device and the target logic gate device to be equal in the target circuit. In embodiments of the present disclosure, the number of invalid flips of the target logic gate device is reduced, thereby effectively reducing power consumed by the target circuit and improving operation stability of the target circuit in a chip.

Description

一种电路布图生成方法、装置、计算机设备及存储介质A circuit layout generation method, device, computer equipment and storage medium
相关公开的交叉引用Cross-references to relevant publications
本公开要求于2021年4月29日提交的、申请号为2021104766166的中国专利公开的优先权,该中国专利公开的全部内容以引用的方式并入本文中。The present disclosure claims priority to Chinese Patent Publication No. 2021104766166 filed on April 29, 2021, the entire contents of which are incorporated herein by reference.
技术领域technical field
本公开涉及集成电路技术领域,具体而言,涉及一种电路布图生成方法、装置、计算机设备及存储介质。The present disclosure relates to the technical field of integrated circuits, and in particular, to a method, apparatus, computer equipment, and storage medium for generating a circuit layout.
背景技术Background technique
对于高计算性能的芯片,因为芯片中每一寄存器阵列到达逻辑门器件的信号延时信息不同,导致在运行大量计算的场景时会存在逻辑门器件的无效翻转,造成较为严重的功耗,对芯片电路整体运行的稳定性产生不利影响。For chips with high computing performance, because the signal delay information of each register array in the chip reaching the logic gate device is different, there will be invalid flipping of the logic gate device when running a large number of calculations, resulting in serious power consumption. The stability of the overall operation of the chip circuit is adversely affected.
发明内容SUMMARY OF THE INVENTION
本公开实施例至少提供一种电路布图生成方法、装置、计算机设备及存储介质。Embodiments of the present disclosure provide at least a method, apparatus, computer device, and storage medium for generating a circuit layout.
第一方面,本公开实施例提供了一种电路布图生成方法,包括:利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述位置约束信息用于约束所述目标电路中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内。In a first aspect, an embodiment of the present disclosure provides a method for generating a circuit layout, including: generating a target circuit diagram using register transfer level RTL design information corresponding to a target circuit; generating the target circuit diagram using position constraint information and the target circuit diagram The target layout of the circuit; the position constraint information is used to constrain the wiring distance between the output ends of multiple target registers connected to the same target logic gate device and the target logic gate device in the target circuit, so that all The time when the output signals of the plurality of target registers reach the target logic gate device is within a preset range.
这样,得到的目标布图中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离是基本一致的,也即同一目标逻辑门器件所连接的多个目标寄存器向该目标逻辑门器件传输信号所需要的时间基本一致,进而能够使得不同目标寄存器传输至同一目标逻辑门器件的信号几乎在相同时刻到达,减少目标逻辑门器件由于输入的信号在不同时刻到达导致的无效翻转的次数,从而有效减少目标电路的功耗值,提升芯片中目标电路运行的稳定性。In this way, in the obtained target layout, the wiring distances between the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate device are basically the same, that is, the same target logic gate device is connected to The time required for multiple target registers to transmit signals to the target logic gate device is basically the same, so that the signals transmitted from different target registers to the same target logic gate device arrive at almost the same time, reducing the target logic gate device due to the input signal. The number of invalid flips caused by reaching at different times, thereby effectively reducing the power consumption value of the target circuit and improving the stability of the target circuit operation in the chip.
在一种可能的实施方式中,所述位置约束信息用于将所述多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离约束为基本上相等。In a possible implementation manner, the location constraint information is used to constrain the routing distances between the output terminals of the plurality of target registers and the target logic gate device to be substantially equal.
在一种可能的实施方式中,所述利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图,包括:执行至少一次迭代,在每次所述迭代中:利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息;响应于满足预设的迭代停止条件,基于所述布局信息,生成所述目标布图。In a possible implementation manner, generating the target layout of the target circuit using the position constraint information and the target circuit diagram includes: performing at least one iteration, and in each iteration: using the current iteration and the target circuit diagram, generate layout information of the plurality of target registers and the target logic gate device in the target circuit; in response to satisfying a preset iteration stop condition, based on the layout information , to generate the target layout.
在一种可能的实施方式中,当前迭代的位置约束信息,是基于前一次迭代的位置约束信息确定的,或基于首次迭代对应的初始位置约束信息确定的。In a possible implementation manner, the position constraint information of the current iteration is determined based on the position constraint information of the previous iteration, or determined based on the initial position constraint information corresponding to the first iteration.
这样,经过多次的迭代过程,能确定合适的位置约束信息,基于该合适的位置约束信息能约束目标电路中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离相等,且能将目标电路实现在芯片中,有效减少目标电路的功耗值。In this way, after many iterations, the appropriate position constraint information can be determined, and based on the appropriate position constraint information, the target circuit can be constrained, the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate The wiring distance between the devices is equal, and the target circuit can be implemented in the chip, which effectively reduces the power consumption value of the target circuit.
在一种可能的实施方式中,所述布局信息包括:目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息;所述方法还包括:基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;将所述芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the layout information includes: position information and size information respectively corresponding to the target register and the target logic gate device; the method further includes: in the layout information generated based on the current iteration, the The position information and size information corresponding to the plurality of target registers and the target logic gate device respectively, determine the chip space size occupied by the target circuit; compare the chip space size with a preset chip space size threshold; The generating the target layout based on the layout information in response to satisfying an iteration stop condition includes: generating the target layout based on the layout information in response to the chip space size being less than or equal to the chip space size threshold target layout.
在一种可能的实施方式中,还包括:响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the method further includes: in response to the chip space size being greater than the chip space size threshold, generating new position constraint information based on the position constraint information of the current iteration; using the new position constraint information as The position constraint information of the current iteration is returned to the step of generating the layout information of the multiple target registers and the target logic gate device in the target circuit by using the position constraint information of the current iteration and the target circuit diagram.
这样,能基于目标电路占据的芯片空间尺寸是否大于预设的芯片空间尺寸阈值判断当前的位置约束信息是否为合适的位置约束信息,也即通过目标电路中的各器件(例如目标寄存器、目标逻辑门器件等)能否在芯片中正常排布来判断当前的位置约束信息是否为合适的位置约束信息,使得最终确定的位置约束信息能保证目标电路可以正常排布在芯片中,并保证同一目标逻辑门器件所连接的多个目标寄存器向该目标逻辑门器件传输信号的时间基本一致,减少目标逻辑门器件出现无效翻转的次数,从而有效减少芯片中目标电路的功耗值。In this way, it can be determined whether the current position constraint information is appropriate position constraint information based on whether the chip space size occupied by the target circuit is greater than the preset chip space size threshold, that is, through each device in the target circuit (such as the target register, target logic Whether the gate device, etc.) can be normally arranged in the chip to determine whether the current position constraint information is appropriate position constraint information, so that the final position constraint information can ensure that the target circuit can be normally arranged in the chip, and the same target can be guaranteed. The multiple target registers connected to the logic gate device transmit signals to the target logic gate device at substantially the same time, thereby reducing the number of invalid flips of the target logic gate device, thereby effectively reducing the power consumption value of the target circuit in the chip.
在一种可能的实施方式中,还包括:响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且当前迭代的位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值未达到最小值,减小所述位置约束信息中所述目标寄存器和所述目标逻辑门器件之间的距离值,得到新的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且所述位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值达到所述至少一次迭代中的最小值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the method further includes: in response to the chip space size being smaller than or equal to the chip space size threshold and the difference between each target register and the target logic gate device in the position constraint information of the current iteration If the distance value between them does not reach the minimum value, reduce the distance value between the target register and the target logic gate device in the position constraint information, obtain new position constraint information, and return the position constraint using the current iteration. information, and the target circuit diagram, the step of generating the layout information of the plurality of target registers and the target logic gate device in the target circuit; the step of generating the layout information based on the layout information in response to satisfying the iteration stop condition The target layout includes: in response to the chip space size being less than or equal to the chip space size threshold, and the distance value between each target register and the target logic gate device in the position constraint information reaches The minimum value in the at least one iteration, based on the layout information, generates the target layout.
在一种可能的实施方式中,所述布局信息包括:所述多个目标寄存器与所述目标逻辑门器件之间的走线关系信息;所述方法还包括:基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于确定所述目标电路能够部署在芯片中,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the layout information includes: routing relationship information between the multiple target registers and the target logic gate device; the method further includes: the generated data based on the current iteration In the layout information, the routing relationship information between the multiple target registers and the target logic gate device determines whether the target circuit can be deployed in the chip; the response is satisfying the iteration stop condition, based on the layout information, generating the target layout includes: in response to determining that the target circuit can be deployed in a chip, generating the target layout based on the layout information.
这样,能基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中,进而确定当前的位置约束信息是否为合适的位置约束信息。使得最终确定的位置约束信息能保证目标电路能够部署在芯片中。In this way, based on the routing relationship information between the target register and the target logic gate device, it can be determined whether the target circuit can be deployed in the chip, and then it can be determined whether the current position constraint information is suitable position constraint information. The finally determined position constraint information can ensure that the target circuit can be deployed in the chip.
在一种可能的实施方式中,还包括:响应于确定所述目标电路不能部署在芯片中,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the method further includes: in response to determining that the target circuit cannot be deployed in the chip, generating new position constraint information based on the position constraint information of the current iteration; using the new position constraint information as the current iteration The step of generating the layout information of the multiple target registers and the target logic gate device in the target circuit by using the position constraint information of the current iteration and the target circuit diagram is returned.
在一种可能的实施方式中,所述方法还包括:基于当前迭代所生成的所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;所述响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图,包括:响应于确定所述目标电路的功耗值 小于预设功耗值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the method further includes: based on the layout information generated by the current iteration, performing circuit power consumption simulation analysis to obtain a power consumption value of the target circuit; The condition, generating the target layout based on the layout information includes: in response to determining that the power consumption value of the target circuit is less than a preset power consumption value, generating the target layout based on the layout information.
在一种可能的实施方式中,还包括:响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the method further includes: in response to determining that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, generating new position constraint information based on the position constraint information of the current iteration; The new position constraint information is used as the position constraint information of the current iteration, the position constraint information using the current iteration and the target circuit diagram are returned, and the plurality of target registers and the target logic gate in the target circuit are generated. Steps for placement information of the device.
这样,可以根据基于当前迭代的位置约束信息确定出的电路的功耗值判断当前的位置约束信息是否为合适的位置约束信息,使得最终确定的位置约束信息能保证目标电路的功耗值小于预设功耗值,有效减少目标电路的功耗。In this way, it can be judged whether the current position constraint information is appropriate position constraint information according to the power consumption value of the circuit determined based on the position constraint information of the current iteration, so that the finally determined position constraint information can ensure that the power consumption value of the target circuit is less than the predetermined value. Set the power consumption value to effectively reduce the power consumption of the target circuit.
第二方面,本公开实施例还提供一种电路布图生成装置,包括:第一生成模块,用于利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;第二生成模块,用于利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述位置约束信息用于约束所述目标电路中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内。In a second aspect, an embodiment of the present disclosure further provides a circuit layout generation device, including: a first generation module for generating a target circuit diagram using register transfer level RTL design information corresponding to the target circuit; a second generation module for using The position constraint information and the target circuit diagram are used to generate the target layout of the target circuit; the position constraint information is used to constrain the target circuit, the output terminals of the multiple target registers connected to the same target logic gate device are connected to the target circuit. The wiring distance between the target logic gate devices makes the time for the output signals of the plurality of target registers to reach the target logic gate device within a preset range.
在一种可能的实施方式中,所述位置约束信息用于将所述多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离约束为基本上相等。In a possible implementation manner, the location constraint information is used to constrain the routing distances between the output terminals of the plurality of target registers and the target logic gate device to be substantially equal.
在一种可能的实施方式中,在利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图时,所述第二生成模块,具体用于执行至少一次迭代,在每次所述迭代中:利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息;响应于满足预设的迭代停止条件,基于所述布局信息,生成所述目标布图。In a possible implementation manner, when generating the target layout of the target circuit by using the position constraint information and the target circuit diagram, the second generation module is specifically configured to perform at least one iteration, in each In the iteration: using the position constraint information of the current iteration and the target circuit diagram to generate layout information of the multiple target registers and the target logic gate device in the target circuit; in response to satisfying a preset iteration A stop condition generates the target layout based on the layout information.
在一种可能的实施方式中,当前迭代的位置约束信息,是基于前一次迭代的位置约束信息确定的,或基于首次迭代对应的初始位置约束信息确定的。In a possible implementation manner, the position constraint information of the current iteration is determined based on the position constraint information of the previous iteration, or determined based on the initial position constraint information corresponding to the first iteration.
在一种可能的实施方式中,所述布局信息包括:目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息;所述第二生成模块,具体用于基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;将所述芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the layout information includes: position information and size information respectively corresponding to the target register and the target logic gate device; the second generation module is specifically configured to generate the layout based on the current iteration In the information, the position information and size information corresponding to the multiple target registers and the target logic gate device respectively, determine the chip space size occupied by the target circuit; the chip space size and the preset chip space size threshold performing a comparison; when generating the target layout based on the layout information in response to satisfying the iteration stop condition, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space A size threshold, and based on the layout information, the target layout is generated.
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the second generation module is further configured to, in response to the chip space size being greater than the chip space size threshold, generate new position constraint information based on the position constraint information of the current iteration; The new position constraint information is used as the position constraint information of the current iteration, the position constraint information using the current iteration and the target circuit diagram are returned, and the plurality of target registers and the target logic gate in the target circuit are generated. Steps for placement information of the device.
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且当前迭代的位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值未达到最小值,减小所述位置约束信息中所述目标寄存器和所述目标逻辑门器件之间的距离值,得到新的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于所述芯片空间尺 寸小于或者等于所述芯片空间尺寸阈值,且所述位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值达到所述至少一次迭代中的最小值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the second generation module is further configured to respond that the chip space size is less than or equal to the chip space size threshold, and the target registers and the target registers in the position constraint information of the current iteration are The distance value between the target logic gate devices does not reach the minimum value, reduce the distance value between the target register and the target logic gate device in the position constraint information, obtain new position constraint information, and return the Describe the step of using the position constraint information of the current iteration and the target circuit diagram to generate the layout information of the plurality of target registers and the target logic gate device in the target circuit; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space size threshold, and each of the position constraint information The distance value between the target register and the target logic gate device reaches the minimum value in the at least one iteration, and the target layout is generated based on the layout information.
在一种可能的实施方式中,所述布局信息包括:所述多个目标寄存器与所述目标逻辑门器件之间的走线关系信息;所述第二生成模块,还用于基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路能够部署在芯片中,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the layout information includes: routing relationship information between the multiple target registers and the target logic gate device; the second generation module is further configured to generate data based on the current iteration In the generated layout information, the routing relationship information between the multiple target registers and the target logic gate device determines whether the target circuit can be deployed in the chip; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to, in response to determining that the target circuit can be deployed in the chip, generate the target layout based on the layout information.
在一种可能的实施方式中,所述第二生成模块,还用于响应于确定所述目标电路不能部署在芯片中,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the second generation module is further configured to, in response to determining that the target circuit cannot be deployed in the chip, generate new position constraint information based on the position constraint information of the current iteration; The position constraint information of the current iteration is used as the position constraint information of the current iteration, and the position constraint information of the current iteration and the target circuit diagram are returned, and the relationship between the plurality of target registers in the target circuit and the target logic gate device is generated. Steps for laying out information.
在一种可能的实施方式中,所述第二生成模块,还用于基于当前迭代所生成的所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路的功耗值小于预设功耗值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the second generation module is further configured to perform circuit power consumption simulation analysis based on the layout information generated by the current iteration to obtain a power consumption value of the target circuit; When the iteration stop condition is satisfied, and the target layout is generated based on the layout information, the second generation module is specifically configured to, in response to determining that the power consumption value of the target circuit is less than a preset power consumption value, generate the target layout based on the layout information to generate the target layout.
在一种可能的实施方式中,所述第二生成模块,还用于:响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the second generating module is further configured to: in response to determining that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, generate the position constraint information based on the current iteration new position constraint information; use the new position constraint information as the position constraint information of the current iteration, return the position constraint information using the current iteration and the target circuit diagram, and generate the plurality of target circuits The steps of the target register and the layout information of the target logic gate device.
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。In a third aspect, an optional implementation manner of the present disclosure further provides a computer device, a processor, and a memory, where the memory stores machine-readable instructions executable by the processor, and the processor is configured to execute the instructions stored in the memory. machine-readable instructions, when the machine-readable instructions are executed by the processor, when the machine-readable instructions are executed by the processor, the above-mentioned first aspect, or any possible implementation of the first aspect, is executed steps in the method.
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。In a fourth aspect, an optional implementation manner of the present disclosure further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and the computer program executes the first aspect, or any of the first aspect, when the computer program is run. steps in one possible implementation.
关于上述电路布图生成装置、计算机设备、及计算机可读存储介质的效果描述参见上述电路布图生成方法的说明,这里不再赘述。For a description of the effects of the above-mentioned circuit layout generating apparatus, computer equipment, and computer-readable storage medium, reference may be made to the description of the above-mentioned circuit layout generating method, which will not be repeated here.
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。In order to make the above-mentioned objects, features and advantages of the present disclosure more obvious and easy to understand, the preferred embodiments are exemplified below, and are described in detail as follows in conjunction with the accompanying drawings.
附图说明Description of drawings
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to illustrate the technical solutions of the embodiments of the present disclosure more clearly, the accompanying drawings required in the embodiments will be briefly introduced below. These drawings illustrate embodiments consistent with the present disclosure, and together with the description, serve to explain the technical solutions of the present disclosure. It should be understood that the following drawings only show some embodiments of the present disclosure, and therefore should not be regarded as limiting the scope. Other related figures are obtained from these figures.
图1示出了本公开实施例所提供的一种电路布图生成方法的流程图;FIG. 1 shows a flowchart of a method for generating a circuit layout provided by an embodiment of the present disclosure;
图2a和图2b示出了本公开实施例所提供的一种确定初始位置约束信息的示例图;Figures 2a and 2b show an example diagram of determining initial position constraint information provided by an embodiment of the present disclosure;
图3示出了本公开实施例所提供的一种利用当前位置约束信息、以及目标电路图,生成目标电路的目标布图的方法流程图;3 shows a flowchart of a method for generating a target layout of a target circuit by using current position constraint information and a target circuit diagram provided by an embodiment of the present disclosure;
图4示出了本公开实施例所提供的一种电路布图生成方法的具体实施流程图;FIG. 4 shows a specific implementation flowchart of a method for generating a circuit layout provided by an embodiment of the present disclosure;
图5示出了本公开实施例所提供的一种生成电路布图生成方法的具体示例;FIG. 5 shows a specific example of a method for generating a circuit layout provided by an embodiment of the present disclosure;
图6示出了本公开实施例所提供的一种电路布图生成装置的示意图;FIG. 6 shows a schematic diagram of an apparatus for generating a circuit layout provided by an embodiment of the present disclosure;
图7示出了本公开实施例所提供的一种计算机设备的示意图。FIG. 7 shows a schematic diagram of a computer device provided by an embodiment of the present disclosure.
具体实施方式Detailed ways
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。In order to make the purposes, technical solutions and advantages of the embodiments of the present disclosure more clear, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only These are some, but not all, embodiments of the present disclosure. The components of the disclosed embodiments generally described and illustrated herein may be arranged and designed in a variety of different configurations. Thus, the following detailed description of the embodiments of the present disclosure is not intended to limit the scope of the disclosure as claimed, but is merely representative of selected embodiments of the disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present disclosure.
经研究发现,在芯片的实现过程中,因为芯片中一逻辑门器件所连接的多个寄存器的输出端与该逻辑门器件(可具体为该逻辑门器件的输入端)之间的走线距离不同,导致该多个寄存器中每一寄存器与该对应的逻辑门器件之间的信号传输时间不同,这会导致在某些情况下,造成该对应的逻辑门器件的无效翻转,产生不必要的功耗,对电路整体运行的稳定性产生不利影响。After research, it is found that in the implementation process of the chip, because of the wiring distance between the output terminals of a plurality of registers connected to a logic gate device in the chip and the logic gate device (specifically, the input terminal of the logic gate device) Different, resulting in different signal transmission time between each register in the multiple registers and the corresponding logic gate device, which may lead to invalid flipping of the corresponding logic gate device in some cases, resulting in unnecessary power consumption, which adversely affects the stability of the overall operation of the circuit.
例如,针对功能为与非关系的逻辑门器件,以下简称与非逻辑门器件,当两个输入都为高电平的时候,输出为低电平;当两个输入中的任一输入不为高电平的时候,输出为高电平;假设该与非逻辑门器件的两个输入分别对应寄存器1、寄存器2,寄存器1向该与非逻辑门器件发送电平信号的传输时间为3皮秒,寄存器2向该与非逻辑门器件发送电平信号的传输时间为5皮秒。如果寄存器1向该与非逻辑门器件输入了低电平,寄存器2向该与非逻辑门器件输入了高电平,则该与非逻辑门器件输出高电平。之后寄存器1向该与非逻辑门器件输入了高电平,寄存器2向该与非逻辑门器件输入了低电平。在这种情况下,因为寄存器1向该与非逻辑门器件发送电平信号的传输时间小于寄存器2向该与非逻辑门器件发送电平信号的传输时间,所以在寄存器2传输的低电平没有到达该与非逻辑门器件、而寄存器1传输的高电平已经到达该与非逻辑门器件的2皮秒内,该与非逻辑门器件接收到的两个输入信号都为高电平,则该与非逻辑门器件的输出信号翻转为低电平,直到该与非逻辑门器件接收到寄存器2传输的低电平后,重新翻转为高电平。实际上该与非逻辑门器件的输出应当一直保持高电平,但是因为寄存器1和寄存器2向该与非逻辑门器件传输信号存在2皮秒的时间差,导致这2皮秒内该与非逻辑门器件的输出进行了两次无效翻转。For example, for a logic gate device whose function is a NAND relationship, hereinafter referred to as a NAND logic gate device, when both inputs are high, the output is low; when either input is not When it is high, the output is high; assuming that the two inputs of the NAND logic gate device correspond to register 1 and register 2 respectively, and the transmission time for register 1 to send a level signal to the NAND logic gate device is 3 picometres Second, the transmission time of register 2 to send the level signal to the NAND logic gate device is 5 picoseconds. If register 1 inputs a low level to the NAND logic gate device, and register 2 inputs a high level to the NAND logic gate device, the NAND logic gate device outputs a high level. After that, register 1 inputs a high level to the NAND logic gate device, and register 2 inputs a low level to the NAND logic gate device. In this case, because the transmission time for register 1 to send a level signal to the NAND gate device is less than the transmission time for register 2 to send a level signal to the NAND gate device, the low level transmitted in register 2 It does not reach the NAND logic gate device, and the high level transmitted by register 1 has reached the NAND logic gate device within 2 picoseconds, and the two input signals received by the NAND logic gate device are both high level, Then the output signal of the NAND logic gate device flips to a low level, until the NAND logic gate device receives the low level transmitted by the register 2, and then flips to a high level again. In fact, the output of the NAND logic gate device should always remain high, but because there is a 2 picosecond time difference between register 1 and register 2 transmitting signals to the NAND logic gate device, the NAND logic in these 2 picoseconds The output of the gate device has two invalid toggles.
基于上述研究,本公开提供了一种电路布图生成方法、装置、计算机设备及存储介质,在生成芯片中目标电路的目标布图时,通过目标电路对应的寄存器传输级(Register Transfer Level,RTL)设计信息生成目标电路图,然后基于当前位置约束信息和目标电路图,生成目标电路的目标布图。这样,在得到的目标布图中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件(可具体为该逻辑门器件 的输入端)之间的走线距离是基本一致的,也即同一目标逻辑门器件所连接的多个目标寄存器向该目标逻辑门器件传输信号所需要的时间基本一致,进而能够使得不同目标寄存器传输至同一目标逻辑门器件的信号几乎在相同时刻到达,减少目标逻辑门器件由于输入的信号在不同时刻到达导致的无效翻转的次数,从而有效减少目标电路的功耗值,提升芯片中目标电路运行的稳定性。Based on the above research, the present disclosure provides a method, device, computer equipment and storage medium for generating a circuit layout. When generating a target layout of a target circuit in a chip, a register transfer level (RTL) corresponding to the target circuit is used. ) design information to generate a target circuit diagram, and then generate a target layout of the target circuit based on the current position constraint information and the target circuit diagram. In this way, in the obtained target layout, the wiring distance between the output ends of the multiple target registers connected to the same target logic gate device and the target logic gate device (can be specifically the input end of the logic gate device) is Basically the same, that is, the time required for multiple target registers connected to the same target logic gate device to transmit signals to the target logic gate device is basically the same, so that the signals transmitted from different target registers to the same target logic gate device are almost the same. Reaching at the same time, reducing the number of invalid flips of the target logic gate device due to the arrival of input signals at different times, thereby effectively reducing the power consumption value of the target circuit and improving the stability of the target circuit in the chip.
以上均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。The above are the results obtained by the inventor after practice and careful research. Therefore, the discovery process of the above-mentioned problems and the solutions to the above-mentioned problems proposed by the present disclosure below should be the results of the inventors' understanding of the present disclosure in the process of the present disclosure. contribution made.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。It should be noted that like numerals and letters refer to like items in the following figures, so once an item is defined in one figure, it does not require further definition and explanation in subsequent figures.
为便于对本实施例进行理解,首先对本公开实施例所公开的一种电路布图生成方法进行详细介绍,本公开实施例所提供的电路布图生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备、服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备、个人电脑、笔记本电脑等。在一些可能的实现方式中,该电路布图生成方法可以通过计算机设备中的处理器调用存储器中存储的计算机可读指令的方式来实现。In order to facilitate the understanding of this embodiment, a method for generating a circuit layout disclosed by an embodiment of the present disclosure is first introduced in detail. The execution body of the method for generating a circuit layout provided by an embodiment of the present disclosure is generally a computer with a certain computing capability. equipment, the computer equipment for example includes: terminal equipment, server or other processing equipment, the terminal equipment can be user equipment (User Equipment, UE), mobile equipment, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (Personal Digital Assistant) Assistant, PDA), handheld devices, computing devices, in-vehicle devices, wearable devices, personal computers, notebook computers, etc. In some possible implementations, the circuit layout generation method may be implemented by a processor in a computer device calling computer-readable instructions stored in a memory.
下边对本公开实施例中的一些名词进行解释说明:Some terms in the embodiments of the present disclosure are explained below:
本公开实施例所述的芯片为包含多个电路模块的集成电路,本公开实施例所述的目标电路可以包括所述芯片中的任一电路模块,例如,所述目标电路为所述芯片中功耗值超过预设功耗值的电路模块。The chip described in the embodiment of the present disclosure is an integrated circuit including a plurality of circuit modules, and the target circuit described in the embodiment of the present disclosure may include any circuit module in the chip. For example, the target circuit is in the chip. A circuit block whose power consumption value exceeds the preset power consumption value.
其中,预设功耗值是基于芯片应用的产品确定的,不同的产品对芯片功耗值的要求不同,芯片的预设功耗值例如可以是保证应用该芯片的产品能正常稳定运行的最大功耗值,因此预设功耗值可以针对不同芯片、或者不同的应用场景设置不同的数值,本公开实施例中不做限定。The preset power consumption value is determined based on the product to which the chip is applied, and different products have different requirements for the chip power consumption value. Therefore, the preset power consumption value can be set to different values for different chips or different application scenarios, which is not limited in the embodiments of the present disclosure.
本公开实施例所述的RTL设计信息为通过高级编程语言(例如c语言、c++、Java、汇编语言、c#等)编写的、能够实现具体计算处理功能的算法。The RTL design information described in the embodiments of the present disclosure is an algorithm written in a high-level programming language (eg, C language, C++, Java, assembly language, C#, etc.) and capable of realizing specific computing processing functions.
本公开实施例所述的目标布图为目标电路最终可以在芯片中实现的电路结构排布图,例如包括:目标电路中各器件的型号、尺寸、在芯片中的排布位置、以及各器件之间的走线情况等中的至少一种。The target layout described in the embodiments of the present disclosure is the circuit structure layout that the target circuit can finally implement in the chip, and includes, for example, the model, size, arrangement position of each device in the target circuit, and the arrangement position of each device in the target circuit. At least one of the routing conditions between them.
下面对本公开实施例提供的电路布图生成方法加以说明。The following describes the circuit layout generation method provided by the embodiments of the present disclosure.
参见图1所示,为本公开实施例提供的电路布图生成方法的流程图,所述方法包括步骤S101~S102,其中:Referring to FIG. 1, which is a flowchart of a method for generating a circuit layout provided by an embodiment of the present disclosure, the method includes steps S101-S102, wherein:
S101:利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图。S101: Generate a target circuit diagram by using the RTL design information of the register transfer level corresponding to the target circuit.
其中,目标电路图是根据目标电路对应的RTL设计信息生成的电路原理图,例如包括目标电路中各器件的型号、属性值、以及各器件之间的连接关系等中的至少一种。The target circuit diagram is a circuit schematic diagram generated according to the RTL design information corresponding to the target circuit, for example, including at least one of the models, attribute values, and connection relationships between the devices in the target circuit.
具体的,例如可以使用Design Compiler(设计编译器)、Fusion Compiler(融合编译器)、Genus(属)等任一种集成电路设计工具来基于目标电路对应的RTL设计信息生成目标电路图。Specifically, for example, any integrated circuit design tool such as Design Compiler (design compiler), Fusion Compiler (fusion compiler), Genus (genus) can be used to generate the target circuit diagram based on the RTL design information corresponding to the target circuit.
S102:利用位置约束信息、以及目标电路图,生成目标电路的目标布图;位置约 束信息用于约束目标电路中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内。S102: Use the position constraint information and the target circuit diagram to generate a target layout of the target circuit; the position constraint information is used to constrain the target circuit, the output ends of the multiple target registers connected to the same target logic gate device and the target logic gate device The routing distance between them makes the time for the output signals of the multiple target registers to reach the target logic gate device within a preset range.
此处,约束目标电路中同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内,例如可以是将所述目标电路中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离约束为基本上相等,这样可以使得多个目标寄存器输出的信号到达该目标逻辑门器件的时间在预设范围内,甚至使得多个目标寄存器输出的信号能够在合理的时间范围内到达该目标逻辑门器件,从而被该目标逻辑门器件正确处理。本公开实施例中,预设范围可以表示为多个目标寄存器输出的信号到达目标逻辑门器件的时间之差的范围。预设范围可以很小,例如:为0,由此可以实现多个目标寄存器输出的信号同时到达该目标逻辑门器件的效果。Here, the routing distance between the output ends of multiple target registers connected to the same target logic gate device in the target circuit and the target logic gate device is constrained, so that the time for the output signals of the multiple target registers to reach the target logic gate device Within a preset range, for example, in the target circuit, the routing distances between the output ends of multiple target registers connected to the same target logic gate device and the target logic gate device can be constrained to be substantially equal, so that It can make the time for the signals output by multiple target registers to reach the target logic gate device within a preset range, and even enable the signals output from multiple target registers to reach the target logic gate device within a reasonable time range, so that the target logic gate device can be used by the target. The logic gate device is handled correctly. In the embodiment of the present disclosure, the preset range may be represented as a range of the time difference between the signals output by the multiple target registers reaching the target logic gate device. The preset range can be very small, for example: 0, thereby achieving the effect that the signals output by multiple target registers reach the target logic gate device at the same time.
在具体实施中,利用位置约束信息、以及目标电路图生成目标电路的目标布图时,例如可以对初始位置约束信息进行至少一次迭代,得到一个能够既满足位置约束要求、在该位置约束要求下又能够将集成电路部署在芯片中的位置约束信息,并基于得到的位置约束信息,以及目标电路图,生成目标电路的目标布图。In a specific implementation, when the target layout of the target circuit is generated by using the position constraint information and the target circuit diagram, for example, at least one iteration of the initial position constraint information may be performed to obtain a solution that can both satisfy the position constraint requirements and meet the position constraint requirements. The position constraint information of the integrated circuit can be deployed in the chip, and based on the obtained position constraint information and the target circuit diagram, the target layout of the target circuit is generated.
其中,在第一次迭代时,位置约束信息是基于初始位置约束信息确定的。Wherein, in the first iteration, the position constraint information is determined based on the initial position constraint information.
在除第一次迭代的其他次迭代中,位置约束信息是基于前一次迭代使用的位置约束信息确定的。In iterations other than the first iteration, the position constraint information is determined based on the position constraint information used in the previous iteration.
其中,初始位置约束信息,为首次迭代的位置约束信息,在利用位置约束信息、以及目标电路图,生成目标电路的目标布图之前,还可以包括:基于目标电路图进行电路功耗仿真分析,得到目标电路中各个逻辑门器件对应的电子脉冲功耗;基于各个逻辑门器件对应的电子脉冲功耗,从目标电路中确定目标逻辑门器件;以及,将输出端与目标逻辑门器件连接的寄存器确定为目标寄存器,并将目标寄存器、和目标逻辑门器件作为优化的目标。The initial position constraint information is the position constraint information of the first iteration. Before generating the target layout of the target circuit by using the position constraint information and the target circuit diagram, it may further include: performing circuit power consumption simulation analysis based on the target circuit diagram to obtain the target The electronic pulse power consumption corresponding to each logic gate device in the circuit; based on the electronic pulse power consumption corresponding to each logic gate device, the target logic gate device is determined from the target circuit; and the register connecting the output end and the target logic gate device is determined as The target register, and the target register, and the target logic gate device as the optimization target.
初始位置约束信息可以是通过为目标逻辑门器件、和其对应的目标寄存器设定初始的位置约束信息而得到的。The initial position constraint information may be obtained by setting initial position constraint information for the target logic gate device and its corresponding target register.
其中,在基于目标电路图进行电路功耗仿真分析时,由于能够确定目标逻辑门器件与对应的目标寄存器之间的走线距离,因此,可以利用进行电路功耗仿真分析确定出的目标逻辑门器件与对应的目标寄存器之间的走线距离,确定初始位置约束信息。例如,将与目标逻辑门器件之间的走线距离最大值作为初始位置约束信息,或者将与目标逻辑门器件之间的走线距离最小值作为初始位置约束信息,或者,在走线距离最大值和走线距离最小值之间随机确定一值作为初始位置约束信息。Among them, when the circuit power consumption simulation analysis is performed based on the target circuit diagram, since the routing distance between the target logic gate device and the corresponding target register can be determined, the target logic gate device determined by the circuit power consumption simulation analysis can be used. The routing distance with the corresponding target register determines the initial position constraint information. For example, the maximum distance between the wiring and the target logic gate device is used as the initial position constraint information, or the minimum distance between the wiring and the target logic gate device is used as the initial position constraint information, or, when the maximum wiring distance is A value is randomly determined between the value and the minimum line distance as the initial position constraint information.
另外,也可以根据走线距离的历史经验值,确定初始位置约束信息。In addition, the initial position constraint information may also be determined according to the historical experience value of the routing distance.
示例性的,如图2a所示,在基于目标电路图进行电路功耗仿真分析时,目标寄存器1和目标寄存器2距离目标逻辑门器件的走线距离值分别为5微米和3微米;则基于该电路功耗仿真分析结果确定的初始位置约束信息例如为:目标寄存器2和目标寄存器1与目标逻辑门器件之间的走线距离值都为3微米(如图2b示出)、或者都为4微米或者5微米(图2b中均未示出)。Exemplarily, as shown in Figure 2a, when the circuit power consumption simulation analysis is performed based on the target circuit diagram, the distances between the target register 1 and the target register 2 and the target logic gate device are respectively 5 microns and 3 microns; The initial position constraint information determined by the circuit power consumption simulation analysis result is, for example, the trace distance values between target register 2 and target register 1 and the target logic gate device are both 3 microns (as shown in Figure 2b), or both are 4 microns or 5 microns (neither shown in Figure 2b).
参见图3所示,本公开实施例提供一种利用位置约束信息、以及目标电路图,生成目标电路的目标布图的具体方法,包括:Referring to FIG. 3 , an embodiment of the present disclosure provides a specific method for generating a target layout of a target circuit by using location constraint information and a target circuit diagram, including:
S301:执行至少一次迭代,在每次迭代中:利用当前迭代的位置约束信息、以及 目标电路图,生成目标电路中的多个目标寄存器与目标逻辑门器件的布局信息;S301: perform at least one iteration, in each iteration: use the position constraint information of the current iteration and the target circuit diagram to generate the layout information of multiple target registers and target logic gate devices in the target circuit;
S302:响应于满足预设的迭代停止条件,基于布局信息,生成目标布图。S302: In response to satisfying a preset iteration stop condition, generate a target layout based on the layout information.
在具体实施中,布局信息例如包括:目标寄存器与目标逻辑门器件分别对应的位置信息、以及尺寸信息;基于布局信息生成目标布图时,例如基于目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息,确定目标电路占据的芯片空间尺寸;将芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;在芯片空间尺寸小于或者等于芯片空间尺寸阈值的情况下,基于布局信息生成目标布图。In a specific implementation, the layout information includes, for example: position information and size information corresponding to the target register and the target logic gate device respectively; when generating the target layout based on the layout information, for example, based on the position information corresponding to the target register and the target logic gate device respectively and size information to determine the chip space size occupied by the target circuit; compare the chip space size with the preset chip space size threshold; when the chip space size is less than or equal to the chip space size threshold, generate the target layout based on the layout information picture.
其中,迭代停止条件例如包括下述至少一种:目标电路占据的芯片空间尺寸小于或者等于芯片空间尺寸阈值;或者在目标电路占据的芯片空间尺寸小于或者等于芯片空间尺寸阈值的情况下,当前迭代的位置约束信息中目标寄存器和对应目标逻辑门器件之间的走线距离值达到最小、目标电路能够部署在芯片中、目标电路的功耗值小于预设功耗值。The iteration stop condition includes, for example, at least one of the following: the size of the chip space occupied by the target circuit is less than or equal to the chip space size threshold; or when the size of the chip space occupied by the target circuit is less than or equal to the chip space size threshold, the current iteration The routing distance value between the target register and the corresponding target logic gate device in the location constraint information of the target circuit reaches the minimum value, the target circuit can be deployed in the chip, and the power consumption value of the target circuit is less than the preset power consumption value.
针对将目标电路占据的芯片空间尺寸小于或者等于芯片空间尺寸阈值作为迭代停止条件的情况,目标寄存器与目标逻辑门器件分别对应的位置信息例如包括目标寄存器与目标逻辑门器件分别在芯片的模拟空间Floorplan(平面布置图)中占据的位置;目标寄存器与目标逻辑门器件分别对应的尺寸信息例如包括目标寄存器与目标逻辑门器件分别对应的体积、形状等。For the case where the chip space size occupied by the target circuit is less than or equal to the chip space size threshold as the iteration stop condition, the position information corresponding to the target register and the target logic gate device respectively includes, for example, the target register and the target logic gate device respectively in the simulation space of the chip The position occupied in the Floorplan; the size information corresponding to the target register and the target logic gate device respectively includes, for example, the volume and shape corresponding to the target register and the target logic gate device respectively.
针对芯片空间尺寸大于芯片空间尺寸阈值的情况,基于当前迭代的位置约束信息生成新的位置约束信息;将新的位置约束信息作为当前迭代的位置约束信息,返回利用当前迭代的位置约束信息、以及目标电路图,生成目标电路中的多个目标寄存器与目标逻辑门器件的布局信息的步骤。For the case where the chip space size is larger than the chip space size threshold, generate new position constraint information based on the position constraint information of the current iteration; use the new position constraint information as the position constraint information of the current iteration, return the position constraint information using the current iteration, and The target circuit diagram includes the steps of generating layout information of multiple target registers and target logic gate devices in the target circuit.
这样,能基于目标电路占据的空间尺寸是否大于预设的芯片空间尺寸阈值判断当前的位置约束信息是否为合适的位置约束信息;在基于当前迭代的位置约束信息确定的目标电路占据的芯片空间尺寸,小于或者等于预设的芯片空间尺寸阈值时,也即在当前迭代的位置约束信息下,目标电路中的各器件(例如目标寄存器、目标逻辑门器件等)可以在芯片中为目标电路确定的部署区域中正常排布时,该位置约束信息为合适的位置约束信息。在基于当前迭代的位置约束信息确定的目标电路占据的芯片空间尺寸,大于预设的芯片空间尺寸阈值时,也即在该位置约束信息下,目标电路中的各个器件无法在芯片中为目标电路确定的部署区域中正常排布时,当前的位置约束信息不是合适的位置约束信息,需要执行下一次迭代。此时,可以将当前迭代的位置约束信息更新后作为下一次迭代的位置约束信息,然后重新返回利用当前迭代的位置约束信息、以及目标电路图,生成目标电路中的多个目标寄存器与目标逻辑门器件的布局信息的步骤,即,执行下一次迭代,直至确定合适的位置约束信息,即在芯片空间尺寸小于或者等于芯片空间尺寸阈值时,基于布局信息生成目标布图。In this way, it can be determined whether the current position constraint information is appropriate position constraint information based on whether the space size occupied by the target circuit is greater than the preset chip space size threshold; , when it is less than or equal to the preset chip space size threshold, that is, under the position constraint information of the current iteration, each device in the target circuit (such as target register, target logic gate device, etc.) can be determined in the chip for the target circuit. When normally arranged in the deployment area, the location constraint information is appropriate location constraint information. When the chip space size occupied by the target circuit determined based on the position constraint information of the current iteration is larger than the preset chip space size threshold, that is, under the position constraint information, each device in the target circuit cannot be the target circuit in the chip When it is normally arranged in the determined deployment area, the current location constraint information is not suitable location constraint information, and the next iteration needs to be performed. At this time, the position constraint information of the current iteration can be updated as the position constraint information of the next iteration, and then return to use the position constraint information of the current iteration and the target circuit diagram to generate multiple target registers and target logic gates in the target circuit The step of device layout information, ie, perform the next iteration until suitable position constraint information is determined, ie, when the chip space size is less than or equal to the chip space size threshold, generate a target layout based on the layout information.
此处,在芯片空间尺寸大于芯片空间尺寸阈值的情况下,基于当前迭代的位置约束信息生成新的位置约束信息时,例如可以减小当前迭代的位置约束信息中目标寄存器和对应目标逻辑门器件之间的走线距离值,得到新的位置约束信息。Here, when the chip space size is greater than the chip space size threshold, when new position constraint information is generated based on the position constraint information of the current iteration, for example, the target register and the corresponding target logic gate device in the position constraint information of the current iteration can be reduced. The distance value between the traces to get the new position constraint information.
另外,由于目标电路的功耗还与目标寄存器和目标逻辑门器件之间的走线距离相关,也即走线距离越大,则目标电路功耗越大;因此,为了进一步的减小目标电路的功耗,在另一实施例中,在芯片空间尺寸小于或者等于芯片空间尺寸阈值的情况下,也可以进一步的减小当前迭代的位置约束信息中目标寄存器和对应目标逻辑门器件之间的走线距离值,得到新的位置约束信息,并进入下一轮迭代;直至当前迭代的位置约束信息中目标寄存器和对应目标逻辑门器件之间的走线距离值在至少一次迭代中达到最小, 且目标电路能够部署在芯片中,这里,目标电路无法部署在芯片中,例如包括:目标电路中的具有连接关系的器件无法正常走线。In addition, since the power consumption of the target circuit is also related to the routing distance between the target register and the target logic gate device, that is, the greater the routing distance, the greater the power consumption of the target circuit; therefore, in order to further reduce the target circuit In another embodiment, when the chip space size is less than or equal to the chip space size threshold, the power consumption between the target register and the corresponding target logic gate device in the position constraint information of the current iteration can also be further reduced. Get the new position constraint information, and enter the next round of iteration; until the routing distance value between the target register and the corresponding target logic gate device in the position constraint information of the current iteration reaches the minimum value in at least one iteration, In addition, the target circuit can be deployed in the chip. Here, the target circuit cannot be deployed in the chip, for example, the devices with the connection relationship in the target circuit cannot be routed normally.
针对目标电路能够部署在芯片中的迭代停止条件,本公开另一实施例中,布局信息例如还包括目标寄存器与目标逻辑门器件之间的走线关系信息;基于布局信息,生成目标布图时,例如:基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中;在确定目标电路能够部署在芯片中的情况下,基于布局信息,生成目标布图。For the iterative stop condition that the target circuit can be deployed in the chip, in another embodiment of the present disclosure, the layout information further includes, for example, the routing relationship information between the target register and the target logic gate device; based on the layout information, when the target layout is generated , for example: determine whether the target circuit can be deployed in the chip based on the routing relationship information between the target register and the target logic gate device; if it is determined that the target circuit can be deployed in the chip, generate the target layout based on the layout information .
其中,走线关系信息例如包括该多个目标寄存器中每一目标寄存器与该目标逻辑门器件之间的线路连接距离、连接位置、以及连接方式等至少一种;基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中时,例如确定每一目标寄存器与该目标逻辑门器件之间的线路连接(例如线路连接距离、连接位置、以及连接方式等)是否可以实现。Wherein, the routing relationship information includes, for example, at least one of the line connection distance, connection position, and connection method between each target register in the plurality of target registers and the target logic gate device; based on the target register and the target logic gate device When determining whether the target circuit can be deployed in the chip, for example, determining the line connection between each target register and the target logic gate device (such as line connection distance, connection position, and connection method, etc.) Is it achievable.
另外,在确定目标电路不能部署在芯片中的情况下,基于当前迭代的位置约束信息生成新的位置约束信息;将新的位置约束信息作为当前迭代的位置约束信息,返回利用当前迭代的位置约束信息、以及目标电路图,生成目标电路中的多个目标寄存器与目标逻辑门器件的布局信息的步骤。In addition, when it is determined that the target circuit cannot be deployed in the chip, new position constraint information is generated based on the position constraint information of the current iteration; the new position constraint information is used as the position constraint information of the current iteration, and the position constraint using the current iteration is returned. information, and a target circuit diagram, and a step of generating layout information of a plurality of target registers and target logic gate devices in the target circuit.
这样,能基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中,进而确定当前的位置约束信息是否为合适的位置约束信息。当确定目标电路不能部署在芯片中时,代表在当前迭代的位置约束信息下,目标电路中的各器件(例如目标寄存器、目标逻辑门器件等)即使可以排布在芯片中,也无法实现各器件之间的走线关系,也即该目标电路无法在芯片中实现,当前的位置约束信息不是合适的位置约束信息,需要执行下一次迭代。此时,可以将当前迭代的位置约束信息更新后作为下一次迭代的位置约束信息,然后重新返回利用当前迭代的位置约束信息、以及目标电路图,生成目标电路中的多个目标寄存器与目标逻辑门器件的布局信息的步骤,即,执行下一次迭代,直至确定合适的位置约束信息,即在确定目标电路能够部署在芯片中时,基于布局信息生成目标布图。In this way, based on the routing relationship information between the target register and the target logic gate device, it can be determined whether the target circuit can be deployed in the chip, and then it can be determined whether the current position constraint information is suitable position constraint information. When it is determined that the target circuit cannot be deployed in the chip, it means that under the position constraint information of the current iteration, each device in the target circuit (such as target registers, target logic gate devices, etc.) The wiring relationship between the devices, that is, the target circuit cannot be implemented in the chip, the current position constraint information is not suitable position constraint information, and the next iteration needs to be performed. At this time, the position constraint information of the current iteration can be updated as the position constraint information of the next iteration, and then return to use the position constraint information of the current iteration and the target circuit diagram to generate multiple target registers and target logic gates in the target circuit The step of layout information of the device, ie, performing the next iteration until suitable location constraint information is determined, ie, generating a target layout based on the layout information when it is determined that the target circuit can be deployed in the chip.
针对目标电路的功耗值小于预设功耗值的停止迭代条件,在基于当前位置约束信息生成的布局信息可以将目标电路在芯片中实现后,还可以基于当前位置约束信息生成的布局信息对应的电路的功耗值判断当前位置约束信息是否为合适的位置约束信息,因此,本公开另一实施例中,基于当前迭代所生成的布局信息,进行电路功耗仿真分析,得到目标电路的功耗值;在确定目标电路的功耗值小于预设功耗值的情况下,基于布局信息,生成目标布图。For the stop iteration condition that the power consumption value of the target circuit is less than the preset power consumption value, after the layout information generated based on the current position constraint information can implement the target circuit in the chip, the layout information generated based on the current position constraint information can also correspond to Therefore, in another embodiment of the present disclosure, circuit power consumption simulation analysis is performed based on the layout information generated by the current iteration to obtain the power consumption of the target circuit. power consumption value; in the case that the power consumption value of the target circuit is determined to be less than the preset power consumption value, the target layout is generated based on the layout information.
另外,在确定目标电路的功耗值大于或者等于预设功耗值的情况下,基于当前迭代的位置约束信息生成新的位置约束信息;将新的位置约束信息作为当前迭代的位置约束信息,返回利用当前迭代的位置约束信息、以及目标电路图,生成目标电路中的多个目标寄存器与目标逻辑门器件的布局信息的步骤。In addition, when it is determined that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, new position constraint information is generated based on the position constraint information of the current iteration; the new position constraint information is used as the position constraint information of the current iteration, Returns to the step of generating layout information of a plurality of target registers and target logic gate devices in the target circuit by using the position constraint information of the current iteration and the target circuit diagram.
这样,当确定目标电路的功耗值大于或者等于预设功耗值时,代表在当前位置约束信息下,即使可以将目标电路在芯片中实现,但是芯片在使用的过程中,芯片中的目标电路的功耗值过大,会影响芯片的运行的稳定性,因此当前的位置约束信息不是合适的位置约束信息,需要执行下一次迭代。此时,可以将当前迭代的位置约束信息更新后作为下一次迭代的位置约束信息,然后重新返回利用当前迭代的位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息的步骤,即,执行下一次迭代,直至确定合适的位置约束信息,即在确定目标电路的功耗值小于预设功耗值时,基于布局信息生成目标布图。In this way, when it is determined that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, it means that under the current position constraint information, even if the target circuit can be implemented in the chip, the target circuit in the chip is still in the process of using the chip. If the power consumption of the circuit is too large, the stability of the operation of the chip will be affected, so the current position constraint information is not suitable position constraint information, and the next iteration needs to be performed. At this time, the position constraint information of the current iteration can be updated as the position constraint information of the next iteration, and then return to use the position constraint information of the current iteration and the target circuit diagram to generate the target register in the target circuit and the target logic gate device. The step of laying out information, that is, executing the next iteration until the appropriate position constraint information is determined, that is, when it is determined that the power consumption value of the target circuit is less than the preset power consumption value, generating a target layout based on the layout information.
如图4所示,为本公开实施例所提供的一种电路布图生成方法的具体实施流程图,包括:As shown in FIG. 4 , a specific implementation flowchart of a method for generating a circuit layout provided by an embodiment of the present disclosure includes:
S401:利用目标电路对应的RTL(寄存器传输级)设计信息生成目标电路图。S401: Generate a target circuit diagram using RTL (register transfer level) design information corresponding to the target circuit.
S402:利用位置约束信息、以及目标电路图,生成目标电路中的目标寄存器与目标逻辑门器件的布局信息,布局信息包括:目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息、以及目标寄存器与目标逻辑门器件之间的走线关系信息。S402: Using the position constraint information and the target circuit diagram, generate layout information of the target register and the target logic gate device in the target circuit, where the layout information includes: position information and size information corresponding to the target register and the target logic gate device respectively, and the target register The trace relationship information to the target logic gate device.
S403:基于目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息,确定目标电路占据的芯片空间尺寸;确定芯片空间尺寸是否小于或者等于预设的芯片空间尺寸阈值;是,则跳转至步骤S404;否,则跳转至步骤S405。S403: Determine the chip space size occupied by the target circuit based on the position information and size information respectively corresponding to the target register and the target logic gate device; determine whether the chip space size is less than or equal to a preset chip space size threshold; if yes, then jump to Step S404; if no, jump to step S405.
S404:基于目标寄存器与目标逻辑门器件之间的走线关系信息,确定目标电路是否能够部署在芯片中,如果是则跳转至步骤S406;如果否,则跳转至步骤S405。S404: Based on the routing relationship information between the target register and the target logic gate device, determine whether the target circuit can be deployed in the chip, if so, jump to step S406; if not, jump to step S405.
S405:基于当前的位置约束信息生成新的位置约束信息,将新的位置约束信息作为当前的位置约束信息,跳转至步骤S402。S405: Generate new location constraint information based on the current location constraint information, use the new location constraint information as the current location constraint information, and jump to step S402.
S406:基于布局信息,进行电路功耗仿真分析,得到目标电路的功耗值,确定目标电路的功耗值是否小于预设功耗值,如果是,则跳转至步骤S407;如果否,则跳转至步骤S405。S406: Based on the layout information, perform circuit power consumption simulation analysis to obtain the power consumption value of the target circuit, and determine whether the power consumption value of the target circuit is less than the preset power consumption value, and if so, jump to step S407; if not, then Jump to step S405.
S407:基于布局信息,生成目标布图。S407: Based on the layout information, generate a target layout.
通过上述过程,使得基于生成的目标布图制造出的集成电路的功耗较小。Through the above process, the power consumption of the integrated circuit manufactured based on the generated target layout is reduced.
如图5所示,为本公开实施例提供的一种生成电路布图生成方法的具体示例,包括:As shown in FIG. 5 , a specific example of a method for generating a circuit layout provided by an embodiment of the present disclosure includes:
S501:利用集成电路设计工具Design Compiler(设计编译器)读入目标电路的RTL(寄存器传输级)设计信息。S501: Use the integrated circuit design tool Design Compiler (design compiler) to read in the RTL (register transfer level) design information of the target circuit.
S502:在Design Compiler中定义目标电路的relative placement(相对位置)约束文件以设置位置约束信息。S502: Define a relative placement (relative position) constraint file of the target circuit in Design Compiler to set position constraint information.
其中,relative placement约束文件用来约束目标寄存器的位置,以此约束同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离相等。Among them, the relative placement constraint file is used to constrain the position of the target register, so as to constrain the routing distance between the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate device to be equal.
S503:读入芯片的模拟空间Floorplan(平面布置图)信息。S503: Read in the simulation space Floorplan (floor plan) information of the chip.
其中,Floorplan信息为芯片空间尺寸阈值大小的模拟空间。Among them, the Floorplan information is the simulation space of the chip space size threshold size.
S504:进行物理综合:基于RTL设计信息生成目标电路图,并基于Floorplan信息、以及位置约束信息,确定目标电路图中的各器件(例如目标寄存器、以及目标逻辑门器件)是否能够满足摆放到芯片的模拟空间Floorplan中的要求,如果否,跳转至步骤S502,如果是,则跳转至步骤S505。S504: Perform physical synthesis: generate a target circuit diagram based on the RTL design information, and determine whether each device in the target circuit diagram (for example, target registers and target logic gate devices) can meet the requirements placed on the chip based on the Floorplan information and the position constraint information. Simulate the requirements in the space Floorplan, if no, go to step S502, if yes, go to step S505.
S505:基于relative placement约束文件设置ICCQ(集成电路设计工具)的tcl(tool command language,工具命令语言)文件。S505: Set the tcl (tool command language, tool command language) file of the ICCQ (Integrated Circuit Design Tool) based on the relative placement constraint file.
其中,集成电路设计工具ICCQ是用来实现集成电路走线仿真的软件,tcl文件是ICCQ中用来约束目标电路中各器件的位置的约束文件,基于relative placement约束文件设置tcl文件保证利用ICCQ进行走线仿真时,目标电路中各器件的摆放位置与在芯片的模拟空间Floorplan中的摆放位置相同。Among them, the integrated circuit design tool ICCQ is the software used to realize the simulation of integrated circuit traces, and the tcl file is the constraint file used in ICCQ to constrain the position of each device in the target circuit. During trace simulation, the placement position of each device in the target circuit is the same as the placement position in the chip's simulation space Floorplan.
S506:基于tcl文件完成对目标电路的走线仿真,确定基于tcl文件的约束是否可以实现走线仿真,如果是,则跳转步骤S507,如果否,则跳转步骤S502。S506: Complete the routing simulation of the target circuit based on the tcl file, and determine whether the routing simulation can be implemented based on the constraints of the tcl file, if yes, skip to step S507, and if not, skip to step S502.
S507:抽取目标电路对应的完成布局布线的虚拟集成电路的延时信息,利用PrimePower(原动力)对延时信息进行功耗分析,确定目标电路的虚拟集成电路的电子脉冲功耗是否小于预设功耗值;如果是,则跳转至步骤S508,如果否,跳转至步骤S502。S507: Extract the delay information of the virtual integrated circuit corresponding to the target circuit that has completed the layout and wiring, use PrimePower (motive force) to analyze the power consumption of the delay information, and determine whether the electronic pulse power consumption of the virtual integrated circuit of the target circuit is less than the preset power consumption. consumption value; if yes, go to step S508, if no, go to step S502.
S508:基于目标电路对应的完成布局布线的虚拟集成电路生成目标电路的目标布图。S508: Generate a target layout of the target circuit based on the virtual integrated circuit corresponding to the target circuit that has completed layout and wiring.
本公开实施例,在生成芯片中目标电路的目标布图时,通过目标电路对应的RTL设计信息生成目标电路图,然后基于位置约束信息和目标电路图,生成目标电路的目标布图,这样,得到的目标布图中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离是基本一致的,也即同一目标逻辑门器件所连接的多个目标寄存器向该目标逻辑门器件传输信号所需要的时间基本一致,进而能够使得不同目标寄存器传输至同一目标逻辑门器件的信号几乎在相同时刻到达,减少目标逻辑门器件由于输入的信号在不同时刻到达导致的无效翻转的次数,从而有效减少目标电路的功耗值,提升芯片中目标电路运行的稳定性。In this embodiment of the present disclosure, when the target layout of the target circuit in the chip is generated, the target circuit diagram is generated by using the RTL design information corresponding to the target circuit, and then the target layout of the target circuit is generated based on the position constraint information and the target circuit diagram. In this way, the obtained In the target layout, the routing distances between the output terminals of multiple target registers connected to the same target logic gate device and the target logic gate device are basically the same, that is, multiple targets connected to the same target logic gate device The time required for the register to transmit signals to the target logic gate device is basically the same, so that the signals transmitted from different target registers to the same target logic gate device can arrive at almost the same time, reducing the target logic gate device because the input signal arrives at different times The number of invalid flips caused, thereby effectively reducing the power consumption value of the target circuit and improving the stability of the operation of the target circuit in the chip.
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。Those skilled in the art can understand that in the above method of the specific implementation, the writing order of each step does not mean a strict execution order but constitutes any limitation on the implementation process, and the specific execution order of each step should be based on its function and possible Internal logic is determined.
基于同一发明构思,本公开实施例中还提供了与电路布图生成方法对应的电路布图生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述电路布图生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。Based on the same inventive concept, the embodiment of the present disclosure also provides a circuit layout generation device corresponding to the circuit layout generation method, because the principle of solving the problem of the device in the embodiment of the present disclosure is the same as the above-mentioned circuit layout generation method of the embodiment of the present disclosure. Similar, therefore, the implementation of the apparatus may refer to the implementation of the method, and repeated descriptions will not be repeated.
参照图6所示,为本公开实施例提供的一种电路布图生成装置的示意图,所述装置包括:第一生成模块601、以及第二生成模块602;其中,Referring to FIG. 6 , which is a schematic diagram of an apparatus for generating a circuit layout provided by an embodiment of the present disclosure, the apparatus includes: a first generating module 601 and a second generating module 602 ; wherein,
第一生成模块601,用于利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;The first generation module 601 is used to generate a target circuit diagram by using the register transfer level RTL design information corresponding to the target circuit;
第二生成模块602,用于利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;所述位置约束信息用于约束所述目标电路中,同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内。The second generation module 602 is configured to generate a target layout of the target circuit by using the position constraint information and the target circuit diagram; the position constraint information is used to constrain the target circuit, the same target logic gate device is connected The wiring distance between the output ends of the multiple target registers and the target logic gate device makes the time when the output signals of the multiple target registers reach the target logic gate device within a preset range.
在一种可能的实施方式中,所述位置约束信息用于将所述多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离约束为基本上相等。In a possible implementation manner, the location constraint information is used to constrain the routing distances between the output terminals of the plurality of target registers and the target logic gate device to be substantially equal.
在一种可能的实施方式中,在利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图时,所述第二生成模块,具体用于执行至少一次迭代,在每次所述迭代中:利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息;响应于满足预设的迭代停止条件,基于所述布局信息,生成所述目标布图。In a possible implementation manner, when generating the target layout of the target circuit by using the position constraint information and the target circuit diagram, the second generation module is specifically configured to perform at least one iteration, in each In the iteration: using the position constraint information of the current iteration and the target circuit diagram to generate layout information of the multiple target registers and the target logic gate device in the target circuit; in response to satisfying a preset iteration A stop condition generates the target layout based on the layout information.
在一种可能的实施方式中,当前迭代的位置约束信息,是基于前一次迭代的位置约束信息确定的,或基于首次迭代对应的初始位置约束信息确定的。In a possible implementation manner, the position constraint information of the current iteration is determined based on the position constraint information of the previous iteration, or determined based on the initial position constraint information corresponding to the first iteration.
在一种可能的实施方式中,所述布局信息包括:目标寄存器与目标逻辑门器件分别对应的位置信息和尺寸信息;所述第二生成模块,具体用于基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;将所述芯片空间尺寸和预设的芯片空间 尺寸阈值进行比对;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the layout information includes: position information and size information respectively corresponding to the target register and the target logic gate device; the second generation module is specifically configured to generate the layout based on the current iteration In the information, the position information and size information corresponding to the multiple target registers and the target logic gate device respectively, determine the chip space size occupied by the target circuit; the chip space size and the preset chip space size threshold performing a comparison; when generating the target layout based on the layout information in response to satisfying the iteration stop condition, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space A size threshold, and based on the layout information, the target layout is generated.
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the second generation module is further configured to, in response to the chip space size being greater than the chip space size threshold, generate new position constraint information based on the position constraint information of the current iteration; The new position constraint information is used as the position constraint information of the current iteration, the position constraint information using the current iteration and the target circuit diagram are returned, and the plurality of target registers and the target logic gate in the target circuit are generated. Steps for placement information of the device.
在一种可能的实施方式中,所述第二生成模块,还用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且当前迭代的位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值未达到最小值,减小所述位置约束信息中所述目标寄存器和所述目标逻辑门器件之间的距离值,得到新的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值,且所述位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值达到所述至少一次迭代中的最小值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the second generation module is further configured to respond that the chip space size is less than or equal to the chip space size threshold, and the target registers and the target registers in the position constraint information of the current iteration are The distance value between the target logic gate devices does not reach the minimum value, reduce the distance value between the target register and the target logic gate device in the position constraint information, obtain new position constraint information, and return the Describe the step of using the position constraint information of the current iteration and the target circuit diagram to generate the layout information of the plurality of target registers and the target logic gate device in the target circuit; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to respond that the chip space size is less than or equal to the chip space size threshold, and each of the position constraint information The distance value between the target register and the target logic gate device reaches the minimum value in the at least one iteration, and the target layout is generated based on the layout information.
在一种可能的实施方式中,所述布局信息包括:所述多个目标寄存器与所述目标逻辑门器件之间的走线关系信息;所述第二生成模块,还用于基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路能够部署在芯片中,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the layout information includes: routing relationship information between the multiple target registers and the target logic gate device; the second generation module is further configured to generate data based on the current iteration In the generated layout information, the routing relationship information between the multiple target registers and the target logic gate device determines whether the target circuit can be deployed in the chip; in response to satisfying the iteration stop condition, based on For the layout information, when the target layout is generated, the second generation module is specifically configured to, in response to determining that the target circuit can be deployed in the chip, generate the target layout based on the layout information.
在一种可能的实施方式中,所述第二生成模块,还用于响应于确定所述目标电路不能部署在芯片中,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the second generation module is further configured to, in response to determining that the target circuit cannot be deployed in the chip, generate new position constraint information based on the position constraint information of the current iteration; The position constraint information of the current iteration is used as the position constraint information of the current iteration, and the position constraint information of the current iteration and the target circuit diagram are returned, and the relationship between the plurality of target registers in the target circuit and the target logic gate device is generated. Steps for laying out information.
在一种可能的实施方式中,所述第二生成模块,还用于基于当前迭代所生成的所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;在响应于满足迭代停止条件,基于所述布局信息,生成所述目标布图时,所述第二生成模块,具体用于响应于确定所述目标电路的功耗值小于预设功耗值,基于所述布局信息,生成所述目标布图。In a possible implementation manner, the second generation module is further configured to perform circuit power consumption simulation analysis based on the layout information generated by the current iteration to obtain a power consumption value of the target circuit; When the iteration stop condition is satisfied, and the target layout is generated based on the layout information, the second generation module is specifically configured to, in response to determining that the power consumption value of the target circuit is less than a preset power consumption value, generate the target layout based on the layout information to generate the target layout.
在一种可能的实施方式中,所述第二生成模块,还用于:响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于当前迭代的位置约束信息生成新的位置约束信息;将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。In a possible implementation manner, the second generating module is further configured to: in response to determining that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, generate the position constraint information based on the current iteration new position constraint information; use the new position constraint information as the position constraint information of the current iteration, return the position constraint information using the current iteration and the target circuit diagram, and generate the plurality of target circuits The steps of the target register and the layout information of the target logic gate device.
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。For the description of the processing flow of each module in the apparatus and the interaction flow between the modules, reference may be made to the relevant descriptions in the foregoing method embodiments, which will not be described in detail here.
本公开实施例还提供了一种计算机设备,如图7所示,为本公开实施例提供的计算机设备结构示意图,包括:An embodiment of the present disclosure further provides a computer device. As shown in FIG. 7 , the schematic structural diagram of the computer device provided by the embodiment of the present disclosure includes:
处理器71和存储器72;所述存储器72存储有处理器71可执行的机器可读指令,处理器71用于执行存储器72中存储的机器可读指令,所述机器可读指令被处理器71执行时,处理器71执行下述步骤:A processor 71 and a memory 72; the memory 72 stores machine-readable instructions executable by the processor 71, the processor 71 is configured to execute the machine-readable instructions stored in the memory 72, and the machine-readable instructions are executed by the processor 71 When executed, the processor 71 performs the following steps:
利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;Generate the target circuit diagram using the register transfer level RTL design information corresponding to the target circuit;
利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;generating a target layout of the target circuit using the position constraint information and the target circuit diagram;
所述位置约束信息用于约束所述目标电路中同一目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内。The position constraint information is used to constrain the wiring distance between the output ends of multiple target registers connected to the same target logic gate device in the target circuit and the target logic gate device, so that the multiple target registers output signals The time to reach the target logic gate device is within a preset range.
上述存储器72包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换。The above-mentioned memory 72 includes a memory 721 and an external memory 722; the memory 721 here is also called an internal memory, which is used to temporarily store the operation data in the processor 71 and the data exchanged with the external memory 722 such as the hard disk. The external memory 722 performs data exchange.
上述指令的具体执行过程可以参考本公开实施例中所述的电路布图生成方法的步骤,此处不再赘述。For the specific execution process of the above-mentioned instructions, reference may be made to the steps of the circuit layout generation method described in the embodiments of the present disclosure, and details are not described herein again.
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的电路布图生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。Embodiments of the present disclosure further provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is run by a processor, the steps of the circuit layout generation method described in the foregoing method embodiments are executed. . Wherein, the storage medium may be a volatile or non-volatile computer-readable storage medium.
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的电路布图生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。Embodiments of the present disclosure further provide a computer program product, where the computer program product carries program codes, and the instructions included in the program codes can be used to execute the steps of the circuit layout generation method described in the above method embodiments. For details, please refer to The foregoing method embodiments are not repeated here.
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。Wherein, the above-mentioned computer program product can be specifically implemented by means of hardware, software or a combination thereof. In an optional embodiment, the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK), etc. Wait.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。Those skilled in the art can clearly understand that, for the convenience and brevity of description, for the specific working process of the system and device described above, reference may be made to the corresponding process in the foregoing method embodiments, which will not be repeated here. In the several embodiments provided by the present disclosure, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. The apparatus embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces, indirect coupling or communication connection of devices or units, which may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各 个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。The functions, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a processor-executable non-volatile computer-readable storage medium. Based on such understanding, the technical solutions of the present disclosure can be embodied in the form of software products in essence, or the parts that contribute to the prior art or the parts of the technical solutions. The computer software products are stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present disclosure. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。Finally, it should be noted that the above-mentioned embodiments are only specific implementations of the present disclosure, and are used to illustrate the technical solutions of the present disclosure, but not to limit them. The protection scope of the present disclosure is not limited to this, although the aforementioned The embodiments describe the present disclosure in detail, and those skilled in the art should understand that: any person skilled in the art can still modify the technical solutions described in the foregoing embodiments within the technical scope disclosed by the present disclosure. Or can easily think of changes, or equivalently replace some of the technical features; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure, and should be covered in the present disclosure. within the scope of protection. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.

Claims (14)

  1. 一种电路布图生成方法,其特征在于,包括:A method for generating a circuit layout, comprising:
    利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;Generate the target circuit diagram using the register transfer level RTL design information corresponding to the target circuit;
    利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;generating a target layout of the target circuit using the position constraint information and the target circuit diagram;
    其中,所述位置约束信息用于约束所述目标电路中目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内。Wherein, the position constraint information is used to constrain the wiring distance between the output terminals of multiple target registers connected to the target logic gate device in the target circuit and the target logic gate device, so that the multiple target registers output The time for the signal to reach the target logic gate device is within a preset range.
  2. 根据权利要求1所述的电路布图生成方法,其特征在于,所述位置约束信息用于将所述多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离约束为基本上相等。The circuit layout generation method according to claim 1, wherein the position constraint information is used to constrain the wiring distance between the output terminals of the plurality of target registers and the target logic gate device to be substantially equal.
  3. 根据权利要求1或2所述的电路布图生成方法,其特征在于,所述利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图,包括:The method for generating a circuit layout according to claim 1 or 2, wherein the generating the target layout of the target circuit by using the position constraint information and the target circuit diagram comprises:
    执行至少一次迭代,在每次所述迭代中,利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息;Execute at least one iteration, and in each iteration, use the position constraint information of the current iteration and the target circuit diagram to generate layout information of the plurality of target registers and the target logic gate device in the target circuit ;
    响应于满足预设的迭代停止条件,基于所述布局信息,生成所述目标布图。The target layout is generated based on the layout information in response to satisfying a preset iteration stop condition.
  4. 根据权利要求3所述的电路布图生成方法,其特征在于,所述当前迭代的位置约束信息,是基于前一次迭代的位置约束信息确定的,或基于首次迭代对应的初始位置约束信息确定的。The circuit layout generation method according to claim 3, wherein the position constraint information of the current iteration is determined based on the position constraint information of the previous iteration, or determined based on the initial position constraint information corresponding to the first iteration .
  5. 根据权利要求3所述的电路布图生成方法,其特征在于,所述方法还包括:The method for generating a circuit layout according to claim 3, wherein the method further comprises:
    基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件分别对应的位置信息和尺寸信息,确定所述目标电路占据的芯片空间尺寸;Determine the chip space size occupied by the target circuit based on the position information and size information respectively corresponding to the target registers and the target logic gate device in the layout information generated by the current iteration;
    将所述芯片空间尺寸和预设的芯片空间尺寸阈值进行比对;comparing the chip space size with a preset chip space size threshold;
    其中,所述迭代停止条件,包括:所述芯片空间尺寸小于或者等于所述芯片空间尺寸阈值。Wherein, the iteration stop condition includes: the chip space size is less than or equal to the chip space size threshold.
  6. 根据权利要求5所述的电路布图生成方法,其特征在于,所述方法还包括:The method for generating a circuit layout according to claim 5, wherein the method further comprises:
    响应于所述芯片空间尺寸大于所述芯片空间尺寸阈值,基于当前迭代的位置约束信息生成新的位置约束信息;In response to the chip space size being greater than the chip space size threshold, generating new position constraint information based on the position constraint information of the current iteration;
    将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。Using the new position constraint information as the position constraint information of the current iteration, returning the position constraint information using the current iteration and the target circuit diagram, and generating the plurality of target registers in the target circuit and the target Steps for placement information of logic gate devices.
  7. 根据权利要求6所述的电路布图生成方法,其特征在于,所述基于当前迭代的位置约束信息生成新的位置约束信息,包括:The method for generating a circuit layout according to claim 6, wherein the generating new position constraint information based on the position constraint information of the current iteration comprises:
    在所述位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值未达到最小值的情况下,减小所述位置约束信息中所述目标寄存器和所述目标逻辑门器件之间的距离值,得到新的位置约束信息;In the case that the distance value between each target register and the target logic gate device in the position constraint information does not reach the minimum value, reduce the target register and the target logic gate in the position constraint information The distance value between the devices, get the new position constraint information;
    其中,所述迭代停止条件,还包括:所述位置约束信息中各所述目标寄存器和所述目标逻辑门器件之间的距离值达到所述至少一次迭代中的最小值。Wherein, the iteration stop condition further includes: the distance value between each of the target registers and the target logic gate device in the position constraint information reaches the minimum value in the at least one iteration.
  8. 根据权利要求3至6任一项所述的电路布图生成方法,其特征在于,所述方法还包括:The method for generating a circuit layout according to any one of claims 3 to 6, wherein the method further comprises:
    基于当前迭代所生成的所述布局信息中,所述多个目标寄存器与所述目标逻辑门器件之间的走线关系信息,确定所述目标电路是否能够部署在芯片中;Determine whether the target circuit can be deployed in the chip based on the routing relationship information between the multiple target registers and the target logic gate device in the layout information generated by the current iteration;
    其中,所述迭代停止条件,还包括:确定所述目标电路能够部署在芯片中。Wherein, the iterative stop condition further includes: determining that the target circuit can be deployed in a chip.
  9. 根据权利要求8所述的电路布图生成方法,其特征在于,所述方法还包括:The method for generating a circuit layout according to claim 8, wherein the method further comprises:
    响应于确定所述目标电路不能部署在芯片中,基于当前迭代的位置约束信息生成新的位置约束信息;In response to determining that the target circuit cannot be deployed in the chip, generating new position constraint information based on the position constraint information of the current iteration;
    将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。Using the new position constraint information as the position constraint information of the current iteration, returning the position constraint information using the current iteration and the target circuit diagram, and generating the plurality of target registers in the target circuit and the target Steps for placement information of logic gate devices.
  10. 根据权利要求3至9任一项所述的电路布图生成方法,其特征在于,所述方法还包括:The method for generating a circuit layout according to any one of claims 3 to 9, wherein the method further comprises:
    基于当前迭代所生成的所述布局信息,进行电路功耗仿真分析,得到所述目标电路的功耗值;Based on the layout information generated by the current iteration, a circuit power consumption simulation analysis is performed to obtain a power consumption value of the target circuit;
    其中,所述迭代停止条件,还包括:所述目标电路的功耗值小于预设功耗值。Wherein, the iteration stop condition further includes: the power consumption value of the target circuit is less than the preset power consumption value.
  11. 根据权利要求10所述的电路布图生成方法,其特征在于,所述方法还包括:The method for generating a circuit layout according to claim 10, wherein the method further comprises:
    响应于确定所述目标电路的功耗值大于或者等于所述预设功耗值,基于当前迭代的位置约束信息生成新的位置约束信息;In response to determining that the power consumption value of the target circuit is greater than or equal to the preset power consumption value, generating new position constraint information based on the position constraint information of the current iteration;
    将所述新的位置约束信息作为当前迭代的位置约束信息,返回所述利用当前迭代的位置约束信息、以及所述目标电路图,生成所述目标电路中的所述多个目标寄存器与所述目标逻辑门器件的布局信息的步骤。Using the new position constraint information as the position constraint information of the current iteration, returning the position constraint information using the current iteration and the target circuit diagram, and generating the plurality of target registers in the target circuit and the target Steps for placement information of logic gate devices.
  12. 一种电路布图生成装置,其特征在于,包括:A circuit layout generation device, characterized in that it includes:
    第一生成模块,用于利用目标电路对应的寄存器传输级RTL设计信息生成目标电路图;The first generation module is used for generating the target circuit diagram by using the register transfer stage RTL design information corresponding to the target circuit;
    第二生成模块,用于利用位置约束信息、以及所述目标电路图,生成所述目标电路的目标布图;其中,所述位置约束信息用于约束所述目标电路中目标逻辑门器件所连接的多个目标寄存器的输出端与该目标逻辑门器件之间的走线距离,使得所述多个目标寄存器输出信号到达该目标逻辑门器件的时间在预设范围内。The second generation module is configured to generate a target layout of the target circuit by using the position constraint information and the target circuit diagram; wherein the position constraint information is used to constrain the target logic gate devices in the target circuit connected to the target circuit. The wiring distance between the output ends of the multiple target registers and the target logic gate device enables the time when the output signals of the multiple target registers reach the target logic gate device within a preset range.
  13. 一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至11任一项所述的电路布图生成方法的步骤。A computer device, comprising: a processor and a memory, wherein the memory stores machine-readable instructions executable by the processor, and the processor is configured to execute the machine-readable instructions stored in the memory, When the machine-readable instructions are executed by the processor, the processor performs the steps of the method for generating a circuit layout according to any one of claims 1 to 11.
  14. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至11任一项所述的电路布图生成方法的步骤。A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, and when the computer program is run by a computer device, the computer device executes any one of claims 1 to 11. The steps of the circuit layout generation method described above.
PCT/CN2021/134622 2021-04-29 2021-11-30 Circuit layout generation method and apparatus, computer device, and storage medium WO2022227564A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110476616.6A CN113111622B (en) 2021-04-29 2021-04-29 Circuit layout generation method and device, computer equipment and storage medium
CN202110476616.6 2021-04-29

Publications (1)

Publication Number Publication Date
WO2022227564A1 true WO2022227564A1 (en) 2022-11-03

Family

ID=76720551

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/134622 WO2022227564A1 (en) 2021-04-29 2021-11-30 Circuit layout generation method and apparatus, computer device, and storage medium

Country Status (2)

Country Link
CN (1) CN113111622B (en)
WO (1) WO2022227564A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111622B (en) * 2021-04-29 2023-01-31 上海阵量智能科技有限公司 Circuit layout generation method and device, computer equipment and storage medium
CN113688587B (en) * 2021-08-31 2024-03-22 上海商汤阡誓科技有限公司 Method and device for generating circuit layout, computer equipment and storage medium
CN114330205B (en) * 2021-12-24 2024-05-17 广东高云半导体科技股份有限公司 High-level synthesis method, synthesis device thereof and electronic equipment
CN116629189B (en) * 2023-07-19 2024-01-26 深圳市周励电子科技有限公司 Layout generation method and device of integrated circuit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030226126A1 (en) * 2002-03-27 2003-12-04 Yoshihiro Iwai Delay diagnosis method for semiconductor integrated circuit, computer program product for diagnosing delay of semiconductor integrated circuit and computer readable recording medium recording program thereon
CN105447215A (en) * 2014-09-24 2016-03-30 瑞昱半导体股份有限公司 Digital circuit design method and related system
CN106407489A (en) * 2015-07-31 2017-02-15 展讯通信(上海)有限公司 Timing constraint checking method
CN108170956A (en) * 2017-12-28 2018-06-15 佛山中科芯蔚科技有限公司 The sequential signing method and device of a kind of retention time
CN109284578A (en) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 Logic circuit layout wiring method, graphic software platform method and its system
CN113111622A (en) * 2021-04-29 2021-07-13 上海阵量智能科技有限公司 Circuit layout generation method and device, computer equipment and storage medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178124B1 (en) * 2003-05-30 2007-02-13 Golden Gate Technology, Inc. Methods, algorithms, software, architectures and system for placing clocked components and routing timing signals in a circuit and/or layout
JP4001584B2 (en) * 2004-02-26 2007-10-31 松下電器産業株式会社 Simulation device
JP5743063B2 (en) * 2011-02-09 2015-07-01 ラピスセミコンダクタ株式会社 Semiconductor integrated circuit, semiconductor chip, and semiconductor integrated circuit design method
JP6480226B2 (en) * 2015-03-25 2019-03-06 ラピスセミコンダクタ株式会社 Skew adjustment device
CN105512438B (en) * 2016-01-18 2018-05-11 成都锐开云科技有限公司 The time delay such as one kind wiring method and device
CN107480390B (en) * 2017-08-23 2020-08-21 京东方科技集团股份有限公司 Signal delay compensation method and device and computer equipment
CN111125882B (en) * 2019-11-29 2023-02-28 广东浪潮大数据研究有限公司 PCB transmission line equal-length arrangement wiring method, device and equipment
CN111698832B (en) * 2020-06-12 2021-10-15 广东浪潮大数据研究有限公司 Signal transmission method, device and medium for high-speed differential signal line of circuit board

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030226126A1 (en) * 2002-03-27 2003-12-04 Yoshihiro Iwai Delay diagnosis method for semiconductor integrated circuit, computer program product for diagnosing delay of semiconductor integrated circuit and computer readable recording medium recording program thereon
CN105447215A (en) * 2014-09-24 2016-03-30 瑞昱半导体股份有限公司 Digital circuit design method and related system
CN106407489A (en) * 2015-07-31 2017-02-15 展讯通信(上海)有限公司 Timing constraint checking method
CN108170956A (en) * 2017-12-28 2018-06-15 佛山中科芯蔚科技有限公司 The sequential signing method and device of a kind of retention time
CN109284578A (en) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 Logic circuit layout wiring method, graphic software platform method and its system
CN113111622A (en) * 2021-04-29 2021-07-13 上海阵量智能科技有限公司 Circuit layout generation method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN113111622A (en) 2021-07-13
CN113111622B (en) 2023-01-31

Similar Documents

Publication Publication Date Title
WO2022227564A1 (en) Circuit layout generation method and apparatus, computer device, and storage medium
US7603643B2 (en) Method and system for conducting design explorations of an integrated circuit
US10817640B2 (en) Integrated circuit including different types of cells, and method and system of designing the same
US10325046B2 (en) Formal method for clock tree analysis and optimization
WO2023051217A1 (en) Timing constraint method and apparatus for integrated circuit, and electronic device and chip
US8271929B2 (en) Method for clock load alignment during standard cell optimization
US10585996B2 (en) Die resistance-capacitance extraction and validation
KR20150059128A (en) Method of designing fin field effect transistor(finfet)-based circuit and system for implementing the same
US6425115B1 (en) Area efficient delay circuits
US9483593B2 (en) Method for decomposing a hardware model and for accelerating formal verification of the hardware model
US10896283B1 (en) Noise-based optimization for integrated circuit design
US10133842B1 (en) Methods, systems, and articles of manufacture for multi-mode, multi-corner physical optimization of electronic designs
US8555232B2 (en) Wire routing using virtual landing pads
KR20170094744A (en) Integrated circuit and computer-implemented method for manufacturing the same
US10628623B2 (en) Non-transitory computer-readable recording medium recording detour wiring check program, detour wiring check method, and information processing apparatus
US9721051B2 (en) Reducing clock skew in synthesized modules
KR102499932B1 (en) Multi-bit flip flop
WO2021013044A1 (en) Circuit connection preservation method, fpga system and storage medium
US20210264081A1 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
KR102350941B1 (en) Integrated circuit designing method and integrated circuit designing system performing the same
CN112100950A (en) Method, system, device and storage medium for chip design
US8768991B2 (en) Mechanism to find first two values
US20110072404A1 (en) Parallel Timing Analysis For Place-And-Route Operations
CN112597722B (en) Method and device for rapidly screening extreme RC (resistor-capacitor) angles corresponding to extreme PVT (voltage-transient) angles and electronic equipment
US20230106989A1 (en) Method of verifying semiconductor device, method of designing and manufacturing semiconductor device using the same, and system performing the same

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21939023

Country of ref document: EP

Kind code of ref document: A1