This document discusses different design styles for integrated circuits including full-custom, standard cell, gate array, and FPGA. It compares the characteristics of each style such as cell size and placement, fabrication layers used, area, performance, design cost, and time-to-market. The document also discusses FPGA architecture, logic modules, switchboxes, segmentation models, and the physical design process of partitioning, placement, and routing for FPGAs. Multi-chip module and system-in-package designs are introduced along with the challenges of physical design automation for those domains.