飞道的博客

华为2019数字芯片岗笔试解析二(单选第三部分)

477人阅读  评论(0)

首发来自公众号:数字芯片设计

21.数字电路设计中,下列哪种手段无法消除竞争冒险现象()
【A】加滤波电容,消除毛刺
【B】增加冗余项消除逻辑冒险
【C】增加选通信号,避开毛刺
【D】降低时钟频率

解析:数字电路中常见消除竞争与冒险的方法:1、接入滤波电容,因为尖峰脉冲一般都很窄(多在几十纳秒以内),所以只需要在输出端接一个很小的滤波电容,就可以将尖峰脉冲的宽度削弱至电路的阈值电压以下。但输出波形随电容变化,所以适用于对波形前、后沿无严格要求的场合,所以A选项正确;2、引入选通脉冲,选通脉冲在输出稳定之后才拉高,所以可以消除稳定之前的尖峰脉冲。但是,使用这种方法,必须得到一个与输入信号同步的选通脉冲,对它的宽度和作用时间有严格的要求,所以C选项正确;3、修改逻辑设计,增加冗余项。这种方法使用范围有限,考虑的情况比较多,在不同输入的时候,冗余项会不一样,所以如果考虑所有情况,会花费比较多的资源,如果设计的好,适用范围可以适当增加,所以B选项正确;由于在组合逻辑电路中,某个输入变量通过两条或两条以上的途径传到输出端,由于每条途径延迟时间不同,到达输出门的时间就有先有后,这种现象称为竞争,降低时钟频率并不能消除竞争冒险现象,所以D错误。

正确选项:D

 

22.异步时钟数据采样的方法错误的是()
【A】单bit高频时钟脉冲展宽后给低频时钟进行采样
【B】握手信号后再采样
【C】使用FIFO隔离进行多bit的采样
【D】高频时钟直接采样低频时钟的多bit数据

解析:低频时钟采样高频信号,必须先对高频信号进行展宽处理,否则采样不完全,会丢失数据,A正确;异步时钟数据采样可以采用握手的方法,B正确;多bit信号采样一般采用异步FIFO的方法,C正确;跨时钟域即便是高频时钟采样低频时钟也不可以直接采样,直接采样可能会出现亚稳态,造成亚稳态的传播,严重影响电路的性能,D错误。

正确答案:D

 

23.以下不能对多bit的数据总线的时钟异步处理的是()
【A】DMUX synchronizer
【B】Gray Code
【C】寄存器同步
【D】FIFO

解析:DMUX同步器:对于多bit的data信号,还可以使用使能技术,也就是通过一个使能信号来判断data信号是否已经稳定,当使能信号有效的时候说明data处于稳定状态,在这种情况下终点寄存器才对信号进行采样,可以保证没有setup/hold违例。而使能信号一般使用双触发器的方法来进行同步。下面是DMUX的同步示意图,所以A选项正确。

图片来自博客园博主ID:love小酒窝

将多bit信号转化成格雷码,然后打拍处理也是一种异步处理方法,但是该方法有一定的局限性,要求相邻的多bit信号转化成格雷码必须只有1bit的跳变,比如异步FIFO的读地址传输到写时钟域(或者写地址传输到读时钟域),B选项正确;寄存器同步的方式只适用于单bit信号,C错误;无论是单bit还是多bit,无论是从快时钟域到慢时钟域,还是慢时钟域到快时钟域,FIFO通吃,FIFO的设计需要注意FIFO空满信号产生问题、格雷码的应用问题、深度选择问题等,所以D选项正确。

正确答案:C

 

24.一个4bit位宽的有符号数a=4'b1001取绝对值后的值为abs(a)=4'b0110()
【A】正确
【B】错误

解析:a=4'b1001的十进制数为-1,abs(a)=4'b0110是+6,显然错误。

正确答案:B

 

25.对于两个位宽相同的无符号数a和b,a>b和a<b两个比较器面积是一样的()
【A】正确
【B】错误

解析:在各种数字系统尤其是在数字电子计算机中,用来完成两个二进制数的大小比较的逻辑电路称为二进制比较器。在数字电路中,二进制比较器的输入是要进行比较的两个二进制数,输出是比较的结果。首先讨论1位数值比较器,1位数值比较器是多位比较器的基础,当A和B都是1位二进制数时,它们的取值和比较结果可由1位数值比较器的真值表表示,由真值表可得如下逻辑表达式:

从上述逻辑,我们可以看出A>B和A<B的逻辑中使用的逻辑关系是对称的。因此,我们可以得到A>B和A<B的面积是相同的。

正确选项:A

26.组合逻辑电路的特点是输出信号只是该时刻的输入信号的函数,它是无记忆功能的。时序逻辑电路的特点是任何时刻产生的稳定输出信号不仅与该时刻输入信号有关,而且与它过去的状态有关()
【A】正确
【B】错误

解析:组合逻辑电路和时序逻辑电路的基本特点。

正确选项:A

27.高的功能覆盖率意味着高的代码覆盖率()
【A】正确
【B】错误

解析:覆盖率包括代码覆盖率、功能覆盖率、漏洞覆盖率、断言覆盖率等。功能覆盖率是和设计意图紧密相连的,有时也被称为“规范覆盖率”,而代码覆盖率则是衡量设计的实现情况。设想某个代码块在设计中被漏掉的情况,代码覆盖率不能发现这个错误,但是功能覆盖率可以。代码覆盖率与功能覆盖率是并列的关系,二者并没有本质的联系。

正确选项:B

 

28.为了发现逻辑缺陷,要想到什么测什么,一定要遍历所有的可能()
【A】正确
【B】错误

解析:验证过程是需要制订完整和系统的测试方案来进行全面的验证,对于大规模集成电路,不可能遍历所有的可能,我们需要做的,是达到100%的覆盖率目标,但这并不意味着就是遍历所有可能。

正确选项:B

 

29.在Verilog中,关于函数不正确的是()
【A】函数可以调用其它函数
【B】函数只能返回一个值
【C】函数必须带有至少一个输入
【D】不能包含任何时延或者时序控制

解析:在Verilog语言中,函数只能在模块中定义,位置任意,并在模块的任何地方引用,作用范围也局限于此模块。函数主要有以下几个特点:(1)不含有任何延迟、时序或时序控制逻辑;(2)至少有一个输入变量;(3)只有一个返回值,且没有输出;(4)不含有非阻塞赋值语句;(5)函数可以调用其他函数,但是不能调用任务;所以4个选项都是正确的,学会此知识点即可。

正确选项:无

 

30.在SystemVerilog中,函数可以调用任务()
【A】正确
【B】错误

解析:在Verilog中函数不能调用任务,但在SystemVerilog对这条限制稍有放宽,允许函数调用任务,但只能在由 fork...join_none语句生成的线程中调用。绿皮书《SystemVerilog验证测试平台编写指南》3.2节的原话。

正确选项:A


转载:https://blog.csdn.net/weixin_44511423/article/details/111306774
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场