Asynchronous Version
module
Sender(right)
output
reg
right;
output
reg
data;
always
begin
right = data;
`SYNC(
right);
end
endmodule
module
Receiver(left)
input
left;
output
reg
data;
always
begin
`SYNC(
left);
data= left;
end
endmodule
}
Distributed
Synchronization
}
Sender
}
Provide data
}
Synchronize
}
Receiver
}
Synchronize
}
Sample data
}
}
}
Sender
Receiver
6
CE-653 - Handshake Channel Design