原创 《基于FPGA的快速系统原型开发》CH3译——前言

ARM 48浏览

《基于FPGA的快速系统原型开发》CH3译——前言

    首先,很感谢riple兄给大家推荐了《Rapid System Prototyping with FPGAs》这本相当不错的书,尽管目前没有中文版面世,但是并不妨碍我们这些FPGA开发菜鸟对其产生浓厚的兴趣。感谢riple兄翻译了第四章的内容(http://blog.ednchina.com/riple/236637/message.aspx),这两天我也只是粗略的浏览了前三章,但是感触良多,只能用受益匪浅来形容我的收获。由于特权同学E文水平实在太烂,也许只是领会了原文不到80%的意思,而在这80%里也许还有20%没有领会作者所要表达的精髓内容。所以,还是那句话,好记性不如烂笔头。都说“树挪死,人挪活”,白字黑字那是死的,而我们对问题的思考、对原文的理解都是活的,所以我们有必要让这些死的字句活生生的映射到我们在FPGA开发设计中的每一个步骤里来。于是,特权同学希望从第三章入手,和大家一起探讨《优化开发流程》(《Optimizing  the  Development  Cycle》)这个话题。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    如果用最经典的一句话来阐释这个章节,那么特权同学会毫不犹豫的给大家送上这句话:

Although  the basics for designing can be obtained  in datasheets,  application notes  and other  technical  literature  or training,  the hard  lessons are  taught  through failures  and experience. While  this  is unfortunate  and typically unavoidable,  what  is most  important  is  that failures not be  repeated.

    相信每一个有过一定开发经验的工程师,哪怕不是一个FPGA开发工程师,这句话都是受用的。记得当年马哲书上这样告诉我们“经验分为直接经验和间接经验”,书上来的、甚至我们听某某前辈言传的所谓经验,那都叫间接经验,自己实践获得的才是直接经验。在我们设计开发的启蒙阶段,我们需要很多的间接经验指导我们的每一个动作,曾经大学课堂里从讲师那里灌输的基本知识、参加过的培训、乃至从器件厂商获得的每个ICdatasheetapplication note都是我们进行相关设计的很好参考,这些都是不折不扣的间接经验,也许我们可以从中获得很多指导性的东西。但是,“纸上来的终觉浅”,最深刻的东西往往不是这些间接经验,却是那些让我们记忆犹新的一个个失败的教训。对设计者来说,最重要的也就是不要重蹈覆辙,错过了就不能再错,必须让曾经的过错成为明天的财富。今天的过错多一些,那么明天的过错就应该少一些。

    而《Rapid System Prototyping with FPGAs》一书的作者用20来年的开发经验来说话。它所传达的不仅仅是开发流程本身,更是每一个设计者应该用心去领会的每一个细节。回到我们的CH3上来,开发流程是死的,FPGA的开发流程更是一个很特殊的反反复复的过程,而如何最大程度的减少这个反反复复的过程就是快速系统原型开发中很重要的议题。所以,这个流程很有学问,如何达到最优化是我们应该好好思考、好好学习的。往后的博文(译文)希望大家共同探讨,特权同学文章中的疏忽和不妥之处欢迎指正。