就业数据资源平台
当前位置:首页 > 笔试题目
nvidia2009 ASIC笔经


原创,呵呵。上午参加了NVIDIA2009笔试, ASIC Design Engineer, 一个大教室满满的,3,400人。题目出的不错,全英文题目和回答,不许用verilog/VHDL,全部门级。我觉得这样很好,能考查一些深入的东西,毕竟做ASIC不是编程序。总的来说题目很简单。

下面是记忆中的题目:

题1,给一个eco后的3输入变量的逻辑表达式,用NAND2和 NOR2表示。

这个很简单,不多说了。

题2,一个逻辑串行输入3-bit in, 与一3bit stored pattern比较。输入1位比较结果match. 当3-bit in为000时,pattern变为101。当3-bit in为111时,pattern变为010。Pattern可以变化。设计电路。

这个题搞state machine就太复杂了,直接两组shift register + NOR3 + AND3再有个3-bit comparator就搞定。

题3,给一段verilog代码,找错误并改正。

本题关键是要找出代码的用意,理解了目的后再改写成正确的代码,而不是检查语法错误。这个题的意思是对4个输入的与,或,XOR,NXOR用几个控制信号做选择。错误很多,至少有4个。其中包括漏写的begin..end,两个漏写的else, reset后应为 8’b0而不是1’b0, 等等。

 题4,描述f的用途。其中A[7:0]为8-bit vector.

a) f=A[0]|A[1]|A[2]|A[3]| A[4]|A[5]|A[6]|A[7]

b) f=(A[0]&A[1]| A[2]&A[3]| A[4]&A[5]| A[6]&A[7]) | ((A[0]|A[1])& (A[2]|A[3])| (A[4]|A[5])& (A[6]|A[7])) | ((A[0]|A[1]|A[2]|A[3]) & (A[4]|A[5]|A[6]|A[7]))

第一个大家都知道,A中是否有1。第二个看起来很复杂,如果要根据这个表达式去化简是不容易的。需要仔细观察表达式的对称性。功能是检测A中是否有2个以上的1,其工作原理类似于2分法。本题难度本来不低,但因为给了a)的提示,所以落得沦为一个简单的题目。答的时候最好把分析思路写上。

题5,输入一个文件 mail.list,包含 zhang aaa@a.com li bcd@sohu.com song cde@nvidia.com ... 找到该文件中邮件地址包含@nvidia.com的名字,按字母顺序排序,输出到新文件ndivia.list中。

PERL20行之内搞定,用C的话恐怕很痛苦。

题6,A,B两人,卖了x头羊,每头羊x元,然后分钱,他们定的方案是A,B轮流取10 dollar, A先去。请你建议更好的方案以保证fair。

这个题目比较搞,如果规则都定了何来fair or unfair。我想大概考查的是应变和分析能力。我的答案是分析了一下原方案的利弊,然后给用流程图给出了一个简单的新方案。


就业数据资源平台