Skip to content
VLSI Mentor

USB · Module 31

“USB Is Point-to-Point Only”

One cable, two ends — so the belief is drawn from the thing in your hand. Its prediction is that two devices on one port must contend. A tiered star with a flat address space, and a hub that is a device rather than a multiplexer.

Thirty modules have built USB from a differential pair to a design-review procedure. This one does something different: it attacks six beliefs that survive all of that — beliefs an engineer can hold after learning the terminology, because each one is supported by something they can see.

1. The Belief

"USB is point-to-point. One host, one device, one cable. That is why you need a hub if you want more than one thing plugged in — the hub is a workaround."

2. Why An Intelligent Engineer Believes It

Because the visible evidence supports it completely.

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
    WHAT YOU CAN SEE                       WHAT IT SUGGESTS
    -----------------------------------    -------------------------
    every USB cable has exactly two        a link joins exactly two
    connectors, and they are different     participants, and they have
    shapes                                 different roles

    a device has one upstream connector    a device has one place to
                                           attach, and only one

    the specification and every textbook   the word means what it says
    describe USB links as point-to-point

    plugging two devices into one port     one port, one device
    is physically impossible

Every one of those observations is correct. The belief is not built on ignorance; it is built on true statements about the physical layer, extended one step too far.

3. The Prediction It Makes

This is the technique the whole module uses, and it is stronger than contradiction: take the belief seriously, and work out what would have to be true.

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
    IF USB WERE POINT-TO-POINT AS A TOPOLOGY, THEN:

    1  the number of devices a host can address would equal the number
       of physical connectors on the host

    2  a hub would have to be a MULTIPLEXER -- something that switches
       one of its downstream ports onto the upstream link at a time,
       because only one device can be at the far end of a link

    3  two devices on one hub could not transfer in the same frame,
       because they would be taking turns on the one link the host has

    4  a device behind a hub would need a different kind of address
       from a device plugged in directly, because the host would have
       to say WHICH hub port as well as which device

    5  hubs could not be nested, because a hub is a device and a device
       is an endpoint of the link

All five are testable. None of them is true.

4. The Counterexample

The smallest one that settles it: a laptop with one USB port, a four-port hub, and four devices.

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
    OBSERVED

    o  all four devices enumerate, and the host addresses four devices
       through one connector -- prediction 1 fails

    o  each device gets its OWN address, in the same address space as a
       directly-connected device. The host does not say "port 3 of the
       hub"; it says the device's address -- prediction 4 fails

    o  a mouse and a webcam behind the same hub both get service in the
       same frame -- prediction 3 fails

    o  plugging a second hub into the first works, and devices behind
       BOTH enumerate -- prediction 5 fails

And the most instructive observation, which disposes of prediction 2:

5. The Corrected Model

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
    EACH LINK SEGMENT      point-to-point, exactly two participants,
                           one upstream and one downstream. TRUE.

    THE TOPOLOGY           a TIERED STAR: a root at the host, hubs as
                           interior nodes, functions as leaves.

    BOTH AT ONCE           and there is no contradiction, because they
                           describe different objects. A tree is made
                           of edges; each edge has two ends; the tree
                           has many nodes.

What the belief predicts

A diagram of the incorrect mental model of a USB hub, in which the hub acts as a multiplexer. The host connects by one link to a hub drawn as a selector switch. Below the selector, three devices are drawn, but only one at a time is shown connected through the selector to the upstream link, and the other two are marked as waiting. The host addresses devices by hub port number rather than by device address.Hostone connectorHub as a selectorwhat the beliefrequiresDevice Aconnected, this turnDevice Bwaiting its turnDevice Cwaiting its turnone linkselectedidleidle12
If point-to-point described the topology rather than the link, a hub would have to be a selector: one downstream device connected to the upstream link at a time, the others waiting. Aggregate bandwidth would be one link's worth divided between them, and the host would have to address devices by hub port. None of that is how USB works — and every arrow in this picture is wrong.

What USB actually does

A diagram of the correct USB topology. The host with its root hub connects by a point-to-point link to a first hub. That hub connects by separate point-to-point links to a keyboard, to a second hub, and to a webcam. The second hub connects by further point-to-point links to a flash drive and a printer. Every device, at every tier, has its own device address in one address space, and the host addresses each directly.Host + root hubaddresses 1..127Hub (tier 1)a device, addr 1Keyboardaddr 2Hub (tier 2)a device, addr 3Webcamaddr 4Flash driveaddr 5Printeraddr 612
Read left to right. Every arrow is a point-to-point link segment with exactly two ends — so the specification's word is correct at every edge. The topology those edges form is a tiered star, and the host addresses every leaf directly, by device address, with no reference to which hub or which port. The nesting is not a special case: a hub is a device, and a device can be a hub.

6. Why No New RTL Here

This chapter has no new hardware, and the reason is worth stating rather than leaving as an absence.

