1. Field of the Invention
The present inventive concept relates to a clock-distribution device. More particularly, the inventive concept relates to a clock-distribution device with a clock mesh and mesh drivers.
2. Description of the Related Art
In order to access and use semiconductor devices properly, it is necessary to distribute clock signals to its parallel sequential elements at approximately the same time within the semiconductor devices. For example, the parallel sequential elements could include registers, flip-flops, latches and memory. When clock signals arrive at these parallel sequential elements at different times, clock skew may occur. Accordingly, the clock skew could cause a variety of problems including setup and hold violations. The integrity of data transmitted along the semiconductor device could be affected, and the performance of the semiconductor device could deteriorate. Therefore, an efficient clock-distribution device and an efficient clock-distribution method are needed to reduce clock skew and prevent performance deterioration.
The present invention provides a clock-distribution device for dividing a clock signal into a plurality of clock signals for a plurality of registers. The clock-distribution device includes at least one mesh driver and a clock mesh. The mesh driver is coupled to an input port of the clock-distribution device to transmit and/or divide the clock signal from the input port. The clock mesh is driven by the mesh driver and utilized to distribute the clock signals for the registers uniformly.
The present invention provides a clock-distribution device for dividing a clock signal into a plurality of clock signals for a plurality of registers. The clock-distribution device includes a plurality of clock gates and a clock mesh. The clock gates are utilized to transmit the clock signals to the registers. The clock mesh is arranged between the clock gates and an input port of the clock-distribution device. The clock mesh is utilized to distribute the clock signals to the clock gates uniformly. The clock signals are provided from the input port.
In an aspect of the present invention, the clock-distribution device further includes at least one mesh driver arranged between the clock mesh and the input port to drive the clock mesh, includes at least one pre-mesh driver arranged between the mesh driver and the input port to drive the mesh driver, and includes at least one buffer arranged between the pre-mesh driver and the input port to transmit the clock signal from the input port to the pre-mesh driver. The number of mesh drivers and pre-mesh drivers is determined by the number of registers and/or transition of the clock signal.
In another aspect of the present invention, the input port is coupled to a clock-generation module to receive the clock signal generated by the clock-generation module. The clock gates connect to a plurality of output ports of the clock-distribution device, and the clock-distribution device transmits the clock signals to the registers through the output ports. In addition, the configuration of the clock mesh is determined by the number of registers and/or transition of the clock signal. The number of clock gates is proportional to the number of registers.
The present invention provides a clock-distribution method for dividing a clock signal into a plurality of clock signals for a plurality of registers. The clock-distribution method includes determining number of registers and a transition of the clock signal; arranging a plurality of clock gates which connect to a plurality of output ports; arranging at least one buffer between the mesh driver and the input port to transmit the clock signal from the input port to the mesh driver; arranging a clock mesh to uniformly distribute the clock signals for the registers; arranging at least one mesh driver to transmit and/or divide the clock signal from an input port; routing the clock mesh and simulating the timing of the clock signals.
A detailed description is given in the following embodiments with reference to the accompanying drawings.
The present invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of the embodiments and are not necessarily drawn to scale.
The following description is of the best-contemplated operation of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. Certain terms and figures are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. The terms “component”, “system” and “device” used in the present invention could be the entity relating to the computer which is hardware, software, or a combination of hardware and software. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”. Also, the term “couple” is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is coupled to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
The clock-distribution device 10 and a plurality of registers 20 are illustrated in
In the embodiment as shown in
In one embodiment, the clock mesh 120 is arranged between the clock gates 110 and the mesh drivers 160 to distribute the clock signals to the clock gates 110 uniformly. In other words, the clock signals arrive at each of the clock gates 110 at approximately the same time. Compared with the embodiment of
It should be noted that the number of registers 20 in
In another embodiment, the number of mesh drivers 160 and pre-mesh drivers 162 is also determined by the transition of the clock signal. The clock signal includes two different states, and it switches between the two states alternatively. The transition of clock signal indicates the rate and speed it switches between the two different states. More specifically, the number of mesh drivers 160 and the pre-mesh drivers 162 is proportional to the transition of the clock signals. When the transition of the clock signals increases, more driving capacity will be needed corresponding to the high-speed transition. Therefore, the number of mesh drivers 160 and pre-mesh drivers 162 should be increased for obtaining a high driving capacity.
Furthermore, when the loading of the clock-distribution device 10 increases, the transition of the clock signals will be decreased. When the transition of the clock signal is pre-determined and fixed due to the design requirement of the semiconductor device, the loading of the clock-distribution device 10 should also be arranged within the certain range and limitation. Therefore, the configuration of the clock mesh 120 and the arrangement of the mesh drivers 160 and pre-mesh drivers 162 could be determined according to the synergy of both the transition of the clock signal and the loading of the clock-distribution device 10.
In the embodiment of
Regarding the configuration of the clock-distribution device 10, the arrangement of the input port 140, the clock gates 110 and the output ports 150 of the clock-distribution device 10 are also determined in accordance with the number and arrangement positions of the registers 20 and the clock-generation device 30. Accordingly, the clock mesh 120 and it related mesh drivers 160 and pre-mesh drivers 162 are also determined in accordance with the arrangement and positions of the registers 20 and the clock-generation device 30. For example, when lots of registers 20 are arranged, a great number of mesh-drivers 160 and pre-mesh drivers 162 will be needed for the clock-distribution device 10. In order to drive the clock mesh 120 properly and efficiently, the mesh-drivers 160 and pre-mesh drivers 162 could be arranged in a tree-structure with multiple points.
In step S612, whether there is another clock required to build the clock mesh 120 or not is determined. If there is another clock required to build the clock mesh, step S606 to step S610 will be executed again. If there is not another clock required to build the clock mesh, once the clock routing for the clock mesh 120, the pre-mesh drivers 162 and the mesh drivers 160 is completed step S614 is executed that the design of the clock-distribution device 10 is saved and the output file is generated. Afterwards, in step S616, timing of the clock signals is simulated.
Although embodiments of the present disclosure and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims. For example, it will be readily understood by those skilled in the art that many of the features, functions, processes, and materials described herein may be varied while remaining within the scope of the present disclosure. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present disclosure. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps. In addition, each claim constitutes a separate embodiment, and the combination of various claims and embodiments are within the scope of the disclosure.
This application claims the benefit of U.S. Provisional Application No. 62/089,990, filed Dec. 10, 2014, the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
62089990 | Dec 2014 | US |