2

I am prototyping (point to point wiring only) a digital circuit with multiple shift register IC's to be clocked simultaneously at 500Khz. The distance between the clock source and the IC clock pins is going to be about 5 inches max. How should I lay this out to make sure it works?

Kellenjb
  • 17,609
  • 5
  • 53
  • 87
Fred Paine
  • 81
  • 6
  • What do you mean by "simultaneously"? How exactly the same do you need the timing to be for the IC clock events? For example, "no more than 1 millisecond apart" or "no more than 100 femtoseconds apart"... – The Photon May 12 '12 at 23:58
  • @Photon: The shift registers are daisey-chained together to make one big shift register of 128 bits so they have to be clocked together to meet the set-up and hold times for a clock frequency of 500 Khz. – Fred Paine May 13 '12 at 00:14
  • @Photon: I'm using the NXP HEF4015 static shift register. – Fred Paine May 13 '12 at 00:21
  • @Photon: I changed to the CD4015 Texas Instrument chip, it has a claimed zero hold time requirement and it is designed to be daisychained. I will use one clock buffer to drive all the clocks as you recommend. I will use the TC4424 line driver for this . – Fred Paine May 14 '12 at 13:02
  • I don't know the TC4424, but if it can drive the capacitance of 4 (or wheatever) loads you should be okay. If you want to worry about EMC you might want to add a series resistor at the output to deliberately slow down the rise and fall times. But really if you need to prove out EMC with this proto you should build a PCB instead of doing point-to-point. – The Photon May 14 '12 at 16:17

3 Answers3

1

At 500 kHz, you have a 2 us clock period, and you don't have to worry about set-up times.

Assuming you're using a 5 V power, supply the part you referred to has a hold time of 40 ns (min) and a propagation delay of ... well they don't specify a minimum but they imply a minimum of about 93 ns (for no capacitive load). That gives a 50 ns slack between the time the second shift register clocks in its input and the time that the first shift register output changes, invalidating the second shift register input.

If you just keep your clock lines reasonably short, you should have no problem with this design.

If you do have problems, then go back and figure out how to minimize the clock line impedance (keep a ground wire parallel to each clock wire), and finally if that doesn't work, start worrying about how to route the clock --- counter-propagating relative to the direction of data flow is probably best, but really with 50 ns slack it shouldn't matter at all.

EDIT

Wouter is absolutely right (in a comment to his own answer) that you must evaluate the "minimum propagation delay against the maximum required data hold time". And that nothing in the data sheet guarantees the circuit will work.

However, we should note also the data sheet gives a (typical) formula for the propagation delay as a function of load capacitance: 93 ns + (0.55 ns/pF)CL (for the worst case: t_PLH at 5 V Vdd). That means

  1. You'd need have 0 load capacitance to (typically) get a prop delay as low as 93 ns. This number is only typical so you might see slightly lower numbers occasionally. But most likely you wouldn't see the number drop by half.

  2. If it doesn't work you can add a small capacitor to the output to increase the delay. You might not get exactly 0.55 ps per pF of adjustment, but you won't simply get no adjustment at all.

I'm assuming, since you're using point-to-point wiring, this is a one-off circuit and a manual adjustment is a reasonable choice. For a mass-produced product you would want a much more sure solution than this.

EDIT 2

  1. Somewhere you mentioned using buffers (plural) to drive the clock inputs of your shift registers. Be aware that the propagation delay differences between two buffers will cause much more timing difference between the clocks at your different shift registers than just about anything to do with layout.

    If you care about clocking your registers simultaneously, I strongly recommend to use one buffer to drive all of them. But do be sure your buffer is able to drive the combined capacitive load of all the chips it's driving.

  2. Working at 500 kHz and a circuit that's 5" in its longest dimension, transmission effects like stubs and shunts will be utterly undetectable. This circuit can be designed entirely satisfactorily considering the interconnect wires as lumped R L C elements (mostly C).

    If you do something so crazy (like run the wire around the room before getting it back to its destination) that transmission line impedance matters, you have a problem because your CMOS outputs are not designed to drive transmission lines. For the love of Sweet Baby Ralph, don't overdesign what doesn't have to be overdesigned.

  3. EMC. Again at 500 kHz and 5" circuit diameter, it's very unlikely to have any problem. The easiest way to cause a problem here is to overdesign your buffer chips so that your signals have faster rise/fall times than they need, in which case you could have an emissions problem. If you just stick to nice slow clock edges (but not too slow -- mind the max recommended slew rate spec Tony pointed out) you'll be good.

