The Flow Control Manager block in VisualSim manages data flow between Master/Slave and buses or NoC and the initiator/Slave or network systems between Ingress and Egress, and a host of other applications, ensuring reliable and congestion-free communication. It prevents transaction loss, manages queuing, and regulates acknowledgments between masters (initiators) and slaves (targets).
Historically, flow control techniques have been central to computer and communication systems, from IBM’s mainframe I/O channels in the 1960s to modern SoC interconnects like AMBA AXI and PCIe. As systems grew more complex, flow control became essential to avoid data overrun, starvation, and deadlock.
In industry, ARM (AMBA AXI), Intel (PCIe), and Arteris (FlexNoC) have been major contributors to defining flow control architectures. The biggest consumers are semiconductor and system companies (Qualcomm, Samsung, NVIDIA, Broadcom, NXP), who integrate flow control to ensure predictable performance in SoCs, networking, and memory hierarchies.
The Flow Control Manager in VisualSim allows engineers to explore different queuing strategies, handshakes, and timing parameters, making it ideal for memory-bound systems, traffic generators, and interconnect-heavy SoCs.