Close

RingO9 v2 : with caps !

A project log for Hackaday TTLers

Where DIY DIP/SSI/MSI CPU makers meet and discuss other TLA (three letters acronyms)

Yann Guidon / YGDESYann Guidon / YGDES 05/22/2020 at 16:012 Comments

a few minutes of soldering bring the base capacitors to the board... and once again Tim's curves are confirmed !

The data :

V     mA     MHz
1      6    9.263
1.1    8   10.481
1.2    9   11.560
1.3   11   12.456
1.4   13   13.268
1.5   15   13.974
1.6   16   14.592
1.7   18   15.166
1.8   19   15.692
1.9   21   16.156
2     23   16.603
2.1   24   16.985
2.2   26   17.381
2.3   28   17.731
2.4   30   18.056
2.5   32   18.360
2.6   33   18.634
2.7   35   18.899
2.8   37   19.150
2.9   39   19.386
3     40   19.617
3.1   42   19.828
3.2   44   20.036
3.3   46   20.223
3.4   47   20.406
3.5   48   20.585
3.6   50   20.750
3.7   52   20.906
3.8   54   21.057
3.9   56   21.191
4     57   21.322
4.1   59   21.435
4.2   61   21.552
4.3   63   21.666
4.4   65   21.771
4.5   66   21.877
4.6   68   21.976
4.7   70   22.073
4.8   72   22.163
4.9   73   22.251
5     75   22.337

The script :

set xlabel 'V'
set ylabel 'MHz'
set y2label 'mA'
set xr [1:5]
set yr [6:24]
set y2r [0:90]
set ytics 1
set y2tics 10
set key right bottom
plot "ringo9_2_47pF.dat" using 1:3 title "v.2 47pF Frequency in MHz" w points pt 7,  \
     "ringo9_2_47pF.dat" using 1:2 axes x1y2 title "v.2 47pF total current in mA" w points pt 7,  \
     "ringo9_2_sans.txt" using 1:3 title "v.2 sans cap Frequency in MHz" w lines, \
     "ringo9_2_sans.txt" using 1:2 axes x1y2 title "V.2 sans cap current in mA" w lines

 Once again the capacitor is a simple yet very effective means to go faster, yet the power curve is not affected (in a meaningful, significant way). So the efficiency is much better than v1 :-)

At 5V the circuit easily reaches 22MHz, or 2.5ns per inverter !

But is it necessary to go THAT fast ?  Where is the sweet spot again ? I don't think it's a good idea to run at 5V because the speed is only marginally better for a very significant increase in power draw (42mW/gate, or 1.8mW/MHz). So maybe 5V would be reserved for special cases and places that need a serious fanout.

It would be wise to stay under the 1mW/MHz/gate, 0.5mW/MHz/gate would be even better but the fanout would be insufficient. The standard voltage 3.3V would be a good compromise but let's wait for the results with the other cap values and the diodes !

Anyway : Going from 2.5V to 3.3V brings only 10% more speed while the power  almost doubles !


But what is the right capacitor value ?

the datasheet specifies < 4pF for the gate charge. So the capacitor must be higher than that to cancel the effect. So maybe 47pF ?

OTOH I saw a speed difference that is similar between 27pF (PCB v.1) and 47pF (PCB v.2) so there would be a diminishing return, which can only be spotted by plotting the V/F curve with various capacitances.

The smallest capacitors I have are 10pF so that's a good start. I can then add 18pF in parallel to give 28pF. Adding 47pF again will give another trace...


The results for 10pF are below :

From this graph, we can only suppose that the next increase would be to 220pF...

Meanwhile, the current graph has not changed so I don't show it anymore.


Testing with 280pF gives a pretty unexpected curve, but good to know anyway :

After a promising start at very low frequency, the 47pF curve is already winning at 1.4V. I now have to check at 100, 68 and 33pF if there is another local maximum...


The 100pF curve is disappointing : why is it worse than the 280pF ?

What is so special about the 47pF I tried ? Did I fry a part ?


Trying with 33pF caps shows interesting results as well, close to the 47pF.

Apparently the 2×33pF combination has a very light advantage up to 3.5V : that's still good to take and much better than other values.


Now trying 68pF gives a result very close to 2×33pf. So close that gnuplot almost mixes the colors, unless you zoom a lot.

So 68pF wins by a tiny margin, but that's all I intended to find out :-)

The dataset :

