This document provides a summary of a lecture on building blocks for combinational logic, including timing diagrams, multiplexers, and demultiplexers. Timing diagrams are used to describe the functionality of logic circuits over time as a series of waveforms. Multiplexers are used to select one of several input signals to pass to the output based on selection bits. Demultiplexers are the inverse, distributing an input signal to one of several outputs based on the selection bits. Transmission gates can be used to implement multiplexers with enable inputs to disable the output.