查看: 1056|回复: 0
打印 上一主题 下一主题

(赚)读特权同学《深入浅出玩转FPGA》有感

[复制链接]
跳转到指定楼层
沙发
发表于 2016-5-7 22:59:18 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
(有感而发写一些感触)
    看了特权同学的这本书,感悟颇多,最终使我重新确立了目标。只是思路有些杂乱,我得慢慢道来:
  初识特权同学实在END网站上,因为他的FPGA助学活动,在得到他的35集FPGA教学视频后,得知他已经和北京航空航天大学出版社合作出板了《深入浅出玩转FPGA》一书。对于国内格式呆板、内容互抄的教科书,我是一直没有任何兴趣的,但是对于这样一个搞过FPGA项目的工程师写出的经验之谈,而且是以随笔的形式写出的书,我是没有任何理由放过的。也许我最需要的不是一份说教的知识,而是一个可以在我最困难的时候让陪我聊天、给我动力的‘人’,而这个‘人’就隐藏在这本书点点滴滴、洋洋洒洒的文字之间,等着我去感悟。由于我个人是习惯在当当网买书的,于是当下就去当当网搜索了一下,果然有这本书,售价是31.9元,但由于最近经济的原因我始终没有点下购买的按钮,于是自己买到这本书的计划便搁浅了。 
  也就是昨天我和一帮兄弟们去吉大的时候,偶然在兄弟那边看到了这本书,于是很爱不释手,当时便决定从兄弟手中‘横刀夺爱’了。呵呵,于是,这本书便随我来到了理工,被我带到了实验室。对于这样一本不同于现代呆板教材的书,我是很欣赏的,于是我开始用心去读这本书,去尽量感悟这本书的精髓,破开表面的知识去追求作者要给我们表达的深层次的意义。
  很有幸的,我最后的结论是我没有选错书,在这本书中我感悟了很多,虽然我只读了第一个晚上,但这本书给我带来的感悟要比其他书籍在几周甚至几个月给我带来的感悟远远多得多...我感悟了很多,依靠串行触发是解决不了的,于是,我得用并行触发的方式来表达我的思路,首先得解释一下什么是并行触发:并行是指可以在同一时间进行响应,而没有顺序的问题。于是,在这部分,我拿并行的概念套用一下,下面的这些感悟没有刻意的进行先后排序,既没有重要程度的高低和内容高低的划分,因为我认为:每一点思考都可以带来进步。下面我就开始慢慢道来:
1:它纠正了我对FPGA的认识
  说实话,我的兄弟在去年寒假就给我买好了FPGA开发板,我们分配的任务是我在理工主要攻FPGA方向,很惭愧的是当我用原来单片机的方式去学习FPGA时遇到了很大的障碍,这段学习的路进展很缓慢,于是不知不觉已经推迟到了今年暑假。暑假正式开始之前,在我打算自己的暑假生活的时候,FPGA这个小东西又很活跃的跳了出来,想到了自己的这半年在这方面基本没有任何进展,相当惭愧。于是决定暑假集中攻克FPGA,当然我也知道,FPGA这个东西和单片机、嵌入式一样,要的是长时间的点点滴滴的实践的积累,但是我可以加快我的进度,用自己最快的速度去学习FPGA,争取在本科毕业前自己主管一个FPGA的项目,尽管这个目标很难、很遥远、很不可企及。但我从不害怕,我会用自己的学习方法来换取效率,用高速可靠的效率来换时间!
  接下来对比一下我原来和现在对于FPGA的认识:原来从单片机转型到FPGA时,并没有摸清这趟河水的深浅,而在不知深浅的情况下,我已经开始下水了。当时我认为FPGA和单片机一样,它是由一个超级经典的硬核架构起来的IC,通过编写程序来实现FPGA对外围的控制。但是现在想来,当初的想法是大错特错了,现在想来我的上半年FPGA学习进度基本为零也就是意料之中的事情了。我重新对FPGA的认识是这样的:首先,FPGA是纯硬件,现在我所写的‘程序’也就不能称之为程序,如果非要给它起一个名字,我感觉‘代码’也许是比较恰当的;其次,单片机和FPGA实现信息处理发出控制信号的方式不同,单片机和嵌入式是通过主函数或者操作系统实现任务调度的途径来响应各种外部条件触发,并通过‘软件’输出相应的状态来实现电子系统的正常工作,然而FPGA是通过纯硬件来实现各种激励的相应的,与单片机实现控制的根本方法不同。最后,单片机和嵌入式的软件设计会有盲点,再快的软件相应在现实应用中也会有出现盲点的时候,简单的说就是系统不能及时响应或者漏掉某些激励的现象,然而硬件不会,它以强大的并行方式来响应所有的信号激励,但硬件也不是万能的,FPGA这类的纯硬件最大的克星就是亚稳态以及竞争冒险等等,通俗的讲就是输出及其短暂的不稳定现象,虽然不稳定状态出现的时间及其短,甚至到了皮秒级别(1秒等于10的十二次方皮秒)但也就是这么短暂的不稳定也可能会给设计带来致命的危险。这是有硬件的特性决定的,是在设计中永远无法避免的,对于冒险和亚稳态,我们只能想尽一切办法去解决他们。一个信号处理逻辑机制优劣将决定一个项目的好坏。这就是我暂时对FPGA的一些认识和感悟,我相信在我深入接触FPGA后,一定会对它有更加新的、更加深刻的认识。
