单片机入门生
笔试里的时序分析题,说白了就是考你会不会套公式,以及知不知道公式里每个参数到底该用哪个值。
最经典的题型就是给你一张带触发器的电路图,图上标出组合逻辑的延迟、触发器的建立保持时间,有时还会给时钟偏移(skew)。然后第一问让你算最大时钟频率,第二问让你检查保持时间是否满足。
解题步骤其实很固定:
第一步,找关键路径。就是所有从寄存器到寄存器的路径里,组合逻辑延迟总和最大的那条。这条路径决定了你的时钟周期最低能到多少。
第二步,算最大时钟频率(Fmax)。公式是:Tclk >= Tco + Tcomb + Tsetup - Tskew。这里Tco是源触发器的时钟到输出延迟,Tcomb是关键路径的组合逻辑延迟,Tsetup是目的触发器的建立时间,Tskew是时钟偏移(如果目的触发器时钟比源触发器晚到,Tskew就是正的,对建立时间有利)。算出最小时钟周期Tclk_min,Fmax = 1 / Tclk_min。
第三步,检查保持时间。公式是:Thold <= Tcd + Tcomb_min。这里Thold是目的触发器的保持时间,Tcd是源触发器的时钟到输出最小延迟(注意是最小值!),Tcomb_min是同一条路径上组合逻辑的最小延迟。这个检查是为了保证新数据不会来得太快,把老数据冲掉。
最容易忽略的细节:
1. 时钟偏移的方向。一定要看清楚题目里定义的skew是目的时钟减源时钟,还是反过来。带错符号整个结果就反了。
2. 计算保持时间时,用的是最小延迟(Tcd和Tcomb_min),很多人会习惯性地用成典型值或最大值。
3. 题目有时会给“时钟不确定性(clock uncertainty)”,这个通常要直接加到建立时间要求里,或者从时钟周期里减掉。
建议找两三道经典题反复练,把公式和步骤写下来贴在旁边,做的时候对着套,形成肌肉记忆。笔试时间紧,这种题必须又快又准。
