笔试题-2023-杰理科技-数字IC设计(附答案及解析)
1、请按要求完成如下运算
答案:
a,b,c,d 都是8bit数据,a,b 有符号,c,d 无符号,d=b数值应该不变,不知道考察什么
a = 1; // a = 8'b0000 0001
c = -1; // c = 8b1111 1111
b = a + c; d = b;// b = 0x0 d = 0x0
a = a >> 1;// 逻辑移位运算。 a = 8'b0000 0000;
c = c >> 1; // c = 8'b0111 1111
b= a + c; d = b; // b = 8'0111 1111 d = 8'b0111 1111
2、画出同步时序逻辑电路的结构示意图,并阐述:
- setup time和hold time的含义
- 时钟抖动(Clock Jitter)的含义,以及对setup time和hold time的影响
答案及解析*:
可参考:Contraining Designs for Synthesis and Timing Analysis 》
- setup time: 有效时钟沿到来之前数据必须保持稳定的时间hold time: 有效时钟沿到来之后数据必须保持稳定的时间。
- 时钟抖动: 相邻两个时钟周期之间存在的时间差值
时钟抖动会增加时钟不确定性.
对于时钟内 (intraclock) 路径,源时钟域目的时钟相同,时钟抖动会影响建立关系,不会影响保持关系。
对于时钟间 (interclock) 路径,源时钟域目的时钟不同,时钟抖动即会影响建立关系,也会影响保持关系
3、请阐述在数字电路中什么是亚稳态,出现亚稳态有什么危害,如何防止产生亚稳态。
答案及解析*:
参考: 深扒“亚稳态”的底裤,从MOS管到CMOS门电路,再到亚稳态分析
什么是亚稳态:
由于晶体管的寄生电容域负载电容的存在,导致门电路的状态切换需要传输延迟时间。对应触发器需要满足建立时间和保持时间,如果时序关系不满足,触发器输出将在一段时间内停留在高态或低态之间,被称为亚稳态。
亚稳态的危害:
如果在下一寄存器捕获数据之前数据输出稳定到了一个有效状态,则不会产生负面影响。
如果在下一寄存器捕获前没稳定,就可能产生逻辑故障。
如何防止产生亚稳态:
亚稳态无法消除,只能减小产生的概率。
亚稳态概率与时钟频率与数据切换频率、寄存器输出时延有关。
- 可以通过同步寄存器链减小亚稳态发生的概率。这些寄存器允许潜在的亚稳态信号在设计的其余部分使用之前有额外的时间解析到个已知值。同步器register-to-register 路径中可用的时间裕量是亚稳信号稳定的可用时间,称为可用亚稳稳定时间。
- 降低系统时钟频率
- 用反应更快的触发器
- 改善时钟质量
4、一个理想ADC的采样率为100 kHz,AD输入信号为sine 1 kHz时,对ADC输出结果做频谱分析会发现信号出现在 KHz位置: 当输入信号为sine 60 kHz时,对ADC输出结果做频谱分析会发现信号出现在 kH位置: 请阐述采样定理:
答案及解析*:
Nyquist采样定理:当采样频率fs大于信号中最高频率fmax的2倍时,采样之后的数字信号完整地保留了原始信号中的信息。
实信号的频谱是共扼对称的。
对 1KHz 进行采样,信号在 1KHz 位置。
对 60KHz 进行采样,发生混叠,-60KHz + 100KHz = 40KHZ。信号在40KHz。
5、请用verilog语言设计一个异步总线同步电路,要求如下
输入信号: clka, clkb,rst_n, en_i, data_i
输出信号: en_o,data_o。
clka为 1MHz 时钟,clkb为 10MHZ 的时钟,clka 与 clkb 为异步时钟
rst_n 与 clka 和 ckb 都为异步,当 rst_n 为0 时复位整个电路:
en_i,data_i为 cka 时钟域信号,en_i位宽为 1bit,data_i位宽为 32bit,当en_为1时,data_i有效,en_i不会连续为1;请把en_i,data_i信号正确传递到 clkb 时钟域下的en_o,data_o;
答案及解析*:
慢到快,同步器同步采边沿就行
6、请用C语言设计一个排列函数,把输入数组int al10] = 1.4.7,2,5,8,3,6,9),按由大到小排列输出9,8,7,6,5,4,3,2, 1);再设计一个函数,计算输入数组a的方差;
答案及解析*:
收藏不易,如果觉得对你有帮助的话,可以收藏下来慢慢刷!
回顾往期精彩笔试真题:
#笔试##芯片##数字IC##春招##你为什么选择硬件行业#