华为海思数字芯片设计笔试第六套

发布于:2024-04-24 ⋅ 阅读:(50) ⋅ 点赞:(0)

声明

下面的题目作答都是自己认为正确的答案,并非官方答案,如果有不同的意见,可以评论区交流。
这些题目也是笔者从各个地方收集的,感觉有些题目答案并不正确,所以在个别题目会给出自己的见解,欢迎大家讨论。
因为这里我只会设计的题目,所以验证的题目我就没放上去了

题目

1.以下低功耗措施中,哪种不是降低电路翻转率的方法?
A.在不进行算术运算的时候,使这些模块的输入保持不变,不让新的操作数进来
B.采用 Gray 码或 One‐hot 码作为状态机编码
C.减少电路中的 glitch
D.重新安排“if‐else”表达试,可将毛刺或快变化信号移至逻辑锥体的前部
正确答案:D

2.以下 Verilog 代码中,a=12,b=10.则 z 的运算结果为:
Input [3:0]a;
Input [3:0] b;
output signed [7:0] z;
wire signed [3:0]c;
assign c= a[3:0]*b[3:0];
assign z=c;
A.120
B.‐8
C.8
D.‐120
’d120=7‘b1111000=-8
正确答案:B

5.下面有关 Cache 的说法哪一个是不正确的?
A. 设置 Cache 的理论基础,是程序访问的局部生原理
B. Cache 与主存统一编址,Cache 的地址空间属于主存的一部分
C. 设置 Cache 的目的,是解决 CPU 和主存之间的速度匹配问题
D. Cache 的功能匀由硬件实现,对程序员是透明的
解析:
A:使用 Cache 改善系统性能的依据是程序的局部性原理 [1]
B:cache 的地址与内存地址是两码事,不统一编址,也没有从属关系
C:Cache 是介于 CPU 和主存之间的小容量存储器,存取速度比主存快,接近 CPU。它能高 速地向 CPU 提供指令和数据,提高程序的执行速度。Cache 技术是为了解决 CPU 和主存之 间速度不匹配而采用的一项重要技术。
D:Cache 是主存的缓冲存储器,由高速的 SRAM 组成,所有控制逻辑全部由硬件实现,对
程序员而言是透明的。随着半导体器件集成度的不断提高,当前有些 CPU 已内置 Cache,并 且出现了两级以上的多级 Cache 系统。 Cache 通常采用相联存储器。Cache 又分为 L1Cache(一级缓存)和 L2Cache(二级缓存),
L1Cache 主要是集成在 CPU 内部,而 L2Cache 集成在主板上或是 CPU 上。
正确答案:B

6.对于独立复位的模块,只需要考虑对后级模块的影响,无需考虑对前级模块的影响。
A.正确
B.错误
解析:B 考虑到可能会存在反馈电路,因此选择错误。
正确答案:B

9.下列哪个不是 Verilog 系统函数( )
A. $ finish
B. $ head
C. $ time
D. $ write
解析:
$finish 的作用是退出仿真器,返回主操作系统,也就是结束仿真过程。
$write(p1,p2,…pn);输出信息,即将参数 p2 到 pn 按参数 p1 给定的格式输出。
$time 返回一个 64 位的整数来表示当前的仿真时刻值
正确答案:B

10.以下 Verilog 运算符号中,优先级最高的是?
A.==
B.“
C.!
D.?:
正确答案:C

11.模块只收敛做到 0.75V,提压到 0.85V 可以正常工作
A.正确
B.错误
正确答案:B

12.异步电路都不需要 STA 进行约束检查
A.是B.否
解析:STA 都是针对同步电路的
正确答案:A

