好久没有写博文或者论坛写东西了,毕业了进入到自己喜欢的领域,不再像学生一样关注更多迷茫的事情,沉下心来研究自己的工作或者学习更多新鲜的东西,特别想记录一些关于技术方面的经验或者疑惑和技术牛人们交流以及学习。我是一名验证工程师,主要针对的是处理器的验证,设计十分复杂,功能模块较多,项目周期较长,给验证带来了巨大的挑战,单一的验证方法无法满足完备性的需求;在项目中幸运的接触到了sv仿真验证、Soc仿真验证、UVM验证方法学、FPGA原型验证,目前专注于FPGA原型验证的解决方案,同时关注UVM仿真验证和Soc系统级的验证。
很多人不喜欢验证这个方面,因为认为设计是最牛的,可以有自己思想和比较强成就感,我刚入处理器研发这个行业也是这样的,认为有机会就去做设计,谁跟着他们做验证;工作做的久了才能够对某些方面很了解,我询问过很多资深工程师,关于这方面的问题,其中一个回答我说:设计关注的领域较窄但是较深,例如你要设计浮点数运算方面的部件,那么你要对浮点数了解深入并关注浮点数的算法改进、应用浮点数的算法等方面;验证关注领域较宽且要求通用,例如你要验证浮点运算,那么你考虑的就是他实际应该在什么环境下工作的,外部给什么样的信号,会带来什么样的变化,可以用到的方法由哪些,系统集成如何验证等。也有和我说:验证不仅是一个技术活,同时是一个管理活,你关注的问题不仅仅是你的那一个方面还要关注协调沟通设计和软件人员,还要协调各种不同的验证方法团队的达成一致。刚参加工作的人都觉得验证工作是一个打杂的工作,但是什么工种进入工作不打杂呢? 其实验证工程师同样是需要有硬件思维的,其工作不同于软件工程师,验证该关注的是一个设计在环境下如何动起来,在不同的环境激励下如何跑起来,那么这个环境就是你的设计,你的环境越强大越能够发现更多的bug,越能够提升自己的工作效率,同时你的环境要去考虑软件人员的要求,环境中如何实现软件的验证,如果一个软件应用人员用我需要验证满足哪些东西;而设计本身你也要关注,一些算法方面的知识要具备,甚至验证人员要满足,验证完成后你要比设计了解这个领域的设计方法和实现策略,具体他用什么语法风格倒可以不关注,当你最后与验证人员讨论问题的时候可以质疑和指出他的设计缺陷和漏洞。验证是一个综合的技术验证,要求综合和通用,且自动化,要想验证工程师做的好也不能只能关注单一验证方法;很多人认为UVM很牛,会了就可以让芯片一次流片成功吗?UVM的确给仿真验证带来的升级,但一种验证方法学是无法关注完全,只是最近在这个领域比较热,但是越热的领域越容易变革,可能明天就出来一个新的方法学,所以方法学本身不关键,重要的是要理解仿真验证的平台是如何使用的,要如何将它使用好,例如VCS,NC;原型验证中关注平台是怎么工作的,EDA软件是如何运行的,如何运行让它更加优化,在FPGA中需要了解内部结构,EDA软件实现算法,如何更优的解决综合、布局布线等问题,如何综合的将仿真、加速器、FPGA原型结合起来,提升验证效率。当然更多的人是关注其中一块,做的深入也能够做的很牛,但是验证真的不能只是挑挑bug,跑跑批量就可以的。
我也只是在研发领域初生的小生,还不能深谙其中更多大道理,但是希望写些东西,说说自己的想法,谈谈自己的观点,聊聊自己接触到的技术;算做一个分享,也算是一个交流,希望能够和更多的技术牛人共同奋斗,打造更强的集成电路产业,为中国IC的发展添砖加瓦,从今天开始每周会更新自己的工作问题和技术疑点,同时也会介绍业界一些先进的验证工具和方法、以及先进的验证平台的使用,例如VCS仿真的使用、UVM验证方法学的应用和改进、硬件加速器的应用和设计提高、FPGA原型验证中遇到的技术问题和V7芯片的优化平台,一些领域不是自己擅长,但是会根据同所处领域研究的人员的交流提供一些知识和技术。
祝 好
用户1221358 2014-12-29 10:14
用户438046 2014-9-2 20:26
用户1194566 2014-8-1 15:42
用户1731613 2014-8-1 00:13
用户403664 2014-7-29 15:49
用户1029994 2013-10-10 13:17
用户619750 2013-9-26 22:49
用户1613920 2013-9-22 18:37
chen_zs2012_704941858 2013-9-19 08:24
用户377235 2013-9-17 10:22