华为海思校园招聘-芯片与器件设计-数字芯片/硬件逻辑岗真题解析

一、单选题(每道2分)

1.以下关于过程赋值的描述,不正确的是(D)

A在非阻塞性过程赋值中,使用赋值符号“< =”

B赋值操作符是“=”的过程赋值是阻塞性过程赋值

C在非阻塞性过程赋值中,对目标的赋值是非阻塞的(因为时延),但可预定在将来某个时间步发生(根据时延:如果是0时延,那么在当前时间步结束)

D非阻塞性过程赋值在其后所有语句执行前执行

解析:非阻塞性过程赋值并不是在其后所有语句执行前执行的。相反,它允许赋值操作与其他操作并行执行,这意味着后续的语句可以在赋值操作完成之前就开始执行。这是非阻塞性过程赋值与阻塞性过程赋值的主要区别。阻塞性过程赋值会阻塞后续语句的执行,直到赋值操作完成。而非阻塞性过程赋值则不会阻塞后续语句,使得程序可以更有效地利用处理器资源,提高并行处理能力。

2.芯片的功耗和下列哪种不强相关______C_______。

A资源利用率

B核电压

C组合逻辑级数

D翻转率

解析:

A. 资源利用率:资源利用率高的芯片往往意味着更多的晶体管在工作,因此可能会导致更高的功耗。资源利用率低的芯片可能在某些情况下功耗较低,因为较少的晶体管参与操作。

B. 核电压:核电压直接影响芯片的功耗。根据功耗公式P = C * V^2 * f(其中P是功耗,C是电容,V是电压,f是频率),可以看出电压越高,功耗越大。因此,降低核电压是减少芯片功耗的一种有效方式。

D. 翻转率:翻转率是指信号在单位时间内变化的次数。翻转率高意味着电路中的节点电压频繁地在高低电平之间切换,这会导致较大的功耗,因为每次电压转换都需要消耗能量。

而C组合逻辑级数本身并不直接决定功耗。组合逻辑是指不包含存储元件(如触发器)的逻辑电路,它们的输出仅取决于当前的输入值,不依赖于历史状态。虽然组合逻辑的复杂性可能会影响芯片的总体功耗,因为它可能会影响电路的延迟和频率,但它并不是功耗的直接决定因素。功耗更多地与电路的活动性(如翻转率)和电气参数(如电压和电容)有关。因此,选项C是不与芯片功耗强相关的因素。

3.下列说法错误的是( C )

A Clock Buffer Enable使能率越大,功耗越大

B电路时钟频率越高,则电路的动态性越高,功耗越大

C输入并联终结电阻越大,功耗越大

D Fanout越大,驱动的负载越多,负载电容越大,功耗越大

解析:终结电阻通常用于匹配信号的传输特性,以减少信号的反射和提高信号的完整性。终结电阻的大小对功耗的影响并不是直接的,终结电阻本身不消耗功率,它们的作用是减少信号线上的反射,从而可能间接影响整个系统的功耗。如果信号完整性得到改善,可以减少由于信号反射引起的额外功耗,但这并不意味着终结电阻的增大直接导致功耗增大。

4.关于状态机的描述,如下错误的是( B)

A 不同状态机之间的相互关系要明晰,避免状态异常导致配合关系异常。

B 状态机的安全完全取决于RTL编码方式和风格,推荐使用“独热码”作为状态机的状态。

C 状态机中有异常保护、防挂死处理,确保每个状态都能在异常情况下能恢复。

D 在状态机轮转中作为跳转条件的两个互斥信号应用一个信号表示。

解析:状态机的安全确实与RTL编码方式和风格有关,但是使用“独热码”作为状态机的状态并不是状态机安全的唯一依赖。独热码是一种表示状态的方式,其中每个状态都有一个唯一的二进制编码,且只有一个位是高电平,其余位都是低电平。这种方式可以简化状态的解码过程,但它并不是确保状态机安全的唯一方法。状态机的安全性还涉及到其他方面,如状态转移的正确性、状态机的完整性、异常处理机制等。因此,不能认为仅仅使用独热码就能确保状态机的安全性。

5.下列电路中不属于时序逻辑电路的是_____A_____

A全加器

B 加法器

C 分频器

D 计数器

解析:加法器可能是带FF的那种。

6.以下关于TESTBENCH的描述,错误的是( C )

A TESTBENCH采用分层结构,通常包括测试用例层、数据交换层及待测模块层

B TESTBENCH是为了完成对逻辑的验证而搭建的仿真环境

C TESTBENCH编码设计对可测试性没有要求

D TESTBENCH用来发送激励数据、控制仿真执行,并完成输出结果比较

解析:TESTBENCH的编码设计对可测试性有很高的要求。TESTBENCH是用于验证和测试硬件设计的工具,它的设计需要确保待测模块(Device Under Test, DUT)的可测试性,这样才能有效地验证设计的正确性。良好的TESTBENCH设计应当能够提供必要的激励数据,监控输出响应,并与预期结果进行比较,从而验证DUT的功能和性能是否符合设计要求。此外,TESTBENCH的设计还应当考虑到测试的自动化、可重复性和可维护性,以提高测试效率和准确性。因此,TESTBENCH的编码设计应当支持和促进可测试性,而不是没有要求。

7.以下哪种匹配方式的匹配器件是紧靠驱动端布局的 ( D )

A Thevenin等效匹配

B 并联匹配

C AC匹配(RC匹配)

D 串联匹配

解析:ABC为接收端并联匹配,D为发射端(驱动端)串联匹配,串联匹配通常涉及在驱动器的输出端串联一个电阻,以使串联电阻和驱动器的输出阻抗之和等于传输线的特征阻抗Z0,从而实现阻抗匹配。这种匹配方式的匹配器件是紧靠驱动端布局的,因为它需要直接连接到驱动器的输出端。

8.表达式Xn+1(t+T)=Xn(t),其中T为时钟周期,描述的是____C____。

A T触发器

B SR触发器

C D触发器

D JK触发器

解析:D触发器是一种数据锁存器,它在时钟信号的上升沿捕获输入信号,并在下一个时钟周期将该信号传递给输出。这个表达式说明了D触发器的工作原理:在时钟周期 𝑡t 时的输入 𝑋𝑛(𝑡)Xn(t) 将在下一个时钟周期 𝑡+𝑇t+T 时出现在输出 𝑋𝑛+1(𝑡+𝑇)Xn+1(t+T) 上。

9.

main(){

int i=8;

printf("%d\n",++i);

printf("%d\n",i--);

}

上面代码的打印输出分别为:( A )

A 9 9

B 8 8

C 9 8

D 8 9

解析:​​++i会先将 i自增,然后返回增加后的值,所以第一个 printf语句会打印 9

​​i--会先返回 i的当前值,然后再将 i自减,所以第二个 printf语句也会打印 9

10.寻址容量为15k*8bit的RAM需要( A )根(地址和数据线不复用)地址线和数据线。

A 22

B 17

C 23

D 18

解析:(4+10)+8=22

11.下列哪项不是导致信号完整性问题的原因( C )

A 信号电平越来越低,噪声裕量小

B 信号频率越来越高

C 信号接收端获取到了错误的电平值。

D 波形01变化斜率要求高爬坡时间短

12.下面关于异步信号同步化描述正确的是 ( C )

A RAM端口信号如果已经做了多时钟周期约束,则不需要再考虑异步信号同步化处理。

B 在跨时钟域同步化处理时,使用两级寄存器结构可以完全消除亚稳态。

C多bit信号同步化可以使用可靠的握手电路、格雷码或FIFO实现。

D 在跨时钟域之间不要使用组合逻辑,防止出现亚稳态。

解析:A这个可能是指控制信号同步吧,B不能完全消除,D对于准静态信号应该不适用。在跨时钟域进行信号同步化时,确实可以使用多种方法来确保信号的稳定性和可靠性。这些方法包括使用握手电路来确保数据在发送和接收时的同步,使用格雷码来减少错误的可能性,以及使用FIFO(先进先出队列)来缓冲跨时钟域的数据传输。这些技术都是为了减少或避免由于时钟域之间的不同步可能引起的亚稳态问题。

13.下列哪个不是解决跨时钟域多位信号同步的方法____B____。

A 握手通信方式

B 同步FIFO隔离

C 双端口RAM通信方式

D 格雷码输出

解析;同步就不存在跨时钟域了。

14.若一模拟信号为带限,且对其抽样满足奈奎斯特条件,则只要将抽样信号通过____B____即可完全不失真恢复原信号。

A 理想带通滤波器;

B 理想低通滤波器;

C理想带阻滤波器;

D理想高通滤波器;

解析:奈奎斯特条件是Fs>2Fmax,低通能通Fs即可。

15.测量一个时钟的频率准确度,合适的仪器是 ( D )

A 示波器

B 晶体振荡器

C 频率合成器

D 频率计

16.在Verilog HDL中,定义变量并进行运算如下:

wire [5:0] .memo mem1 ,mem2;

wire [2:0] data_out;

assign mem0 = 0x29;

assign mem1 = 0x1B;

assign mem2 = 0x34;

assign data _out = mem0[5: 3]+mem1[4:2] + mem2[3:1];

请问data_ out的输出值为( D )

A 0x7

B0xD

C 0x3

D 0x5

解析:mem0=101001,mem1=011011,mem2=110100,从而

mem0[5:3]=3'b101,mem1[4:2]=3'b110,mem2[3:1]=3'b010,则结果截位前为4'b1101,高位截掉为3'b101,即0x5

17.卡诺图上变量的取值顺序是采用:(B)

A ASCII码

B 循环码

C 自然二进制数

D 二进制码

18.DDR3芯片的接口电平是(D)

A SSTL-1.8。

B CML。

C HSTL-1.8。

D SSTL-1.5

19.下面关于$display. $strobe, $monitor的区别描述正确的是 (C)

A $strobe直接立刻输出,$display是等稳定后输出,$monitor是发生变化时输出

B $display直接立刻输出,$monitor是等稳定后输出,$strobe是发生变化时输出

C $display直接立刻输出,$strobe是等稳定后输出,$monitor是发生变化时输出

D $strobe直接立刻输出,$monitor是等稳定后输出,$display是发生变化时输出

20.在有符号数的乘法运算中,8比特有符号数乘以12比特有符号数,运算结果用多少比特的有符号数表式则既不会溢出也不会浪费__________(A)

A 20

B 18

C 21

D 19

21.组合逻辑电路消除竞争冒险的方法有_____D_____。

A 后级加驱动电路

B 输入端加滤波电路

C 屏蔽输入信号的尖峰干扰

D 在输出端接入滤波电路

22.对于代码覆盖率,以下说法错误的是:(D)

A 这可以帮助发现是否存在冗余代码

B 可以帮助确定代码行是否被完全执行

C 可以帮助发现状态机跳转路径是否覆盖

D 可以帮助确定功能需求是否完全实现

23.一个八位二进制减法计数器,初始状态为00000000,问经过268个输入脉冲后,此计数器的状态为_____C____。

A 11110101

B 11001111

C 11110011

D 11110100

解析:

268-256=12=1100,0-12=-12,-12=10001100(原码)=11110011(反码)=11110100(补码)

24.对于一般的逻辑电平,各参数需满足如下____C____的关系。

A Voh>Vih>Vt>Vol>Vil;

B Vih>Voh>Vt>Vol>Vil;

C Voh>Vih>Vt>Vil>Vol;

D Vih>Voh>Vt>Vil>Vol;

25.提高同步设计的工作频率的原则中,可行的措施是(D)。

A 打平设计的层次结构,使得模块边界充分优化

B 打开综合器资源共享选项

C 复杂状态机采用二进制编码或者格雷码

D 减少组合逻辑级数

26.对于一般的逻辑电平,各参数需满足如下的关系 (考的时候确实是和24一样)(C)

A Vih>Voh>Vt>Vil>Vol

B Vih>Vol>Vt>Vol>Vil

C Voh>Vih>Vt>Vil>Vol

D Voh>Vih>Vt>Vol>Vil

27.下列关于寄存器等价优化错误的是(D)

A通过显式的综合约束代码可以阻止工具进行等价寄存器优化

B综合工具会自动优化等价寄存器

C通过综合工具选项设置可以阻止工具进行等价寄存器优化

D综合工具等价寄存器优化不会跨越代码一级模块

28.在两个方向上交替的传输为:(D)

A全双工

B单工

C串行

D半双工

29.下列关于initial和always的说法错误的是(D)

A initial只能执行一次;

B initial和always的区别是前者不可以综合,后者可以综合;

C always始终循环执行;

D initial和always不能同时执行;

解析:A. initial 块在仿真开始时执行一次。这是正确的,initial 块用于初始化变量、寄存器或其他结构,并且只会在仿真开始时执行一次。

B. initial always 的区别在于 initial 不能被综合,因为它用于仿真时的初始化,而 always 可以被综合,用于描述设计中的时序逻辑。这是正确的,initial 块在硬件实现时会被移除,而 always 块会被转换成实际的硬件逻辑。

C. always 块可以表示持续的逻辑行为,但它并不是真正意义上的始终循环执行always 块会响应它所指定的敏感信号的变化而执行。如果一个 always 块对所有信号都敏感,那么它将在仿真中不断地响应任何信号的变化。然而,这种说法可能引起误解,因为 always 的执行并不是循环,而是响应事件。

D. initial always 可以同时存在于一个 Verilog 模块中,并且可以同时执行(在仿真环境中)。initial 在仿真开始时执行,而 always 则会在它们指定的条件或信号变化时执行。

30.未施加外部电压时,PN结中电流(C)

A从N区到P区

B不确定

C等于零

D从P区到N区

31.FPGA中的BRAM使用的ECC的特性有哪些(B)

A只能可以发现1或者2bit错误

B可以纠正1bit错误

C可以发现2bit以上的错误

D可以纠正2bit错误

解析:ECC主要作用是单bit纠错,双bit检错,当然不包括2bit以上了。

二、多选题(4分)

32.要把10M时钟域下的一个模10计数器的值,传递到异步的100M时钟域下。以下说法正确的有____B\C_____。

A可以把计数值转换成格雷码,再用100M时钟采样

B可以通过异步fifo传递计数值

C可以用计数值+握手信号的方式传递

D可以先用100M时钟把计数值打2拍,再采样

解析:D不能多bit直接打拍。A转换成格雷码只有1bit跳变,理论上是可以,但从题目描述风格来看缺了打拍两字,故不能选。

33.为保证器件接口的可靠性,哪些因素我们需要关注(A\B\C\D)?

A温度漂移

B时钟抖动

C电源噪声

D器件参数离散性

34.在Verilog HDL中,下列关于表达式的描述正确的是(A\B\C\D)

A表达式中可使用函数调用

B表达式由操作数和操作符组成

C表达式中的整数值可被解释为有符号数或无符号数

D表达式可以使用数值

35.下面关于always语句描述正确的是____A\B\D____。

A阻塞赋值按照顺序执行,非阻塞赋值并发执行。

B时序逻辑always中敏感表中必须标明时钟信号和复位信号(如果使用异步复位)。

C在时序逻辑语句块中非阻塞赋值和阻塞型赋值都可以使用

D组合逻辑always中敏感表可以标明敏感变量,也可以使用*替代。

解析:A的并发执行,实际上与begin...end块的顺序执行概念不同?不然要fork干什么呢。C是一个争议点,语法上当然是能用的,但可能会导致设计的困难,所以可以认为不能用。

36.二进制减法遵循下面哪些规则(A\B\C\D)

A 0-1=1

B 1-0=1

C 1-1=0

D 0-0=0

37.以下属于常用逻辑电平的有(A\B\C\D)

A PECL

B LVTTL

C LVDS

D LVCMOS

解析:

TTL、CMOS、LVTTL、LVCMOS;

