老莫

数字集成电路与系统MooC回答集锦-2

1
阅读(1972) 评论(8)

那位在MooC上提问的同学有提了一些问题,觉得不错,就继续来更新一下。

另外,MooC的网址是:http://www.icourse163.org/course/0807uestc021-234015

有兴趣的朋友欢迎前去观看。


好,下面继续出问题集锦:


问题1:数字电路设计做深入了是否需要往算法方面努力,毕竟只有做算法才会是有深度的?


回答1:做数字集成电路主要是两个方向:算法和接口。前者主要是用数字集成电路与系统来实现一段数学运算,从而实现对数据的处理;而后者是利用数字集成电路与系统作为“电子胶水”,来连接不同的子系统,从而实现数据传输。在数字世界里,数据的传输和数据处理一样重要,有时候甚至更加重要。关于这两个方向的描述,可以参考我的博客:http://blog.chinaaet.com/molf/p/5100050503

以及这篇成名已久但是被到处转发却没有留名的博客:http://blog.chinaaet.com/molf/p/11001  


问题2:如果为了让数字电路设计和算法结合起来,我们最好选择哪一个方向上的算法,通信编码解码?通信数字信号处理?数字图像处理?或者其他?等等。这样选择的理由是什么?


回答2:需要注意的一点是,作为数字集成电路工程师,我们的本职工作始终是设计电路而不是研究算法。我们做的事情只是让算法用更合理的方式以数字集成电路的形式实现而已。所以,我们最需要掌握的是把基本的算法运算转换为逻辑电路的套路,而不是深究算法本身。这些套路我们这门课后面会有所讲到,你也可以阅读《数字信号处理的FPGA实现(第4版)》加以了解。如果觉得难度太大,可以阅读高亚军编写的《基于FPGA的数字信号处理(第2版)》。熟悉了这些常见套路以后,对于任何形式的算法实现都能够做到以不变应万变。当然,如果要想充分发掘出算法实现的性能或者把实现算法所需的硬件开销降低到最低,需要算法工程师和数字集成电路工程师的密切配合和深入交流,也需要数字集成电路工程师自己加深对于算法和业务的理解。但是这个是工作经验的积累,不是靠看书能够学习到的。


问题3:如果已经选择了一个算法的方向,为了往这个方向深入,我们需要做哪方面的努力?就拿您的本行通信算法来说?我们需要看哪些书,我们需要做哪些事情?(况且FPGA现在最主要的用途就是用在通信接口上)


回答3:第三点问题我在第二点已经一并回答了。我现在想谈谈接口的问题。接口和算法其实是数字集成电路的两大分支,两者之间所需要的知识背景并不相同。这一点可以参考我第一点回答里我的博客给出的两条技能树升级路线。相比于算法,接口设计是一个高度两级分化的领域。大量的人在做着比较简单、低端和重复的工作,而少部分精英在定义接口的实现规范。相比于算法,接口设计是一个既死板又灵活的领域。死板的是说我们设计接口的时候必须要按照总线协议、接口规范来做,很难像实现算法那样随心所欲。但灵活是指很多具体的接口设计,往往需要设计者灵光一现,没有像算法实现那么多套路。就是靠设计者灵光一现,往往就可以“扣”掉一两个时钟周期的处理时间。这这对于很多应用来说都是非常关键的。另外,需要声明的一点,我虽然是学通信出身的,但是没怎么认真做过算法相关的问题。我其实是靠做接口起家。你看到了我自我介绍的时候说自己是研究如何造计算机的。造计算机的核心就在于去构建各种各样的接口,以处理器为核心把这样一个计算机系统构造起来。


问题4:这个问题可能与主题无关,是我在学习的过程中遇到的一个问题。我不知道您在写代码上的水平如何,我个人在写代码的时候就遇到过这样的一个问题,对于一个比较复杂的现实问题,我们如何才能抽象出描述它的逻辑函数;我个人在做开发时,很难把实际问题的需求分析清楚,也不知道从哪个角度去切入。如何才能提高自己写代码的水平?(其实最主要的事编程思想,如何才能提高自己的编程思维?)


