this article will be updated on&off
- Code Complete by Steve McConnell
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (GOF)
- Thinking in C++: Introduction to Standard C++ by Bruce Eckel (available for free download)
- Dive into Python by Mark Pilgrim (available for free download)
SystemVerilog & Verification
- SYSTEMVERILOG FOR VERIFICATION A Guide to Learning the Testbench Language Features by Chris Spear. The book is an excellent introduction into SV language features for verification: multithreading support, coverage & randomization features are explained with rich examples and detailed comments.
- AVM Cookbook by Mark Glasser, Adam Rose, Tom Fitzpatrick, Dave Rich, Harry Foster. Advanced Verification Methodology (AVM) is predecessor for OVM (which is in turn 'father' of UVM). AVM was developed by Mentor. Actually I wasn't able to find the book from Mentor site, probably a direct e-mail request should do the trick. The book was available for free download, a registration was required though. I truely recommend the book for beginners. It has many conceptual features for verification explained (OOP, TLM,monitors, TLM->RTL refinement, randomization). To compare, UVM cookbook doesn't explain TLM at all, it shows off examples HOW to use TLM classes, but not WHY they should be used (as of uvm1.1 uvm cookbook looks like a bunch of notes piled by different people). UPDATE: as this post points avm cookbook probably can be downloaded here after registration.