https://www.google.com/books/edition/Digital_Design_and_Comp...
This book definitely skews pragmatic, hands on and doesn't assume much. Covers both VHDL and Verilog. Has sections on branch prediction, register renaming, etc.