The Photon
  • 129,671
  • 3
  • 164
  • 309
  • @Photon: Would you recommend using a 30gage twisted pair(signal/ground) transmission lines from the clock (555) to the IC's or 30 gage wires run above a continuous ground plane serpantine style? – Fred Paine May 13 '12 at 01:03
  • At these speeds what is limiting you is the ability of the clock source to drive a capacitive load. Either of your proposals will work fine at 5 inches. If you need to extend it to 5 feet, you'll need to start worrying. – The Photon May 13 '12 at 01:29
  • 1
    Actually Set-up and hold times are used in conjunction with Rise/Fall times so clock pulse width is more important too , and frequency is just an overall factor. These numbers must be understood by any designer to avoid timing errors and race conditions. e.g. negative setup times for this device. – Tony Stewart EE75 May 13 '12 at 07:40
  • I could use twisted pair for 5" distance and single wire is OK for short connections <3". If it was PECL, then it would all be twisted pair. The noise margin is high on CMOS and this is not an issue even if straight wire. But TTL & MOSFET motor driver current surges might have an issue with inductive wire. So keep that in mind. – Tony Stewart EE75 May 13 '12 at 07:44
  • Thank you Tony, I never realized I would get so many good responses :-) – Fred Paine May 13 '12 at 08:30
  • @TonyStewart, I don't get your point about clock pulse width? No matter what the duty cycle, after the input changes, it's still 2 us (less 10's of ns) until the next rising edge arrives, giving vastly more set-up time than required. – The Photon May 13 '12 at 16:37
  • @Photon,this CMOS device is rather slow and is sensitive to BOTH minimum pulse width as well as rise fall time & set-up & hold times. It is in the µs range not ns. See specification. – Tony Stewart EE75 May 13 '12 at 19:05
  • @TonyStewart, Yes it's rather slow, but the minimum high pulse width is 80 ns. Minimum low pulse width is shorter. How is this "in the us range"? It's less than 1/10 us. – The Photon May 13 '12 at 21:40
  • Since voltage was not specified I assumed worst case. – Tony Stewart EE75 May 13 '12 at 22:40
  • for Vdd=5V, tPHL=260ns max, tPLH=240ns, tT=120 ns, tSO=40ns tWL=60ns, tWH=80ns..so true is on the order of magnitude <1uS total. but > 100ns and most important recommended input slew rate @5V= 3.75 µs/V max. which can also cause more latency. – Tony Stewart EE75 May 13 '12 at 22:46
  • @TonyStewart, the sum of those numbers is irrelevant. 1. t_prop (HL and LH) must be greater than t_hold. 2. Clock must satisfy pulse width constraints. 3. Clock must satisfy the maximum slew rate requirement. The fact that tPHL and tPLH are very large is helpful to the OP's situation. I don't understand why you are saying these various different requirements interact or connect to each other. – The Photon May 14 '12 at 00:33
  • I presume you need no instruction on how to do a worst case timing analysis as I do. The slow rise times and prop delays make layout simple in terms of transmission stub effects non-existent, but for clock distribution here, it is more important to understand all the timing requirements than to be just concerned about the layout. Cross-talk, fan-out loading and excess rise time are primary concern, but if any risk of ingress or egress, a ground track along side or underneath helps like with some shield effects. More info needed for details on EMC design layout. – Tony Stewart EE75 May 14 '12 at 04:27
  • @Tony: I'm OK with this design now. I'm changing to the CD4015 chip by Texas Instruments which has a zero hold time value and is designed to be daisy-chained. All good things come to those who ask the right questions:-) – Fred Paine May 14 '12 at 04:51
  • You got it Fred. In the real mfg with generic in-house p/n's and multiple vendors to get leverage on pricing, designs must be rarely be single sourced. But for small runs, its ok. – Tony Stewart EE75 May 14 '12 at 05:30
  • @Tony: How did you get the 150ohm value for the PVC twisted pair transmission line? Is there an easy way to calculate the characteristic impedance for Kynar insulated 30gage twisted pair? The way I make twisted pairs for this job is to twist an insulated wire with a bare wire for the signal so that it is easy to tap-off anywhere along the line. Then I just strip the end of the ground wire and solder it to the ground plane. – Fred Paine May 14 '12 at 06:19
  • Just from memory 120~220Ω 6~12 twist/ft let me x2 check – Tony Stewart EE75 May 14 '12 at 06:48
  • http://www.edn.com/article/463998-Tiny_twisted_pair_transmission_line_solves_test_fixture_woes.php >>> indicates two insulated 30awg kynar @10 twists/ft = 102Ω tested 120Ω calculated. Your mileage may vary. – Tony Stewart EE75 May 14 '12 at 06:56
  • @Tony: Wow, how did you find that article? You are a resourceful character. – Fred Paine May 14 '12 at 12:39
