The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for an advanced array local clock buffer base block circuit.
High performance arrays, such as a static random access memory (SRAM), normally require dock generation circuits to control internal circuit timings. These clock generation circuits (also known as Local Clock Buffers (LCBs)) are used to control array word decode/bit decode and read/write critical circuit functions. To provide timing tuning flexibilities as well as hardware debug capabilities, state of the art array LCBs often have programmable controls on its clock delay or pulse width circuits. Multiple discrete timing settings of delay or pulse width are implemented with explicit decoders and with typical inverter delay chains. Such programmability of timing settings of delay or pulse width however adds circuit complexity, chip area and power consumption to the LCB structures. A state of the art local dock control buffer is constructed with modular circuit blocks. This modular topology makes the design extremely flexible to drive different clock loads and latch types.
An array LCB uses the common logical base block used for all LCB applications on the chip. Such an array LCB also has additional devices in the feedback path to vary the pulse with of the output clock signal (clk). A short cycle time of 184 picoseconds and a high mid cycle uncertainty of 18 picoseconds creates massive race between rising negative active global dock signal (nclk) and the feedback path signal (fb_2). That is, the pulse width of the output clock signal (clk) is no long determined by the feedback path signal but by the nclk rising edge. This makes the array LCB output pulse width vary over nclk frequency which is very critical for array applications.
To guarantee a cycle-time independent pulse width over different cycle times, big devices are required in the array LCB feedback path to ensure that the feedback path is always faster than the fastest nclk situation. Further, cycle stealing is required inside the array LCB to overcome the race between feedback path and the rising nclk. The state of the art array LCB only works in default delay and pulse width settings and big devices in the array LCB feedback path significantly increase the area required for such array LCBs.
In one illustrative embodiment, a base block circuit is provided for shifting a rising edge of a negative active global clock signal beyond a rising edge of a feedback path signal. The illustrative embodiment receives the negative active global clock signal and a clock chopper signal. First base block circuitry, in the illustrative embodiment, modifies the clock chopper signal in order to form the feedback path signal. Second base block circuitry, in the illustrative embodiment, shifts the rising edge of the negative active global clock signal beyond the rising edge of the feedback path signal using a delay negative active global clock signal.
In another illustrative embodiment, a local clock buffer is provided that comprises a base block circuit, a clock chopper control circuit, local clock delay circuit, and local clock driver circuit. In the illustrative embodiment, the base block circuit receives the negative active global clock signal and a clock chopper signal. First base block circuitry, in the illustrative embodiment, modifies the clock chopper signal in order to form the feedback path signal. Second base block circuitry, in the illustrative embodiment, shifts the rising edge of the negative active global clock signal beyond the rising edge of the feedback path signal using a delay negative active global clock signal.
In yet another illustrative embodiment, a design structure embodied in a non-transitory machine readable medium for designing, manufacturing, or testing an integrated circuit. In the illustrative embodiment, the design structure comprises a first design structure element for modifying a clock chopper signal in order to form a feedback path signal. In the illustrative embodiment, the design structure comprises a second design structure for shifting the rising edge of a negative active global clock signal beyond the rising edge of the feedback path signal using a delay negative active global clock signal.
These and other features and advantages of the present invention will be described in, or will become apparent to those of ordinary skill in the art in view of, the following detailed description of the example embodiments of the present invention.
The invention, as well as a preferred mode of use and further objectives and advantages thereof, will best be understood by reference to the following detailed description of illustrative embodiments when read in conjunction with the accompanying drawings, wherein:
The illustrative embodiments provide an advanced array local clock buffer (LCB) base block circuit that overcomes the race between a feedback path signal and a rising negative active global clock signal (nclk). The illustrative embodiments provide a clock stretcher at the array LCB base block input state that shifts the rising nclk edge beyond the rising feedback path signal edge under all conditions.
The output of base block 102 is electrically couple to lclk_delay block 106. Lclk_delay block 106 provides programmable clock delay control and, in one embodiment, is programmable and includes 3 delay settings. In particular, lclk_delay block 106 uses 2 mode bits (dly0118, dly1120) to provide 3 delay settings (default, 1-notch delay, and 2-notch delay). The 2-to-3 decode function is combined with the delay chains in the lclk_delay block 106. In one embodiment, the delay chains are configured with modulated PFET/NFET inverter structure instead of simple inverter chains.
The output of lclk_delay block 106, lclk_b signal 122 is electrically coupled to both lclk_driver block 108 and base chop_b block 104. Lclk_driver block 108 creates an output clock signal, lclk signal 124 to an array. In one embodiment, lclk_driver block 108 may be implemented as a parameterized inverter block to adapt LCB 100 to the particular clock net.
Chop_b block 104 is provided for clock chopper control and controls pulse width by sending pwvar_chop_b signal 126 back to base block 102. In one embodiment, chop_b block 104 may accept input signals mpw1128 and mpw2130 to widen or narrow pulse width by +/−0.5F04. In one embodiment, chop_b block 104 may only be operative when d_mode_b signal 132 is high. In addition, chop_b block 104 may provide for programmable clock pulse width control. Programmable clock pulse width control is an expanded pulse width programmability implemented in the clock feedback path with four different pulse width settings. The four settings are controlled by the input signals pw0134, pw1136, and pw2138.
P-FET 210 includes a gate terminal (G2), a source terminal (S2), and a drain terminal (D2). N-FET 212 includes a gate terminal (G3), a source terminal (S3), and a drain terminal (D3). N-FET 214 includes a gate terminal (G4), a source terminal (S4), and a drain terminal (D4). Gate terminal G2 is electrically coupled to gate terminal G3 as well as output clock signal (clk) 204. Source terminal S2 is electrically coupled to voltage source (Vdd) 208. Drain terminal D3 is electrically coupled to source terminal S4, gate terminal G4 is electrically coupled to clock chopper signal (chop_b) signal 202, and drain terminal D4 is electrically coupled to ground 218.
P-FET 216 includes a gate terminal (G5), a source terminal (S5), and a drain terminal (D5). Source terminal S5 is electrically coupled to voltage source (Vdd) 208. P-FET 220 includes a gate terminal (G6), a source terminal (S6), and a drain terminal (D6). P-FET 222 includes a gate terminal (G7), a source terminal (S7), and a drain terminal (D7). N-FET 224 includes a gate terminal (G8), a source terminal (S8), and a drain terminal (D8). Source terminal S6 is electrically coupled to voltage source (Vdd) 208, gate terminal G6 is electrically coupled to gate signal 226, and drain terminal D6 is electrically coupled to source terminal S7 as well as drain terminal D5. Gate terminal G7 is electrically coupled to negative active global clock signal (nclk) 230, and drain terminal D7 is electrically coupled to source terminal S8 as well as output clock signal (clk) 204. Gate terminal G8 is electrically coupled to negative active global clock signal (nclk) 230, and drain terminal D8 is electrically coupled to ground 218.
N-FET 232 includes a gate terminal (G9), a source terminal (S9), and a drain terminal (D9). N-FET 234 includes a gate terminal (G10), a source terminal (S10), and a drain terminal (D10). Source terminal S9 is electrically coupled to output clock signal (clk) 204, and gate terminal G9 is electrically coupled to gate terminal G5, drain terminal D2, source terminal S3, and drain terminal D1 to form feedback node (fb_2) 228. Drain terminal D9 is electrically coupled to source terminal S10, gate terminal G10 is electrically coupled to gate signal 226, and drain terminal D10 is electrically coupled to ground 218.
P-FET 236 includes a gate terminal (G11), a source terminal (S11), and a drain terminal (D11). P-FET 238 includes a gate terminal (G12), a source terminal (S12), and a drain terminal (D12). N-FET 240 includes a gate terminal (G13), a source terminal (S13), and a drain terminal (D13). Source terminal S11 is electrically coupled to voltage source (Vdd) 208, gate terminal G11 is electrically coupled to ground 218, and drain terminal D11 is electrically coupled to source terminal S12. Gate terminal G12 is electrically coupled to gate terminal G13 as well as negative active global clock signal (nclk) 230. Drain terminal D12 is electrically coupled to source terminal S13, and drain terminal D13 is electrically coupled to ground 218.
P-FET 242 includes a gate terminal (G14), a source terminal (S14), and a drain terminal (D14). N-FET 244 includes a gate terminal (G15), a source terminal (S15), and a drain terminal (D15). Source terminal S14 is electrically coupled to voltage source (Vdd) 208, gate terminal G14 is electrically coupled to gate terminal G15 as well as drain terminal D12 and source terminal S13, and drain terminal D15 is electrically coupled to ground 218. Drain terminal D14 is electrically coupled to source terminal S15 and form delay negative active global clock signal (dly_nclk) 246.
P-FET 248 includes a gate terminal (G16), a source terminal (S16), and a drain terminal (D16). P-FET 250 includes a gate terminal (G17), a source terminal (S17), and a drain terminal (D17). Source terminal S16 is electrically coupled to voltage source (Vdd) 208, gate terminal G16 is electrically coupled to delay negative active global clock signal (dly_nclk) 246, and drain terminal D16 is electrically coupled to gate signal 226. Source terminal S17 is electrically coupled to voltage source (Vdd) 208, gate terminal G17 is electrically coupled to complement of testhold signal (thold_b) 252, and drain terminal D17 is electrically coupled to gate signal 226. Complement of testhold signal (thold_b) 252 is a global hold control signal within the highest priority that has the capability to override all other signals within base block 200.
P-FET 254 includes a gate terminal (G18), a source terminal (S18), and a drain terminal (D18). P-FET 256 includes a gate terminal (G19), a source terminal (S19), and a drain terminal (D19). Source terminal S18 is electrically coupled to voltage source (Vdd) 208, gate terminal G18 is electrically coupled to force signal (force_t) 258, and drain terminal D18 is electrically coupled to source terminal S19. Force signal (force_t) 258 is an override control signal for scan purposes or initialization of non-scan latches. Gate terminal G19 is electrically coupled to activate signal (act) 268, and drain terminal D19 is electrically coupled to gate signal 226. Activate (act) signal 268, which is used in a functional modes, controls the local clock. That is, the local clock is not active unless the act signal 268 is active.
N-FET 260 includes a gate terminal (G20), a source terminal (S20), and a drain terminal (D20). N-FET 262 includes a gate terminal (G21), a source terminal (S21), and a drain terminal (D21). N-FET 264 includes a gate terminal (G22), a source terminal (S22), and a drain terminal (D22). N-FET 266 includes a gate terminal (G23), a source terminal (S23), and a drain terminal (D23). Source terminal S20 is electrically coupled to gate signal 226, gate terminal G20 is electrically coupled to delay negative active global clock signal (dly_nclk) 246, and drain terminal D20 is electrically coupled to both source terminal S21 and source terminal S22. Gate terminal G21 is electrically coupled to activate signal (act) 268, and gate terminal G22 is electrically coupled to force signal (force_t) 258. Drain terminal D21 is electrically coupled to drain terminal D22 and source terminal S23. Gate terminal G23 is electrically coupled to complement of testhold signal (thold_b) 252, and drain D23 is electrically coupled to ground 218.
Within base block 200, activate signal (act) 268, force signal (force_t) 258, complement of testhold signal (thold_b) 252, and delay negative active global clock signal (dly_nclk) 246 control the local clock buffer operations. That is, negative active global clock signal (nclk) 230 may be gated by gate signal 226, which is controlled by one or more of activate signal (act) 268, force signal (force_) 258, complement of testhold signal (thold_b) 252, or delay negative active global clock signal (dly_nclk) 246.
In normal operation mode, as is illustrated in
In addition to the various transistors described with respect to base block 200 in
Thus, the illustrative embodiments provide an advanced array local clock buffer (LCB) base block circuit that overcomes the race between a feedback path signal and a rising negative active global clock signal (nclk). The illustrative embodiments provide a clock stretcher at the array LCB base block input state that shifts the rising nclk edge beyond the rising feedback path signal edge under all conditions. The clock stretcher mechanism overcomes current base block limitations with only two additional devices, provides much sought after area reduction by using smaller devices in the feedback path, and eliminates cycle stealing within the local clock buffer. Further, all current delay and pulse width settings remain effective for higher speed frequencies with dependency on local clock buffer output pulse widths.
Design process 610 preferably employs and incorporates hardware and/or software modules for synthesizing, translating, or otherwise processing a design/simulation functional equivalent of the components, circuits, devices, or logic structures shown in
Design process 610 may include hardware and software modules for processing a variety of input data structure types including netlist 680. Such data structure types may reside, for example, within library elements 630 and include a set of commonly used elements, circuits, and devices, including models, layouts, and symbolic representations, for a given manufacturing technology (e.g., different technology nodes, 32 nm, 45 nm, 90 nm, etc.). The data structure types may further include design specifications 640, characterization data 650, verification data 660, design rules 670, and test data files 685 which may include input test patterns, output test results, and other testing information. Design process 610 may further include modules for performing standard circuit design processes such as timing analysis, verification, design rule checking, place and route operations, etc.
Design process 610 employs and incorporates well-known logic and physical design tools such as HDL compilers and simulation model build tools to process design structure 620 together with some or all of the depicted supporting data structures to generate a second design structure 690. Similar to design structure 620, design structure 690 preferably comprises one or more files, data structures, or other computer-encoded data or instructions that reside on transmission or data storage media and that when processed by an ECAD system generate a logically or otherwise functionally equivalent form of one or more of the embodiments of the invention shown in
Design structure 690 may also employ a data format used for the exchange of layout data of integrated circuits and/or symbolic data format (e.g. information stored in a GDSII (GDS2), GL1, OASIS, map files, or any other suitable format for storing such design data structures). Design structure 690 may comprise information such as, for example, symbolic data, map files, test data files, design content files, manufacturing data, layout parameters, wires, levels of metal, vias, shapes, data for routing through the manufacturing line, and any other data processed by semiconductor manufacturing tools to fabricate embodiments of the invention as shown in
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
Number | Name | Date | Kind |
---|---|---|---|
5757218 | Blum | May 1998 | A |
6392466 | Fletcher | May 2002 | B1 |
7459950 | Ngo et al. | Dec 2008 | B2 |
7719315 | Ngo et al. | May 2010 | B2 |
7813189 | Chan et al. | Oct 2010 | B2 |
20010026172 | Leenstra et al. | Oct 2001 | A1 |
20040015670 | Chao | Jan 2004 | A1 |
20080046772 | Arsovski et al. | Feb 2008 | A1 |
20080100360 | Ngo et al. | May 2008 | A1 |
20080310246 | Joshi et al. | Dec 2008 | A1 |
20090267667 | Chan et al. | Oct 2009 | A1 |
20100164586 | Sautter et al. | Jul 2010 | A1 |
20100302896 | Kono | Dec 2010 | A1 |
20110304370 | Bunce et al. | Dec 2011 | A1 |
20120020173 | Liu | Jan 2012 | A1 |
Entry |
---|
U.S. Appl. No. 13/269,654, 2 pages. |
Number | Date | Country | |
---|---|---|---|
20140137070 A1 | May 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13269654 | Oct 2011 | US |
Child | 14159570 | US |