AND8001/D Odd Number Divide By Counters With 50% Outputs and Synchronous Clocks Prepared by: Cleon Petty and Paul Shockman Product Applications ON Semiconductor http://onsemi.com APPLICATION NOTE and add a flip flop, and a couple of gates to produce the desired function. Karnaugh maps usually produce counters that are lockup immune. The application inquiries handled by the Product Applications gives opportunities to solve customer needs with new ideas and learn of ways the customer has used our devices in new applications. A couple of these calls lead to techniques of designing odd number counters with synchronous clocks and 50% outputs. The first technique requires a differential clock, that has a 50% duty cycle, a extra Flip Flop, and a gate to allow Odd integers, such as 3, 5, 7, 9, to have 50% duty cycle outputs and a synchronous clock. The frequency of operations is limited by Tpd of the driving FF, Setup, and Hold of the extra FF, and the times cannot exceed one half on the incoming clock cycle time. The design begins with producing a odd number counter (Divide By 3 for this discussion) by any means one wishes D Example: Specify, Using D type Flop flips and karnaugh maps we find; Ad = A*B* and Bd = A (Note: * indicates BAR function) Figure 1 shows schematic and timing of such a design. Q D A C Divide By 3, 50% duty cycle on the output Synchronous clocking 50% duty cycle clock in Q B Q C Q Divide By 3 Figure 1. Semiconductor Components Industries, LLC, 1999 October, 1999 - Rev. 0 1 Publication Order Number: AND8001/D AND8001/D Using the technique, we add a gate on the clock to get differential Clock and Clock bar, a flip flop that triggers on the Clock Bar rising edge (Clock Neg.) to shift the output of D Q D A C "B" by 90 degrees and a gate to AND/OR two FF output to produce the 50% output. We get Figure 2, a Divide By 3 that clocks synchronously with 50% output duty cycle. Q D B Q C Q 50% Out C Q C Q Clk in Divide By 3 W/50% out Clk AQ BQ CQ OUT Figure 2. Example: The Max frequency of the configuration (figure 2) is calculated as Clock input freq./2 = Tpd of FF "B" + Setup of "C" + Hold of "C". A Divide By 3 design has all possible states shown in chart 1 but uses only the states shown in chart 2 leaving the states 2,3,4,5, & 7 for possible lockup. Example: Chart 1 Tpd = 1Ns, Setup = !NS and Hold time = 0Ns. with these numbers the Max Frequency the configuration can expect is; Cycle time = 2*(1 + 1)Ns or 4 Ns that converts to 250MHZ. The Method is usable on other divide by "N" counters as well by using the same methodology. The use of different types of Flip Flops (J,K, S,R, Toggle, ETC.) may produce fewer components. The type logic used may also dictate configuration. The configuration should always be checked for lockup conditions before the design is committed to a production. 0 1 2 3 4 5 6 7 http://onsemi.com 2 A 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 Chart 2 C 0 0 0 0 1 1 1 1 0 1 6 A 0 1 0 B 0 0 1 C 0 0 1 AND8001/D By 3 counter of Figure 2. There is no state that the counter can begin in that doesn't lead to the desired flow after one clock cycle. We need to know that the counter will go into the flow, shown in chart 2, if it happens to come up in one of the unused states at powerup or for any other reason. Figure 3 shows the resulting flow chart of the analysis of the Divide 010 000 101 110 011 100 111 001 Figure 3. Example: Observation shows that FF "C" follows FF "B" by a half a clock cycle and will never be able to lockup making the analysis of the Divide By 3 sufficient to assure the whole configuration will have no lockup flow. So; only the 1 1 state of the divide by three needed to be confirmed. The method is extendible to other odd larger divide by "N" numbers by following the same design flow. a) Design a stable UP or Down divide by "N" counter Design a 50% Divide By 9 Use "D" type FF's, other types may give smaller component count Karnaugh maps yield: Ad = A*B* Bd = A*B + AB* Cd = ABC* + CB* + A*C Dd = ABC b) Make the Clock input a 50% duty cycle differential signal c) Add a FF to follow one of the FF's in the counter by 1/2 clock cycle d) OR/AND the shifted FF with the one that is driving it to obtain the desired 50% output http://onsemi.com 3 AND8001/D D Q D A Q B Q Q C Q C Clk D D Q C Q Q C 50% Out E D Q C D Q C C C Divide By 9 50% Counter Clk AQ BQ CQ DQ EQ OUT Figure 4. Choosing to use "C" as the flip flop to delay by a 1/2 clock cycle is necessary to accomplish the 50% output required when "ANDed" with "E". Another Synchronous 50% counter for Divide By 6, 10, 12, 14, 18, etc. can be realized by the additions of a J K FF and some gates. Other types of FF's may be used. http://onsemi.com 4 AND8001/D Take the before mentioned Divide By 3 add a J K and a divide by 6, 50% duty cycle, synchronous counter is realized as shown in Figure 5. 50% Out D Q D A C Q J B Q C Q C Q K C Q Clk Divide By 6 50% Out Clk AQ BQ OUT, CQ Figure 5. useful in a clock generating PLL chip where a Divide By 3 and Divide By 6 are needed to synchronize two signals as shown in figure 6. Of course, there are better ways to realize a Divide By 6 but it does demonstrate how the method works. Note this configuration does not require a 50% input clock duty cycle and it is synchronous. This type of configuration could be http://onsemi.com 5 AND8001/D Divide By 3 50% Out D Q D A Q D B Q Q C Q C D Q C J Q C Divide By 6 50% Out E Clk in K C Q CLK AQ BQ CQ DQ OUT, EQ Figure 6. We already know the Divide By 3 is lockup immune, following flow chart Figure 7 shows that the addition of the J K does not change that situation for the Divide By 6. Notice FF "A" was chosen as the FF to drive FF "E" in order to align the positive edges of the clock, Divide By 3, and divide by 6. The overall skew of the output could be better matched if all the same type of FF and gates are used. 000 110 011 100 101 010 001 111 Figure 7. Divide by 6 Flow Chart The flow shows no lockup, but if one observes that the J K is a sort of toggle device it is obvious that it can't lock up the counter. The J K may need bigger input AND gates to accomplish larger divide numbers. As an example, pick a Divide By 12 and use J K type FF's to do the function. http://onsemi.com 6 AND8001/D Maps show: Ja = 1 JB = AC* Ka = 1 Kb = A J H Jc = AB Kc = A A C 50% Out Q J Q K Figure 8 shows the implementation. J B K Q C J Q C K Q C Q D K Q C Q Clk Ja = 1 Ka = 1 Jb = AC Kb = A Jc = AB Kc = A Jd = ACD Kd = ACD CLK AQ BQ CQ OUT, DQ Figure 8. Synchronous Divide By 12 0 1 2 3 4 5 6 7 8 9 10 11 A 0 1 0 1 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 0 0 1 1 0 0 C 0 0 0 0 1 1 0 0 0 0 1 1 D 0 0 0 0 0 0* 1 1 1 1 1 1* The truth table shows that the FF "D" must change state at 5 and 13 The methods are expandable. A little observation, thinking, and logic typing will allow the designer to minimize the component count and skew on this type of counter. Examination of the truth table shows that the FF "D" must decode a 5 and a 13 in order to make the desire 50% function. The inputs to the "D" FF are J = ACD* and K = ACD and requires 3 input AND gates. For larger counters the inputs on the AND gates will need to increase to reach the desired configuration; However for the single digit integers such as 3, 5, 7, & 9 to realize 6, 10, 14, & 18 a fan in of three is max. http://onsemi.com 7 AND8001/D ON Semiconductor and are trademarks of Semiconductor Components Industries, LLC (SCILLC). SCILLC reserves the right to make changes without further notice to any products herein. SCILLC makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does SCILLC assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation special, consequential or incidental damages. "Typical" parameters which may be provided in SCILLC data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. SCILLC does not convey any license under its patent rights nor the rights of others. SCILLC products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the SCILLC product could create a situation where personal injury or death may occur. Should Buyer purchase or use SCILLC products for any such unintended or unauthorized application, Buyer shall indemnify and hold SCILLC and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that SCILLC was negligent regarding the design or manufacture of the part. SCILLC is an Equal Opportunity/Affirmative Action Employer. PUBLICATION ORDERING INFORMATION USA/EUROPE Literature Fulfillment: Literature Distribution Center for ON Semiconductor P.O. Box 5163, Denver, Colorado 80217 USA Phone: 303-675-2175 or 800-344-3860 Toll Free USA/Canada Fax: 303-675-2176 or 800-344-3867 Toll Free USA/Canada Email: ONlit@hibbertco.com ASIA/PACIFIC: LDC for ON Semiconductor - Asia Support Phone: 303-675-2121 (Tue-Fri 9:00am to 1:00pm, Hong Kong Time) Email: ONlit-asia@hibbertco.com JAPAN: ON Semiconductor, Japan Customer Focus Center 4-32-1 Nishi-Gotanda, Shinagawa-ku, Tokyo, Japan 141-8549 Phone: 81-3-5487-8345 Email: r14153@onsemi.com Fax Response Line*: 303-675-2167 800-344-3810 Toll Free USA/Canada ON Semiconductor Website: http://onsemi.com *To receive a Fax of our publications For additional information, please contact your local Sales Representative. N. America Technical Support: 800-282-9855 Toll Free USA/Canada http://onsemi.com 8 AND8001/D