仅对英特尔可见 — GUID: jbr1446659725070
Ixiasoft
2.4.2.1. 高速时钟域(High-Speed Clock Domains)
2.4.2.2. 重构环路(Restructuring Loops)
2.4.2.3. 控制信号反压(Control Signal Backpressure)
2.4.2.4. 使用FIFO状态信号的流程控制
2.4.2.5. 包含skid缓冲器的流程控制
2.4.2.6. Read-Modify-Write存储器
2.4.2.7. 计数器和累加器
2.4.2.8. 状态机
2.4.2.9. 储存器
2.4.2.10. DSP模块
2.4.2.11. 一般逻辑
2.4.2.12. 求模与除法
2.4.2.13. 复位
2.4.2.14. 硬件重用
2.4.2.15. 算法要求
2.4.2.16. FIFO
2.4.2.17. 三元加法器(Ternary Adders)
5.2.1. 不足的寄存器(insufficient Registers)
5.2.2. 短路径/长路径(short path/long path)
5.2.3. 快进限制(Fast Forward Limit)
5.2.4. 环路(loop)
5.2.5. 每个时钟域一个关键链
5.2.6. 相关时钟组中的关键链
5.2.7. 复杂的关键链
5.2.8. 延伸到可定位的节点
5.2.9. 域边界入口和域边界出口(Domain Boundary Entry and Domain Boundary Exit)
5.2.10. 包括双时钟存储器的关键链
5.2.11. 关键链比特和总线
5.2.12. 延迟线
仅对英特尔可见 — GUID: jbr1446659725070
Ixiasoft
4.1. 中值滤波器设计实例
中值滤波器是一个非线性滤波器,用于去除图像中的脉冲噪声。这些滤波器要求最高的性能。设计要求是在工厂车间进行实时图像处理。
您可以在 https://www.intel.com/content/dam/www/programmable/us/en/others/literature/tt/median_filter_17_1.zip上找到此演练支持的设计实例工程和设计文件。您可以下载median.zip,解压缩已验证的工程,约束,设计,RTL来完成此演练。
图 97. 使用中值滤波进行图像处理的前后图
中值滤波器设计实例文件
下载和解压后,中值滤波器设计实例.zip文件的Median_filter_design_example_<version>目录下包含以下目录:
文件名 | 说明 |
---|---|
Base | 包含原始版本的设计和工程文件。 |
Final | 包含最终版本的设计和工程文件,其中包括所有的RTL优化。 |
fpga-median.ORIGINAL | 包含原始OpenSource版本的中值过滤器和相关的研究论文。 |
Step_1 | 增量式RTL设计更改和工程文件,用于Fast Forward优化第1步。 |
Step_2 | 增量式RTL设计更改和工程文件,用于Fast Forward优化第2步。 |
此演练包含以下步骤:
- 步骤1:编译基本设计
按照以下步骤编译median project的基本设计: - 步骤2:添加流水线级和移除异步复位
第一个优化步骤在Fast Forward建议的设计位置添加了五个级别的流水线寄存器,并删除了设计模块中存在的异步复位。在ALM之间的互连上添加额外的流水线级可以消除一些长的布线延迟。此优化步骤将fMAX性能提高到Fast Forward估计的水平。 - 步骤3:添加更多的流水线级和移除全部异步复位
Fast Forward Timing Closure Recommendations建议您进行进一步的变更,以便在重定时期间实现更多的优化。Optimizations Analyzed选项卡报告可供您修改的特定寄存器。此报告指出,state_machine.v仍然包含限制优化的异步复位。 按照下面的步骤移除 state_machine.v中剩余的异步复位,并添加更多的流水线级: - 步骤4:优化短路径和长路径条件
移除异步寄存器并添加流水线阶段后,Fast Forward Details报告指出,短路径和长路径条件限制了进一步优化。在此实例中,最长路径限制了这个特定时钟域的fMAX。要提高性能,需要按照下面的步骤来缩短此时钟域的最长路径的长度。