Moving Data on a Bus
How MUX-selected buses route one data source through a datapath at a time.
Updated 2026-07-21
A shared datapath bus is usually driven by one selected source at a time. A MUX provides that selection: several candidate data values enter the MUX, and its select signal chooses which value reaches the bus.
The distinction matters: the selected value is datapath data, while the select is control. On one operation the bus might carry a register-file read; on another it might carry a computed ALU result. The destination can stay the same while control changes the route.
For beginner RTL, a MUX or a conditional assignment makes the chosen source explicit. That is easier to inspect than treating a shared bus as a mysterious global connection.