前言
出笔试题汇总,是为了总结秋招可能遇到的问题,做题不是目的,在做题的过程中发现自己的漏洞,巩固基础才是目的。
所有题目结果和解释由笔者给出,答案主观性较强,若有错误欢迎评论区指出,资料整理来自于“数字IC打工人”等数字IC相关公众号,牛客网等网站真题、网络笔试真题及面经抄录。
保持更新(2023.9.25)文章内含 单选题270道、多选题106道、填空题16道、判断题17道、简答题72道、逻辑推理题3道、C语言 python 脚本编程题8道。
在本文中笔者提供的所有代码,都写成了API,可直接copy到软件编译、运行、给出结果。
题目较多,即使有前人解析和强大的ChatGPT,也难免出错,若发现错误,欢迎评论区讨论。
另外夹带一点私货~: 这一刻,我感觉一定要给.....
数字IC笔试千题解总字数已到达15w+,网页码字卡顿情况严重,故将其分割成多个部分以方便维护,链接如下:
数字IC笔试千题解--单选题篇(二)
数字IC笔试千题解--多选题篇(三)
数字IC笔试千题解--填空题篇(四)
数字IC笔试千题解--判断题篇(五)
数字IC笔试千题解--简答题篇(六)
数字IC笔试千题解--逻辑推理篇(七)
数字IC笔试千题解--编程&&脚本篇(八)
判断题
1. 可以通过两级触发器防止亚稳态传播,也可以用来同步多bit信号。
答案:错误。同步多bit信号,使用两级触发器在传输过程中,多个位的变化可能不是同时发生的。因此同步多bit信号,通常采用格雷码+两级同步的方式来保证每次数据跳变都只改变1bit。
2. 时钟域A的多bit信号一定要经过同步才能被时钟域B采用。
答案:错误。表述太过绝对,当时钟域A下的多bit信号能够稳定被时钟域B采集时,可以不同步,题目表述太过绝对。
3. 如果DFF的hold时间不满足,可以通过降低时钟频率来解决。
答案:错误。降低时钟频率无法解决hold violation,可以改善setup violation。
4. 假定没有毛刺产生,异步复位信号可以不管时钟,只要复位信号满足条件,就能完成复位动作。
答案:错误。异步复位信号是一种用于将电路恢复到其初始状态的信号,不依赖于时钟信号。当异步复位信号被激活时,电路将被强制进入其初始状态,无论时钟信号是否存在。
即使没有毛刺产生,异步复位信号也需要满足一些条件,例如保证信号的稳定性和正确性,以及在电路中的正确实现。使用异步复位信号时,需要考虑异步复位信号可能带来的不良影响,例如在复位期间可能出现的电路振荡或不稳定行为。
5. 状态机没有冗余状态时,可以不写default状态。
答案:错误。即使状态机没有冗余状态,也应该编写一个默认状态,以处理未定义的输入或其他异常情况。默认状态可能只是一个简单的错误处理状态,但是它可以提高状态机的健壮性和可靠性。
6. 状态机如果状态未列全,不需要使用default状态。
答案:错误。状态没列全,更要使用default。
7. #UDLY语句可以被综合成延时电路
答案:错误。延时语句不可综合。
8. 中断指示寄存器由实时告警的状态触发,是只读寄存器
答案:正确。
中断指示寄存器是一个只读寄存器,它的状态由硬件设备或中断控制器触发,并用于指示处理器当前需要响应的中断请求。通常情况下,中断指示寄存器的状态只能被读取,不能被写入,因为它的状态是由硬件设备自动设置的,处理器不能主动地改变它的状态。一些处理器可能会提供一些控制信号,允许软件清除中断指示寄存器中的某些标志位,但这些标志位的设置通常是由硬件设备自动完成的,处理器不能直接改变它们的状态。因此,中断指示寄存器通常是一个只读寄存器。
9. 如果两个时钟的频率不同,则两个时钟为异步时钟
答案:错误。相位差固定,以及时钟频率比为整数倍的时钟也可称为同步时钟。
10. 用于逻辑的真假判断,结果为单比特,0或1。!用于数据按位取反,结果是单个或多个比特
答案:错误。按位取反操作符为“~”,“!”为逻辑取反,结果只能是单bit。
11. 异步电路都不需要STA进行约束检查。
答案:错误。异步电路可以下set_false_path约束,也可以下set_max_delay和set_min_delay约束,都属于时序约束,STA需要进行检查的。
12. 单bit电平信号使用级联三触发器电路跨异步时钟城可以消除亚稳态。
答案:亚稳态不可消除和避免,只可以降低其影响。
13. 时序逻辑电路按照其触发器是否有统一的时钟控制分为同步时序电路和异步时序电路。
答案:正确。
14. 设计异步FIFO时,FIFO深度必须是2的整数次幕,才能使用格雷码
答案:错误。FIFO深度可以不是2的整数次幂,使用格雷码。
15. 基于Verilog HDL,时钟或复位信号可以出现在赋值表达式中。
答案:正确。可以,clock gating。
16. 线型信号必须显式定义
答案:错误。Verilog程序模块中输入、输出信号类型默认自动定义为wire型
17. 编码中可以使用显式端口映射,也可以使用位置端口映射,位置端口映射方式更好。
答案:错误。显示映射更好,不受端口声明顺序的影响。哪怕例化的模块修改了端口的顺序,也不影响例化结果。位置映射则不行。
18.logic [1:0] a; logic [1:0] b; logic result; a=2'b1z; b=2'b10; result=(a==b);在sv中,上述代码执行完后,result的值为1'b0
答案:错误,在 SystemVerilog 中,当一个逻辑变量包含 Z 值时,它的值是不确定的,无法与任何其他逻辑值进行比较。因此,当 a 变量包含 Z 值时,a==b 的结果是x(未知)而非 true 或 false。
19.无复位寄存器会引入不定态,因此设计中禁止使用无复位寄存器
答案:错误。无复位寄存器是指在设计中没有明确的复位信号来将寄存器的状态清零。在某些情况下,如果没有适当的处理,无复位寄存器可能会引入不确定性,因为寄存器的状态在上电时会是未知的,从而导致不确定的行为。
在某些低功耗、低成本、不需要高可靠性的电路中,使用无复位寄存器可能是可以接受的。在这些情况下,开发人员必须仔细考虑系统的可靠性和风险,以确定是否可以使用无复位寄存器。此外,还应该采取其他措施来确保寄存器状态的确定性,例如使用特殊的电路设计、添加额外的保护电路等。
20.验证环境中提到的参考模型(Reference Model)只支持不带时序的功能建模,不支持时序建模
答案:错误。参考模型可以支持不带时序的功能建模,也可以支持时序建模。时序建模是指将参考模型与时序信息相关联,以模拟设计中的时序行为。在这种情况下,参考模型需要考虑时序问题,包括时钟、时序限制和数据传输时间等。通过将参考模型与时序信息相关联,可以更准确地描述设计规格的行为,从而提高验证的精度和效率。
21.如果该class会被继承,则该class所有定义的function/task都需要加virtual
答案:错误,如果一个函数或任务不打算在子类中被重写,那么不需要将其声明为 virtual。
22.generate for循环语句中使用的标尺变量可定义为integer
答案:错误,只能为genvar。
23.Interface 中可以定义信号、函数、任务、class对象;也可以有always,initial语句块
答案:正确。
24.a1和a2的检查效果完全一样:
property p1:
@(posedge clk) a|=>b|=>c;
endproperty
a1: assert property(p1);
property p2:
@(posedge clk)a ##1 b ##1 |-> c;
endproperty
a2: assert property(p2);
答案:正确。
@ (posedge clk) a |=> b — 断定clk上升沿后,a事件开始发生,下一个时钟沿后,b事件开始发生。
@ (posedge clk) a |-> b — 断定clk上升沿后,a事件“开始发生”,同时,b事件发生。
25.漏电流(Leakage Current)与逻辑电路设计的工作频率无关
答案:正确。漏电流(Leakage Current)与逻辑电路设计的工作频率无关,它是指在逻辑电路处于关闭状态(所有开关均处于关断状态)时,电路内部的电流,通常来自于漏电晶体管的反向漏电流,因为晶体管是PN结组成,具有反向漏电的特性。
26.实际电感等效模型为电感、电阻、电容的串联。
答案:错误。
实际电阻等效模型:
实际电感等效模型:
实际电容等效模型:
27.场效应管属于电流型控制型器件。
答案:错误,场效应管属于电压控制型器件,它通过Vgs来控制Id。
28.其他参数不变,介电常数越大,power shape的等效平面电容越大。
答案:正确。平行板电容器电容计算公式为:,介电常数越大,电容越大。
29.对于做开关使用的MOS,寄生电容要尽量小。
答案:正确。MOS管开关过程中,需要充放电栅极电容,而寄生电容会使得充放电的速度变慢,从而影响开关速度。因此在设计MOS管时需要尽可能减小寄生电容的影响,以提高MOS管的速度。
30.从电气性上来讲,电源层和地之间的距离越小越好。
答案:正确。
①电源和地之间的较小距离可以减小回路的电感和电阻,从而减小信号的传输延迟和损耗。这有助于保持信号的完整性,减少信号失真。
②电源层和地之间的较小距离可以有效地抑制电磁干扰(EMI)的影响。当电流通过电源层和地层之间的较大回路时,它可以产生更强的辐射和敏感性,因此较小的距离可以降低EMI问题。
31.存储器按照读写方式分为ROM和RAM。
存储器还有闪存存储器Flash、EPROM、EEPROM、硬盘和固态等。题干说按照读写方式分为ROM和RAM,可能是正确的,这题答案不确定。
32.电感越大,动态输出纹波越小。
答案:正确。这电感对电流的变化有抑制作用,它抵抗电流的急剧变化,从而减少了输出电压的波动。
电感通常有以下几个用处:
1.平滑输出电压:较大的电感可以平滑输出电流,使其变化更加缓慢,从而减小了输出电压的纹波。这对于许多电源和稳压器应用非常有用,因为它有助于提供更稳定的电源电压。
2.抑制高频噪声:电感对高频电流具有较高的阻抗,因此它可以帮助抑制高频噪声,减少这些噪声传播到输出电压中。
3.减少开关电源纹波:在开关电源等应用中,较大的电感通常用于平滑输出电压,减少开关瞬态对输出电压的影响。
33.RS232采用负逻辑电平,即高电平代表逻辑0,低电平代表逻辑1。
答案:正确。正逻辑电平就是高电平代表1,低电平代表0。负逻辑电平就是低电平代表1,高电平代表0。
34.N沟道场效应管的栅极电压VGS>Vth时,漏极D和源极S导通。
答案:错误。VDG<0时,源漏不通。
35.电容容量越大,滤波效果越好。
答案:正确。电容容量越大,滤波效果通常越好。这是因为电容器在电路中的作用是通过储存和释放电荷来平滑电压信号,从而降低电压的变化率。