Integrated circuit with mixed circuitry structure of static combinational circuit and dynamic combinational circuit and designing method thereof
11126217 · 2021-09-21
Assignee
Inventors
Cpc classification
H03K5/00
ELECTRICITY
International classification
H03K3/00
ELECTRICITY
G06F1/12
PHYSICS
Abstract
An integrated circuit includes a first stage and a second stage. The first stage receives a previous stage output data and a clock signal and generates a first output data. The second stage receives the first output data and the clock signal. The first stage includes a first flip-flop circuit, a first static combinational circuit, a dynamic combinational circuit and a multi-phase generator. The first flip-flop circuit receives the previous output data and the clock signal and generates an input data. The first static combinational circuit receives the input data and generates an intermediate data. The multi-phase generator receives the clock signal and generates a delayed clock signal. The dynamic combinational circuit receives the intermediate data and the delayed clock signal and generates the first output data.
Claims
1. An integrated circuit with a mixed circuitry structure of a static combinational circuit and a dynamic combinational circuit, the integrated circuit comprising: a first stage receiving a previous stage output data and a clock signal, and generating a first output data; and a second stage receiving the first output data and the clock signal, and generating a second output data, wherein the first stage comprises a first flip-flop circuit, a first static combinational circuit, a dynamic combinational circuit and a multi-phase generator, wherein a data input terminal of the first flip-flop circuit receives the previous output data, a clock input terminal of the first flip-flop circuit receives the clock signal, a data output terminal of the first flip-flop circuit generates an input data, the first static combinational circuit receives the input data and generates an intermediate data, the multi-phase generator receives the clock signal and generates a delayed clock signal, a data input terminal of the dynamic combinational circuit receives the intermediate data, a clock input terminal of the dynamic combinational circuit receives the delayed clock signal, and a data output terminal of the dynamic combinational circuit generates the first output data.
2. The integrated circuit as claimed in claim 1, wherein the second stage comprises a second flip-flop circuit and a second static combinational circuit, wherein a data input terminal of the second flip-flop circuit receives the first output data, a clock input terminal of the second flip-flop circuit receives the clock signal, a data output terminal of the second flip-flop circuit is connected with a data input terminal of the second static combinational circuit, and a data output terminal of the second static combinational circuit generates the second output data.
3. The integrated circuit as claimed in claim 1, wherein in a first cycle of the clock signal, the first stage processes the previous output data and generates the first output data, wherein in a second cycle of the clock signal, the second stage processes the first output data and generates the second output data.
4. The integrated circuit as claimed in claim 1, wherein the multi-phase generator comprises plural serially-connected delay elements and a multiplexer, wherein a first delay element of the plural delay elements receives the clock signal, output terminals of the plural delay elements are connected with plural input terminals of the multiplexer, and an output terminal of the multiplexer is selectively connected with one of the plural input terminals to generate the delayed clock signal.
5. A designing method of the integrated circuit according to claim 1, the designing method comprising steps of: setting the first flip-flop circuit, the first static combinational circuit, the dynamic combinational circuit and the multi-phase generator of the first stage as a macro block; performing a placement and routing operation on the integrated circuit; performing a clock tree balancing operation on the integrated circuit; and restoring the macro block to the flip-flop circuit, the static combinational circuit, the dynamic combinational circuit and the multi-phase generator.
6. The designing method as claimed in claim 5, wherein while the placement and routing operation is performed, the macro block and plural electronic elements of the second stage are arranged through an automatic placement and routing tool.
7. The designing method as claimed in claim 5, wherein plural signal input terminals of the macro block receive the previous stage output data, a clock input terminal of the macro block receives the clock signal, and plural signal output terminals of the macro block generate the first output data.
8. The designing method as claimed in claim 7, wherein while the clock tree balancing operation is performed, an automatic placement and routing tool performs a clock tree synthesis operation, so that the clock signal received by the clock input terminal of the macro block and the clock signal received by a clock input terminal of the second stage are synchronous with each other.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above objects and advantages of the present invention will become more readily apparent to those ordinarily skilled in the art after reviewing the following detailed description and accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
(8) The present invention provides an integrated circuit with a mixed circuitry structure of a static combinational circuit and a dynamic combinational circuit. In particular, at least one stage of the integrated circuit comprises a dynamic combinational circuit.
(9) The circuit diagram of the integrated circuit comprises plural stages. For succinctness, only an n-th stage 310 and an (n+1)-th stage 320 are shown. These stages are operated according to a clock signal CLK. The n-th stage 310 comprises a flip-flop circuit 312, a static combinational circuit 314 and a dynamic combinational circuit 316. The (n+1)-th stage 320 comprises a flip-flop circuit 322 and a static combinational circuit 324. The clock input terminals CKin of the flip-flop circuits 312 and 322 receive the clock signal CLK. Moreover, each of the flip-flop circuits 312 and 322 comprises plural latches.
(10) In the n-th stage 310, the flip-flop circuit 312 latches the output data Dout.sub.n−1 of the previous stage as the input data Din.sub.n. After the static combinational circuit 314 receives and processes the input data Din.sub.n, an intermediate data Dx is generated. The clock input terminal CKin of the dynamic combinational circuit 316 receives the clock signal CLK. According to the clock signal CLK, the dynamic combinational circuit 316 receives and processes the intermediate data Dx. Consequently, the output data Dout.sub.n of the n-th stage 310 is generated.
(11) Similarly, in the (n+1)-th stage 320, the flip-flop circuit 322 latches the output data Dout.sub.n of the n-th stage 310 as the input data Din.sub.n+1. After the static combinational circuit 324 receives and processes the input data Din.sub.n+1, the output data Dout.sub.n+1 of the (n+1)-th stage 320 is generated.
(12) The operation of the integrated circuit as shown in
(13) After the circuit diagram of
(14) Generally, it takes a specified processing time from the time point of receiving the input data Dine to the time point of generating the intermediate data Dx. As mentioned above, the clock signal CLK received by the clock input terminal CKin of the flip-flop circuit 312 in the n-th stage 310 and the clock signal CLK received by the clock input terminal CKin of the dynamic combinational circuit 316 are synchronous with each other. When the dynamic combinational circuit 316 is enabled according to the clock signal CLK, the flip-flop circuit 312 is starting to latch the output data Dout.sub.n−1. Consequently, it is determined that the intermediate data Dx of the static combinational circuit 314 is not ready. Since the dynamic combinational circuit 316 is unable to correctly receive the intermediate data Dx, the output data Dout.sub.n is generated incorrectly.
(15) In order to solve the above problems and allow the integrated circuit to operate normally, the integrated circuit of the present invention is further equipped with a multi-phase generator. The multi-phase generator is used for dynamically adjusting the delay time of the clock signal. Consequently, the integrated circuit can be operated correctly.
(16)
(17) In the n-th stage 410, the data input terminal of the flip-flop circuit 412 receives the output data Dout.sub.n−1 of the previous stage, and the output data Dout.sub.n−1 is latched as the input data Dine. Moreover, the data output terminal of the flip-flop circuit 412 generates the input data Dine. After the static combinational circuit 414 receives and processes the input data Dine, an intermediate data Dx is generated. The multi-phase generator 418 receives the clock signal CLK and generated a delayed clock signal CLK_d. The clock input terminal CKin of the dynamic combinational circuit 416 receives the delayed clock signal CLK_d. The data input terminal of the dynamic combinational circuit 416 receives the intermediate data Dx. The data output terminal of the dynamic combinational circuit 416 generates the output data Dout.sub.n. That is, according to the delayed clock signal CLK_d, the dynamic combinational circuit 416 receives and processes the intermediate data Dx. Consequently, the output data Dout.sub.n of the n-th stage 410 is generated.
(18) Similarly, in the (n+1)-th stage 320, the data input terminal of the flip-flop circuit 322 receives the output data Dout.sub.n of the n-th stage 310, and the output data Dout.sub.n is latched as the input data Din.sub.n+1. Moreover, the data output terminal of the flip-flop circuit 322 generates the input data Din.sub.n+1. After the static combinational circuit 324 receives and processes the input data Din.sub.n+1, the output data Dout.sub.n+1 of the (n+1)-th stage 320 is generated.
(19) Generally, it takes a specified processing time from the time point of receiving the input data Dine to the time point of generating the intermediate data Dx. The phase of the delayed clock signal CLK_d from the multi-phase generator 418 lags the clock signal CLK for at least the processing time. When the dynamic combinational circuit 416 is enabled according to the delayed clock signal CLK_d, it is determined that the intermediate data Dx of the static combinational circuit 414 is ready. Since the dynamic combinational circuit 416 is able to correctly receive the intermediate data Dx, the output data Dout.sub.n is generated correctly.
(20) From the above descriptions, the associated signals are generated during the normal operation of the integrated circuit. In the previous cycle of the clock signal CLK, the n-th stage 410 processes the output data Dout.sub.n−1 of the previous stage and generates the output data Dout.sub.n of the n-th stage 410. In the next cycle of the clock signal CLK, the (n+1)-th stage 320 processes the output data Dout.sub.n of the n-th stage 310 and generates the output data Dout.sub.n+1 of the (n+1)-th stage 320.
(21)
(22) The present invention further comprises a designing method of the integrated circuit.
(23) After the circuit diagram of the integrated circuit is designed, the flip-flop circuit, the static combinational circuit, the multi-phase generator and the dynamic combinational circuit in the stage of the integrated circuit with the mixed circuitry structure of the static combinational circuit and the dynamic combinational circuit are set as a macro block (Step S602). In an embodiment, the macro block is considered as an electronic element. For example, as shown in
(24) Then, the integrated circuit undergoes a placement and routing operation (Step S604). That is, the ARP tool is used to arrange the macro block and the other electronic elements of the (n+1)-th stage 320.
(25) Then, the integrated circuit undergoes a clock tree balancing operation (Step S606). That is, the ARP tool is used to perform the clock tree balancing operation on the clock signal. Consequently, the clock signal CLK received by the clock input terminal CKin of the macro block and the clock signal CLK received by the clock input terminal CKin of the (n+1)-th stage are synchronous with each other.
(26) Then, the macro block is restored to the flip-flop circuit 412, the static combinational circuit 414, the dynamic combinational circuit 416 and the multi-phase generator 418 (Step S608).
(27) As mentioned above, the ARP tool is used to perform the clock tree balancing operation. In particular, the clock tree synthesis (CTS) operation performed by the ARP tool is only aimed at the clock input terminal of the macro block and the clock input terminals of other stages. In other words, the clock input terminal of the dynamic combinational circuit of the macro block is not subjected to the clock tree balancing operation by the ARP tool.
(28) After the clock tree balancing operation is completed, the macro block is restored to the flip-flop circuit, the static combinational circuit, the dynamic combinational circuit and the multi-phase generator. Since the clock signal received by the clock input terminal of the dynamic combinational circuit and the clock signal received by the clock input terminal of the flip-flop circuit are not synchronous with each other, the integrated circuit can be operated normally.
(29) While the invention has been described in terms of what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention needs not be limited to the disclosed embodiment. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims which are to be accorded with the broadest interpretation so as to encompass all such modifications and similar structures.