您当前的位置:首页>论文资料>基于Xilinx FPGA的硬件协处理器设计

基于Xilinx FPGA的硬件协处理器设计

资料类别:论文资料

文档格式:PDF电子版

文件大小:3.63 MB

资料语言:中文

更新时间:2024-11-29 10:50:36



推荐标签:

内容简介

基于Xilinx FPGA的硬件协处理器设计 数事载本与率用
设计开发
基于Xilinx FPGA的硬件协处理器设计
张强王华苏宏锋闫晓茹
(四川交通职业技术学院信息工程系,四川成都611130)
摘要:DSP+FPGA模式具有结构复杂、成本高以及资源浪费比较严重的缺点,基于FPGA的软硬件协同设计已成为DSP+FPGA的理想替代方案。FPGA软硬件协同系统中,硬件协处理器的高效设计光其重要。Xilinx提供了三种硬件协处理器设计方法:HDL语言+IP核,System Generator和HLS(Hisgh-LevelSvnthesis)。签于HDL语言猫述算法能力有限,重点研究了后两种硬件设计方式。在实验环节选取Sobel边缘提取算法,并用SystemGenerator和HLS加以实现。最终结累说明,达两种新题的设计方式具有设计效率高、能够实现较复杂算法以及加速仿真和验证的优越特性。
关键词:FPGA;硬件协处理;SystemGenerator;HLS
中图分类号:TP332 1引言
文献标识码:A
DSP+FPGA的结构具备一定的灵活性和通用性,能够满足实时性要求。但也具有结构复杂、成本较高以及资源浪费严重的缺点川基于FPGA的软硬件协同设计具有结构紧漆、设计灵活、硬件资源利用率高以及成本较低的优势。
FPGA利用任务内部的并行机制和自定义大小的存储器,能够为每一个计算任务优化数据路径,从而获得很高的计算能力。除此之外,FPGA能提供一种机制保证任务的确定执行,具有很好的实时处理能力"。由此可见,硬件实现算法具有计算能力强和实时性高的两大优势。软硬件协同系统中,硬件协处理器的高效设计对系统性能指标影响巨大。
由于HDL语言只是针对硬件描述的,对于算法表达、仿真和验证并不方便,与C语言等高级语言相比,可靠性也较差。这些不足严重妨碍了软硬件协同系统的实现与性能。本文针对SvstemGenera-tor和HLS两种高层次综合设计方法,设计了Sobel算法硬件协处理器。实验结果表明:SvstemGenerator和HLS能够更高效完成硬件协处理器的设计,加速复杂算法的硬件实现仿真和验证。
图像输入流
评算跑对值
+
3行缓冲器实现行暖冲
图值判断
到缓冲器水平度运算
到暖冲器
爽度期操输出
要直梯度运算
结束
图1Sobel算法流程图
收稿日期:2017-04-05
基金项目:院级科技教育研究发展基金(项目编号2016-510-17)。
文章编号:1007-9416(2017)04-0173-02 2Sobel边缘提取算法
Sobel算子是用于水平和垂直边缘检测的简单检测子,能够很好的处理灰度渐变和噪声多的图像。具体实现是两个模板g,和g,与图像中的每一个像素进行卷积。Sobel算子3+3模板如下:
-1 -2-1 000
g, =
[121
[-101] g,=-2 0 2
(1)
-1011
S(x, y)=[g(x1,y1)+2g(x1,y)+g(x1, y+1)
[g(x+1, y1)+2g(x+1, y)+g(x+1, y+1)) +[g(x1,y1)+2g(x, y1)+g(x+1, y1))
[g,(x1,y+1)+2g,(x, y+1)+g(x+1,y+1)
(2)
由于算法需对每一个像素进行处理,且本身较简单以及计算重复性高,适合采用流水线并行的方式进行硬件实现。Sobel算法流程图如图1。
3SystemGenerator与HLS实现
硬件协处理器设计所需模块".FromWorkspace.To Workspace,Gateway in,Gateway out,System Generator模块, 共享存储器,Subsystem模块,MCodeEDKProcessor以及Resource Estimator模块等。
由图2所示,在Simulink中搭建软硬件协同设计的最终模型,其中深色模块是Sobel算法子系统,里面封装了具体的实现。Sobel子系统分为4个模块,采用全流水线方式:分别是3行缓冲模块,X/Y方向梯度运算模块、绝对值相加和二值化模块。最后,选择HDLNetlist 编译类型,生成HDL文件。
基于HLS的设计主要分为:语言选择、接口设计、算法设计以及程序优化设计等内容。本文选择C++语言实现Sobel算法,硬件接口采用ap_fifo方式,对应总线AXI4-Stream。
算法分为:3行缓冲器、3×3窗口缓冲器,滤波函数等模块。在本例中,采用了循环优化Pipelining和Dependence指令,消除行缓存器的数据依赖性,使循环结构实现流水线处理。运用nlini优化指令,解除了函数的不同层次间题,减少延迟和增加吞吐量。最后选择 EDKPcore导出方式。除了生成硬件接口模块以外,还会自动生成
作者简介:张强(1987一),男,重庆人,颈士研究生,助理工程师,研究方向嵌入式与物联网;王华(1977一),男,四川成都人,硕士,系主任,副教,
研完方向:物联网与智能交通
173
万方数据
上一章:基于FPGA的星载AIS信号处理器的设计 下一章:基于FPGA的新型智能电梯控制系统优化设计研究

相关文章

基于Xilinx FPGA的电力谐波检测的设计 基于FPGA的DTMF信号检测器硬件设计与实现 基于K60﹢FPGA的小型移动机器人硬件设计 Xilinx FPGA数字电路设计 基于FPGA的图像中值滤波算法硬件系统实现 Xilinx ISE 9.X FPGA/CPLD设计指南 基于Logistic混沌模型的硬件加密芯片算法分析及FPGA实现 基于FPGA的嵌入式图像处理系统设计