NVIDIA公司ASIC Intern的笔试

时间:2020-12-24 14:40:43 笔试经验 我要投稿

NVIDIA公司ASIC Intern的笔试

  

NVIDIA公司ASIC Intern的笔试

昨天去参加nVIDIA公司ASIC Intern的笔试,hr没有告诉我具体地点,一开始走错了地方,去了春晓路122弄34号4号楼,问了下才知道那里是nVIDIA的Physical Design部门,让我去金科路2966号,结果又走了半个多小时才找到,幸好我去的早,要不肯定迟到了,哎,我受伤未愈的脚啊。。。

  下午3点准时开始,题量不大,一共6道,也不是很难,第一题是时序问题,第二题写Verilog代码实现同步复位和异步复位的触发器,后面详细说它,第三题画状态图,第四题估算计算结果所需的最小位宽,第五题给条件求FIFO所需的最小长度,第六题是4个人过桥问题,所需最短的时间,很常见了,可我还是想了好一会。

  现在还让我很郁闷的事情是,居然第二题做错了,越想越郁闷,这个错误将让我错失这次我很看重的机会,伤心死了。。。

  我居然将同步复位的`Flip-flop写成异步复位的Flip-flop,然后你可想而知,写异步复位的Flip-flop时我就不知道怎么写了,写成

  assign = (!Reset)? 0: data_input;

  我当时也很纳闷,但我的确不知道应该怎么写,我的理解中同步电路是时钟沿触发,异步电路是电平触发,而平时设计中都直接用异步复位的Flip-flop,还以为那就是同步复位的Flip-flop(当然这些都是我今天查阅一本书后才知道自己错在哪里的)。决定在这里完整的写一下这两个模块,利己利人。

// synchronous reset flip-flop

module syn_flipflop(clk, Reset, data_input, data_output);

  input clk, Reset, data_input;

  output reg data_output;

  always @(posedge clk)

  begin

  if(!Reset)

  data_output = 0;

  else

  data_output = data_input;

  end

  endmodule

//asynchronous reset flip-flop

  module asyn_flipflop(clk, Reset, data_input, data_output);

  input clk, Reset, data_input;

  output reg data_output;

  always @(posedge clk or negedge Reset)

  begin

 if(!Reset)

  data_output = 0;

 else

  data_output = data_input;

 end

endmodule


【NVIDIA公司ASIC Intern的笔试】相关文章:

英伟达(NVIDIA)笔试题目分享06-24

公司招聘笔试经验08-30

某公司部分笔试题12-05

IBM公司笔试IQ题11-25

360公司笔试经验分享01-04

宝洁公司笔试经验分享02-13

铁塔公司笔试试题07-05

上海某公司的ASP笔试题01-13

各大知名IT公司笔试题目01-15

某公司面试笔试经验12-06