图像处理算法的FPGA设计步骤及方法.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图像处理算法的FPGA设计步骤及方法

图像处理算法的FPGA设计步骤及方法 以Adaboost算法为例 设计步骤 算法研究 算法模型向电路结构抽象转换 电路结构设计 功能模块划分 关键电路时序及模块间接口时序设计 具体电路设计 设计验证 算法改进 一、算法研究 算法研究 数值算法 非数值算法 方法 模型 拓扑结构 数学模型 Matlab仿真 一、算法研究 Adaboost算法流程 一、算法研究 Harr特征 本案例使用的检测算法是基于 Haar 特征的AdaBoost 算法。它是一种基于表象的方法。这里的表象具体指的就是Haar 特征。它是一组矩形构成的模式(Pattern),如图所示就是几种Haar 特征的例子。 二、算法改进 必要性:许多算法其本身具有适用行计算机的串行运算特点 目的:改进算法使其适用于具有并行特性的硬件设计 原则:速度与面积的平衡 理论指导:并行算法理论 二、算法改进 1、级联分类器改进为部分并联分类器 Adaboost算法的级联分类器构成的强分类器,其逐级剔除逐级增强的结构是为了适应计算机串行指令执行的特点而设计的。但对于硬件设计而言,级联的分类器结构对速度要求很高;并且硬件电路规模要适应所有可能情况,即要设计整个的级联分类结构的电路,而大多情况下后级的电路并未启用。因此,级联分类器的结构对于硬件设计而言,并不是一个较优的结构。 二、算法改进 1、级联分类器改进为部分并联分类器 从算法原理可以发现,每个分类器其实是相对独立的,我们可以将这些分类器的分布进行重组。根据速度与面积的折中,我们将级联的分类器改进为部分并联的分类器。 分类器 分类器 分类器 否 全部通过 根据时序要求将全部的分类器划分为若干组并行执行的分类,并且复用这些分类器电路,即每组电路使用同一套硬件电路。每次检测,通过该组全部分类器即进行下一组检测,全部通过即判断为目标;若有其中一组不能通过即跳出,判断为非目标 二、算法改进 2、整帧图像积分改进为子窗口积分 ∑ ∑ Adaboost算法在做一帧图像的检测时,先该帧图像进行积分。但这种做法对于硬件而言要消耗大量的硬件资源,并且电路在接下来的扫描检测进程中处于闲置状态。根据算法的原理,我们只对扫描的子窗口进行积分也是等效的,只是在每扫描一个步进就要积分一次。但应用流水线结构的设计技巧,这个问题可以很好的解决,并且能提高电路的利用率。 三、算法模型向电路结构抽象转换 算法抽象转换 算法级 行为级 寄存器传输级 逐级转换 四、电路结构设计 结构设计 总线结构 流水线结构 总线—流水线结构 网格结构 超立方结构 蝶网结构 … 存储器分布结构 … 四、电路结构设计 五、功能模块划分 划分标准: 根据算法的特征、结构划分模块。(主导) 尽量不将组合逻辑划分成一个独立的模块。 消除不必要的层级,避免粘连逻辑。 尽量平衡各逻辑块的尺寸和模块内部的数据传输路径长度。 设计至少应该有三个层次:顶层、中间层、内核层。 将异步电路单独设计,并且一个时钟对应一个模块,模块 与模块之间的握手连接在异步电路的顶层处理。 六、关键电路时序及模块间接口时序设计 设计电路,尤其是数字电路,最关键的一环是:设计各模块间的接口时序,确定关键电路的时序。这个工作必须在具体电路设计之前确定下来。 模块间接口时序设计 由于系统采用完全流水线结构设计,其接口时序相对比较简单。 CLK Step1 Step2 Step3 Step4 DATA1 DATA1 DATA1 DATA1 DATA2 DATA2 DATA2 DATA3 DATA3 DATA4 模块间按一个时钟周期的时序传递数据。 关键电路时序设计 对于系统中两个与DDR RAM数据通信的模块,其读写时序与系统的流水线时序不同。 CLK WR_EN WR_ADDR WR_DATA addr1 addr2 addr3 data1 data2 data3 关键电路时序设计 CLK RD_EN RD_ADDR RD_DATA addr1 addr2 addr3 data1 data2 data3 七、具体电路设计 设计原则:先时序后电路 设计模块原理结构 设计模块工作原理时序图 在时序指导下设计具体电路 详细设计文档 七、具体电路设计 “先时序先电路”设计方法的优点: 1、思路清晰,考虑周到,不容易出错。 2、电路即使出错误,也很容易查出问题原因所在。 3、在复杂电路中,原理时序图越容易让人理解,便于交流和相互查错。 4、体现“时序是设计出来的”思想。 七、具体电路设计 七、具体电路设计 八、设计验证 设计验证 软件验证 硬件验证 RTL级功能仿真 静态时序分析 时序仿真 单板测试 系统测试

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档