An Introduction to Programmable Logic. Basic Logic Design. Combinatorial PLDs. State Machines. Software Development. Advanced Forms of PLDs. General PLD Design Issues. Variations on the Theme. Introduction to Microcontrollers. Hardware Architecture of Microcontrollers. Microcontrollers and Software. Additional Tools of the Trade. A Guide to Choosing Programmable Circuits. Conclusion. Appendix A: An Arcane History of a Few Acronyms. Appendix B: Data Sheets. Appendix C: References and Sources. Glossary. Index.