本题库会更新硬件工程师笔试面试各个模块。从基本元器件开始,后面更新模电数电,电源,运放,PCB等各方面的设计知识,供相关行业笔试面试参考用。
芯片设计中的关键术语,概念
芯片(Chip):也称为集成电路(IC),是将多个电子元件(如晶体管、电阻、电容等)集成到单个半导体片上的微小硅片。芯片可以执行各种电子功能,从而实现复杂的电路和系统。
EDA(Electronic Design Automation):电子设计自动化是使用计算机软件来设计、验证和生成电子系统和芯片的过程。EDA工具包括布局设计、逻辑设计、仿真、验证等功能。
RTL(Register Transfer Level):寄存器传输级别是数字电路设计中的一种抽象级别,描述了数字系统中寄存器之间的数据传输和处理操作。在芯片设计中,RTL是高级描述语言(如Verilog、VHDL)中的一种级别。
FPGA(Field-Programmable Gate Array):可编程门阵列是一种可编程逻辑器件,允许设计者在芯片上编程自定义的数字电路。FPGA常用于原型设计和快速开发,以及某些特定应用领域。
ASIC(Application-Specific Integrated Circuit):专用集成电路是为特定应用而设计和定制的芯片。相比通用处理器,ASIC可以提供更高的性能和更低的功耗,但设计成本更高。
SoC(System-on-Chip):单片系统集成了所有或大多数系统组件,如处理器核心、内存、接口、外设等,成为一个完整的芯片系统。SoC通常用于嵌入式系统和移动设备。
Verilog和VHDL:这两种是常用的硬件描述语言,用于描述数字电路和系统的行为。设计工程师使用这些语言来定义芯片的功能、结构和时序。
ASIC设计流程:ASIC设计流程是芯片设计的一系列步骤,包括需求分析、架构设计、RTL设计、综合、布局、布线、验证等。该流程确保设计的正确性、可靠性和可制造性。
时序分析:通过对芯片中各个部分的时序进行分析,确保在各种工作条件下芯片的正确操作。时序分析包括时钟周期、信号传播延迟等方面。
功耗分析:评估芯片在运行时的功耗消耗,这对于移动设备和电池供电系统至关重要。功耗分析包括静态功耗和动态功耗的评估。
1、一个状态机的题目用verilog实现(不过这个状态机画的实在比较差,很容易误解 的)。
描述一个交通信号灯的设计。
2、画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱。
3、设计一个自动售货机系统,卖soda水的,只能投进三种硬币,要正确的找回钱
数。(1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求。(未知)
4、设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零:(1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求;(3)设计工程中可使用的工具及设计大致过程。(未知)
5、画出可以检测10010串的状态图,并verilog实现之。
6、用FSM实现101101的序列检测模块。
a为输入端,b为输出端,如果a连续输入为1101则b输出为1,否则为0。例如a:0001100110110100100110b:0000000000100100000000
请画出state machine;请用RTL描述其state machine。(未知)
7、用verilog/vddl检测stream中的特定字符串(分状态用状态机写)。
用verilog/vhdl写一个fifo控制器(包括空,满,半满信号)。
reg[N-1:0]memory[0:M-1];定义FIFO为N位字长容量M八个always模块实现,两个用于读写FIFO,两个用于产生头地址head和尾地址tail,一个产生counter计数,剩下三个根据counter的值产生空,满,半满信号产生空,满,半满信号
8、现有一用户需要一种集成电路产品,要求该产品能够实现如下功能:y=lnx,其中,x为4位二进制整数输入信号。y为二进制小数输出,要求保留两位小数。电源电压为3~5v假设公司接到该项目后,交由你来负责该产品的设计,试讨论该产品的设计全程。
9、IC设计中同步复位与异步复位的区别。
同步复位在时钟沿采复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。
10、MOORE与MEELEY状态机的特征。
Moo re状态机的输出仅与当前状态值有关,且只在时钟边沿到来时才会有状态变化. Mealy状态机的输出不仅与当前状态值有关,而且与当前输入值有关
11、多时域设计中,如何处理信号跨时域。
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。
跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。
12、给了reg的setup,hold时间,求中间组合逻辑的delay范围。(
Delay < period - setup–hold
13、时钟周期为T,触发器D1的寄存器到输出时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问,触发器D2的建立时间T3和保持时间应满足什么条件。(华为) T3setup>T+T2max,T3hold>T1min+T2min
14、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck->q,还有clock的delay,写出决定最大时钟的因素,同时给出表达式。 T+Tclkdealy>Tsetup+Tco+Tdelay;Thold>Tclkdelay+Tco+Tdelay;
15、说说静态、动态时序模拟的优缺点。
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。
动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;
16、一个四级的Mux,其中第二级信号为关键信号 如何改善timing。
关键:将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未被修改。
17、芯片各领域的代表公司及发展模式