EEVblog

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024

Комментарии • 300

  • @steverobbins4872
    @steverobbins4872 5 лет назад +199

    Another good tip for routing high speed signals is keep each trace on one layer from start to end; don't let it jump between layers, as you normally would do for low speed signals. Here is why. Suppose you are routing a signal with microstrip (that means the signal trace is on an outer layer, and the layer just beneath it is it's reference plane, usually ground). The current in the trace will return on the reference plane just beneath the trace. If you could see the return current in the plane, it would look like the shadow of the trace. Now suppose you jump the signal to an inner routing layer that is between two planes; this is now stripline, and it has two reference planes (usually one is ground and the other will be a power plane). So how does the return current follow the trace? If all the planes are the same potential (e.g. all grounds) then the return current will find it's way through the nearest via that connects the planes together. But if the plane vias are far from the trace via, you get a big loop, which looks inductive, and will cause a nasty reflection. So, if you absolutely must have your trace change reference planes (which is very common if it goes through a connector) make sure there are plane vias very close to the signal via. And if you are changing reference planes (from say, ground to 3.3V) then you must put a decoupling cap very close to the signal via, that couples the reference planes together.

    • @SpaghettiEnterprises
      @SpaghettiEnterprises 5 лет назад +5

      Had a prof talk about this once I think, well before knew enough to understand it. Thanks for the refresher

    • @BigRTKingKong
      @BigRTKingKong 5 лет назад +6

      I love this topic. I've been doing research on this at my University - on how to eliminate the reflections when going through vias. At the same time I've looked at how to design the via itself to reflect in good ways (i.e. filter). I love seeing more high frequency engineering on Dave's channel.

    • @FurEngel
      @FurEngel 5 лет назад +4

      But at this level of design, you are most likely dealing with BGA packages (0.4mm to 0.8mm) for your MCU/memory, and thus your high speed lines will need to go onto inner layers by blind vias or via in pad. Long gone are the days of using big Xilinx FPGA with bulky 8062 MCUs and routing the HS on the top layer.

    • @steverobbins4872
      @steverobbins4872 5 лет назад +8

      @@FurEngel Yes, with a big BGA package there is no way to escape all the signals on just the top and bottom layers; many signals will have to escape on inner layers. Those signals should stay on the same inner layers all the way to their destination, which is typically another chip. It's okay to change layers at the end of the trace, where is comes to the surface to connect with the chip as long as there are decoupling caps very near (typically on the opposite side of the board under the chip) that connect the reference planes to ground. For example, assume a signal is routed on layer 6, with a ground plane on layer 5, and a VCC plane on layer 7. In this case it is important to have VCC-to-GND decoupling very near both ends if the trace, even if one of the chips doesn't use VCC.

    • @willsoe
      @willsoe 5 лет назад

      @@steverobbins4872 Yep you're right, I'm currently routing DDR3 chips to a polarfire FPGA and the BGA size means we have to via down straight under the pads pretty much with 2 film micro via layers. We ended up with a 18 layer board because of the tiny form factor we need!
      One tip is to place your VREFDQ and VREFCA generator as close as possible to the DDR chips, normally you'll be using a TPS51200 or similar here (make sure your converter has push/pull outputs or you'll be in a world of trouble!). You need a nice fat island for this VREF voltage right next to your chip with decoupling caps at either end.
      If you do it right you'll breeze through your SI/PI simulations!

  • @testep02
    @testep02 5 лет назад +66

    As a software engineer with no formal hardware training, this very topic nearly caused me to quit doing electronics as a hobby. But then I did what you suggested and tossed out all the garbage I found online and started with some basic rules of thumb. I was over the moon when I printed my first USB3 hub board and it worked! Since then I have laid out some single-board Linux boards with ARM chips that use DDR memory and have had great success. My first couple of attempts failed, but then I took the courses on the FedEvel website and my next attempt was a success. There's a lot to learn on this topic, but if you just use some common sense and some good rules of thumb, and use your layout tools to your advantage, you can lay these PCBs out in no time.

    • @donpalmera
      @donpalmera 5 лет назад

      I think the need for laying out DDR limits the use of Linux on hobby projects. If you only need a single or dual core it is possible to get chips with the DDR in the chip package which makes everything a lot easier.

    • @testep02
      @testep02 5 лет назад +3

      @@donpalmera My thought process was much like yours when I started out. But after doing a few designs and putting in the time to learn about the subject, I found that it doesn't have to be a limiting factor. Learning how to do these things, even as a hobbyist, opens up a whole new world of project possibilities.

    • @donpalmera
      @donpalmera 5 лет назад

      @@testep02 I think I could probably do a layout with DDR2 if I really needed to but assembling boards with BGAs etc isn't really fun. I have Cortex A7s with DDR2 integrated in QFN now. If I want something with linux I can copy and paste the common parts like power supply into a new schematic, add the new bits and gerbers off to JLCPCB in a few days max. :)

    • @testep02
      @testep02 5 лет назад +1

      @@donpalmera just a tidbit about soldering BGAs. I went to Walmart and purchased a toaster oven and fitted it with a thermocouple hooked to an Arduino. I can't get the exact temperature ramp up profiles that the high dollar ovens can do, but that method has yet to fail me. I use BGA chips on most of my projects now. The biggest problem you'll have with them is that some packages have a ball pitch so small it's hard to get a manufacturer who can guarantee those trace widths for a reasonable price.

    • @donpalmera
      @donpalmera 5 лет назад

      @@testep02 I have a toaster oven reflow setup so I could do BGA but as you mentioned getting BGAs with pitches that are compatible with JLCPCB etc isn't so easy especially if you want something like a quad core ARMv8 chip. The Chinese PCB fabs are super cheap right up until you add anything like more than 4 layers, decent tolerances, micro/blind vias etc. For boards that cost ~$10 with shipping messing up something isn't so bad. When you're paying $50-$100 for boards you only really want one of and you mess up it's pretty frustrating.

  • @entritur
    @entritur 5 лет назад +94

    Yes! I want an in-depth guide to timing. It's frustrating me right now

    • @demoncloud6147
      @demoncloud6147 5 лет назад

      me2

    • @tsmupdatertsm7633
      @tsmupdatertsm7633 5 лет назад

      me2 because i saw those timing suff in Atmel chips and i dont understand them.
      ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf page 227 - Paralell Programming

    • @Adecker246
      @Adecker246 5 лет назад

      Yes please!!!

    • @HunterD510
      @HunterD510 4 года назад

      Timing from a hardware design perspective? You'll like this book, you can find a pdf online if you want as well. www.amazon.com/Art-Digital-Design-Introduction-Top-Down/dp/0130467804/ref=pd_ybh_a_62?_encoding=UTF8&psc=1&refRID=4GNA2A9B7PM6JA0TQ6M1

  • @sswpp8908
    @sswpp8908 5 лет назад +41

    I worked on a design last year with a FPGA and DDR3. Where I work we have people who do layout for us engineers. We were behind schedule so we thought we would kick the DDR3 to our layout guy before the schematic was complete so that he could get a start on what would be the most time intensive portion. In addition, we skirted some of the company process steps to rush into CAD, like constraining signals. Our layout guy came back to us a week or two later to review his work and it was immediately apparent that we shouldn't have trusted this guy to know how to route DDR lanes. Nowhere were there any serpentine traces. In fact, there was no attempt at all to length match traces. Each signal to the DDR took it's own path to get out of the chaos underneath the high density FPGA and the shortest trace was about 2 inches while the longest was about 10 inches. This was one of many mistakes on that project where cutting corners ended up costing more time to fix later.

    • @Klokopf52
      @Klokopf52 5 лет назад +2

      Did something similar as a data acquisition front-end with an FPGA and DDR4 Ram for a very large industrial X-Ray machine. We pretty much messed up the same way... Tried to outsource the PCB Design to save time and got bitten...

    • @ferrumignis
      @ferrumignis 5 лет назад

      Surely you hold a design review before you send anything out for production?

  • @russgibson7376
    @russgibson7376 5 лет назад +57

    Back in the day ... :-) I worked with an engineer that needed to delay an NMI signal to be slightly after the rising edge. He used what he called "Mickey Mouse Logic", placing 4 unused inverters in series between the source and target. It worked flawlessly at 1 Mhz. It was a bit eye opening for me at the time (I was like 19 or so), and has stuck with me ever since (this was in late 80's or early 90's).

    • @EEVblog
      @EEVblog  5 лет назад +17

      Yep, very common delay technique. Also useful as a bodge on production boards if you have spare gates

    • @EEVblog
      @EEVblog  5 лет назад +21

      @@HaseebElectronics Almost 14 minutes to show how to use a crimping tool. I don't even I could make it that long

    • @Psychlist1972
      @Psychlist1972 5 лет назад +5

      @@EEVblog lol. Brutal honesty.

    • @WacKEDmaN
      @WacKEDmaN 5 лет назад +11

      i might go look at that crimping tool vid...oh hang on..this guy has spammed it on a bunch of comments here....screw his spam!..his channel is now added to the block list!

    • @MatthijsvanDuin
      @MatthijsvanDuin 5 лет назад +1

      I've heard a great story of someone who patched a gigabit phy onto an ARM-based SBC (for prototyping/validation purposes prior to custom design), replacing its 100Mbit phy, since all the signals were there. Unfortunately RGMII has an annoying requirement that the PCB needs to add 1.5-2.0 ns of delay on the clock lines (unless either host or phy supports "internal delay", which wasn't the case here), so he just used 60cm patch wires for those two signals, problem solved! :-D
      I still think it's a terrible crime he didn't take pictures of this monstrosity.

  • @ariedemuijnck
    @ariedemuijnck 5 лет назад +19

    At 35:40 - A common mistake, to match a differential pair with a squiggle 'somewhere' in one of the two signals. THAT SHOULD NEVER BE JUST SOMEWHERE IN THE MIDDLE. The pair is meant to be fully differential, and creating a length jump this way is like a phase jump. This means that at least on one side of the squiggle the pair is not balanced. The skew correction in a pair MUST be near the cause of the skew, e.g. the sideways leaving of a BGA pin pair.

    • @xxportalxx.
      @xxportalxx. 5 лет назад

      Yeah I was curious myself how those lengths, which are most certainly inductors, would effect phasing and whether that would cause problems of their own

    • @ariedemuijnck
      @ariedemuijnck 5 лет назад +2

      ​@@xxportalxx.: Don't see them as inductors, they are transmission lines. A delay is inserted by the squiggle. My use of the word phase was misleading. The problem here is that a differential line must have both signals complementary with the same timing, if not noise emission or reception may occur. The skew at the receiver end between the two signals must be zero, or else the differential signal will not cleanly change over between + and -, but will be zero for a a short time. The behavior of the differential receiver is undefined for zero input, and even double clock edges might occur after the receiver.

    • @xxportalxx.
      @xxportalxx. 5 лет назад

      @@ariedemuijnck hmmm, high frequency stuff isn't my forte I admit. My background is more power and physics so I couldn't help but think about phasers 🤷‍♂️

    • @ZomB1986
      @ZomB1986 5 лет назад +1

      What happens when the squiggle is misplaced, see this awesome computer simulation ruclips.net/video/ZyoqhJB_E9Q/видео.html&time_continue=1192

    • @deweywsu
      @deweywsu 5 лет назад

      Not exactly sure what you mean by the 'cause of the skew'. Can you elaborate a little for the uninitiated?

  • @bukitoo8302
    @bukitoo8302 5 лет назад +14

    Thanks for share the CIAA project!

  • @LorneChrones
    @LorneChrones 5 лет назад +6

    Another tip that I've picked up in the last year (still a young player mind you), is to take into account soldermask when routing on external layers. Rule of thumb I was taught for most soldermask is it'll reduce your Zo of the controlled impedance trace by roughly 1Ω per 1mil thickness of soldermask.
    Another tip I've learned is if you do have to route DDR (or really any HS such as USB or QSPI SD), route your traces/lanes as perpendicular as possible to adjacent traces on adjacent layers (Shield with ground planes as much as possible). That way coupling will be reduced or nullified because right hand rule.
    Last big piece is that it's not the frequency that matters, its the edge (rise/fall) rate of the signal that matters. If you slow down or slew/rate control your signal (while still meeting setup/hold times) you can minimize EMI and even help mitigate against reflections.

  • @gl3906
    @gl3906 5 лет назад +2

    wow, I have to admit I don't understant much, but realizing how complicated PCB design can be is already a valuable lesson. Thank you for this one Dave!!

  • @gusbert
    @gusbert 5 лет назад +21

    How on earth do PC motherboard manufacturers manage to turn around these hugely complex designs so quickly? Imagine all the layout time, testing of the DDR4, PCI, SATA, NVMe, USB3 etc. And then charge less than £100 for them. Amazing.

    • @element4element4
      @element4element4 5 лет назад +7

      I guess they have very sophisticated tools built over decades to help them with the process. But it is a very complicated thing to do.

    • @redtails
      @redtails 5 лет назад +11

      lots of copy-pasting, industry-specific tools, decades of experience

    • @Superwip
      @Superwip 5 лет назад +9

      @@redtails yes, Intel, for example, release reference implementations for some parts of the mainboard design. The companys can also internaly more or less copy and paste between different boards and generations and switch out only the parts of the design for the new stuff. An other advantage is that they can split the development costs between tens of thousands of boards.

    • @redsquirrelftw
      @redsquirrelftw 5 лет назад +1

      It really is incredible the engineering that must go into them. That, and even video cards. And then you consider the typical life cycle of these things. you're lucky to get a few months before another version comes out, it's crazy all the work that goes into it for such a short life span.

    • @JeffreyBoye
      @JeffreyBoye 5 лет назад +2

      I agree, PC motherboards are some of the most intricate PCBs in consumer homes today. Advanced EDA tools, 24/7 PCB design/layout shops, design reuse, offshore manufacturing and economies of scale result in these marvels coming out so quickly and inexpensively.

  • @RandyLott
    @RandyLott 5 лет назад +19

    Trap for young players is to route busses on different layers.
    Make sure to use exactly the same vias for each signal of a group. That way, manufacturing tolerances have no effect on your length matching. They all change together.
    I just had to route a 16-bit DDR3L memory to an FPGA on a 20 x 20 mm PCB. That was NOT easy. Big boads are so much easier. Especially for length matching and crosstalk.

    • @vonnikon
      @vonnikon 3 года назад

      The example design shown in this video did not look great in that regard.

  • @OrbitalCookie
    @OrbitalCookie 5 лет назад +2

    Amazing content! I am starting with SDRAM and this kind of crash-course video is invaluable. It is not only about the knowledge, but more importantly about understanding the whole scope of things we might not know, as well as the relative importance of them. Please continue.

  • @timurvotyakov7821
    @timurvotyakov7821 5 лет назад +8

    video about how to read a timing diagrams is a great idea.

  • @theIpatix
    @theIpatix 5 лет назад +34

    I'd really like to see a video on those timing diagrams :)

  • @tubastuff
    @tubastuff 5 лет назад +2

    Propagation delay was an issue before many folks were born. The CDC 6600 used a backplane comprised of a mat of twisted pair wire ending in taper pins. Seymour Cray tweaked the lengths until things worked. One of my managers had the task of measuring the wires to which Seymour had attached a tag that said "TUNE", so that they could be used for the production machines. The clock for the 6600 was a blistering 10MHz.
    Even before that, Grace Hopper used to pass out 1 ft. lengths of wire to her students, identifying them as "nanosecond" wires. (Light propagates at about a foot per nsec).

  • @akuaku77
    @akuaku77 5 лет назад +45

    What I learned today: "You wouldn't want to go wigglety pigglety"

  • @caiocc12
    @caiocc12 5 лет назад +22

    And all this for Mhz-level signals, imagine the headaches designers have to go through for the current Ghz-level motherboards !

    • @slashdevslashzero
      @slashdevslashzero 5 лет назад +12

      This is why things like PCI Express came about. Instead of having wide busses to match you just have a couple traces running at much higher speeds. And then for the PCIe x Lanes each lane operates somewhat independently so that matching between the Lanes isn't quite the concern. All this makes for much tighter requirements but with far fewer traces to control. DDR is one of the few high speed parallel holdouts though there have been attempts to move to a high speed serial interface for memory - I'm looking at you hybrid memory cube.

    • @willsoe
      @willsoe 5 лет назад +4

      @@slashdevslashzerolots of things are moving to this serial lane idea now. Ghz ADCs these days use JESD204B which is a high speed serial interface, so for a 500Mhz adc, you might have 2 serial lines running at data rates of 5Gig each!
      Things like thunderbolt use serial lines too, so high speed design isn't going anywhere!

    • @hassaniqbal7934
      @hassaniqbal7934 4 года назад +1

      please elaborate, I guess you use HyperLynx everyday

  • @zoeyk.6338
    @zoeyk.6338 5 лет назад +13

    I'd love something on timing diagrams Dave!

  • @jetraid
    @jetraid 5 лет назад +1

    Love you take an Argentinian project as example, we are proud of our engineers. Thanks you very mutch.

  • @xriskava2151
    @xriskava2151 5 лет назад +3

    Loved the video. Please do more like this. I'm a student at the University and I want to get in to that short of stuff.

  • @MrKillswitch88
    @MrKillswitch88 5 лет назад +1

    When it comes to memory clocks people are pretty much not aware that what is on the label is often only the data rate and signal clocks not the IC clocks as they've been using clock domains for ages. It is always fun to show kiddies ram from the 80s and 90s.

  • @ZacksLab
    @ZacksLab 5 лет назад +2

    Also, clock frequency is not necessarily the concern, the major concern is the rise times of the parts. The signal rise times can contain frequency content well above the fundamental frequency of a clock, and if you want to preserve the integrity of the signal you have to consider these higher order harmonics. If you're using modern parts, every trace should be treated as a transmission line if you want to assure signal integrity and good EMC performance.

    • @jcc4tube
      @jcc4tube 5 лет назад +1

      This is so true. If your clock line its ringing, your single board TTL computer might fail at 1 hz.

  • @excitedbox5705
    @excitedbox5705 5 лет назад +1

    Yes do a video on the timing diagrams. It took me forever to kind of understand what was going on with those and I would love to get a better understanding.

  • @danieltlang
    @danieltlang 5 лет назад +3

    A Video about signal integrity for high speed signals or differential pair impedance would be great!

    • @natecontarino1748
      @natecontarino1748 5 лет назад

      "A video about signal integrity for high speed signals or differential pair impedance would be great".
      -Daniel Lang, 17 hours ago

  • @FurEngel
    @FurEngel 5 лет назад +5

    Most of my current projects are 6-layer boards and I use Eagle's built in trace length tool on any differential signal (such as HyperBus or USB HS) and on any memory bus (16/32-bit SMC for example). In addition, for clock generators such as MEMS oscillators, I make sure there is a ground plane with no interruptions between the XO and XI of the FPGA clock input. Not sure if Dave mentioned it, but even if the clock speed is slower (i.e. 40MHz), the longer the trace, the higher probability of interference which can cause "blips" in the signal and trouble for the logic.

    • @ZacksLab
      @ZacksLab 5 лет назад

      Also, clock frequency is not necessarily the concern, the major concern is the rise times of the parts. The signal rise times can contain frequency content well above the fundamental frequency of a clock, and if you want to preserve the integrity of the signal you have to consider these higher order harmonics. If you're using modern parts, every trace should be treated as a transmission line if you want to assure signal integrity and good EMC performance.

  • @VladAdamenko
    @VladAdamenko 5 лет назад

    Thank you for geting us through this rabbit hole. Plenty of info to think about.
    Yes, please, please, please. Do N-hours long video about signal integrity. It's fascinating topic.

  • @michelfeinstein
    @michelfeinstein 5 лет назад +3

    I think the Er will also affect attenuation, so that's why they will bother in RF, not just related to propagation delay.

  • @laad
    @laad 5 лет назад

    Very informative Vblog, I hope you will have more in-depth videos about signal integrity and DDRs in future.

  • @Mehrunes86
    @Mehrunes86 5 лет назад +12

    All these 180° bends, must be an absolut nightmare for the busdriver.😂

  • @electronic7979
    @electronic7979 5 лет назад +1

    Helpful information

  • @Hardwayistheonlyway
    @Hardwayistheonlyway 5 лет назад +1

    Interesting stuff. Yeah an in depth memory timing video would be great. Keep up the good work :)

  • @user-fj4fr9ns9x
    @user-fj4fr9ns9x Год назад

    Sorry, Dave. I think you made a reservation at 32:52 minutes, not 7.5 mm, but 4.5 mm. Thank you for your lessons, they are wonderful!

  • @demoncloud6147
    @demoncloud6147 5 лет назад +11

    @18:19 , Dave, please make video on how to read timing diagram, I want to learn from you.

  • @ariedemuijnck
    @ariedemuijnck 5 лет назад +2

    Aside from my nit-picking comments - Great work Dave, trying to explain this complex matter so clearly and humorous. It shows very well why a 'simple' memory chips needs such a detailed datasheet with a tutorial on PCB layout inside. And an expensive high-speed scope with special probes to verify anything at all.

  • @Stefan_Payne
    @Stefan_Payne 5 лет назад +3

    btw the "snaking" was reduced with more modern interfaces such as PCIe but also more modern DDR4 (or GDDR6) memory as well.
    Because there is some kind of internal compensation inside the chips. So you can argue that for example GDDR6 has an 64x1bit Interface and not 1x64bit.

    • @MechanicaMenace
      @MechanicaMenace 5 лет назад +1

      On the PC side I think most of the compensation is on the SoC side with DDR4. Snaking also seems to be more pronounced with T topology layouts.

    • @Stefan_Payne
      @Stefan_Payne 5 лет назад +1

      @@MechanicaMenace Yes, because the "T-Topoloty" is made for maximum frequency with 2 DIMMs per Memory Channel, thus its a bit more complicated than "daisy Chain"...
      And, if I understand it correctly, the singal lenth is the same between both DIMMs, while on "daisy chain" boards, the nearest DIMM is the first one to get the signal.

    • @asmi06
      @asmi06 5 лет назад +4

      PCIe is fundamentally different because each lane works independently from others (as it's a serial bus, it's self-clocking), so there is no need to match them (you only need to match differential pair). And GDDR6 has x16 data interface - you can download databrief for it from Micron website).

  • @lemon3rd800
    @lemon3rd800 5 лет назад +6

    24:18 Aussie kickin' in

  • @user-ww2lc1yo9c
    @user-ww2lc1yo9c 2 года назад

    I will pay for a video series on this topic that covers all aspects of it. As long as it is reasonable.

  • @ryanhenning
    @ryanhenning 5 лет назад

    Yes please! I'd love to see your in-depth tutorial for reading timing guides! :)

  • @hklausen
    @hklausen 7 дней назад

    Yes, no discontinuities in ground plane return path 🙂 The return path is exactly under the copper traces.

  • @LudwigvanBeethoven2
    @LudwigvanBeethoven2 3 года назад

    Watching this in my phone and now it feels like im holding a piece of black magic in my hand... man we take so much for granted

  • @5Breaker
    @5Breaker 5 лет назад +3

    "Bleedingedge system at daylight speeds or you doing it wrong" xD
    That made my day. :)

  • @pnjunction5689
    @pnjunction5689 5 лет назад +5

    Good video! I'd love to see a tiny example project for creating a system that uses DDR memory from start to end.

    • @EEVblog
      @EEVblog  5 лет назад +7

      I had an idea some time back about actually creating my own DDR3 memory stick for a PC, and seeing if it would be cheaper to actually make a one-off than buy one.

    • @ANTALIFE
      @ANTALIFE 5 лет назад +1

      Robert Feranec has quite a few videos on this and actually offers courses too

    • @michaelbuckers
      @michaelbuckers 5 лет назад

      @@EEVblog Pretty sure it's never cheaper to make a one-off (even DIY) than to buy a jellybean part.

    • @pnjunction5689
      @pnjunction5689 5 лет назад +1

      @@EEVblog If labor is free....maybe. It should definitly going to be more fun to create one rather than buying one.

  • @gelecopter
    @gelecopter 5 лет назад +1

    This video remind me of funny (not) case in my life... I worked as repairmen on old (late 70s early 80s) telecom equipment in early 2000s and our job was to repair it after catastrophic PSU failure (PSUs was replaced with new ones after, its obvious thing to do).. The issue was found in CPU (contains ALU, CPU registers, System bus buffers, and Clock generator) card and it was replaced with spare but system worked kinda funny(not work at all) after that. If you run ALU/ROM/RAM/IO Registers tests - it works just fine. That was hotspare dual machine setup where second machine do checks on first one and copy its registers and RAM states over by timer or external trigger like alarm or operator's command. Same for first machine and depends on selected Master machine between two of them. Well. Second machine running, operator gives command to first machine to seize master role. It gives ACK and start to run equipment. After 20 to 30 seconds second machine seizes master role and halt first one. WTF? Operator run tests - result: All Green. Repeat tests - result the same. Operator tries to pass Master role to first machine again - it works but situation repeat itself after 20 or 30 seconds again. We knew for sure that issue in CPU card itself because everything else is tested and works before so it's time to dig in =). Issue was found in "Known good" card, in "Stem Clock Output buffer" chip - it was 4AND gates chip that just its function name said - output 4 equal clock signals to Stem (system bus) that connects Branches (commutation matrix parts) to the Root (CPU shelf). Some bright head replaced SN7408 IC with 74LS08... Good fast and sharp clock pulses generated by 74LS chip was too good for the rest of equipment and glitched out the rest of SN74xx based system bus controller that was in different enclosure about 50-60cm away in the CPU shelf... and yes, that equipment had wire-wound backplane too.
    P.S. If someone reading this turd to this point - sorries for broken english xD And I like very much that "Plants" terminology applied to telecom equipment...

    • @johnfrancisdoe1563
      @johnfrancisdoe1563 5 лет назад +1

      Северный Зверёк Nicely and well written post, except that it's "terminology".

    • @gelecopter
      @gelecopter 5 лет назад

      @@johnfrancisdoe1563 lol. Thanks for pointing it out.

  • @ChaplainDaveSparks
    @ChaplainDaveSparks 5 лет назад +27

    "Not being loosey goosey enough" ...
    It reminds me of a story I heard in my first year of college. In a room, there were a mathematician and an engineer (assume male heterosexuals, here) on one side and a beautiful woman on the other side.
    The rules given were that each of the men could make a series of moves, advancing half of the remaining distance between himself and the woman on each move.
    The mathematician was given the opportunity to go first, but declined. He reasoned that he'd never reach her, so never moved.
    The engineer made his first move, only to be scolded by the mathematician, "Don't you realize you'll never reach her?"
    The engineer responded, "I'm not worried. Eventually I'll get *CLOSE ENOUGH."*

    • @ivanv754
      @ivanv754 5 лет назад +4

      That awkward moment when English does not specify gender

    • @giornogiovanna729
      @giornogiovanna729 5 лет назад

      You'll never reach the reality that occurs, enginerds.

    • @ChaplainDaveSparks
      @ChaplainDaveSparks 5 лет назад +6

      @@giornogiovanna729 But once you reach a distance of a nanometer, or, better yet, a Planck length ... does that distance really matter? We have a saying, "The perfect is the enemy of the possible".

    • @giornogiovanna729
      @giornogiovanna729 5 лет назад +1

      @@ChaplainDaveSparks I mean there's always a distance, but you can just speak instead of ruining people's personal space on a Planck length level.

    • @ChaplainDaveSparks
      @ChaplainDaveSparks 5 лет назад +3

      @@giornogiovanna729 Well, I guess I left out another assumption: That she *WANTED* to be approached. Regardless, I think the "personal space" of most people is measured in inches or centimeters, probably even feet or meters. 😒

  • @Narwaro
    @Narwaro 5 лет назад +1

    TL;DR KiCAD is great and makes designing 8 layer boards not a pain even if you never designed a PCB before.
    The comments already terrify me what people do that layout PCBs for a living. I’m a physicist and I had to learn board design and testing for a board with a large FPGA with DDR3 and PCIe that I needed to decode and measure stuff. It just so happens that this is the most complicated thing one can do in digital electronics but its super easy with KiCAD! The only thing I ever done before is microcontroller-level stuff because the klunkt software always deterred me!!

  • @tuttocrafting
    @tuttocrafting 5 лет назад +3

    Yess finally.
    I have no idea how the sbc guys can manage ddr3 layout on tiny 6 layer pcbs!
    I tried to route the signals lot of time but so far never been able to length match them!
    That board is ddr3 with fly by or something else.
    I'm just a guy that have electronics as hobby :)

    • @asmi06
      @asmi06 5 лет назад +1

      It's a bit like playing chess - you have to think in advance about future steps in order to avoid routing yourself into a corner. I like that stuff!

  • @St0RM33
    @St0RM33 5 лет назад +2

    And i was worried running usb differential pairs lol fair enough it was long distances;p maybe do a video on that matching impedance and stuff for a budget 2-layer board;p

  • @thekaduu
    @thekaduu 5 лет назад

    Another golden content! Thanks Dave.

  • @KrotowX
    @KrotowX 4 года назад +1

    Question from a bit out of topic: What to do with working DDR-2/DDR-3 modules left from RAM upgrade in PC and laptop? Like 512 MB and 1 GB ones. Throwing them out seems a bad idea.

  • @jorgeszabo1659
    @jorgeszabo1659 5 лет назад +2

    I have the education/development edition of that board :) Greetings from Argentina!

  • @video99couk
    @video99couk 5 лет назад

    I think I've seen PCB weave at 45 degrees to the tracks on some expensive 80s test gear and now that makes sense.

  • @gustavlicht9620
    @gustavlicht9620 5 лет назад +3

    Rule of thumb: If the trace is longer than the wavelength check the layout in an EM simulator.

  • @TickyTack23
    @TickyTack23 5 лет назад

    This topic has come at an interesting time. I've been fiddling with some laser driver and TDC circuits to make a lidar measuring tool, and have been learning more around the topic of propagation delay. More so in picosecond TDCs. I found an interesting topic on using FPGA's, to run a clock signal through a series of single gates, to take advantage of the propagation delay, offsetting an array of clock signals all in parallel, each running to a counter. Then you trigger a start/stop signal across all the counters, and determine out of the number of counters, which counter does the increment decrease by 1 You now have 1/x the resolution of your time. Interesting stuff, but I'm sticking with a TDC7201 for now, FPGA's, project for a later date.

  • @gelecopter
    @gelecopter 5 лет назад +1

    Dave set time budget for this video to 40m ±30s and used his video layout software to trim it. 😎
    Thank you for interesting video.

    • @EEVblog
      @EEVblog  5 лет назад +1

      Budget was 20min, I blew it.

    • @gelecopter
      @gelecopter 5 лет назад

      @@EEVblog It still works tho

  • @wolfz9146
    @wolfz9146 5 лет назад

    Thanks I would love to see a series of videos on this subject. There was a lot material to absorb and I’m going to need to watch this one over again and then possibly a third time after that, or maybe four.

  • @fersunk
    @fersunk 5 лет назад +3

    That was the reason why AMD disabled the PCIe 4.0 (double the speed of 3.0!) in the last gen MBs
    They said that the signal integrity would be bad and that would causes instabilities.
    The new X570 are designed with PCIe 4 in mind with tigther timings and better traces routing

  • @fletcherreder6091
    @fletcherreder6091 5 лет назад

    Splitting ground planes is also a great way to make accidental antennas, or sometimes intentional ones.

  • @witoldgrabowski9263
    @witoldgrabowski9263 3 года назад +1

    I have really always liked your videos, and I think that, among many channels that tackle aspects of technology on youtube, you deserve cudos for, more often than not, having something actually interesting to say about subjects pertinent to the electronics design and engineering, however, having already built your audience and established your presence, you should not feel too compelled to speak fast and nervously, filling all possible spaces with redandent utterances, especially, that you easily have enough personality and valuable things to say, to do exactly the opposite, and not be putting yourself up for verbal contests, with fast and easy talking lipstics, soaps and facial creams retailers. Thanks for valuable content, but for even better results, consider this: words carry weight.

    • @EEVblog
      @EEVblog  3 года назад +1

      I think you used too many words...

    • @witoldgrabowski9263
      @witoldgrabowski9263 3 года назад

      ​@@EEVblog Thank you for sharing your thoughts. Your vlog is, in various aspects, a display of artistry with priestly and humble relation to knowledge. And so, I hope, that my previous comment, while not intended to be excessively assuming or verbose, gives away nothing, but just that impression, of well deserved, appreciation !

  • @sablanex
    @sablanex 5 лет назад

    More of this, this is great content!

  • @a1guitarmaker
    @a1guitarmaker 5 лет назад

    Amazing stuff. I didn't get where I am today by paying much attention to PCB layout. I just designed the circuit (taking into account sample and hold times), and somebody else laid out the board. It usually worked.

  • @Stefan_Payne
    @Stefan_Payne 5 лет назад +13

    Hey dave, any chance to take a look at the new 8-bit computer that the 8bit guy wants to do?

    • @codebeat4192
      @codebeat4192 5 лет назад +2

      The 8-bit guy don't want to use such 'modern' stuff like DDR ;-) . He really likes to reinvent the wheel with some extra's. Have you seen the latest board design, it is huge and expensive, doesn't fit the few tens of dollar price range he had as goal. You must be nuts to buy such system for only a little extra memory and a little more powerful graphics card. 8-bit guy was thinking of his dream computer with 8-bit-guy limitations because the 8-bit guy assume you don't need more, because the 8-bit designed it. It is not Apple and not a game! A fixed device you cannot configure or change, who else wants to buy this thing anyway?
      There is already an open source FPGA version of what he want (reviewed by RetroManCave), others did the hard work and because it is open source he is able to download it and change the design. But he doesn't want to use a FPGA (he also noticed this in his last video), must be off-the-shelf parts with all the extra effort and costs because it must be old-scool in every manner. The FPGA used in the open source version is an intel, maybe that isn't his cup of thea.
      I dunno........ Dave, take a look at it, what do you think about it?

    • @codebeat4192
      @codebeat4192 5 лет назад

      Video 8-bit guy: ruclips.net/video/sg-6Cjzzg8s/видео.html
      Video RetroManCave: ruclips.net/video/e5yPbzD-W-I/видео.html

    • @gblargg
      @gblargg 5 лет назад +1

      If you're going to use an FPGA, might as well just emulate it and be done with it.

    • @Stefan_Payne
      @Stefan_Payne 5 лет назад +1

      @@gblargg No you can not.
      Because FPGA basically the original Hardware or something very similar to that. And the modern ones might be relatively cheap so that you can easily do an old PC with that. Look at the FPGA Nintendos! They are pretty much like the Originals, more or less.

    • @Waccoon
      @Waccoon 5 лет назад

      Not much point. Eventually, they'll realize that the parts they're using aren't going to work out, and they'll have no choice but to put everything other than the CPU and maybe the VIA into a single FPGA. Even then, the original goal was to use as many "off-the-shelf" parts as possible, yet it now uses dedicated video ram, supports multiple graphic layers, dozens of sprites, 256 colors, 2MB of RAM... uh, this is supposed to be an early 80's computer, right? Sounds more like a 32-bit machine running off an 8-bit bus just because. The Mega65 has similar issues. These machines are too expensive and not at all representative of the 8-bit era.
      I'm working on my own 8-bit machine, but I'm thinking about it at the gate level. So, even if propagation delays at the PCB level don't matter, the delays of the gates in each custom chip must be considered. It'll only be simulated in software, since I know nothing about FPGAs, but I want the features and specs to be realistic enough so it could theoretically be manufactured at 5 micron HMOS. I think that's way more interesting, fun, and a serious engineering challenge, than slapping a whole ton of features together just because a modern FPGA has enough room inside.

  • @2003vito
    @2003vito 5 лет назад

    a video about timing waveforms would be amazing!

  • @MatthijsvanDuin
    @MatthijsvanDuin 5 лет назад

    16:20 You should probably have warned that this trick does _not_ apply to the address lines of SDRAM (both SDR and the many generations of DDR) which absolutely *do* have to match up since they're not just used for memory addressing but also for mode register programming and for some additional control signals during column select.

  • @Sattkopf
    @Sattkopf 4 года назад

    this video was so interresting that i activated notifications for you because it was not recommended to me :( the algorithm let me down

  • @pvc988
    @pvc988 5 лет назад

    Do more videos like that. It was really informative. And do the one on timings.

  • @the_eminent_Joshua_E_Hrouda
    @the_eminent_Joshua_E_Hrouda 5 лет назад +1

    16:11 "Please excuse the crudity of the model..." Classic BTTF ref! ACK! :)

  • @arthureisenherz3228
    @arthureisenherz3228 5 лет назад

    Top quality content as usall thank you very much Dave

  • @jort93z
    @jort93z 5 лет назад +1

    I wonder, whats the wire length of a wire wound resistor typically? Never seen that on a datasheet, is it something you'd have to consider?

    • @LaserFur
      @LaserFur 5 лет назад

      they make cross wound resistors that have lower inductance. but a regular wound resistor is also an inductor. So it's not a controlled impedance.

  • @hanli4977
    @hanli4977 4 года назад

    We tried to keep 7h (for uS) and 5h (for SL) serpentine spacing when length matching the DDR signals. That is to minimize the self inductance. Memory is the most challenge part in motherboard layout. Need to be careful of the RelativePropagationDelay and StaticPhaseTolerence :-)

  • @DJlegionuk
    @DJlegionuk 5 лет назад

    I would be interested to see a video on those timing diagrams. I just couldn't workout why a Dallas DS1220AD NVRAM was not working on a arcade PCB, but a ST M48Z12 worked perfectly. They are both listed as compatible items for the same SRAM chips. From what I could see the dallas was stuck in high impedance to stop data corruption.

  • @MetalheadAndNerd
    @MetalheadAndNerd 5 лет назад +2

    30:31 Why does increasing the trace width reduce the inductance?

    • @daveb6722
      @daveb6722 5 лет назад

      Not sure, unless he meant impedance. This is a little above me so I could be wrong.

    • @petehiggins33
      @petehiggins33 5 лет назад +2

      When a current flows along a track it generates a magnetic field around the track. The magnetic field lines run across the width of the track around the edge and back across the other side. If you increase the width of the track it increases the length of the lines. The inductance created by each line is inversely proportional to its length so increasing the width reduces the inductance. Another way to look at it is to imagine two parallel tracks of half the width, each having inductance L. When you combine them into a single track with twice the width you are effectively connecting two inductors in parallel which halves the total inductance.

    • @MetalheadAndNerd
      @MetalheadAndNerd 5 лет назад

      @@petehiggins33 Thanks, that's interesting.

  • @squee222
    @squee222 5 лет назад

    I'd love to see a video on timing diagrams. thats a great idea :)

  • @QoraxAudio
    @QoraxAudio 5 лет назад

    Remember, PCB vias can produce reflections, influence the speed and trace impedance as well. Vias can reflect and act similarly to distributed element filters.
    Generally, stacked microvias are a bad idea hehe

  • @boblewis5558
    @boblewis5558 5 лет назад

    Great video Dave, but surprised nobody appears to have picked up on your propagation delay estimate!
    The speed of light is 300k km sec -1 therefore 1nS = 30 cm at that speed. When I did my electronics degree 45 years ago that was an ingrained measure.
    Clearly electrical propagation is not as high as the speed of light, for various reasons, but generally taken as between ~65% and ~80% depending on exact medium and circumstances.
    Safest rule of thumb is therefore to use the speed of light rather than half that, thereby ensuring a good positive margin for high speed circuits. Not so critical at 100 MHz obviously but significantly more critical at 4GHz, or above.

    • @BenMitro
      @BenMitro 5 лет назад

      I can smell ham.

    • @boblewis5558
      @boblewis5558 5 лет назад

      @@BenMitro what flavour? 🤔

    • @BenMitro
      @BenMitro 5 лет назад

      @@boblewis5558 that depends on the country you are in Bob. I just got my advanced as we call it here in au, waiting for my call sign allocation.

    • @boblewis5558
      @boblewis5558 5 лет назад

      @@BenMitro wasn't aware the speed of light varied by country, certainly not by a 100% increase or 50% decrease! 🤔🤔🤔

  • @AlexBoneChannel
    @AlexBoneChannel 5 лет назад +1

    Great double data rate mate

    • @AlexBoneChannel
      @AlexBoneChannel 5 лет назад

      Haseeb Electronics Chowk Azam Hahahaha good one!

  • @craigleydon3349
    @craigleydon3349 5 лет назад

    Hi Dave. Good video again. Just a quick note to let you know that jaycar now have a new item on their catalogue you may like. It’s a little pricey though. A flux capacitor!!

  • @victornpb
    @victornpb 5 лет назад +4

    What I learned from this video: If your design needs DDR memory, just say to management that the idea is impossible.

    • @0MoTheG
      @0MoTheG 5 лет назад +3

      No, you tell them to outsource the layout to an expert.

    • @willsoe
      @willsoe 5 лет назад

      If you have to lay out DDR memory get yourself a copy of Hyperlynx and start learning how to use it ASAP. It's not impossible, but it'll take some time. Work out your length matching constraints before you start to prevent you from having to start over, and give yourself 2 more layers than you think you'll need

  • @rich1051414
    @rich1051414 5 лет назад +1

    The next logical step past QDR would be six words of data in each clock cycle, by adding a third double data rate clock, but what would it be called? HDR is taken :P

  • @adsf_satellite12
    @adsf_satellite12 5 лет назад

    Awesome video

  • @berenscott8999
    @berenscott8999 5 лет назад

    Time to get the super computer running on those PCB designs. Optimal traces coming up...

  • @codebeat4192
    @codebeat4192 5 лет назад +2

    Hmm suspicious... ;-) ..., Dave works on a GigaTron-X Mega or something. First a redesign of the board and now a TTL DDR topic. Gotcha!

  • @michelfeinstein
    @michelfeinstein 5 лет назад +5

    If it's 3mm on a 200MHz RAM, I am just imagining how much would it be on a 2GHz RAM module!

    • @Orbis92
      @Orbis92 5 лет назад +2

      I had the same thought. Typical DDR4 is running even above 2Ghz, GDDR5 even faster. Quite impressive timings and its not even "cutting edge daylight speed" technology, but at typical 2019 computer...

    • @michelfeinstein
      @michelfeinstein 5 лет назад

      @Mario Vigliar well, this is starting to approach the manufacturing precision of many PCB fabs

    • @Orbis92
      @Orbis92 5 лет назад

      @Mario Vigliar Not sure if this makes DDR4 less or even more impressive ;) Thanks for the info

  • @michaelmoorrees3585
    @michaelmoorrees3585 5 лет назад +1

    The Gigitron TTL computer is very slow compared to modern digital electronics. Its effectively late 70s & early 80s technology. HC TTL gates has probagation delays ~30nS. F series down to ~3nS. PCB layout is irrelevant as far as propagation delay is concerned. Timing diagrams are still important. Due mostly, to how slow the devices operate. The TTL logic was the faster part. It was the slow NMOS LSI chips (microprocessor, controller chips, EPROMs, etc) that had to watched. EPROMs had access times of several hundred nS.
    The following is a project I worked on in the early 80s:
    threeneurons.files.wordpress.com/2019/01/esz7000.pdf
    Look at page 4. The board looks a lot like that TTL computer board. Same technology. Used a 4MHz Z80 processor. I used timing diagrams all the time, back then. Again, because, how slow those old memory devices operated. Wait states was a common thing.
    Dave was a teenager in the 80's. I was already a 20-something working engineer.

  • @dadamkd
    @dadamkd 5 лет назад

    Great video and please, if you could cover those timing diagrams that would be great!

  • @ariedemuijnck
    @ariedemuijnck 5 лет назад

    At 24:53: No, skew is the difference between propagation delays, not the same as propagation delay.

  • @FRee-lq4jn
    @FRee-lq4jn 5 лет назад

    Do a series on advanced topics! :D

  • @johnfrancisdoe1563
    @johnfrancisdoe1563 5 лет назад

    At these frequencies, wouldn't 90° sharp bends in traces cause problematic signal reflections? I notice the tool has apparently made a few sharp corners near squiggles.

  • @faytaliti
    @faytaliti 5 лет назад

    Wow, all these issues ring just as true when laying out datapaths in digital CMOS (say, on a custom DSP). Only, when laying out ICs, we're regularly operating in the tens of picoseconds domain. There is a whole field called Static Timing Analysis that unsurprisingly deals with timing analysis for digital VLSI designs.

  • @EverydayJourney
    @EverydayJourney 5 лет назад

    Can you make a video to explain this. I bought a kill-I-watt to measure the power used while charging an iPhone. I was under the assumption that the power brick would use power even when the phone was not connected. I was surprised to see that no measurable amount of power was consumed until I plugged the phone up. How do they do this? I thought the transformer would be consuming power whether charging or not

  • @bluc0bra
    @bluc0bra 4 года назад

    Thank you for this excellent video

  • @bobpitt1261
    @bobpitt1261 5 лет назад

    Great video, thanks Dave. Great way to go ga-ga.

  • @deweywsu
    @deweywsu 5 лет назад

    What software is Dave using to show the routing here? Is that a viewer application?

  • @davefiddes
    @davefiddes 5 лет назад

    Of course the trace length matching doesn't just stop at the BGA pad either. IIRC the chip manufacturers have details of the trace lengths for each signal on the BGA PCB too. I think there was a talk someone did about doing that in Kicad with the python integration but unfortunately I can't find it.

  • @Aemilindore
    @Aemilindore 5 лет назад

    hi Dave, would you consider using Ublock Origin? An opensource, better alternative to that other Add Blocker you're currently using? Probably it spies on every URL you visit and deffnitely it doesnt block all adds. Just a suggestion.

  • @groeszs
    @groeszs 5 лет назад

    Makes me appreciate the difference between a PC motherboard which costs $50 vs a high end motherboard costing a couple hundred $$. Consider the tolerances in a system such as the HP DL580 where the memory is routed through the MB, to a cartridge module, containing many individual memory sticks, where finally the RAM chips themselves reside, and you learn to appreciate the engineering required to make such a system function.

  • @ArchAngel1508
    @ArchAngel1508 5 лет назад

    As an ECE student, "Would you like single-ended or differential fries with that, sir?" killed me and my professor.

  • @lorandbelanger4253
    @lorandbelanger4253 5 лет назад

    Love your videos Dave. Thanks. Would you be willing to make a few videos on signal integrity and all the reasons for the mid voltage biasing on DDR memory at some point by any chance?

  • @schitlipz
    @schitlipz 5 лет назад

    Was never taught this in college!! Not heard of it in circulars either. Now I'm all embarrassed because I made fun of _everybody_ for trying to make their traces the same length with the squigglies. (Still, all my planes are in service. Phew!) Thanks for the lesson, Dave.

  • @RN1441
    @RN1441 5 лет назад

    Ive routed DDR3 in KiCAD, it worked out well but was a major pain to figure out the necessary length relationships between all of the lines.

  • @VjJowo
    @VjJowo 5 лет назад

    Once you have routed such a high-speed-board how is it typically verfied (in industry)? Just switch on and see if it runs?