我是靠谱客的博主 轻松指甲油,最近开发中收集的这篇文章主要介绍某年华为IC笔试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

单选

1. 可以出现多个用例测试通过后某个测试点才能覆盖的情况。

A. 正确
B. 错误

2. 下边哪些因素不会影响芯片的性能()

A. 工作电压(supply voltage)
B. 工艺参数(process)
C. 芯片面积(die size)
D. 温度(operating temperature)

  • 工作电压
    芯片供电电压降低后,芯片会变慢,电压升高时,芯片会变快。
  • 温度
    温度对数字IC芯片阈值电压Vt是有影响的,温度升高引起Vt下降。阈值电压Vt下降使芯片速度加快,但通常温升导致迁移率下降更快,总的影响是温度升高速度变慢

3. 时钟的占空比指的是?

时钟占空比是指时钟信号高电平在一个周期之内所占的时间比率

4. DDR SDRAM 的读写带宽由工作频率、数据位宽决定,与刷新无关。

A. 正确
B. 错误

DDR是双倍数据速率(Double Data Rate)。允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDRAM的两倍。
SDRAM刷新是为了保证数据不丢失。

5. 为了构成的4096*8RAM,最少需要1024*2多少片

A. 24
B. 8
C. 12
D. 16

 

  • 字扩展
    新增地址线加译码器接片选
  • 位扩展
    数据线直接扩展

4096*8/(1024*2) = 16

6. 假设S0和S1的都是2’b11,下列和((S0 == 2'b11)|(S1 == 2'b11))结果不同的是:

A. (S0==2’b11)||(S1==2’b11)
B. (S0==2’b11)| (S1==2’b11)
C. (S0 | S1)
D. (S0 || S1)

  • || 逻辑或
  • | 位或

7. 关于亚稳态,以下说法错误的是()

A. 亚稳态出现的概率与器件工艺,时钟频率等有关系
B. 数字系统中,信号无法满足setup和hold时容易出现亚稳态
C. 当一个触发器进入亚稳态,既无法准确预测寄存器的输出电平,也很难预测何时输出才能稳定在某个正确地电平上
D. 亚稳态打两拍就可以消除

8. 同步数字系统中,异步电路处理不当可能引起的危害,说法正确地是()

A. 亚稳态和时序检查不通过
B. 毛刺和时序检查不通过
C. 亚稳态和后端无法实现
D. 亚稳态和毛刺

9. Shourt-current功耗(内部短路功耗)属于动态功耗?

A. 正确
B. 错误

  • 静态功耗
    在CMOS电路中,静态功耗主要是漏电流引起的功耗
  • 动态功耗
    1. 开关功耗(反转功耗)
      电路在开关过程中对输出节点的负载电容充放电所消耗的功耗。
    2. 短路功耗(内部功耗)
      由于输入电压波形并不是理想的阶跃输入信号,有一定的上升时间和下降时间,在输入波形上升下降的过程中,在某个电压输入范围内,NMOS和PMOS管都导通,这时就会出现电源到地的直流导通电流,这就是开关过程中的短路功耗。

开短路

10. 模块端口的输入信号,如果没有进行赋值,其值是(0/1、x/z)

  • 高阻态 Z
    高阻,即输出端属于浮空状态,只有很小的漏电流流动,其电平随外部电平高低而定,门电平放弃对输出电路的控制。或者可以理解为输出与电路是断开的。
  • 不确定态 X
    设置CPLD芯片一引脚为输入端口,但该端口没有与任何输入引脚相连,那有可能处于不确定状态,容易受外部干扰的。

11. 编写状态机时,将状态转换和时序逻辑分开

A. 正确
B. 错误

13.流水线设计的优点是()

A. 综合后电路的时钟频率可以更高
B. 综合后电路的复杂度更低
C. 综合后电路的功耗更低
D. 综合后电路的面积可以更小

14. 建立时间(setup time)是指在触发器的时钟上升沿到来以前,数据稳定不变的时间;保持时间(hold time)是指在触发器的时钟上升沿到来以后,数据稳定不变的时间

A. 正确
B. 错误

