User logic within a PLD is debugged by way of the hub. The PLD includes a serial
interface (such as a JTAG port) that communicates with a host computer. Any number
of client modules are within the PLD and provide instrumentation for the PLD. A
module is a logic analyzer, fault injector, system debugger, etc. Each client module
has connections with the user logic that allows the instrumentation to work with
the user logic. The hub communicates with each client module over a hub/node signal
interface and communicates with the serial interface over a user signal interface.
The hub routes instructions and data from the host computer to a client module
(and vice-versa) via the serial interface and uses a selection identifier to uniquely
identify a module. The hub functions as a multiplexor, allowing any number of client
modules to communicate externally though the serial interface as if each node were
the only node interacting with user logic.