[go: up one dir, main page]

CN109815619B - Method for converting synchronous circuit into asynchronous circuit - Google Patents

Method for converting synchronous circuit into asynchronous circuit Download PDF

Info

Publication number
CN109815619B
CN109815619B CN201910123501.1A CN201910123501A CN109815619B CN 109815619 B CN109815619 B CN 109815619B CN 201910123501 A CN201910123501 A CN 201910123501A CN 109815619 B CN109815619 B CN 109815619B
Authority
CN
China
Prior art keywords
circuit
click
synchronous
pipeline
asynchronous
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.)
Active
Application number
CN201910123501.1A
Other languages
Chinese (zh)
Other versions
CN109815619A (en
Inventor
陈虹
吴辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201910123501.1A priority Critical patent/CN109815619B/en
Publication of CN109815619A publication Critical patent/CN109815619A/en
Application granted granted Critical
Publication of CN109815619B publication Critical patent/CN109815619B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明能够实现将同步流水线电路自动转化为基于Click单元的捆绑数据异步电路。首先,该方法通过比较同步流水线和基于Click单元的捆绑数据异步电路的区别,通过Tcl脚本将同步的Verilog代码转化为基于Click单元的捆绑数据异步电路的Verilog代码。而后通过Synopsys Design Compiler(DC)工具来对异步电路进行综合。本发明能够快速实现将同步流水线电路转化为基于Click的捆绑数据异步电路,大大缩短了异步电路设计的周期并减小了异步电路设计难度。

Figure 201910123501

The invention can realize the automatic conversion of the synchronous pipeline circuit into the bundled data asynchronous circuit based on the Click unit. Firstly, this method converts the synchronous Verilog code into the Verilog code of the Click unit-based asynchronous circuit based on the bundled data by comparing the difference between the synchronous pipeline and the asynchronous circuit based on the bundled data of the Click unit. The asynchronous circuit is then synthesized using the Synopsys Design Compiler (DC) tool. The invention can quickly realize the conversion of the synchronous pipeline circuit into the asynchronous circuit based on the bundled data of Click, which greatly shortens the design cycle of the asynchronous circuit and reduces the difficulty of the asynchronous circuit design.

Figure 201910123501

Description

Method for converting synchronous circuit into asynchronous circuit
Technical Field
The invention belongs to the technical field of integrated circuit design, and particularly relates to a method for converting a synchronous circuit into an asynchronous circuit.
Background
With the continuous improvement of the manufacturing process of the integrated circuit, the asynchronous circuit has the following remarkable characteristics compared with a synchronous circuit.
1. Low power consumption: asynchronous circuits consume power only when and where it is needed
2. High speed: the delay of an asynchronous circuit depends on the local delay rather than the longest delay path of the overall circuit
3. No clock distribution problem: asynchronous circuits have no global clock, so do not require clock tree synthesis
However, asynchronous circuits are difficult to design. Since asynchronous circuits are not widely adopted by the industry, no mature commercial EDA tool supports the design of asynchronous circuits. In addition, since many integrated circuit digital engineers accept training of synchronous circuit design, there is a problem of conversion from synchronous circuit design thinking to asynchronous circuit design thinking in design, which increases the difficulty of asynchronous circuit design. Finally, the types of asynchronous circuits are more, and different types of asynchronous circuits also have differences in design methods, which also improves the threshold of asynchronous circuit design to a certain extent.
Disclosure of Invention
In order to overcome the above-mentioned drawbacks of the prior art and to reduce the difficulties in designing asynchronous circuits, it is an object of the present invention to provide a method for converting synchronous circuits into asynchronous circuits, which can be designed with sophisticated EDA tools, using a Click cell based bundled data asynchronous circuit architecture closest to the synchronous circuits.
In order to achieve the purpose, the invention adopts the technical scheme that:
a method of converting a synchronous circuit to an asynchronous circuit, comprising the steps of:
step 1, comparing the difference between a synchronous pipeline circuit and a binding data asynchronous circuit based on a Click unit;
step 2, converting Verilog codes of the synchronous pipeline circuit into Verilog codes of a binding data asynchronous circuit based on a Click unit through a Tcl script;
and 3, synthesizing the asynchronous circuit by using a Synopsys Design Compiler (DC) tool.
The synchronous pipeline circuit is different from a binding data asynchronous circuit based on a Click unit in that:
1) the synchronous pipeline circuit drives the D flip-flop by using a global clock clk, and the bundled data asynchronous circuit based on a Click unit drives the D flip-flop by using a pulse signal generated by the Click unit;
2) the tied data asynchronous circuit based on the Click cell requires an additional Click cell to generate a pulse that can drive the D flip-flop, while the synchronous pipeline circuit does not.
3. The method of converting a synchronous circuit into an asynchronous circuit as claimed in claim 1, wherein the Click cells are instantiated and the netlist is as follows:
Figure BDA0001972792690000021
the instantiated Click cell, using the set _ dot _ touch command, prevents it from being changed during the synthesis.
The step 2 specifically comprises:
step 2.1: finding the pipeline stage number of the synchronous pipeline circuit;
step 2.2: replacing the posededge clk in the synchronous pipeline circuit code with the posededge fire, and adding instantiation of a Click unit in the code;
step 2.3: the clock port in the synchronous pipeline circuit code is replaced with in _ req and the other ports of the Click unit are added to the code.
In the step 2.1, the synchronous pipeline circuit code is labeled in the following manner, and then the number of labels is found through the Tcl script so as to find the stage number of the pipeline:
Figure BDA0001972792690000031
in the step 2.2, the number of the Click units is added according to the number of stages of the pipeline, and the posegdge clk of each stage is sequentially replaced by the posegdge fire1 and the posegdge fire2, and so on, that is, the posegdge clk of the first stage is replaced by the posegdge fire1, the posegge clk of the second stage is replaced by the posegge fire2, and the posegge clk of the nth stage is replaced by the posegge fire N. Wherein the number of stages of the pipeline is equal to the number of Click units.
In said step 2.3, the in _ req, in _ ack, out _ req, out _ ack ports of the Click unit are added in the code port declaration section.
In the step 3, synthesizing the asynchronous circuit through a Synopsys Design Compiler (DC) tool is to convert the synchronous pipeline code into the asynchronous pipeline code, then set _ dot _ touch of the Click unit, and then create a clock for the fire signal, thereby realizing circuit synthesis.
Compared with the prior art, the invention can directly convert the synchronous pipeline circuit into a binding data asynchronous circuit based on Click, thereby greatly reducing the difficulty of asynchronous circuit design.
Drawings
FIG. 1 is a Click cell used in the present invention.
Fig. 2 is a waveform diagram of a Click cell used in the present invention.
FIG. 3 is a basic architecture diagram of a bundled data asynchronous circuit based on Click cells.
FIG. 4 is a circuit diagram of the synchronous pipeline to be inverted in the present invention.
FIG. 5 is a schematic diagram of a bundled data asynchronous circuit based on a Click cell converted by the synchronous pipeline circuit of FIG. 4.
Detailed Description
The embodiments of the present invention will be described in detail below with reference to the drawings and examples.
The circuit diagram of the Click cell is shown in fig. 1:
it can be seen that the Click cell contains a D flip-flop and there is a loop in the circuit, so it is not a combinational logic circuit. Such circuits cannot be synthesized by DC tools if their logical relationships are described only by Verilog. Therefore, there is a need to solve this problem by directly instantiating the Click cell. The netlist instantiating the Click cell is shown in table 1. The instantiated Click cell needs to use commands to prevent it from being changed during synthesis.
TABLE 1 Click netlist
Figure BDA0001972792690000041
The waveform diagram of the Click cell is shown in fig. 2. The Click cell uses a two-phase handshake protocol, i.e., each flip of the request signal represents a request, and the Click cell generates a pulse. This pulse can be considered a clock to capture and store data. Thus, the pulse signals generated by the Click control unit of the asynchronous circuit can be effectively treated as a clock, so that the clock can be created for the pulse signals in a synthesis script and then the DC tool can be used for synthesis.
The basic architecture of the bundled data asynchronous circuit based on the Click cell is shown in fig. 3, and according to the structure of the Click, a fire signal is generated for data capture or storage whenever the request signal (i _ r1) of the Click flips. And the request signal passes to the next stage to serve as the next stage's request signal (i _ r 2). "binding data" means that the data signal takes a boolean value, and the request (request) and acknowledge (acknowledge) lines are separate from each other and bound together with the data.
A schematic diagram of the conversion of the synchronous pipeline circuit of fig. 4 into a Click cell based bundled data asynchronous circuit is shown in fig. 5. As can be seen from fig. 4 and 5, the difference between the synchronous pipeline circuit and the bundled data asynchronous circuit based on the Click cell is that:
1. the synchronous circuit drives the D flip-flops using the global clock clk, while the asynchronous circuit drives the D flip-flops using the pulse signals generated by the Click cells.
2. Asynchronous circuits require additional Click cells to generate pulses that can drive the D flip-flops, while synchronous circuits do not.
Based on the above differences, the synchronous pipeline circuit described by Verilog can be converted into a bundled data asynchronous circuit based on a Click unit through the following steps.
Step 1: the number of stages of the pipeline is found. This can be noted by noting in the synchronization code in the manner shown in Table 2, and then the number of pipeline stages can be found by the Tcl script.
TABLE 2 pipeline stage number labeling
Figure BDA0001972792690000051
Step 2: the posededge clk in the synchronization code is replaced with posededge fire and the instantiation of the Click cell is added to the code. In step 1, the number of pipeline stages can be found, the number of Click units is added according to the number of pipeline stages, and the posedge clk of each stage is replaced by posedge fire1, posedge fire2 and so on.
And step 3: replace the clock port in the synchronization code with in _ req and add some other ports of the Click in the code.
The synchronous pipeline circuit can be converted into a Click-based bundled data asynchronous circuit in the above way.

