收藏 分销(赏)

新手如何学习FPGA.doc

上传人:xrp****65 文档编号:7666783 上传时间:2025-01-11 格式:DOC 页数:2 大小:24KB
下载 相关 举报
新手如何学习FPGA.doc_第1页
第1页 / 共2页
新手如何学习FPGA.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
一个简单方法告诉你:新手如何学习FPGA外围硬件电路设计 在论坛里有人发帖子,问关于FPGA的硬件电路问题,我想涉及到这个问题的基本都是硬件工程师或者在读学生,所以我介绍一下我是怎么学习FPGA的硬件电路设计的吧! 先介绍一下我自己,我是一个硬件工程师,搞FPGA也有些时间了。感觉FPGA领域是一个非常活跃的技术领域,这里不仅可以做IC设计的原型验证,同时可以应用到众多工程上去。尽管自己做了一些时间的FPGA,但是FPGA涉及的东西确实很多,就是专门拿出一个部分都可以好好的研究一番。所以,我下面所说的,只是抛砖引玉,对于初学者来说不乏是一个捷径。 其实我下面所要说的用两个字就可以概括:参考。 1。首先,xilinx所发布的文档是你首要参考的。xilinx针对每个系列的FPGA都提供了丰富而全面的文档,所以在你开始任何一个系列的FPGA设计前,到xilinx网站上,进入那个系列FPGA的页面上将所有的文档都下载下来,然后有针对性的做参考。(做好了这一步,你的FPGA设计不会出什么大的纰漏) 2。参考勘误文档。xilinx会发布一些勘误文档,但需要注意的是并不是任何一款fpga都有勘误,所以你可以在里面看,是否有你当前用的fpga的勘误文档,如果有,一定要仔细看。 3。参考xilinx网上的开发板。这是做硬件最有价值的部分。xilinx在网上针对每个系列的fpga都有文档说明,大部分都给出了原理图,而且这些都是免费的。xilinx开发板的文档说明比较详细,也很规范,有着很大的参考价值。在那些开发板里也有众多的外围接口电路,可以说含盖的比较全面了。因为针对fpga的应用几乎都有对应的开发板,所以参考xilinx网上的开发板是捷径中的捷径。 4。参考你周围人的设计。这个最直接了。 5。参考外围电路的datasheet。如果你的FPGA外围又有IC或其他电路,那么认真阅读手册是必须的。作为硬件工程师,阅读手册是一项基本技能。 6。参考你以前的积累。随着你工作的深入,你的积累也逐渐丰富。也许你现在需要的电路就是你以前做过的,那么甚至可以照搬过来。平时注意积累,关键时刻领先一步。 硬件设计,有时看起来简单,但又是蛮繁琐的工作,同时如果想深入的理解硬件设计,需要深厚的理论支持。硬件设计,是一条平坦但十分陡峭的路。 我再说几句。随口说的,所以没有什么逻辑,不过大概的反映了我曾经走过的路,这段路其实是个弯路。如果当时我会经常的看xilinx的文档,会尝试更多的设计,上这样的论坛,有人指导,我想会少走不少弯路,那么我也会比现在更强。在FPGA领域,我还是一个初学者,因为我也有很多不懂的地方,我的方法不一定对,所以希望大家都来讨论,让初学者成长的更快。 确实,从我上面所写来看,确实都是一个方向性的指导。当一个初学者拿一个实际问题来我上面所说的当中寻找帮助,是一时找不到解决办法的。 我不是资深者,但是也有过刚开始接触FPGA那时的困惑。甚至学习了很长时间VHDL语言,连仿真、配置、FPGA怎么把语言变成实际的动作,都不清楚。何况我当时上网很不方便,所以,没有更多的文档和现成的例子可供参考,更没有上过这些论坛。不过,当我将自己的第一段代码下载到FPGA当中(确切的说是原理图与语言的混合,那时用的还是foundation),看到电路真正跑起来后,我才算明白一些怎样将代码变成实际的电路动作。 当时跑我的代码的第一块板子是xilinx的一个很简单的开发板,是spartan 2的。那个时候只知道把电缆连接好,怎么下载bit文件,里面具体原理还是不怎么清楚,电路也不清楚。 后来,带我的一个同事做了一个基于PCI的数据采集板,上面有3颗FPGA。当时除了要写代码外,还要调试电路板,也就是那个时候我才真正的结合xilinx的文档来学习FPGA的外围硬件电路。因为我们那块板上没有太复杂的外围电路,也就是电源,sram,lvds芯片,ADC。但是,在调试过程中以及工程实际应用中,遇到问题是千差万别的,所以在实际中还是学习了不少。这个电路板从我手中调试出的不少于80块。这期间也看了一些xilinx的文档,但都是东一头西一头,根本没有仔细的好好的把一个芯片的datasheet或者user guide看完。那个时候虽然也知道加约束,但是几乎没有怎么用过,也知道fpga的结构,但根本没有什么体会,甚至连一些基本的时序概念都没有。那个时候感觉最深的就是知道FPGA的配置电路是怎么回事,以及在实际中出现问题该怎么解决(其实只要连接正确,这个电路被烧坏的可能性极小)。 后来,我自己设计了一个FPGA板子,上面有网口、RTC、SRAM、硬盘接口、EEPROM、7-segment LED、UART等,上面除了UART没有调试外,其余都通过。UART我用的是一个16c550(好像是这个名字),所以,实现串口就不怎么难了。在这块板子上,其实没有什么难度,一次做板成功,无飞线。后来看到xilinx的开发板,再与我那块板子比起来,我那板子简直太差了。不过,这样一个过程确实还是锻炼了自己用FPGA设计整个系统的能力。 又在另外一个公司工作,接触了规模更大的FPGA,要求的性能也高了,代码也复杂了。但这个时候上网也方便了,因此可以在网上找到很多自己需要的东西,遇到问题了,用搜索引擎也可以很快找到答案(当然也有找不到答案的时候)。这个时候能加一些比较复杂的约束(个人觉得加约束一定要有实际的设计让你练,否则根本体会不到加约束的效果),涉及除lvttl外的电平,也涉及到了一些新的外围电路,比如sdram、flash、iic、usb等。但是,说实话,就是让我现在写这些代码,还是很困难的。毕竟自己不是专门写代码的。加上自己以前的积累的一点FPGA知识,再结合现在的实践,所以就有了我最开始的总结。对,在这个阶段自己可以用FPGA editor来修改逻辑或引线。也知道了一些时序上的东西。 如果对于一个初学者,你手头没有一块带fpga的板子,那么你学习起来将是非常困难而且进展缓慢的。所以,如果你是初学者,你一定要想办法弄块fpga的板子,很简单都可以,哪怕只有电源和fpga,只要引出了io脚,就可以做很多实验。有了板子后,就可以在上面跑你的代码了。在这个过程里,你要尽快的明白FPGA开发是怎样一个流程。这个时候你可以尝试读报告、做仿真、加约束。随着你学习的深入,你就可以理解一些比较复杂的约束、理解约束背后的原理、理解时序、理解FPGA结构。。。 FPGA还有很多更高级的应用,比如dsp、GBit收发等。因为我没有涉及这个领域的应用,所以没有这方面的经验。 现在看xilinx网上很多文档都是很有价值的,有时就想假如自己早去参考这些文档,也许会少走很多弯路。 我发现现在很多刚毕业的学生懂的FPGA的概念都比我多,理解的也比我深入,所以你们以后会很厉害的。 自己做了几年FPGA,但是还没有做过基于FPGA的嵌入式系统,因此现在我正在准备做这样一个小的基于FPGA的嵌入式系统。同样xilinx有很成熟的开发板,如果买来用,那是很快的。但是我还是要亲手做一块,可能费时间,费精力,但是这个过程一定会让我有所收获。我会把整个过程做笔记,如果成功了,我会把整个过程以及文档贡献出来。 千里之行始于足下。不要怕麻烦,不要厌倦简单、一步一个脚印,若干时间后你会发现其实你已收获很多。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服