NVIDIA笔试.docx
- 文档编号:10878341
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:10
- 大小:21.58KB
NVIDIA笔试.docx
《NVIDIA笔试.docx》由会员分享,可在线阅读,更多相关《NVIDIA笔试.docx(10页珍藏版)》请在冰豆网上搜索。
NVIDIA笔试
NVIDIA的笔试和面试
NVIDIA的笔试和面试是我参加过的感觉最严格的。
NVIDIA上海研发中心,PHYSICALDESIGNENGINEER这个职位
笔试:
笔试分两部分第一部分为技术测试,第二部分为英语
第一部分约10题(凭记忆写吧),时间30分钟(根本来不及做)
1.简单c代码,写输出结果
延时问题,比如1000um为50ps,2000um延迟是多少,10个1000um串连是多少,中间
加上BUFFER又是多少?
树延迟问题,给出R,C的值和驱动电平,求RC电路的延时,两级RC电路的延时
4.画CMOS反向器结构图标出个部分区域如N+,N-,Metal,Channel,Nwell,substrate,po
ly-siliconetc
5.画与非门电路和layout,棍图
6.两个D触发器和一级buffer组成同步电路给个若干时序数据比如buffer延时,tsetup
thold,组合逻辑延时,时钟SKEW。
算总延时,以及和时钟频率的关系,需要满足的条件
(setup,hold)
7,两个管子串联,vdd接上管g,d和下管g,下管s接地,上管s和下管d相连作输出vout,
求vout
个反相器串联,给出最前面一个和最后面一个反相器P管和N管的宽长比,问中间的反向
器P管和N管的宽长比,使得整个电路延迟最小
9.两个电容并联,给出C值,一个电容给另外一个放电,问最终电容上的电压。
第二部分,20分钟
英文作文(200字),你认为从项目中学习知识重要还是从书本学习重要?
面试:
面试分为两轮,第一轮1小时,全英文;第二轮45分钟,中英文掺杂。
第一轮一上来先是随便聊聊,聊了学校,专业,项目,兴趣爱好。
然后问我在项目中遇到的最大的困难是什么,是怎么解决的?
再然后问了我两个智力题。
接着打开一张板图,问了我有关floorplan和partitioning,timingclosure,low-power
design之类的问题,
然后又问了我一个智力题,
最后问我有什么问题要问他。
第二轮一上来也是随便聊天,聊了学校,导师,实习情况等
然后进入正题,问了我有关wire-loadmodel,manhattanrouting,STA分析,PT的用法之
类的问题。
接着问了两个初中平面几何的证明题,
然后换成英语,问了我的兴趣爱好,以及对NVIDIA的感觉。
最后问我有什么问题要问他。
一、3个D锁存器组成的反馈回路,给了时钟,画出输出波形。
二、,5V,12V三个输入,都有输入那么输出12V,不然。
。
。
用晶体管搭。
3、连题都没看明白,据AC说是结型场效应管求Vt
4、给输入电压波形,画RC输出波形
五、C,数组的2分搜索,判定输出值
六、什么是GraphiyCard
7、什么是ChipSet
1.哪些formatandresize的工具
2.registersofCPU,依照16bits和32bits进行分类
3.请说明inductor和ferritebead之间的区别
4.caches有哪些种类
5.请举个hazards的例子
6.debugamemoryfailure
7.MOSandAssemblyLanguage编写A+B=Y
一、名词释义:
EMI、PCB、crosstalk、overshoot、DDRSDRAM;
二、数制转换:
DC(HEX)=__(DEC)=__(BIN);
3、给个BJT的图要求标出e、b、c还有判定pnp/npn;
4、RCL串联谐振的频率f=__和Q=__;
五、运放V+端到Vin接一个电阻R1,到Vout接一个电阻R2,V-端接地,问Vout/Vin=__;
六、100MHz的正弦波跟带宽100MHz的示波器什么什么的,还有200MHz的什么,那个没看懂,乱答的,一个是问衰减多少dB,还有问可不能够,WHY,似乎跟采样定理有关。
7、问groundbound在highspeedsignalsystem中的作用,和如何利用;
八、双口网络写V2/V1=__,电路很简单确实是V1进去接一个R1C1串联出来V2,再R2C2并联到地;
九、给逻辑图写表达式并化简,国际符号,我看那个图确实是AB、CD、EF各接一个与门,再三个与门出来接一个或门出来是G,我就写G=AB+CD+EF,化简?
?
?
?
10、传输线方面的,没有图,就不行说了。
1一、用组合逻辑门设计一个二进的平方电路,输入S2S1,出来是F3F2F1F0,写出真值表,表达式和画逻辑图;
1二、C语言写输出结果,很简单的,主函数挪用一个函数fun(),fun()函数里面用了staticint,那个是需要注意的,也就没什么了,几行罢了。
13、给个时域信号x(t)的曲线,然后给出频域图线X(f)的确实是一个三角形-fc、+fc,作出sampleddiagram,注意奈奎斯特采样定理的运用。
确实是fs>2fc啦,温习一下信号与系统,很简单吧,我看隔壁的学通信的MS们画得55的快,因此俺也画得55的快。
14、那个也没看明白,可能是4bit的binarysystem表示decimal,要求说明signedmagnitude、one'scomplement、two'scomplement,然后填表:
表格确实是十进制数-8~-0,+0~+8别离对应signed、unsignedmagnitude、one'scomplement、two'scomplement的4bitbinary。
要求:
不能写Verilog/VHDL,必需用门电路或状态机表示。
1. 设计A[9:
0]*的电路,要求用尽可能少的门。
2. 设计地址生成器,要求依次输出以下序列:
0,8,2,10,4,12,6,14,1,9,3,11,5,13,7,15,
16,24,18,26,......................,31,
32,40,34,42,......................,47,
48,56,50,58,......................,63,
64,72,66,76,......................,79
1.表面看是乘法器,由于第2个乘数给定,其实确实是加法器,移位相加需要5个18位的加法器就能够实现,若是要求用尽可能少的门,能够换做补码运算A[9:
0]*=A[9:
0]*,只需要3个19位的全加器.虽说多了求补电路,但却节省了全加器,整体是节约了门.全加器也是由1位全加器搭成的,1位全加器用门搭是很容易的,记得逻辑关系的话直接画电路,不记得用真值表能够推出来.
2.2.只是需要将addr[0]与addr[3]交换连接,即就是新的addr[0]就是原来的addr[3],新的addr[3]就是原来的addr[0],感觉不需要什么门电路,只是连线的时候注意一下交换就行了
3.感激版主的解答,可是19位全加器就有点复杂了,若是用逐位进位的方式也不是个好方法,用超前全加器又比较复杂。
而且感觉若是笔试的答题空白都有限,是不是还有窍门
4.第二题那么简单吗?
5.14-1是怎么变换的,把addr[0]与addr[3]交换连接好象不行啊
6.关于第二题:
设计一个counter[6:
0],把末4bit从头排布后输出,{counter[6:
4],counter[0],counter[2],counter[1],counter[3]}
7.又在考Wallace_tree,呵呵。
8.
9.去年Nvidia去学校招聘的笔试题就考了的:
大意是七个人选举,统计票数。
很难说清楚,给一段代码你自己看吧,用一个加法器和四级CSA实现七个数相加,面积小速度快:
`timescale1ns/1ps
(a1_i[15:
0]),.B(a2_i[15:
0]),.CI(a3_i[15:
0]),.SUM(s11_s[15:
0]),.CO(s11_c[15:
0]));
FULLADDER stage12_u[15:
0](.A(a4_i[15:
0]),.B(a5_i[15:
0]),.CI(a6_i[15:
0]),.SUM(s12_s[15:
0]),.CO(s12_c[15:
0]));
FULLADDER stage2_u [15:
0](.A(a7_i[15:
0]),.B(s11_s[15:
0]),.CI(s12_s[15:
0]),.SUM(s2_s[15:
0]),.CO(s2_c[15:
0]));
FULLADDER stage3_u [16:
0](.A({1'b0,s2_s[15:
0]}),.B({s2_c[15:
0],1'b0}),.CI({s12_c[15:
0],1'b0}),.SUM(s3_s[16:
0]),.CO(s3_c[16:
0]));
FULLADDER stage4_u [17:
0](.A({1'b0,s11_c[15:
0],1'b0}),.B({s3_c[16:
0],1'b0}),.CI({1'b0,s3_s[16:
0]}),.SUM(s4_s[17:
0]),.CO(s4_c[17:
0]));
assign product_o={s4_c[17:
0],1'b0}+{1'b0,s4_s[17:
0]};
endmodule
moduleFULLADDER(
首先压缩电路并不会增加很多资源,虽然我没比较过,不过3个加法器的面积估计不会小,而Wallacetree结构压缩后只用一个加法器,到底哪个资源低大家可以综合看看。
对于一个数为常数的乘法器,可以直接使用CSD编码要的资源肯定是最少的(求补的思想跟这个类似就是减小1的个数),不过CSD编码算法比较麻烦,不容易记住,笔试面试就不大可能编得出来了。
3:
2紧缩确实是1位全加器,5:
3紧缩要么确实是两个全加器组成,要么就列真值表从头写表达式列电路.但估量门也差不多.
WALLANCE树不会减少全加器的个数,只有可能减少半加器的个数,如果这个题采用阵列乘法器用5个半加器,其他全为
全加器,WALLACE树用的再好也不会一个半加器不用的.用WALLANCE树的好处缩短关键路径.提高速度.
真的要减少全加器就用BOOTH编码,这才可以.
最后设计乘法器真的没必要用DC看结果,这要靠结构.你如果有这个乘法器的结构在心里,我想大概纸上一划就知道需要多少全加器,多少半加器了.
如果可以用存储器,查表更方便
关于DesignWare的库我感觉已经很成熟了,若是只是单纯的两个变量a*b,工具做出来确信比咱们自选结构要好。
当然如果结构特殊就可以自己做了。
比如上面的常系数乘法器,用CSD编码+Wallace资源应该最少。
难道你还能发明一种更好的编码方式吗?
1.算二进制加减法
2.设计一个全加器,用a)multiplexer8input,2bit(研究到最后我也没想起来那个东东究竟是虾么东西)b)用decoder(译码器)
3.用与非门画个电路图
4.两个D触发器连在一路,求一个时序电路的功能。
我画出状态机后就写上去了,这块有的地址印象有点模糊了,因此画完状态机,感觉写的功能可能有问题,可是已经没时刻改了
5.一个D触发器,也是要写功能,功能么确实是依照clock信号来给输入信号采样。
那个我感觉比较简单,可是不明白是不是越简单陷阱就越多?
仍是里面或许潜藏着竞争冒险?
我是看了半天也没看出来。
1,给出stack结构,利用stack完成queue的操作。
Classstack{
Voidpush(data);
Voidpop(&data);
Boolisempty;}
写出:
Classqueue{
}
2,一个链表,里面数字无序排列,要求给出代码,实现升序排序。
Voidsort(*head){
}
3,a=b*c+d;b,c,d均为unsigned8bit,问a需要多大bit来存储。
给出思考过程。
4,解释mipmap(一种texturemap方法?
)
5,数据发送端:
100clock中工作80clock,休息20clock,但这80是random分布的。
(1b
it/1clock).
数据接收端:
每10clock中前8clock工作,后2clock休息。
问:
作为中间的一个缓冲器,其容量应该为多大?
6一个格子图,大概如下:
b w b w b
w b w b w
b w b w b
w b w b w
b w b w b
(1)有多少个正方形?
(2)有多少个方形(包括长方形,正方形)?
(3)给你一个点,你如何判断它是黑色还是白色?
写c代码。
以左下角为原点。
注:
b表示黑色,w表示白色。
(上面所有小方格都是正方形:
)。
一、提供一个stack,要求实现一个queue。
二、链表查找改错
3、实现一个内存分派函数,要求返回的指针按64byte对齐
4、Dataproducer每100clock内随机产生80byte数据,dataconsumer每10clock内前8clock每clock消耗1byte,后两个clock不干活,二者之间需要多大的buffer。
五、四个人晚上过桥,别离要1,2,5,10分钟,只有一个手电,桥只能同时过两个人,最少需要多久才能过桥?
六、几个关于virtual关键字和RTTI的问题。
7、几个关于STL的问题(很无聊,比如利用STL是不是会降低performance之类)
笔试的题目,刚开始确实是几个英文的oq,什么你的个性一类,为何选择那个职位等等,唉,俺比较懒,写的不多,后来证明这是错误的,也是俺被bs的缘故。
后面有几个技术的题,asic的设计流程,cpu的结构图(又考那个,那时就无语),还有一个cmos反相器,都不难,但我边上那个金融的小孩,一看就接着交卷走了。
答完也没啥感觉,专门着急,下午就发面试通知,第二天就面试,估量是想省翠微饭馆的租金。
唉,俺那个去凑喧闹的哥们接到面试通知了,估量是我的oq写的太少,被默拒了。
早上笔试不顺,上来就给我了我一份硬件的试卷,才发觉我申请错职位了,于是申请换了一份试卷仍是硬件的,只好硬着头皮做下去,实在对硬件头大,就和隔壁和我一样倒霉的北理mm谈天了,半个小时事后,交卷想归去了,还好一名考官帮我又换了一份c语言题从头作,可惜时刻不够,有三四道大题没做,确信没戏了。
听说牛人在下午就收到面试通知了,看来被鄙视了。
IBM的笔试也答的不怎么好,估量也over了。
记了一些题(都是大题,编程题):
1用链表实现队列,
2实现最快算法n*15
3判定一个数是不是是2的n次方
4分派内存void*mem(int32_tsize,int32_tassignment)
5两个binarysearchtree归并算法
6坐标系转换矩阵
7计算cpu和存储时刻等
下午3点准时开始,题量不大,一共6道,也不是很难,第一题是时序问题,第二题写Verilog代码实现同步复位和异步复位的触发器,后面详细说它,第三题画状态图,第四题估算计算结果所需的最小位宽,第五题给条件求FIFO所需的最小长度,第六题是4个人过桥问题,所需最短的时刻,很常见了,可我仍是想了好一会。
此刻还让我很愁闷的情形是,竟然第二题做错了,越想越愁闷,那个错误将让我错失这次我很看重的机遇,悲伤死了。
。
。
我竟然将同步复位的Flip-flop写成异步复位的Flip-flop,然后你可想而知,写异步复位的Flip-flop时我就不明白怎么写了,写成
assign=(!
Reset) ?
0 :
data_input;
我那时也很疑惑,但我的确不明白应该怎么写,我的明白得中同步电路是时钟沿触发,异步电路是电平触发,而平常设计中都直接用异步复位的Flip-flop,还以为那确实是同步复位的Flip-flop(固然这些都是我今天查阅一本书后才明白自己错在哪里的)。
决定在那个地址完整的写一下这两个模块,利己利人。
考了些C++概念
(a)purevirtualfunction
(b)struct和class区别
(c)static含义
(d)overload和override区别
5.f(x)=a0+a1*x+a2*x^2+...+aN*x^N 最少需要多少次加法和多少次乘法
6。
关于cache的。
。
不懂
7。
求空间点到直线距离
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NVIDIA 笔试