Visible to Intel only — GUID: jbr1446659725070
Ixiasoft
Visible to Intel only — GUID: jbr1446659725070
Ixiasoft
4.1. Median Filter Design Example
You can find the supporting design example project and design files for this walk-through at https://www.intel.com/content/dam/www/programmable/us/en/others/literature/tt/median_filter_17_1.zip. You can download and unzip the verified project, constraint, design, RTL from the median.zip to complete this walkthrough.

Median Filter Design Example Files
After download and extraction, the Median filter design example .zip file contains the following directories under the Median_filter_design_example_<version> directory:
File Name | Description |
---|---|
Base | Contains the original version of the design and project files. |
Final | Contains the final version of the design and project files with all RTL optimizations in place. |
fpga-median.ORIGINAL | Contains the original OpenSource version of the Median filter and the associated research paper. |
Step_1 | Incremental RTL design changes and project files for Fast Forward optimization step 1. |
Step_2 | Incremental RTL design changes and project files for Fast Forward optimization step 2. |
This walk-through covers the following steps:
- Step 1: Compile the Base Design
Follow these steps to compile the base design of the median project: - Step 2: Add Pipeline Stages and Remove Asynchronous Resets
This first optimization step adds five levels of pipeline registers in the design locations that Fast Forward suggests, and removes the asynchronous resets present in a design module. Adding additional pipeline stages at the interconnect between the ALMs eliminates some of the long routing delays. This optimization step increases fMAX performance to the level that Fast Forward estimates. - Step 3: Add More Pipeline Stages and Remove All Asynchronous Resets
The Fast Forward Timing Closure Recommendations suggest further changes that you can make to enable additional optimization during retiming. The Optimizations Analyzed tab reports the specific registers in the analysis for you to modify. The report indicates that state_machine.v still contains asynchronous resets that limit optimization. Follow these steps to remove remaining asynchronous resets in state_machine.v, and add more pipeline stages: - Step 4: Optimize Short Path and Long Path Conditions
After removing asynchronous registers and adding pipeline stages, the Fast Forward Details report suggests that short path and long path conditions limit further optimization. In this example, the longest path limits the fMAX for this specific clock domain. To increase the performance, follow these steps to reduce the length of the longest path for this clock domain.