对于硬件工程师,学习的东西主要和电路硬件相关,所以在硬件工程师的面试中,对于经验是十分看重的,像PCB设计,电路设计原理,模拟电路,数字电路等等相关的知识都必须或多或少的了解,最好是精通。
以下是常见的硬件工程师面试类的问题,仅供参考:
1、什么是 Setup和 Hold 时间?
答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间 (Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳 定不变的时间。输入数据信号应提前时钟上升沿 (如上升沿有效)T 时间到达芯片,这个 T就是建立时间通常所说的 SetupTime。
如不满足 Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入 触发器。保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果 Hold Time 不够,数据同样不能被打入触发器。
2、什么是竞争与冒险现象?怎样判断?如何消除?
答:在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致,我们把这种现象叫做竞争。由于竞争而在电路输出端可能产生尖峰脉冲或毛刺的现象叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。
3、你知道哪些常用逻辑电平? TTL 与 COMS 电平可以直接互连吗?
答:常用的电平标准,低速的有 RS232、RS485 、RS422、 TTL、CMOS 、LVTTL、 LVCMOS、ECL 、ECL、 LVPECL 等,高速的有 LVDS、 GTL、PGTL 、 CML、 HSTL、SSTL 等。
4、什么是"线与 "逻辑,要实现它,在硬件特性上有什么具体要求?
答:线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用 OC 门来实现( 漏极或者集电极开路 ),为了防止因灌电流过大而烧坏 OC 门, 应在 OC 门输出端接一上拉电阻 (线或则是下拉电阻)。
5、什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别?
答: 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系 .电路设计可分类为同步电路设计和异步电路设计。 同步电路利用时钟脉冲使其子系统同步运作 ,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的 “开始”和“完成”信号使之同步。异步电路具有下列优点:无时钟歪斜问题、 低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性。
6、总体概述。 你在某个项目中,承担的角色是什么,主要做了哪些方面的工作,遇到过什么难题,是怎样解决的。
7、系统框图。 画出你的这个项目的硬件系统框图并简单介绍。
8、具体模块。 这个系统中,某个模块的具体拓扑或基础知识,如画出电源模块采用哪种拓扑;如数据通信用的I2C接口,请简单介绍下其协议组成,画出I2C电平转换电路;各模块的性能指标是怎样确定的。
9、具体线路。 某个元件的指标,及选择的原因。如具体的线路中放大电路的设计。
10、你所知道的可编程逻辑器件有哪些?
答:ROM(只读存储器)、 PLA(可编程逻辑阵列)、 FPLA(现场可编程逻辑阵列)、 PAL(可编程阵列逻辑)GAL(通用阵列逻辑 ),EPLD( 可擦除的可编程逻辑器件 )、 FPGA( 现场可编程门阵列 )、CPLD( 复杂可编程逻辑器件 )等 ,其中 ROM、 FPLA、 PAL 、GAL、 EPLD 是出现较早的可编程逻辑器件, 而 FPGA 和 CPLD 是当今最流行的两类可编程逻辑器件。FPGA 是基于查找表结构的,而 CPLD 是基于乘积项结构的。