2:它改变了我对学习态度的认识
  这是这本书给我带来的第二个改变,关于学习的。还是通过对比的方法来说明一下吧。
  在读这本书之前,我的想法是这样的:现在两年已经结束了,基础已经打得差不多了,接下来便是开始改变的时候,我还依稀记得在2009年的除夕之夜,我给自己新一年的定义是‘Walker’,取义为‘步行者’,意思是想要自己在2010年步行做事,踏实做事。我的上半年还算是比较准确的执行了这一原则:踏实。尽管和理想中的状态有些差别,但是和09年相比,10年我改掉了很多浮躁,去掉了很多铅华,开始比较低调的做事了,不那么张扬,做人还是谦虚点好,于是就这样半年过去了,本来我给自己的转折点定在了暑假。暑假开始涉猎项目,主攻一些有前景的方向,比如ZIGBEE、热电转换之类的。
  但是特权同学的blogs让我对这个转折点的选定进行了重新定位,最后的结论是我的转折点在时间上定的有些过早,经过多方面综合考虑后,我决定要推迟这个转折点。最主要的原因是特权同学让我看到了实实在在的差距,尽管他已经在研究所呆了几年了,阅历上比我高很多,这也许就是所谓的‘闻道有先后’,但是难得是那份甘于寂寞的心。确实,搞技术的一旦真正踏实下来,那么迎接他的注定就是寂寞和孤独,外面的繁华很好,但是在一定时间内将无法企及...呵呵..扯远了...转回来...
  关于转折点的定义,我是这样理解的:量变到质变的那个平衡点就可以当做我的转折点。对于我来说,这个转折点可以更加具体,那就是基础已经打好,也就是所谓的‘厚积薄发’,这样再去转型,会游刃有余,如鱼得水。特权同学的出现和最近板子出的事让我重新对‘基本功’在范围上和标准上进行了扩展,由原来的基本电路知识扩展了开来,加入了其他的几点,后面会一一讲到。于是这样看来,我的基本功还不扎实,这也算是进一步提升对自己的要求吧!可以这样说:这本书将我拉回到了原来的状态,只是起点和终点已经发生了改变,对于这点,我感觉值。
  这点可以概括一句话:我要重新做回Walker ——步行VS踏实。
3:它让我忠于自己的梦想
  虽然我说不上那个梦想是什么,我不确定这个梦想到底能走多远,我也不确定这个梦想最终会实现成什么样子,但我相信,这个现在还是比较模糊的东西,那就是我的梦想!
  说实话,我有过迷茫期 ,有过挣扎困惑的时期,我相信每个人都会有我这样的迷茫困惑的时期,每个人也都会有一些不同的举动和决定,于是每个人的足迹也就都不相同。不过不论做什么样的决定都不是最重要的,重要的是那些决定是否让我们离那个模糊的梦想更近了一步,让我们更加清楚地去观察它,只到有一天我们会真正的站在它的面前,说:I  Have  Got  You !只不过,在国内坚持自己梦想很难,现代的社会总是让我们觉得付出就必须得有回报,没有回报的我们会感觉没有意义。很现实的问题,也很现实的事情,每个人在这种事情面前都会有自己的选择,无可厚非。只是我们也许没有看到一些细节的东西,那就是无形的回报,或许这些已经被我们物质化了,这些都不是我们情愿这样的,只是因为我们的责任摆在那里,我们背负着太多东西...于是,忠于自己的梦想变得难能可贵了。
  走一条路,走到底,那就会就是光明。这是忠于梦想的力量,我是这么理解的。
