The complexity of user designs, the limited capacity of FPGA chips, and
the limited number of chip pinouts have resulted in the development of
inter-chip communication technology that necessitates the transfer of a
large amount of data across a limited number of pins in the shortest
amount of time. The inter-chip communication system transfers signals
across FPGA chip boundaries only when these signals change values. Thus,
no cycles are wasted and every event signal has a fair chance of
achieving communication across chip boundaries. The inter-chip
communication system includes a series of event detectors that detect
changes in signal values and packet schedulers which can then schedule
the transfer of these changed signal values to another designated chip.
Working with a plurality of signal groups that represents signals at the
separated connections, the event detector detects events (or changes in
signal values). When an event has been detected, the event detector
alerts the packet scheduler. The packet scheduler employs a token ring
scheme as follows. When the packet scheduler receives a token and detects
an event, the packet scheduler "grabs" the token and schedules the
transmission of this packet in the next packet cycle. If, however, the
packet scheduler receives the token but does not detect an event, it will
pass the token to the next packet scheduler. At the end of each packet
cycle, the packet scheduler that grabbed the token will pass the token to
the next logic associated with another packet.