笔试题-2023-星宸-数字IC设计(附答案及解析)
单选|3分
1、在C++语法中关于引用和指针描述,下面说法不正确的是: ( )
A.引用必须在声明时初始化,而指针不用
B.引用声明后,引用的对象不可改变,对象的值可以改变,指针可以随时改变指向的对象以及对象的值
D
C.引用和指针在声明后都有自己的内存空间
D.空值NULL不能引用,而指针可以指向NULL
答案:C
引用声明后没有自己的内存空间,指向被引用的变量
2、有一有符号补码、8-bit的信号a[7:0],先右移2bit得到信号b,再对b进行取平方操作得到信号C。在保证无损计算的前提下,信号c的位宽最少可为多少bit?
A.12
B.11
C.13
D.10
答案:B
解析*:
右移2bit后b的位宽为6bit。
两个6bit有符号数相乘,结果的位宽最小为 11bit.
例子:
8bit无符号数: 0~255
8bit无符号数乘积范围: 0~65025 (16bit)
8bit有符号数:-128~127
8bit有符号数乘积范围: -16256 (15bit) ~ 16384 (14bit)
3、下列哪个选项不是ARM9中CPU指令pipeline的部分? ( )
A.执行execute
B.译码decode
C.缓存cache
D.取指fetch
答案:C
解析*:
ARM9 五级流水线:
取指: 从指令存储器取指令
译码: 读取寄存器操作数
执行:产生ALU运算结果或产生存储器地址
仿存: 访问数据存储器
回写: 完成结果写寄存器
4、有一信号源,输出码字A的概率是70%,输出B的概率是30%。下列哪种码流序列的信息量较大?( )
A.ABB
B.ABA
C.AAB
D.AAA
答案:A
解析*:
出现概率越小,信息量越大
输出A的信息量=0.5146输出B的信息量=7.7370
假设各码字不相关,则码流序列总信息量为各码字信息量之和。
参考:《信息论》
5、在Verilog HDL中,非阻塞赋值语句是始终有效的,即只要等号右边的值一旦发生变化,则等号左边的变量就会发生相应的变化()
A.正确
B.错误
答案:B
解析*:
题干描述的是阻塞赋值.
非阻塞赋值需要在过程块结束才能完成赋值
5、32位环境下,下面的代码将输出( )
A.1, 4, 3
B.1, 3, 12
C.1, 3, 3
D.1, 4, 12
答案:D
解析*:
在线运行工具: C++在线运行
3个32bit,12个byte。运行细节不清楚
7、一个CMOS两输入与非门最少需要几个晶体管实现?( )
A.5
B.4
C.2
D.3
答案:
深扒“亚稳态”的底裤,从MOS管到CMOS门电路,再到亚稳态分析 2.2.1 CMOS与非门
8、两个圆环,半径分别是1和2,小圆在大圆内部绕大圆圆周一周,问小圆自身转了几周?如果在大圆的外部,小圆自身转几周呢?
A.2 2
B.1 3
C.2 3
D.1 2
答案:B
解析*:
小圆在大圆内部绕大圆一周,等效于在直线上圆心移动2pi1,也就是转了1圈。
小圆在大圆外部绕大圆一周,等效于在直线上圆心移动2p3,也就是转了3圈。
9、如何查找包含指定字符串的目录( )
A.grep
B.find
C.which
D.Is
答案:A
Linux grep 命令用于查找文件里符合条件的字符串。
10、寄存器的Tsu(建立时间)是如何定义的( )
A.在整个时钟周期数据保持稳定的时间
B.在时钟沿到来前后数据都需要保持稳定的时间
C.在时钟沿到来之前数据保持稳定的时间
D.在时钟沿到来之后数据保持稳定的时间
答案:C
填空|5分
1、十进制46.25对应的二进制表达式为____
答案:101110.01
- 请问#30时刻X的值为 1 ,Y的值为 1 ,最终X的值为 3,Y的值为 4
答案:
解析*:
2、已知wire [2:0] a = 3' d4; wire [3:0] b = 4' d8;
则c=____
d=____
答案:c=__1__
d=__2__
解析*:
a = 3'b100;
b = 4'b1000;
$signed(a) + $signed(b) = 5'b11100 + 5'b11000 = 5'b10100
c = 5'b11101 = 5'd29
a + b = 5'b00100 + 5'b01000 = 5'b01100
d = 5'b00011 = 5'd3
问答| 15分
1、请回答下关于功耗的问题
答案及解析*:
根据《SOC设计方法与实现》《数字IC设计-方法、技巧与实践》,门级电路低功耗设计优化
CMOS 电路功耗类型:
- 动态功耗:负载电容充放电引起的功耗。
- 静态功耗:漏电流引起的功耗
1.2 前端设计角度:
负载电容和工作电压在RTL级无法改变,所以需要降低电路翻转频率。
- 门控时钟。
- 通过预计算,通过判断输入向量在满足一定特定条件下输入释放或屏蔽。
- 状态机采用低功耗编码,格雷码。
1.3 门级电路角度:
门级电路的功耗优化(Gate Level Power Optimization,简称GLPO 是从已经映射的门级网表开始,对设计进行功耗的优化以满足功耗的约束,同时设计保持其性能,即满足设计规则和时序的要求。
- 电源门控
- 多闽值电压设计
2、针对如下path给出可以优化timing的方法,并说明该方法有何代价
答案及解析*:
HVT = High V thresholdLVT = Low V thresholdSVT (RVT) = Standard V threshold ( Regular V threshold )闽值电压越大,速度越慢 (单元延迟越大),功耗越小。
速度: HVT<SVT<LVT
延迟: HVT>SVT>LVT
功耗: HVT<SVT<LVT
所以,可以采用 RVT 替换 HVT 的cell ,代价是使得功耗变大
3、Verilog代码覆盖率有哪几种,这几种覆盖率的意义是什么?
答案:
- 行覆盖率 (statement / line)
- 分支覆盖率 (branch)
- 条件覆盖率 (condition/expression)
- 状态机覆盖率 (FSM)
- 跳转覆盖率 (toggle)
4、用system Verilog实现一个FIFO功能,并说明读写使用方法?
答案及解析*:
同步fifo参考:
异步fifo参考:
5、有如下电路:
5.1 在不损失精度的情况下,计算输出端DFF的位宽N;
5.2 找出电路结构上不合理的点,并从时序和面积的角度分析这些点造成的影响;
5.3 CMOS电路的功耗由哪几部分组成?结合这几部分,分析下图电路中造成功耗浪费的成因:
5.4 基于(2、3)的分析,优化电路结构,并使用verilog描述优化后的电路(忽略端口和信号声明),并在优化位置加以注释:
答案及解析*:
这里假定为无符号数
5.1略,无符号数相乘,结果位宽为乘数位宽相加,无符号数相加,位宽拓展1;有符号相乘,结果位宽为乘数位宽相加减一,有符号数相加,位宽拓展1;
5.2
1.EN组合逻辑多条延迟不同得路径,易产生竞争冒险。
2.乘加组合逻辑过大,易造成时序违例。
5.3
CMOS 电路功耗类型:
- 动态功耗:负载电容充放电引起的功耗
- 静态功耗:漏电流引起的功耗。
5.4
1.采用4输入或门。
2.乘加可以增加寄存器,或者分时复用减少逻辑资源。
整理不易,觉得对你有用的话,收藏下来慢慢刷!
回顾往期精彩笔试真题:
#笔试##数字IC##芯片##春招##你为什么选择硬件行业#