The "six things" are a quite good summary, and they certainly seem to apply. BUT the really critical thing is for the board designer to be able to understand the signals on every element. Design rules are quite handy, and probably they are the only means for automated checking, but they are not really an adequate substitute for understanding every signal and how it woulod interact with the signals that couple to that trace from adjacent traces. So either the designer needs to have a lot of insight and understanding or the individual who designed the circuit must be able to tag each connection with the characteristics of the signal. Of Course that gets to be huge for a complex board, but the effort may be worth the cost if the system functions perfectly on the very first layout. Not just adequately, but perfectly.
You are correct there must be a close relationship between the PCB designer and the designer of the circuit.
In the past I have acheived this in several ways
1) Generating the correct net class constraints which can be applid to the types of nets e.g. power, return, 50 Ohm impedance, 100 Ohm impedance. You can define a number of rules for each type then hhow close they can be to each other etc. You can also define the special analogue and digital types for mixed signal boards to ensure correct seperation.
2) Define differential pairs in the schematic - many tools allow you to put attributes on signas to show they form part of a differential pair.
3) Define signal groups which must have the same electrical length, this is very important for applications like memories, parallel interfaces etc.
4) A formal layout constraints document produced by the schematic designer providing guidance for the PCB layout engineer. This can inlcude things like identification of currents on the power rails, acceptable voltage drops. suggested floor plan of the components and so on. This does not mean the designer and PCB engineer will not need to talk frequently but it does formalise the transfer of information.
5) Define the PCB stack - and check the track widths and spacing are acceptbale with the PCB vendor to produce the board with a acceptable yield.
@Adam: In addition to the six point you have described, I would add another one that has driven me nuts more often I would wish to: design for EMC/EMI.
I still remember a product for which I developed the PCB and that was a real pain in the ass. The thing included a MP3 player and a GPS module -- it was a kind of outdoor audioguide. The On-Chip audio output was implemented by using a sigma-delta modulation, and it took me tons of hours to filter the "carrier" higher frequencies and addapt the delivered current before the audio stream EMI stopped shooting down the GPS system.
A Book For All Reasons Bernard Cole1 Comment Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...