1
  • Electrical signals on PWBs with e=4.2 the delay is about 5 ns/m. Your 5" = 127mm or 0.127m so prop. delay of 0.63nS is negligible.

added: PVC insulation of wire-wrap awg30 has about the same e = 4 and twisted pair 8~10 twists /" as I recall is around 150 Ω, characteristic impedance. Not so important at these slow speeds but do not bundle WW wire signals together. Crosstalk can make a large point-point network fail with WW wire. ( Had a bad experience in 1978, aircraft tech had to rewire backplane from tight WW bundles to direct random point-to point wiring to eliminate crosstalk glitches so my design would work. )

  • Prop delay is a factor of sqrt(e)/c where c is the speed of light = 3*10^8 m/s

  • Some people calculate sqrt(4.2)/c= 7 nS/m but the permittivity or dielectric constant, e drops with increasing frequency or inverse rise time, so most FR4 prop delay is 5 ns/m.

add: same is true with PVC permitivity

  • Generally avoid 90deg corners on high speed clocks but your clock may not be high speed (<30 ns range) . __/

  • Put a guard path of ground on either side of the track in horizontal or vertical plane. Check your fanout capacity of the clock driver. 555 may need to be buffered with '04

  • If you want books on Design Rules for layout, there are IPC international standards for pad sizes for various parts and soldering methods, and lots of useful DRC guides.

I found these just now, and they may be useful;

Board design http://www.alternatezone.com/electronics/files/PCBDesignTutorialRevA.pdf

EMI design http://www.ti.com/lit/an/szza009/szza009.pdf

