BigEd wrote:
Could you sketch that glue logic please BDD?
I'm guessing Ed means mean V1.3. There's a schematic in
this post.
And I like the clock-stretch circuit you've got there, BDD. I've taken the liberty of editing away some detail to clarify its workings.
- U16a (highlighted with color) will always invert its state on every oscillator cycle
- U16b (immediately below) tries to copy what U16a is doing, but it gets messed with if /WSE (the "stretch the clock" signal) goes low
Attachment:
POC 1-3 mod.png [ 23.75 KiB | Viewed 98369 times ]
BigDumbDinosaur wrote:
If I try to run the system faster than 16 MHz, prop time through the glue logic results in the clock generator not getting the "stretch the clock" signal soon enough before Ø2 goes high
Well, there are two possible solutions to investigate. If the glue logic that generates /WSE can't be made faster, maybe the /WSE timing can be accommodated as-is.
In order for a stretch to occur, /WSE needs to go low before the J-K flipflop U15b gets clocked. So, how about delaying the clocking of U15b? At the top of the diagram I've drawn two possible options. In both cases the goal is to add delay in the path that leads to U15b's clock input.
It's hard to predict how much advantage you'll gain -- it might be substantial or it might be negligible. As you continue to increase the delay on U15b's clock, at some point you'll run afoul of a different timing constraint further downstream. Myself, I'd wanna try an experiment. It only requires a couple of bodge wires (and a spare gate).
Your clock stretcher doesn't use
actual Ø2 for its decision, and that could prove to be a very significant advantage.
-- Jeff
_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html