When laying out circuit board traces, what impedances do I need to consider?
(I should say at the outset that I have some experience with boards in the 100 MHz range, but I'm far from an expert.)

The canonical reference is High-Speed Digital Design by Johnson and Graham. Johnson also wrote a more advanced sequel, High-Speed Signal Propagation, in 2003.

You can lay out any board with gEDA and company, but it can become arbitrarily difficult to the extent that I would seek a better tool if you can get it. Matching the lengths of many traces by hand gets tedious quickly.

As for what you actually need to do with traces, here are the things I watch out for:


The length of traces starts mattering once your traces are longer than 1/6 of the rising edge of a digital signal. For a rise time of 1 ns on a typical PCB, the rising edge spans around 6 inches, so you want your traces to be less than 1 inch in length.
You want to match the termination of your traces to their characteristic impedance to prevent reflected signals. In practice, this means either putting a resistor to ground right before the trace reaches its destination or putting a resistor in series at the start of the trace. I've found the diagrams in chapter 12 of Analog Electronics by Crecraft and Gergely to be worth staring at for extended durations: http://books.google.com/books?id=lS7qN6iHyBYC&amp;lpg=PP1&amp;ots=cg6ZMM2GI1&amp;dq=analog%20electronics%20crecraft&amp;pg=PA296#v=snippet&amp;q=propagation%20of%20a%20pulse&amp;f=false Manufacturer's datasheets will sometimes have recommended termination schemes.
As your signal speed increases, you have to start worrying about voltages induced in neighboring traces due to mutual inductance and rapidly changing currents (V = L * di/dt). People call this "crosstalk." This means that you need to spaces traces away from each other, use a ground plane under all your traces, and/or put ground traces ("guard traces") between the traces you're trying to isolate.


That's all that I actually worry about in practice.