基于FPGAK近邻计算实现.docVIP

  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文档。上传文档
查看更多
基于FPGAK近邻计算实现

基于FPGAK近邻计算实现   摘要:K近邻算法(KNN)是基于统计学的分类的方法,是数据挖掘分类的算法中比较常用的一种。该算法有更直观且无需先验统计知识等特点,已经成为数据挖掘技术重要的理论和实际应用研究方法之一。K近邻计算需要快速处理数据,因此用硬件来实现加速。   关键词:数据挖掘;K近邻;FPGA   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)07-1572-03   FPGA(现场可编程逻辑器件)产品的应用领域已经从原来的通信扩展工业控制、电子等广泛的领域。所以用FPGA(现场可编程逻辑器件)来实现K近邻计算更符合市场需求,但是KNN算法仍然存在一定的缺陷,今后研究的重点仍然应该放在速度与准确度的提高上面。   1 K近邻硬件结构   本次设计采用的是VHDL语言编写设计,仿真实验时首先要进行程序分析,确认程序没有语法和逻辑错误之后再逐步实现其功能。试验时先用两张图片分别生成两个.mif和.coe文件,利用生成的两个.mif文件创建两个IP核备用。然后添加各个子模块,运行程序进行K近邻分类计算,调用IP核和由图像生成的ROM文件进行数据分析处理,最后得出仿真试验的结果。仿真测试如图1所示。   其中,K近邻计算程序值主要的调用程序,K近邻测试程序中各种主要的参数基本都在K近邻计算程序计算得出。   2 IP核的生成   IP核(Intellectual Property core)具有特定功能的电路模块。IP核有时也称为宏功能块、虚拟元件。按提供方式分类:   1)硬核(hard core)具有特定功能的硬件电路。在FPGA中是已经用硬件实现并可以直接应用的功能模块。   2)固核(firm core)是硬核与软核的折中,他是将软核固化为硬核并加入的IP库中的产品。   3)软核(soft core)是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。   综上所述,将硬核和固核作为硬IP核,而软核作为软IP核。   4)硬IP核与软IP核的关系。硬IP核的缺点是对加工工艺依赖性大,优点是节省设计时间;软IP核的缺点是需要花费大量的时间进行功能和时序的验证,有点是它的设计不依赖加工工艺。所以,当新加工工艺出现时,芯片设计主要是软IP核设计,当其经过功能和时序的测试后就将其固化为硬IP核并加入到IP库中,随着芯片设计的不断改进,最后可能85%的芯片面积都由硬IP核占据。直到出现下一个循环。   分类:①嵌入式IP核,可编程IP核如CPU。   ②通用IP核,如存储器、通用接口电路。   常见的IP核有CUP核、DSP核、存储器模块、复杂接口模块、完成复杂计算功能的模块、外设接口(PCI)、通用串行总线(USB)。   IP核的价值:IP核重用(reuse)可以缩短设计周期、提高设计效率。   3 FIFO文件的使用   FIFO(first input first output,先进先出堆栈)是一种数据缓冲器,优点没有外部读写地址线,这样使用起来非常方便;缺点是只能顺序读写数据。通常FIFO的使用情况有两种,一是FIFO用于不同时钟域之间的数据传输;二是FIFO用于不同位宽的数据传输.根据FIFO的时钟域,可以将FIFO分为同步FIFO和异步FIFO.异步FIFO的读写时钟采用各自独立的不同时钟,广泛应用与网络接口、图像处理等方面;同步FIFO的读写时钟相同。   FIFO的功能。   FIFO存储器是系统的缓冲环节,如果没有FIFO存储器,整个系统就不可能正常工作.FIFO存储器的主要功能如下:   1)对连续数据流进行缓存,防止进机和存储操作时丢失数据。   2)数据集中起来进机和存储,可避免频繁的总线操作,减轻CPU的负担。   3)允许系统进行DMA操作,提高数据的传输速度。   异步FIFO的结构如图2所示。   工作原理:   由于空标志和满标志控制了FIFO的操作,因此标志错误会引起操作的错误。标志的产生是通过对读写地址的比较产生的。   空满标志产生的算法。构造一个指针宽度为N+1,深度为2+N字节的FIFO(为便方比较将格雷码指针转换为二进制指针)。当指针的二进制码中最高位不~致而其它N位都相等时,FIFO为满。当指针完全相等时,FIFO为空。举例说明:一个深度为8字节的FIFO怎样工作(使用已转换为二进制的指针)。FIFO_WlDTH=8,FIFO_DEPTH=2+N=8,N=3,指针宽度为N+1=4。起初rd和wr均为“0000”。此时FIFO中写入8个字节的数据。wr=“1000”,rd=“0000”。当然,这就是满条件。现在,假设执行了8次的读操作,使得rd=“1000”,这就是空条件。另外

文档评论(0)

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

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

1亿VIP精品文档

相关文档