GARTHWILSON wrote:
As for terminations, the terminating resistance needs to approximately match the transmission-line impedance to accomplish the purpose. The transmission-line impedance (Zo) depends on the trace width, the separation between it and the ground plane (you have to tell the board house exactly how you want the layers spaced, since otherwise they'll do it however is convenient for them), and the dielectric coefficient between (which is 4.1 for FR4 PCB material).
The tricky part here of course is that hobby level board manufacturer generally won't have that level of control, since your project is sharing panels with other folks. So unfortunately I think it's going to be some trial and error. With that in mind I think my best best is to try to minimize those trace lengths, in particular keeping the trace delay under the rise time of mysignals. Quoting you from 2012:
GARTHWILSON wrote:
The trace delay time is approximately the trace length (including going through well behaved connectors) divided by the speed of light, divided by approximately .65 since the phase propagation velocity of a transmission line in the FR-4 PCB material is approximately .65 times the speed of light. I don't remember the exact number, but I know that's close. So if a trace were 20cm long, you would have
.2m / 300Mm/s / .65 = 1ns (approximately)
In my NSC data book for 74ABT, it looks like the rise (and fall) time is typically 2ns, but the minimum prop delay (which includes the rise time) is sometimes only 0.8ns, meaning you would be terminating lines down to about 15cm total length. But! Remember he said many take the more conservative approach of terminating if it's more than 1/4 or even 1/6 of that length, meaning that yes, they would terminate 20cm even with LS or HC, and terminate a line as little as 3cm long if it's fed with ABT.
Assuming I used ABT buffers here, and that I go with the most liberal termination guidelines, it sounds like if I keep my expansion bus lengths under 15cm or so I will have decent luck, even without termination. I should be able to fit 2-3 slots in well under that, leaving a bit of wiggle room for trace lengths on actual cards, which I will keep to an absolute minimum as well. If things are flakey I can swap down to parts with slower rise times and just limit my board's maximum speed. As i said in my opening post, I'm willing to make that sacrifice if the result is a working board against which I can develop my video controller
GARTHWILSON wrote:
I'm all for making goals to carry out your ambitions; I only encourage you to consider everything, to maximize the chance of success.
I understand, and I most appreciate the help! I currently feel like I'm stuck between a rock and a hard place. I can't do complete development on my video solution without a CPU to try talking to it, so I need
something to use as a development platform. My previous attempt did this by building the whole thing out on a breadboard, but it's so unreliable I'd rather not go down that road again...plus the ULX3S is not at all breadboard friendly due to it's 2x40 expansion headers.