4:它改变了我对资料的看法
  特权同学在书中讲到了这样一件事情:他在做完几个FPGA项目后,重回理论,开始重新研究,而且用的是 Altera 和 Xilinx 官网的原版资料。这样很好,因为自家的片子自家最清楚,他们的文档资料也就是最准确的。然而现在市面上的那些所谓的汉版文档都是在原版资料上翻译过来的,一是由于译者对片子本身的了解不如原厂工程师多,难免在用词把握上有所欠缺;二是由于专业词汇和翻译水平不足的原因,造成了部分资料翻译不准确甚至上升到了错误的级别。所以,综合所有的资料,我们没有必要在XX论坛上求一些汉版资料,其实官网早就已经把那些最经典最准确的资料放上去了,提供给我们免费下载。但是为什么那么多的人不愿意去官网下载文档?这个原因其实很多人都知道,那就是官网资料是用英文写的,不是我们所熟悉的汉语编著的。还有一个现象就是国内的电子类学者英语水平普遍不高,这也就造成了很多学习者不愿意去看官网文档的现象。但是在书中,特权同学解释道:看 Datasheet 还是要看英文版的,最初开始看的时候,痛苦是注定的,因为这涉及到一个阅读习惯改变的问题,到最后搞一些比较偏的或者比较高级的IC,那么在国内寻求一版中文资料简直就是一种奢望,这个时候,看不懂英文版的 Datasheet 那么就是死路一条。但是我们害怕英文,貌似已经成了国内电子开发者的一种通病(确实是这样)。特权同学最后总结到:看 Datasheet 要忠于原版,翻译的只能作为参考,最后我们会发现datasheet 里面的英文词汇也就那么多,翻来覆去的用,最后也就会习惯了,看起来也就像那么回事了。
  这也是我加进来的第一个基本功:读原版datasheet。
  还有一点,俗话说:好的开始就是成功的一半。那么在这个信息爆炸的时代,一份好的学习资料就是成功学习的一半。当我们初涉一个新的领域时,这点尤其明显。举个简单的例子:郭天祥的单片机视频,在当时来说,那就是最好的资料,一个不懂单片机的人,给他看这样的视频,那么他在一个月内开始搞简单的单片机开发是没有任何问题的,但是想想如果没有这样的资料呢?那么他会抱一本国内通用教材,在纸上研究各个寄存器和堆栈,半年都不一定能开始搞单片机开发!这就是一份好的学习给我们带来的效率问题。当然,我在这里举这个例子不是想说明郭天祥的视频是最好的,因为现在很多单片机视频已经在郭天祥的视频基础上进行了进一步改进,加进了很多其他更好的因素,当然也不能否定老郭对中国单片机的贡献,一人之力,影响至此,已经很不错了!在这里我想要表达的是当我们初涉一门新的领域时,一定要选好入门资料,这个很重要。这个我也可以拿我自己来举例子:当初初涉FPGA时的大部分资料开头都在最底层讲单片机、CPLD、PLC、FPGA等器件的区别,那我敢问哪个新手能听的懂?!但是我发现国内教材全是以这个开头的....又扯远了啊...呵呵..很感谢特权同学的资料教程,两天时间,我已经对大概的FPGA开发流程有了印象,而且开发环境已经了解的还可以了。于是,对于现在这种效率和速度的FPGA学习,我个人感觉还是很不错的。
