36
基于 基于 FPGA FPGA DSP DSP 算法快速验证 算法快速验证 韦宏卫

基于FPGA的DSP算法快速验证 - download.hqyj.com

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

基于基于FPGAFPGA的的DSPDSP算法快速验证算法快速验证

韦宏卫

2

版权版权

} 华清远见嵌入式培训中心版权所有;

} 未经华清远见明确许可,不能为任何目的以任何形式复制

或传播此文档的任何部分;

} 本文档包含的信息如有更改,恕不另行通知;

} 保留所有权利。

www.hqyj.com

www.hqyj.com3

内容提纲

} 基于FPGA的DSP解决方案

} Matlab/Simulink与System Generator设计环境

} System Generator系统设计方法

} 多媒体算法快速验证系统设计

4

当Algorithm遇上RTL} 咱不熟!

系统级设计

黄金模型

算法复杂度

RTL/行为级

综合/仿真/实现

时序/资源/功率

C/C++ HDL

关键时刻…汇编

关键时刻…还是HDL

www.hqyj.com

5

问题在哪里?

} 两次系统设计

} 每行硬件代码需要10倍的测试代码} 验证所涉及的硬件实现较为复杂

www.hqyj.com

6

理想的解决方案

} 一次系统设计

} 自动生成HDL代码} 系统级的测试验证手段

www.hqyj.com

基于FPGA的DSP解决方案} 从算法设计者的角度出发:} C-HDL:CatapultC,ImpulseC…} M-HDL:Matlab,Simulink, HDL Coder

} 从硬件设计者的角度出发:} Altera:DSP Builder} Xilinx:System Generator} Synplicity:Synplify DSP

7 www.hqyj.com

Matlab/Simulink与System Generator} Matlab与Simulink :数据分析及可视化} System Generator:} 适合Xilinx FPGA} 充分发挥Matlab和Simulink功能

8 www.hqyj.com

System Generator设计流程

9 www.hqyj.com

System Generator设计流程} 一、算法探索、设计验证、模型分析流程

} 二、复杂系统的部件设计实现流程

} 三、完整系统设计实现流程

10 www.hqyj.com

System Generator设计流程} 一、算法探索、设计验证、模型分析流程

} 二、复杂系统的部件设计实现流程

} 三、完整系统设计实现流程

11 www.hqyj.com

框图并非包打一切

} 不是替代HDL,而是更关注关键路径} 不适合有特殊时序要求的外部接口设计

} SysGen + ISE + EDK

12 www.hqyj.com

System Generator特点} 基于框图

13 www.hqyj.com

System Generator特点} 软硬件协同仿真

14 www.hqyj.com

System Generator特点} HIL硬件在环测试

15 www.hqyj.com

System Generator系统设计方法} 关键要素} 时间模型:离散时间系统

} 数据类型:定点数、布尔值

} 边界模型:基于比特、基于周期

16 www.hqyj.com

System Generator系统设计方法} 主要功能} 自动代码生成,包括TestBench(SysGen模块)} 支持M代码(Mcode模块)} 支持自定义HDL语言模块(Black Box模块)} 可将Sysgen设计加入一个大系统中(SGP文件)} 可独立形成系统(ISE文件)} 软硬件协同设计( EDK及SysGen协同设计)} 硬件协同测试(HIL)} 包含仿真测试模块(Modelsim/WaveScope/ChipScope )} 包含数字滤波器设计工具( FDATool )

17 www.hqyj.com

算法验证系统设计

} C/C++/M语言设计仿真} Simulink模块设计仿真} 浮点数定点化

} 定点算法仿真

} 浮点/定点算法比较

} 算法硬件协同测试

} 算法输出

} 算法实现

18 www.hqyj.com

多媒体算法快速验证系统设计

} 快速的实现,直观的模型,便利的验证

} 相关工具、工具箱、模块集} MATLAB} Signal Processing Toolbox} Image Processing Toolbox} Image Acquisition Toolbox} Simulink} Signal Processing Blockset} Video and Image Processing Blockset} Xilinx Blockset} Xilinx Reference Blockset

19 www.hqyj.com

多媒体算法快速验证系统设计

} 音频处理} 以滤波器为主:带通/反馈/自适应滤波器} 系统频率/系统采样频率/源音频采样频率} 关注定点数据精度

20 www.hqyj.com

多媒体算法快速验证系统设计

} 音频处理:电话声音模拟系统

21

系统实质:300Hz ~ 3400Hz带通滤波器

www.hqyj.com

多媒体算法快速验证系统设计

} 音频处理:LMS自适应噪声消除系统

22 www.hqyj.com

多媒体算法快速验证系统设计

} Simulink图像处理: Simulink模块的接口可以传送整幅图像,可以对整幅图像进行处理

23 www.hqyj.com

多媒体算法快速验证系统设计

} SysGen图像处理: System Generator模块的接口只可传送单个图像像素,要对多个像素进行处理需要存储器。

24 www.hqyj.com

多媒体算法快速验证系统设计

} SysGen图像处理:使用Simulink接口模块获得2D数据,然后使用回调函数,获得1D数据流。

25 www.hqyj.com

多媒体算法快速验证系统设计

} 行缓存器:将1D数据流按行提取,以便进行滤波处理,以256*256图片为例。

26 www.hqyj.com

多媒体算法快速验证系统设计

} Sobel图像边缘检测:Sobel 算子} 利用像素的左、右、上、下邻域的灰度加权算法,根据在边缘点处达到极值这一原理进行边缘检测。

} X算子: Y算子:

27 www.hqyj.com

多媒体算法快速验证系统设计

} SysGen Sobel边缘检测

28

X算子: Y算子:

www.hqyj.com

多媒体算法快速验证系统设计

} SysGen Sobel边缘检测X算子: Y算子:

多媒体算法快速验证系统设计

30

原始图像

SimulinkSobel边缘检测

SysGenSobel边缘检测

} Sobel边缘检测

www.hqyj.com

多媒体算法快速验证系统设计

} 视频} Frame-based} Sample-based

31 www.hqyj.com

多媒体算法快速验证系统设计

} 视频

32 www.hqyj.com

多媒体算法快速验证系统设计

} 源信号特性:音频、图像、视频

} 系统采样频率

} 系统仿真时间

} 串行数据流格式转换

} 数据定点化

33 www.hqyj.com

华清远见相关课程介绍

} FPGA初级培训班} 工具、流程、器件

} Verilog HDL} NIOS II/Microblaze

} FPGA数字信号处理培训班} Verilog/M Code} Matlab/Simulink} DSP Builder/System Generator

} 数据采集系统案例班} A/D,D/A} 接口/存储器} PCI/PCI Express

} FPGA长期就业班} FPGA定制课程

34 www.hqyj.com

35

Q&A

www.hqyj.com

36 www.hqyj.com