DIGITAL DESIGN PRINCIPLES AND PRACTICES, Third Edition, 2nd printing by John F. Wakerly Errata as of 2/2/2004 ------------------------------------------------------------------------------- THINGS THAT ARE WRONG OR MAY BE CONFUSING Page Location Description ------------------------------------------------------------------------------- 071 line -4 (4 10) --> (10 4) 076 Ex. 2.20 "n" should be a superscript (three places) 099 Fig. 3-24 Middle box in C_L column should contain "50 pF". 116 V_out eqn display, line 2 Division sign is missing from exponent. 117 V_out eqn display, line 2 Division sign is missing from exponent. 142 lines -8, -10 (two places) "must be less than" --> "must not exceed" 163 line 2 "10 * 4 * 10^-3" --> "10 * 0.4 * 10^-3" 177 line 13 ">" --> "<" 186 Ex. 3.23, ln 3 Add "You may not exceed I_OLmax or I_OHmax in any state." 189 Ex. 3.70 Delete the last sentence of this exercise. 196 box, line 1 The first "X" should have an overbar. 262 bottom Vector list should be numbered 1, 2, 3, 4-6, 7. 275 line 12 "R(0,0), R(0)" --> "R(1,0), R(1)" 275 line -9 --> "easiest way to write a literal of a STD_LOGIC array type is ..." 276 line 3 "R(0,7 downto 0)" --> "R(1,7 downto 0)" 285 Tbl. 4-47, line -4 "WID" --> "WIDTH" 289 Tbl. 4-54 For this to compile, the definition of CONV_INTEGER from Tbl. 4-38 must be inserted before "begin". 289 line -5 "signals" --> "variables" 292 Tbl. 4-58 Same error as in Tbl. 4-54 on p. 289. 293 Tbl. 4-60 Same error as in Tbl. 4-54 on p. 289. 294 Tbl. 4-63 Same error as in Tbl. 4-54 on p. 289. 294 Tbl. 4-63 "if NI mod i = 0 then" --> "if NI=i then exit; elsif NI mod i = 0 then" 323 line 9 "REQUEST'" --> "REQUEST_L'" 329 Fig. 5-18 Bubbles are missing from outputs of 74x266 XNOR gates. 347 Fig. 5-29 Inverted/non-inverted outputs on I1-I4 buffers should be swapped (bubble on top instead of bottom of each), and the text enhanced to say what's going on. 369 Tbl. 5-16, line 8 Should be "Y_L <= not Y;" 369 Tbl. 5-16, line -2 Delete "not" 369 line 3 "V74x138_a" --> "V74x138_b" 369 box, line -3 "Y_L <= Y" --> "Y_L <= not Y" 376 Fig. 5-46(a) "I2^(n-1)" --> "I((2^n)-1)" 396 lines 9-10 Change to read "The IEEE STD_LOGIC type is actually defined as a _resolved type_ which is a subtype of an _unresolved type_, STD_ULOGIC. In VHDL, a resolved type is used for any" and fix margin notes and index. 396 lines 11-12 "an unresolved type" --> "a resolved type" 396 para. 5 "STD_ULOGIC" --> "STD_LOGIC" para. 6 "STD_ULOGIC_VECTOR" --> "STD_LOGIC_VECTOR" 396 para. 6 Delete second sentence. 397 Tbl. 5-33 Remove calls to "To_StdULogicVector" function (4 places). 397 Tbl. 5-33, line 8 "STD_ULOGIC_VECTOR" --> "STD_LOGIC_VECTOR" 476 line 10 "most-significant" --> "most-significant bytes" 485 line -2 "R0==2" --> "R1==1" 486 line 1 "A!=0" --> "A!=1" 493 Fig. 6-11 Cell numbering should be X11,Y11, X12,Y12, X13,Y13 X21,Y21, X22,Y22, X23,Y23 X31,Y31, X32,Y32, X33,Y33 517 Tbl. 6-33, lines 6,11 "(4 downto 0)" --> "(5 downto 0)" 517 Tbl. 6-33, line 13 "00000" --> "000000" 517 Tbl. 6-33, line 15 "00001" --> "000001" 521 Fig. 6-16 Cell numbering should be (1)(1), (1)(2), (1)(3) (2)(1), (2)(2), (2)(3) (3)(1), (3)(2), (3)(3) 592 line -3 Q0' is missing in first product term. 612 Tbl. 7-82 In row S1, col 11, "10" --> "01" 667 line -12 "logic-1" --> "logic-0" 676 lines 10-11 "0x00100000, 0x00200000" --> "0x01000000, 0x02000000" 702 Fig. 8-40 Instead of clearing the counter, RESET_L should be OR'ed with RELOAD_L to give the counter a valid starting state. 723 line -1 "Section 8.57" --> "Exercise 8.57" 736 Tbl. 8-25, lines 10-11 Swap comments "Shift" and "Hold" 741 line 5 "Pi_L" --> "Ri_L" 770 equations The equations use parameters from the 2nd-ed. Table 8-35, which are slightly different. See corrected page, p768.pdf. Qualitatively, the results are about the same. 786 Ex. 8.1, line 3 "RAMBANK0" --> "RAMBANK1" 790 Ex. 8.54+55 This should be numbered as a single exercise. 790 Ex. 8.57 "Exercise 8-57" --> "Figure 8-57" 824 Tbl. 9-21 second through fourth "elsif" G1 --> G2, G3, G4, respectively 861 Fig. 10-25 Signal line from WE_L to bottom gate is partially missing. 900 line 3 "t_pHL" --> "t_pLH" ------------------------------------------------------------------------------- HARMLESS STUFF Page Location Description ------------------------------------------------------------------------------- xx line -14 "support" --> "supports" 010 line -13 "in combination" --> "in a combination" 010 line -12 "PERL" --> "Perl" 011 line 3 "PERL" --> "Perl" 019 line -4 "at higher level" --> "at a higher level" 034 Sec. 2.5.1, line 2 "magnitude" --> "number" 055 line 13 Missing closing quote on "device-select". 056 line -2 Binomial coefficient should be (10 5) not (5 10). 057 Fig. 2-9(b) Blue lines 0000-0100 and 1000-1100 should be dotted. 065 line 8 "distance-4" should be called "extended" Hamming codes 095 line 5 margin "AOI" --> "OAI" 098 Tbl. 3-3 Last column, empty cell should have unit "V". 115 line -11 Missing period at end of last sentence of bullet item. 123 line 5 "Figure 3-44(a)" --> "Figure 3-44" 151 Fig. 3-67(b) Redraw with I_b flowing out of the base and I_e = I_c+I_b. 154 line 9 "Table 3-1" --> "Figure 1-2" 163 line -1 "K-ohm" --> "k-ohm" 169 Tbl. 3-12, col. 1 "I_IOS" --> "I_OS" 170 line -7 "VHCT." --> "VHCT," 186 Ex. 3.23(c) "K-ohm" --> "k-ohm" 186 Ex. 3.32(c,d) "K-ohm" --> "k-ohm" 188 Ex. 3.55(c,g) "K-ohm" --> "k-ohm" 191 Ex. 3.97 "Repeat Exercise 3.97" --> "Repeat Exercise 3.96" 218 lines -2, -1 Italicize "AND-OR" and "NAND-NAND". 219 line 8 Italicize "OR-AND" and "NOR-NOR". 221 lines 4,6 Missing some "multiplication" (AND) dots. 224 line 7 X' should use prime symbol, not single quote. 251 Tbl. 4-11 caption "Figure 4-11" --> "Figure 4-19" 251 Tbl. 4-11 Constant ".X." is defined but not used. OK with wording change on p. 262. 260 line -11 Italicize "?=" in text line. 262 line -13 "we've assumed that the identifier X has been equated" --> "we've used the identifier X which was equated" 276 line 10 Italicize "std_logic_vector". 277 line 12 Italicize "return". 283 line -3 Marginal note for "generate statement" is missing. 287 line -10 "a individual" --> "an individual" 290 line -4 Do not italicize ":=" in text line. 290 Tbl. 4-56, line 1 "prime6" --> "prime" 303 Ex. 4.22(a) " W'Y' " --> " W' * Y' " 316 line -5 "uncomplemented inputs" --> "uncomplemented outputs" 321 Fig. 5-9, caption line 3 "outputs" --> "output" 337 line 16 "the designer" --> "to the designer" 352 line 6 "1,I0" --> "I1,I0" 353 Tbl. 5-5, row 8 "Y4" font is wrong color and size. 354 box, line 2 Insert "TTL" at beginning of line. 354 box, line 4 Missing comma after "74FCT139" 357 line 4 "G1, /G2A, /G2B" --> "G1, G2A_L, G2B_L" 367 Tbl. 5-13 Eqns MARY and KATE need parens around OR sub-expressions 369 box, line 2 "even" --> "even though" 375 Tbl. 5-22, line 12 Missing semicolon at end of line. 396 line 16 "and the resolution function" is wrong font 407 line 5 "expression" --> "express" 417 line 13 "XOR gate ro" --> "XOR gate to" 424 Fig. 5-82 "XD[011]" --> "XD[11:0]"; "YD[011]" --> "YD[11:0]" 440 line 10 "A minus B minus plus CIN" --> "A minus B minus 1 plus CIN" 453 line -10 Missing period at end of last sentence of paragraph. 457 Ex. 5.15 "Which would" --> "which would you" 457 Ex. 5.19(e,f) Subscript font size for G minterms is wrong. 461 Ex. 5.53 "typing" --> "tying" 464 Ex. 5.70 "camparator" --> "comparator" 468 line, Sec. 6.1.1, line 9 "ABCDEFGHGIHKLMNOP" --> "ABCDEFGHIJKLMNOP" 468 line, Sec. 6.1.1, line 11 "FGHGIHKLMNOPABCDE" --> "FGHIJKLMNOPABCDE" 474 line -5 Delete second "is". 485 line -3 "know" --> "take" 489 Fig. 6-9 Missing size specification in X and Y bus labels. 511 Tbl. 6-25, line 7 "null;" is not needed and may be deleted 518 line 5 Delete "include". 528 Ex. 6.21 "ADDER5" --> "ADDER4" 536 line -6 Italicize "Minimum-pulse-width" 538 line 3 "S-R" should be italicized. 541 line 1 Hyphenate "setup- and hold-time window". 541 line -7 "D" should be italicized. 551 Sec. 7.3.2 Mealy/Moore machines/outputs should have margin notes. 571 line 2 Delete second "of". 573 line 14 "This" --> "The" 577 line -9 "J-K" should be italicized. 592 line -5 Q2' should use prime symbol, not apostrophe. 593 line -8 Q2*' should use prime symbol, not apostrophe. 627 Sec. 7.10.7 Add margin notes in the style of p. 563. 628 line 10 Do not italicize suffixes .CLK and .OE. 630 Tbl. 7-24 Delete semicolon after "TrueState". 644 Tbl. 7-39 Use single quotes around constants 0 and 1 (three places). 663 line 8 Italicize "Timing margins". 669 line 2 The debouncer is considered to be the first two inverters. 706 Tbl. 8-13 title "MInimized" --> "Minimized" 719 line 6 "_defining" --> "defining" 726 line 4 "Section 7.4.3: If" --> "Section 7.4.3: if" 728 Fig. 8-65 caption "8-bit" --> "4-bit" 740 line 3 "Ri" --> "Ri_L" 741 line -3 "the a" --> "a" 753 line 9 Missing period at end of last sentence of paragraph. 783 line 11 "disadvantage" --> "disadvantage is" 785 line -17 "didn't improved" --> "didn't improve" 789 Ex. 8.44 "desigbn" --> "design" 806 Tbl. 9-7, line 3 Remove the double-quote at the beginning of the line. 811 Tbl. 9-10, line 3 Remove the double-quote at the beginning of the line. 812 Tbl. 9-11, line 3 Remove the double-quote at the beginning of the line. 814 Tbl. 9-12 First black line should not extend over Z column. 819 Tbl. 9-17 line -6 Second "('0',X)" --> "('0',Y)" 829 line 6 "EQDELAY" --> "EWDELAY" 846 line -5 margin The margin text for t_ACS and access time is overprinted. 858 line 3 The "t" in "t_AA" should be blue, not black. 859 line 3 The "t" in "t_AS" should be blue, not black. 859 line 6 "t_ACS" --> "t_AH" 859 line 15 "Data hold time after end of write" should be italic. 861 line 14 margin The margin text for HM628128 and HM628512 is overprinted. 861 line 15 Missing period at end of sentence. 861 line -7 "Section 10-33" --> "Section 10.4" 864 line -4 Delete "use" 868 line -2 "trick" --> "tricky" 882 line 11 "XC3003E" --> "XC4003E" 883 Tbl. 10-9 Row 7, column 5, "1.536" --> "1,536" 884 line -9 "CLBs" --> "CLB's" 888 line -2 "Doubles" --> "Double" 888 line -7 "Singles" --> "Single" 891 line 5 " Device's " --> " Devices' " 893 Ex. 10.23, line 3 "should selected" --> "should be selected" 908 line -1 "n" --> "N" 917 line 5 "2 V" --> "2.5 V" 937 index entry "PERL" --> "Perl" 945 VHDL, subtype Remove color from 396 -------------------------------------------------------------------------------