13.在设计状态机时,有两种常用的编码方式:one‐hot code、binary code,前者相对于后者
的优势主要体现在
A.实现电路的速度更快
B.实现电路的面积更小
C.编码方式简单
D.实现电路的功耗更低
One-hot编码方式在状态机设计中的一个主要优势是能够提供更快的电路速度。在one-hot编码的状态机中,每个状态由一个独立的触发器(比如一个D触发器)表示,且在任何时刻只有一个触发器的输出为高电平(表示当前状态),而其他所有触发器的输出都为低电平。这种编码方式使得状态转移只涉及到两个触发器状态的变化:离开当前状态和进入新状态。因此,状态转换逻辑简单,可以实现更快的转换速度。
对比之下:
B. 实现电路的面积更小:One-hot编码通常需要更多的触发器来表示所有的状态,因此相对于二进制编码,它会占用更多的电路面积。
C. 编码方式简单:相对来说,二进制编码更为简单和直观,因为它直接映射到状态的数值上。One-hot编码虽然在逻辑实现上简单,但需要更多的硬件资源。
D. 实现电路的功耗更低:功耗取决于多种因素,包括状态转换的频率和电路的总活动度。尽管one-hot状态机在某些情况下可能有助于减少因状态转换而引起的功耗,但由于它需要更多的触发器,静态功耗可能会更高。
因此,one-hot编码方式相对于二进制编码的主要优势是实现电路的速度更快。
正确答案:A

14.对于相同位数输入的变量比较器,大于和小于的面积是一样的
A.对
B.错误
正确答案:B

15.有关综合的说法,以下哪个选项是错误的?
A. 相同的 RTL 代码,每次综合出来的网表可能是不一样的
B. 综合网表可用于 EDA 功能仿真
C. casez 是不可综合的
D. 时序逻辑 always 语句中,if‐else 如果 else 的分支缺乏,会综合成 latch
正确答案:D

16.在 Verilog 代码中,对有符号数进行比特选择或拼接,其结果是无符号数
A.正确
B.错误
正确答案:B

17.reg [0:31] little_vect; little_vect[0+:8]是多少?
A. little‐vect[0 : 7]
B. 1ittle_vect[7: 0]
正确答案:A

18.时序逻辑 always 语句中,if‐else 如果 else 的分支缺乏,会综合成 latch
A.正确
B.错误
正确答案:B

19.关于功耗,以下描述不正确的是:
A.设计者需要关注平均功耗、峰值功耗和功耗跳变
B.改变芯片的供电电压和时钟频率都会对芯片功耗产生影响
C.对于可关断的摸块,使用时钟门控即可降低功耗
D.芯片的功耗会受实际信号的影响,所以功耗测试需要结合业务来开展
C
虽然时钟门控(Clock Gating)是一种减少功耗的技术,特别是对于减少动态功耗很有效,它通过关闭不需要的时钟信号来减少电路的切换活动。然而,对于“可关断的模块”(即可以被完全断电的模块),更直接有效的减少功耗的方法是使用功耗门控(Power Gating)。功耗门控能够将整个模块断电,从而显著减少静态功耗(即漏电流导致的功耗),这是时钟门控做不到的。
正确答案:C

20.一个 D 触发器, 其数据 Tsu=2ns,Tcq=3ns,Thd=1ns,则此触发器的最高工作频率为: (注:Tsu 数据相对时钟的建立时间,Thd 数据相对时钟的保持时间,Tcq 输出相对时钟的延迟)
A.200MHz
B.500MHz
C.100MEz
D.333MHz
正确答案:A
TCLK1 + TCLK->Q +TDATA < TCLK2+TCLK-TSU+TUNCERTAINTY
35

21.在 Verilog HDL 中,*timescale 编译器指令格式为: timescale AB.其中 A 指的是时延精度,
B 指的是时延单位。
A. 正确
B. 错误
解析: A 是时延单位,B 是时延精度。
正确答案:B

22.reg signed [0:4] b, b=8’sh8f,赋值后 b 的值是多少?
A. 5’h1F
B. 5’h0F
C. 8’h8F
正确答案:B

23.在 GVIM 编译器中,将全英文的字符串 old 全部替换成字符串 new,正确的命令是:
A. s/o1d/new/
B. s/o1d/new/g
C. s/o1d/new/g
D. s/o1d/new/
%s/old/new/g

