CN112732620A - Signal relay method of physical layer logic module based on pipeline register - Google Patents
Signal relay method of physical layer logic module based on pipeline register Download PDFInfo
- Publication number
- CN112732620A CN112732620A CN202110036465.2A CN202110036465A CN112732620A CN 112732620 A CN112732620 A CN 112732620A CN 202110036465 A CN202110036465 A CN 202110036465A CN 112732620 A CN112732620 A CN 112732620A
- Authority
- CN
- China
- Prior art keywords
- register
- logic unit
- signal
- stage
- determining
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
The embodiment of the invention relates to a signal relay method of a physical layer logic module based on a pipeline register, which comprises the following steps: determining the insertion stage number of a flow register required by signal synchronization of a first logic unit and a second logic unit with signal transmission in the same clock domain; determining the maximum offset of each stage of register according to the maximum transmission displacement of the signal in one clock cycle; determining a barrier blocking module according to a module boundary in a range with a signal output end of a previous stage as a central point and the maximum offset as a radius; in a plurality of preset positions which are not blocked by the blocking barrier module, calculating a residual path according to the distance from the preset position to the optimal path and the distance from the preset position to the first input end of the second logic unit, and determining the placing position of the current stage register according to the shortest preset position of the residual path until the insertion of each stage of the pipeline register corresponding to the stage number is completed; the registers of each stage are wired in series to form a signal relay pipeline register.
Description
Technical Field
The invention relates to the technical field of microelectronics, in particular to a signal relay method of a physical layer logic module based on a pipeline register.
Background
In the Field Programmable Gate Array (FPGA) design, there is often a requirement of sequential logic for a module in a chip from input to output or from input to a register inside the module, and when the timing is not satisfied, the register is often inserted to implement clock synchronization between the front and the back.
However, in the existing design tool, the register is often blocked and cannot be automatically placed, and in such a case, the designer needs to manually place the register, which is time-consuming and labor-consuming.
Therefore, it is urgently needed to optimize the signal relay method of the design tool in the module so as to realize the signal relay of the physical layer logic module under various complex practical situations.
Disclosure of Invention
The invention aims to provide a signal relay method of a physical layer logic module based on a flow register, which can automatically identify and judge the optimal insertion position of the flow register between two physical layer logic modules and realize signal relay between the two physical layer logic modules through automatic insertion on the optimal insertion position.
To this end, an embodiment of the present invention provides a signal relaying method for a physical layer logic module based on a pipeline register, where the signal relaying method includes:
determining a first logic unit and a second logic unit with signal transmission under the same clock domain; the first logic unit and the second logic unit are two logic units to be synchronized by a clock; a straight line path from the output end of the first logic unit to the first input end of the second logic unit is an optimal path;
determining the insertion stage number of the flow register required by signal synchronization of the first logic unit and the second logic unit; each stage of the pipeline register comprises one or a group of registers, all stages are connected in series, and each stage of the pipeline register is provided with a determined module boundary;
determining the maximum offset of each stage of register according to the maximum transmission displacement of the signal in one clock cycle;
determining a barrier blocking module according to a module boundary in a range with a signal output end of the first logic unit as a central point and the maximum offset as a radius; the type of the barrier module comprises macro cells or reserved vacancies; in a plurality of preset positions which are not blocked by the blocking barrier module, calculating a surplus path according to the distance from the preset position to the optimal path and the distance from the preset position to the first input end of the second logic unit, and determining the placement position of the first-stage register according to the preset position with the shortest surplus path;
determining a barrier blocking module according to the module boundary within the range that the signal output end of the previous-stage register is a central point and the maximum offset is a radius; in a plurality of preset positions which are not blocked by the blocking barrier module, calculating a residual path according to the distance from the preset position to the optimal path and the distance from the preset position to the first input end of the second logic unit, and determining the placing position of the current stage register according to the preset position with the shortest residual path until the placing position of each stage of the flow register corresponding to the insertion stage is determined;
and inserting and serially wiring registers at all levels according to the determined placing positions to form a flow register between the first logic unit and the second logic unit, and relaying a first signal output by the output end of the first logic unit to the first input end of the second logic unit through the flow register.
Preferably, the calculating the remaining path according to the distance from the preset position to the optimal path and the distance from the preset position to the first input end of the second logic unit specifically includes:
remaining path [ (distance between preset position and first input of second logic unit)2- (distance of Preset location to optimal Path)2]1/2。
Preferably, the determining the placement position of the first-stage register according to the preset position with the shortest remaining path specifically includes:
and taking the preset position with the shortest residual path as the position of the signal input end of the first pole register, and placing the first pole register.
Preferably, the determining the placement position of the current level register according to the preset position with the shortest remaining path specifically includes:
and taking the preset position with the shortest residual path as the position of the signal input end of the current one-pole register, and placing the current one-pole register.
Preferably, the reserved empty space comprises a punch-through structure.
Preferably, the method further comprises: determining whether the signal transmission delay on a connecting line between the signal output end of the last stage register and the first input end of the second logic unit is less than or equal to one clock cycle;
if not, outputting prompt information of inserting the error of the pipeline register
The signal relay method of the physical layer logic module based on the pipeline register, provided by the embodiment of the invention, can automatically identify and judge the optimal insertion position of the pipeline register between the two physical layer logic modules, and realize the signal relay between the two physical layer logic modules through the automatic insertion on the optimal insertion position.
Drawings
FIG. 1 is a flow chart of a signal relaying method for a physical layer logic module based on a pipeline register;
fig. 2 is a schematic diagram illustrating a process of determining the placement position of the primary register.
Detailed Description
The technical solution of the present invention is further described in detail by the accompanying drawings and embodiments.
The embodiment of the invention provides a signal relay method of a physical layer logic module based on a pipeline register, the main steps of the method flow are shown in figure 1, and the method comprises the following steps:
the first logic unit and the second logic unit are two logic units to be synchronized by a clock; there is a requirement for sequential logic between them.
specifically, according to the requirement of sequential logic, the signal output from the first logic unit is tapped and then transferred to the signal input of the second logic unit. And beating the signals, and realizing through a register. One way to beat the signal is to delay the signal transmission by one clock cycle by passing the signal through a register once. If multi-beat is needed, it is realized by using multi-stage connected registers, i.e. pipeline registers.
Each stage of the pipeline register includes one or a group of registers connected in series between stages, each stage of the pipeline register having defined module boundaries. That is, the minimum occupied chip area required to insert the primary register is determined.
in particular, the maximum displacement that a signal can travel, i.e. the furthest distance a signal can travel, per clock cycle can be determined. Thereby, the maximum offset of the register of each stage from the output position of the signal of the previous stage can be calculated. This maximum offset is the maximum transmission displacement of the signal in one clock cycle. If the maximum offset is exceeded, the signal cannot be transferred to this register within one clock cycle.
specifically, the type of the barrier module includes macro cells or reserved slots; the reserved slots include a feed through structure (feed through), and of course, other design rules such as the boundaries of the physical layer logic block dictate that slots not used to place insert registers.
And a straight-line path from the output end of the first logic unit to the first input end of the second logic unit is defined as an optimal path. In a preferred embodiment, the remaining path [ (distance between the preset position and the first input of the second logic unit)2- (distance of Preset location to optimal Path)2]1/2。
And placing the first pole register by taking the preset position with the shortest residual path as the position of the signal input end of the first pole register.
Fig. 2 is a schematic diagram illustrating a process of determining the placement position of the primary register. As shown, taking the empty space available for placing the register of the stage as A, B, C, the three preset positions are x1, x2 and x3 respectively, and the distances from the preset positions to the optimal path (shown by the dashed line connecting the output end of the first logic unit to the input end of the second logic unit in fig. 2) are y1, y2 and y3 respectively. The maximum offset is shown by the circles in fig. 2, where the shaded portions are all blocking obstacle modules. The remaining paths for placing the registers at these three places are calculated using the above formulas, respectively. And selecting the vacancy B with the shortest residual path as the determined placing position.
In the actual execution process, when a plurality of preset positions exist, traversing and calculating the residual paths corresponding to the preset positions, and selecting the shortest path as the placing position.
in this step, the calculation method of the remnant path is the same as that in step 140, and the placement of the current one-pole register is performed by using the preset position where the remnant path is shortest as the position of the signal input end of the current one-pole register.
And 160, inserting and serially wiring registers at all levels according to the determined placing positions to form a flow register between the first logic unit and the second logic unit, and relaying a first signal output by the output end of the first logic unit to the first input end of the second logic unit through the flow register.
In a preferred embodiment, after the above procedure is performed, a verification is performed again. Verifying by determining whether signal transmission delay on a connecting line between a signal output end of the last stage register and a first input end of the second logic unit is less than or equal to one clock cycle, and when the signal transmission delay is less than or equal to one clock cycle, indicating that the insertion of the flow register is correct, and completely relaying signals from the first logic unit to the second logic unit by the inserted flow register under the condition of meeting the sequential logic; if not, outputting a prompt message of inserting the error of the pipeline register.
The signal relay method of the physical layer logic module based on the pipeline register, provided by the embodiment of the invention, can automatically identify and judge the optimal insertion position of the pipeline register between the two physical layer logic modules, and realize the signal relay between the two physical layer logic modules through the automatic insertion on the optimal insertion position.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware, a software module executed by a processor, or a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are merely exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.
Claims (6)
1. A signal relay method of a physical layer logic module based on a pipeline register is characterized by comprising the following steps:
determining a first logic unit and a second logic unit with signal transmission under the same clock domain; the first logic unit and the second logic unit are two logic units to be synchronized by a clock; a straight line path from the output end of the first logic unit to the first input end of the second logic unit is an optimal path;
determining the insertion stage number of the flow register required by signal synchronization of the first logic unit and the second logic unit; each stage of the pipeline register comprises one or a group of registers, all stages are connected in series, and each stage of the pipeline register is provided with a determined module boundary;
determining the maximum offset of each stage of register according to the maximum transmission displacement of the signal in one clock cycle;
determining a barrier blocking module according to a module boundary in a range with a signal output end of the first logic unit as a central point and the maximum offset as a radius; the type of the barrier module comprises macro cells or reserved vacancies; in a plurality of preset positions which are not blocked by the blocking barrier module, calculating a surplus path according to the distance from the preset position to the optimal path and the distance from the preset position to the first input end of the second logic unit, and determining the placement position of the first-stage register according to the preset position with the shortest surplus path;
determining a barrier blocking module according to the module boundary within the range that the signal output end of the previous-stage register is a central point and the maximum offset is a radius; in a plurality of preset positions which are not blocked by the blocking barrier module, calculating a residual path according to the distance from the preset position to the optimal path and the distance from the preset position to the first input end of the second logic unit, and determining the placing position of the current stage register according to the preset position with the shortest residual path until the placing position of each stage of the flow register corresponding to the insertion stage is determined;
and inserting and serially wiring registers at all levels according to the determined placing positions to form a flow register between the first logic unit and the second logic unit, and relaying a first signal output by the output end of the first logic unit to the first input end of the second logic unit through the flow register.
2. The signal relaying method of claim 1, wherein the calculating the remaining path according to the distance from the preset position to the optimal path and the distance from the preset position to the first input terminal of the second logic unit is specifically:
remaining path [ (distance between preset position and first input of second logic unit)2- (distance of Preset location to optimal Path)2]1/2。
3. The signal relaying method of claim 1, wherein the determining the placement position of the first-stage register according to the preset position with the shortest remaining path specifically comprises:
and taking the preset position with the shortest residual path as the position of the signal input end of the first pole register, and placing the first pole register.
4. The signal relaying method of claim 1, wherein the determining of the placement position of the current stage register according to the preset position with the shortest remaining path specifically comprises:
and taking the preset position with the shortest residual path as the position of the signal input end of the current one-pole register, and placing the current one-pole register.
5. The signal relaying method of claim 1, wherein the reserved null comprises a punchthrough structure.
6. The signal relaying method of claim 1, further comprising: determining whether the signal transmission delay on a connecting line between the signal output end of the last stage register and the first input end of the second logic unit is less than or equal to one clock cycle;
if not, outputting a prompt message of inserting the error of the pipeline register.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036465.2A CN112732620B (en) | 2021-01-12 | 2021-01-12 | Signal relay method of physical layer logic module based on pipeline register |
PCT/CN2021/125321 WO2022151785A1 (en) | 2021-01-12 | 2021-10-21 | Signal relay method for pipeline register-based physical layer logic modules |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036465.2A CN112732620B (en) | 2021-01-12 | 2021-01-12 | Signal relay method of physical layer logic module based on pipeline register |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732620A true CN112732620A (en) | 2021-04-30 |
CN112732620B CN112732620B (en) | 2022-03-18 |
Family
ID=75590613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110036465.2A Active CN112732620B (en) | 2021-01-12 | 2021-01-12 | Signal relay method of physical layer logic module based on pipeline register |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112732620B (en) |
WO (1) | WO2022151785A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022151785A1 (en) * | 2021-01-12 | 2022-07-21 | 东科半导体(安徽)股份有限公司 | Signal relay method for pipeline register-based physical layer logic modules |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09288152A (en) * | 1996-02-20 | 1997-11-04 | Matsushita Electric Ind Co Ltd | Designing method for semiconductor integrated circuit |
US7478356B1 (en) * | 2005-09-30 | 2009-01-13 | Xilinx, Inc. | Timing driven logic block configuration |
CN103632001A (en) * | 2013-11-27 | 2014-03-12 | 中国人民解放军国防科学技术大学 | Retention time sequence optimization method based on multiplexing of buffer unit |
CN105095604A (en) * | 2015-09-10 | 2015-11-25 | 中国人民解放军国防科学技术大学 | Time sequence budgeting method capable of considering distance and clock |
CN105680848A (en) * | 2014-11-19 | 2016-06-15 | 京微雅格(北京)科技有限公司 | Method for optimizing FPGA (Field-Programmable Gate Array) chip layout based on area clock |
CN106709119A (en) * | 2015-11-18 | 2017-05-24 | 京微雅格(北京)科技有限公司 | FPGA chip wiring method |
CN110018654A (en) * | 2019-03-19 | 2019-07-16 | 中科亿海微电子科技(苏州)有限公司 | Fine granularity programmable timing sequence control logic module |
CN111221752A (en) * | 2020-01-02 | 2020-06-02 | 天津飞腾信息技术有限公司 | Method for optimizing module interface time sequence in SOC (System on chip) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8860458B2 (en) * | 2012-07-20 | 2014-10-14 | Altera Corporation | Integrated circuits with logic regions having input and output bypass paths for accessing registers |
US8762909B1 (en) * | 2013-03-12 | 2014-06-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for automatic timing-based register placement and register location adjustment in an integrated circuit (IC) |
CN105760558B (en) * | 2014-12-16 | 2019-04-09 | 京微雅格(北京)科技有限公司 | The layout method of multi input look-up table in fpga chip |
CN110313002B (en) * | 2015-12-28 | 2023-02-24 | 京微雅格(北京)科技有限公司 | FPGA chip wiring method based on PLB |
CN110728098B (en) * | 2018-06-29 | 2023-12-29 | 中车株洲电力机车研究所有限公司 | FPGA reconfiguration partition optimization method and system |
CN111709203B (en) * | 2020-05-09 | 2023-08-15 | 芯创智(北京)微电子有限公司 | FPGA optimization method and system for star topology of maintenance system |
CN112732620B (en) * | 2021-01-12 | 2022-03-18 | 东科半导体(安徽)股份有限公司 | Signal relay method of physical layer logic module based on pipeline register |
-
2021
- 2021-01-12 CN CN202110036465.2A patent/CN112732620B/en active Active
- 2021-10-21 WO PCT/CN2021/125321 patent/WO2022151785A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09288152A (en) * | 1996-02-20 | 1997-11-04 | Matsushita Electric Ind Co Ltd | Designing method for semiconductor integrated circuit |
US7478356B1 (en) * | 2005-09-30 | 2009-01-13 | Xilinx, Inc. | Timing driven logic block configuration |
CN103632001A (en) * | 2013-11-27 | 2014-03-12 | 中国人民解放军国防科学技术大学 | Retention time sequence optimization method based on multiplexing of buffer unit |
CN105680848A (en) * | 2014-11-19 | 2016-06-15 | 京微雅格(北京)科技有限公司 | Method for optimizing FPGA (Field-Programmable Gate Array) chip layout based on area clock |
CN105095604A (en) * | 2015-09-10 | 2015-11-25 | 中国人民解放军国防科学技术大学 | Time sequence budgeting method capable of considering distance and clock |
CN106709119A (en) * | 2015-11-18 | 2017-05-24 | 京微雅格(北京)科技有限公司 | FPGA chip wiring method |
CN110018654A (en) * | 2019-03-19 | 2019-07-16 | 中科亿海微电子科技(苏州)有限公司 | Fine granularity programmable timing sequence control logic module |
CN111221752A (en) * | 2020-01-02 | 2020-06-02 | 天津飞腾信息技术有限公司 | Method for optimizing module interface time sequence in SOC (System on chip) |
Non-Patent Citations (2)
Title |
---|
KIM,YS等: "IMPLEMENTATION OF PARALLEL DSS FOR CELL-BASED ATM PHYSICAL LAYER", 《 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (SUPERCOMM/ICC 94): SERVING HUMANITY THROUGH COMMUNICATIONS》 * |
胡军涛等: "高速DDR3存储控制器的时钟偏差控制和优化", 《微电子学与计算机》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022151785A1 (en) * | 2021-01-12 | 2022-07-21 | 东科半导体(安徽)股份有限公司 | Signal relay method for pipeline register-based physical layer logic modules |
Also Published As
Publication number | Publication date |
---|---|
CN112732620B (en) | 2022-03-18 |
WO2022151785A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377922B (en) | Method, device and equipment for repairing hold time violations | |
US5838581A (en) | Layout system for logic circuit | |
CN112732620B (en) | Signal relay method of physical layer logic module based on pipeline register | |
US9430600B2 (en) | Cell library and method for designing an asynchronous integrated circuit | |
US20150248520A1 (en) | Method and Apparatus for Physical-Aware Hold Violation Fixing | |
KR20080112252A (en) | Error correction device and methods thereof | |
US8701064B2 (en) | Timing error removing method and design support apparatus | |
CN113868992A (en) | Timing constraint method and device of integrated circuit, electronic equipment and chip | |
CN114861578A (en) | Method, device, equipment and storage medium for repairing hold time violation | |
JP2001101260A (en) | Method for verifying combination loop system | |
US20050069068A1 (en) | Asynchronous interface methods and apparatus | |
CN115129642B (en) | Chip bus delay adjustment method, electronic equipment and medium | |
JP4473163B2 (en) | How to eliminate scan chain hold errors | |
US7643594B2 (en) | Method for extracting clock in clock data recovery system | |
JP2006084427A (en) | Test point insertion method | |
EP1906526A2 (en) | Method for detection and correction of errors due to radiation effects on moving average filters and moving average filters | |
US6581192B1 (en) | Method and system for providing a heuristic approach for testing cell libraries | |
US6986119B2 (en) | Method of forming tree structure type circuit, and computer product | |
US7861197B2 (en) | Method of verifying design of logic circuit | |
US20020126581A1 (en) | Method of analyzing clock skew between signals | |
US5590371A (en) | Serial communication circuit on an LSI chip and communicating with another microcomputer on the chip | |
CN117151018B (en) | Layout method and device of buffer and inverter and electronic equipment | |
JPH06232735A (en) | Designing method of synchronous digital electronic circuit | |
CN118070724B (en) | FPGA delay optimization method and device, computer equipment and storage medium | |
CN109508247A (en) | Position position occurs for EMS memory error method, system and electronic equipment |
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 | ||
CB02 | Change of applicant information |
Address after: Building 38, digital Silicon Valley International Industrial Park, 999 Yinhuang East Road, Dangtu County, Ma'anshan City, Anhui Province 243100 Applicant after: Dongke semiconductor (Anhui) Co.,Ltd. Address before: Building 38, digital Silicon Valley International Industrial Park, 999 Yinhuang East Road, Dangtu County, Ma'anshan City, Anhui Province 243100 Applicant before: ANHUI DONGKE SEMICONDUCTOR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |