- 主题:stdcell mux I0/I1都为1时,S一直翻转,输出Z会有毛刺吗
如果是用assign写的mux,一般是会infer为(sel & a | ~sel & b)的形式,此时很容易出现glitch。
如果是例化的标准单元库并且keep住,一般mux是没有毛刺的。具体可以查阅一下std cell的data sheet。
但是一般不去挑战std cell,如果你需要glitch free的mux,利用and/or的时序delay,增加冗余门,可以搭出来glitch free的mux。
常用场景比如2个复位的切换(function和ptest),只有用glitch free mux才安全。
【 在 jthuster 的大作中提到: 】
: 请教个问题啊,stdcell mux如果是与门和或门做的,理论上输出Z会有毛刺吧?
--
FROM 175.11.194.*
clkmux完全不一样,时钟切换要不产生毛刺,还得输入端不变化。正常时钟切换,很难保证两个时钟都是关的。实际上glitch free的mux一般用latch来搭,不会只用组合逻辑。网上这种电路多的是。
如果是需要组合逻辑的glitch free mux,一般数字designer会用常用的and/or搭一个,这样比用foundry std cell的mux更安全
【 在 PrimeTime 的大作中提到: 】
: 你光看datasheet不行,你得看cdl
: 我查了一个s28的clkmux,是a和b分别过一个gating-cell然后并联在一起输出的结构
: 不是靠2输入与或做的
--
FROM 175.11.194.*