Like algorithms to the software engineers, same is protocols to the hardware/VLSI engineer. The way software engineer implements algorithms using C/C++, VLSI engineers uses Verilog/SV/UVM to implement various components based on standard protocols. Standard protocol as the name suggest is set of rules on how communication happens between a master & slave or set of components. These can be majorly be divided in to 2 categories: 1. On-chip communication protocols 2. Peripheral communication protocols. Even though there are huge number of protocols, majority of them are driven by lot of common concepts which includes handshaking, request-data-response phases, response types, etc in case of on-chip protocols. Peripheral communication protocols also have lot of common concepts like OSI layering, packet framing, link management, flow control management, PHY, clock extraction, serial-parallel data conversion, preamble, CRC, etc. Hence learning one good protocol each in ON-chip and peripheral communication protocols makes it easy to learn any other protocol.
- On-chip protocols: AXI, AHB, ASB, APB, OCP
- Peripheral protocols: PCIe, USB, SATA, UFS