5:它让我对生活、学习、工作有了更深刻的理解
  对我来说,这应该算是感悟很深的一部分吧!首先,让我先引用特权同学的一段话吧:
  ‘朋友,请原谅我一开篇就说自己是个不愿意谈论个人看法的人,其实我还是愿意说的,但是我总希望最后的结论是积极向上的,是应该让人觉得受鼓舞的。我从小就生长在一个可以说是蛮富裕的家庭里,甚至现在也不差。父母也都是基_督教徒,持家有道,从不缺乏。也许每个人都有自己理想的生活方式,当我走向社会,和我的另一半组成另一个家的时候,我就在期待着有一天我能有一份不错的薪水(至少不用为我的衣食住行忧愁),有一份可以让我很投入的工作(我喜欢的工作,需要有一些压力,因为没有压力就没有动力),生活上也是可以和另一半相互照应,在信仰上也多有一些追求,能够力所能及的帮助一些需要帮助的人,工作只应该是工作,生活也只因该是生活。’
  (以上一段话引自特权同学《深入浅出玩转FPGA》)
  我很欣赏这种人:工作就是工作,生活就是生活!这短短的一句话也许就是我对这部分的感悟了吧。我觉得这句话足以表达出我需要表达的含义了。
6:它改变我对基本功的理解
  无论学的是什么专业,工作时做的哪行哪业,基本功都是必须的。在接触这本书之后,我感觉以前对电子的基本功理解还是不到位。原来的理解就是简单的电知识和电路的思想,现在看来远远不够的。其他需要的基本功可以总结一下:
a):学会阅读原版Datasheet,这个刚才已经解释过,不多讲。
b):焊接技术要强悍。把这个放进来是有原因的,
  一是由于特权同学的解释很让人信服:‘虽然焊接这个活大多是工厂的工人来完成的,他们焊起来也许焊点更加漂亮、可靠。但是对于一些小公司来说,如果没有自己专门的焊接工厂(专门负责焊接的人),也许第一块样板的焊接就会落在硬件工程师的头上,或许这是一个没有选择的选择,即便如此,我们也很有必要掌握焊接这门基本功。直插的不用提,贴片的电容电阻也不算很有挑战性,也许只有当我们试着焊接SOP/TSOP/TSSOP的芯片时,尤其是0.5mm以下的间距时,才可能会感觉到焊接的重要性。扎实的焊接基本功能够给设计带来的便利就不用多说了,大家也许比我心里更加清楚。
  第二个原因是最近团队暑假培训用的板子出了点问题,当初计划是PCB厂批量出板,然后经代理的转手送到焊接工厂的手中的,由他们工厂的工人进行焊接后打货到长春。这次时间上出了问题,造成了板子发货时间的推迟,弄得都有很郁闷。但也没办法,只能等着,尽量催代理让他们快一点发货。由于代理的时间不是我们能控制的,所以这样以后会很容易出问题的。于是,考虑了一下,准备自己亲自解决掉板子的一部分焊接,这就要焊接的功底了,这样的焊接以后少不了的,所以要加强焊接的功底。当然这个个基本功,是越扎实越好的。
c):开始养成写文档的习惯
  很多技术员只会埋头苦干,从来都是默默无闻,一声不响,我们会对这样一个工程师群体肃然起敬,但是光干活还是不够的,我们缺少的是表达。表达最基本的两条途径就是嘴皮子和烂笔头,后者就是指文档了,我们要学会写文档,给别人看的,给自己看的。几个简单的原则:用户想知道的不是你的设计如何优秀,而是想知道如何使用这款产品,所以给用户的说明书要越简单越明了越好;给自己看的就不要需要一堆华丽的报表,只需要一些简单的总结、经验归纳就可以了。给自己看的文档不用正式,只是我们应该学会写一篇优秀的文档,擅长记录总结自己设计中的点点滴滴。


  当然,这里只是举了几个简单的感悟,要想成为一个优秀的电子开发人员,需要的素质和基本功是全方面的,这几点是远远不够的,这就需要我们在平时的多多积累,不断地反思和总结了,既然我们选择了这个行业,选择了做技术,那么就应该好好奋斗,总会等到出暖花开的季节。总有那么一天,曾经的小树苗会枝繁叶茂、参天大树。
  这篇感悟写到这里也就差不多了,一会还有几个代码要去看.....窗外的夜已经开始泛白了,是该结束了,只希望这段时间结束后再回头看看,又会有新的感悟...

  最后写一句话,算是送给自己吧,也送给所有的迷于技术的人:
    
    技术源于积累,成功源于执着
    放下浮躁,才能摆脱困扰----------共勉







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表