Squonk wrote:
You are right, and this was actually my plan: to build 4-bit slices on something like a 1 square inch PCB with pads on all sides much like the schematic in the OP, with buffers to split the drive load.
Yes, but if you happen to have flipflops in the microcode pipeline which fed the input drivers of two or four 4 Bit bitslice modules,
then using
module input flipflops instead of
module input drivers might make things a little bit faster/compacter.
Squonk wrote:
I have not experimented it yet, but a CLA might be possible, which takes the P and either a or B signals as inputs, don't you think?
Attachment:
Virtual Generate.png [ 33.16 KiB | Viewed 1873 times ]
To put it short: If (A=1 AND B=0) OR (A=0 AND B=1), then Cout=Cin.
The proplem is, that due to the different propagation delays, having Cin in the equation for generating G
might give you spikes in the upper chunks of the carry lookahead mechanism.
I think that's not dangerous, but it might affect overall speed because it takes some time until the signals have settled.
Another idea would be adding another FET switch for generating G.
Unfortunately, this increases capacitances...
Attachment:
slice2.png [ 4.57 KiB | Viewed 1873 times ]
Squonk wrote:
[Cray] I Agree, do you have some links to share?
I like the mechanical construction of the
Cray-2 logic modules.
The idea of connecting the PCBs by using
pogo pins is nice.
It _almost_ keeps things service friendly... but mechanical stability of such a PCB stack might become an issue.
Squonk wrote:
Yes, all these bells and whistles add to the complexity of the design, but using a bitslice does not add to it, as these must be addressed on top of the basic "ALU" macrocell itself.
Well, using an 8 Bit ALU for data calculations and a 16 Bit adder for address calculations might be another option... I think.
But when aiming for speed, trace lengths and capacitances are going to matter a lot.
So adding circuitry for making a CPU faster
without carefully thinking about what you are doing and why
could backfire and actually result in the design losing some speed.