2.10 Hardware Abstractions: Logic Gates