1    8.292    8.563   9.116    9.263   9.623   9.653    9.391    9.863
1.1  9.191    9.57   10.316   10.481  10.858  10.900   10.358   10.927
1.2  9.942   10.464  11.384   11.560  11.938  11.955   11.197   11.826
1.3  10.576  11.237  12.276   12.456  12.821  12.861   11.865   12.551
1.4  11.140  11.913  13.089   13.268  13.627  13.663   12.461   13.204
1.5  11.609  12.501  13.792   13.974  14.320  14.363   12.974   13.756
1.6  12.001  13.014  14.410   14.592  14.924  14.961   13.416   14.239
1.7  12.344  13.485  14.979   15.166  15.477  15.517   13.810   14.678
1.8  12.636  13.918  15.509   15.692  15.988  16.029   14.163   15.077
1.9  12.867  14.294  15.981   16.156  16.437  16.480   14.473   15.428
2    13.053  14.639  16.427   16.603  16.877  16.916   14.758   15.752
2.1  13.182  14.911  16.820   16.985  17.226  17.265   14.988   16.019
2.2  13.286  15.19   17.219   17.381  17.599  17.634   15.234   16.301
2.3  13.343  15.414  17.566   17.731  17.932  17.959   15.449   16.55
2.4  13.364  15.595  17.885   18.056  18.243  18.268   15.647   16.789
2.5  13.354  15.735  18.189   18.360  18.538  18.559   15.832   17.006
2.6  13.317  15.827  18.465   18.634  18.803  18.818   15.999   17.197
2.7  13.253  15.874  18.735   18.899  19.066  19.076   16.155   17.38
2.8  13.170  15.870  18.990   19.150  19.309  19.307   16.302   17.555
2.9  13.068  15.822  19.228   19.386  19.539  19.531   16.441   17.715
3    12.952  15.73   19.457   19.617  19.756  19.749   16.582   17.816
3.1  12.826  15.610  19.671   19.828  19.955  19.949   16.710   18.022
3.2  12.689  15.463  19.884   20.036  20.141  20.140   16.831   18.165
3.3  12.552  15.3    20.072   20.223  20.312  20.311   16.939   18.294
3.4  12.408  15.121  20.251   20.406  20.475  20.472   17.041   18.415
3.5  12.253  14.92   20.423   20.585  20.631  20.630   17.140   18.531
3.6  12.097  14.701  20.589   20.750  20.786  20.779   17.234   18.645
3.7  11.938  14.481  20.734   20.906  20.927  20.921   17.322   18.75
3.8  11.729  14.235  20.884   21.057  21.062  21.060   17.410   18.85
3.9  11.580  13.99   21.016   21.191  21.185  21.182   17.489   18.942
4    11.426  13.753  21.136   21.322  21.300  21.296   17.565   19.029
4.1   0      13.52   21.248   21.435  21.406  21.400    0       19.114
4.2   0      13.288  21.352   21.552  21.506  21.500    0       19.187
4.3   0      13.066  21.457   21.666  21.608  21.590    0       19.26
4.4   0      12.85   21.537   21.771  21.702  21.681    0       19.325
4.5   0      12.62   21.617   21.877  21.797  21.766    0       19.38
4.6   0      12.41   21.690   21.976  21.882  21.851    0       19.446
4.7   0      12.19   21.748   22.073  21.966  21.933    0       19.505
4.8   0      12      21.790   22.163  22.035  22.010    0       19.558
4.9   0      11.8    21.825   22.251  22.105  22.077    0       19.608
5     0      11.57   21.850   22.337  22.174  22.144    0       19.653

 and the gnuplot script :

set xlabel 'V'
set ylabel 'MHz'
set xr [1:5]
set yr [6:24]
set ytics 1
set key right bottom
plot "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:2 title "   0pF Frequency in MHz" w lines, \
     "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:3 title "  10pF Frequency in MHz" w lines, \
     "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:4 title "  33pF Frequency in MHz" w lines, \
     "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:5 title "  47pF Frequency in MHz" w lines, \
     "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:6 title "2x33pF Frequency in MHz" w lines, \
     "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:7 title "  68pF Frequency in MHz" w lines, \
     "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:8 title " 100pF Frequency in MHz" w lines, \
     "ringo9v2_0-10-33-47-66-68-110-280pF.dat" using 1:9 title " 280pF Frequency in MHz" w lines 

The conclusion is : below 3.5V, 68pF is the chosen value. 47pF wins at higher voltages.

47pF still could pop up again for fanout more than 1. In this case, it might get some more help if the pull-up resistor is tied to a higher voltage.

And let's not forget : ample decoupling !

But this is not the end. We should now investigate the clamp diode's effect... See you in another log !

Discussions

Tim wrote 05/22/2020 at 23:23 point

Very interesting results with the different caps. Seems that this is quite a sensitive optimization parameter. Would make sense to do some simulations.

Btw, I always added one additonal inverter as output buffer, so the loading on the ringo is not defined by the scope or anything else I attach.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 05/23/2020 at 02:45 point

Hi !

Yes I noticed this difference... But with proper probing, the load of the tip is comparable or less than a second transistor base. I suppose.

Or we could use 50 ohms in series with Rc :-)

  Are you sure? yes | no