• 数字 IC 设计、FPGA 设计秋招笔试题目、答案、解析(2)2021 华为海思(上)


    引言

            最近收到诸多粉丝的来信,要求出一版《数字 IC 设计、FPGA 设计秋招笔试题精讲》,于是,通过几天几夜的加班加点,终于出了这一版《2021 华为海思秋招笔试题目、答案、解析》,以后每隔 7 天就会出好几套卷,助各位数字 IC 设计者斩获大厂的高薪 Offer!!!

            PS:纯题目的 PDF 版本可联系博主获取~

    单选题

    1、影响芯片成本的主要因素是 Die Size 和封装,但电源、时钟等因素,特别是功耗对解决方案的成本影响较大,因此低成本设计需要兼顾低功耗设计:()

    A. 错误

    B. 正确

    1. 正确答案:B
    2. 详细解析:题目里已经说明了,“影响芯片成本的主要因素是 Die Size 和封装”,那么封装成本和什么有关呢,当然是散热了,功耗越大,散热装置要求越高,封装难度更大,成本要求更高,所以,功耗是和成本相关的。

    2、reg [31:0] big_vect; 那么 big_vect[0+:8] 是多少?()

    A. big_vect[0:7]

    B. big_vect[7:0]

    1. 正确答案:B
    2. 详细解析:这道题不就是书上的内容嘛!需要对向量的抽取有着较深的掌握,对于抽取符号 +:,其左边 0 表示起始位置,其右边 8 表示向量抽取位宽或者 Length,然后定义的是从最高位到最低位,对应下来所以选择 B,A 只是干扰的

    3、generate 语句中的循环控制变量应该定义为 integer 类型()

    A. 错误

    B. 正确

    1. 正确答案:B
    2. 详细解析:定义的类型是 genvar,有写过这个代码的应该都是了解的,for 才是 integer

    4、o10 换算成十进制是多少?()

    A. 8

    B. 16

    C. 10

    D. 2

    1. 正确答案:A
    2. 详细解析:o07 表示 7,+1 就是进位了,即 o10 = 8

    5、哪些情况下不会产生 Latch 电路?()

    A. 组合逻辑中条件不全的 case 语句没有 default 赋值

    B. 时序逻辑中 if 选择语句,没有 else 部分表达

    C. 使用 if 选择语句的组合逻辑没有 else 部分表达

    D. 使用 case 选择语句的组合逻辑没有 else 表达

    1. 正确答案:B
    2. 详细解析:等你入职就会经常用到 B 的这种写法,这是一种低功耗 CG 设计的写法,不会生成锁存器 Latch

    6、关于类的构造函数,以下说法中正确的有()

    A. 函数体中必须有 new 语句

    B. 返回类型是 void 类型

    C. 函数名与齐类名完全相同

    D. 不能有形参

    1. 正确答案:C
    2. 详细解析:
    3. A:类可以认为是用户定义的一种数据类型,类的显式定义有new(),隐式定义无,new()的作用是进行初始化,没有new()时,类默认为null,A错;
    4. B:构造类可以没有返回值,也没有返回值类型,但是可以有参数(包括形参int a),D错;
    5. C:类名与函数名一样,C对;
    6. D:返回值类型不一定是voidvoid用于有返回值的数据类型,用来取消返回值,B错

    7、中断指示寄存器由实时告警的状态触发,是只读寄存器。()

    A. 错误

    B. 正确

    1. 正确答案:B
    2. 详细解析:中断状态寄存器是只读寄存器,只有软件经过处理之后,消除了这种告警状态,硬件就会对其自动清零

    后续答案更新中。。。

    8、下面的选项中关于宏定义的说法不正确的是?(   )
    A. 宏定义文件最好放在一个文件中集中管理,防止出现不同项目需要修改为不同的宏定义值,但是却漏改了某些地方的情况出现。
    B. 综合的时候,define可以跨文件列表生效
    C. 如果模块中有很多宏定义,在模块的文件列表最后需要undef掉使用的宏,防止和其他模块的宏定义冲突。
    D. 仿真时如果出现宏定义冲突,后面的define值会覆盖前面的define值

    1. 正确答案:C
    2. 详细解析:

    9、在systemverilog中,函数(task)可以调用函数任务(function)。(   )
    A. 错误                                 B. 正确

    1. 正确答案:C
    2. 详细解析:

    10、假设输入信号X位宽为12bit,inA位宽为6bit,inB位宽为17bit,实现Y = X*inA+inB功能,并要求不损失精度,呢么输出信号Y位宽应不小于(   )?
    A. 17bit                 B. 12bit                 C. 18bit                 D. 19bi

    1. 正确答案:C
    2. 详细解析:

    11、reg[7:0] mem[1:256];initial $readmemh(“mem.data”,mem,128,1);对于mem行为正确的描述是(   )?
    A. 从地址128开始,写到地址1
    B. 从地址128开始,写1个地址
    C. 从地址1开始,写128个地址

    1. 正确答案:C
    2. 详细解析:

    12、九进制数16与九进制数27相加的结果用九进制表示为(   )?
    A. 45.0                 B. 46.0                 C. 43.0                 D. 44.0

    1. 正确答案:C
    2. 详细解析:

    13、有关DFT,以下说法不正确的是(   )?
    A. scan的设计规则,需保证时钟复位可控             
    B. ECO时无须关注DFT网表
    C. 主流的scan方式采用MUX-DFF              
    D. MBIST指的是对memory的BIST测试

    1. 正确答案:C
    2. 详细解析:

    14、对芯片性能影响最大的三个因素是PVT,分别是指?(   )
    A. package,voltage,temperature
    B. process,voltage,temperature
    C. process,verification,temperature
    D. process,voltage,test

    1. 正确答案:C
    2. 详细解析:

    15、下面这段代码,说法错误的是(    )?
    always @(posedge clk)begin
             din_dly <= din;
    end
    A. din_dly 用来当控制信号是安全的
    B. din_dly不受复位影响
    C. 数据寄存推荐这样的写法
    D. din的不定态会传递到din_dly

    1. 正确答案:C
    2. 详细解析:

    17、关于功耗,以下描述不正确的是(    )
    A. 改变芯片的供电电业和时钟频率都会对芯片功耗产生影响
    B. 设计者需要关注平均功耗、峰值功耗和功耗跳变
    C. 芯片的功耗会受实际信号的影响,所以功耗测试需要结合业务来开展
    D. 对于可关断的模块,使用时钟门控即可降低功耗

    1. 正确答案:C
    2. 详细解析:

    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%占空比时钟

    1. 正确答案:C
    2. 详细解析:

    19、关于冯诺依曼结构和哈佛结构的描述中,错误的是(     )?
    A. 冯诺依曼接口中程序计数器负责提供程序执行所需要的地址
    B. 哈佛结构中取指令和执行不能完全重叠
    C. 冯诺依曼结构的计算机中数据和程序共用一个存储空间
    D. 哈佛结构的计算机在一个机器周期内科同时获得指令和操作数

    1. 正确答案:C
    2. 详细解析:

    20、状态机必须有1个缺省状态?(     )
    A. 正确                                B. 错误

    1. 正确答案:C
    2. 详细解析:

    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. 错误

    1. 正确答案:C
    2. 详细解析:

    22、以下关于flase-path,正确的是(    )?
    A. 一般模拟IP和系统的互联接口都可以设置为flase-path
    B. 一般异步电路可以设置为flase-path
    C. 一般异步复位可以设置为flase-path
    D. 两个不同频率之间的接口一定可以设置为flase-path

    1. 正确答案:C
    2. 详细解析:

    23、在verilog中,比算数运算符+优先级高的是? (    )
    A. &                         B. %                         C. >                         D. !==

    1. 正确答案:C
    2. 详细解析:

    24、有关功耗,以下说法不正确的是(    )?
    A. 电压越大,工作频率越高,其动态功耗越高
    B. 低功耗设计的目标就是采用各种优化技术和方法,在各个设计目标之间找到最佳的结合点
    C. 设计层次越高,功耗优化所能达到的效果越好
    D. 芯片单位面积的动态功耗和静态功耗随着工艺的发展呈下降趋势

    1. 正确答案:C
    2. 详细解析:

    25、generate for 循环语句中使用的标尺变量可定义为integer?(    )
    A. 错误                                 B. 正确

    1. 正确答案:C
    2. 详细解析:

    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);

    1. 正确答案:C
    2. 详细解析:

    27、ASIC开发流程中,如下环节的先后顺序是?(   )
    A. synthesis->P&R->RTL
    B. RTL-> P&R-> synthesis
    C. RTL-> synthesis-> P&R
    D. synthesis-> RTL-> P&R

    1. 正确答案:C
    2. 详细解析:

    28、以下关于flase-path,正确的是(   )?
    A. 一般模拟IP和系统的互联接口都可以设置为flase-path
    B. 一般异步电路可以设置为flase-path
    C. 一般异步复位可以设置为flase-path
    D. 两个不同频率之间的接口一定可以设置为flase-path

    1. 正确答案:C
    2. 详细解析:

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

    1. 正确答案:C
    2. 详细解析:

    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触发器

    1. 正确答案:C
    2. 详细解析:
  • 相关阅读:
    【深度优先搜索-中等】1034. 边界着色
    37 年来首次 FSF 允许非正式会员提名董事会候选人;Linux RamFS 文件系统移植到 Rust;Git 2.35 发布 | 开源日报
    性能测试分类
    HCIA回顾笔记
    《TCP/IP网络编程》阅读笔记--基于Windows实现Hello Word服务器端和客户端
    golang 编程规范查漏补缺
    【C++风云录】辐射现代大数据景观:从Apache Arrow到Thrust的全方位探索
    python数据分析及可视化(五)Pandas的介绍、Series和DataFrame的创建和增加、删除、更改、查找、重新索引、重新命名等基本操作
    Gitlab光速发起Merge Request
    CMake教程-第 5 步:安装和测试
  • 原文地址:https://blog.csdn.net/MicroTalent12/article/details/125267106