新人立个帖子,记录自己学习FPGA的一点一滴,越磨砺,越光芒
我是个fpga新人,但我立志成为一个很厉害很厉害的大神(词汇匮乏症)
公司最近在接手一个涉及FPGA的项目,因此对自己以后的学习成长之路有了很多的思考,终于下定决心鼓起勇气决定涉足FPGA行业,听很多人说是坑啥的,别三分钟热度,这些我都懂,但我相信我自己的毅力,只要沉下心来,强迫自己克服浮躁,终有一天,我一定能有所建树!嗯,有所建树!我本人资质不算聪明,有时候理解会比别人更慢一些,智商不够,耐心来凑,嘿嘿,就像追女朋友一样,不管fpga有多高冷、有多女汉子,但都架不住我脸皮厚口味重,不停地软磨硬泡,一定能抱得美人归!走上人生巅峰...咳咳,跑题了。^-^
认真的说(严肃脸),其实我把自己学习FPGA的进度以日志的形式记录下来,是更希望能与论坛里的大神们获得接触,“接触”的定义不固定,大家可以吐槽、可以指出晚辈做的不对的地方、更可以不吝赐教哈(求指教、请多指教),欢迎欢迎~~~也期待着自己遇到的一些坑能给后来者一些警示和帮助。
2017年6月6日 周二
背景:
因为公司有一块现成的xilinx-spartan6的板子(在一个神秘的角落发现的),我的思路是就从这块板子开始下手开始,师兄告诉我说XILINX用的ise环境对于初学者难度较大,建议用另一系列quartus ii,网上资料比较多,用起来门槛也更低一些,我也想了,但还是最终决定用手头上的这个板子+ISE,了;理由是这样的:我没钱。额。
嗯,是的。
今日进展:
1、我先后尝试了若干次,最终才在论坛某位大神的帖子里找到了 ISE14.7完美版,装了一下,顺利的一塌糊涂,棒棒棒!谢谢大神的分享。(需要的朋友也可以联系我,我可以发给你哦,我测试过的,好用)
2、我找到了基于spartan-6板子的一些基本例程、流水灯啥的,这个为下一步的计划做好准备;
3、我还找到了一本很合适的书,这是大宝贝《xilinx FPGA开发实用教程》,里面详细的介绍了基于ISE的基本操作以及进阶技巧,下一步准备好慢慢啃这本书,结合实际操作。(需要的朋友也可以联系我,我可以发给你哦)
后续计划:
1、明天开始用ISE将基本的例程打开熟悉软件界面、大致操作流程,最好能将流水灯的程序烧写进板子看看效果,给自己点小小的成就感。
2、4天时间,将开发环境进行进一步的熟悉、多操作几次,争取能像word一样熟练。
我的问题:
我目前的进展只需要安装ISE就够了吗?还有mudisim、ECLIPSE什么的需要安装吗?那两个软件是做什么的?什么时候需要安装?
大神们如果能帮助小弟一把,真的真的不胜感激,小弟哪里思路不对的,恳请指正。需要小弟环境安装包或者我的资料的,尽管开口,我发给你^-^*
*
*
*
*
*
*
*
*
2017年6月7日 星期三
背景:
昨天已经开开心心的把ISE的背景安装好了,破解后完美运行,至于之前困惑的modelsim(昨天打错了,更正)和eclipse两个软件在FPGA 中的功能和意义也咨询了公司里一个师兄,暂时总结如下:
1.从原理上来看,ISE是可以实现工程的完整建设的,它具有 输入代码设计、综合、实现(翻译、映射、布局布线)、生成下载文件、烧录等“一条龙”功能。(ISE的功能一定很系统全面,我看到的应该只是冰山一角,继续深入)。
2.modelsim,可以讲工程的输出关系以波形的形式进行显示,类似于一个虚拟示波器,ISE本身也自带了一个“HDL bencher”,也可以实现modelsim这个功能,但貌似很多人都在用modelsim,原因不明。
3. ECLIPSE,可以理解为一个“模块功能生成器”,比方说我要写一个流水灯的程序,写好后烧录之前要用modelsim进行仿真,这时候问题就来了,程序中的输入量是“时钟”,烧录进板子后,“时钟”信号是从板子上的晶振产生的,因此程序能正常工作。但是仿真的时候,是没有晶振的啊,所以,这个时候,我们就需要用eclipse编写一个产生“时钟信号”的子程序,把这个子程序代替“晶振(硬件)”作为 工程的输入量,就可以仿真了。这只是一个帮助理解的例子,我相信,远不止这么简单。
今日进展:
1.用ISE平台完成了 “流水灯”、“按键灯”两个例程的功能。过程总结出来就是:
打开ISE、NEW project、添加源文件和约束文件(.v & .ucf)、VERILOG代码、对顶部文件进行综合、实现(实现包括翻译、映射、布局布线)、生成bit文件、观察编译情况、下载bit文件、现象。其实我不止尝试了这两个例程,基本上手头上能实现的例程我都跑了一遍,因为我的目标是充分熟练这个流程,现在目标初步达成。
2.对ISE中自带的“Language Templates”仔细的进行了学习,这是ISE工程师们为了统一工程师们的代码规范而专门添加的,里面包含“verilog”语言的详细说明,包括注释符、运算符、语言格式、实例说明等等等等,这对我熟悉verilog语言很有帮助。总结一下感受:“verilog”语言喵的和C语言怎么长的一个样啊。
3.研读了一部分代码,能看懂代码思路(可能是流水灯例程比较简单),对于很多关键词用法稍微不太适应,后续继续啃一啃就好了。
后续计划:
1.继续熟悉开发环境的一些操作,具体思路跟着《XILINX FPGA开发教程》走;
2.本周尝试着将modelsim仿真用起来,自己没写过代码,厚着脸皮用人家的例程试一试,多试几次;6.8-6.9
3.尝试新建文件、仿写一个简单的代码。6.9-6.15
**
*
*
*
*
*
*
2017年6月8日 星期四
背景:
modelsim已经安装破解,在开始菜单下打开没有问题,但是在桌面快捷方式打开时,提示找不到"LM_LICENSE"。后来发现时系统环境没有配置对,错误之处在于网络教程上在指导的变量名称设置,不适用于我的电脑,将其环境变量名称改为“LM_LICENSE”、重启,就好了。
今日进度:
1.完成了“正弦波输出”工程的信号modelsim仿真,第一次用modelsim软件看到系统输入——一条方波,更在不停的被虐的过程中掌握了modelsim的操作方法,以致熟悉。
2.初步学习了verilog语言的一些语法、函数定义方法,仿着例程敲了一段代码,感觉良好。不难,毕竟在整个FPGA流程中,代码只占小比例工作量。
后续计划:
明天争取敲出一套完整的程序出来,用modelsim模拟出结果出来,这样,我就实现了从FPGA工程建立、增加文件、编写代码、综合、生成线路、仿真等一个完整的流程了。fighting!
我的问题:
哪位大神有XILINX+ISE+modelsim相关教程的视频啊,能提供的话,不胜感激。谢谢谢谢~~~*
*
*
*
*
*
*
分割线
*
*
*
*
*
2017 年6月 9日
遇到问题:
ISE调用modelsim仿真时,生成wave界面后,如果我想修改源代码, 比如将激励代码中的某些变量赋值修改,然后再重新导入modelsim进行仿真。这个应该怎么操作?
我现在的方法是关掉modelsim,然后在源文件中进行编辑,然后重新综合后,再次调用打开modelsim(这个过程很耗时间)。
有没有什么方法可以在不关闭modelsim的情况下,直接在modelsim中重新加载修改后的源文件呢?我在网上看到一个前辈用了“re-launch”功能,链接如下:http://blog.csdn.net/jerrylwb/article/details/21938503
但是我这个modelsim_SE 10.4版本中好像实现不了这个功能,有哪位大神知道能不能指点一下,不胜感激。
2017年6月9日 星期五
背景:
遇到了上述问题,经过论坛大神的指点,终于解决了~~
解决办法是:在源代码中直接修改参数,然后在modsim 中在lib中寻找修改的源文件,对该文件执行单独“重新编译”,然后restart当前wave中所有信号数值,重新执行仿真即可。
再次感谢这位小哥。
今日进展:完成了流水灯、按键控制流水灯的独立设计,包括代码、约束文件接口规范、仿真、烧录等全套开发流程,代码自己已经掌握了verilog的部分基本语法和规则,能独立熟练写出相关逻辑,感觉棒棒棒!
本周总结:从最开始心存畏惧——下定决心——了解相关背景知识——开发环境搭建——仿真工具搭建——第一个流水灯例程看到现象——第一次仿真出波形——完整的过程,新建工程、添加文件、独立设计代码、解决问题、配置约束、验证。
下周计划:
1.verilog语言再深入一些,再仔细啃啃,尤其是wire和rag定义后会出现错误这个问题。
2.尝试进行难度稍高的例程设计,思路参考例程,自己独立操作。*
*
*
*
*
*
*
2017年6月12日 星期一
背景
在上一周,我已经将基本的开发环境操作熟练了、同时,对Verilog的部分语法进行了熟悉和操练,能独立写出流水灯、按键控制等小例程,熟练书写约束文件和测试文件,并仿真通过、且在spartan-6开发板上正确运行。
今日进展
今天公司师兄召集我讨论了项目中将会用到的几个技术方向,我觉着这是很有用的,我可以针对性的先研究部分手头上要用到的模块,总结一下,主要会用到一下四个模块:
1.SDIO控制LMX2531;
2.SPI 接口 DAC7552进行DA转换;
3.驱动AD5686R芯片进行AD转换;
4.能进行RFID回传信号的信号解调;
我仔细思考了下,这四部分,结合一些资料和例程,调试出来是应该可能的,难题在于硬件的搭设可能需要些时间,具体的计划我会进一步构思,想想仔细~~
我的问题
目前我的困惑是,怎样在一片FPGA芯片中集成上述若干功能?每一个模块分开验证都没问题的话,模块与模块之间联系的流程是什么样的呢?这些问题我会进一步去研究,真诚欢迎各位有相关经验的师傅们不吝赐教~~小弟先行谢过~~~*
*
*
*
2017年6月13日 星期二
今日进展:
参考了论坛《[资料] AD5686实例讲解基于FPGA控制的SPI型数模/模数转换器配置》对FPGA进行AD或DA 芯片驱动的思路和方法,个人的感觉是并不是很复杂,核心工作是将芯片驱动的时序图看懂,并且将时序图的逻辑用VERILOG表述出来,由于目前没有AD5686这款芯片,仅能进行一些时序仿真进行验证,后边开始找个芯片试试,并且按照这种思路去驱动其他时序图的芯片试试,看看能不能自个总结出一套方法论出来。*
*
*
*
2017年6月14日 星期三
今日进展,今天围绕着手头上的DAC900AU模块和AD9201芯片看了看例程和datesheet,感受只有一个:不写注释的代码都是耍流氓!
快来人呐~论坛的大哥大兄弟们,求赐教啊
大兄弟,我给你加个精,希望能坚持下去啊
顶一下了哦,呵呵
偶偶会经常进来学习哦
希望不要失望哦,
恩恩,谢谢你,一步一个脚印
哈哈,我还小呢,刚刚大学毕业一年,你应该叫我 小胸弟
哈哈男人怎么能说小呢?
噗~~~我一口老血~~~论坛的老哥你好污啊,前辈多多指教吼~~
继续支持你的努力啊
好好学习天天向下啊
现在在用modelsim调试信号的。酸爽的一塌糊涂~~~~
牛啊,总结一下经验啊
让大家都学习一下下
小编的态度让我很钦佩啊,屌屌屌!
顶一下继续支持你
继续努力啊,看好你啊
继续支持你的努力啊
哈哈,我是技术小白,当然要努力啊
谢谢师傅~~
怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
继续啊怎么没了呢
暑假即将来临,想学习FPGA的同学们,可以利用暑假期间好好学习下FPGA,我们现在有款初学者的FPGA开发板利器,现在购买还有配套书籍赠送哦:
入门FPGA开发板:
https://item.taobao.com/item.htm ... &id=35911884243
赠送完全配套书籍:
https://item.taobao.com/item.htm ... amp;id=540865636294
有一定基础的同学,可以看下高端的开发板:
https://item.taobao.com/item.htm ... amp;id=520588767908
如果以上两款依然满足不了您的需求,更可以看下更高端的开发板:
https://item.taobao.com/item.htm ... &id=39939126777
有任何问题,欢迎旺旺 QQ来咨询哦!
100天从入门到放弃....小编不会去学java去了吧O(∩_∩)O哈哈哈~
顶顶顶顶顶顶顶顶顶顶顶