概述
引言
最近收到诸多粉丝的来信,要求出一版《数字 IC 设计、FPGA 设计秋招笔试题精讲》,于是,通过几天几夜的加班加点,终于出了这一版《2021 华为海思秋招笔试题目、答案、解析》,以后每隔 7 天就会出好几套卷,助各位数字 IC 设计者斩获大厂的高薪 Offer!!!
PS:纯题目的 PDF 版本可联系博主获取~
单选题
1、影响芯片成本的主要因素是 Die Size 和封装,但电源、时钟等因素,特别是功耗对解决方案的成本影响较大,因此低成本设计需要兼顾低功耗设计:()
A. 错误
B. 正确
正确答案:B
详细解析:题目里已经说明了,“影响芯片成本的主要因素是 Die Size 和封装”,那么封装成本和什么有关呢,当然是散热了,功耗越大,散热装置要求越高,封装难度更大,成本要求更高,所以,功耗是和成本相关的。
2、reg [31:0] big_vect; 那么 big_vect[0+:8] 是多少?()
A. big_vect[0:7]
B. big_vect[7:0]
正确答案:B
详细解析:这道题不就是书上的内容嘛!需要对向量的抽取有着较深的掌握,对于抽取符号 +:,其左边 0 表示起始位置,其右边 8 表示向量抽取位宽或者 Length,然后定义的是从最高位到最低位,对应下来所以选择 B,A 只是干扰的
3、generate 语句中的循环控制变量应该定义为 integer 类型()
A. 错误
B. 正确
正确答案:B
详细解析:定义的类型是 genvar,有写过这个代码的应该都是了解的,for 才是 integer
4、o10 换算成十进制是多少?()
A. 8
B. 16
C. 10
D. 2
正确答案:A
详细解析:o07 表示 7,+1 就是进位了,即 o10 = 8
5、哪些情况下不会产生 Latch 电路?()
A. 组合逻辑中条件不全的 case 语句没有 default 赋值
B. 时序逻辑中 if 选择语句,没有 else 部分表达
C. 使用 if 选择语句的组合逻辑没有 else 部分表达
D. 使用 case 选择语句的组合逻辑没有 else 表达
正确答案:B
详细解析:等你入职就会经常用到 B 的这种写法,这是一种低功耗 CG 设计的写法,不会生成锁存器 Latch
6、关于类的构造函数,以下说法中正确的有()
A. 函数体中必须有 new 语句
B. 返回类型是 void 类型
C. 函数名与齐类名完全相同
D. 不能有形参
正确答案:C
详细解析:
A:类可以认为是用户定义的一种数据类型,类的显式定义有 new(),隐式定义无,new() 的作用是进行初始化,没有 new() 时,类默认为 null,A 错;
B:构造类可以没有返回值,也没有返回值类型,但是可以有参数(包括形参 int a),D 错;
C:类名与函数名一样,C 对;
D:返回值类型不一定是void,void用于有返回值的数据类型,用来取消返回值,B 错
7、中断指示寄存器由实时告警的状态触发,是只读寄存器。()
A. 错误
B. 正确
正确答案:B
详细解析:中断状态寄存器是只读寄存器,只有软件经过处理之后,消除了这种告警状态,硬件就会对其自动清零
8、下面的选项中关于宏定义的说法不正确的是?( )
A. 宏定义文件最好放在一个文件中集中管理,防止出现不同项目需要修改为不同的宏定义值,但是却漏改了某些地方的情况出现。
B. 综合的时候,define 可以跨文件列表生效
C. 如果模块中有很多宏定义,在模块的文件列表最后需要 undef 掉使用的宏,防止和其他模块的宏定义冲突。
D. 仿真时如果出现宏定义冲突,后面的 define 值会覆盖前面的 define 值
正确答案:C
新芯设计:关于宏定义,可以找本书好好看看
这里 undef 宏定义的话,那么该宏定义就不生效了
9、在 systemverilog 中,函数(task)可以调用函数任务(function)。( )
A. 错误 B. 正确
正确答案:B
详细解析:Function 不可以调用 Function 和 Task,反之,Task 可以调用 Function 和 Task
10、假设输入信号 X 位宽为 12bit,inA 位宽为 6 bit,inB 位宽为 17bit,实现 Y = X*inA + inB 功能,并要求不损失精度,那么输出信号 Y 位宽应不小于( )?
A. 17bit B. 12bit C. 18bit D. 19bit
正确答案:D
详细解析:这是数值计算导致的位宽扩大
对于乘法,结果的位宽是二者之和,对于加法,结果的位宽是最大位宽加一,综上,12 + 6 + 1 = 19
11、reg [7:0] mem [1:256];initial $readmemh(“mem.data”,mem,128,1);对于mem行为正确的描述是( )?
A. 从地址128开始,写到地址1
B. 从地址128开始,写1个地址
C. 从地址1开始,写128个地址
正确答案:A
详细解析:主要考察数组的定义和写法,这里,128 表示起始地址,1 表示最终地址
12、九进制数 16 与九进制数 27 相加的结果用九进制表示为( )?
A. 45.0 B. 46.0 C. 43.0 D. 44.0
正确答案:D
新芯设计:这种题目跟高考类似,实际用不到,但是考察答题者的应变能力
9 进制,那么 16 就是 10 + 6,这里的 10 表示 9,因此 16 就是 'd15,同理,27 就是 'd25,二者之和十进制是 'd40,转换成九进制就是 44
13、有关 DFT,以下说法不正确的是( )?
A. scan 的设计规则,需保证时钟复位可控
B. ECO 时无须关注 DFT 网表
C. 主流的 scan 方式采用 MUX-DFF
D. MBIST 指的是对 memory 的 BIST 测试
正确答案:B
详细解析:ECO 表示 RTL Final 之后,在后端综合和物理实现流程中对电路进行修改,DFT 网表也是需要关注的
14、对芯片性能影响最大的三个因素是 PVT,分别是指?( )
A. package,voltage,temperature
B. process,voltage,temperature
C. process,verification,temperature
D. process,voltage,test
正确答案:B
详细解析:
Process:制造工艺
Voltage:电压,电压越高,延时越小
Tempurature:温度,温度越高,延时越大
15、下面这段代码,说法错误的是( )?
always @(posedge clk)begin
din_dly <= din;
end
A. din_dly 用来当控制信号是安全的
B. din_dly不受复位影响
C. 数据寄存推荐这样的写法
D. din 的不定态会传递到 din_dly
正确答案:A
详细解析:这个考的还是有点奇怪的,信息给得不够全
B:这里没有复位信号的控制,那肯定不受复位的影响
C:数据的寄存可以这么写,不需要复位的控制,其实 SRAM 中数据也是没有复位的
D:肯定会传递的
17、关于功耗,以下描述不正确的是( )
A. 改变芯片的供电电压和时钟频率都会对芯片功耗产生影响
B. 设计者需要关注平均功耗、峰值功耗和功耗跳变
C. 芯片的功耗会受实际信号的影响,所以功耗测试需要结合业务来开展
D. 对于可关断的模块,使用时钟门控即可降低功耗
正确答案:C
详细解析:芯片的功耗测试是内部的,跟外界的业务没有必然的关系,业务只是影响芯片的能耗
18、为实现占空比 50% 三分频时钟,下面描述的电路,正确的是( )?
A. 用待分频时钟上升沿采样计数,产生占空比1/3的分频时钟A;用待分频时钟上升沿采样计数,产生1个占空比2/3的分频时钟;把A与B相或得到50%占空比时钟
B. 用待分频时钟上升沿采样计数,产生占空比1/3的分频时钟A;用待分频时钟下降沿采样计数,产生1个占空比1/3的分频时钟;把A与B相与得到50%占空比时钟
C. 用待分频时钟上升沿采样计数,产生占空比1/3的分频时钟A;用待分频时钟下降沿采样计数,产生1个占空比1/3的分频时钟;把A与B相或得到50%占空比时钟
D. 用待分频时钟上升沿采样计数,产生占空比1/3的分频时钟A;用待分频时钟上升沿采样计数,产生1个占空比2/3的分频时钟;把A与B相与得到50%占空比时钟
正确答案:B
详细解析:
19、关于冯诺依曼结构和哈佛结构的描述中,错误的是( )?
A. 冯诺依曼接口中程序计数器负责提供程序执行所需要的地址
B. 哈佛结构中取指令和执行不能完全重叠
C. 冯诺依曼结构的计算机中数据和程序共用一个存储空间
D. 哈佛结构的计算机在一个机器周期内科同时获得指令和操作数
正确答案:B
详细解析:哈佛结构是数据和指令分开存储,通常指令存在 ROM,数据存在 RAM,其取值和执行是一可以同时发生的
20、状态机必须有1个缺省状态?( )
A. 正确 B. 错误
正确答案:A
详细解析:状态机必须有一个缺省状态,防止出现未知状态导致系统崩溃,同时也防止状态生成锁存器,就像 case 需要 default 一样
21、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);
A.正确 B. 错误
正确答案:A
详细解析:
22、以下关于flase-path,正确的是( )?
A. 一般模拟IP和系统的互联接口都可以设置为flase-path
B. 一般异步电路可以设置为flase-path
C. 一般异步复位可以设置为flase-path
D. 两个不同频率之间的接口一定可以设置为flase-path
正确答案:A
详细解析:
23、在 Verilog 中,比算数运算符 + 优先级高的是? ( )
A. & B. % C. > D. !==
正确答案:B
详细解析:其实优先级这种东西没必要考的,为了应付笔试还是背一背吧
24、有关功耗,以下说法不正确的是( )?
A. 电压越大,工作频率越高,其动态功耗越高
B. 低功耗设计的目标就是采用各种优化技术和方法,在各个设计目标之间找到最佳的结合点
C. 设计层次越高,功耗优化所能达到的效果越好
D. 芯片单位面积的动态功耗和静态功耗随着工艺的发展呈下降趋势
正确答案:D
详细解析:随着工艺的提高,晶体管阈值减小,漏电流变大,静态功耗变大
25、generate for 循环语句中使用的标尺变量可定义为 integer?( )
A. 错误 B. 正确
正确答案:A
详细解析:
generate for 使用的是 genvar,for 循环使用的才是 integer
26、在时钟上升沿时采样到start有效开始,两个时钟周期后,信号“a”连续或者间断地出现3次为高电平,紧接着信号“stop”在下一周期为高的是哪个?( )
A. property p0;
@(posedge clk)$rose(start1) |-> ##2(a[=>3]) ##1 stop;
endproperty
a0:assert property(p0);
B. property p0;
@(posedge clk)$rose(start1) |-> ##2(a[*3]) ##1 stop;
endproperty
a0:assert property(p0);
C. property p0;
@(posedge clk)$rose(start1) |-> ##2(a[->3]) ##1 stop;
endproperty
a0:assert property(p0);
D. property p0;
@(posedge clk)$rose(start1) |-> ##2(a[=3]) ##1 stop;
endproperty
a0:assert property(p0);
正确答案:C
详细解析:
27、ASIC开发流程中,如下环节的先后顺序是?( )
A. synthesis->P&R->RTL
B. RTL-> P&R-> synthesis
C. RTL-> synthesis-> P&R
D. synthesis-> RTL-> P&R
正确答案:C
新芯设计:基础知识
RTL 设计 -> 综合 -> 布局布线
28、以下关于 flase-path,正确的是( )?
A. 一般模拟 IP 和系统的互联接口都可以设置为 flase-path
B. 一般异步电路可以设置为 flase-path
C. 一般异步复位可以设置为 flase-path
D. 两个不同频率之间的接口一定可以设置为 flase-path
正确答案:A
详细解析:
29、有关综合的说法,一下哪个选项是错误的?( )
A. 综合网表可用于 EDA 功能仿真
B. 时序逻辑 always 语句中,if-else 如果 else 的分支缺乏,会综合成 latch
C. casez 是不可综合的
D. 相同的 RTL 代码,每次综合出来的网表可能是不一样的
正确答案:B
详细解析:
值得注意的是,禁止 casex,不推荐 casez,虽然不一定不可综合,但是 casex 把 x/z 视为 don't care,casez 把 z 视为 don't care
30、下面是一个什么电路( )?
always @(posedge clk)begin
if(rst_n == 1’b0)
a <= 2’b0;
else if (b>2’b0)
a <= b;
end
A. 综合成 Latch
B. 带异步复位的 D 触发器
C. 组合逻辑
D. 带同步复位的 D 触发器
正确答案:D
详细解析:
这个是时序电路,不会综合成 Latch 的,很明显,这是同步复位电路
最后
以上就是傲娇小懒虫为你收集整理的数字 IC 设计、FPGA 设计秋招笔试题目、答案、解析(2)2021 华为海思(上)的全部内容,希望文章能够帮你解决数字 IC 设计、FPGA 设计秋招笔试题目、答案、解析(2)2021 华为海思(上)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复