首页 > 其他 > 详细

芯片岗实习面经(2020暑期实习)

时间:2020-05-08 12:33:21      阅读:240      评论:0      收藏:0      [点我收藏+]

欢迎关注个人公众号摸鱼范式
技术分享图片

前期准备了两个项目,一个是集创赛,一个是复微杯的,面试中主要就是在讨论这两个项目内容。

投递的岗位都是数字IC设计与验证,我的简历偏向验证。

技术分享图片

平头哥

  • 4.16投递简历,没有笔试
  • 4.27中午电话协商电话面试时间。下午四点电话面试,时长20分钟,全程聊项目。最后问了一下关于实习时长、时间、实习内容、地点的问题
  • 待续

海康威视

  • 投递简历时间具体忘了,也是四月中旬,IC岗没有笔试
  • 4.28下午五点,没有提前通知,突然电话面试。时长40分钟,全程聊项目。问了一个经典烧绳子计时的急转弯题目,一条绳子点燃以后燃烧速度不均匀,全部烧完需要60分钟,现在有很多条绳子,要求计时75分钟。这个问题很久以前就听过了,但是答案忘了。面试官提示说两头同时烧,一条绳子就变成30分钟了,然后我回答一条绳子两头同时烧,另一条烧一头,第一条烧完以后,把第二条也两头都点上,这样就是15分钟,加上一条绳子60分钟,一共75分钟。最后问了一个时序分析的题目,关于复位的,reset recovery time和reset removal time,我没有复习到这块,没答上来,还没面试的建议好好看看这块。面试官说30号之前是一面阶段,陆续给大家电话面试。
  • 5.6收到第二次面试通知,视频面,5.8下午进行视频面试
  • 待续

华为

  • 3.16投递简历,但是后来发现预计毕业时间填错了,一直没给笔试通知,改了以后才通知笔试
  • 4.22笔试,全是选择题,比较简单
  • 5.6上午收到知识产权和商业秘密保护承诺书。之前一直在系统里查看不了申请,现在可以了,显示还差专业面和主管面。
  • 5.6下午电话预约5.8上午进行视频面试
  • 5.8上午面试完,上来先自我介绍,会问学校是哪里的,专业是什么,学校里学了什么IC相关的课程,成绩怎么样。然后问了项目内容,负责哪些部分。问了关于速度与面积的问题,还有怎么加快时钟频率。还问了如何处理信号跨时钟域的问题,这里具体可以关注我的公众号,大概分单bit和多bit,允不允许漏采,这样回答。复盘了一下笔试题,面试官说我大部分都挺好的,有一些细节有问题,比如验证那部分,应该根据经验重点检查某些功能点,这是错误的,因为实际上会有很多checklist,不能根据经验来。手撕代码之前让我提问了一下,我问我报名的成都实习,但是是粤港澳联系的我,是不是有影响,面试官说可以和hr协商,另外面试官说我报的是网络芯片。。可是我在系统里根本就没得选,到海思这里就没了。选不了次级部门,不知道怎么搞的。手撕代码做的是一个帧头检测,frame_head来脉冲的同时din会来数据,连续三次数据都是8‘h23的话,就输出一个脉冲。我一开始理解错了,理解成检测三次就完事了,然后就用计数器简单写了。面试官提醒我才发现理解错了,然后重新用状态机搞定了。最后,问了一下实习内容,是虚拟lab还是参与工程,面试官说每个部门都不一样,看部门。大概就是这些,我贴一下我提交的代码,可能还是有问题。
module det (
  input clk,    // Clock
  input rst_n,  // Asynchronous reset active low
  input frame_head,
  input din,
  output detect
);
wire [7:0] din;
reg [1:0] cnt;
reg frame_head_ff;
reg detect_ff;
reg [1:0] state, state_next;
  always@(posedge clk or negedge rst_n) begin : proc_state
    if(~rst_n) begin
      state <= 0;
    end else begin
      state <= state_next;
    end
  end
  always_comb begin : proc_state_next
    state_next = state;
    if (frame_head) begin
      case (state)
        0       : state_next = (din == 8‘h23)?2‘d1:2‘d0;
        1       : state_next = (din == 8‘h23)?2‘d2:2‘d0;
        2       : state_next = (din == 8‘h23)?2‘d3:2‘d0;
        3       : state_next = (din == 8‘h23)?2‘d3:2‘d0;
        default : state_next = 2‘d0;
      endcase
    end
  end
always @(posedge clk or negedge rst_n) begin : proc_frame_head_ff
  if(~rst_n) begin
    frame_head_ff <= 0;
  end else begin
    frame_head_ff <= frame_head;
  end
end
always @(posedge clk or negedge rst_n) begin : proc_detect_ff
  if(~rst_n) begin
    detect_ff <= 0;
  end else begin
    detect_ff <= frame_head_ff&&(state_next==2‘d3);
  end
end
assign detect = detect_ff;
endmodule
  • 待续

联发科

  • 投递时间忘了,4月初
  • 4.9笔试,10个简答题,包括写时序与约束,解释什么是大小端,用C语言写一个函数辨别系统是大端还是小端,perl或者python写字符串匹配,对行业的看法,题目特别杂,中间还有一道题图片没显示出来
  • 待续,估计凉了,没反应了

芯片岗实习面经(2020暑期实习)

原文:https://www.cnblogs.com/icparadigm/p/12849425.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!