回答4:就像上面说的,我们做数字集成电路设计的,其实自己去“写”代码的时候很少。我们做的事情基本是“转换”代码,把一个由伪代码或者Matlab描述的代码转换为数字集成电路的逻辑形式。所以如果你要问如何去从零开始构建一个算法,这样来写代码。其实我没有什么经验。对于如何学习“转换”代码,我第二点已经回答了。

  1. @AlexZhou   

    4.有时候连书上的推导过程都很难看懂,是否是我的物理知识比较欠缺? 

    感觉中文的text book有部分写的真的不好,相互copy,省略,甚至错误。感觉不太像写个一个学习者看的,反而像是写给作者自己看的。 是否应该看英文原版教科书?

    数学建模和物理方面的能力如何提高? 

    以上!如此多问题,算是我学习时期遇到的,一直找不到答案,在心里沉淀了好久。借着这个平台,希望您能够赐教。或许问题比较多,希望您能够耐心,也算是给我们晚辈的一点指导。 在此谢谢您了!

    不错,我准备开个新帖子来回答这些问题。

  2. 4.有时候连书上的推导过程都很难看懂,是否是我的物理知识比较欠缺? 

    感觉中文的text book有部分写的真的不好,相互copy,省略,甚至错误。感觉不太像写个一个学习者看的,反而像是写给作者自己看的。 是否应该看英文原版教科书?

    数学建模和物理方面的能力如何提高? 

    以上!如此多问题,算是我学习时期遇到的,一直找不到答案,在心里沉淀了好久。借着这个平台,希望您能够赐教。或许问题比较多,希望您能够耐心,也算是给我们晚辈的一点指导。 在此谢谢您了!

  3. 3.关于数学和物理方面的能力

    越往后学,越觉得数学和物理的重要性,不知道您的数学和物理能力如何,是否谈谈您的理解,关于如何提高数学建模和物理思考的能力。这里的数学和物理能力指的不是计算能力,而是建模和抽象思维的能力。如何才能把一个实际的工程问题中抽象出物理问题,从而进一步抽象成数学模型?如何根据数学模型写出数学方程式?



  4. 2.关于模拟电路和射频电路部分

    您本身是做数字电路逻辑设计的,冒昧的问一下,您各人对模拟和射频电路(就是纯电路部分)的造诣是否深入?就我各人而言,虽然一直在做数字逻辑的FPGA开发,但是我个人对射频电路和微波无线电通信部分是非常感兴趣的,但是受限于大学的实验条件和工作后的机会,再也没有机会接触射频电路部分了,不知道您是如何看待模拟尤其是射频电路领域的?现在发展到什么程度了?还有哪些问题没有解决?整体的方向是什么?

    据说射频部分对实验仪器和经验要求尤其高,很多时候书上的结论和实际相差很大,甚至连仿真软件都无法相信,是否如此?

    是否能够推荐一些模拟和射频方向的书籍和文档给我们看看?

  5. 关于对电子工程大类专业的思考以及一些疑问:

    电子工程的出现远远早于计算机和互联网,自然,电子工程也比计算机和互联网发展的更加成熟。从早期的电子管再到晶体管再到分立元器件(大哥大时代),再到集成电路,随着集成电路工艺的不断进步,元器件做的也原来越小,元器件之间的尺寸越来越小,芯片的层级也越来越多。总之半导体工艺技术的进步让芯片的性能越来强悍,面积却越来越小(摩尔定律)。其实,我个人觉得,电子工程发展到如今,设计上已经非常成熟了,(我没有学过半导体工艺,不太了解工艺,感觉半导体工艺应该划到半导体物理或者固体物理之类的专业稍微好一些,和纯粹的电子工程其实关系不大的,不知道制造工艺是否也发展的非常成熟了)。 一个产品的开发,主要的精力真的是放在了软件开发上了,电子工程师的(这里指的是纯粹的模拟电路工程师和EMI工程这些纯电路部分)用武之地真的非常小了。FPGA我个人一直把他规划在软件开发里面。(或许您不赞同)。


  6. 1.1我想请问一下,想了解整个架构层次,需要去看哪些书?  

    1.2况且,我个人感觉,架构层次由于“技术层级”太高,应该只有大型的芯片设计公司才会用得到(如TI之类),如果在国内找工作,我目前好像还没有看到有哪家公司在研究架构?(或者有我不知道)

    1.3投入太多时间和精力去学习微处理器架构的知识,是否没有太大必要?

    1.4微处理器的架构应该已经研究的比较成熟了吧?在我有限的知识范围里面,大概知道X86架构,ARM架构,DSP架构等(不知道我是否把架构理解错了?)。其实我想问的是,这样的架构应该全世界也就那么几种?-回到第一个问题,应该只有顶级科学家才会研究架构?

    1.5感觉随着技术的发展,微处理器架构和理论计算机方向之间的界限重叠了?我不是学计算机的,但是听说计算机有一门专业课叫计算机体系结构,其实单片机就是一块单片微型计算机,所有的电子信息类专业都会学一门课叫单片机原理与接口技术,感觉里面讲了不少单片机(或者叫计算机)结构的知识,冯诺伊曼结构,哈佛结构等,还有什么RAM,ROM,总线之类的,不知道您所说的架构是否指的是类似于这些知识?

    1.6如果问题1.5中我的猜想成立,则,烦请回答一下,为什么感觉微处理器架构和理论计算机之间的界限模糊了?或者我自己的想法有错误?


  7. 这个网站怎么这么讨厌,还有字数限制。我只能分开写了,还请您耐心看

    突然之间发现了您写的这个博客,以后会利用这个平台和您交流,上面的问题和集锦一里面的问题都是我提的(大概十一国庆期间),您的慕课网里面的视频我看过,感觉讲的挺好的,和您交流也确实学到了不少东西。

    还是有如下的一些问题希望能够指教,在此先谢过:

    我在视频里面听您说过,随着门电路的成熟,IP核的复用,数字集成电路的核心已经不再停留在电路本身了,而是停留在架构层次,最难的部分也是架构层(大概是这个意思,原话我不太记得了),



  8. 哈哈,慕课网上的这篇提问是我提的,时间大概是在十一国庆期间,非常感谢老师能够把我的问题搬运到这儿来,突然发现了一个好的平台可以提供我们参考,以后我也会有不懂的问题来询问您,还请赐教。