The misconception is not about a mechanism. It is about the relationship between two words, and the correction is a distinction rather than a circuit. A block that counted hub tiers, or routed a token down a tree, would compile and simulate and teach nothing that the second diagram above does not teach faster — which is precisely the "decorative RTL" that 30.1 §10 would file as a finding.

What is worth building for this subject already exists: 18.x builds hub port management, and 2.x builds the host-centric model that makes one address space across all tiers possible. This chapter's job is to stop a learner extrapolating from a true statement about links to a false one about topologies.

7. What The Wrong Model Does To Debugging

A wrong mental model does not merely produce wrong answers. It produces wrong questions, and the wasted time is in the questions.

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
    SYMPTOM      a device works plugged in directly and fails behind a hub

    WRONG MODEL  "the hub is multiplexing and my device is losing its
                 turn"
    WRONG QUESTION  how do I get more of the hub's attention?
    WASTED ON       hub settings, port order, unplugging other devices

    CORRECT MODEL  the device is a full participant either way; something
                   about the PATH differs
    RIGHT QUESTIONS
       o  is it a bus-powered hub, and is the device drawing more than
          the hub can supply? (power, not bandwidth)
       o  is the device low- or full-speed behind a high-speed hub, so
          split transactions are involved?
       o  does the hub report an overcurrent or a failed port enable?
       o  does the device enumerate at all behind the hub -- which
          separates "not detected" from "detected and failing"?

Three of those four are answered by reading the hub's port status, which is one request. The wrong model does not suggest asking.

8. Interview Reasoning

The adversarial version of this question is common, and the trap is that the premise is half true.

"USB is point-to-point, correct?"

The answer that gets it right without being combative:

Each link segment is, yes — every cable joins exactly one upstream and one downstream participant, and that is what the specification means by the term. The topology is a tiered star: hubs are interior nodes and can be nested, and every device, at any tier, gets its own address in one flat address space. So "point-to-point" is a true statement about the edges and a false one about the graph.

Then the follow-up that shows you know why it matters:

The consequence for a device controller is that it has no idea where it is. A token carries a seven-bit address and nothing about the path, so the same silicon works plugged in directly or three tiers down. The only place position shows up is speed translation — a low-speed device behind a high-speed hub needs split transactions, and that is the hub's problem rather than the device's.

9. Exercises

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
    1  PREDICTION
       Write three more predictions that follow from the belief, beyond
       the five in section 3. For each, name the observation that would
       falsify it.

    2  THE SMALLEST COUNTEREXAMPLE
       What is the smallest physical arrangement of hardware that
       disproves the belief? Justify why nothing smaller works.

    3  THE OTHER DIRECTION
       Name a protocol where "point-to-point" IS true of the topology,
       and say what that costs it relative to USB.

    4  ADDRESSING
       If a device's address did encode its position in the tree, what
       would have to change in the token format, in the device
       controller, and in what happens when a device is moved to a
       different port?

    5  HUB AS A DEVICE
       A hub is itself a USB device with its own address, descriptors
       and endpoints. What does it use its interrupt endpoint for, and
       why is that the right transfer type for it?

    6  DEBUG
       A device enumerates behind hub A and not behind hub B. List four
       differences between the hubs that could explain it, and the
       cheapest observation that discriminates.

    7  INTERVIEW
       Write the sixty-second answer to "USB is point-to-point,
       correct?" and then the two-minute version for a senior role.

10. What Carries Forward

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
    THE CORRECTION
    o  point-to-point describes a LINK SEGMENT; the topology is a
       tiered star, and both statements are true of different objects
    o  a hub is a repeater with per-port state, NOT a multiplexer --
       devices behind it do not take turns
    o  every device at every tier has its own address in ONE flat
       address space, and the address does not encode position

    THE TECHNIQUE, which the rest of this module reuses
    o  take the belief seriously and derive what must follow from it
    o  find the observation that falsifies one of those predictions
    o  identify the WORD that was doing two jobs

    THE DEBUG CONSEQUENCE
    o  a wrong model produces wrong QUESTIONS, and the cost is in the
       questions: "how do I get more of the hub's attention" has no
       answer, and three of the four right questions are one request

    THE INTERVIEW SKILL
    o  correct a half-true premise by naming which object the word
       describes -- neither accepting it nor contradicting it

The next belief is the one that most changes what an engineer expects to see on a bus, and it survives because a mouse appears to send.

Continue learning

Standards & specifications

Governing standard
USB-IF (Universal Serial Bus Specification)(opens USB Implementers Forum (USB-IF) in a new tab)

Defines the USB bus — its electrical signalling, connectors, packet and transaction model, device framework and the descriptors a device must expose — together with the device-class specifications layered on it. It does not define host-controller register interfaces (xHCI and EHCI are separate documents) nor any operating system's driver architecture.

This page also covers RTL structure, verification approach and debugging technique. Those are engineering practice built on the standard, not requirements the standard itself imposes.

Where this fits

Part of the USB curriculum.