Tony Stewart EE75
  • 1
  • 3
  • 54
  • 185
  • OP specified point-to-point wiring, not a PWB situation. – The Photon May 13 '12 at 01:31
  • Fred, do note Tony's point about fan-out (5th bullet point). How many shift registers are you working with? – The Photon May 13 '12 at 01:31
  • I have 16 shift registers to daisey-chain but I plan on using schmitt trigger buffers on each clock line because the 555 can't drive all 16 clocks. Cost is no object here ;-) – Fred Paine May 13 '12 at 01:42
  • 3
    I had to look up "PWB", I'd never seen the term before. Assuming it means "Printed Wiring Board", what's wrong with "PCB"? That's what everybody uses. – Federico Russo May 13 '12 at 05:09
  • 1
    @FedericoRusso, you guessed the acronym right. The usage comes about because until you place the components on the board, there's no circuit, just disconnected wires. So some consider "printed circuit board" an inappropriate term for an unstuffed board and use PWB instead. In some shops "PCB" is totally deprecated in formal usage and you'll see PWB for the board blank and PCA ("printed circuit assembly") or sometimes PCBA for the stuffed board. – The Photon May 13 '12 at 05:45
  • 1
    @ThePhoton: wow, pernickety! :-) But you could also interpret PCB as a board to be used for a printed circuit, couldn't you? ;-) – Federico Russo May 13 '12 at 06:00
  • Unfortunately printed cct PCB is old school since the days of transformers blew up with toxic PCB and killed people. Unfortunately even the PWB industry has had it's own share of toxic waste issues in Cali in the 80's, but the US military Std's defined most of the std names used today in industry ~ 5 decades ago, as they were the only ones who could afford bleeding-edge high tech, (I digress, so PCB is incorrectly used today and from this day forward, you can decide how to keep calling it. ) Professionals such as myself only use "PWB", or "bare boards" or slangs like Fabs etc, but never PCB's. – Tony Stewart EE75 May 13 '12 at 07:29
  • @Tony: Actually wire wrap insulation is typically Kynar and not PVC. Kynar is a fluorocarbon with a high dielectric constant of between 8 and 9 depending on frequency. – Fred Paine May 13 '12 at 08:46
  • Thanks for the chemical correction, but the permittivity is lower than once thought. I consider it as same but at microwave it drops below 3. Researched extensively here http://www.jmpee.org/JMPEE_PDFs/26-1_bl/JMPEE-Vol26-1-Pg45-Nelson.pdf See Table 2 Page 50. and yet e=8.5@ 1MHz here http://www.boedeker.com/pvdf_p.htm . So if using it to measure low F capacitance values, use high values, but from high F propagation speed of a pulse, I use low values of e due to spectral effects. So prop delay tends towards cube root of e rather than sq.rt. of e. from lab tests. – Tony Stewart EE75 May 13 '12 at 09:40
  • @FedericoRusso, Where I work we use PCB often. But sometimes its ambiguous: "There's a batch of 10 PCB's arriving tomorrow." Do you mean board blanks or fully assembled boards? So many times it's important to have words that can distinguish the two cases. – The Photon May 13 '12 at 16:28
  • Good point Photon. Thats why Program Manager types say Fabs and Stuffed boards and Engineers say PWB's and PCA's and Military and some Military suppliers say PWB's and CCA's – Tony Stewart EE75 May 13 '12 at 19:08
  • 11
    In my experience, people say "PCB". This can mean a bare board or a stuffed board. Usually it's obvious from context which you mean, but when it's not you use "bare board", "stuffed board", "assembly" and the like. Statements like professionals never use "PCB" are just plain wrong, and more likely the result of someone wanting to promote their favorite usage by pretending it's a standard. – Olin Lathrop May 14 '12 at 15:09
  • I should have said, "professionals OUGHT to know better than to called printed wiring boards as PCB's" It's just a bad habit. Another example of professional's and non-pro in nomenclature is calling a receptacle is a "plug" vs. a "jack" and and incorrectly thinking all "jacks" are "male", which actually means "wall, board or panel" mounted, and all receptacles are female (who receive) which is also incorrect. A plug could also be anaphroditic, which was once called a bi-sexual connector in jest and often used for DC power battery connectors. US military changed sexual names to non-sexual, but – Tony Stewart EE75 May 14 '12 at 17:20
  • 1
    People still call them Plug and JACK instead of Plug & RECEPTACLE . a wrong term that is common, does not make it "right" is the same as PCB is still common, but that does not make it comform to the IPC or MIL-std-handbooks for proper terminology. – Tony Stewart EE75 May 14 '12 at 17:21
0

Theoretically, your design won't work because the chip requires a non-zero data-hold time (period in which the input data must be stable after the active clock edge), while the output of the previous chip has no guaranteed minimum data out delay (from the active clock edge to the output).