24.在 Verilog 语言中,a=4’b0101,b=4’b1010,那么~(a^b)= ( )
A. 4’b0000
B. 1’b1
C. 1’b0
D. 4’b1111
解析:
a^b 是指 ab 异或;~(a^b)取反
a^b=4’b1111;
~(a^b)=4’b0000
正确答案:C

25.timescale 1ns/10ps,其中 1ns 代表 time unit,10ps 代表 time precision.
A.正确
B.错误
正确答案:A

26.generate for 循环语句中使用的标尺变量可定义为 integer
A.正确
B.错误
正确答案:B

28.多 bit 信号的异步处理时,可以用打两拍的方式,也可以用异步 fifo
A.正确
B.错误
解析:单比特可以用打两拍
正确答案:B

1、Initial 和 always 的区别是
A. initial 只执行 1 次,always 执行多次
B. initial 不可以被综合,always 可以综合
C. always 中时序和过程语句描述与 initial 相同
正确答案:AB
A. initial 只执行 1 次,always 执行多次:这是正确的。在Verilog和SystemVerilog中,initial块在仿真开始时执行一次,而always块根据其敏感性列表中的事件反复执行。
B. initial 不可以被综合,always 可以综合:这个说法部分正确。initial块通常用于仿真环境中的初始化过程,并不是用于描述硬件逻辑的,因此通常不被综合工具所支持。然而,always块的综合性取决于其具体使用方式。always用于描述组合逻辑(always @*)和时序逻辑(如always @(posedge clk))时,可以被综合。但是,并不是所有的always块都适合综合,比如使用了不合适的控制流或非综合语句的always块。
C. always 中时序和过程语句描述与 initial 相同:这个说法不准确。initial和always块都可以包含过程语句,但它们的用途和执行方式不同。initial主要用于仿真的初始化和一次性操作,而always用于描述持续的或重复的行为,包括组合逻辑和时序逻辑。它们可以包含相似的语句,但在仿真或硬件描述中扮演的角色不同

2.在设计中,可以被用于进行不同时钟域隔离的 memory 类型为
A. two‐port Register File
B. single‐port RAM
C. single‐port Register File
D. dual‐port RAM
正确答案:AD
解析:
寄存器文件(register file)又称寄存器堆,是 CPU 中多个寄存器组成的阵列,通常由快速的
静态随机读写存储器(SRAM)实现。这种 RAM 具有专门的读端口与写端口,可以多路并发 访问不同的寄存器。

4.如下时钟组合中,哪些是同步时钟?
A.不同 PLL 产生的相位不同,频率相同的时钟
B.相同 PLL 产生的 2 分频时钟和 4 分频时钟
C.同一 PLL 产生的相位相差 180°,频率相同的时钟
D.不同 PLL 产生的频率不同的时钟
正确答案:BC
解析:
无法判定两个时钟间相位时,则可以称这两个时钟为异步时钟(asynchronous clocks)。

5.影响 CMOS 电路动态功耗的因素有哪些:
A.工艺
B.翻转率
C.供电电压
D.温度
正确答案:ABCD

6.芯片的工作条件主要是指( )
A.工艺
B.温度
C.电压
D.湿度
正确答案:ABC

7.Verilog 法关于任务和函数,描述正确的有( )。
A.任务可以调用函数(function)。
B.函数可以调用函数。
C.任务(task)可以调用任务。
D.函数可以调用任务。
正确答案:ABC

8.逻辑函数可以有的表达式为( )
A.真值表
B.卡诺图
C.逻辑表达式
D.组合图
正确答案:ABC
表达式有:逻辑状态表,逻辑式,逻辑图,卡诺图,真值表

9.基于 FPGA 和 ASIC 芯片设计的差异需要关注的有
A.上下电流程
B.时钟频率
C.时钟复位
D. memory 控制
正确答案:ABCD

10.异步电路的处理方式包括
A.多 bit DMUX 同步
B.握手协议同步
C.多 bit 格雷码同步
D.异步FIFO 同步
正确答案:ABCD