推荐答案
测试一下
题目
在芯片中某数字block支持单独上下电,那么下列说法正确的是:
A 此block下电时,需要依次关闭clock,使能isolation cell,使能复位信号,控制power gating使block下电;
B 此block需要在输入端加入isolation cell;
C 此block需要在输出端加入level shift;
D 此block重新上电时,需要等到模块完成上电后才能撤销isolation。
参考答案与知识点
参考答案
我们分析题目:关于数字block支持单独上下电,涉及低功耗设计中的power gating、isolation cell、level shift、时钟关闭等。
我们需要判断每个选项是否正确。
A: "此block下电时,需要依次关闭clock,使能isolation cell,使能复位信号,控制power gating使block下电" —— 下电顺序:通常先关闭时钟,然后使能isolation cell(隔离输出),然后复位?通常使能复位信号可能是在上电时?但下电时一般不需要使能复位,因为模块即将掉电,复位信号可能在掉电前保持。更常见的顺序是:先关闭时钟,然后使能隔离,然后关闭电源。选项中说“使能复位信号”可能不合适,因为复位信号通常是低有效,使能复位意味着拉低复位?但下电时不需要复位。所以A可能错误。
B: "此block需要在输入端加入isolation cell" —— 输入端?通常isolation cell用于输出端,防止下电时输出浮空影响其他模块。输入端不需要隔离,因为输入来自上电模块,但输入可能被钳位?实际上,对于power gating的模块,它的输入可能来自其他常开模块,但输入信号在模块下电时可能被钳位?通常隔离是放在输出端,防止输出X态。也有在输入端放isolation cell的?但常见的是在输出端加isolation cell。B说法可能错误。
C: "此block需要在输出端加入level shift" —— level shift用于不同电压域之间的电平转换。这里block单独上下电,意味着它的电源电压可能与其他模块不同,但题目没有说电压不同,可能只是关断,电压相同。一般上下电并不一定需要level shift,除非电压不同。所以C不一定正确。
D: "此block重新上电时,需要等到模块完成上电后才能撤销isolation" —— 上电后,需要先等待电源稳定,然后撤销隔离,再使能时钟等。这个说法正确。
综上,只有D正确?但题目是多选题,可能不止一个。我们需要更仔细分析。
在低功耗设计(如UPF)中,对于power gating的模块:
- 下电顺序:通常先关闭时钟,然后使能isolation(在输出端),然后关闭电源(power gating)。复位信号通常不需要在下电时使能,复位在掉电前可能已经无效。但有些设计会先复位再掉电?所以A中“使能复位信号”可能是多余的或顺序不对。A可能错误。
- 输入端不需要加isolation,因为输入来自常开域,输入信号可能仍然有效,但模块下电后输入信号可能使内部漏电,所以可能需要输入隔离?实际上,对于power gating的模块,输入路径上可能需要使用level shifter或者isolation?但通常输入信号在模块掉电时,如果输入仍然来自常开域,那么模块内部输入端口会有漏电路径,所以需要在输入端加isolation cell来钳位,防止漏电。常见做法:在输入端加isolation cell(如CLAMP),将输入钳位到0或1,避免漏电。所以B可能是正确的。因为模块下电后,输入端口如果悬空或者有信号,会通过输入缓冲器导致漏电,所以需要输入隔离。有些资料说输入也需要隔离。实际上,标准做法:对于power gating的模块,输入端需要插入isolation cell(或者利用输入端本身的low-power cell),输出端也需要isolation。但输出端isolation更常见。输入隔离也是需要的,防止输入信号穿过已关断的模块。所以B可能正确。
- 输出端需要加isolation cell是肯定的,但C说加level shift?level shift用于电压转换,这里如果只是关断,电压相同,不需要level shift。所以C错误。
- D正确。
所以可能B和D正确?但A中顺序问题,通常下电顺序是:先关闭时钟,然后使能隔离,然后关闭电源。复位信号通常在上电时使用,下电时可能不需要。但有些设计会先让模块进入复位状态再关电源。所以“使能复位信号”可能是指让复位生效?通常复位是异步,但下电时复位可以保持。所以A可能也是正确的?要仔细。
典型低功耗设计流程(来自Synopsys等):下电过程:先停止时钟(clock gating),然后使能isolation(强制输出为0或1),然后进行复位(reset)?或者先复位再隔离?实际上,常见顺序:先停止时钟,然后使能isolation,然后assert复位(使复位有效),最后关闭电源。但有些资料说先复位再隔离。但选项A中说的是“使能复位信号”,通常复位信号低有效,使能复位就是拉低复位,即让模块进入复位状态。这个操作可以在下电前做。所以A的顺序可能正确。
但需要判断哪个说法“正确”。本题可能考察对低功耗设计的理解。常见答案:对于支持单独上下电的模块,输入端需要加isolation(防止漏电),输出端需要加isolation(防止输出X态),但输出端不需要level shift,除非电压不同。上电后需要先完成上电再撤销isolation。所以B和D正确?A中多了“使能复位信号”,而且顺序可能不是必须的?实际上很多设计在下电前会先复位,所以A可能也是正确的。
让我们参考一些资料:在UPF中,下电序列(power_down_sequence)通常包含:先disable时钟,然后assert isolation,然后assert reset,然后turn off power。上电序列:turn on power,然后deassert reset,然后deassert isolation,然后enable clock。所以A中“依次关闭clock,使能isolation cell,使能复位信号,控制power gating使block下电”符合这个顺序,只是“使能复位信号”通常说assert reset,即让复位有效(复位信号拉低)。所以A正确。
对于B:block输入端需要加入isolation cell?通常隔离是加在输出端,防止输出X。但输入端呢?如果block掉电,其输入可能来自其他上电模块,那么输入信号会进入掉电模块,可能导致漏电或损坏。所以通常会在输入端也加isolation cell,或者使用特殊的IO库。但更常见的是在输入端加clamp cell或isolation,或者将输入信号在源端进行隔离。但B说“在输入端加入isolation cell”是可能的。不过有些设计只在输出端加isolation,输入端利用输入
涉及知识点
- 低功耗
- 时钟
- 复位
- 电压