CN112162884A - Method, apparatus, medium, and electronic device for determining position of pipeline register - Google Patents
Method, apparatus, medium, and electronic device for determining position of pipeline register Download PDFInfo
- Publication number
- CN112162884A CN112162884A CN202011095661.9A CN202011095661A CN112162884A CN 112162884 A CN112162884 A CN 112162884A CN 202011095661 A CN202011095661 A CN 202011095661A CN 112162884 A CN112162884 A CN 112162884A
- Authority
- CN
- China
- Prior art keywords
- node
- determining
- pipeline register
- distance
- pipeline
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000015654 memory Effects 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
The disclosure provides a method for determining a position of a pipeline register, a device for determining a position of a pipeline register, a computer readable storage medium and an electronic device, and relates to the technical field of integrated circuits. The position determination method of the pipeline register comprises the following steps: acquiring positions of a first node and a second node on a pipeline; determining at least one straight line area according to the positions of the first node and the second node and a distance proportion condition; determining a position of a pipeline register in the straight line region. The method and the device can accurately and efficiently determine the placing position of the pipeline register when the pipeline register is placed.
Description
Technical Field
The present disclosure relates to the field of integrated circuit technologies, and in particular, to a method for determining a position of a pipeline register, a device for determining a position of a pipeline register, a computer-readable storage medium, and an electronic device.
Background
With the rapid development of chip design, the chip engineer's workload is increasing exponentially while the functions implemented by the chip are more and more complex. In larger chips, there is often a large amount of signal interaction. When signal interaction is needed between two or more modules which are far away, the pipeline register is often introduced to satisfy the long-distance signal transmission.
In the prior art, when the position of the pipeline register is determined, a large amount of work is usually performed to guide a specific tool to place the pipeline register, so as to meet the requirement on the time sequence. However, when the number of pipeline registers is large, the pipeline registers may be placed with poor effect, and therefore, a back-end engineer of the chip is required to determine the positions of the pipeline registers and place the pipeline registers in an artificial guidance manner. When the workload is large, the method not only needs high labor cost, but also is difficult to ensure the placing effect of the final pipeline register, and the efficiency is low.
Therefore, if the placement position of the pipeline register is accurately and effectively determined, the problem to be solved in the prior art is urgently solved.
Disclosure of Invention
The present disclosure provides a method for determining a position of a pipeline register, a device for determining a position of a pipeline register, a computer-readable storage medium, and an electronic device, so as to at least improve the problems of low placement efficiency and poor effect of the pipeline register in the prior art to a certain extent.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to a first aspect of the present disclosure, there is provided a method for determining a position of a pipeline register, including: acquiring positions of a first node and a second node on a pipeline; determining at least one straight line area according to the positions of the first node and the second node and a distance proportion condition; determining a position of a pipeline register in the straight line region.
According to a second aspect of the present disclosure, there is provided a position determination apparatus of a pipeline register, including: the position acquisition module is used for acquiring the positions of a first node and a second node on the pipeline; the region determining module is used for determining at least one straight line region according to the positions of the first node and the second node and a distance proportion condition; a position determination module to determine a position of a pipeline register in the straight region.
According to a third aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the above-described method of position determination of a pipeline register.
According to a fourth aspect of the present disclosure, there is provided an electronic device comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the above-described method of determining the position of the pipeline register via execution of the executable instruction.
The technical scheme of the disclosure has the following beneficial effects:
according to the pipeline register position determining method, the pipeline register position determining device, the computer readable storage medium and the electronic equipment, the positions of a first node and a second node on a pipeline are obtained; determining at least one straight line area according to the positions of the first node and the second node and a distance proportion condition; the position of the pipeline register is determined in the straight line region. On one hand, the exemplary embodiment provides a new method for determining the position of a pipeline register, a straight line region is determined according to the positions of a first node and a second node and a distance proportion condition, and the position of the pipeline register is determined in the straight line region; on the other hand, compared with the prior art in which a position point is directly determined, the exemplary embodiment can determine a linear region meeting requirements, the pipeline register can be placed at a plurality of positions in the linear region, diversity is provided for placement of the pipeline register, and when the pipeline register overlaps or conflicts with other memories, the position of the pipeline register can be effectively and conveniently adjusted based on the linear region; on the other hand, the method for determining the positions of the pipeline registers in the exemplary embodiment has a simple process, does not need a chip engineer to determine the positions of the registers to be placed in a manual mode, has a high automation degree, and is accurate and effective in the determined positions.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
Fig. 1 shows a schematic diagram of an electronic device of the present exemplary embodiment;
FIG. 2 illustrates a method of determining the location of a pipeline register in the related art;
FIG. 3 illustrates a flow chart of a method of pipeline register position determination in the exemplary embodiment;
FIG. 4 illustrates a sub-flowchart of a method of pipeline register position determination in the present exemplary embodiment;
FIG. 5 is a schematic diagram illustrating position determination of a pipeline register of the exemplary embodiment;
FIG. 6 illustrates a sub-flow diagram of another method of pipeline register position determination in the exemplary embodiment;
FIG. 7 is a schematic diagram illustrating another pipeline register position determination of the present exemplary embodiment;
fig. 8 is a block diagram showing a configuration of a pipeline register position determining apparatus according to the present exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Exemplary embodiments of the present disclosure provide an electronic device for implementing a position determination method of a pipeline register. The electronic device comprises at least a processor and a memory for storing executable instructions of the processor, the processor being configured to perform the method of position determination of the pipeline register via execution of the executable instructions.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 100 according to such an exemplary embodiment of the present disclosure is described below with reference to fig. 1. The electronic device 100 shown in fig. 1 is only an example and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in FIG. 1, electronic device 100 is embodied in the form of a general purpose computing device. The components of the electronic device 100 may include, but are not limited to: the at least one processing unit 110, the at least one memory unit 120, a bus 130 connecting different system components (including the memory unit 120 and the processing unit 110), and a display unit 140.
Where the storage unit stores program code, the program code may be executed by the processing unit 110 to cause the processing unit 110 to perform the steps according to various exemplary embodiments of the present disclosure as described in the above section "exemplary methods" of this specification. For example, the processing unit 110 may perform the steps shown in fig. 3, fig. 4, or fig. 6, and so on.
The storage unit 120 may include readable media in the form of volatile storage units, such as a random access memory unit (RAM)121 and/or a cache memory unit 122, and may further include a read only memory unit (ROM) 123.
The electronic device 100 may also communicate with one or more external devices 170 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 100, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 100 to communicate with one or more other computing devices. Such communication may be through input/output (I/O) interfaces 150. Also, electronic device 100 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the Internet) via network adapter 160. As shown, the network adapter 160 communicates with the other modules of the electronic device 100 over the bus 130. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with electronic device 100, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the exemplary embodiments of the present disclosure.
In a related art method for determining the position of a pipeline register, a pipeline register is usually placed by a back-end-of-line (Auto Place and Route) tool. However, the pipeline register placed in this way may not achieve the expected effect, and therefore, a back-end engineer of the chip is required to place or adjust the pipeline register in a specific way or function, for example, a way of guiding the standard cell to be placed at a specific position.
Specifically, the specific design method of the pipeline register placement position is exemplified by a first-stage pipeline register, as shown in fig. 2, and a port D of the module 11The coordinate is (x)1,y1) Port D of module 22The coordinate is (x)2,y2) When there is signal interaction between the module 1 and the module 2 and a pipeline register needs to be arranged between the module 1 and the module 2, the position of the pipeline register can be usually arranged at the port D of the module 11And port D of module 22To meet the timing requirements of both ports simultaneously. And setting the coordinates of the placing position of the first-stage pipeline register as P (x, y), then:
however, in practical applications, some special situations may occur, for example, a RAM (Random Access Memory) just needs to be set at the determined location P of the register, and at this time, in order to avoid collision caused by overlapping, the pipeline register may be moved to other locations by the APR tool, and the new location may not meet the timing requirements of the module ports on both sides, which affects the signal interaction effect. In addition, when a large number of pipeline registers needing to be placed exist, the pipeline registers are placed only in a mode of being placed at a specific position manually by a chip rear end engineer, the automation degree is low, the labor cost is increased, the accuracy is low, and the time sequence requirement of each port is difficult to guarantee.
Based on the above problems, the present exemplary embodiment provides a new method for determining the position of a pipeline register, so as to effectively and accurately place the pipeline register.
The following describes a method for determining a position of a pipeline register and an apparatus for determining a position of a pipeline register according to exemplary embodiments of the present disclosure.
Fig. 3 shows a flow of a method for determining a position of a pipeline register in the exemplary embodiment, including the following steps S310 to S330:
step S310, the positions of the first node and the second node on the pipeline are obtained.
In a circuit chip design, a plurality of modules may be included on a chip, and the modules may be used for individually naming and independently performing programs or subroutines required for certain functions, which have two basic features: external and internal features, where an external feature is an interface between a module and an external environment, i.e., a way in which other modules or programs call the module, and may include input/output parametersGlobal variables referenced, and the function of the module, etc.; internal features refer to features that the internal environment of a module has, namely the local data and program code of the module. In practical application, in order to improve the performance and the operating speed of a system and ensure the rapid transmission of data, when signal interaction exists between two or more modules which are far away, the processing process of the signal interaction can be decomposed into a plurality of sub-processes based on the pipeline principle, each sub-process executes corresponding instructions or functions by a special register, namely, pipeline registers can be introduced between ports of the modules to realize the signal interaction of the modules which are far away. In step S310, the position of the first node and the position of the second node on the pipeline may respectively represent the positions of the ports of the two modules performing signal interaction on the transmission path of the signal on the chip, for example, as shown in fig. 1, the position of the first node may refer to the port D of the module 11The location of the second node may refer to port D of module 22The coordinate position of (a). In the present exemplary embodiment, the positions of the first node and the second node may be directly obtained from the system, or obtained from corresponding module information, and the like.
Step S320, determining at least one straight line region according to the positions of the first node and the second node and the distance ratio condition.
In step S330, the position of the pipeline register is determined in the straight line region.
When a pipeline register needs to be arranged between two modules, as described in the related art, the pipeline register is often arranged between the ports of the two modules, but when a conflict occurs with the position of other memories, moving the pipeline register often affects the timing requirements of the two ports, i.e., the position of the pipeline register cannot be effectively and accurately determined in diversified application scenarios. Based on this, in the present exemplary embodiment, a straight line region that satisfies the distance proportion condition and can be used for placing the pipeline register can be determined according to the positions of the first node and the second node, and then a specific position is determined in the straight line region.
The distance proportional condition refers to a proportional condition of the distance from the first node to the pipeline register to be determined and the distance from the second node to the pipeline register. The distance proportion condition may be a distance proportion value, for example 0.5 or 1.0; a plurality of distance scale values, such as 0.5, 1.0, 1.5, etc.; it may also be a distance scale interval, e.g. [0.5, 1.0 ]. In the present exemplary embodiment, the distance ratio condition may be preset by a chip engineer, or may be determined by a delay value of a module port. After the positions of the first node and the second node and the distance proportion condition are determined, a specific equation can be established according to the distance relationship between the first node and the pipeline register and between the second node and the pipeline register, and at least one straight line area is obtained. Since the linear region obtained by the solution is the region obtained by the solution under the above-described distance ratio condition, it is possible to satisfy the requirement that the pipeline register is placed at an arbitrary position in the linear region. In the present exemplary embodiment, one or more pipeline registers may be placed in the straight line region, for example, two pipeline registers of one stage may be placed in the certain straight line region. In addition, after the position of the pipeline register is determined in the straight line region, if there are other devices or memories, such as a RAM (Random Access Memory), a ROM (Read-Only Memory), and the like, which overlap or collide with the pipeline at the position, the pipeline register may be moved to other positions in the straight line region. Or to avoid the above situation, before determining the pipeline register, the positions of the devices or memories in the chip may be obtained, and further, the positions of the pipeline register may be determined by determining the region except the obstacle device in the straight line region.
It should be noted that, when there are multiple stages of pipeline registers, the present exemplary embodiment may also determine different straight line regions according to distance constraints of different stages of pipeline registers, so as to correspondingly determine the placement positions of the multiple stages of pipeline registers.
In an exemplary embodiment, as shown in fig. 4, the step S320 may include the following steps:
step S410, setting a position variable, wherein the position variable represents the position of a pipeline register;
step S420, establishing an equation related to a position variable according to the positions of a first node and a second node and a distance proportion condition, so that the proportion of a first distance and a second distance meets the distance proportion condition, wherein the first distance is the Manhattan distance between the position variable and the first node, and the second distance is the Manhattan distance between the position variable and the second node;
step S430, a solution set of equations is solved, the solution set including at least one straight-line region.
In the present exemplary embodiment, an equation is constructed according to the positions of the first node and the second node and the distance ratio condition, and is analyzed to obtain a corresponding straight line region. For example, as shown in fig. 5, first, a position variable may be set to the position P of the put-pipeline register, and the position variable is represented by coordinates (x, y), and the first node represents the port D of the first module1In terms of coordinates (x)1,y1) Indicating that the second node represents port D of the second module2In terms of coordinates (x)2,y2) And (4) showing.
Considering that, in the design of the digital back end of the actual chip, the wiring usually needs to be arranged in the horizontal direction or the vertical direction, and the wiring is not allowed to be performed in an oblique or other non-linear manner, and therefore, when the wiring needs to be performed in the shortest distance, the distance from the first node to the pipeline register position and the distance from the second node to the pipeline register position are manhattan distances. Thus, port D1The distance to the pipeline register can be expressed as: d1=|x-x1|+|y-y1I, Port D2The distance to the pipeline register can be expressed as: d2=|x-x2|+|y-y2According to the distance proportion condition, port D2Distance to pipeline register is Port D1K times the distance to the pipeline register, i.e. K x D1=D2The following equation is established:
K(|x-x1|+|y-y1|)=|x-x2|+|y-y2| (1)
solving the above equation can result in the following function:
the range of values of the position variable (x, y) can be expressed as: min (x)1,x2)<x<min(x1,x2),min(y1,y2)<y<max(y1,y2) That is, the determined straight line region does not extend wirelessly, and any point coordinate in the straight line region is represented by port D1And port D2Within the rectangular area established for the diagonal.
It should be noted that if x1=x2Or y is1=y2Then need to be paired with x2(or x)1) Or y is2(or y)1) The correction process is performed so that a or B does not have 0 as a divisor.
Based on the function (2) obtained by solving the equation (1), it can be seen that the coordinates of the pipeline register which can meet the requirements of two ports are not only one point, but also a straight line region L. The pipeline registers are arranged at any position in the linear area, and the requirement of the time sequence can be met.
In an exemplary embodiment, the distance proportion condition may include at least one proportion constraint value, wherein the solution set obtained by solving the equation is different linear regions by using different proportion constraint values.
Specifically, the proportional constraint condition may be at least one proportional constraint value, and one straight line may be uniquely determined according to the function (2) obtained by the above solution according to one proportional constraint value, and different straight lines may be determined according to different proportional constraint values, for example, when K is 0.5, K is 1.0, and K is 1.5, three mutually parallel straight lines may be obtained, and further, the position of the pipeline register may be determined on the corresponding straight line.
In an exemplary embodiment, the method for determining the position of the pipeline register may further include: the distance scaling condition is determined based on a delay constraint of the pipeline.
In practical applications, when signals are exchanged among a plurality of modules or registers, there is a certain delay in signal transmission. The present exemplary embodiment, in determining the distance proportion condition, may determine the distance proportion condition based on a delay constraint condition of the pipeline, for example, according to a maximum delay time from a module port to a pipeline register; or the minimum delay time from the module port to the pipeline register, and determining a distance proportion condition; or, determining the distance proportion condition jointly according to the maximum delay time from the module port to the pipeline register and the minimum delay time, for example, performing weighted average calculation on the maximum delay time and the minimum delay time, determining the distance proportion condition according to the average delay time, and the like.
Further, in an exemplary embodiment, as shown in fig. 6, the determining the distance proportion condition according to the delay constraint condition of the pipeline may include the following steps:
step S610, determining a first maximum delay value and a second maximum delay value according to the delay constraint condition of the pipeline, wherein the first maximum delay value is the maximum delay time allowed by the transmission of signals between the pipeline register and the first node, and the second maximum delay value is the maximum delay time allowed by the transmission of signals between the pipeline register and the second node;
in step S620, a distance ratio condition is determined by a ratio of the first delay maximum value to the second delay maximum value.
To more accurately determine the location of the pipeline registers, the present exemplary embodiment may determine the delay constraints based on the maximum delay time. Specifically, the maximum delay time allowed when the signal is transmitted from the pipeline register to the first node, that is, the first maximum delay value, and the maximum delay time allowed when the signal is transmitted from the pipeline register to the second node, that is, the second maximum delay value, may be determined, and then the distance ratio condition may be determined based on a ratio of the first maximum delay value to the second maximum delay value, and expressed as:
where K represents a delay constraint, DP2 represents the maximum delay time allowed for signals to be transmitted between the pipeline register and the second node, and DP1 represents the maximum delay time allowed for signals to be transmitted between the pipeline register and the first node.
In an exemplary embodiment, the method for determining the position of the pipeline register may further include:
the delay constraint is obtained from timing constraint information of the pipeline.
The timing Constraint information may refer to information that is preset to make a requirement on circuit timing Design, such as a SDC (timing Constraint file), which may include various constraints, such as constraints of a main clock, timing exceptions, or input/output delays. The present exemplary embodiment may determine a delay constraint condition from the timing constraint information to determine a distance scale condition.
In an exemplary embodiment, the step S330 may include the following steps:
the locations where the random access memories are located are excluded from the straight line regions, and the locations of the pipeline registers are determined in the remaining regions.
The RAM is used as an internal memory for exchanging data with the central processing unit, and in practical application, the RAM may be disposed between the ports of the two modules, so as to avoid overlapping or conflict, after the linear region is determined, the exemplary embodiment may first exclude the position of the RAM from the linear region, and determine the position of the pipeline register in another linear region, for example, as shown in fig. 7, at port D1And port D2According to the distance proportion condition, a straight line region L, RAM position is determinedAt point N of the straight line region, the position of the pipeline register may be determined at a position other than N on the straight line region L, such as the position of the point P shown in fig. 7, and so on.
To sum up, in the present exemplary embodiment, the positions of the first node and the second node on the pipeline are acquired; determining at least one straight line area according to the positions of the first node and the second node and a distance proportion condition; the position of the pipeline register is determined in the straight line region. On one hand, the exemplary embodiment provides a new method for determining the position of a pipeline register, a straight line region is determined according to the positions of a first node and a second node and a distance proportion condition, and the position of the pipeline register is determined in the straight line region; on the other hand, compared with the prior art in which a position point is directly determined, the exemplary embodiment can determine a linear region meeting requirements, the pipeline register can be placed at a plurality of positions in the linear region, diversity is provided for placement of the pipeline register, and when the pipeline register overlaps or conflicts with other memories, the position of the pipeline register can be effectively and conveniently adjusted based on the linear region; on the other hand, the method for determining the positions of the pipeline registers in the exemplary embodiment has a simple process, does not need a chip engineer to determine the positions of the registers to be placed in a manual mode, has a high automation degree, and is accurate and effective in the determined positions.
The exemplary embodiments of the present disclosure also provide a position determination apparatus of a pipeline register. As shown in fig. 8, the pipeline register position determining apparatus 800 may include: a position obtaining module 810, configured to obtain positions of a first node and a second node on a pipeline; a region determining module 820, configured to determine at least one linear region according to the positions of the first node and the second node and a distance ratio condition; a position determination module 830 for determining the position of the pipeline register in the straight line region.
In an exemplary embodiment, the region determination module includes: a position setting unit for setting a position variable indicating a position of the pipeline register; an equation establishing unit, configured to establish an equation related to a position variable according to positions of a first node and a second node and a distance proportion condition, so that a proportion of a first distance and a second distance satisfies the distance proportion condition, where the first distance is a manhattan distance between the position variable and the first node, and the second distance is a manhattan distance between the position variable and the second node; and the solution set solving unit is used for solving a solution set of the equation, and the solution set comprises at least one straight line area.
In an exemplary embodiment, the distance scale condition includes at least one scale constraint value; wherein, different proportional constraint values are adopted, and a solution set obtained by solving the equation is different linear regions.
In an exemplary embodiment, the pipeline register position determining apparatus further includes: and the condition determining module is used for determining a distance proportion condition according to the delay constraint condition of the pipeline.
In an exemplary embodiment, the condition determining module includes: a delay value determination unit for determining a first maximum delay value and a second maximum delay value according to a delay constraint condition of the pipeline, the first maximum delay value being a maximum delay time allowed for transmitting signals between the pipeline register and the first node, and the second maximum delay value being a maximum delay time allowed for transmitting signals between the pipeline register and the second node; and the proportion condition determining unit is used for determining the distance proportion condition through the proportion of the first delay maximum value and the second delay maximum value.
In an exemplary embodiment, the pipeline register position determining apparatus further includes: and the condition acquisition module is used for acquiring the delay constraint condition from the time sequence constraint information of the pipeline.
In an exemplary embodiment, the location determination module includes: and a position determination unit for excluding the position of the random access memory from the straight line region and determining the position of the pipeline register in the remaining region.
The specific details of each module in the above apparatus have been described in detail in the method section, and details that are not disclosed may refer to the method section, and thus are not described again.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
Exemplary embodiments of the present disclosure also provide a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, various aspects of the disclosure may also be implemented in the form of a program product including program code for causing a terminal device to perform the steps according to various exemplary embodiments of the disclosure described in the "exemplary methods" section above of this specification, when the program product is run on the terminal device, for example, any one or more of the steps in fig. 3, fig. 4, or fig. 6 may be performed.
Exemplary embodiments of the present disclosure also provide a program product for implementing the above method, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is to be limited only by the terms of the appended claims.
Claims (10)
1. A method for determining a position of a pipeline register, comprising:
acquiring positions of a first node and a second node on a pipeline;
determining at least one straight line area according to the positions of the first node and the second node and a distance proportion condition;
determining a position of a pipeline register in the straight line region.
2. The method of claim 1, wherein determining at least one straight-line region according to the positions of the first node and the second node and a distance proportion condition comprises:
setting a position variable, the position variable representing a position of the pipeline register;
establishing an equation related to the position variable according to the positions of the first node and the second node and a distance proportion condition, so that the proportion of a first distance and a second distance meets the distance proportion condition, wherein the first distance is the Manhattan distance between the position variable and the first node, and the second distance is the Manhattan distance between the position variable and the second node;
solving a solution set of the equations, the solution set including at least one of the linear regions.
3. The method of claim 2, wherein the distance scaling condition comprises at least one scaling constraint value;
and solving the equation to obtain a solution set which is different from the linear region by adopting different proportional constraint values.
4. The method of claim 1, further comprising:
and determining the distance proportion condition according to the delay constraint condition of the pipeline.
5. The method of claim 4, wherein determining the distance scaling condition based on a delay constraint of the pipeline comprises:
determining a first maximum delay value and a second maximum delay value according to a delay constraint condition of the pipeline, wherein the first maximum delay value is the maximum delay time allowed by the transmission of the signal between the pipeline register and the first node, and the second maximum delay value is the maximum delay time allowed by the transmission of the signal between the pipeline register and the second node;
determining the distance proportion condition by a proportion of the first delay maximum to the second delay maximum.
6. The method of claim 4, further comprising:
and acquiring the delay constraint condition from the timing constraint information of the pipeline.
7. The method of any of claims 1 to 6, wherein determining a position of a pipeline register in the straight-line region comprises:
excluding the location of the random access memory from the straight line region, and determining the location of the pipeline register in the remaining region.
8. An apparatus for determining a position of a pipeline register, comprising:
the position acquisition module is used for acquiring the positions of a first node and a second node on the pipeline;
the region determining module is used for determining at least one straight line region according to the positions of the first node and the second node and a distance proportion condition;
a position determination module to determine a position of a pipeline register in the straight region.
9. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method of any one of claims 1 to 7.
10. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of any of claims 1 to 7 via execution of the executable instructions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011095661.9A CN112162884A (en) | 2020-10-14 | 2020-10-14 | Method, apparatus, medium, and electronic device for determining position of pipeline register |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011095661.9A CN112162884A (en) | 2020-10-14 | 2020-10-14 | Method, apparatus, medium, and electronic device for determining position of pipeline register |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112162884A true CN112162884A (en) | 2021-01-01 |
Family
ID=73866826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011095661.9A Withdrawn CN112162884A (en) | 2020-10-14 | 2020-10-14 | Method, apparatus, medium, and electronic device for determining position of pipeline register |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112162884A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020004929A1 (en) * | 2000-07-04 | 2002-01-10 | Seiko Osaki | Method of designing a layout of an LSI chip, and a computer product |
US20070220522A1 (en) * | 2006-03-14 | 2007-09-20 | Paul Coene | System and method for runtime placement and routing of a processing array |
US20110032265A1 (en) * | 2009-01-29 | 2011-02-10 | Baumer Innotec Ag | Pipelined computing device for connecting contour elements from image data |
CN103632001A (en) * | 2013-11-27 | 2014-03-12 | 中国人民解放军国防科学技术大学 | Retention time sequence optimization method based on multiplexing of buffer unit |
US20140143531A1 (en) * | 2012-11-19 | 2014-05-22 | Qualcomm Technologies, Inc. | Automatic pipeline stage insertion |
US20180150584A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Placement clustering-based white space reservation |
-
2020
- 2020-10-14 CN CN202011095661.9A patent/CN112162884A/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020004929A1 (en) * | 2000-07-04 | 2002-01-10 | Seiko Osaki | Method of designing a layout of an LSI chip, and a computer product |
US20070220522A1 (en) * | 2006-03-14 | 2007-09-20 | Paul Coene | System and method for runtime placement and routing of a processing array |
US20110032265A1 (en) * | 2009-01-29 | 2011-02-10 | Baumer Innotec Ag | Pipelined computing device for connecting contour elements from image data |
US20140143531A1 (en) * | 2012-11-19 | 2014-05-22 | Qualcomm Technologies, Inc. | Automatic pipeline stage insertion |
CN103632001A (en) * | 2013-11-27 | 2014-03-12 | 中国人民解放军国防科学技术大学 | Retention time sequence optimization method based on multiplexing of buffer unit |
US20180150584A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Placement clustering-based white space reservation |
Non-Patent Citations (1)
Title |
---|
杨正强: "网格型时钟自动综合的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》, no. 12, pages 135 - 49 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471409B (en) | Robot inspection method and device, computer readable storage medium and robot | |
JP2018081693A (en) | Automated process control hardware engineering using schema-represented requirements | |
EP4286234A1 (en) | Method and apparatus for starting unmanned vehicle, electronic device, and computer-readable medium | |
CN113872811A (en) | Operation change method, wide area network control system, electronic device, and storage medium | |
CN107885661A (en) | The terminal transparency method of testing and system of Mobile solution, equipment, medium | |
KR20200018236A (en) | Computing method applied to artificial intelligence chip, and artificial intelligence chip | |
CN114417780B (en) | State synchronization method and device, electronic equipment and storage medium | |
CN111124409A (en) | Sketch-based business page generation method, device, equipment and storage medium | |
WO2024104189A1 (en) | Vehicle positioning method and apparatus, electronic device, and storage medium | |
CN112162884A (en) | Method, apparatus, medium, and electronic device for determining position of pipeline register | |
CN112590929A (en) | Correction method, apparatus, electronic device, and medium for steering wheel of autonomous vehicle | |
CN115544622B (en) | Urban and rural participated three-dimensional planning design platform, method, equipment and storage medium | |
CN113129366A (en) | Monocular SLAM (simultaneous localization and mapping) initialization method and device and electronic equipment | |
CN110825461A (en) | Data processing method and device | |
CN110162880B (en) | Optical cable laying method, device, equipment and medium | |
CN111027196B (en) | Simulation analysis task processing method and device for power equipment and storage medium | |
CN114724115A (en) | Obstacle positioning information generation method, device, equipment and computer readable medium | |
CN113378505B (en) | Wiring layout adjustment method and device, electronic equipment and storage medium | |
CN110070479B (en) | Method and device for positioning image deformation dragging point | |
CN112667119A (en) | Measuring point batch correlation method and device, electronic equipment and computer readable medium | |
CN116028427B (en) | Parameter configuration system, method and storage medium | |
CN111176718A (en) | Script online method and device, storage medium and electronic equipment | |
CN113791391B (en) | Interference characteristic parameter identification method, device, storage and equipment | |
CN114881546B (en) | Method and device for determining resource consumption | |
CN113961006B (en) | Robot bit complementing method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210101 |
|
WW01 | Invention patent application withdrawn after publication |