15. Reg[255:0] mem[31:0] 声明定义了一个位宽为32bit 深度为256的memory

A. 正确
B. 错误

16. 五分频电路的verilog实现,其计数值为(3/4/5/6)

一段程序实现五分频。

17. 一段程序:问,45这个节点上,A,B的值?

Fork
begin
A=1;
#20 A=0;
#30 A=1;
#50 A=0;
end
begin
B=1;
#20 B=0;
#30 B=1;
#50 B=0;
end
join

18. 数字芯片电路设计中,不需要考虑SI(信号完整性),模拟部分才需要考虑 B

A. 正确
B. 错误

一般讨论的信号完整性基本上以研究数字电路为基础,研究数字电路的模拟特性。主要包含两个方面:信号的幅度(电压)和信号时序。

19. 在always块中,被赋值的变量如果是+D374:D375组合逻辑,可以定义为wire B

A. 正确
B. 错误

20. 组合逻辑电路通常由()组合而成 B

A. 触发器
B. 锁存器
C. 门电路
D. 计数器

21. 对时钟到输出时间分析正确地是()D

时间分析

A. TCO = DATA DELAY – CLOCK DELAY + MOCRO TCO
B. TCO = DATA DELAY + CLOCK DELAY - MOCRO TCO
C. TCO = -DATA DELAY + CLOCK DELAY + MOCRO TCO
D. TCO = DATA DELAY +CLOCK DELAY + MOCRO TCO

Clock-to-Output Delay(tco) 这个时间指的是当时钟有效沿变化后,将数据推倒同步时序路径的输出端的最小时间间隔。时间路径为触发器到输出端。
clock delay:发射时钟路径延时。

22.如果寄存器出现亚稳态,则其亚稳态的持续时间为()C

A. 小于一个时钟周期
B. 大于一个时钟周期
C. 不确定
D. 一个时钟周期

23.编码中,可以使用显示端口映射,也可以使用位置端口映射,位置端口映射方式更好(正误)

24. 下边那个不属于FSM的基本要素()A

A. 摩尔或米勒型
B. 输入
C. 输出
D. 状态

有限状态机,也称为FSM(Finite State Machine),其在任意时刻都处于有限状态集合中的某一状态。
摩尔或米勒应该是状态机的类型。

25. 下面代码产生的波形()

always begin 
#5 clk=0;
#10 clk = ~clk ;
end 

A. clk = 1;
B. clk = 0;
C. 周期为10
D. 占空比为1/3

26. 建立时间setup time,下列描述错误的是 C

A. setup time实际上主要是由寄存器内部主Latch的K1,u1,u2引入的delay
B. setup time时间不能确保将导致数据采样错误
C. setup time时间与工艺无关,只于设计的时钟频率有关
D. 建立时间是指时钟上升沿之前,数据至少在setup time时间之前已经稳定,以保证采样可靠

27. 乒乓buffer可以提高系统的数据吞吐量,提高系统的处理并行度 A

A. 正确
B. 错误

28. 芯片接口的三态数据总线实现时如何处理 D

A. 在芯片各功能子模块内把三态数据总线转为单向的两组总线
B. 在芯片内部总线使用的地方把三态数据总线转为单向的两组总线
C. 不需要转换
D. 在芯片顶层把三态数据总线转为单向的两组总线

FPGA中设定一个信号为三态门,在Verilog中,就是设定该信号的类型为inout。
通常用在总线接口中,因为在一个总线上同时只能有一个设备端口作输出,这时其他端口必须在高阻态,同时可以输入这个输出端口的数据。所以,设备端口要挂在一个总线上,必须通过三态缓冲器。

fpga代码设计中,记得有一条“原则”,对于三态口,尽量在顶层模块使用三态,不要在内部子模块使用三态,不然会带来一系列问题。

因此最好在芯片顶层就把三态数据总线分成两根,内部就不再使用三态门了。

29. 静态时序分析中对建立时间(setup time)进行分析,应选取数据的哪个时序延时路径进行计算 A

A. 最晚到达
B. 平均到达
C. 正常到达
D. 最早到达

30. 关于多bit信号的异步处理规范,以下不正确的是 A

A. 多bit数据异步处理时,可以使用直接打打拍的方式
B. 对几个异步电路不能预知相互的相应时间时,可以根据情况,通过握手协议异步处理
C. 利用DMU电路结构异步处理时,选择信号要符合单bit同步信号要求,同步的数据要保持缓变,并被同步信号正确采样
D. 利用格雷码方式打拍异步处理时,格雷码必须依次序变化,不能间隔

多bit数据的跨时钟域同步常用方法:

  • 二进制计数值格雷码打两拍法
    此法主要是由于如果直接将二进制数打两拍至下一时钟域时,由于二进制计数的下一个值会出现多个位同时改变产生毛刺引发亚稳态问题,而格雷码计数只有一位改变,不会产生亚稳态问题。
  • 异步FIFO法
    异步双口RAM也是可以的。
  • DMUX

31. 下列描述正确的是 A

A. 阻塞赋值是和顺序相关的,一般使用阻塞语句描述组合逻辑电路
B. 非阻塞赋值是和顺序无关的,一般使用非阻塞语句描述组合逻辑电路
C. 阻塞赋值是和顺序无关的,一般使用阻塞语句描述时序逻辑电路
D. 非阻塞赋值是和顺序相关的,一般使用非阻塞赋值描述时序逻辑电路

32. 状态机的状态编码使用参数定义,也可以使用`define进行定义

A. 正确
B. 错误

  • `define
    作用 -> 常用于定义常量可以跨模块、跨文件;
    范围 -> 整个工程;
  • parameter
    作用 -> 常用于模块间参数传递;
    范围 -> 本module内有效的定义;
  • localparam
    作用 -> 常用于状态机的参数定义;
    范围 -> 本module内有效的定义,不可用于参数传递;

33. 下面运算符,优先级最高的是

A. !
B. &
C. &&
D. <<

优先级

34. 在Verilog语言中,a=4'b0101,b=4'b1010,那么a^b= C

A. 4'b0000
B. 1'b1
C. 4'b1111
D. 1'b0

  • a^b
    a、b对应的位异或
  • ^a
    将a中的每一位按位逐一进行异或

35. 以下哪个不是代码实现的外在质量要求 B

A. 健壮性
B. 可读性
C. 完整性
D. 可靠性

36. 基于Verilog HDL,时钟或复位信号可以出现在赋值表达式中 A

A. 正确
B. 错误

37. 独热码和2进制码相比较 A 

A. 独热码的组合逻辑资源更少
B. 独热码的资源消耗都少
C. 独热码的资源消耗都多
D. 独热码的寄存器资源更少

独热码,在英文文献中称做 one-hot code, 直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。例如,有6个状态的独热码状态编码为:000001,000010,000100,001000,010000,100000。

Binary(二进制编码)、gray-code(格雷码)编码使用最少的触发器,较多的组合逻辑,而one-hot(独热码)编码反之。one-hot 编码的最大优势在于状态比较时仅仅需要比较一个bit,一定程度上从而简化了比较逻辑,减少了毛刺产生的概率。由于CPLD更多地提供组合逻辑资源,而FPGA更多地提供触发器资源,所以CPLD多使用gray-code,而FPGA多使用one-hot编码。另一方面,对于小型设计使用gray-code和binary编码更有效,而大型状态机使用one-hot更高效。

38. 运算符的运算优先级:!高于||; <<高于+;

A. 正确
B. 错误
<< 低于+

39. 根据输出信号的特点,时序逻辑电路可以分为Mealy型和Moore型两种,其中Moore型的输出信号不仅取决于存储电路的状态,还取决于输入变量 A

A. 正确
B. 错误

摩尔型时序电路的特点是电路的输出和输入数据无关。如下所示电路图,该电路只有输出没有输入;米里型时序逻辑电路的特点是电路的输出信号不仅取决于存储电路的状态,而且还取决于外部输入信号。

40. 静态配置的控制寄存器,不需要进行异步处理 A

A. 正确
B. 错误

不定项

1. 下列说法正确的是 CD

A. 异步FIFO设计不需要考虑两个时钟的频率关系
B. 异步FIFO设计中使用格雷码的目的之一是为了提高电路速度
C. 异步电路中,只有信号电平反转才可能引入亚稳态
D. 管脚静态配置信号可以不用做异步处理

2. 以下哪些属于时钟的属性 

A. 占空比
B. 抖动
C. 时钟漂移
D. 周期

时钟的偏移(skew)、时钟抖动(jitter)、时钟的转换时间(transition)、时钟的延时(latency)

ABCD?周期和占空比应该也是

3. 下列关于IC设计中同步复位与异步复位的区别,正确的是

A. 异步复位不管时钟,只要复位信号满足条件,就完成复位动作
B. 异步复位对复位信号要求比较高,不能有毛刺
C. 异步复位也需要同步到对应的时钟域,以便于后续STA分析
D. 同步复位在时钟沿采复位信号,完成复位动作

ABCD

4. 异步电路的检查或验证方法 

A. FPGA验证测试
B. 代码Review
C. STA
D. RTL仿真

STA:意思是静态时序分析(Static Timing Analysis),做FPGA设计时是必须的一个步骤,事实上大家一般都已经做了这一步,我们在FPGA加约束、综合、布局布线后,会生成时序分析报告(在ISE中可以运行Timing Analyzer生成详细的时序报告), 设计人员会检查时序报告、根据工具的提示找出不满足setup/hold time的路径,以及不符合约束的路径,这个过程就是STA。细致全面的STA可以保证设计的时序符合要求,只要代码robust(综合结果符合设计原意),可以省略后仿真。

RTL行为级仿真:在大部分设计中执行的第一个仿真将是RTL行为级仿真。这个阶段的仿真可以用来检查代码中的语法错误以及代码行为的正确性,其中不包括延时信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。因此在设计的初期阶段不使用特殊底层元件即可以提高代码的可读性、可维护性,又可以提高仿真效率,且容易被重用。

5. 代码覆盖率主要包括 BCD

A. 功能覆盖率
B. 条件覆盖率
C. 状态机覆盖率
D. 行覆盖率

参考链接: https://blog.csdn.net/bleauchat/article/details/90445713

6. SRAM面积大小与那些因素相关

A. 容量,即总bit数
B. 地址译码方式
C. 禁布区
D. BIST电路

ABCD

7. 关于综合说法不正确的是

A. 如果实现的电路频率比较高,一般建议使用LVT Cell库综合
B. 如果综合时钟过约束30%,后端就可以实现同等频率
C. 综合阶段的时序Violation需尽可能优化干净,否则后端实现可能会出现困难
D. 一般为了综合优化的效果好,综合工具使用越新越好

ABD

8. 自底向上(Bottom-Up)综合策略的优点是

A. 需要进行多次迭代
B. 可以根据不同模块的不同特点和要求单独进行优化
C. 对内存要求较小并且可以在多个机器上并行执行
D. 某个模块修改后不必重新综合整个设计,减少了综合时间

BCD

问答题

1. 时序分析

同步电路设计中,逻辑电路的时序模型如下

 

时序模型

 

T1为触发器的时钟端到数据输出端的延时,T2和T4为连线延时,T3为组合逻辑延时,T5为时钟网络延时。1)假设时钟clk的周期为Tcycle;2)假设Tsetup、Thold分别为触发器的setup time和hold time。那么为了保证数据正确采样(该路径为非multi-cycle路径),下面等式是否正确?如果不正确该如何修改?

T1 + T2 + T3 + T4 + T5 < Tcycle – Tsetup
T1 + T2 + T3 + T4 > Thold

不正确
T1 + T2 + T3 + T4 - T5 < Tcycle – Tsetup
T1 + T2 + T3 + T4 - T5 > Thold



参考链接:https://www.jianshu.com/p/d280c51ffadb

另一年:https://www.codenong.com/cs105617700/

最后

以上就是轻松指甲油为你收集整理的某年华为IC笔试的全部内容,希望文章能够帮你解决某年华为IC笔试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部