Claims (5)

1. A method of converting a synchronous circuit to an asynchronous circuit, comprising the steps of:
step 1, comparing the difference between a synchronous pipeline circuit and a binding data asynchronous circuit based on a Click unit;
step 2, converting the Verilog code of the synchronous pipeline circuit into the Verilog code of the binding data asynchronous circuit based on the Click unit through the Tcl script, and the specific steps are as follows:
step 2.1: finding the pipeline stage number of the synchronous pipeline circuit;
step 2.2: replacing the posededge clk in the synchronous pipeline circuit code with the posededge fire, and adding instantiation of a Click unit in the code;
step 2.3: replacing a clock port in the synchronous pipeline circuit code with in _ req, and adding other ports of a Click unit in the code;
and 3, synthesizing the asynchronous circuit by using a Synopsys Design Compiler (DC) tool.
2. The method of converting a synchronous circuit to an asynchronous circuit according to claim 1, wherein said synchronous pipeline circuit is distinguished from a Click cell based bundled data asynchronous circuit by:
1) the synchronous pipeline circuit drives the D flip-flop by using a global clock clk, and the bundled data asynchronous circuit based on a Click unit drives the D flip-flop by using a pulse signal generated by the Click unit;
2) the tied data asynchronous circuit based on the Click cell requires an additional Click cell to generate a pulse that can drive the D flip-flop, while the synchronous pipeline circuit does not.
3. The method of claim 1, wherein in step 2.2, the number of Click units is added according to the number of stages of the pipeline, and the posedge clk of each stage is sequentially replaced by posedge fire1, posedge fire2, and so on, wherein the number of stages of the pipeline is equal to the number of Click units.
4. A method for converting a synchronous circuit into an asynchronous circuit according to claim 1, characterized in that in step 2.3, in _ req, in _ ack, out _ req, out _ ack ports of a Click unit are added in the code port declaration section.
5. The method of claim 1, wherein in step 3, the synthesis of the asynchronous circuit by the Synopsys Design Compiler (DC) tool is to convert the synchronous pipeline code into the asynchronous pipeline code, and then clock the Click unit set _ dot _ touch and then the fire signal, thereby realizing the circuit synthesis.
CN201910123501.1A 2019-02-18 2019-02-18 Method for converting synchronous circuit into asynchronous circuit Active CN109815619B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910123501.1A CN109815619B (en) 2019-02-18 2019-02-18 Method for converting synchronous circuit into asynchronous circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910123501.1A CN109815619B (en) 2019-02-18 2019-02-18 Method for converting synchronous circuit into asynchronous circuit

