背景介绍

2022年,不知道是不是未来十年最好的一年,不过应该是过去十年最差的一年。听完任总的“寒气论”和字节梁总的“去肥增瘦”理论后,每个2023的应届生应该都能感受到这刺骨的寒意。

我的秋招经历开始较早,6月陆续开始投递各公司的提前批,7-8月份为面试高峰期,9月陆续收到各家的offer。文章的后面我会大概回忆各面试的问题,梳理校招时面试官关心的共性问题,仅供大家参考,准备后续的秋招笔试面试。

本文整理的一些知识点后续会慢慢在自己的博客更新(给自己挖了一波大坑),希望后面慢慢填上;

项目相关

  • 准备项目的简要系统架构介绍。可以包括以下要素:项目框图、各模块功能介绍、系统接口、时钟复位网络;可以用Xmind或者MarkDown工具去梳理项目架构。
  • 提取项目的亮点、难点。部分面试时间不够的话面试官不会给充足的时间详尽介绍项目,可以从时序约束、算法设计、优化方式、计算性能等方向去整理;
  • 项目中涉及到的点要拓展延伸,了解相关的基础知识。举例说明,我的项目接口信号使用了8b10b编码方式,自己可以考虑如下几点:1、8b10b编码是什么?2、为什么需要8b10b编码,该编码是用来解决什么问题的?3、有其他方式可以解决该问题吗?要带入面试官的角度去思考自己的项目;
  • 总结在做项目过程中遇到的棘手问题,在给面试官叙述自己解决问题的思路和方式的过程中展现自己的能力。
  • 项目的验证方式;了解项目涉及的IC/FPGA的工艺,面积;
  • 统计项目中自己负责部分的代码量;

基础知识

跨时钟域

  • 基本的CMOS、PMOS结构;
  • 跨时钟域的原因,亚稳态的定义;
  • 建立时间、保持时间;
  • 单bit信号跨时钟域,考虑快慢时钟域;
  • 多bit信号跨时钟域;
    • 异步FIFO的假空假满;
    • 格雷码跨时钟域问题;
    • 如何考虑FIFO深度;
    • FIFO和DMUX的相关时序约束;
  • 何时需要跨时钟,跨时钟方式如何选择;
  • 关于复位信号的跨时钟域;
  • Time Borrow/Steal(进阶)

低功耗设计

  • 功耗的分类、影响因素、计算公式
  • 静态低功耗技术,降静态功耗的方法;
  • 动态低功耗技术,降动态功耗的方法;
  • RTL设计中降功耗的方式;
  • 以反相器为例解释静态功耗和动态功耗;

时序约束

  • 时钟相关
    • 周期、占空比、管脚;
    • Primary Clock、Virtual Clock、Generated Clock、Clock Groups;
    • Clock Latency、Jitter、Uncertainty;
  • IO Delay
    • Input Delay;
    • Output Delay;
  • Time Exceptions
    • Multicycle;
    • False Path;
    • Max/Min Delay;

IC相关

  • 简述IC设计流程,了解各步骤的目的;
  • IC和FPGA的区别;
  • 修Time Violation的方式;

AMBA协议

  • 读写架构,信号列表及含义;

  • 跨4K问题;

  • 握手间的依赖关系;

  • 能否提前结束突发传输;

  • 窄位宽数据传输、非对齐传输、混合大小端传输;

  • Outstanding的含义,如何考虑Outstanding深度;

  • Out of Order的含义,跟ID信号是否有联系;

  • Interconnect的结构;

  • AXI3、AXI4的区别;

  • AXI Full、AXI Lite的区别;

  • AXI的死锁场景;

笔试

  • 状态机相关:红绿灯、自动售货机、序列检测;
  • 分频相关:奇偶分频、半整数分频、小数分频;
  • 仲裁相关:优先级仲裁、固定优先级仲裁、变优先级仲裁、轮询仲裁、加权轮询;
  • 存储:单口RAM、简单双口RAM、真双口RAM;
  • CDC
    • 同步FIFO:基于单口RAM、基于双口RAM;
    • 异步FIFO:Bin2Gray、Gray2Bin;
    • 脉冲同步器、带反馈的脉冲同步器;
    • 前向/后向Pipe;
  • 门级电路:计数器、全加器、二/三分频、占空比1:3的二分频;
  • 其它:Generate、For语法相关;