There are three basic choices:
Whether the the SIO port is implemented onchip or offchip, it must be mapped into the target CPU's address space and connected to one of the processor's interrupt request inputs. The base address may be chosen to suit individual system requirements.
If there are not enough unused interrupt request inputs to devote one solely to the SIO, it is possible to implement a software sharing scheme that would permit the application and the SerialICE Kernel to use the same interrupt request input.
The silicon area needed for such a simple function is very small (well below 1mm2), and, since the interface is serial, the pin count overhead is also very low.
The reference onchip SIO design can support raw baud rates up to 1.25Mbit/sec; allowing for communications overhead, the maximum data transfer rate during program downloads is around 50K Bytes/sec. This makes it possible to work with large download files.
For such an onchip implementation, it will usually be most convenient to derive the clock rate for the SIO from the CPU clock, through a frequency divider. For systems in which the clock rate must be flexible, it may be supplied from an offchip source; however, this requires an additional package I/O pin.
The fast serial connection between the SerialICE Manager and the debug target must provide good signal integrity. In general, long cable runs should be avoided, since transmission line effects may severely affect the operation of the link at high clock rates.
| Polarizing Pin | VCC |
| Ground | Serial Input (to target) |
| Ground | Serial Output (from target) |
| Ground | Serial Clock (to target) |
In this way, standard production units carry only the minimal overhead of a small connector, yet can be used as development platforms at any time simply by plugging in the SIO card. In extremely cost sensitive applications, the debug connector position can simply be left open - reducing the overhead to a small amount of board area.