RTL kernels should be designed with recommendations from the UltraFast Design Methodology Guide for FPGAs and SoCs (UG949). In addition to adhering to the interface and packaging requirements, the kernels should be designed with the following performance goals in mind: