华为海思2022数字芯片笔试题(节选)

PS:答案是个人整理,抛转引玉,非常欢迎大家一起讨论交流!

单选2分

1.foo-(1

A.正确

B.错误

解:B

我不会

2.在verilog HDL描述语言中,模块内使用parameter和define定义的参数,其作用范围均局限于模块内部。

A.正确

B.错误

解:A

define不是

3.在Verilog代码中,对有符号数进行比特选择或拼接,其结果是无符号数

A.正确

B.错误

解:B

解释:B

1、对于长位宽赋值给短位宽的情况,无论左操作数、右操作数是有符号数还是无符号数,都是直接截断高位,而左操作数二进制所表示的实际十进制数据要看左操作数是无符号数还是有符号数,如果左操作数是无符号数,直接转换成十进制即可,如果是有符号数,则看成2的补码解释成十进制数,这也是实际计算机系统中有符号数的表示方法。

2、对于短位宽赋值给长位宽的情况,需要对高位进行位扩展,具体是扩展1还是扩展0,记住:完全依据右操作数!,具体如下:

1)右操作数是无符号数,则无论左操作数是什么类型,高位都扩展成0;

2)右操作数是有符号数,则要看右操作数的符号位,按照右操作数的符号位扩展,符号位是1就扩展1,是0就扩展0;

3)位扩展后的左操作按照是无符号数还是有符号数解释成对应的十进制数值,如果是无符号数,则直接转换成十进制数值,如果是有符号数,则看成2的补码解释成十进制数;

4)从上面4种情况看出,有符号数赋值成无符号数会出现数据错误的情况,因此要避免这种赋值,而其他情况都是可以保证数据正确的。

4.

input clk;

input rst_n;

wire [1:0] cnt_out;

always@(posedge clk or negedge rst_n)begin

If(rst_n==1'b0)begin

cnt<=3'd0;

end

else begin

cnt <=cnt+3'd1;

end

end

assign cnt_out={2{cnt[2]}}^cnt[1:0];

cnt_out这个计数器按照什么规律变化?

A.按照0、0、0、0、0、1、2、3、0、0、0、0、……这样的规律计数

B.始终按照0、1、2、3、0、1、2、3、……这样的规律技术

C.按照0、0、0、0、3、3、3、3、0、0、0、0、……这样的规律计数

D.按照0、1、2、3、3、2、1、0、0、1、2、3、……这样的规律计数

解:D 

自己写一下


5.下面哪项不属于功能类测试点分解的思路是?

A.芯片接口时序的组合

B.功能对应输入的范围,考虑边界值,等价类等

C.功能对应的行为特性

D.考虑时间上序列关系的影响

解:AD 因为是功能吧,我猜的

[不定项选择4分]

6.下列行为描述语句可综合的是:()

A. assign赋值语句

B. if else条件语句

C. always过程语句

D. for循环语句

解:ABCD

7. Formality是由Synopsys公司开发的一种形式验证(Formal Verification)工具,用于两个Design之间的等价性验证。它可以支持如下哪些等价性验证?

A. RTL级对RTL级

B. RTL级对门级网表

C.门级网表对门级网表

解:不知道

ABC

解析:跟事件驱动模拟器相比,形式验证能更快的验证出两个设计在功能三是否等同,可以实现RTL-RTL,RTL-TO-GATE,GATE-TO-GATE,并且有定位功能,可以帮助找到两个设计之间功能不同的原因。

8.①: always @(posedge clk or negedge rst_n)begin

if (!rst_n)din_dly<='h0;

eise din_dly<=din;

end

②: always @(posedge clk) begin

din_dly<=din;

end

③: always @(posedge clk) begin

If (!rst_n)din_dly<='h0;

else din_dly<=din;

end

上面三段代码,说法正确的是:

A.②属于无复位寄存器,其PPA更优

B.③属于同步复位逻辑,rst_n可能通过组合逻辑连接到寄存器D端。

C.①属于异步复位逻辑

D.同步复位和异步复位都是在复位时将寄存器状态初始化,所以没有区别

解:ABC

9.下面哪些会导致代码不可综合?

A.在给寄存器赋值时,加了#delay

B.使用了initial语句

C.代码中包括了运算符= = =

D.使用了generate语句

解:ABC

10.在逻辑设计和STA分析中,主要包含哪些时序路径

A.寄存器—>组合逻辑—>寄存器

B.输入管脚—>寄存器—>输出管脚

C.输入管脚—>组合逻辑—>寄存器

D.寄存器—>组合逻辑—>输出管脚

E.输入管脚—>寄存器—>组合逻辑

解:ABCD

FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算_专栏_易百纳技术社区

任何数字设计均可分为静态时序分析的四类路径。

  • 输入到输出(I2O)
  • 输入到寄存器(I2R)
  • 寄存器到寄存器(R2R)
  • 寄存器到输出(R2O)

在所有这些路径上一一完成静态时序分析。 通过定义该路径的起点和终点来分别分析每个路径。

单选2分

11.对于设计中所使用的Pipeline,说法中正确的有

A.使用pipeline会对时序有好处,STA更容易通过。

B.使用pipeline一定可以减少面积。

C.使用Pipeline会导致数据延时增加,但如果工作频率不变,系统的吞吐量不会改变。

D.使用Pipeline可能会导致面积增大。

解:AD

B一般是增加面积

C吞吐量变大


华为海思2022数字芯片笔试(带答案)-面包板社区

你可能感兴趣的:(数字IC笔试,fpga开发)