单选题1-17,给出答案和分析。
PDF版可在【FPGA Explorer】公众号回复【vivo笔试1】获取。
1. 原码、补码、反码
1.十进制数-1,4位二进制表示的原码、补码和反码为()
A. 1001B0111B1110B
B. 1111B0111B1000B
C. 1111B1110B1000B
D. 1001B1111B1110B
答案:D
解析:
有符号数表示,正数的原码、反码、补码相同。关键是负数用补码表示。
(1)4位二进制表示负数,最高位为符号位,负数最高位为1,非负数最高位为;
(2)剩余3位表示数据大小,3位中的1位为3’b001,考虑符号位4’b1001,负数应用补码表示,补码为补码+1 ;
(3)的补码:3’b110,考虑符号位是4’b1110;
(4)的补码:3’b110+3’b001 = 3’b111;
(5)的补码加号位:4’b1111;
重要提示:原码反码得到反码时,去掉符号位的其他位,反相其他位逻辑门电路国外符号图,最后加上符号位;
2. 验证覆盖率
2.以下哪个不是验证覆盖
A. 国家覆盖范围
B. 翻转覆盖
C. 条件覆盖
D. 周期覆盖
答案:D
解析:
验证覆盖率:代码覆盖率+功能覆盖率
代码覆盖包括:语句(行)覆盖、状态(状态机)覆盖、翻转覆盖、条件覆盖、分支覆盖等;
功能覆盖需要设置覆盖点、覆盖组等;
3. 时钟域交叉
3.以下哪一项不是跨时钟域数据传输的基本方法
A. 使用握手协议
B. 使用多级触发缓冲
C. 在信号通路上插入异位
D. 使用先进先出
答案:C
解析:
C中隔离的目的:电源隔离,低功耗
单个位:
慢——>快:节拍;
快 –> 慢:握手;
多位:
异步FIFO、握手、DMUX;
连续变化的地址数据可以使用格雷码;
4. 低功耗问题
4.以下哪些功耗措施可以降低峰值功耗?
A. 静态块级时钟门控
B. 内存关闭
C. 电源门控
D、显着提高HVT比例
答案:D
解析:
功耗=静态功耗+动态功耗;峰值功耗是运行过程中的瞬时最大功耗,主要是动态功耗;
A、明显降低静态功耗;
B、内存关闭技术使内存低功耗,减少内存不使用时的静态功耗;
C. 断电技术,与静态功耗有关;
D.HVT是一个高阈值电压晶体管(HighVoltageThreshold)。在一定的供电电压条件下,高阈值晶体管缓慢导通,相应降低数据周转率和动态功耗;并且高阈值晶体管也减少了泄漏。电流,降低静态功耗;
5. FIFO深度计算
5.有FIFO设计,输入时钟100MHz,输出时钟80MHz,输入数据模式固定。在这1000个时钟中,有800个时钟传输连续数据,另外200个是空闲的。为了避免FIFO下溢/溢出,最小深度是多少
320
B 80
C 160
200
答案:C
解析:
(1)因为标题说“输入数据模式是固定的”,所以不考虑“背靠背”的情况,即2000个时钟中的1600个时钟不考虑连续传输数据,只考虑1000个时钟考虑有800个时钟连续传输数据;
(2)在800个时钟连续传输中,写入100MHz,每个写入时钟周期为1 / (100MHz) = 10 ns,总共800 / (100 MHz) = 800 * 10 ns;
(3)读出时钟为80MHz,读出时钟周期1/(80MHz)=12.5ns,在800*10ns的时间周期内写入800条数据,可以读取800* 10 / 12.5 = 640;
(4)需要 FIFO 深度:800-640 = 160;
简单计算:
数据量*(1 – 读时钟频率/写时钟频率)
800*(1-80MHz/100MHz)=800*(1-4/5)=800*1/5=160
6. 时钟域交叉,格雷码
6.假设一个3bit的计数器(计数范围0-6),工作在58MHz时钟域,这个计数器的值应该传给另一个异步的100MHz时钟域,下面不正确
A使用异步FIFO
B锁存+握手信号
C 使用格雷码
D 使用DMUX电路
答案:C
解析:
计数值,连续变化的计数值,多位:
(1)异步FIFO没问题,单比特,多比特,时钟速度,数据类型,一体机;
(2)Latch+握手没问题,单比特,多比特都可以,时钟速度可以慢,典型握手例子:AXI总线;
(3)灰码看似没有问题,其实有问题。问题是计数值为0~6,计数值为奇数。没办法保证相邻数据格雷码编码后只有1位不同,这里计数到6再返回计数,与格雷码表示6时多1位不同;
如果被摄体是0~7的计数范围,格雷码没问题;
(4)DMUX没问题逻辑门电路国外符号图,主要是用单比特交叉时钟实现多比特交叉时钟;
7. 有符号加法、补码
答案:D
解析:
有符号数+有符号数,可以使用位拼接器进行符号位扩展,以后再添加;
(1)X = 8’b1001_0010 = -110;
(2)Y=8’b1000_1011=-117;
(3)X+Y = += 9’b1_1001_0010 + 9’b1_1000_1011 = 9’b1_0001_1101 = -227;
第二种解决方案更复杂:将两个有符号数都转换为十进制,将它们相加得到-227,然后再将它们转换回有符号表示;
8. 时钟相关概念
8.时钟的占空比是指
A.时钟的变化率
B. 时钟的变化范围
C. 低脉冲持续时间与脉冲总周期的比值
D. 高脉冲持续时间与脉冲总周期的比值
答案:D
解析:没有解析,概念问题。
9. 时序问题,最大时钟频率计算
9.D触发器Tsetup=3ns,Thold=1ns,Tck2q=1ns,这个D触发器的最大工作时钟频率为
A. 1GHZ
B. 250MHZ
C. 500MHZ
D. 200MHZ
答案:B
解析:
Tclk >= Tsetup + Tck2q = 4 ns;因此最大工作时钟为 250 MHz。
Thold 与时钟的最大频率无关。
10. 低功耗问题
10.在逻辑电路的低功耗设计中,无效的方法是
A 使用慢速设计
B 减少信号切换
C 使用较慢的时钟
D 提高阈值电压
答案:A
解析:
A. 不一定;
B、降低触发率可以降低动态功耗;
C、降低时钟频率可以降低动态功耗;
D、采用高阈值电压晶体管HVT,降低漏电流和静态功耗;
11. Verilog 语法
11.以下verilog运算符从高到低的正确优先级
一种。 !,&, ^, |, &&
B. ^, !,&,|,&&
C.!,|,&,&&,^
D. &,|,&&,^,!
答案:A
解析:
12.低功耗
12.在RTL设计阶段,降低功耗的常用设计方法是
A门级电路的功率优化
B门控时钟
C 降低电路漏电流
D 多阈值电压
答案:A
解析:
以上都是低功耗的方法,但是注意题目要求是在“RTL设计阶段”,所以是B,代码设计中插入了门控时钟。
A. Gate Level Power Optimization,门级网表级,又称架构级,主要包括电源门控、多阈值、多电压、异步设计等;
B、RTL级:门控时钟(使能时钟)、信号使能(使能数据)、流水线、状态机编码(格雷码、一热码编码)等;
13. Verilog 语法
13.以下哪个不是循环关键字
A、重复
B、永远
C. 同时
D、叉子
答案:D
解析:
fork…join,注意与 begin…end 的区别
14.形式验证
14.netlist(网表)一般通过什么手段来验证其正确性
A. 随机验证
B. RTL 验证
C. 形式验证
D. 网表验证
答案:C
解析:
形式验证+静态时序分析
功能上:形式验证
时序:STA静态时序分析
15.数字电路基础、真值表、卡诺图
15.下图是组合逻辑Y=f(x1,x2,x3,x4)的真值表,请根据真值表选择Y的逻辑表达式
A. (~x2)x3 + x3x4;
B. (~x2)x3 + x1x3x4;
C. x2x3 + x1(~x3)x4;
D. (~x2)x3 + x1(~x3)x4;
答案:D
解析:
卡诺图简化
16.无符号除法
16.无符号二进制除法1110111B/1001B的结果是
A商:1101B,余数:110B
B商:1101B,余数:110B
C商:1101B,余数:10B
D商:101B,余数:10B
答案:C
解析:
实在不行就转成十进制去掉,再把商和余数转成二进制;
17.组合逻辑竞技冒险
17.组合逻辑电路的危险现象是由()引起的;
A.电路不是最简单的
B. 电路有延迟
C. 不同的逻辑门类型
D.电路有多个输出
答案:B
请登录后发表评论
注册
社交帐号登录