Whether this is a problem in practice depends on the actual data out delay. Note that this has NOTHING to do with the clock frequency.

If you have problem there are a number of possible solutions. The best is to use a chip that has a special delayed data out, intended for chaining (that output changes delayed, or even on the opposite clock edge). Example: CD4094, p3 of the datasheet show the extra register that is clocked by the inverted clock, to yield a half-cock delayed output suitable for daisy-chaining.

The second best is to use a chip that has a zero data-hold requirement. The 74HC595 , p11, has a typical hold time of -2, but note that the minimum is +3. Funny, a minimum that is lager than the typical vlaue, but it makes sense. This suggestion can be combined with the next suggestion.

The third best is to delay the data change (series resistor and/or capacitor to ground) and/or to feed the clock starting at the most downstream shift register (so the SRs will be clocked back-to-front). (This approach is a stopgap measure at best.)

An alternative that has some design impact is to invert the clock for every other SR (= feed the odd numbered chips with the inverted clock). There is some discussion of this approach on SE, but I don't recall where. It does lose you some SR outputs.

stevenvh
  • 145,832
  • 21
  • 457
  • 668
Wouter van Ooijen
  • 48,572
  • 1
  • 63
  • 136
  • Thanks for joining the discussion. If I cant daisey-chain static shift registers running this slow there must be something wrong with the universe. Let me go back and look at the timing chart. – Fred Paine May 13 '12 at 09:27
  • Slow or fast has nothing to do with it, it is the data-hold that bites you. – Wouter van Ooijen May 13 '12 at 09:35
  • How about just adding an AND gate(with imputs tied together) with a suitable propagation delay between the chips? – Fred Paine May 13 '12 at 10:22
  • I'm just checked the data sheet for this chip and the propagation delays for the low to high and high to low transitions are about 6 times greater than the nominal hold time for this chip. I don't see a problem here unless I am missing something :-( – Fred Paine May 13 '12 at 11:24
  • 1
    @Fred: Theoretically you must evaluate the minimum propagation delay against the maximum required data hold time. The datasheet I checked ( http://www.nxp.com/documents/data_sheet/HEF4015B.pdf ) does not show a minimum propagation delay. If you use the typical figures you end up with a design that works only typically. It is up to you (the designer) to determine whether that is sufficient. – Wouter van Ooijen May 13 '12 at 15:03
  • Wouter, I agree its a problem they don't specify a minimum propagation delay. But realistically if they designed this chip so it couldn't be daisy-chained, they'd have no customers for it and it would long ago have been EOL. I think in the old days when this chip came out, companies were a lot more lax about putting things in the data sheet when "everybody knew" how it had to work. – The Photon May 13 '12 at 16:34
  • Photon, you are probably right. So it depends on whether a design that probably works is acceptable (in this case). To argue from the other side: why would a CD4094 have a half-clock delayed output if it did not solve any problem? – Wouter van Ooijen May 13 '12 at 16:38
  • Also if the the flip-flops inside the chip are daiseychained (given), why can't one just as easily daisey-chain chip-to-chip? Are they doing something "special" inside the chip to make the flip flops have the proper hold and propagation times? – Fred Paine May 13 '12 at 16:54
  • @Fred: the diagram of the chip(s) show some circuitry (buffers) between cascaded chips. No such circuitry between the stages within a chip. But such diagrams are only approximations. – Wouter van Ooijen May 13 '12 at 17:39
  • In any event, I will email the engineers at this company to get a definitive (hopefully) answer and post it here for the sake of all who have been following this thread. Thanks again! – Fred Paine May 13 '12 at 18:05
  • Recieved email from engineer at NXP and he says no problem cascading the HEF4015B shift register. I will still use the TI CD4015 though , it has a zero hold time requirement. I'm guessing this is because it uses master-slave flip flops and the NXP chip doesn't. – Fred Paine May 16 '12 at 23:41