为了能够在做题目的过程中学习到需要的知识,对每道题知识参考或者知识详情都做了详细的说明。方便后续复习。欢迎对文中的解答批评指正。
题目评价
值得一刷。
存储器内建自测(memory built-in self-test,MBIST)
内建自测的基本思想:电路自己生成测试向量,而不是要求外部施加测试向量。它有独立的比较结构来决定得到的测试结果是否正确。
A: 因此,内建自测必须附加额外的电路。
B: mbist测试频率和mem工作频率一致才能检查出实际工作时的耦合故障等。
C: mem repair:通过DFT检测出某些mem单元读写错误(芯片制造出来之后有随机问题,电路错误或者性能达不到),此时可以通过一些规则和算法用mem中原本富余的逻辑来替换这部分单元。所以肯定是可以提高良率的。
D:没有找到具体参考,按理来说测试只是完成检测功能,对性能没有影响;但有的资料说MBIST有Mbist Repair功能,如果修复了故障单元,那性能肯定是提升的。
芯片上的串扰(Crosstalk)串扰是由互连线之间的寄生耦合引起的噪声,这种耦合反映了物理世界非理想化的特性。随着芯片特征尺寸的细化,互连线的物理尺寸以及间距变小,从而导致互连线之间的耦合效应增大,,串扰随之产生并增强。
侵害网络(aggressor net或attacker):产生串扰信号源的网络。
受害网络(victom net):收到串扰的网络。
串扰会导致信号延迟和毛刺两类问题,从而影响芯片的时序性能以及正常功能。
串扰预防:
串扰修复:
B: 反了,需要增强受害网络的单元驱动能力。
A、B: 复位需要满足恢复时间和移除时间:
C: 异步复位对毛刺敏感。
16K深度,地址线为 (4+10) = 14位。
数据线8位。
A: 方案是握手协议,思路是等多bit数据稳定,然后通过但bit握手信号对稳定后的数据进行采样,可以减小亚稳态概率。
B: 多bit不可以
C: FIFO
D: 格雷码
???
嵌入式Linux OS启动流程:
实际延迟值单位是时间单元决定,不带单位。
A: 连续赋值过程定义延迟。右侧更新数据后等待期间如果发生了数据改变,则刷新等待时间,即只有持续延时时间的信号会被延时赋值给左侧。周期为5ns,所以这句的结果是clk_dly一直保持。
B:没有这种用法
C: 阻塞过程性延迟赋值,与A类似。
D: 非阻塞过程性延迟赋值。
包间隔足够大,只需要考虑一包的缓存。
FIFO数据位宽32bit。4KB对应1k个数据。
写时钟1000MHz,写1K个数据需要的时间: 1 1 M \frac{1}{1M} 1M1
这个时间读了: 800 M ∗ 1 1 M = 800 800M*\frac{1}{1M}=800 800M∗1M1=800个数据,读的过程FIFO越来越满,直到之后FIFO中还剩200个数据。
所以FIFO深度大于200个就行。
衡量指标。
参考:《如何用OCC电路实现at-speed测试_李冬》OCC(On-Chip-Clock)含义及功能和结构
At-speed 测试:面向电路内部引入延迟的故障,检测电路工作在一定频率下,电平翻转无法在一定时间内完成的故障。
一般芯片内部由CRG(Clock Reset Generation)模块提供系统工作所需的各种时钟,然后提供给各模块使用。为了支持At-speed测试,需要在CRG和模块之间加入OOC电路,OOC电路支持的功能:

OOC的结构示意图:

所以A、B、C是对的。
D没有找到资料,作为在固定工作模式切换时钟的模块,个人认为MUX结构切换过程可能产生毛刺,但是并不影响,在完成切换后才进行对应测试的。
不会做。
IC 流片前的Check List:
CMOS 电路功耗类型:
P = 1 2 ⋅ C ⋅ V D D 2 ⋅ f ⋅ N S W ⏟ 翻 转 功 耗 + Q S C ⋅ V D D ⋅ f ⋅ N S W ⏟ 短 路 功 耗 ⏞ 动 态 功 耗 + I l e a k ⋅ V D D ⏟ 漏 电 流 功 耗 ⏞ 静 态 功 耗 P=\overbrace{\underbrace{ \frac{1}{2}·C·V^2_{DD}·f·N_{SW}}_{翻转功耗} + \underbrace{Q_{SC}·V_{DD}·f·N_{SW}}_{短路功耗}}^{动态功耗} + \overbrace{\underbrace{I_{leak}·V_{DD}}_{漏电流功耗}}^{静态功耗} P=翻转功耗 21⋅C⋅VDD2⋅f⋅NSW+短路功耗 QSC⋅VDD⋅f⋅NSW 动态功耗+漏电流功耗 Ileak⋅VDD 静态功耗
C: 静态功耗
D: 输出负载体现在
C
C
C:结电容。
库利-图基算法(DIT-FFT)特点:
{
X
M
[
i
]
=
X
m
−
1
[
i
]
+
W
N
r
X
m
−
1
[
j
]
X
M
[
j
]
=
X
m
−
1
[
i
]
−
W
N
r
X
m
−
1
[
j
]
\left\{
形式验证的目标

set_clock_groups命令禁用所识别的时钟组之间的时序分析,而不禁用同一组内的时钟之间的时序分析。
-asynchronous 表示两个时钟组是异步的,没有固定相位关系。
-group 对时钟编组。
这句约束的意思就是 时钟组{CLK1} 和 时钟组{CLK2 CLK3} 是异步的。
所以跨这两个时钟域的信号不会进行时需检查。
A、path1 : clk1 -> clk1
B、Path2 : clk1 -> clk2
C、Path3 : clk2 -> clk2
D、Path4 : clk2 -> clk3
静态低功耗技术:
动态低功耗技术
动态功耗由于翻转引起,而静态功耗由漏电流引起。
FPGA原型验证系统平台和Emulator硬件仿真平台的差异
不会写
A: 常见
B: 未初始化是可能的原因。
C: 可能
D: 输出完全正常,就排除波特率问题了。