EEVblog Electronics Community Forum
Electronics => Beginners => Topic started by: sidereal on January 16, 2023, 10:48:39 pm
-
Hi
Most of you will be familiar to this: 8Bit computer clock module (https://eater.net/8bit/clock). His clock can be ran at a hundred Hz maximum. I am wondering a few things, which are probably absurd. But please bare with me.
I notice that you can do ring oscillators, or LC tanks, and inside CMOS chips used for radar, that can go to 80 - 100 GHz (mostly experimental). In practice, what you can build is probably much less. But I see, that there is an analog devices chip (https://www.analog.com/en/products/ltc6952.html), which can do 4GHz output. But it is designed for a DAC. This needs a 100 MHz reference, that can be supplied by another chip (https://www.analog.com/media/en/technical-documentation/data-sheets/AD9573.pdf), which needs a 25 MHz crystal in turn.
So, assuming that by some magic the rest of the computer could deal with it, we focus only on the clock part. What is realistically the maximum frequency, I could build using off-the shelf components discreet components on a breadboard. I am guess 4 GHz is already approaching the limit, as the latest intel CPUs run at 8 GHz. But I would like to know more from the experts.
WHat are the typical Engineering challenges? What are the typical errors, what are the issues such as thermal energy wastage? If I am to add such a clock to a circuit, will the signals reflect from a bad solder joint and fry things up? How would things differ if I were to use analog components explicitly?
As you can see, I am trying to learn a wide range of things, which are not well suitable questions for StackExchange. But I appreciate all the knowledge I can gain, Thank you.
-
What is realistically the maximum frequency, I could build using off-the shelf components discreet components on a breadboard. I am guess 4 GHz is already approaching the limit, as the latest intel CPUs run at 8 GHz. But I would like to know more from the experts.
WHat are the typical Engineering challenges? What are the typical errors, what are the issues such as thermal energy wastage? If I am to add such a clock to a circuit, will the signals reflect from a bad solder joint and fry things up? How would things differ if I were to use analog components explicitly?
Realistically? On a solderless breadboard? 4MHz, maybe 6MHz if you took extraordinary precautions.
The engineering challenges are relatively huge stray capacitances, resistances and especially inductances of all sorts. next is arranging for proper decoupling and power distribution. Don't worry about thermal issues. Balancing power hungry agressive high speed parts with being able to supply them with clean power and signals is where breadboards fail.
But first an foremost, a W65C02 will not run past about 20MHz - and that is on a well controlled multi-layer PCB with very careful attention paid to trace lengths, routing, voltage planes and providing wide frequency bandwidth supply de-coupling.
-
Well, first thing, the breadboard alone introduces a severe frequency limitation because of the contact capacitance of all those little spring contacts within the board. Anything operating above maybe 1MHz should ideally be soldered on a more permanent board (prototyping, homemade or manufactured PCB, etc.).
But on top of that, when you enter GHz territory, everything has reactance. Caps can become inductors and vice versa. Things really do get wild. :scared: Through-hole components come from a day and age where such high frequencies were almost unheard of. Their mechanical construction isn't really optimal for operation at really high frequencies. If you look at a real capacitor (as opposed to the "ideal" model usually shown in diagrams), you'll see it can be regarded as a relatively complex network of R, L and C components.
(https://upload.wikimedia.org/wikipedia/commons/5/58/Electrolytic_capacitor_model.svg)
The non-C components can often be ignored (not always though, excessive series resistance is often a problem), but in >4GHz circuits it's likely they'll have some effect.
And that's just scratching the surface. Logic components don't instantly change state, introducing delays that, while very short, do represent another limit. Eventually, the logic just can't keep up with the clock if sped up high enough, and the computer just won't work.
Plus, at high enough frequencies the PCB traces themselves become active components in the circuit! They can be long enough to introduce series inductance.
-
Okey, If I were to make a pcb, how fast can I go? Thank you
-
The clock isn't the real issue. The problem lies in the limitations of the ICs and the propagation delay through the circuit. His computer just isn't designed for high clock rates and I seriously doubt it could be done with 74 series logic and discrete components. You might get a few MHz if your lucky.
-
I designed this computer a few years back. As you can see by comparison to my hand it's about a small as you can make 6502 with through-hole parts. While it is designed to be plugged into what it controls, including a stack of cards (Arduino like) I need to be careful about the bus loading. It's a 4-layer board and I took literally weeks tweaking the trace routing to make them as short as possible. The two examples run at 14MHz and will run that speed with up to 4 plug-on cards. I have, using 35ns memory and a 7ns GAL got it running at 20MHz, but it won't drive any off-board peripherals directly at that speed. The bus needs to be buffered like the backplane board shown with the card connectors on it.
All-in-all, I think 20MHz is about what you can expect from an actual W65C02. I have heard of W65C02 cores being programmed into FPGAs that run at over 100MHz, but that gets to higher levels of complexity.
-
I have heard of W65C02 cores being programmed into FPGAs that run at over 100MHz, but that gets to higher levels of complexity.
Yes, and in these cases everything is inside the FPGA. The processor core, memory and needed peripherals to make it work. Still takes skill to get it right with these higher speeds. A big issue is clock skew caused by the delay on the traces within the chip.
Just consider the wavelength at these high frequencies. Traces longer then the wave length can cause problems. The signal can be high on one point and low on another point of the trace.
-
If you cool it with LN2 or dry ice and up the voltage you could clock it a bit higher than 25C and normal voltage
-
I have heard of W65C02 cores being programmed into FPGAs that run at over 100MHz, but that gets to higher levels of complexity.
Yes, and in these cases everything is inside the FPGA. The processor core, memory and needed peripherals to make it work. Still takes skill to get it right with these higher speeds. A big issue is clock skew caused by the delay on the traces within the chip.
Just consider the wavelength at these high frequencies. Traces longer then the wave length can cause problems. The signal can be high on one point and low on another point of the trace.
Let's ignore the logic and the processor, as I said in my original post. Let's only focus on the clock. How fast a clock module can I build with Off-the shelf components?
-
I designed this computer a few years back. As you can see by comparison to my hand it's about a small as you can make 6502 with through-hole parts. While it is designed to be plugged into what it controls, including a stack of cards (Arduino like) I need to be careful about the bus loading. It's a 4-layer board and I took literally weeks tweaking the trace routing to make them as short as possible. The two examples run at 14MHz and will run that speed with up to 4 plug-on cards. I have, using 35ns memory and a 7ns GAL got it running at 20MHz, but it won't drive any off-board peripherals directly at that speed. The bus needs to be buffered like the backplane board shown with the card connectors on it.
All-in-all, I think 20MHz is about what you can expect from an actual W65C02. I have heard of W65C02 cores being programmed into FPGAs that run at over 100MHz, but that gets to higher levels of complexity.
Let's ignore the processor for now, as I said. I am trying to understand the details of a clock module . How fast can I make it using off the shelf components.
-
Let's ignore the processor for now, as I said. I am trying to understand the details of a clock module . How fast can I make it using off the shelf components.
What's your budget? What do you want to clock with it? Sine wave or square wave? What will be the transmission line between teh clock to the clocked device?
4GHz should not be that hard, but you'll need to do it on a PCB as discussed above. The PLL clock generators that are used for high speed clock are not breadboard friendly devices. They are are not generally friendly at all and require some decent skills and knowledge to get them working.
You can buy them for well under $100 all built and ready to go. Programable too. Based on the MAX2870. Can go all the way from about 25MHz to 6GHz.
Like this one: https://www.amazon.ca/Cupsofu-Generator-23-5MHz-6000MHz-Frequency-Touching/dp/B0BQBHQVH4/ref=sr_1_41 (https://www.amazon.ca/Cupsofu-Generator-23-5MHz-6000MHz-Frequency-Touching/dp/B0BQBHQVH4/ref=sr_1_41)
I sincerely don't think you could cobble one together at home for less once you include you design and build cycle.
-
I was thinking below 50 usd, but ok, 100 is also a start
-
The one I linked to is only about $67 USD. :-+
-
Also sold on Aliexpress: https://nl.aliexpress.com/item/1005004594501531.html (https://nl.aliexpress.com/item/1005004594501531.html)
But this will not provide you with an understanding of how it works. For this I would suggest to search for a datasheet of a PLL or information about how it works.
Another thing with something like this is how to do measurements to verify things are working properly. High bandwidth equipment does not come cheap.
So ask your self what it is you want to learn, and consider if lower frequencies give you enough of a learning experience. 50MHz is already enough to see all sorts of problems in discrete analog and digital circuits.
-
It would be easy to get the CPU running at 100 MHz in an Artix 7 FPGA and maybe as fast as 200 MHz. This without changing the architecture. I don't know how fast it would go if it were pipelined.
It makes no sense to have a super fast clock (speed of light fast) if there isn't a logic family that can keep up. Then there is the matter of 'levels' - how many levels of logic to implement the device. There is a time delay at every level and they all add up. That's why high performance CPUs are pipelined to eliminate logic levels.
Propagation delays increase with capacitance and levels of logic but it starts around:
TTL 9 ns
ECL 1 ns
CMOS 200 ns
https://technobyte.org/logic-families-ttl-cmos-ecl-bicmos-difference/ (https://technobyte.org/logic-families-ttl-cmos-ecl-bicmos-difference/)
ASIC is faster but the calculation takes a while:
https://asic-soc.blogspot.com/2008/09/delays-in-asic-design.html (https://asic-soc.blogspot.com/2008/09/delays-in-asic-design.html)
The values vary all over the place so here is a typical CMOS inverter. Note the variation over voltage and temperature.
https://www.digikey.com/htmldatasheets/production/99404/0/0/1/74hcu04.htm (https://www.digikey.com/htmldatasheets/production/99404/0/0/1/74hcu04.htm)
Here is a CMOS inverter with 55 to 90 ns delay - pretty slow...
https://www.ti.com/general/docs/suppproductinfo.tsp?distId=10&gotoUrl=https%3A%2F%2Fwww.ti.com%2Flit%2Fgpn%2Fcd4069ub (https://www.ti.com/general/docs/suppproductinfo.tsp?distId=10&gotoUrl=https%3A%2F%2Fwww.ti.com%2Flit%2Fgpn%2Fcd4069ub)
Transition time adds a LOT... I guess I would want to study the datasheet carefully. And this is just a one-level device!
-
I bought a 50x LED DIP's with 10 led's each. And a bag of 330 or 220R resistors and 10 more breadboards.
I've seen BE's BB computer before, great videos for learning some stuff. IDK what I'm going to make, but IDK where to get a bunch of logic chips for cheap, and be brand names.
-
I bought a 50x LED DIP's with 10 led's each. And a bag of 330 or 220R resistors and 10 more breadboards.
I've seen BE's BB computer before, great videos for learning some stuff. IDK what I'm going to make, but IDK where to get a bunch of logic chips for cheap, and be brand names.
Ben Eater is selling complete parts kits if that helps:
https://eater.net/8bit/parts