No doubt the parasitics and other nasties still come into play, but it's still amazing how much faster we can go before they start to bite.
No doubt the parasitics and other nasties still come into play, but it's still amazing how much faster we can go before they start to bite.
I've made some retrocomputing boards (<= 50 MHz) (8051, 286, 68010, 68030, etc.) and haven't had much of a problem. No idea what the EMI looks like though. Greatest goof I had so far was an old part who's datasheet didn't mention that the signal output was open collector so I had to bodge a resistor in. Mostly just followed advice I found on the internet -> 4 layer boards can be had for very cheap these days (JLCPCB does 10 for $30 w/ ENIG boards up to 10cm x 10cm), so I followed the "just do yourself a favor and get the 4 layers boards so you can make ground and power planes" advice. Used a tool to compute minimum trace spacing to stay under a certain capacitance for a specific copper weight, board thickness, dielectric type, etc.
Probably my crowning achievement at this point is making an 1.8V LVDS to TMDS level shifter board so I can get HDMI 1.2a (4x 1.65 Gbps lanes + sidebands) out of an FPGA board I repurposed from some cryptomining hardware I bought on eBay. Had to learn how to do soldering using a stencil, paste, hot air station, and a hotplate because no one is hand soldering 0.4mm QFN packages. 0402 are the smallest thing I can do by hand.
Next thing I want to try is breaking out a small BGA. Managed to get a few Lattice iCE40HX8K's in the CT256 package (256 balls @ 0.8mm pitch BGA).
What hurts is how patent/royalty/industry interest group encumbered that nearly everything modern is. Want to do PCIe? Join PCIe SIG. Want to do USB? Join USB-IF. Want to support SD cards? Pay a bunch to SDA. Actually their patents expired so maybe you can do native SD mode now without much fear. HDMI is awful, DisplayPort requires you to join VESA, MIPI for CSI and DSI devices, etc.
As someone who works for a large silicon vendor I can tell you that even with access to those industry groups the documentation still sucks!!!! I look at the amazing documentation available surrounding various software initiatives (OpenCV, machine learning, linux drivers, programming languages, etc...) with envy. It's all right there and out in the open with multiple blogs and forums and pages explaining shit. And actually I did try to learn PCIe. I gave up. 1000+ reference specs, about 3 random web pages and a half dozen marketing youtube video's. There's a reason why some guys manage to build niche careers around these HW topics!
(Migrating from S7-300 PLCs to the current S7-1500 range, I found the complete documentation package for the 1500 universe in one whopper of a pdf. Just north of 11,000 pages IIRC.)
I shared the OPs frustration when working on the S7-300, though. The docs are excellent, there's just so many of them...
I don't know if it ever got fixed. I stopped using Linux around the time when it was introduced, and having had to revert to using xpdf for browsing large PDFs like it was 1994 again was part of why I ragequit :-(.
It took some time for it to land though and not without the kind of discussions that you see on the Gnome bug tracker. It was pretty disheartening.
I like it so much in fact that I've been looking for a linux alternative and haven't been satisfied yet. I will try evince though.
Now? Eh, Firefox. If that doesn't work, well, find an old Mac which hasn't been "upgraded" I guess.
In general, you should avoid power planes on 4 layer boards if you can. They tend to cause a lot of trouble with return currents when signals jump from the top layer to the bottom layer through a via. Prefer using ground planes for both inner layers and make sure you have ground return vias near every signal via.
https://youtu.be/kdCJxdR7L_I goes into more detail.
The electronics are a thing I do as a hobby and I try my absolute hardest to ensure work and hobby resources are kept separate. Electronics is sufficiently different from my professional role that it doesn't feel draining as a thing to do on the side. I'm not one of those "spend 8 hours programming/architecting/designing at work only to go home and spend another 6 writing code for fun" kind of people. I definitely write software and learn at home from time to time, but the motivation for doing it on the side is certainly less than it was before I turned it into a full time job. So I tend to gravitate towards things that are interesting to me but not necessarily useful to others.
Cannot confirm from my experience though, I don't practice EE, I just dabbble in electronics and never actually characterized SI and EMI in my creations.
Imagine all the peripherals baked into your uc were separate DIPs, and you had to worry about high speed signals going everywhere.
And yeah, all the parts were less robust and hadn’t evolved to be tolerant of less than perfect conditions.