Skid Buffer

Isn't as easy as it sounds

Networks-on-Chip (NoC) and elastic pipelines have as a fundamental building block, a handshaking mechanism where each end of a link can signal if they have data to send ("valid"), or if they are able to receive data ("ready"). When both ends agree (valid and ready both high), a data transfer occurs on that clock cycle.

While working on one such protocol in a NoC, the Physical Design team complains of timing pressure on the "ready" signal between the requester (ingress port) and the completer (egress port)...

Interface Definition

i_valid_i : Input valid from the ingress port
i_data_i  : Data from the ingress port
i_ready_o : Registered ready output to the ingress port

e_ready_i : Egress port ready input
e_valid_o : Valid output to the egress port
e_data_o  : Data to the egress port

Loading the interactive workspace...