Comments are welcome
Good tips, the content is decent and covers a lot of good ground for best practices.
Clock Domains B. never clock logic using other logic...
this is a good point, new guys often try to divide a clock and use it to clock a series of other modules, so this is good to advise against here.
However, you should tell why this bad, not just advise against it. (i.e. mention that clocks nets are special, have high fanouts, are routed special so as to reduce skewing, and keep all the logic synchronous, etc; regular logic is often routed as best is available across the fabric and may take long and different routes to reach a destination's clock input on a module, they will be out of sync, timing will be off, etc. Mention that a clock should be divided down using available clock resources, or if logic is used, the output should be fed back into a clock buffer so that it gets onto a clock distribution net for use by other modules.
Also, the font was awful on my Linux Mint 14 system. Your PDF is the first PDF I have ever come across that had troubles rendering fonts.
The font just looks blurry and unreadable at a normal zoom (100%). I don't have this problem with any other PDF, which I can read fine on my monitor. With your document, I had to zoom it to monster size before it became cleanly rendered, although it was "readable" at smaller zoom settings (above 100%). Maybe you want to see how you are creating the PDF or what fonts you are using?
see below for screencap that I see from the PDF viewer. This is zoomed to 125% using the viewer's zoom settings then I screen capped it off my screen. That's how I see it.

Maybe you need to include the fonts you use in the PDF outfput settings, and my reader substituted a local font here..