I want a couple good books that cover the subject of logic design, making computer circuits. There seems to be a lot of expensive books on logic design but it is unclear which ones are good.
This one is quite good: Computer Organization Design: The Hardware/Software interface and it's aimed to build up a full working CPU starting from a simple one (without many characteristics, like an old CPU as Z80) adding the various things needed during chapters.
It uses the MIPS as the reference architecture, but concepts should be quite adaptable also to CISC architectures (I mean, they are different but they basically do the same work).
This is more how you build a d-latch or how an alu is structured than how to layout components on a PCB..
This might be more advanced than what you're looking for, but here a brief video review of several recommended books on learning FPGA design.
IMO, Bebop to the Boolean Boogie is quite good -- as you might guess from the name, its tone is much lighter and more readable than most. Nonetheless, it covers the subject quite well. Though it's specific to Verilog, Thomas and Moorby's The Verilog Hardware Description Language is a classic. It's much more 'business-like' than BBB, but still written very clearly. Being devoted to a specific language isn't all that much of a shortcoming either, given Verilog's market share -- unless, of course, you're one of the (admittedly sizable) minority who will be using VHDL or something else.
For starters, the one I recommend is Fundamentals of Logic Design by Dr. Charles Roth. It's what we use as the curriculum here at the University of Texas in a self-paced course.
Table of contents:
- Introduction, Number Systems and Conversion
- Boolean Algebra (2 chapters)
- Algebraic Simplification
- Word Problems, Minterm and Maxterm Expansions
- Karnaugh Maps
- Quine-McCluskey Method
- Multi-level Gate Networks, NAND and NOR Gates
- Multiple-Output Networks, Multiplexers, Decoders, Read-Only Memories, and Programmable Logic Arrays
- Combinatorial Network Design
- Review of Combinational Networks
- Flip-Flops
- Counters and Similar Sequential Networks
- Analysis of Clocked Sequential Networks
- Derivation of State Tables
- Reduction of State tables, State Assignment
- Sequential Network Design
- Iterative Networks
- MSI Integrated Circuits in Sequential Network Design
- Networks for Addition and Subtraction
- Networks for Arithmetic Operations
- State Machine Design with SM Charts
- Analysis of Asynchronous Sequential Networks
- Derivation and Reduction of Primitive Flow Tables
- State Assignment and Realization of Flow Tables
- Hazards
- Asynchronous Sequential Network Design
- Review of Synchronous Sequential Network Design
Once you get through this, all you'll need to learn is Verilog and get some FPGA design tools. ^_^
Digital Design and Computer Organization by Harris and Harris is a good book, one of the better I've looked at.
It has example VHDL & Verilog code for a CPU and RAM, as well as good explanations.
Mind you, this is a lower-division book - it's not a upper division or graduate or practitioner's book.
If you've never done this before, you may want to start by going through The Elements of Computing Systems. It's extremely approachable without talking down to the reader.