reference design

Modeling and synthesizing large ratio rate adapters

Design source examples

Filter for 192 taps for a nicer impulse response and convenience in tap coefficient selection

Sometimes engineers are called upon to design sample rate adapters with ratios that do not fit convenient integer rates of decimation or interpolation.

Decimating or interpolating by ratios of less than two can lead to large ratios of required interpolation and decimation that would be inefficient if implemented as cascaded filters. This document examines an algorithmic solution for minimal hardware and efficient implementation of such large ratio rate adapters.

What you get

The zipped folder contains a design source code example with a simple testbench and an Application Note detailing the design of a 37/50 rate adaptor that can be applied to any large ratio rate conversion.

  • downconverter.cpp - The core implementation in C++
  • downconverter.h - A header file for the implementation
  • linear.cpp - A C++ implementation of linear interpolation with no filtering
  • script.tcl - A script for Catapult® HLS
  • tb_downconverter.cpp - A testbench for the implementation (for C++ testing and reuse with the RTL)
  • Application Note - Modeling and Synthesizing Large Ratio Rate Adapters

Share

Related resources

Catapult High-Level Synthesis & Verification
Learning Center Library

Catapult High-Level Synthesis & Verification

The Catapult High-Level Synthesis (HLS) library contains a set of modules to introduce Engineers to HLS and High-Level Verification.

Closing Functional and Structural Coverage on RTL Generated by High-Level Synthesis
White Paper

Closing Functional and Structural Coverage on RTL Generated by High-Level Synthesis

This paper describes innovative techniques to use with existing methodologies, for example the Universal Verification Methodology (UVM), to close functional and structural coverage on HLS generated code.