Publications (2)

Publication Number Publication Date
CN109815619A CN109815619A (en) 2019-05-28
CN109815619B true CN109815619B (en) 2021-02-09

Family

ID=66606890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910123501.1A Active CN109815619B (en) 2019-02-18 2019-02-18 Method for converting synchronous circuit into asynchronous circuit

Country Status (1)

Country Link
CN (1) CN109815619B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347722B (en) * 2020-11-12 2023-12-26 苏州盛科通信股份有限公司 Method and device for efficiently evaluating chip Feed-through flow number of stages
CN112908379B (en) * 2021-01-26 2023-05-23 北京航空航天大学 Asynchronous circuit and system
CN113407239B (en) * 2021-06-09 2023-06-13 中山大学 Pipeline processor based on asynchronous monorail
CN113407467B (en) * 2021-07-19 2023-05-30 北京中科芯蕊科技有限公司 Synchronous-asynchronous conversion interface and device based on Mouserap

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102565665A (en) * 2010-12-17 2012-07-11 炬力集成电路设计有限公司 Circuit detection device and circuit detection method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593221B (en) * 2008-05-28 2010-10-27 北京中电华大电子设计有限责任公司 Method and circuit for preventing different zone clocks from burr during dynamic switching
CN100552621C (en) * 2008-06-06 2009-10-21 清华大学 An Arithmetic Logic Unit Realized by Asynchronous Circuit
US9685957B2 (en) * 2014-04-09 2017-06-20 Altera Corporation System reset controller replacing individual asynchronous resets
US10152565B2 (en) * 2015-06-03 2018-12-11 Altera Corporation Methods for performing register retiming operations into synchronization regions interposed between circuits associated with different clock domains
CN108537331A (en) * 2018-04-04 2018-09-14 清华大学 A kind of restructural convolutional neural networks accelerating circuit based on asynchronous logic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102565665A (en) * 2010-12-17 2012-07-11 炬力集成电路设计有限公司 Circuit detection device and circuit detection method

Also Published As

Publication number Publication date
CN109815619A (en) 2019-05-28

Similar Documents

Publication Publication Date Title
CN109815619B (en) Method for converting synchronous circuit into asynchronous circuit
TWI480734B (en) Method and recognition apparatus for use in a plurality of memory devices in a serial interconnection configuration and system comprising serially interconnected devices
Yakovlev et al. Advances in asynchronous logic: From principles to GALS & NoC, recent industry applications, and commercial CAD tools
CN104915303B (en) High speed digital I based on PXIe buses/O systems
CN100541385C (en) Device and method for generating synchronous frequency division clock in digital TV modulator chip
US8078899B2 (en) Asynchronous conversion circuitry apparatus, systems, and methods
CN102487272A (en) Integrated circuit, clock gate control circuit and method
CN105162437B (en) A kind of waveshape generating device and method
CN204496211U (en) A kind of expansion I/O port circuit with standard spi bus interface
CN107102964A (en) A kind of method that GPU cluster expansion is carried out using high-speed connector
CN105930591A (en) Realization method for register clustering in clock tree synthesis
CN101320344B (en) Multi-core or numerous-core processor function verification device and method
US8578074B2 (en) First in first out device and method thereof
CN102495356B (en) Processing method of reset port of scan chain asynchronous reset register
US20110016439A1 (en) Reset mechanism conversion
CN101689851A (en) Logic state catching circuits
CN105334906A (en) Multistage gated clock network optimization method in nanometer technology
CN111506529A (en) High-speed SPI instruction response circuit applied to F L ASH
CN101577643B (en) Data conversion method for test system and related data conversion device
US20170212861A1 (en) Clock tree implementation method, system-on-chip and computer storage medium
CN103348594A (en) Multivoltage clock synchronization
CN101149763A (en) Design Method of Burst Mode Asynchronous Control Circuit
US20120317434A1 (en) Method and Apparatus for Processor to Operate at Its Natural Clock Frequency in the System
Heo et al. Lightening asynchronous pipeline controller through resynthesis and optimization
JP3614758B2 (en) Clock phase adjustment system and clock tree design method

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
GR01 Patent grant
GR01 Patent grant