Page 9. The following sentence is incorrect: "Note that in a NAND
gate all the PMOS transistors must have a logic 0 at their gates for
the output to go high." This is correct: "Note that in a NAND gate one
or more PMOS transistors must have a logic 0 at their gates for the
output to go high."
Page 100. The process at the foot of the page has a sensitivity list
and a wait statement. This is incorrect. The sensitivity list should be
removed. Also, the wait statement is missing a semicolon. Both these
errors are corrected in the downloadable examples.
At the time the book was published, there were no VHDL 2002
compliant compilers available. Therefore it was not possible to fully
check the VHDL 2002 code that uses protected types on pages 292-3 and
333-336. ModelSim 6.0 was released in August 2004 and includes VHDL
2002 support. I have now checked these examples using that compiler
and, inevitably, have found some errors.
Page 292. The package declaration should include the function
declaration for negexp - see page 337. Note also that on pages 293 and
338 the function body for negexp should also be declared as impure.
The function rand is declared twice: in the package header and in the
protected type declaration. This second declaration is incorrect and
should be removed.
The procedure set_seed should, however, be declared in the protected
Page 293. The closing line of the protected body definition should read:
end protected body pseed;
Page 335. Line 6. There should be a comma following the second FALSE,
These mistakes are corrected in the downloadable examples.>
Corrections to the 1st edition (1st and 2nd UK printings) are
Corrections to the Chinese translation of the 2nd edition are here.