RS232、RS422、RS485(12V,5V,3.3V);

ECL(Emitter Coupled Logic)、PECL(Pseudo/Positive Emitter Coupled Logic)、LVDS(Low Voltage Differential Signaling)、GTL(Gunning Transceiver Logic)、BTL(Backplane Transceiver Logic)、ETL(enhanced transceiver logic)、GTLP(Gunning Transceiver Logic Plus);

38.下列方法对提升系统时钟频率有帮助的有___A、C、D_____。

A采用pipeline设计

B升高器件环境温度

C减少组合逻辑级数

D使用全局的时钟资源

解析:全局时钟skew和jitter一般小点,uncertainty就小些,这样timing的时候setup的slack就多点了,有余地以供提高clk_freq.

39.如下属于差分电平的是____A、C、D_____。

A LVPECL

B LVTTL

C CML

D LVDS

解析:常用的差分逻辑电平,包括LVDS、xECL、CML、HCSL/LPHCSL、TMDS等”,反正就TTL、CMOS不是。

40.下列关于initial和always的说法正确的是_____A\B\C_____。

A initial只能执行一次

B initial不可以综合,always可以综合

C always只要条件符合即可执行

D initial和always不能同时执行

不定项选择

1.关于状态机编码,如下描述中正确的是(ACD)
【A】状态编码用parameter定义
【B】状态机必须有default态
【C】用组合逻辑和时序逻辑分离的风格描述FSM

【D】用case语句描述状态的转移

解析:状态机一般需要定义default态,但是对于case状态完全的状态机,可以不用default态,所以B错误;其他选项均正确

2.业界常用的验证方法学有(BD)
【A】SystemC
【B】UVM
【C】SystemVerilog

【D】VMM

解析:业界常用的验证方法学有VMM(Verification Methodology Manual)、OVM(OpenVerification Methodology)和UVM(Universal Verification Methodology);SystemC和SystemVerilog不是验证方法学,是语言!

3.逻辑电路的动态功耗一般跟以下哪个因素相关(ABCD)
【A】电压
【B】频率
【C】工艺

【D】工作温度

解析;动态功耗=开关功耗+短路功耗;开关功耗=CLVDDf,其中CL为负载电容,VDD为电源电压,f为翻转频率(翻转率*频率),显然,电压、频率与开关功耗有关;短路功耗=tscVDDIpeakf,其中tsc代表短路状态的时间,Ipeak代表短路状态时的电流,工艺和工作温度会影响晶体管的性能,进而影响短路状态时的电流和短路状态的时间,所以会影响短路功耗。所以,电压、频率、工艺、工作温度都会影响动态功耗!

4.下列哪些项是异步处理需要考虑的因素(ACD)
【A】异步信号的电平或脉冲特性
【B】异步信号是不是总线
【C】两个异步时钟时间的频率关系

【D】异步信号是不是寄存器输出

解析:异步处理,对于单比特数据,如果是电平信号,可以用多级触发器来实现跨时钟域;如果是脉冲信号(必须由寄存器输出),则(1)慢时钟域到快时钟域,先用多级触发器进行同步,再用边沿检测电路即可得到相应的脉冲信号(2)快时钟域到慢时钟域,先将脉冲信号展宽,再同步到慢时钟域,再用边沿检测将信号转化为脉冲信号。

5.下列不属于分解测试点时的关注点的是(BC)
【A】性能
【B】无充分理由的揣测
【C】偶然的设计失误

【D】可测性

【E】功能

解析:验证空间是一个无限集合,我们不可能细化到所有的元素,这就需要我们在分解时重视一些主要的关注点,同时忽略掉一些不必要的非关注点,测试点主要关注:

a)功能的正确;

b)功能、性能点的覆盖;

c)发现设计错误;

d)边界点,错误值;

e)对组合输入的处理考虑不周的地方;

f)根据经验普遍容易存在问题的地方:FIFO、状态机;

g)测试点需要关注各种条件的组合和条件序列;

测试点不关注:

a)偶然的设计失误;

b)无充分道理的揣测。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